ModBus 协议
Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议,在中国,Modbus已经成为国家标准GB/T19582-2008。
ModBus网络:系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。
Modbus协议:控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。当在同一Modbus网络上通信时,此协议决定了每个控制器需要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。
支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通信标准。控制器能直接或经由Modem组网。
标准的Modbus口是使用RS-232-C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。
Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、错误检测域。
从设备回应消息也由Modbus协议构成,包括:确认要行动的域、任何要返回的数据、和一错误检测域。
如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。
查询:数据段包含了从设备要执行功能的任何附加信息:从何寄存器开始读、要读的寄存
器数量,错误检测域为从设备提供了一种验证消息内容是否正确的方法
回应:查询消息中的功能代码的回应。数据段包括了从设备收集的数据:像寄存器值或状
态。如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据
段包含了描述此错误信息的代码。错误检测域允许主设备确认消息内容是否可用。
传输方式:2种传输模式:一种模式是ASCII(美国信息交换码),另一种模式是RTU(远
程终端设备)。2种模式不能混用。ASCII可打印字符便于故障检测,而且对
用高级语言(如Fortran)编程的主计算机及主PC很适宜。RTU则适用于机
器语言编程的计算机和PC主机
(1)ASCII模式与RTU模式相互转换:
RTU模式传输的数据:是8位二进制字符,分高位和低位,每部分各含4位。
ASCII模式传输的数据:是16位十六进制字符。
转换:将RTU的每4个高位和低位分别转换成ASCII对应的16进制字符。
区别:
ASCII模式使用的字符虽是RTU模式的两倍,但ASCII数据的译码和处理更为容易一些
用RTU模式时报文字符必须以连续数据流的形式传送,用ASCII模式,字符之间可产生长达1s的间隔,以适应速度较慢的机器。
ASCII模式
一个信息中的每4位字节作为1个ASCII字符传输,如数值63H用ASCII方式时,需发送两个字节,即ASCII“6"(0110110)和ASCII”3“(0110011),1个ASCII字符占用的位数有7位和8位,国际通用7位为多。这种方式的主要优点是字符发送的时间间隔可达到
modbus协议 来自淘豆网m.daumloan.com转载请标明出处.