概览

西门子 S7 ISOTCP 是西门子公司推出的一种协议,主要用于与西门子 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适用于西门子 S200、S200smart、S1200、S1500 PLC
Siemens S7 ISOTCP for 300/400适用于西门子 S300、S400 PLC

参数

字段说明
PLC IP 地址目标 PLC 的 IPv4 地址
PLC 端口目标 PLC 的端口,默认为 102
PDU 大小PDU 大小,默认 960
PLC 型号选择 PLC 型号,可选 S7-200/300/400/1200/1500
连接类型连接到 PLC 的类型
CPU 机架号(rack)PLC 机架号,默认为 0
CPU 槽号(slot)PLC 插槽号,默认为 1
本地 TSAP本地 TSAP
远程 TSAP远程 TSAP

提示

当使用 Siemens S7 ISOTCP 插件连接S7 1200/1500 PLC 时,你需要使用西门子软件(TIA16)对 PLC 进行一些设置。( 详细设置请参考 PLC 设置。 )

  • 优化块访问必须被关闭。
  • 访问级别必须是完全连接机制必须允许 GET/PUT。

数据类型

  • INT16
  • UINT16
  • INT32
  • UINT32
  • FLOAT
  • DOUBLE
  • BIT
  • STRING

地址格式

AREA ADDRESS[.BIT][.LEN]

AREA ADDRESS

区域数据类型属性备注PLC 区域
Iint16/uint16/bit输入输入 I、E
Oint16/uint16/bit读/写输出输出 Q、A
Fint16/uint16/bit读/写标志标志内存 M
Tint32/uint32/float读/写计时器计时器 T
Cint16/uint16读/写计数器计数器 C
DBint16/uint16/bit/int32/uint32/float/double/string读/写全局数据块变量内存 V,全局数据块1

.BIT

选填,指某一地址的某一位。

.LEN

当数据类型为 string 类型时,是必填项,表示字符串长度。

地址示例

地址数据类型说明
I0int16I 区域,地址为 0
I1uint16I 区域,地址为 1
O2int16O 区域,地址为 2
O3uint16O 区域,地址为 3
F4int16F 区域,地址为 4
F5int16F 区域,地址为 5
T6int32T 区域,地址为 6
T7int32T 区域,地址为 7
C8uint16C 区域,地址为 8
C9uint16C 区域,地址为 9
DB10.DBW10int1610 数据块中,起始数据字为 10
DB12.DBW10uint1612 数据块中,起始数据字为 10
DB10.DBW10float10 数据块中,起始数据字为 10
DB11.DBW10double11 数据块中,起始数据字为 10
I0.0bitI 区域,地址为0,第 0 位
I0.1bitI 区域,地址为0,第 1 位
O1.0bitO 区域,地址为1,第 0 位
O1.2bitO 区域,地址为1,第 2 位
F2.1bitF 区域,地址为2,第 1 位
F2.2bitF 区域,地址为2,第 2 位
DB1.DBW10.1bit1 数据块中,起始数据字为 10,第 0 位
DB2.DBW1.15bit2 数据块中,起始数据字为 1,第 15 位
DB1.DBW12.20string1 数据块中,起始数据字为 12,字符串长度为 20