OPC UA 服务器的Web访问

这篇具有很好参考价值的文章主要介绍了OPC UA 服务器的Web访问。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

     基于Web 的应用非常普及,例如基于web 的SCADA ,物联网 Dashboard 等等,那么基于Web 的应用如何访问OPC UA 服务器呢?本博文讨论这方面的问题。

Web 的通信方式

        Web 是我们通常讲的网站,它由浏览器,HTTP 服务器和网页组成的。HTTP服务器通常称为后端,HTTP 网页在浏览器中解析执行。现代HTML5技术使HTTP中已经包括 javascript 语言,能够编写功能强大的程序,因此HTTP 网页称为前端。

传统的web 前后端是通过HTTP协议通信的,现在web 前后端能够采取多种方式通信,它们包括:

  • HTTP协议
  • RESTful
  • MQTT 发布/订阅方式
  • WebSocket

OPC UA 的通信方式

OPC UA 通信方式有两种

  • TCP Client/Server 
  • Pub/Sub 发布订阅模型

几种基于Web的OPC UA 访问方式

基于HTTP RESTful 的方式

有两种方式实现OPC UA 的RESTful访问:

第一种方式是网关方式,将RESTful 请求翻译成为OPC UA 的Client 请求,结构如下图:

opc-ua协议发送数据 web,OPCUA

       另一种方法是扩展OPC UA 标准,使OPC UA 服务器实现RESTful 访问。 OPC基金会最近宣布将通过扩展OPC UA标准的RESTful接口(2023/4/17),由微软公司公司主导编制,目前还没有更多的信息。

opc-ua协议发送数据 web,OPCUA

在OPC UA 1.04 规范中,提出了SessionlessInvoke 无状态服务通信。但是仅限于有限的服务。

基于GraphQL 方式

     在这里我们介绍一种使用GraphQL 查询OPCUA 服务器的方法。

       GraphQL 是一种HTTP API 方式。它的查询命令类似于JSON ,但是又不完全是JSON,而返回的是JSON结构。

 Facebook 的移动应用从 2012 年就开始使用 GraphQL。GraphQL 规范于 2015 年开源,现已经在多种环境下可用,并被各种体量的团队所使用。

GraphQL 通过 HTTP 提供服务

GraphQL 是一种 API 对话的规范。下面是通过HTTP 实现的一个GragphQL 查询实例:

opc-ua协议发送数据 web,OPCUA

查询
query {
  hero {
    name
  }
  droid(id: "2000") {
    name
  }
}

响应

{
  "data": {
    "hero": {
      "name": "R2-D2"
    },
    "droid": {
      "name": "C-3PO"
    }
  }
}

 

 GraphQL的查询过程
  1. GraphQL 查询不完全是 JSON;它看起来类似 JSON 形状。 当发出 'POST' 请求进行 GraphQL 查询时,客户端将其作为“字符串”发送。
  2. 服务器获取 JSON 对象并提取查询字符串。 根据 GraphQL 语法和图表数据模型(GraphQL 模式),服务器处理 并验证 GraphQL 查询。
  3. 正如典型的 API 服务器,GraphQL API 服务器随之调用数据库或其他服务,以抓取客户端请求的数据。
  4. 服务器获取数据并以 JSON 对象的形式将其返回客户端。

GraphQL 的优点

  • GraphQL 模式会在 GraphQL 应用中设置单一事实来源。它为企业提供了一种整合其整个 API 的方法。
  • 一次往返通讯可以处理多个 GraphQL 调用。客户端可得到自己所请求的内容,不会超量。
  • 严格定义的数据类型可减少客户端与服务器之间的通信错误。
  • GraphQL 具有自检功能。客户端可以请求一个可用数据类型的列表。这非常适合文档的自动生成。
  • GraphQL 允许应用 API 进行更新优化,而无需破坏现有查询。
  • 许多开源 GraphQL 扩展可提供 REST API 所不具备的功能。
  • GraphQL 不指定特定的应用架构,它能够以现有的 REST API 为基础,并与现有的API管理
    工具配合使用。
使用GraphQL 访问OPC UA 服务器

在下列项目中,实现了OPCUA 服务器的GraphQL 封装

https://github.com/AaltoIIC/OPC-UA-GraphQL-Wrapper

这是一个基于python-opcua 库的项目

查询的例子

query {
    node(server: "TestServer", nodeId: "ns=2;i=1234") {
        name
        description
        variable {
            value
            dataType
        }
    }
}

另一个是基于NodeJS 的项目

 https://github.com/gilesbradshaw/uaQL

 

结束语

        RESTful 访问OPCUA 服务器是十分有用的,例如,当你实现一个基于OPCUA 的webHMI 应用时,HMI界面访问OPCUA 的内容。

        具体实现起来,想必还有许多的细节要考虑,例如数据和事件如何订阅,这要使用websocket 双向协议,或者MQTT 发布/订阅方式。文章来源地址https://www.toymoban.com/news/detail-854754.html

