Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。
Modbus具有以下几个特点:
(1)标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种。
(2)Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。
(3)Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。
什么是Modbus RTU协议?
Modbus RTU协议是一种通信方式,允许在可编程逻辑控制器(PLC)与计算机之间进行数据交换。电子设备可以使用Modbus协议通过串行线路交换信息。
Modbus RTU(远程终端单元)是原始Modbus规范中定义的两种传输模式之一。两种模式分别是Modbus RTU和ASCII,并且都设计为与支持RS232、RS485和RS422协议的串口设备一起使用。Modbus RTU的一个显着特征是它使用二进制编码和强大的CRC错误检查。Modbus RTU是Modbus协议的实现,该协议最常用于工业应用和自动化生产设施中。
在某些情况下,使用Modbus RTU测试仪会很有帮助。
Modbus RTU的物理层是基于Modbusrtu和Modbus tcp两个协议的本质都是MODBUS协议。
都是靠MODBUS寄存器地址来交换数据;但所用的硬件接口不一样,Modbus RTU一般采用串口RS232C或RS485/422,而Modbus TCP一般采用以太网口。
表达 modbus和其他通讯设施或协议 的联合通讯,modbus只是一种传输模式,功能码可以自定义,数据区也可以自己规范。
协议版本:
Modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络的版本。
大多数Modbus设备通信通过串口EIA-485物理层进行。
对于串行连接,存在两个变种,它们在数值数据表示不同和协议细节上略有不同。Modbus RTU是一种紧凑的,采用二进制表示数据的方式,Modbus ASCII是一种人类可读的,冗长的表示方式。这两个变种都使用串行通信(serial communication)方式。
RTU格式后续的命令/数据带有循环冗余校验的校验和,而ASCII格式采用纵向冗余校验的校验和。被配置为RTU变种的节点不会和设置为ASCII变种的节点通信,反之亦然。
容易被注入恶意代码。根据查询相关公开信息显示,Modbus最危险的特点是它为编程控制器设计的,可以用来向RTU或PLC中注入恶意代码,因此modbusrtu通讯写数据容易被注入恶意代码。Modbus一个工业上常用的通讯协议、一种通讯约定,Modbus协议包括RTU、ASCII、TCP。其中MODBUS-RTU最常用,比较简单,在单片机上很容易实现。
Modbus 协议包括 ASCII、RTU、TCP 三种报文类型,可以使用串口传输数据和指令。
结构图
表里的4个量寄存器地址对应30001、30002、30003,30004。A相相相电压地址为30001,B相相相电压30002依次类推。
如果是亚控提供的,亚控的通讯程序占了V1000以下的地址,所以在后期编程的时候,就不要用1000以下的了,以防影响通讯。所以VW100在组态王中显示已没有意义。如果要读VW1000,那么在组态王定义41寄存器就可以,数据类型与plc中的一致。
计算规则:组态王中(寄存器的dd 号-1)*2=PLC中的V寄存器的偏移地址。
扩展资料:
组态王集成了对KingHistorian的支持,且支持数据同时存储到组态王历史库和工业库,极大地提高了组态王的数据存储能力,能够更好地满足大点数用户对存储容量和存储速度的要求。KingHistorian是亚控新近推出的独立开发的工业数据库。
具有单个服务器支持高达100万点、256个并发客户同时存储和检索数据、每秒检索单个变量超过20,000 条记录的强大功能。能够更好地满足高端客户对存储速度和存储容量的要求,完全满足了客户实时查看和检索历史运行数据的要求。
参考资料来源:百度百科-组态王。