三菱PLC通信格式字
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三菱PLC通信格式字
RS485标准接口通信格式,通信格式随控制设备的通信协议不同会有差异,但B0-B7位适用于所有使用RS485总线的控制设备。而b8~b15 这里没有定义,留给厂家定义。菱FX通信规定了“b11 b10 b9”为控制线选取方式,当使用通信板卡FX2N-485-BD时,这时b11 b10=11
三菱PLC FX2N是写入D8120, 台达PLC是写入D1120, 西门子S7-200是写入SMB30或SMB130, 而且仅B0~B7这8位二进制
在许多控制设备中对通信格式字有一种约定俗成的写法,其约定如下:
7 N 1 9600
_____ , ______ , _______, _______
数据长度校验位停止位波特率
b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0
______________ ___________ __________ __________
0 C 8 0
参数为7,N,1,9600 =H0C80(所以通信格式字为H0C80)
异步传送的数据格式及常用校验码
在PLC与变频器等智能设备中,其数据信息帧结构都是HDLC信息帧设计的,一个完整的帧结构如图:
一帧数据信息的发送,是从帧头开始到帧尾结束,依次一个字符一个字符地发送,对每个字符则是从低位b0到高位b7一位一位地连续依次发送,而一个字符一个字符地发送,字符中间是可以有间隔的,了解这一点对将来写通信程序会有所帮助的。
通常把异步传送的字符数据格式和波特率一起称为异步传送通信格式
这里把由多个字符组成的数据信息帧结构称为异步传送数据格式
校验码:1·求和校验码(取其低8位或全部16位)可用CDD指令
2·LRC校验码(这是MODBUS通信协议ASCLL方式的校验方法)
将参与校验的数据(0XH)求和,取低8位的补码为校验码。
补码=求反+1
3·CRC校验码(这是MODBUS通信协议RTU方式的校验方法)
4·异或校验码(将参与校验的数据依次进行逐位异或运算最后结果为校验码)
MODBUS通信协议
ASCLL通信格式:
1个起始位;
7个数据位;
1个奇偶校验位,无校验则无;
1个停止位(有校验),2个停止位(无校验)。
数据位是确定的,校验位,停止位,其通信格式可能的三种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),运行控制数据格式的编写
----- ---- -- - -- ------- --- --- -- -- - -- - - -- - - - - - - - - - - - - - - -- - - - - -
----- ---- -- - -- ------- --- --- -- -- - -- - - -- - - - - - - - - - - - - - - -- - - - - -