欢迎来到天天文库
浏览记录
ID:50191476
大小:453.00 KB
页数:43页
时间:2020-03-09
《现场总线技术及其应用 教学课件 作者 郭琼 第5章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章Modbus总线及其应用一、Modbus概述二、实现Twido系列PLC之间的ModbusRTU通信三、实现S7-200PLC之间的ModbusRTU通信四、Modbus协议在变频调速控制系统中的应用一、Modbus概述Modbus是Modicon公司于1979年开发的一种通用串行通信协议,是国际上第一个真正用于工业控制的现场总线协议Modbus只定义了通讯消息的结构,对端口没有作具体规定。一个Modbus信息帧包括设备地址、功能代码、数据段、错误检测域。Modbus的数据通信采用主/从方式
2、主从设备查询-回应周期一、Modbus概述ModbusRTU报文格式起始位设备地址功能代码数据段CRC校验结束T1-T2-T3-T4一个字节一个字节N个字节两个字节T1-T2-T3-T4一、Modbus概述设备地址设备地址是一个从0~247的数字,发送给地址0的讯息可以被所有从机接收到;但是数字1~247是特定设备的地址,相应地址的从设备总是会对Modbus讯息作出反应一、Modbus概述功能码:定义了从设备应该执行的命令功能代码作用数据类型01读开关量输出状态位02读开关量输入状态位03读取保持
3、寄存器整型、字符型、状态字、浮点型04读输入寄存器整型、状态字、浮点型05写单个线圈位06写单个寄存器整型、字符型、状态字、浮点型07读异常状态-08回送诊断校验重复回送信息15写多个线圈位16写多个寄存器整型、字符型、状态字、浮点型XX根据设备的不同,最多可以有255个功能代码一、Modbus概述数据段包含需要从机执行什么动作或由从机采集的返送信息,这些信息可以是数值、参考地址等。CRC码由传输设备计算后加入到消息中,接收设备重新计算收到消息的CRC一、Modbus概述二、实现Twido系列PL
4、C之间的ModbusRTU通信TwidoPLC二、实现Twido系列PLC之间的ModbusRTU通信通信指令[EXCHx%MWi:L]EXCHx指令使Twido控制器可以将信息发送到Modbus从设备,也可以接收来自Modbus从设备的信息。用户定义一个含有发送/接收数据的字表%MWi:L,L的长度不超过250个字节,x为通信端口号(1或2)。%MSGx%MSGx功能模块管理数据交换且可以完成通信错误校验、多消息协调、优先消息发送等功能。二、实现Twido系列PLC之间的ModbusRTU通信通
5、信指令%MSGx%MSG功能模块参数参数标识值输入(或指令)复位R置为1时,通信重新初始化;%MSGx.E=0和%MSGx.D=1。通信完成输出%MSGx.D状态1表示通信在下列情况完成;发送结束(如果是发送)接收结束(收到结束字符)错误模块重启状态0表示请求在处理过程中。故障(出错)输出%MSGx.E状态1表示通信在下列情况完成:命令错误表配置错误收到不争取的字符(速率,奇偶,等等)接收表满(未更新)状态0表示消息长度和连接都正确。二、实现Twido系列PLC之间的ModbusRTU通信功能码0
6、3的使用功能码03用于读取多路寄存器的输入步骤1:配置硬件功能码03的使用步骤2:端口配置鼠标右键单击“硬件”功能码03的使用步骤2:端口配置功能码03的使用步骤3:程序编写功能数据表索引最高有效字节最低有效字节控制表001(传输/接收)06(传输长度)103(接收偏移)00(传输偏移)传输表2从站地址03或04(请求代码)3要读取的第一个字的地址4N=要读取的字数接收表(响应后)5从站地址03或04(响应代码)600(由Rx偏移添加的字节)2*N(要读取的字节数)7要读取的第一个字8要读取的第二
7、个字(若N>1)…N+6要读取得第N个字(若N>2)功能码03的使用步骤3:程序编写①写入主站程序如下:LD1[%MW0:=16#0106][%MW1:=16#0300][%MW2:=16#0203][%MW3:=16#0000][%MW4:=16#0006]LD1AND%MSG2.D[EXCH2%MW0:13]LD%MSG2.EST%Q0.0END②写入从站程序:LD1[%MW0:=16#1111][%MW1:=16#2222][%MW2:=16#3333][%MW3:=16#4444][%MW
8、4:=16#5555][%MW5:=16#6666]END功能码03的使用步骤4:初始化主站中的动态数据表编辑器功能码16的使用:主站能将输出字写入从站功能数据表索引最高有效字节最低有效字节控制表001(传输/接收)8+2*N(传输长度)100(接收偏移)07(传输偏移)传输表2从站地址16(请求代码)3要写入的第一个字的地址4N=要写入的字数500(未发送的字节,偏移影响)2*N=要写入的字节数6要写入第一个字的值7要写入第二个字的值…N+5要写入第N个字的值接收表(响应后)N+
此文档下载收益归作者所有