亿琪软件-开源博客 - 西门子
type: channel
link: https://www.yiqisoft.cn/blogs/tag/%E8%A5%BF%E9%97%A8%E5%AD%90/
items: 文档｜EdgeX 设备微服务之西门子 S7 -- device-s7 完整使用手册
items: 分享｜工业企业数字化转型之数据采集-西门子S7系列
items: PLC | 西门子 Siemens S7 ISO-on-TCP 通讯协议探究——提高数据采集效率故障分析（使用边缘计算网关）

文档｜EdgeX 设备微服务之西门子 S7 -- device-s7 完整使用手册
type: item
date: 2023-12-11T00:39:00+00:00
description: EdgeX Foundry （以下统一简称：EdgeX）设备微服务 device-s7 由我司贡献给社区，文档也是必不可少的环节，社区要求英文，现翻译成中文，方便国内客户阅读和使用。 目录 目的 入门 环境 设置 S7 设备 设置 ISO-on-TCP 访问 IP protocol 启用 S7 Communication 远程访问 (可选) 保留 S7 communication 设置数据块 Data Blocks 启动微服务之前 使用预定义的配置进行测试 预定义 Device Profile 预定义设备配置 Device Configuration 设置一个新的配置 Configuration 创建自定义配置文件夹 设置新的设备配置 Device Profile 设置设备服务配置 Configuration 准备 docker-compose 文件 生成 docker compose 文件 将自定义配置添加到 docker-compose 文件 在 Docker 上启动 EdgeX Foundry 启动服务后设置 执行命令 查找可执行命令 执行设置命令 执行获取命令 自动事件 配置 协议属性 API 参考 源代码 额外细节 读命令 Read Command 写命令 Write Command 何时转换数据 支持的转换 "亿琪软件" "联系我们--商业服务" 目的 该服务的目的是将西门子 S7 PLC 设备连接到 EdgeX。 入门 本页介绍如何将 S7 设备连接到 EdgeX。 在此示例中，我们使用真实设备（例如 S7-1200）。 这提供了一种测试设备服务功能的简单方法。 环境 您可以使用任何可以安装 docker 和 docker-compose 的操作系统。 在本例中，我们使用 Ubuntu 使用 docker 部署 EdgeX。 设置 S7 设备 !!! warning "警告" 本页面并不是设置 S7 设备的完整指南，仅介绍了几个重要步骤。 设置 ISO-on-TCP 访问 IP protocol 设置 Ethernet addresses -> IP protocol, 例如： 192.168.123.199/255.255.255.0 启用 S7 Communication 远程访问 启用 Permit access with PUT/GET communication from remote partner. (可选) 保留 S7 communication S7 Communication 保留和使用的资源数量，“Configured” 为 0，表示 EdgeX 最多可以建立 8 个连接。 !!! warning "提示" 重要提示：不要与单个 S7 设备创建超过“6”个连接！ 我们需要为 WINCC 保留 “2” 个连接。 设置数据块 Data Blocks Data Block 1 在本例子中，只需使用 Clcok 偏移量 160.0 中的进行测试即可。 Data Block 4 在本例子中, 使用 bool, byte, word, dword, int, dint, real 作为测试. 启动微服务之前 以下部分介绍如何在启动服务之前完成设置。 使用预定义的配置进行测试 设置新配置 使用预定义的配置进行测试 文件夹中的预定义配置：cmd/res/ 预定义 Device Profile 设备配置 Device Profile profiles/Simple-Driver.yaml 描述了一个 S7-1200 设备，它包含 8 个资源，如下所示： name: S7-Device manufacturer: YIQISOFT description: Example of S7 Device model: Siemens S7 labels: [ISO-on-TCP] deviceResources: - name: bool description: PLC bool isHidden: false properties: valueType: Bool readWrite: RW attributes: NodeName: DB4.DBX0.0 - name: byte description: PLC byte isHidden: false properties: valueType: Uint8 readWrite: RW attributes: NodeName: DB4.DBB1 - name: word description: PLC word isHidden: false properties: valueType: Int16 readWrite: RW attributes: N…

