問題タブ [minimalmodbus]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - RS485 Modbus-RTU デバイスによって表示されるこのエラーは何ですか?
USB-RS485 アダプター ケーブルを使用して RS485 経由でPID コントローラー (Love 16C-3)と通信するために、minimalmodbusを使用しています。
ただし、レジスタを読み取ろうとすると、次のエラーが表示されます。このエラーはどういう意味ですか?
ハードウェアマニュアルより
Python コード
python - Gefran 800P およびminimalmodbus (Mac): 「ValueError: Modbus RTU 応答が短すぎます (最小長 4 バイト)。応答: '\x00'」
私は Python (FYI) の初心者で、minimalmodbus ライブラリ (Python + Mac) を使用して Gefran 800P プログラマー/コントローラーと通信しようとしています。USB - RS485 シリアル コンバータ ケーブル ( http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_USB_RS485_CABLES.pdf ) を使用して、Gefran デバイスと通信しています。デバイスの背面からのピン (15+17(Rx+Tx) & 16+18(Gnd+Gnd)) は、変換ケーブルのデータ +(A) およびデータ -(B) にそれぞれ接続されます (RS485-2wired繋がり)。このデバイスのスレーブ アドレスがわからず、マニュアル ( http://www.primusthai.com/marketing/Gefran%20800%20(Controller).pdf ) のどこにもアドレスについて言及されていません。
私が試してみました:
- スレーブフォームのアドレスを 0 から 247 に変更すると、常に同じメッセージが表示されます。
- 異なるレジスタ アドレスをチェックして、関数コード (3&4) をいじり、プログラマー設定をいじって、コードとデバイスの両方のパラメーターが同じであることを確認しました。何も機能しません!多分私は何かが欠けています。あなたの助けを楽しみにしています。私はこの時点で1週間以上本当に立ち往生しています!
以下は私のコードで、実行すると、「ValueError: Modbus RTU 応答が短すぎます (最小長 4 バイト)。応答: '\x00'」というエラーが表示されます。