当前位置: 首页 > news >正文

无需SCADA/OPC,实现直接与西门子PLC Web API通讯实现数据读写(一)

声明:文章中部分图片来源于网络,如有侵害,请联系作者删除。

在工控行业的小伙伴们都非常清楚,尤其是资深的上位机工程师们,西门子PLC要实现第三方软件系统数据读写,以前必须借助SCADA或者OPC或者基于S7协议开发上位机数据采集程序。本知识点分两部分介绍,本文主要介绍如何在PLC端进行设置从而支持Web API。

随着软件定义一切和IOT技术的发展,促使硬件产品需要提供更加便捷方式实现与软件系统的数据集成,更好地发展自己的生态。

基于上述需求和技术发展,西门子PLC自1200和1500产品推出后,包括Smart 200系列,也直接提供Web API方式实现与上位软件系统的便捷互通。

以下是网上查找到的资料,西门子PLC可以支持Web API的PLC类型以及固件版本。

PLC型号    固件最小版本API版本     
S7-200 SMART系列V2.7
S7-1200系列V4.5V1.46
S7-1500系列V2.8V2.00

本文以验证测试的S7-1200为例进行解释说明,以下是本文档中所使用的硬件和软件:

硬件:S7-1200 V4.5 及以上 (本文档使用硬件: 6ES7214-1AG40-0XB0 V4.5 版本)

软件:TIA Portal V17 及以上(本文档使用软件:STEP7 Professional V17)

S7-1200 组态配置 Web 服务器

1. 添加S7-1200 CPU,选择 CPU 1214C DC/DC/DC V4.5 版本的 CPU,如图 1 所示。

图 1.添加 CPU

2. 在弹出的安全设置向导中进行相关安全设置,如步骤 2.1~2.4 所示。

 PLC安全设置向导是 V4.5 新增的设置,如果使用低版本,无此步骤。

2.1 点击“保护机密的 PLC 数据”,取消勾选“保护 TIA Portal 项目和 PLC 中的 PLC 组态数据安全”,如图 2 所示。如实际需要,可以保留勾选项。

图 2.设置保护机密的 PLC 数据

2.2 点击 “PG/PC 和 HMI 的通信模式”,取消勾选“仅支持 PG/PC 和 HMI 安全通信”,如图 3 所示。如实际需要,可以保留勾选项。

图 3.设置 PG/PC 和 HMI 的通信模式

2.3 点击 “PLC 访问保护”,访问等级处选择“完全访问权限(无任何保护)”,如图 4 所示。如实际需要,可以设置所需的访问权限

图 4.设置 PLC 访问保护

2.4 点击概览可以查看 PLC 安全设置的概览信息,如果确认无误,可以点击完成进行确认

图 5.对安全设置概览进行确认

3. CPU 属性中,选择以太网地址属性,设置 CPU 的 IP 地址,此处设置 IP 地址为:192.168.0.124,如图 6 所示。

图 6.设置 CPU 的 IP 地址

4. 选择 CPU,在 CPU 属性中,选择 Web 服务器,勾选“在此设备的所有模块上激活 Web 服务器”,如图 7 所示。

图 7.激活 Web 服务器

注意:图 7 中,如果取消勾选 “仅允许通过 HTTPS 访问”,通过浏览器访问 Web 服务器时,可以通过 http://ww.xx.yy.zz 访问或者通过 https://ww.xx.yy.zz。为了防止 PLC 被恶意攻击,或者出现未经授权的操作,建议勾选“仅允许通过 HTTPS 访问”。

5. Web 服务器属性中,点击用户管理,默认用户为“每个人”,访问级别为最小权限,即:只能查看开始和简介两个标准的 Web 页面。

此处添加新用户,如图 8 所示。

用户名称:Admin

访问级别:管理员(设置管理员的方法如图 9 所示)

访问密码:123456

图 8.添加新用户

在图 8 中,点击新增用户的访问级别这一列弹出 Web 服务器访问权限对话框,可以根据需要勾选响应的访问权限;如果要设置管理员访问权限,需要将所有复选框均勾选,如图 9 所示

图 9.设置管理员访问权限

6. Web 服务器属性中,点击监控表,可从名称列下拉菜单中选择已经创建好的监控表或者强制表。可设置读取或者读/写的访问权限。如图 10 所示。

此步骤如有需要再添加,非必须操作的步骤!

图 10.选择监控表或强制表

例如本文档事先创建好“监控表_1”,并在其中添加变量,如图 11 所示

图 11.监控表

在下一篇文章中介绍请求数据方式、格式说明以及一个测试Demo。

http://www.lryc.cn/news/611849.html

相关文章:

  • Mysql如何迁移数据库数据
  • 【自动驾驶】《Sparse4Dv3 Advancing End-to-End 3D Detection and Tracking》论文阅读笔记
  • 工业协议转换终极武器:EtherCAT转PROFINET网关的连接举例
  • Spring Boot全局异常处理与日志监控实战指南
  • 从Navisworks到定制化BIM系统:HOOPS Exchange如何实现高效3D格式解析?
  • 【公考】----申论篇
  • 测试单节点elasticsearch配置存储压缩后的比率
  • 20250806给PRO-RK3566开发板在Buildroot系统下扩大rootfs分区2GB
  • 移动端网页调试实战,跨设备兼容与触控交互问题排查全流程
  • Class30数据增广
  • 【docker】完整 Dockerfile 示例和构建运行指南
  • SmartX 用户建云实践|宝信软件:搭建“双架构”私有云平台,灵活满足多种业务需求
  • Bug 记录:SecureRandom.getInstanceStrong()导致验证码获取阻塞
  • Python爬虫 urllib 模块详细教程:零基础小白的入门指南
  • Unity3D水下场景与游泳系统开发指南
  • Scrapy(一):轻松爬取图片网站内容​
  • 安宝特方案丨工业AR+AI质检方案:致力于提升检测精度与流程效率
  • linux-系统性能监控
  • Python爬虫实战:研究spiderfoot工具,构建网络情报收集系统
  • python每日一题 贪心算法
  • 线程-线程池篇(二)
  • 基于Hadoop的木鸟民宿数据分析与可视化、民宿价格预测模型系统的设计与实现
  • 使用 gptqmodel 量化 Qwen3-Coder-30B-A3B-Instruct
  • MyBatis基础操作完整指南
  • smart-water表设计方案
  • 百度华为硬件笔试机试题-卷4
  • 希赛《华为 HCIA-Datacom 》核心考点之 NAT 技术解析
  • 解决远程连接云服务器mysql编号1130问题
  • 文本编码扫盲及设计思路总结
  • 应急响应排查(windows版)