连接 Siemens S7-1200

开启OPC UA Server(用户名/密码登录)

  1. 在 TIA V16 编程软件中选择目标 PLC,右键打开 属性 -> 常规 -> OPC UA

  2. 打开 访问服务器激活 OPC UA 服务器 选项。 s71200-1

  3. 服务器上可用的安全策略 列表中勾选需要的安全策略,如果安全需求不是特别高,可以只勾选 无安全设置,这样读写请求的速度会快一些。

  4. 可信客户端 部分勾选 运行过程中自动接受客户端证书

  5. 访客认证 部分关闭 启用访客认证

  6. 用户名和密码认证 部分勾选 启用用户名和密码认证

  7. 用户管理 列表中添加用户名和密码。

  8. 下载程序到 PLC。

添加程序块

  1. 在 TIA V16 编程软件中选择目标 PLC,打开 程序块 -> 添加新块,添加名为 OPC UA Block 的 全局DB 块,在 OPC UA Block 中为每一个类型添加一个数据点,设置 名称数据类型 类型相同。

  2. 勾选所有数据的点的 从 HMI/OPC UA/Web API 可访问从 HMI/OPC UA/Web API 可写 选项。 s71200-2

  3. 下载程序到 PLC。

添加服务器接口

  1. 在 TIA V16 编程软件中选择目标 PLC, 打开 OPC UA 通信 -> 服务器接口 -> 新增服务器接口,添加名为 ServerInterfaces_1 的接口,拖动右侧 OPC UA 元素 -> 项目数据 -> 程序块 中的 OPC UA Block 到左侧的 OPC UA 服务器接口 -> Browse name -> ServerInterfaces_1 下。 s71200-3

  2. 下载程序到 PLC。

Neuron 设置

  1. 通过 UaExpert 软件查看 PLC 测点信息,参考 UaExpert 使用方法s71200-4

  2. Neuron 新增南向 OPC UA 设备,打开 设备配置,填写目标 PLC 的 端点 URL,用户名/密码,无需添加证书/密钥。

  3. 根据测点信息添加 GroupsTags

  4. 数据类型对应关系:

    PLC 数据类型OPCUA 数据类型Neuron 数据类型
    AOM_IDENTUInt32UINT32
    BoolBooleanBOOL
    ByteByteUINT8
    CONN_ANYUInt16UINT16
    CONN_OUCUInt16UINT16
    CONN_PRGUInt16UINT16
    CharByteUINT8
    DB_ANYUInt16UINT16
    DB_DYNUInt16UINT16
    DB_WWWUInt16UINT16
    DWordUInt32UINT32
    DateUInt16UINT16
    DIntInt32INT32
    EVENT_ANYUInt32UINT32
    EVENT_ATTUInt32UINT32
    EVENT_HWINTUInt32UINT32
    HW_ANYUInt16UINT16
    HW_DEVICEUInt16UINT16
    HW_DPSLAVEUInt16UINT16
    HW_HSCUInt16UINT16
    HW_IEPORTUInt16UINT16
    HW_INTERFACEUInt16UINT16
    HW_IOUInt16UINT16
    HW_IOSYSTEMUInt16UINT16
    HW_PWMUInt16UINT16
    HW_SUBMODULEUInt16UINT16
    IntInt16INT16
    LRealDoubleDOUBLE
    OB_ANYInt16INT16
    OB_ATTInt16INT16
    OB_CYCLICInt16INT16
    OB_DELAYInt16INT16
    OB_DIAGInt16INT16
    OB_HWINTInt16INT16
    OB_PCYCLEInt16INT16
    OB_STARTUPInt16INT16
    OB_TIMEERRORInt16INT16
    OB_TODInt16INT16
    PIPUInt16UINT16
    PORTUInt16UINT16
    RTMUInt16UINT16
    RealFloatFLOAT
    SIntSByteINT8
    StringStringSTRING
    TimeInt32INT32
    TimeOfDayUInt32UINT32
    UDIntUInt32UINT32
    UIntUInt16UINT16
    USIntByteUINT8
    WCharUInt16UINT16
    WStringStringSTRING
    WordUInt16UINT16

测试点位

名称地址属性类型
DeviceManual3!DeviceManualReadSTRING
DeviceRevision3!DeviceRevisionReadSTRING
EngineeringRevision3!EngineeringRevisionReadSTRING
HardwareRevision3!HardwareRevisionReadSTRING
OperatingMode3!OperatingModeReadINT32
OrderNumber3!OrderNumberReadSTRING
RevisionCounter3!RevisionCounterReadINT32
SerialNumber3!SerialNumberReadSTRING
SoftwareRevision3!SoftwareRevisionReadSTRING

测试点位2

名称地址属性类型
SInt4!12Read WriteINT8
Int4!9Read WriteINT16
DInt4!6Read WriteINT32
Byte4!4Read WriteUINT8
UInt4!17Read WriteUINT16
UDInt4!16Read WriteUINT32
Real4!11Read WriteFLOAT
LReal4!10Read WriteDOUBLE
Bool4!3Read WriteBOOL
String4!13Read WriteSTRING

提示

Siemens S7-1200 的 NODEID 是数字形式的,需要根据实际的数值设置 Neuron 的地址。