到了这里,关于OPC UA 服务器的Web访问的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Node-Red如何与OPC UA服务器通讯

    本篇内容主要介绍Node-Red如何通过插件node-red-contrib-opcua来从OPC UA服务器读写数据,仍然用KEPServer来模拟OPC UA服务器,UaExpert用来测试连接和获取变量NodeId。 KEPServer的安装参考文章Node-Red如何与OPC DA服务器通讯。 安装UaExpert没有太多要注意的地方,依次下一步就行了 接下来安装

    2024年03月17日
    浏览(56)
  • OPC UA服务端(Prosys OPC UA Simulation Server)和客户端(OPC UA Explorer)工具使用

    1.Prosys OPC UA Simulation Server下载地址 https://downloads.prosysopc.com/opc-ua-simulation-server-downloads.php 2.简单使用 2.1 特殊项设置 【1】端口设置 【2】OPC UA Simulation Server运行状态 2.2 新加需要模拟上数的点 2.3 模拟动态变化值,修改ValueType 效果图如下: 2.4 模拟固定值(手动修改值) 1.Matriko

    2024年02月14日
    浏览(43)
  • 【OPC UA】使用C#读取OPC UA电液控数据

    OPC UA与OPC DA协议常见于工业生产中使用,例如煤矿的综采支架电液控系统。OPC UA 是OPC 的后继标准,只是后面增加了UA ,意指”统一架构”(Unified Architecture).它的主要目的是摆脱windows! 实现与平台无关的OPC.从OPC 演进到OPC UA,它的目的并没有改变,依然是为了实现分布式控制系统中

    2024年02月15日
    浏览(40)
  • Kepserver EX6配置opc ua服务端 以及客户端

    阿里云盘分享(下载不限速) 链接:KepServer EX6下载破解工具 1.打开opc ua 设置 右击ex图标=》点击OPC UA 配置 2.设置opc ua 连接配置 选中编辑 网络配置: 这里给了三种配置根据自己业务进行选择,端口一般默认,也可以自定义端口。 一种是Default(默认),通过本机的计算机名称连

    2024年02月08日
    浏览(52)
  • OPC UA 开源库编译方法及通过OPC UA连接西门S7-1200 PLC通信并进行数据交换

            在现代工业自动化领域,OPC UA(开放性生产控制和统一架构)是一种广泛应用的通信协议。本文将以通俗易懂的方式解释OPC UA的含义和作用,帮助读者更好地理解这一概念。 一、OPC UA的定义         OPC UA全称为“开放性生产控制和统一架构”。简单来说,它是

    2024年01月20日
    浏览(38)
  • OPC UA 云端模型库

            UA 云库(opc ua cloud library)是互联网上可用的中央库,可以在其中上传配套规范 (CS) 并将其提供给其他人。许多CS是由OPC基金会的联合工作组开发和发布的。来自不同行业和应用领域的几位专家共同努力,为许多机器和系统提供了标准化的数据结构。此外,还可

    2024年02月07日
    浏览(43)
  • OPC UA 开源库编译方法及通过OPC UA连接西门S7-1200 PLC通信并进行数据交换[一]

            在现代工业自动化领域,OPC UA(开放性生产控制和统一架构)是一种广泛应用的通信协议。本文将以通俗易懂的方式解释OPC UA的含义和作用,帮助读者更好地理解这一概念。 一、OPC UA的定义         OPC UA全称为“开放性生产控制和统一架构”。简单来说,它是

    2024年01月16日
    浏览(54)
  • OPC UA:工业领域的“HTML”

            OPC   UA 是工业自动化领域的一项重要的通信协议。它的特点是包括了信息模型构建方法。能够建立工业领域各种事物的信息模型。在工业自动化行业,OPCUA 类似互联网行业的HTTP协议和“HTML”语言。能够准确,可靠地描述复杂系统中各个元素,并且实现系统组件

    2024年02月08日
    浏览(42)
  • 在 .NET 中使用 OPC UA 协议

    目录 什么是 OPC UA UaExpert 的使用 下载 UaExpert 首次启动 添加 OPC UA 服务器 连接 OPC UA 服务器 查看 PLC 数据 使用 C# 读写 OPC UA 数据 连接到 OPC UA 服务器 获取节点的值 写入节点的值 OPC UA (OPC Unified Architecture,开放平台通信统一架构)是 OPC 基金会应用在自动化技术的机器对机器

    2024年03月25日
    浏览(36)
  • 应用案例 | 升级OPC Classic到OPC UA,实现安全高效的数据通信

    OPC (OLE for Process Control,用于过程控制的OLE)是工业自动化领域中常见的通信协议。它提供了一种标准化的方式,使得不同厂商的设备和软件可互相通信和交换数据。OPC Classic是旧版OPC规范,通过使用COM(Component Object Model,组件对象模型)技术来实现数据交换。 然而,基于

    2024年02月11日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包