Siemens S7-1200 连接示例
Siemens S7-1200(简称 S7-1200)是一款紧凑型、模块化的 PLC,可完成简单逻辑控制、高级逻辑控制、HMI 和网络通信等任务的控制器。
本节将演示如何通过 Neuron OPC UA 插件连接 S7-1200。
连接 OPC UA Server(用户名/密码)
在 TIA V16 编程软件中选择目标 PLC,右键打开 属性 -> 常规 -> OPC UA。
打开 访问服务器 的 激活 OPC UA 服务器 选项。
在 服务器上可用的安全策略 列表中勾选需要的安全策略,如果安全需求不是特别高,可以只勾选 无安全设置,这样读写请求的速度会快一些。
在 可信客户端 部分勾选 运行过程中自动接受客户端证书。
在 访客认证 部分关闭 启用访客认证。
在 用户名和密码认证 部分勾选 启用用户名和密码认证。
在 用户管理 列表中添加用户名和密码。
下载程序到 PLC。
添加程序块
在 TIA V16 编程软件中选择目标 PLC,打开 程序块 -> 添加新块,添加名为 OPC UA Block 的 全局DB 块,在 OPC UA Block 中为每一个类型添加一个数据点,设置 名称 与数据类型 的类型应相同。
勾选所有数据的点的 从 HMI/OPC UA/Web API 可访问 和 从 HMI/OPC UA/Web API 可写 选项。
- 下载程序到 PLC。
添加服务器接口
- 在 TIA V16 编程软件中选择目标 PLC, 打开 OPC UA 通信 -> 服务器接口 -> 新增服务器接口,添加名为 ServerInterfaces_1 的接口,拖动右侧 OPC UA 元素 -> 项目数据 -> 程序块 中的 OPC UA Block 到左侧的 OPC UA 服务器接口 -> Browse name -> ServerInterfaces_1 下。
- 下载程序到 PLC。
配置 Neuron
通过 UaExpert 软件查看 PLC 测点信息,参考 UaExpert。
Neuron 新增南向 OPC UA 设备,打开 设备配置,填写目标 PLC 的 端点 URL,用户名/密码,无需添加证书/密钥。
根据测点信息添加 Groups 和 Tags。
TIP
Siemens S7-1200 的 NODEID 是数字形式的,需要根据实际的数值设置 Neuron 的地址。
数据类型对应关系:
PLC 数据类型 OPCUA 数据类型 Neuron 数据类型 AOM_IDENT UInt32 UINT32 Bool Boolean BOOL Byte Byte UINT8 CONN_ANY UInt16 UINT16 CONN_OUC UInt16 UINT16 CONN_PRG UInt16 UINT16 Char Byte UINT8 DB_ANY UInt16 UINT16 DB_DYN UInt16 UINT16 DB_WWW UInt16 UINT16 DWord UInt32 UINT32 Date UInt16 UINT16 DInt Int32 INT32 EVENT_ANY UInt32 UINT32 EVENT_ATT UInt32 UINT32 EVENT_HWINT UInt32 UINT32 HW_ANY UInt16 UINT16 HW_DEVICE UInt16 UINT16 HW_DPSLAVE UInt16 UINT16 HW_HSC UInt16 UINT16 HW_IEPORT UInt16 UINT16 HW_INTERFACE UInt16 UINT16 HW_IO UInt16 UINT16 HW_IOSYSTEM UInt16 UINT16 HW_PWM UInt16 UINT16 HW_SUBMODULE UInt16 UINT16 Int Int16 INT16 LReal Double DOUBLE OB_ANY Int16 INT16 OB_ATT Int16 INT16 OB_CYCLIC Int16 INT16 OB_DELAY Int16 INT16 OB_DIAG Int16 INT16 OB_HWINT Int16 INT16 OB_PCYCLE Int16 INT16 OB_STARTUP Int16 INT16 OB_TIMEERROR Int16 INT16 OB_TOD Int16 INT16 PIP UInt16 UINT16 PORT UInt16 UINT16 RTM UInt16 UINT16 Real Float FLOAT SInt SByte INT8 String String STRING Time Int32 INT32 TimeOfDay UInt32 UINT32 UDInt UInt32 UINT32 UInt UInt16 UINT16 USInt Byte UINT8 WChar UInt16 UINT16 WString String STRING Word UInt16 UINT16
测试点位 1
名称 | 地址 | 属性 | 类型 |
---|---|---|---|
DeviceManual | 3!DeviceManual | Read | STRING |
DeviceRevision | 3!DeviceRevision | Read | STRING |
EngineeringRevision | 3!EngineeringRevision | Read | STRING |
HardwareRevision | 3!HardwareRevision | Read | STRING |
OperatingMode | 3!OperatingMode | Read | INT32 |
OrderNumber | 3!OrderNumber | Read | STRING |
RevisionCounter | 3!RevisionCounter | Read | INT32 |
SerialNumber | 3!SerialNumber | Read | STRING |
SoftwareRevision | 3!SoftwareRevision | Read | STRING |
测试点位 2
名称 | 地址 | 属性 | 类型 |
---|---|---|---|
SInt | 4!12 | Read Write | INT8 |
Int | 4!9 | Read Write | INT16 |
DInt | 4!6 | Read Write | INT32 |
Byte | 4!4 | Read Write | UINT8 |
UInt | 4!17 | Read Write | UINT16 |
UDInt | 4!16 | Read Write | UINT32 |
Real | 4!11 | Read Write | FLOAT |
LReal | 4!10 | Read Write | DOUBLE |
Bool | 4!3 | Read Write | BOOL |
String | 4!13 | Read Write | STRING |