Siemens S7-1200 连接示例

Siemens S7-1200(简称 S7-1200)是一款紧凑型、模块化的 PLC,可完成简单逻辑控制、高级逻辑控制、HMI 和网络通信等任务的控制器。

本节将演示如何通过 Neuron OPC UA 插件连接 S7-1200。

连接 OPC UA Server(用户名/密码)

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

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

s71200-1

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

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

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

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

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

  6. 下载程序到 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

  1. 下载程序到 PLC。

添加服务器接口

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

s71200-3

  1. 下载程序到 PLC。

配置 Neuron

  1. 通过 UaExpert 软件查看 PLC 测点信息,参考 UaExpert

    s71200-4

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

  3. 根据测点信息添加 GroupsTags

    TIP

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

    数据类型对应关系:

    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

测试点位 1

名称地址属性类型
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