2017-01-19 28 views
0

をトラブル。製造元の独自のソフトウェアを使用して、ファンを制御することができたので、接続自体が機能します。しかし、私自身のコードではありません。Pymodbus RTU接続は、私はPythonとMODBUSの両方を持つ初心者です、私は今、時間pymodbusとのシリアルポートに接続されたファンを制御しようとしている

モード:RTU

ボーレート:19200

パリティ:偶数

タイムアウト:1

スレーブファンは以下の値に設定されているマニュアルに従って

ID:247(F7H)

データビット:8

IはPymodbus Library Examplesからpymodbus例コードを修正しました。これは私のコードです:

from pymodbus3.client.sync import ModbusSerialClient as ModbusClient 
Fan = ModbusClient(method='rtu',port ='/dev/ttymxc1', parity = 'E', baudrate='19200', timeout=1) 
connection = Fan.connect() 
a = Fan.write_register(2,1, unit=0xF7) 
b = Fan.read_holding_registers(2,1, unit = 0xF7) 
Fan.close() 

両方読んで、次のエラーでのコマンドの結果を記述します。

pymodbus3.exceptions.ModbusIOException: Modbus Error: [Input/Output] Server responded with bad response 

ケーブルが接続されていないとき、私も取得し、同じメッセージ

ん誰が何が間違っていると示唆していますか?前もって感謝します。

答えて

0

タイムアウトはポートが答えを待つための時間です。

2000〜のようなものにタイムアウトを設定し、1は1msのであり、彼らはおそらく1秒を意味しました。

(上記が動作していない場合)1に対処しようとものModbusアドレスは、他のものに設定することができるならば、(それがファンにいくつかのswitchsかもしれません)にも確認してください。

関連する問題