您好,欢迎访问三七文档
一、ModBus协议7.2PLC的ModBus通信(1)历史Modicon(现为施耐德电气公司的一个品牌),1979年,第一个真正用于工业现场的总线协议1、概述(2)组织Modbus-IDA(InterfaceforDistributedAutomation)分布式自动化接口组织(3)特点①开放、免费②支持多种电气接口RS232、RS485等,双绞线、光纤、无线等介质。③帧格式简单、紧凑,通俗易懂一、ModBus协议7.2PLC的ModBus通信2、ModBus协议在串行链路上的实现(1)主要在RS485或RS232物理接口上实现一、ModBus协议7.2PLC的ModBus通信2、ModBus协议在串行链路上的实现(2)帧结构是一种主/从协议网络上的每个从站必须有唯一地址(1到247)地址0用于广播从站地址用于寻址从站设备,由主站发起地址用于广播模式,不需要响应一、ModBus协议7.2PLC的ModBus通信2、ModBus协议在串行链路上的实现(3)串行传输的RTU模式报文格式,CRC-16循环冗余校验码帧间隔3.5个字符时间字符间隔≤1.5个字符时间一、ModBus协议7.2PLC的ModBus通信2、ModBus协议在串行链路上的实现(4)串行传输的ASCIII模式报文格式报文必须以“:”开始报文必须以“LF、CR”结束数据用16进制ASCII码表示使用LRC(纵向冗余校验码)允许字符间隔超过1s00011011二进制数据十六进制数据1BASCII码31H42H“1”“B”一、ModBus协议7.2PLC的ModBus通信2、ModBus协议在串行链路上的实现(5)功能码主站发送的查询帧中,功能码表示从站应执行的动作00000011(二进制数据)主站要求从站读取一组寄存器,功能码为:从站发送的响应帧中,功能码表示正常响应或错误响应从站正常响应:功能码与查询帧中的相同从站错误响应:把查询帧中的功能码最高位置1上例中从站错误响应的功能码:10000011二、ModBus通信实例7.2PLC的ModBus通信1、PLC与VFD-M系列变频器通信(1)控制要求读取变频器主频率(频率指令)、输出频率并将其分别存于D0、D1中。设置变频器以主频率为40Hz正方向启动。VFD-M变频器参数必要设置参数设置值说明P0003主频率输入由串行通信控制(RS485)P0103运转指令由通讯控制,键盘STOP有效P8801VFD-M系列变频器的通讯地址为1P8901通讯传送速度Baudrate9600P9201MODBUSASCII模式,资料格式7,E,1二、ModBus通信实例7.2PLC的ModBus通信1、PLC与VFD-M系列变频器通信(2)元件说明二、ModBus通信实例7.2PLC的ModBus通信D1120各bit定义(2)元件说明二、ModBus通信实例7.2PLC的ModBus通信1、PLC与VFD-M系列变频器通信(2)元件说明PLC软元件控制说明M0执行MODRD指令M1执行第1个MODWR指令M2执行第2个MODWR指令二、ModBus通信实例7.2PLC的ModBus通信1、PLC与VFD-M系列变频器通信(3)ModBus便利指令-MODRDS1:联机装置地址(K0~K254)S2:欲读取数据的地址n:读取数据长度(K1<n≤K6)由PLC将此指令转换为符合ModBus协议的数据帧传送,功能码03H联机装置回传的数据储存于D1070~D1085ASCII模式,PLC自动将回传数据转为Hex储存于D1050~D1055二、ModBus通信实例7.2PLC的ModBus通信1、PLC与VFD-M系列变频器通信(3)ModBus便利指令-MODWRS1:联机装置地址(K0~K254)S2:欲写入数据的地址n:欲写入的数据由PLC将此指令转换为符合ModBus协议的数据帧传送,功能码06H二、ModBus通信实例7.2PLC的ModBus通信1、PLC与VFD-M系列变频器通信(4)控制程序RSTM1143MOVK100D1129M1002MOVH86D1120SETM1120D1120设置通讯格式9600,7,E,1通讯格式保持设置通讯逾时时间100ms通讯模式为MODBUSASCIILD=C0K0M0LD=C0K1M1LD=C0K2M2LD=C0K3RSTC0执行指令MODRD执行第个指令2MODWR执行第个指令1MODWRM0MODRDK1H2102K2SETM1122M0M1MODWRK1H2000H12M1M2MODWRK1H2001K4000M2M1127CNTC0K10RSTM1127M1000MOVD1050D0MOVD1051D1RSTRSTRSTM1129M1140M1141M1129M1140M1141CNTC0K10CNTC0K10CNTC0K10置位送信要求标志读取变频器的主频率及输出频率,并存放于寄存器D1050D1051、启动变频器并使其正转设置变频器的主频率为40Hz数据接收完毕一次后,计一次数C0接收完毕标志复位通讯逾时一次,C0计一次数通讯逾时标志复位数据接收错误时,C0计一次数数据接收错误标志复位指令参数错误时,计一次数C0指令参数错误标志复位将变频器的主频率传送到D0将变频器的输出频率传送到D1二、ModBus通信实例7.2PLC的ModBus通信2、PLC1与PLC2通信(1)控制要求PLC1的COM2连接PLC2的COM1PLC1读取PLC2(地址为1)的Y0-Y17的状态。ModBus采用ASCII模式串行通信采用格式为9600,8,E,1。PLC1接受到的数据帧存放地址从D0开始二、ModBus通信实例7.2PLC的ModBus通信2、PLC1与PLC2通信(2)ModBus便利指令-MODRWS1:联机装置地址(K1~K254,功能码K2、K3不能指定地址K0)S2:通讯功能码(K2,K3,K5,K6,K15,K16)S3:欲读写数据的地址S:欲读写的数据存放寄存器n:读写数据长度二、ModBus通信实例7.2PLC的ModBus通信2、PLC1与PLC2通信(2)ModBus便利指令-MODRW通讯功能码K2:读取多笔位装置(Bit)K3:读取多笔字装置(Word)K5:DVP-PLC的FORCEOn/Off的状态K6:单笔字装置(Word)数据写入K15:DVP-PLC的多笔位装置(Bit)状态写入K16:多笔字装置(Word)数据写入二、ModBus通信实例7.2PLC的ModBus通信2、PLC1与PLC2通信(2)ModBus便利指令-MODRWS:欲读写的数据的存放地址由使用者设定寄存器,将欲写入数据长度的数据事先存入寄存器内。或由使用者设定寄存器,数据读取后存放的寄存器。当COM2发送读取功能码(k2或k3)时,则此缓存器将储存整个接收的通讯数据串,而转换后数据被储存在D1296~D1311二、ModBus通信实例7.2PLC的ModBus通信2、PLC1与PLC2通信(2)ModBus便利指令-MODRWn:读写数据的长度功能码为K5时,表示FORCEOn/Off的状态,n=0表示Off,n=1表示On。功能码为k2、K15时,n最大为64,单位bit。功能码为k3、K16时,n最大为16,单位word二、ModBus通信实例7.2PLC的ModBus通信2、PLC1与PLC2通信(3)控制程序7.2PLC的ModBus通信(4)通信中传送的内容及各寄存器情况7.2PLC的ModBus通信(4)通信中传送的内容及各寄存器情况7.2PLC的ModBus通信(5)读取到的PLC2的Y0-Y17的状态1234H0001001000110100Y17Y0
本文标题:PLC通信
链接地址:https://www.777doc.com/doc-6343392 .html