当前位置:文档之家› 欧姆龙PLC通讯报文解释

欧姆龙PLC通讯报文解释

欧姆龙PLC通讯报文解释
欧姆龙PLC通讯报文解释

PLC通讯报文解释

一、规则

(1)下行和上行报文分别用“发:”和“收:”区别开来。在颜色上也不同,发为绿色,收为蓝色。报文不论对错,只要是从串口和得到的数据都会显示出来。所以有时可以直接根据报文显示的情况发现一些问题。具体见第二大条。

(2)报头和报尾:所有完整报文帧的报头一定以字符“@”开始,最后以“*”和一个回车符(界面上是不可见的,但如果用鼠标左键选中报文尾部,是可以看到此字符确实存在且能够被选择,只是无法显示出来)结束。如果没有这两个明显的字符,此帧是无效帧,不会参与处理。

(3)PLC回应信息符(也就是指编程手册中的结束码):一共用两个字符来表示,这是对当前通讯状态的一个比较重要的指示,表示了本次问答的PLC与后台间数据的交换是否正常。具体各数值的意义见第二大条。本PLC回应信息符位于回答帧的第六和第七两个字符。如正常回答时,前面一部分报文会是:@01RD00 0000……。PLC回复的回应信息符就是这里的字符D后面紧跟的那两个字符。这里00是表示正常回应,如果FCS校验也正确的话,那么一切都OK,可以对本帧数据进行处理了。注意,如果是某些遥控或者强制等WR命令时,PLC回复的回应信息符就是字符R后面紧跟的那两个字符了。非00表示出错了。(4)协议是遵守MODBUS协议的。所以如果对MODBUS协议有一定了解的话,本报文是很容易看懂的。无论上行还是下行报文,帧格式都为:

报头(即@)+ 机号+ 命令+ 起始地址+ 长度+ FCS校验+ 报尾(即*+回车符)

参考报文:

发:@01RD0020001155*

收:@01RD00 0001 300E 0000 0000 0000 0000 0000 0000 0000 0000 0000 55*

报头和报尾不再赘述。

机号:一号机为01,二号机为02,为PLC设置里面下传时设定,需对应起来。

命令:常用到的是读命令RD和写命令WR、WD。以前的另一种PLC型号出现过扩展区E 区,所以对应还有RE,WE等命令。

起始地址:表示本帧的读或者写操作的对象区域开始处。与PLC程序里面的内存区完全对应。如协议中规定在PLC里面放置当前水机事故个数到D0020里面。那么上面例子中的RD0020….就会对从D0020这个寄存器开始读起。返回报文的第一个字就是D0020,也就是当前的事故条数了。

长度:要进行读或者写操作区域的长度。

FCS校验:PLC硬件自动响应上传报文及自动计算和校验FCS校验码,不用PLC程序进行额外的编写。

报文中各字符在程序中体现的数据含义的在参考说明书中的设置后,再结合看第三条的详细解释。

二、出错提示

(1)报文是乱码,可能原因是RS422的接线出错,请仔细检查。也可能是PLC的第四个通讯拨码没有拨(一般发货前会在一楼联调时拨好)。

(2)运行过程中,数据不来,或者事故不上传,遥测遥信数据不对等其它不正常情况。首先是要根据回应信息符来判断,如果回应信息帧正确(为00),那么就要查是不是PLC程序中出了问题了。不为00时,要根据下面的列表来解决问题了。

三、具体举例说

选择的是黄洋口的报文,是一台PLC带两台机组,数据量比较密集点,所以回复报文的数据位置和常规使用的PLC中数据的摆放位置是略有提前了,但不影响此处对报文进行解释。发:@01RD0020001155*

收:@01RD00 0000 300E 0410 A040 2508 1800 0200 0000 0000 0000 0000 55*

发:@01RD0031003056*

收:@01RD00 6101 5C01 6401 0100 3A01 3F01 3501 8A13 2439 9D0C D003 CE00 C900 CA00 F300 0F01 02F0 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

0000 22*

显然PLC的应答报文中的结束字符,也就是回应信息帧是正常的“00”,所以是正常报文。

报文按00200011,00310030,00610030,0091030的规则发下去,遥信和事故个数帧是十一个字一查询(根据协议第一个字是事故个数,后面十个连续字为遥信状态开关量),而每条遥测下发报文的“长度”字符是三十个字一加。

就上面的报文内容来讲:

遥信和事故个数帧内容包括:(1)无事故产生。(2)开关量有产生的,具体内容从0021~0030这十个字的二进制码来进行对位。分别对应第一个遥信到第一在六十个遥信量。

遥测帧说明了数据上正常上传,显示的是十六进制码。程序进行计算后转送到RDCSERVER中去让别的程序调用。

注意本处是特殊的协议所以没有讲电压、电流、功率等具体数据的位置,一般也用不到的。得到报文,再根据PLC.INI文件中的正确设置,程序会将各数据对应放好。

相关主题
文本预览
相关文档 最新文档