通过罗克韦尔AB协议(AllenBradley)连接设备

慧程HiperMatrix系统支持对AllenBradley协议的PLC ,AB PLC的数据通信类,使用CIP协议实现,适用1756,1769等型号,支持使用标签的形式进行读写操作,支持标量数据,一维数组,二维数组,三维数组等等。

目前 HiperMATRIX 具有以下AB PLC 的驱动程序

  • 1756 ControlLogix
  • 1756 GuardLogix
  • 1769 CompactLogix
  • 1769 Compact GuardLogix
  • 1789 SoftLogix
  • 5069 CompactLogix
  • 5069 Compact GuardLogix
  • Studio 5000 Logix Emulate

1.关于 AB PLC 主要类型分类补充

PLC的应用现在已经趋于成熟化,能够适应各种工业控制及过程控制。对于AllenBradley PLC 主要分类包括:

  • 小型: MicroLogix 控制器(MicroLogix 有 2 个系列)

    MicroLogix 系列

    Micro800 系列

  • 中型: CompactLogix 控制器(CompactLogix 有 4 个系列)

    1768 CompactLogix 控制器

    1769 CompactLogix 5370 控制器

    5069 CompactLogix 5380 控制器

    5069 CompactLogix 5480 控制器

  • 大型: ControlLogix 控制器(ControlLogix 有 2 个系列)

    1756 ControlLogix 5570 控制器

    1756 ControlLogix 5580 控制器

2.创建AB PLC连接服务

(1)进入边缘连接服务-连接管理,点击新建连接;

(2)选择罗克韦尔PLC,选择对应的AB设备型号;

image-20210914161330023

(3)输入连接名称,如 test_ab,输入主机名(IP地址),如192.168.12.13, 默认端口为44818;

(4)可以选择显示高级属性,查看其他设置,设置 CPU slot number(默认是0);

image-20210914161652115

(5)可以点击测试连接测试连接是否可以成功,如失败可以在连接日志中查看失败原因;

(6)点击提交。提交完成后将显示连接列表,连接状态应该为已连接,启用状态为启用。

3.相关属性说明

通用信息 内容
名称 设备连接的名称
描述 设备连接的描述
启用 连接是否处于活动状态。禁用此设置会终止与设备的通信。
连接性
主机名 设备的主机名或 IP 地址。如192.168.13.12
端口 连接到设备时使用的端口。默认值为 44818。
超时 请求超时时间,以毫秒为单位。默认值为 10,000。 (即为10秒钟)
高级
CPU插槽号 分配给 CPU 的插槽号。默认值为 2。
连接超时后重新连接 在连续几次超时后,设备连接将尝试重新连接到设备。此设置确定在重新连接之前必须发生多少次连续超时。

4.创建AB PLC 设备,添加对应属性

(1)在创建连接之后,可在连接列表中找到刚创建的对应。

image-20210914162942319

(2)点击设备状态后进入该连接对应下的设备管理界面,填写对应的设备标识,点击保存即可。

注意:连接一定要选择正确。否则匹配不到正确的连接。

image-20210914163152182

(3)添加完成之后可在设备管理中查看到刚才添加的设备,选择编辑并进行添加对应的属性即可。

image-20210914163454984

4.1手动指定每个地址

  • 进入设备管理,进入已创建好的设备(关联创建好的AB PLC的连接),点击添加属性;

  • 填写名称与标识符;

  • 选择对应的属性类别;

  • 设置数据类型,如 32位浮点数;

  • 设置数据地址,如 axle_bearing_temperature;

  • 设置对应的采集方式与扫描间隔;

  • 点击确定,那么在属性列表中将能看到对应的参数。

image-20210914164204944

5.地址合法性校验

AB的地址采用别名标签,因此无需死记硬背各种数据类型的地址。

给定设置好的别名,根据别名即可读取对应数据。

// ab 属性地址的合法校验
/**
 * 判断格式是否准确
 *
 * 只能由由字母或者下划线组成的字符串
 *
 */
private static final Pattern STANDARD_FORMAT = Pattern.compile("^[a-zA-Z_]+$");
2023-09-21
0