-
リレー・カプラー
-
コネクタ
-
スイッチ/インプットデバイス
-
ボリューム/エンコーダ
-
制御機器商品全般
-
問合せ窓口
-
ファイバセンサ
-
ビーム(光電)・レーザセンサ
-
フォトマイクロセンサ
-
エリアセンサ
-
ライトカーテン
-
安全機器
-
近接センサ
-
特殊用途センサ
-
圧力センサ・流量センサ
-
検査・判別・測定用センサ
-
静電気対策機器・イオナイザ
-
センサ周辺機器
-
IoT関連ユニット・省配線システム
-
レーザマーカ
-
コードリーダ
-
PLC
-
表示器
-
省エネ支援機器
-
タイマ・カウンタ・コンポ
-
画像センサ・画像処理機
-
UV照射器
-
サーボモータ・アンプ
-
小形ギヤードモータ(受注終了品)
-
ブラシレスモータ アンプ(受注終了品)
-
インバータ
KW2G等でパルスカウント値の差分値をDLLで取得したとき、最大値を超えたときの差分値がおかしい
KW2Gのパルス入力で、パルスカウント値の差分値をDLLで取得しています。 そのとき最大値(999999)を超えたときの値と、その直前の値(たとえば999123等)の差分値が非常に大きな値になっています。 なぜでしょうか?また正しくするための対応方法はありますか?
DLLで差分値を使用する場合は、桁数を指定してください。たとえば桁数を3に指定した場合、DLLにとってその蓄積の最大値は「999」となります。
従って①の値が「100」で②の値が「999」を超えて「50」のとき
DLLは②の値を正しく「1050」と判断しますので②-①=「950」
と正しい差分値となります。
桁数が指定されなかった場合(「0」の場合)、②-①=「-50」
となり、これはデータ形式が「符号無し32ビット整数」のときは
「0×FFFFFFCE=4294967246」となり非常に大きな差分値となってしまいます。