Python-modbustcp通信-plc读写
1,功能码说明
读取
:%m 对应 READ_COILS 线圈寄存器 数值 0和1
%mw存单字节 %mf浮点数 %md双字节 对应 READ_HOLDING_REGISTERS 保持寄存器
写入
单个写入线圈寄存器WRITE_SINGLE_COIL%m
单个写入保持寄存器WRITE_SINGLE_REGISTER
写入多个保持寄存器WRITE_MULTIPLE_REGISTERS
写入多个线圈寄存器WRITE_MULTIPLE_COILS
2、使用库
import modbus_tk.modbus_tcp as mt
import modbus_tk.defines as md
import struct//浮点数解码
3、modbus参数说明
slave:客户端id,有个数限制
function_code:功能码
starting_address:plc开始地址对应%mw12 不超过3位数
quantity_of_x:读寄存器个数
output_value:写入寄存器的值对应寄存器类型 仅在写入的时候有用
data_format:写入数据的格式 f:浮点数l:双字节,但是这个字节一般没用,因为plc是自定义的浮点数和long类型存储,所以需要使用struct库解析数据,如低字节在前高字节在后,