分享｜工业企业数字化转型之数据采集-西门子S7系列
type: item
date: 2023-06-06T05:29:31+00:00
description: 目录 使用者 S7 ISO-on-TCP S7 协议配置 采集策略配置 注意事项 我司产品 产品白皮书 Modbus TCP 配置 PLC 支持 Modbus TCP 协议 配置网关 注意事项 开发者 关于 亿琪软件 西门子 S7 系列 PLC 是客户使用比较广泛且市场占有率非常高的工业现场智能自动化控制的设备，常见的型号有：S7-200 Smart, S7-300, S7-400, S7-1200, S7-1500 等。在这个系列的 PLC 中，使用比较多的数采协议有 S7 ISO-on-TCP 和 Modbus TCP，本文主要针对这两个协议进行讲解。 使用者 S7 ISO-on-TCP S7 ISO-on-TCP 以下简称 S7 协议，具体参考请到西门子官方网站查询，协议详解，并不是本文的重点内容。 S7 协议配置 首先，需要在 SIMATIC Portal 软件中将 S7 协议激活，当然，还需要配置一下具体可以支持的最大连接数，可以参考其他网站的配置手册。 其次，需要配置 PLC 设备本身的 IP 地址和端口号，默认端口号是 TCP:102； 使用相关的网关设备采集数据，需要默认配置4个参数，分别是： IP 地址：192.168.1.1 端口号：102 RACK：0 SLOT：1 以上配置完成后，如果顺利的话，应该可以直接根据 Portal 里面的点位表获取你所需要的点位数据值。 采集策略配置 首先，你需要了解 PLC 的工作原理，知道点位的缩写形式： DB1.DBX0.0：其代表的含义是 DB1 槽位，DBX0.0 是布尔型 0 寄存器的 0 位； DB3.DBD12：其代表了 DB3 槽位，DBD12 是 DWORD 12 寄存器； 其他不再举例，如果你看不懂的话，可能需要请教专业人士； 其次，需要将 PLC 获取来的数据与网关所在的系统进行数据类型的转化： bool 对应 布尔型； real 对应 Float32； 以此类推，不再举例； 然后，就是对应的采集策略和频率，具体要看业务的需要，设置合适的参数来。 注意事项 本采集 PLC 有连接数限制，一般不超过 8 个 TCP 连接； 每个连接所能承载的每个数据包的大小，有可能会出现 PDU 错误，这个需要询问采集设备厂家的工程师； 了解每个点位的采集反馈时间，据我们测算，1-3ms 是比较正常的，如果连续读取多个，要看是不是在你业务所要求的延迟范围内； 要观察 Portal 里面 PLC 设备的 CPU 和内存使用率，不要因为数据采集导致其本身业务发生问题； 其他问题，大部分是网络、配置点位 错误导致。 我司产品 亿琪软件公司针对大数据量、高性能采集方面，做了软件优化，我们的一体化网关可以最多 1秒内采集超过20000个数据点位。 工业边缘智能融合一体机产品 产品白皮书 Modbus TCP 配置 PLC 支持 Modbus TCP 协议 网上有很多配置手册可以参考，主要是将需要的 DB 段映射到 Modbus 服务上即可。 配置网关 大部分数据采集网关都能很好的支持 Modbus 协议，也不是非常复杂，建议自己多尝试。 注意事项 首先，Modbus TCP 的效率不如 S7 本身协议； Modbus 协议比较通用，业务不复杂的情况下，首选推荐； Modbus 协议对 PLC 的 CPU 和内存消耗较大，高性能的情况下慎选； PLC 支持的 Modbus 只有一个客户端可以连接，切记。 开发者 如果你在针对 S7 协议进行一些高性能开发的话，遇到问题可以通过这个文章进行排查和自我实践：PLC | 西门子 Siemens S7 ISO-on-TCP 通讯协议探究——提高数据采集效率故障分析（使用边缘计算网关） 关于 亿琪软件 上海亿琪软件有限公司成立于2016年，专注于 5G 通信、AI 人工智能、边缘计算和大数据网络安全多项技术领域，致力于物联网领域前沿技术的创新，为用户提供全方位、智能化和安全的物联网解决方案。 2023年，公司发布“YiFUSION｜工业边缘智能融合一体机”产品，为工业客户提供一整套的边缘计算+AI能力：高性能数据采集、多类型数据融合、AI算法集成、云端业务对接。在边缘网关的基础上，集成了 IoT 平台的边缘协同能力、本地Web SCADA 和 HMI 功能、本地数据存储、边缘 AI 视频分析、行业应用集成等。 2022年公司推出 “YiCLOUD｜亿琪云”一站式物联网应用解决方案。公司的业务涵盖了智慧城市、智慧农业、智能工厂和智慧园区等多个领域，公司软硬件产品和解决方案获得华为技术认证，得到中国移动OCP认证，公司还是边缘计算产业联盟ECC成员。 感知物联，畅快无限。 联系我们 网站：http://yiqisoft.cn 邮件：support…

