2016-10-20 26 views
0

我正在使用pymodbus3串口。用pymodbus3读取串口

当我运行下面的代码时,输​​出是'None'。而在使用modpoll测试串口时,我可以从设备获得响应。

我该如何解决这个问题?

from pymodbus3.client.sync import ModbusSerialClient as mbc 

def PortTest(self): 
    client = mbc(method="rtu", port="/dev/ttyUSB0", stopbits=1, bytesize=8, parity='N', baudrate=9600) 
    try: 
     client.connect() 
     coil = client.read_coils(0, 1) 
     print(coil) 
     client.close() 
    except OSError as err: 
     raise EnvironmentError(err) 
     pass 

回答

1

pymodbus3有一个bug。卸载它并将其替换为pymodbus 1.2.0的python 3分支。转到github并下载它。

https://github.com/bashwork/pymodbus/tree/python3

+0

我放弃了使用。我没有回答,因为我没有尝试新版本 – bazo

+0

我不知道该怎么做,但pymodbus3充满了bug。我浪费了3天的时间试图弄清楚它们,只是意识到pymodbus 1.2.0有py3 compat。 这很糟糕,因为pymodbus3似乎也有很多最近的活动。我不能直接说它是一个死的模块。但它确实无法与它所提供的源代码一样工作。 –