Siemens S7 ISO TCP
西门子 S7 ISO TCP 是西门子公司推出的一种协议,主要用于与西门子 S7 系列 PLC 进行通信。此协议基于 TCP/IP 协议栈,使用 ISO-TSAP 协议来处理连接和数据传输,可以实现对 PLC 进行读写操作,包括读取和写入位、字、双字、定时器、计数器等数据类型。
Neuron 实现的 S7 ISOTCP 分为两个插件,其中 Siemens S7 ISOTCP 插件主要用于连接西门子 S200、S200smart、S1200、S1500 型号的 PLC,Siemens S7 ISOTCP for 300/400 插件主要用于连接西门子 S300、S400 型号并且扩展了以太网模块的 PLC。
添加插件
在 配置 -> 南向设备,点击添加设备来创建设备节点,输入插件名称,插件类型选择 Siemens S7 ISOTCP 或 Siemens S7 ISOTCP for 300/400 启用插件。
插件 | 说明 |
---|---|
Siemens S7 ISOTCP | 适用于西门子 S200、S200smart、S1200、S1500 PLC |
Siemens S7 ISOTCP for 300/400 | 适用于西门子 S300、S400 PLC |
设备配置
点击插件卡片或插件列,进入设备配置页。配置 Neuron 与设备建立连接所需的参数,下表为插件相关配置项。
字段 | 说明 |
---|---|
PLC IP 地址 | 目标 PLC 的 IPv4 地址 |
PLC 端口 | 目标 PLC 的端口,默认为 102 |
PDU 大小 | PDU 大小,默认 960 |
PLC 型号 | 选择 PLC 型号,可选 S7-200 或 S7-300/400/1200/1500 |
连接类型 | 连接到 PLC 的类型,可选值:PG、OP、PC |
CPU 机架号 (rack) | PLC 机架号,默认为 0 |
CPU 槽号 (slot) | PLC 插槽号,默认为 1 |
TIP
当使用 Siemens S7 ISOTCP 插件连接S7 1200/1500 PLC 时,应进行如下设置:
优化块访问
必须被关闭。访问级别
必须是完全,连接机制必须允许 GET/PUT。
具体操作步骤参考 Siemens S7-1200/1500 PLC 设置。
设置组和点位
完成插件的添加和配置后,要建立设备与 Neuron 之间的通信,首先为南向驱动程序添加组和点位。
完成设备配置后,在南向设备页,点击设备卡片/设备列进入组列表页。点击创建来创建组,设定组名称以及采集间隔。完成组的创建后,点击组名称进入点位列表页,添加需要采集的设备点位,包括点位地址,点位属性,数据类型等。
公共配置项部分可参考连接南向设备,本页将介绍支持的数据类型和地址格式部分。
数据类型
- INT8
- UINT8
- INT16
- UINT16
- INT32
- UINT32
- FLOAT
- DOUBLE
- BIT
- STRING
- ARRAY_CHAR
地址格式
AREA ADDRESS[.BIT][.LEN]
AREA ADDRESS
区域 | 数据类型 | 属性 | 备注 | PLC 区域 |
---|---|---|---|---|
I | int8/uint8/int16/uint16/bit/int32/uint32/float | 读 | 输入 | 输入 I、E |
O/Q | int8/uint8/int16/uint16/bit/int32/uint32/float | 读/写 | 输出 | 输出 Q、A |
F/M | int8/uint8/int16/uint16/bit/int32/uint32/float | 读/写 | 标志 | 标志内存 M |
T | int32/uint32/float | 读/写 | 计时器 | 计时器 T |
C | int16/uint16 | 读/写 | 计数器 | 计数器 C |
DB | int8/uint8/int16/uint16/bit/int32/uint32/float/double/string | 读/写 | 全局数据块 | 变量内存 V,全局数据块1 |
TIP
对于全局数据块 DB,在 PLC 侧诸如 DBX,DBW,DBB 之类的地址,直接转化为 DBW 即可,不需要做字节换算,如 DBX1.0 -> DBW1.0。
.BIT
选填,指某一地址的某一位,范围 0 - 7。
.LEN
当数据类型为 string 类型时,是必填项,表示字符串长度。
地址示例
地址 | 数据类型 | 说明 |
---|---|---|
I0 | int16 | I 区域,地址为 0 |
I1 | uint16 | I 区域,地址为 1 |
O2 | int16 | O 区域,地址为 2 |
Q2 | int16 | Q 区域,地址为 2 |
O3 | uint16 | O 区域,地址为 3 |
F4 | int16 | F 区域,地址为 4 |
F5 | int16 | F 区域,地址为 5 |
M6 | int16 | M 区域,地址为 6 |
T6 | int32 | T 区域,地址为 6 |
T7 | int32 | T 区域,地址为 7 |
C8 | uint16 | C 区域,地址为 8 |
C9 | uint16 | C 区域,地址为 9 |
DB10.DBW10 | int16 | 10 数据块中,起始数据字为 10 |
DB12.DBW10 | uint16 | 12 数据块中,起始数据字为 10 |
DB10.DBW10 | float | 10 数据块中,起始数据字为 10 |
DB11.DBW10 | double | 11 数据块中,起始数据字为 10 |
I0.0 | bit | I 区域,地址为0,第 0 位 |
I0.1 | bit | I 区域,地址为0,第 1 位 |
O1.0 | bit | O 区域,地址为1,第 0 位 |
O1.2 | bit | O 区域,地址为1,第 2 位 |
F2.1 | bit | F 区域,地址为2,第 1 位 |
F2.2 | bit | F 区域,地址为2,第 2 位 |
DB1.DBW10.0 | bit | 1 数据块中,起始数据字为 10,第 0 位 |
DB2.DBW1.7 | bit | 2 数据块中,起始数据字为 1,第 7 位 |
DB1.DBW12.20 | string | 1 数据块中,起始数据字为 12,字符串长度为 20 |
DB1.DBW100.20 | ARRAY_CHAR | 1 数据块中,起始数据字为 100,字符数组长度为 20 |
ARRAY_CHAR 展示和写入形式为字符串。
应用场景
您可通过 Neuron S7 ISOTCP 插件连接西门子 S7-1200 PLC,具体操作步骤,见 Siemens 1200 PLC 连接示例
数据监控
完成点位的配置后,您可点击 监控 -> 数据监控查看设备信息以及反控设备,具体可参考数据监控。