PLC | 西门子 Siemens S7 ISO-on-TCP 通讯协议探究——提高数据采集效率故障分析（使用边缘计算网关）
type: item
date: 2023-03-30T07:56:00+00:00
description: 目录 需求/故障现场 分析过程 winCC 数据采集抓包 分析过程1：采集20个 real 数据字段 分析过程2：采集10个 word 数据字段 自有软件数据采集抓包 每次只是读取了1个 word 数据字段 解决方案构思 验证 读取1000个字节 下一步是继续验证分多个 item 进行数据采集 winCC 数据格式 自己代码 开发过程 大概过程描述 总结 效果展示 改进？ 解决方案 关于 亿琪软件 众所周知，我们软件读取 PLC 数据时按照 Bool/Byte/Word/Real 等类型进行通讯，有时候，需要频繁读取 PLC 多个数据字段偏移量时，就会造成传输效率低下的问题。 需求/故障现场 PLC 上有 100 个 word 需要读取，偏移量顺序排列，比如：从 0 - 200； 需要 1 秒读取 1 次数据； 转换后，数据转发到第三方系统：MQTT，SQL等； 逐个读取每个 word，两个字节，需要在一个 TCP 会话中执行 100 次请求； 每次请求，三个 TCP 数据传输，每次需要 15ms（423行-421行：3.614448-3.598902=0.015546s）； 这样的话，100次请求需要1.5546s，算上网络延迟和处理性能问题，整个过程需要2秒以上； 结果就是：完全达不到 1秒1次 采集的需求。 分析过程 winCC 数据采集抓包 分析过程1：采集20个 real 数据字段 winCC 将数据包分解成 3个 item 分析过程2：采集10个 word 数据字段 同样原理，winCC 将数据包按照每个 item 32 个字节 自有软件数据采集抓包 每次只是读取了1个 word 数据字段 解决方案构思 每次按照要求，获取所有需要的数据偏移量； 取回来后，按照测点要求，自己根据数据类型分解出来； 循环读取下一次数据； 验证 读取1000个字节 可以看到分了5次数据，222+222+222+222+112=1000 下一步是继续验证分多个 item 进行数据采集 winCC 数据格式 效率高，每次只需要 <2ms，分析原因：每次读取都是连续的地址空间，不需要PLC进行分段读取； 自己代码 效率低，每次需要20-50ms，分析原因：每个 item 里面只有一个测点（word类型），需要分段读取； 开发过程 大概过程描述 由于每次请求的数据量（按测点）叠加在一起，通过 S7DataItem 来组合，最多20个 item，打包一起发送到 PLC； 收到每次的返回数据，再解析成对象插入二维表，等待处理； 全部处理完成，统一根据请求数量，返回相应的结果集； 总结 PLC 针对于每个测点的处理时间在 1-3秒，数量越多，时间越长，是累加的； 100个测点，算上 TCP 包头和包尾，大概来回数据时间是 220ms左右，200个测点是 400ms左右； 通过这种方式，一个 PLC 建议采集点不超过 500个，虽然对 PLC 性能影响不大，但是处理时间较长，不适用1秒一次采集需求； 每个型号 PLC 的处理性能不一样，支持的 TCP 连接数也不一定一样，所以，要根据具体需求来决定。 效果展示 存入 SQL 数据库，完全控制在1秒一次采集 4 个 TCP 连接非常稳定 网关性能稳定 与 PLC 交互的网卡网络流量很少 改进？ 类似 winCC 的模式，一次性读取一段偏移量，节省 TCP 开销，也节省 PLC 处理每个测点； 针对一次读取来的一段偏移量内容进行解析，需要对字节码流处理非常熟悉； 对于新建项目，比较适合用改进的方法，毕竟 PLC 可以根据需求改动测点偏移量； 解决方案 关于 亿琪软件 上海亿琪软件有限公司成立于2016年，专注于 5G 通信、AI 人工智能、边缘计算和大数据网络安全多项技术领域，致力于物联网领域前沿技术的创新，为用户提供全方位、智能化和安全的物联网解决方案。 2023年，公司发布“YiFUSION｜工业边缘智能融合一体机”产品，为工业客户提供一整套的边缘计算+AI能力：高性能数据采集、多类型数据融合、AI算法集成、云端业务对接。在边缘网关的基础上，集成了 IoT 平台的边缘协同能力、本地Web SCADA 和 HMI 功能、本地数据存储、边缘 AI 视频分析、行业应用集成等。 2022年公司推出 “YiCLOUD｜亿琪云”一站式物联网应用解决方案。公司的业务涵盖了智慧城市、智慧农业、智能工厂和智慧园区等多个领域，公司软硬件产品和解决方案获得华为技术认证，得到中国移动OCP认证，公司还是边缘计算产业联盟ECC成员。 感知物联，畅快无限。 联系我们 网站：http://yiqisoft.cn 邮件：support@yiqisoft.cn 电话：021-68863086 手机：186-1666-9123