文档介绍:
: .
三菱PLC通信格式字
D
数据位是确定的,校验位,停止位,其通信格式可能的三种 1):7,E,1
2) :7,0,1 和 3):7,N,2
起始码
地址码
控制码
信息码
校验码
停止码
“:”4位 8位 8位 n*8位 LRC 8位 8位CR, LF
控制器在MODBUS 网洛上以ASCLL码方式通信,在数据格式中每4位即HEX数1位都转换成ASCLL码发送,也就是每个十六进制字符(0~9 A~F)都转换成ASCLL码。
MODBUS 的 RTU通信方式
RTU通信格式如下:
1个起始位;
8个数据位;
1个校验位,无校验位;
1个停止位(有校验时),2个停止位(无校验时)。
同样,MODBUS的RTU方式通信格式只能是:8,E,1和8,0,1和8,N,2
地址码
控制码
信息码
校验码
CRC校验
可以发现,RTU方式数据格式没有帧头和帧尾,那设备如何区别这一帧和下一帧呢?规定信息帧的发送至少要以3~5个字符时间间隔开始,校验码被传送后,又要以3~5个字符的停顿才标志发送结束。
例如:要命令变频器进行正转,它的数据格式中的功能码为06H,但是在发送信息时却不能用06H,这里必须先把0改成30H,把6改成36H,必须把十六进制的数据信息转换成ASCLL码才能发送。
但是在RTU中就不需要转换,所以RTU通信方式比较快。
例如:E = B1000101或H45
MODBUS的常用功能码名称和功能:
功能码
名称
功能
H 01
读线圈状态
取线圈状态
H 02
读输入状态
取开关输入状态
H 03
读保持存储器
读一个或多个保持存储器值
H 04
读取存储器
读一个或多个存储器值
H 05
强置单线圈
强置线圈的通断
H 06
写保持存储器
把字写入一个保存存储器
H 07
回送诊断校验
把诊断报告送从站
H 0F
强制多线圈
强置一组连续线圈通断
H 10
预置多存储器
写入一组连续保持存储器值
其中在变频器PLC控制系统中,常用的是03H和06H,一个是读,另一个是写。当要监控变频器运行情况时就用03H读取变频器参数值和运行状况;如果想让变频器执行运行命令和改变运行参数,则用06H写入命令即可,读Y ,M等的时候就要用到 01H。
MODBUS的查询和应答
MODBUS规定:当PLC查询后,变频器回应时,它使用功能码的变化来指示是否有错误发生。对没有错误的正常应答,变频器仅回应相同的功能代码。对有错或异常的应答,变频器返回相同的功能代码时, 将其最高位b7置1(MODBUS的功能代码是7位二进制数00H~7FH,其最高位b7=0)。
例如:功能代码为03H时,正常应答仍为03H,异常应答时则为83H(1000 0011)
同时,变频器还应将错误代码放入数据区告诉PLC发生了什么错误,PLC应用程序得到异议应答时,典型的处理是重发信息,或诊断并报告。
通信数据格式的编写
1),运行控制数据格式的编写
----- ---- -- - -- ------- --- --- -- -- - -- - - -- - - - - - - - - - - - - - - -- - - - - -
----- ---- -- - -- ------- --- --- -- -- - -- - - -- - - - - - - - - - - - - - - -- - - - - -