西门子 S7 采集
1. 创建节点
Section titled “1. 创建节点”(1.) 进入 CommBridge 页面的【智慧孪生】,在左侧点击切换至【设备智联】。

(2.) 依次拖拽 西门子 S7 客户端、数据处理和 MQTT 上传插件到插件工作区,分别生成三个节点。

(3.) 依次连接三个节点,连接顺序:西门子 S7 客户端 → 数据处理 → MQTT 上传。

2. 创建方案
Section titled “2. 创建方案”(1.) 双击【西门子 S7 客户端】,点击【添加方案】按钮。

(2.) 填写连接配置,点击【下一步】。

(3.) 点击【添加分组】,填写分组信息,点击【确认】。

(4.) 点击【添加数据】,填写点位数据,点击【确认】。

(5.) 点击【完成】,成功添加采集方案。

(6.) 打开方案的开关,点击【保存】。

3. 查看结果
Section titled “3. 查看结果”(1.) 点击【设备智联】的【部署】按钮,部署成功。

(2.) 点击切换至【智慧孪生】,鼠标移动至【西门子 S7 客户端】节点,弹出节点信息列表。

(3.) 点击方案,查看该方案下各分组的点位实时数据和历史数据。
实时数据是十进制的数据

4. 配置描述说明
Section titled “4. 配置描述说明”| 参数 | 前提 | 描述 | 格式 | 举例 |
|---|---|---|---|---|
| 方案名称 | 用户自定义该方案的名称 | 非空 | 采集 s7 | |
| IP | 被采集的西门子 PLC 的 IP 地址 | 输入点分十进制格式的地址 | 172.21.78.157 | |
| 端口 | 被采集的西门子 PLC 的端口号 | 输入 1~65535 范围的整数 | 102 | |
| 型号 | 西门子 S7 设备的机型 | 下拉框选择 | Custom | |
| 机架号 | rack,CPU 所在的机架 | 数字,范围是 0-7 | 0 | |
| 卡槽号 | slot,CPU 所在的卡槽 | 数字,范围是 0-31 | 1 | |
| 同步采集 | 是否同步采集,Yes 或 No | Yes、No | Yes | |
| 采集周期 | 同步采集为 Yes | 数据读取轮询周期,单位 ms | 数字,范围:(100,2147483647] | 2000 |
| 采集时效性 | 同步采集为 Yes | 单位 ms | 数字,范围:(0, 采集周期] | 1000 |
注意:
- 设备型号:S7-300、S7-400、S7-1200、S7-1500、200Smart、Custom;若该设备的机架号或者卡槽号被修改了,则选择型号为 Custom
- 机架号:西门子 S7 PLC 有一个主机架和多个扩展机架;其中,安装有 CPU 的机架称为主机架,即机架号为 0;扩展的机架编号依次为 1 号机架、2 号机架、3 号机架等。
- 卡槽号:卡槽用来分配 CPU 模块、电源模块、接口模块、I/O 信号模块、通信模块、功能模块等在机架上的具体位置的,每个模块只占用一个槽号。
- 同步采集:“Yes”表示整个方案下分组的采集周期、超时时间和采集时效性统一配置;“No”表示每个分组自行配置采集周期、超时时间和采集时效性。
解释:
-
在常见的 S7 客户端连接中,远程 TSAP 使用两个字节:第一个字节表示连接类型,第二个字节编码 CPU 机架号和CPU 槽号。具体 TSAP 设置需与 PLC 的连接配置一致。
-
TSAP 分为 Local TSAP(相当于采集程序的地址)和 Remote TSAP(相当于 PLC 的地址)。不同的 PLC 型号,机架号和卡槽号不尽相同。
西门子 S7 系列 PLC 的 Rack/Slot 设置规则如下:
| PLC 型号 | Rack | Slot |
|---|---|---|
| S-300 | 0 | 2 |
| S-400 | 0 | 2 |
| S-1200 | 0 | 0 或 1 |
| S-1500 | 0 | 0 或 1 |
| S-300Smart | 0 | 2 |
| 参数 | 前提 | 描述 | 格式 | 举例 |
|---|---|---|---|---|
| 分组名称 | 用户自定义该分组的名称 | 非空 | s7 分组 | |
| 采集周期 | 同步采集为 No | 数据读取轮询周期,单位 ms | 数字,范围:(100,2147483647] | 2000 |
| 采集时效性 | 同步采集为 No | 单位 ms | 数字,范围:(0, 采集周期] | 1000 |
注意:
- S7 一次性只能读取 20 条数据。
- 采集周期和采集时效性的作用范围:整个分组内点位数据
| 参数 | 前提 | 描述 | 格式 | 举例 |
|---|---|---|---|---|
| 数据别名 | 数据的名称,同一分组中是唯一的 | 非空,不能以数字、下划线开头,不能包含空格 | S | |
| 存储区域 | 数据存储的位置 | Data Block | Data Block | |
| DB 号 | 存储区域为 Data Block | 寄存器地址的偏移量 | 数字,范围:[0,2147483647] | 1 |
| 起始地址 | 寄存器的地址从 0 开始,根据设备的地址填写 | 数字,范围:[0,2147483647] | 0 | |
| 数据类型 | 寄存器类型决定 | bit、byte、short、ushort、int、unit、long、ulong、float、double 和 string | byte | |
| bit 偏移 | 数据类型为 bit | 从低字节开始的偏移值 | 数字,范围:[0,7] | 1 |
| 数据长度 | 数据类型为 string 时 | 需要采集的数据长度 | 1、2 | 1 |
| 字节序 | 寄存器类型和数据类型共同决定 | 指超过一个字节的数据类型在内存中的存储顺序 | Big Endian、Little Endian | Big Endian |
| 计算 | 计算采集到的数据 |
注:存储区域暂未开放:Merker、Input、Output、Counter 和 Timer
5. 西门子 S7 协议相关参数说明
Section titled “5. 西门子 S7 协议相关参数说明”西门子 S7 的存储区域:
| 简称 | 存储区域 | 参数代码 | 说明 |
|---|---|---|---|
| [M] | Merker | 0x83 | 任意标记变量或标志寄存器驻留在这里 |
| [DB] | Data Block | 0x84 | DB 区域是存储设备不同功能所需数据的最常见位置,这些数据块编号为地址的一部分 |
| [I] | Input | 0x81 | 数字和模拟输入模块值,映射到存储器 |
| [Q] | Output | 0x82 | 类似的存储器映射输出 |
| [C] | Counter | 0x1c | PLC 程序使用的不同计数器的[C]值 |
| [T] | Timer | 0x1d | PLC 程序使用的不同计数器的[T] 值 |
西门子 S7 的数据类型:
| 类型 | 说明 |
|---|---|
| bit | 位,布尔类型,数据长度为 1,数据范围为 0-1 |
| byte | 字节,数据长度为 8,数据范围为 0-255 |
| short | 两个字节的有符号整数 |
| ushort | 两个字节的无符号整数 |
| int | 四个字节的有符号整数 |
| unit | 四个字节的无符号整数 |
| long | 八个字节的有符号整数 |
| ulong | 八个字节的无符号整数 |
| float | 单精度浮点数,四个字节的浮点数 |
| double | 双精度浮点数,八个字节的浮点数 |
| string | 八个字节的字符串 |
1 字节为 8 位
例如:
- 采集的数据数据是DB 块 123 的第三个 Byte 的第二个 Bit,所有选择的存储地址是 Data Block,DB 号填写 123,数据类型选择 Byte。
- 变量的示例地址是 DB123X 2.1,它访问数据块#123 的第三个字节的第二个位。