这是本文档旧的修订版!
本应用使用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 |
本应用基于libplctag, 通讯协议为CIP-EtherNet/IP (CIP/EIP or EIP)
| 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进行通讯。
此部分描述设备信息,包含以下字段:
| 字段名称 | 字段说明 |
| name | 设备名称,如 ControlLogix5555 |
| description | 设备描述 ControlLogix5555 (1756-L55/A) |
| series | 设备系列号, 如 1756-L55 |
| 字段名称 | 字段说明 | 备注 |
| 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 |
从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 |