Modbus通信案例解析

Modbus通信案例解析


存储区,存储区代码、范围,为了便于记忆,可将输入线圈1区看成是I区,输出线圈0区看成是Q区;

地址模型分为长地址模型是6位和短地址模型是5位

1区:【类似线圈输入I点 只读】:10001~19999;
0区:【类似线圈输出Q点 可读可写】:00001~09999;
3区:【类似AIW模拟量 只读】:30001~39999;
4区:【类似V区 可读可写】:40001~49999;

功能码

1、读取 0 1 3 4区都是可以读取的;
2、写入0 4区可以写入;

协议分类

ModbusRTU协议和ModbusASCII协议在串口上运行的,ModbusTCP协议在以太网口上运行的。

ModbusRTU也可以在以太网上运行,它主要应用在串口服务器上,如仪表是485 modbus RTU通讯的串口,想接入到以太网中,就需要串口服务器【它走的是透传,也可以串口服务器自己处理,就是把串口的报文传过去】。

报文实战

主站从站,是很容易弄混淆的,一般来说进行通讯是要采集数据的,谁主动谁就主站,谁被动谁就是从站。服务器端是作为从站,客户端是主作为主站;

Modbus RTU 0x06功能码写单个字

0x06功能码一次只能写单个字

Modbus RTU 0x10功能码写连续多个字

0x06功能码一次可以写连续多个字,前提条件是地址是连续的才可以。如果地址是不连续的就写不了了。对前6个字节时行CRC校验就可以了。

Modbus RTU 0x03功能码读连续多个字

CRC校验的低位在前,高位在后;返回的具体数据为两个为一组,即两个字节为一组,高位在前,低位在后;

Modbus RTU 0x05功能码写单个位

0x05功能码是写单个位,是位操作。

Modbus RTU 0x0F功能码连续写多个位

0x0F是连续写多个位的位操作。

Modbus RTU 0x01功能码连续读多个位

0x01功能码是连续读多个位的位操作;

RS485接口

RS485接口通常使用两根线,传输距离1200米左右,一根用于发送数据(TXD),另一根用于接收数据(RXD)。在A和B两格线之间的电压差,逻辑1=+2V~+6V;逻辑0=-6V~-2V;

Modbus Poll软件下载

 


转载请注明出处:  https://www.cntworld.cn
智能工控 » Modbus通信案例解析

发表回复

提供最优质的资源集合

立即查看 了解详情
文章加载时间:0.004 秒