一、 说明

《AB DF1驱动》该驱动通讯方式为网口,支持如下PLC:

Logix5系列

实现了N类型数据块的读(如N10:31),但未实现写。

驱动名称:bin/drivers/abcipdrv/abdf1drv

二、 驱动配置

在驱动中,增加一个名称和模块名称均为abdf1drv的驱动。

三、 设备配置

在驱动abdf1drv下增加一个设备,

  • 连接方式选择:串口(serial)
  • 通讯参数:波特率:2400,数据位:8,奇偶校验:N,停止位:1。如:port=/dev/ttyO1;baudrate=2400;parity=N;databits=8;stopbits=1
  • 参数1:无
  • 参数2:无

四、 变量配置

增加变量所需要配置的属性

变量名称:按照项目规范设计的字符串

设备:选择刚刚配置的设备

周期:根据需要而定,缺省为1秒

Tag点数据类型:和PLC一致。如:DINT为4个字节,SINT为2个字节,REAL为4个字节

可控制:使能

Logix5:支持:N块,地址如:N10:25    

五、 模拟

无法模拟。

六、 点表确认

使用AB的RSLinx,Communications/Config Drivers,在弹出对话框中选择增加一个Ethernet Device,并输入PLC的IP。再找到PLC的输入Backplane/xxxxLOGIXxxxx右键,选择DataMonitor,可以在弹出的Data Table Monitor查看所有的地址。


七、 协议分析

发送 [0021] 10 02 01 00 0F 00 6F 01 01 08 00 09 00 07 00 0A 00 02 10 03 5B

接收 [0013] 10 02 00 01 4F 00 6E 01 00 00 10 03 41


读取消息N10:31完整包如下

发送:

10 02 01 00 0f 00 00 00 01 01 00 02 00 07 00 0a 1e 02 10 03 bb

解析:

10 02: 包开头

01:DST

00:SRC 

0f:命令号CMD

00:STS状态

00 00:事务号TNS 

01:功能号

下面除了包结束外都是地址部分

01 00 02 00 07 00 :N10:31地址的前面部分。红色部分整个是地址的表示。 01=(31%10)%255 00=(31%10)/255,02=(31%10)+1,00 07:N块的类型,

0a:N10,第10个N块(文件)

1e:31 ,N10块内部的地址偏移 – 偏移%10. =31 - 31 % 10 

02,固定为2.

10 03:包结束标志

bb BCC校验码


接收(必须>=13):

10 02 00 01 4f 00 00 01 21 00 10 03 8e

10 02:包开头

00(SRC)

01(DST)

4f :CMD

00(STS)

00 00(TNS)

21 00:数据,大端序?

10 03:包结束标志

8e:BCC校验码




  • 无标签