====== Allen-Bradley_PLC ====== 本应用使用AB的eip-cip协议,从AB PLC读取PLC导出的数据。通讯链路为以太网。 ===== 支持的设备系列 ===== | 产品系列 | 分类 | | SLC 500 系列 | PLC | | PLC-5 系列 | PLC | | ControlLogix 系列 | LGX | | CompactLogix 系列 | LGX | | FlexLogix 系列 | LGX | | Micrologix 系列 | MLGX800 | | Micro800 系列 | MLGX800 | ===== 已经测试过的设备型号 ===== | 型号 | 分类 | | SLC-5/05 (1747-L553/C) | SLC | | MicroLogix 1100 (1763-L16BWA) | SLC | | ControlLogix5571 (1756-L71) | LGX | | ControlLogix5555 (1756-L55/A) | LGX | | ControlLogix5573 (1756-L73) | LGX | | ControlLogix 5580 (1756-L82ES) | LGX | | CompactLogix L16ER (1769-L16ER/B) | LGX | | CompactLogix 1769 L30ERMS | LGX | | CompactLogix 5318 (1769-L18) | LGX | | CompactLogix 5370 (1769-L18ER) | LGX | | CompactLogix L32E (1769) | LGX | | CompactLogix L23E (1769-L23E-QB1B) | LGX | | GuardLogix 5570 (1756-L72S) | LGX | | MicroLogix 1400 (1766-L32BXB) | MLGX | ===== 通讯协议 ===== 本应用基于[[https://github.com/kyle-github/libplctag|libplctag]], 通讯协议为CIP-EtherNet/IP (CIP/EIP or EIP) ===== 应用配置 ===== ==== 处理器(CPU)型号 ==== | CPU型号 | PLC系列 | | PLC | plc5, plc, slc, slc500 | | LGX_PCCC | lgxpccc, logixpccc, lgxplc5, logixplc5, lgx-pccc, logix-pccc, lgx-plc5, logix-plc5 | | MLGX800 | micrologix800, mlgx800, micro800 | | MLGX | mricrologix, mlgx | | LGX | compactlogix, clgx, lgx, controllogix, contrologix, flexlogix, flgx | ==== 设备地址 ==== PLC设备的IP地址 ==== 数据路径 ==== 路径是CPU模块在整个PLC的位置信息,有架号槽号组成,如1,0中架号为1、槽号为0。小型PLC的路径通常为1,0。大型PLC需要查看具体CPU模块所在的架号和槽号。 ==== 采集周期 ==== 获取PLC数据的时间间隔、由于PLC通讯协议不是订阅模式,应用只能周期性的去获取PLC设备的数据,这里需要指定时间间隔。 注意: PLC的处理能力有限,所以尽可能的使用较大的时间间隔,降低PLC的运行负载 ==== 设备模板 ==== 应用具体读取那些数据点需要在设备模板中指定,这里只能选择一个设备模板。即一个应用示例只负责和一个PLC进行通讯。 ===== 设备模板 ===== [[http://cloud.thingsroot.com/template/APP00000084/TPL000000274|参考模板]] ==== Meta 部分 ==== 此部分描述设备信息,包含以下字段: | 字段名称 | 字段说明 | | name | 设备名称,如 ControlLogix5555 | | description | 设备描述 ControlLogix5555 (1756-L55/A) | | series | 设备系列号, 如 1756-L55 | ==== Prop 部分 ==== | 字段名称 | 字段说明 | 备注 | | name | 属性点(数据点)名称 | 只能是字母、数字、下划线 | | description | 描述信息 | 可以是任意字符串 | | unit | 数据单位 | | | RW | 数据读写类型 | RO-只读 RW-读写 WO-只写 | | data type | PLC数据类型,支持 uint8/16/32/64 int8/16/32/64 float32/64 bool string | 只能是这些类型之一 | | vt | FreeIOE数据类型(int/float/string) | | | elem_name | PLC中导出的数据点名称 | 字符串 | | offset | 数据偏移量(针对PLC数据是数组的情况, 从0开始, 单位是数据类型的长度) | | | rate | 数据计算系数,默认为1 | 如PLC导出的数据100,而rate设置为0.001 那么数据的数值会是0.1 | === data type === 从PLC编程软件中查看数据点类型。类型对应关系如下: | PLC 数据类型 | data type | | UINT8 | uint8 | | UINT16 | uint16 | | UINT32 | uint32 | | SINT8 | int8 | | SINT16 | int16 | | SINT32 | int32 | | REAL32/FLOAT32 | float32 | | REAL64/FLOAT64 | float64 | | BOOL | bool | | STRING | string |