Modubus通讯协议及其作用
介绍了MODUBUS通讯协议的结构,组成及其应用,概括了MODUBUS通讯协议的通讯过程及应用注意事项。
毕业论文网 MODUBUS协议网络通讯 Modbus协议现在为一通用工业标准。
有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
通过此协议,监控器相互之间、控制器经由网络(如以太网)和其他设备之间可以通信。
该协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。
他描述了控制器请求访问其他设备的过程,以及怎样侦测错误并进行记录。
它确定了消息域格式及内容的公共格式。
当在Modbus网络上通信时,每个控制器需要知道他们的设备地址,识别按他们发来的消息,决定要产生的何种行动。
如果需要回应,只控制器将生成反馈信息并用Modbus协议发。
在其他网络上,包含了Modbus协议的消息转化为在此网络上使用的帧或包结构。
1(Modbus)协议网络选择 (1)在Modbus网络上转输时,标准的Modbus口是使用与RS_232C兼容的串行接口,它定义了连接口的引脚、电缆、信号位、传输波特率及奇偶校验。
控制器能直接或经由modem组网。
控制器通信使用主从技术,即仅一台设备(主设备)能初始化传输(查询)。
典型的主设备有计算机和编程面板。
典型的从设备有P L C。
如果单独通信,则从设备返回消息作为回应;如果是以广播方式查询了,则不做任何回应Modbus协议建立了主设备查询的格式,即设备(或广播)地址、功能代码、所有要发送的数据、错误检测域。
从设备回应消息也由Modbus血液构成,包括确认要行动的域、任何要返回的数据及错误检测域。
或从设备不能执行其命令,则从设备将建立错误消息并把它作为回应发出去。
2Modbus查询―回应周期 (1)查询消息包括功能代码、数据及错误检测等几部分。
数据段必须包含要告知从设备的信息――――从哪一个寄存器开始读及要读的寄存器数量。
如果从设备产生正常的回应,则在回应消息的功能代码是在查询消息中的功能代码的回应。
如果有错误发生,则功能代码将被修改以用于指出回应消息是错误的,同事数据段包括了描述此错误信息的代码。
3Modbus数据传输模式 控制器能设置为两种传输模式(ASCII或RTU)中的任何一种,不允许同时存在两种通信模式。
在配置每个控制器时,一个Modbus网络上的所有设备都必须原则相同的传输模式和串口通信参数(波特率、校验方式等)。
所选的ASCII或RTU方式仅适用于标准的Modbus网络,它定义了在这些网络上连续传输的消息段的每一位,以及决定怎样将信息打包成消息域和如何解码。
4modbus消息帧 在两种传输模式(ASCII或RTU)中,传输的modbous消息转为有起点和终点的帧,这就允许接收的设备在消息起始处开始工作,读地址分配信息,判断哪一个设备被选中(广播方式则传给所有设备),判知何时信息已完成。
其消息帧包括ASCII帧和RTU帧。
消息帧的地址域包含两个字符(ASCII)或8BIT(RTU)。
单个设备的地址范围是1~247.主设备通过将要联络的从化设备的地址放入消息中的地址域来选通从设备。
当modbos协议用于更高水准的网络时,广播可能不允许或以其他方式代替。
当消息从主设备发往从设备时,功能代码域将告知从设备需要执行哪些行为。
例如,去读取输入的开关状态,读一组寄存器的数据的内容,读从设备的诊断状态,允许调入、记录、校验在从设备中的程序等。
5数据域 数据域是由两个十六进制数集合构成的,范围为00~FF。
根据网络传输模式,这可以是由一对ASCII字符组成或由一RTU字符构成。
主设备发给从设备消息 的数据域包含附加的信息,从设备必须执行由功能代码所定义的功能。
这包括了不连续的寄存器地址、要处理项的数目及域中实际数据字节数。
例如,如果主设备需要从设备读取一组保持寄存器(功能代码03),数据域指定了起始寄存器级要读的寄存器数量。
如果主设备写一组从设备的寄存器(功能代码10十六进制),则数据域指明了要写的起始寄存器及要写的寄存器数量、数据域的数据字节、要写入寄存器的数据。
6错误检测域 标准的modbus网络有两种错误的检测方法:ASCII模式和RTU检测。
当选用ASCII模式做字符帧,则错误检测域包含了两个ASCII字符,这是使用LRC(中相沉长检测)方法对消息内容计算得出的,不包括开始的冒号符及回车符。
LRC字符附加在回车字符附加在回车换行符前面。
当选用RTU模式做字符帧,错误检测域包含一16bits值(用两个8位的字符来实现)。