エコパワメータ

KW2G等でパルスカウント値の差分値をDLLで取得したとき、最大値を超えたときの差分値がおかしい

KW2Gのパルス入力で、パルスカウント値の差分値をDLLで取得しています。 そのとき最大値(999999)を超えたときの値と、その直前の値(たとえば999123等)の差分値が非常に大きな値になっています。 なぜでしょうか?また正しくするための対応方法はありますか?

DLLで差分値を使用する場合は、桁数を指定してください。
たとえば桁数を3に指定した場合、DLLにとってその蓄積の最大値は「999」となります。
従って①の値が「100」で②の値が「999」を超えて「50」のとき
DLLは②の値を正しく「1050」と判断しますので②-①=「950」
と正しい差分値となります。
桁数が指定されなかった場合(「0」の場合)、②-①=「-50」
となり、これはデータ形式が「符号無し32ビット整数」のときは
「0×FFFFFFCE=4294967246」となり非常に大きな差分値となってしまいます。