使用opc-ua-sim模拟server

这篇具有很好参考价值的文章主要介绍了使用opc-ua-sim模拟server。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用opc-ua-sim模拟server

前言

一直想找一种将模拟server放到docker容器中运行的方式,这样就不需要在每个电脑上都安装软件,仅仅只需要将镜像保存起来,使用时加载就行。于是乎就跑到了HUB里搜寻,你说巧不巧,就刚好找到了.

iotechsys

在HUB里找到这个作者(iotechsys)发布的镜像。里面有一个opc-ua-sim的镜像,这个就是我想要的。当然简单浏览了下还有很多像ua-browser、device-websocket、eb-redis等等很多的应用,这些都没有细细研究。毕竟opc-ua-sim才是今天的主要目的。

虽然有了镜像,但是作者的介绍里却是光秃秃的。我想要的食用步骤呢???在对作者的HUB端详了许久,我发现竟然有作者的官网,进去瞧瞧?

点进官网直奔support,并没有什么发现。

脑子一热直接在浏览器中搜索这个opc-ua-sim的用法,找到一个XRT User Document的网站。翻官网半天啥都找不到,最后还是直接复制关键字google出来的。真让我好找。

opc-ua-sim使用

拉取镜像

docker pull iotechsys/opc-ua-sim:1.2

在这里我看到HUB里最新tag并不是1.2,所以我选择了最新版也就是1.4的版本

运行镜像(无Lua脚本)

docker run --rm --name opc-ua-sim -p 49947:49947 iotechsys/opc-ua-sim:1.2

如果是使用windows平台下的docker desktop的话,这个地方windows的端口是49947是不能用的,需要切换到任意一个不被占用的端口,本人使用的是4840.

记得更换到你拉取的镜像版本,可以通过这个来查看镜像的运行情况,同时也能看看神秘的容器里藏着些什么东东

直到这里一切都是那么的顺利😕

运行镜像(带Lua脚本)

docker run --rm --name opc-ua-sim -p 49947:49947 iotechsys/opc-ua-sim:1.2 -l /example-scripts/simulation.lua

端口切换到4840,运行镜像中自带的测试脚本。啊啊啊,竟然报错容器停止自动销毁了。没想到官方步骤也能把我坑一手。

解决Lua Error

error running function `Update': /example-scripts/simulation.lua:lua:254: attempt to call a nil value (method 'updateValue')

很明显这个问题出现在容器内使用的脚本simulate.lua里,虽然对lua不懂,但是通过查阅貌似是因为没有updateValue这个方法导致的执行错误,并且这个方法是用来更新节点值的。通过查阅官方教程也仅仅给出了Function Update() 并没有给出使用什么方法去更新节点值。这就很头疼了。

兜兜转转,就在我想要放弃之际,我点进官方教程的Lua Scripting Examples. 啊?直接跳转到了官方的git。我好像又看到了一点希望的光透了进来。耐着性子翻阅官方的git。

通过对比我发现,v2.0-branch 和 v3.0-branch 使用的simulate.lua脚本不一样。updateValue方法被更换为了setValue。抱着试一试态度,将整个script文件夹下载到了本地通过挂载的到容器的方法运行了新的脚本

运行镜像(挂载主机Lua脚本)

docker run --rm --name opc-ua-sim -p 49947:49947 -v $(pwd)/lua-scripts/:/docker-lua-scripts/ iotechsys/opc-ua-sim:1.2 -l /docker-lua-scripts/simulate.lua

注意这里的$(pwd)方法也是一个坑,在windows的powershell下(其他平台没试,但这应该是docker的一个规定,与平台无关)这个命令docker无法识别,需要更改成${pwd},命令就能正常运行了。

验证

到这里,基本已经完成了所有的工作了,通过命令行可以查到模拟server暴露到了本机你指定的端口。并且默认情况下是允许匿名登录的。你可以使用任意的ua-client连接到这个server。并且可以查看到并监控示例object的节点值状态以及变化情况。

最后

当然这仅仅是成功运行了。server的模拟是离不开Lua脚本的,还需要进一步的熟悉熟悉Lua脚本基本用法。官方教程很多部分还没看,包括众多的Lua API。最后,iotechsys其实还有很多其他的镜像可能也需要了解一些,比如ua-browser。这些应该都是会用得上的。文章来源地址https://www.toymoban.com/news/detail-844336.html

到了这里,关于使用opc-ua-sim模拟server的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【OPC UA】使用C#读取OPC UA电液控数据

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

    2024年02月15日
    浏览(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日
    浏览(40)
  • Java使用Milo实现OPC UA客户端,封装spring boot starter

    最新版本更新日志查看:https://github.com/kangaroo1122/milo-spring-boot-starter/blob/main/UPDATE.md、https://gitee.com/vampire001/milo-spring-boot-starter/blob/master/UPDATE.md,此处不再更新 由eclipse开源,地址:https://github.com/eclipse/milo,可以基于此开发OPC UA客户端或者服务端。 本文介绍基于milo 封装的sp

    2024年02月09日
    浏览(50)
  • Java模拟OPC Server服务器并创建节点代码实现

    模拟OPC Server服务器的方法除了使用KEPServerEX6软件以外,还可以使用java代码模拟启动一个opc server。下文详细讲解,如何使用java代码,实现模拟一个或者多个opc server服务器。 OPC(OLE for Process Control)Server是一种用于实时数据通信的标准化软件接口,它允许不同厂商的设备和软

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

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

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

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

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

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

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

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

    2024年02月08日
    浏览(45)
  • OPC UA 服务器的Web访问

         基于Web 的应用非常普及,例如基于web 的SCADA ,物联网 Dashboard 等等,那么基于Web 的应用如何访问OPC UA 服务器呢?本博文讨论这方面的问题。         Web 是我们通常讲的网站,它由浏览器,HTTP 服务器和网页组成的。HTTP服务器通常称为后端,HTTP 网页在浏览器中解析

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

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

    2024年02月11日
    浏览(39)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包