一、Modbus由MODICON公司于1979年开发,是一种工业现场总线协议标准。Modbus协议是一项应用层报文传输协议,包括ASCII、RTU、TCP三种报文类型。前面已经写过RTU和ASCII的文章,这次写下基于ModbusTCP协议的上位机软件编写。
二、ModbusTCP协议
发送报文格式:ModbusTCP的数据帧可分为两部分:MBAP+PDU
1、MBAP为报文头,长度为7字节,组成如下:
2、帧结构PDU:
PDU由功能码+数据组成。功能码为1字节,数据长度不定,由具体功能决定。
Modbus的 *** 作对象有四种:线圈、离散输入、输入寄存器、保持寄存器。根据对象的不同,Modbus的功能码有:
例如0x01:读线圈
在从站中读1~2000个连续线圈状态,ON=1,OFF=0
请求:MBAP功能码起始地址H起始地址L数量H数量L(共12字节)
响应:MBAP功能码数据长度数据(一个地址的数据为1位)
如:000100000006010100020008在从站0x01中,读取开始地址为0x0002的线圈数据,读0x0008位
回:00010000000401010101数据长度为0x01个字节,数据为0x01,第一个线圈为ON,其余为OFF
三、上位机编写:
界面如下:
责任编辑人:CC
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)