Modbus-tk ModbusInvalidResponseError:响应中的 CRC 无效

问题描述 投票:0回答:0
import serial
import modbus_tk.defines as cst
from modbus_tk import modbus_rtu

def main():
    master = modbus_rtu.RtuMaster(serial.Serial(port="COM9",
baudrate=38400, bytesize=8, parity='N', stopbits=1))
    master.set_timeout(5.0)
    master.set_verbose(True)
    red = master.execute(1, cst.READ_HOLDING_REGISTERS, 64012, 1)  
    # 这里可以修改需要读取的功能码
    print(red)
if name == "main":
    main()

返回:

回溯(最近调用最后):文件“D:\WorkSpace\Test\main.py”, 第 20 行,在 main() 文件“D:\WorkSpace\Test\main.py”中,第 15 行,在 main red = master.execute(1, cst.READ_HOLDING_REGISTERS, 64012, 1) # 这里可以修改需要读取的功能码文件 “D:\WorkSpace\Test env\lib\site-packages\modbus_tk\utils.py”,行 39、在新建excpt文件 “D:\WorkSpace\Test env\lib\site-packages\modbus_tk\utils.py”,行 37、在新的ret = fcn(*args, **kwargs)文件中 “D:\WorkSpace\Test env\lib\site-packages\modbus_tk\modbus.py”,行 356、在执行response_pdu = query.parse_response(response)文件 "D:\WorkSpace\Test env\lib\site-packages\modbus_tk\modbus_rtu.py", 第 60 行,在 parse_response 中引发 ModbusInvalidResponseError("Invalid CRC 响应”) modbus_tk.exceptions.ModbusInvalidResponseError: 无效的 CRC 响应

python modbus
© www.soinside.com 2019 - 2024. All rights reserved.