MODBUS RTU.docx

preview
需积分: 0 2 下载量 43 浏览量 更新于2020-01-02 收藏 160KB DOCX 举报
MODBUS RTU是一种广泛应用于工业自动化领域的通讯协议,它允许设备之间通过串行连接进行通信。在这个场景中,我们讨论的是如何使用MODBUS RTU协议与台达变频器进行通讯,特别是通过三菱PLC来控制和读取变频器的状态。 理解RTU(Remote Terminal Unit)数据发送接收格式至关重要。RTU模式下,数据是以二进制形式连续发送的,每个16位数据之间不加分隔符,而是通过计算CRC校验码来确保数据的准确性。数据包通常包括站地址、功能码、数据字段和CRC校验。 在台达变频器的通讯中,P92号参数和P89号参数是关键,它们定义了变频器的MODBUS地址和通讯模式。例如,P88参数设置为5,表示变频器的MODBUS地址为5,P89设为1表示启用MODBUS通讯。 接下来是编程步骤: 1. D8120的通讯格式与变频器保持一致,确保PLC能够正确解析和构建数据包。 2. M8161常开触点用于启动通讯。 3. 使用RS指令进行数据传输。例如,RS D0 K8 D100 K0,这里的RS指令将D0寄存器中的8位数据发送出去,同时将接收的数据存入D100开始的寄存器。 4. RTU的数据发送接收格式需根据MODBUS协议规范来编写。读操作的格式是:站号+命令码+参数地址+读取个数+CRC校验。例如,读取P10和P11参数,发送格式为0503000A0002E58D。 5. CRC校验是数据完整性的保障,通过特定算法计算出的校验码会附加在数据包末尾,用于检测传输过程中可能出现的错误。 6. M8122常开触点可以用于确认通讯成功。 编程实现如下: 1. D8120格式:8位无校验,2位停止位。 2. 输出M8161启动通讯。 3. RS指令用于实际的数据交互,如RS D0 K8 D100 K0,向变频器发送数据并接收响应。 4. 读取操作:如读取P10和P11,发送0503000A0002E58D,变频器反馈的数据会被存储在P10和P11对应的寄存器中。 5. 写单个数据:比如修改P10参数为000A(1s),发送0506000A000AEEFF。 6. 写多个数据:如连续修改P10和P11,发送0510000A000204000A0014XXFF。 命令码CMD有特定含义,如H03用于读取N个参数,H06用于写入一个参数,而H10则用于写入N个参数。读操作(如H03)会触发变频器自动反馈数据,写操作(如H06和H10)则是直接修改变频器的参数或控制其动作,如启动、停止、正反转。 在实际应用中,确保变频器的通讯参数(如P88、P89、P92等)设置正确,是保证PLC与变频器顺利通讯的基础。通过理解并熟练运用这些知识点,可以实现PLC对台达变频器的高效控制和监控。