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

使用dataFEED OPC Suite将西门子PLC数据转发至REST API

一 背景

在工业4.0或工业物联网的项目方案中,逐渐紧密融合的OT&IT技术给工业制造带来了新活力。与此同时,利用IT级别的协议和应用来对制造数据进行收集和分析也成为了指导工业生产和优化流程的重要力量,尤其是基于HTTP的轻量级协议REST API。其具有简单易用、可扩展、跨平台、安全和可缓存等特点,并在收集工业数据和远程管理过程中有着重要的作用,例如它可使用云数据库作为数据存储和管理的后端,为用户提供可靠的数据存储和访问服务。

二 解决方案

SoftingdataFEED OPC Suite是一种安全可靠的OPC通信和工业物联网云连接的一体化软件解决方案,不仅可实现对西门子PLC等设备数据的收集,且可将数据通过REST API来转发到物联网或大数据应用。

(图1 dataFEED OPC Suite REST连接方案)

1. 西门子PLC的数据访问

dataFEED OPC Suite支持西门子PLC的各种通信协议,例如可通过S7协议来访问S7-300/400、S7-1200/1500等PLC控制器的数据。通常用户在使用S7协议来读取PLC数据时,需要创建一系列的PLC标签地址,这给PLC工程师带来了极大的工作量。使用Softing的免费标签扫描软件dataFEED Exporter,便可直接导出STEP7或TIA Portal项目文件中的标签地址。此外,Softing的dataFEED OPC Suite还支持更加高级且安全的西门子S7-2(S7 Plus)协议,且无需在西门子PLC中勾选PUT/GET,即可自动进行标签寻址,实现对S7-1200/1500PLC的优化块数据的高效访问。

(图2 dataFEED Exporter标签导出演示)

2. REST API

dataFEED OPC Suite作为REST客户端,可通过TCP/HTTP/HTTPS等协议来实现对REST服务器的数据访问,并提供了POST/PUT两种方式。它还支持常用的JSON/XML/HTML/PLAIN等数据传输格式。

dataFEED OPC Suite还具有图形化的导航界面,无需大量专业的IT知识,也可搭建完整的数据传输链。为了保障数据传输的安全性,dataFEED OPC Suite建立了数据加密传输机制,支持REST的标准安全协议,例如SSL加密。此外,dataFEED OPC Suite还为REST传输配置了缓存功能,可保障数据传输的稳定性——当网络发生故障时,那些需要转发到REST服务器的数据将被缓存在本地;当网络恢复后,缓存的数据将被自动转发出去。

三 dataFEED OPC Suite功能拓展

1. 安全可靠的访问数据源数据

• 支持访问西门子、罗克韦尔、Modbus、贝加莱和三菱等品牌的各类型PLC数据;

• 支持访问OPC、OPC UA服务器,并且具有可“绕过”OPC DCOM配置的Tunnel功能;

• 支持通过ODBC来访问MySQL、MSSQL、Oracle和DB2等数据库;

• 支持MQTT的订阅者和Broker功能;

• 支持读取本地文件(XML),并可在软件内部创建辅助中间变量。

2. 灵活高效的数据处理功能

• 支持数据的存储与转发,且可避免因网络故障而导致的数据丢失问题;

• 支持数据在可访问数据源之间的相互转换,例如可将从西门子PLC中读取到的数据交换到罗克韦尔PLC中;

• 支持对数据进行预处理,并配备有数学计算、逻辑处理、类型转换和LUA编程语言等功能引擎,其中LUA脚本的关键字、函数和表达式等功能,可满足用户的多种数据处理需求。

3. 广泛的数据转发目的地

• 支持将数据源数据转发到OPC、OPC UA客户端;

• 充当MQTT发布者角色,支持多种主题发布格式,并允许用户自定义格式;

• 支持西门子MindSphere平台,可将各类数据源的数据直接转发到该平台;

......

请点击此处,查看剩余30%精彩内容!

| 往期回顾

▶ dataFEED OPC Suite轻松连接西门子PLC到IT应用

▶ Softing dataFEED OPC Suite将西门子PLC数据存储到Oracle数据库中


http://www.kler.cn/news/17056.html

相关文章:

  • FL Studio21没有language选项?如何设置切换中文语言
  • 《论文阅读》开放域对话摘要(长文本|知识嵌入)
  • 《花雕学AI》31:ChatGPT--用关键词/咒语/提示词Prompt激发AI绘画的无限创意!
  • 题目:16版.饲养员喂养动物
  • Mesh形变算法
  • git reset和git revert的区别
  • JDBC详解(三):使用PreparedStatement实现CRUD操作(超详解)
  • java基础入门-02-【面向对象】
  • Android开发 我的开源Android Log “日志狗”LogDog
  • 《通过十几轮数据进行模型训练,实现精确的无创血糖测量的演绎学习》阅读笔记
  • CC2642 读取和设置FEATURES
  • path/to/sdkmanager --install “cmdline-tools;latest“
  • k8s搭建教程
  • 内网渗透(六十一)之Kerberosating攻击
  • MySQL知识学习02(MySQL索引详解)
  • 【软考高级】2022年系统分析师综合知识
  • [java]云HIS运维运营分系统功能实现(springboot框架)
  • 【Java笔试强训 4】
  • 08-Vue技术栈之过度与动画
  • 如何使用CSS和JS实现一个响应式的滚动时间轴
  • 你最关心的4个零代码问题,ChatGPT 帮你解答了!
  • Python基础合集 练习22 (错误与异常处理语句2)
  • 【Spring6】| Spring6整合JUnit
  • 【Git】‘git‘ 不是内部或外部命令,也不是可运行的程序
  • 2016 ICPC合肥站 传递 HDU-5961(拓扑排序 / bitset / 暴力(可hack))
  • 相交链表 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。
  • 2.6 浮点运算方法和浮点运算器
  • c++ 入门概述
  • WEB攻防通用漏洞跨域CORS资源JSONP回调域名接管劫持
  • CSS布局基础(CSS书写顺序 导航栏写法 常见问题)