s485modbus通讯协议详解
rs485 modbus通讯协议详解
通用串行协议采用主节点对从节点轮询组成的周期性报文通信,从节点只有对主节点的轮询作出应答之后,才可以得到发送报文的机会。其还支持广播通信模式,主节点给所有从节点发送报文,从节点对收到的广播报文无需发应答消息,此事广播报文地址域字段无效。一般传递I/O数据通过周期性报文通信,而服务和诊断功能则采用非周期性报文的传输来实现。其报文结构由起始标志,报文长度,地址域,数据域和校验组成,长度分别为除数据域是1~256字节,其他均为1字节。
Modbus通信协议是基于RS-485总线网络开发的一种通信协议,是工业控制网络中对自动化控制设备进行访问控制的主从式通信协议。由Modicon公司开发,广泛应用于工业控制领域。是一种比较典型的通用串行协议。其特点通信速率可达19.2Kbps,物理接口符合EIA-485规范,组成一主多从的单主机控制网络,主节点可通过逐一访问的轮询方式访问从节点,并且要求从节点返回应答信息,也可以对所有从节点进行广播式通信,通过简单的通信报文完成对从节点的读写操作。
Modbus通信协议分为RTU和ASCII两种报文帧格式,采用RTU格式是以传递一段不短于3.5倍的字符发送时间的空闲时间开始,一般多取4T,同样以4T的标志表示结束。而采用ASCII格式的报文则是以冒号":"开始,以两个回车换行符结束,中间为协议内容。,RTU格式应用比较广泛,我们在这里介绍一下RTU报文格式RTU报文以T1~T4作为报文开始和结束的标志,中间包括依次有1.地址域(8位),是被查询的从节点的地址,有效范围是0~247,0为广播地址。功能域(8位),用于说明从节点要完成的功能,有效编码为1~255.数据域(n个8位)是状态数据,I/O值或其他测控信息。校验域(16位),帧校验多采用CRC循环冗余校验,从地址域开始对所有数据进行校验。从节点正常应答是发送相同的报文帧让主节点做确认,包括有从节点地址,前导标志码,返回数据,功能确认,校验码和帧结束码。
Modbus Plus是Modbus的改进版,网络规范有很多不同于Modbus的地方,性能也有很大的改进。其也有ASCII和RTU两种帧格式,其中ASCII的报文格式依次为开头码(1字节),地址(2字节),功能(2字节),数据(n字节,n=<491),校验(2字节),结束码(2字节回车换行符)。RTU的报文格式依次分别为开头码(4字节),地址(2字节),功能(2字节),数据(n字节,n=<486),校验(2字节),结束码(4字节)。
Modbus Plus具有较高的传输速率,最高可达1Mbps,传输介质为屏蔽双绞线时,不采用中继器最多可以连接32个设备,支持网段之间采用网桥连接形成更大规模的网络。Modbus Plus除了有主从方式之外,还有令牌环方式。网络上的节点作为逻辑环的一个点,通过获取令牌来取得总线的控制权,传递顺序有节点地址决定,从最低地址开始传递,至最高的结束,循环一周之后重新开始,令牌只能在本网段传递。