版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ModbusTCP通信及应用一、Modbus原理二、Modbus数据的传输三、通信方式参数设置四、博途软件编程测试一、Modbus原理1.Modbus总线的概念Modbus是国际上第一个真正用于工业控制的现场总线协议。由于其功能完善、使用简单、数据易于处理,因而在各种智能设备中被广泛采用。许多工业设备,包括PLC、智能仪表等都在使用Modbus协议作为它们之间的通信标准。由于施耐德公司的推动,加上相对低廉的实现成本,Modbus现场总线在低压配电市场上所占的份额大大超过其他现场总线。Modbus尤其适用于小型控制系统或单机控制系统,以实现低成本、高性能的主从式计算机网络监控。一、Modbus原理2.Modbus数据通信方式Modbus的数据通信采用主/从方式。网络中只有一个主设备,通信采用查询/回应的方式进行。主设备初始化系统通信设置,并向从设备发送消息;从设备正确接收消息后响应主设备的查询或根据主设备的消息作出响应的动作。主设备可以是PC、PLC或其他工业控制设备,可以单独和从设备通信,也可以通过广播方式和所有从设备通信。单独通信时,从设备需要返回消息作为回应,从设备回应消息也由Modbus信息帧构成。以广播方式查询时则不作任何回应。主从设备查询/回应周期如图1所示。图1从设备查询/回应周期一、Modbus原理(1)主站的查询消息:查询消息中的功能代码告知被选中的从站要执行何种功能。数据段包含了从站要执行功能的任何附加信息。例如功能代码03是要求从站读保持寄存器并返回它们的内容。数据段必须包含要告知从站的信息,从何种寄存器开始读及要读的寄存器的数量。错误检测域为从站提供了一种验证消息内容是否正确的方法。(2)从站的响应消息:如果从站产生正常的响应,在响应消息中的功能代码是在查询消息中的功能代码的响应。数据段包括了从站收集到的数据,像寄存器值或状态。如果有错误发生,功能代码将被修改以用于指出响应消息是错误的。同时数据段包含了描述此错误信息的代码。错误检测域允许主站确认消息的内容是否可用。二、Modbus数据的传输1.Modbus传输模式对于串行连接,在Modbus系统中有两种传输模式可选择,即RTU(远程终端单元)模式和ASCII(美国标准信息交换代码)模式。这两种模式只是信息编码不同,RTU模式采用二进制表示数据,而ASCII模式使用的字符是RTU模式的两倍,即在相同传输速率下,RTU模式比ASCII模式传输效率要提高一倍;但RTU模式对系统的时间要求较高,而ASCII模式允许两个字符发送的时间间隔为1s而且不产生错误。在一个Modbus通信系统中只能选择一种模式,不允许两种模式混合使用,即设置为RTU通信方式的节点不会和设置为ASCII通信方式的节点进行通信,反之亦然。通信系统选用哪种传输模式可由主设备来选择。ModbusRTU是一种较为理想的通信协议,也得到广泛应用,常见的通信速率为9600bit/s和19200bit/s。二、Modbus数据的传输2.ModbusRTU信息帧报文格式为了与从设备进行通信,主设备会发送l段包含设备地址、功能代码、数据段、错误检查的信息。ModbusRTU模式下的信息、传输报文格式如表1所示。使用RTU模式发送消息至少要有3.5个字符的时间停顿间隔作为报文的开始。这种字符时间间隔在网络波特率多样的情况下很容易实现。起始位设备地址功能代码数据CRC校验结束符T1-T2-T3-T48Bit8Bitn个Bit16BitT1-T2-T3-T4表1RTU信息帧报文格式二、Modbus数据的传输(1)设备地址。信息帧的第1个字节是设备地址码,这个字节表明由用户设置地址的从站将接收由主站发送来的信息。每个从站都必须有唯-的地址码,并且只有符合地址码的从站才能响应回送。当从站回送信息时,相应的地址码表明该信息来自于何处。设备地址是一个从0~247的数字,发送给地址0的信息可以被所有从站接收。但是数字l~247是特定设备的地址,相应地址的从设备总是会对Modbus信息做出反应,这样主设备就知道这条信息已经被从设备接收到了。(2)功能代码。功能代码是通信传送的第2个字节,定义了从设备应该执行的命令,如读取数据、接收数据、报告状态等(如表2所示),有些功能代码还拥有子功能代码。主站请求发送,通过功能代码告诉从站执行什么动作;作为从站响应,从站发送的功能代码与从主站得到的代码一样,并表明从站已响应主站进行操作。功能代码范围是1~255,有些代码适用于所有控制器,有些代码只能应于用某种控制器,还有些代码保留以备后用。二、Modbus数据的传输表2功能代码表功能代码作用数据类型01读开关量输出状态位02读开关量输入状态位03读取保持寄存器整型、字符型、状态字、浮点型04读输入寄存器整型、状态字、浮点型05写单个线圈位06写单个寄存器整型、字符型、状态字、浮点型07读异常状态--08回送诊断校验重复回送信息15写多个线圈位16写多个寄存器整型、字符型、状态字、浮点型XX根据设备不同,最多可以有255个功能代码
二、Modbus数据的传输(3)数据段。对应不同的功能码,数据段的内容会有所不同。数据段包含需要从站执行的动作或由从站采集的返送信息,这些信息可以是数值、参考地址等。对于不同的从站,地址和数据信息都不相同。例如,功能代码告诉从站读取寄存器的值,则数据段必须包含要读取寄存器的起始地址及读取长度。(4)CRC校验码。循环冗余校验码(CRC)是包含两个字节的错误检测码,由传输设备计算后加入到消息中。接收设备重新计算收到消息的CRC,并与接收到的CRC域中的值进行比较,如果两值不同,表明有错误。在有些系统里,还需对数据进行奇偶校验,奇偶校验对每个字符都可用,而帧检测CRC应用于整个消息。三、通信方式参数设置PLC与温湿度传感器之间就是通Modbus通信进行数据传输,要完成PLC与温湿度传感器之间的通信连接,需要设置以下参数:PLCModbus通信模块端口硬件标识、工作模式、波特率、主站背景数据块。温湿度传感器硬件地址、硬件参数地址、硬件波特率、读取后存放数据块。图2三、通信方式参数设置添加通信模块CM1241,双击该模块,打开属性界面,将协议为“自由口”,操作模式为“半双工”。图3三、通信方式参数设置双击PLC模块,点击系统时钟存储器,勾选启用时钟存储字节。图4四、博途软件编程调试分别拖动两个MODBUS通信模块放入程序段。图5四、博途软件编程调试添加常开触点M0.5、DONE完成信号、ERROR错误信号以及CM1241硬件标识。图6四、博途软件编程调试将模块参数波特率设为9600,添加Master背景数据块,将MODBUS_COMM_LOAD_DB的内部参数MODE设为4,模块内部会设为半双工。图7四、博途软件编程调试添加常开触点M2.0(或脉冲信号)、读取完成信号、读取错误信号,并将DATA_PTR设为P#M20.0REAL2(存储在MW20MW22),将DATA_LEN设为2(读取两个地址),将
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 古典诗词“月亮”意象的跨文化生态美学重释
- 高校科技成果转化对人才培养的反哺机制-基于《促进科技成果转化法》与高校实践
- 2025年铜陵普济圩现代农业集团有限公司公开招聘工作人员参考考试题库及答案解析
- 2025年安徽某国企汽车驾驶员招聘1人考试备考题库及答案解析
- 2026江苏南京医科大学第二附属医院招聘第二批岗位45人考试参考试题及答案解析
- 2025广西电子高级技工学校公开招聘非编制工作人员1人备考笔试试题及答案解析
- 2025广东佛山市南海区国有资产监督管理局财务总监招聘1人备考考试试题及答案解析
- 2025年鸡西市民康医院公开招聘精神科护士6人备考考试试题及答案解析
- 2026河南信阳市罗山县兵役登记参考考试题库及答案解析
- 2025贵州黔西南州兴义市消防救援大队招录专职消防员招录20人备考考试试题及答案解析
- 海水墙面防水施工方案设计
- 路面摊铺安全培训内容课件
- 水箱安装施工质量管理方案
- 2025年国企人力资源管理岗招聘考试专业卷(含岗位说明书)解析与答案
- 光伏电厂防火安全培训课件
- 小学数学单位换算表(高清可打印)
- 千县工程县医院微创介入中心综合能力建设评价标准
- 交通事故处理讲解
- 常考重难易错名校押题卷(含答案)-人教部编版五年级上册语文高效培优测试
- 2025年重大公共卫生服务服务项目工作方案
- 市政工程地基处理技术培训
评论
0/150
提交评论