2017-04-19 38 views
0

私はPrecia Molen i30計量インジケータを持っています。 OPCソフトウェア(kepware)を使用してModbus 485経由でこのインジケータと通信しています。私はすべてのパラメータを設定しました。マニュアルによれば、総重量はADDRESS = 256であり、データタイプは32ビット符号付き整数です。私は自分のOPCソフトウェアでアドレス300257または400257とデータタイプ "Double Word"を設定しました。このアドレスでは、OPCソフトウェアと計量インジケータの間の通信はOKですが、私のソフトウェアに入力される値はインジケータで表示される値と同じではありません。例えば、 私のModbusソフトウェアの値= 0、 私のModbusソフトウェアの値= 655360、 計量インジケータの値= 7160、次に私のModbusソフトウェアの値= 468285400、計量インジケータの値が50270の場合、Modbusソフトウェアの値= 3294494720です。 問題が何かを教えてください。ありがとうMODBUS RTU:受信したデータが正しくない

答えて

0

エンディアンの問題があります。

デバイスが10(0xa)を示している場合、Modbusマスターは655360(0xa0000)と解釈します。

あなたのOPCサーバーは、レジスタが256と257の両方を読み込んでいますが(32ビットの変数なので)、誤った順序でレジスタを連結しています。 OPCサーバーのマニュアルでレジスタの順序を入れ替える方法をチェックすると、正しい値が得られます。

+0

ありがとう、Mr. Ronaldo、 –

関連する問題