MODBUS协议是工业上常用的的软件协议,通过这种协议可以将控制其与其他电气设备进行通讯,它是一种通用工业标准,不同厂家的设备都可以通过MODBUS协议组网集中监控。
MODBUS协议的的传输数据方式有两种,ASCII模式和RTU模式,在同一个MODBUS网络,所有的通讯参数必须一致。
MODBUS接口有RS232、RS422、RS485等,现在常用的是485接口,有全双工、半双工工作方式,半双工方式就是数据发送与接受不能同时。
1RTU模式
在 RTU 模式中,新帧总是以至少 3.5 个字节的传输时间静默作为开始。在以波特率计算传输速率的网络上,3.5 个字节的传输时间可以轻松把握。紧接着传输的数据域依次为:从机地址、操作命令码、数据和 CRC 校验字,每个域传输字节都是十六进制的 0…9,A…F。网络设备始终监视着通讯总线的活动。当接收到第一个域(地址信息),每个网络设备都对该字节进行确认。随着最后一个字节的传输完成,又有一段类似的 3.5 个字节的传输时间间隔,用来表识本帧的结束,在此以后,将开始一个新帧的传送。
2 ASCII模式
在 ASCII 模式中,帧头为“:”(“0x3A”),帧尾缺省为“CRLF”(“0x0D”“0x0A”)。在 ASCII 方式下,除了帧头和帧尾之外,其余的数据字节全部以 ASCII 码方式发送,先发送高 4 位位元组,然后发送低 4位位元组。ASCII 方式下数据为 8 位长度。对于‘A’~‘F’,采用其大写字母的 ASCII 码。此时数据采用 LRC校验,校验涵盖从从机地址到数据的信息部分。校验和等于所有参与校验数据的字符和(舍弃进位位)的补码。
了解这些基本数据内容,我们还需要了解变频器端的功能码及通讯数据,包括变频器的正反停指令、调速变频指令、变频器状态监控等。
以上内容全部清楚后,就要在PLC上写程序了,程序部分大致有三部分,(1)通讯参数,包括数据格式、波特率、校验位、停止位等;(2)数据转换,各种16进制、ASCII码间的转换、(3)根据变频器手册输入相应的控制指令,变频器的控制指令、频率指令的发送,监控数据的接受。