AIRIOT物联网低代码平台支持驱动类型丰富,驱动包括但不限于通用驱动信息,无线驱动信息,行业驱动信息及各个厂商驱动。驱动稳定性强,经受住各个大型项目考验,持续稳定运行。
AIRIOT物联网低代码平台如何配置OPC UA驱动,操作如下:
OPC UA驱动配置(配套有视频)
OPCDA驱动配置操作视频:
驱动配置决定驱动如何连接 OPCUA 服务器,数据点配置决定驱动从 OPCUA 服务器上读取哪些数据。
如何测试
  1. 安装驱动,安装完成后在选择设备驱动时可以看到 opcua。没有驱动授权时也可以添加少量数据点做测试。
  2. 创建一个模型,设备驱动选择 opcua。创建一个属于该模型的资产。
  3. 参考驱动配置一节,配置模型中的驱动配置。
  4. 参考数据点配置一节,在模型中添加一个状态正常的数据点。
  5. 保存配置,点击重启驱动。
  6. 在模型的数据点的下拉框中选择第 2 步创建的资产,查看是否有数据。
驱动配置
说明
跟连接 OPCUA 服务器相关的配置有以下五项(前三项为必填项),这些信息一般从 OPCUA 服务器的配置页面上可以找到,简要说明如下:
  • OPC主机URL:包含了 OPCUA 服务器的 ip 地址(也可以是域名或者计算机名)和端口。请确保驱动运行的服务器可以 ping 通 OPCUA 服务器的地址,并且 OPCUA 服务器的端口没有被占用。
  • 安全模式:连接 OPCUA 服务器时的认证方式。有None,Sign ,和Sign&Encrypt三种,分别对应匿名登录,签名验证和签名与加密认证(不同厂商的翻译可能不同)。局域网环境通常允许匿名登录,不允许匿名登录时需要在驱动配置中填写用户名和密码。
  • 安全策略:证书加密方式。驱动支持选择None,Basic128Rsa15 ,Basic256,和Basic256Sha256四种中的一种,OPCUA 服务器会支持若干种安全策略。当安全模式是None时安全策略也是None。
  • 用户名:非匿名登录时可能需要填写。
  • 密码:非匿名登录时可能需要填写。
采集周期参数决定了驱动将数据上传到平台的频率,由于驱动是通过订阅的方式更新数据的,缩短采集周期并不会增加 OPCUA 服务器的负载。
除了采集周期外,OPCUA 服务器上的数据更新后平台上的数据多快更新还取决于 OPCUA 服务器采集实际设备的周期和推送数据更新信息的最小周期。这两个参数可以在驱动的配置文件配置中配置,但是实际的周期由 OPCUA 服务器根据自身能力决定。
示例
以KEPSevrer为例。版本为 V6.4 321.0。
匿名登录
此时支持匿名登录。

驱动配置如下:

 
非匿名登录
此时不能匿名登录。注意 KEPServer 支持两种加密方法(对应驱动的安全策略),勾选的加密方法后可以在下拉框中三选一(选择项对应驱动的安全模式)。
 
KEPServer 安全策略下拉框选项与驱动的安全模式的对应关系如下,需要注意在测试使用的版本中“签名与加密”比“签名;签名与加密”覆盖的范围更广。
下拉框(中文)
下拉框(英文)
有效的驱动安全模式
签名
Sign
Sign
签名;签名与加密
Sign; Sign and Encrypt
Sign&Encrypt
签名与加密
Sign and Encrypt
Sign和Sign&Encrypt都可以
 
增加和修改端点后,需要重启运行时后才能生效。方法为右键点击托盘中的 KEPServer 的绿色小图标,选择“重新初始化”。
 
根据上述配置,驱动的安全策略和安全模式有2*2=4种有效的组合,以下为其中一种有效配置:

当第一次运行驱动时候,需要在 OPCUA 服务器的配置界面添加证书。
驱动启动或者重启后,刷新受信任的客户端页面,会看到一个名为HTKJ Client的客户端。如果前面没有红叉,则无需做任何操作;如果前有个红叉,右键选择证书,点击信任。等待一段时间即可(驱动会自动重连)。
 
数据点配置
说明
没个数据点有 3 个 OPCUA 相关的必填配置:
  • 命名空间(NamespaceIndex):整数,0 是 OPCUA 服务器的配置。KEPServer 上的数据点的命名空间一般是 2。
  • 数据点ID(identifier):字符串。一般不同层级之间用一个分隔符分开。
  • 数据类型:实际没有影响,随便选一个就可以。
数据点的名称和标识只跟平台功能相关,与 OPCUA 无关。
示例
需要第三方 OPCUA 客户端Ua Expert,请自行下载。
首先使用 UaExpert 连接上 OPCUA 服务器,配置与上一节类似(可以参考)。
连接成功后,可以左侧看到一组多级目录(结构类似于下图),在目录中找到一个有效的数据点(图标为标签)。
 

单击标签页,看右侧的 NamespaceIndex 和 identifier。
 
在平台上,添加数据点,命名空间写 UaExpert 中 NamespaceIndex 对应的数值,数据点ID写 Identifier 对应的值。注意符号和大小写。
OPCUA 数据点的状态码不是 Good 时,驱动不会上传这个数据。

添加大量数据点时推荐使用数据点导入功能。
尽管 OPCUA 的数据点ID没有格式限制,但是实际上数据点ID由几段字符串拼接而成(与 OPCDA 相似)。比如上图中 OPCUA 服务器上的数据点实际上是在设备 Sim 的通道 dev1 下。
常见问题
如果驱动运行时实际设备掉线会发生什么
如果实际设备(如 PLC)掉线,一般 OPCUA 上的数据点的状态码会不正常(不是 Good)。此时驱动会发现数据点状态码的变化(前提是驱动中添加了这个数据点),之后不再向平台推送这个数据点的数据(不影响其他数据的推送),直到数据点的状态码变为 Good。
可以采集哪些数据类型
布尔型转为0和1,字符串类型(包含ByteString)保存为字符串,日期转化为长整型(毫秒级Unix时间戳),数值类型不做处理。
证书如何生成
驱动会自动生成证书,证书可以多次使用或导出(在与 jar 包同级的 cert 目录下)。暂不支持导入预先生成的证书。
避免多次信任证书
一般当安全策略和安全模式不是 None,则需要在 OPCUA 服务器上信任证书。而当容器删除后(比如升级驱动)证书会重新创建,则需要在 OPCUA 服务器上重新信任。可以通过持久化证书的方式解决这个问题(不要改文件名)。
 
  1. 正常运行驱动,并在 OPCUA 服务器上信任证书
  2. 信任后驱动可以正常上数
  3. 登上服务器,将容器中的 cert 目录拷贝到本地
  4. 假设拷贝到 /home/app/ua 目录下,opcua 容器的驱动名是 opcua
  5. mkdir -p /home/app/uacert
  6. docker cp opcua:/app/cert /home/app/ua
  7. 此时 /home/app/ua 下会有一个 cert 目录,里面有一个证书(没有说明没上数)
  8. 在运维平台中将证书挂载
  9. 找到服务,点击修改,增加数据卷
  10. 容器:/app/cert,主机:/home/app/ua/cert,模式:bind
  11. 保存后会重启驱动
  12. 也可以直接修改 docker-compose文件
 
在 windows 平台中,证书在驱动对应目录的 cert 子目录中,直接保存文件即可。以后更新版本后,在驱动运行前将保存的文件拷贝到 cert 子目录中。
不上数了,怎么排查
很多原因都能导致不上数,建议按照如下顺序进行排查:
  • OPCUA 驱动服务是否在运行
  • 平台后台首页左侧导航栏中找到系统操作,在驱动中是否有 OPCUA 驱动
  • 驱动配置和数据点配置是否无误
  • OPCUA 服务器是否正常工作
  • 用 UaExpert 能否连接到服务器
  • OPCUA 的端口是否被占用
  • 运行平台的服务器能否 ping 通 OPCUA 服务器
  • 驱动容器能否 ping 通 OPCUA 服务器
配置文件
配置文件尽量不要让客户自行修改。修改后必须重启容器或者进程才能生效。
驱动是多个 OPCUA 客户端的集合。驱动的配置文件作用于驱动连接的所有服务器,不限制于某个模型或资产。
batchSize 的最大值,publishInterval 和 samplingInterval 的最小值由 OPCUA 服务器决定,需要通过 OPCUA 服务器的管理软件查看。
  • client.readMode: 读取数据的模式,分为 subscribe(订阅)和 direct(直接读取)两种。默认 subscribe,尽量不要使用 direct 模式。
  • client.batchSize: 每个订阅包含的最大 NodeID 数量。整数,默认100。仅在订阅模式有效。
  • client.publishInterval: 客户端希望服务器执行订阅的周期(秒),实际上的周期由服务器决定。小数,默认0.5,即周期为0.5*1000=500ms。仅在订阅模式有效。
  • client.samplingInterval: 服务器对 MonitoredItems 的采样周期(秒)。小数,默认1.0,即周期为1.0*1000=1000ms。仅在订阅模式有效。
  • client.maxPendingPublishRequests: 客户端 publishRequests 队列的长度,如果订阅模式时服务器总报Bad_TooManyPublishRequests,则要将这个值降低。整数,默认10。如果配置文件中的这个值<0,则实际的maxPendingPublishRequests=所有连接这台服务器的资产的数据点的不重复的NodeId数量/batchSize + 1,比如一个客户端需要订阅590个不同的Node,batchSize为100,则maxPendingPublishRequests=590/100 + 1=5+1=6.
  • client.autoReconnect: 驱动运行一段时间后自动断开所有 opcua 客户端并重连(不断开驱动与平台的连接)。格式为XhYmZs,即X小时加Y分钟加Z秒(例:24h=24小时,1h30m=90分钟)。从配置文件中解析出来的时间不超过10分钟时不启用此功能。
  • client.replaceURL:是否替换 endPointURL ,默认为false。客户端连接 OPCUA 服务器时,会先根据配置的 endpointURL 获取对应设备上的所有 OPCUA 服务器的信息(其中包含另一个 endpointURL ),然后再通过条件筛选出一台 OPCUA 服务器,最后使用服务器返回的信息配置客户端并连通。当平台上配置的 endpointURL 是代理的地址时,返回的服务器信息中的URL可能仍会是内网地址。将这个选项设置为true时,会在检测到两个 enpointURL 不一致时将最终客户端配置的URL替换为平台配置的URL。

AIRIOT物联网低代码平台如何配置OPC UA驱动?的更多相关文章

  1. iNeuOS工业互联平台,增加OPC UA驱动,同步和订阅方式读取数据

    目       录 1.      概述... 1 2.      平台演示... 2 3.      OPC UA应用效果... 2 1.   概述 最近的项目,用户需要使用OPC UA读取数据,通 ...

  2. 低代码平台--基于surging开发微服务编排流程引擎构思

    前言 微服务对于各位并不陌生,在互联网浪潮下不是在学习微服务的路上,就是在使用改造的路上,每个人对于微服务都有自己理解,有用k8s 就说自己是微服务,有用一些第三方框架spring cloud, du ...

  3. 基于低代码平台(Low Code Platform)开发中小企业信息化项目

    前言:中小企业信息化需求强烈,对于开发中小企业信息化项目的软件工作和程序员来说,如何根据中小企业的特点,快速理解其信息化项目的需求并及时交付项目,是一个值得关注和研讨的话题. 最近几年来,随着全球经济 ...

  4. 2021年哪个低代码平台更值得关注?T媒体盘点国内主流低代码厂商

    2020年圣诞前夜,国内知名创投科技媒体T媒体旗下的T研究发布了2020中国低代码平台指数测评报告.报告除了对国内低代码行业现状进行总结外,还对主流低代码厂商的市场渗透和曝光进行测评. 报告认为,低代 ...

  5. 分析师机构发布中国低代码平台现状分析报告,华为云AppCube为数字化转型加码

    摘要:Forrester指出,中国企业数字化转型过程中,有58%的决策者正在采用低代码工具进行软件构建,另有16%的决策者计划采用低代码. 华为消息,知名研究与分析机构Forrester Resear ...

  6. 使用WtmPlus低代码平台提高生产力

    低代码平台的概念很火爆,产品也是鱼龙混杂. 对于开发人员来说,在使用绝大部分低代码平台的时候都会遇到一个致命的问题:我在上面做的项目无法得到源码,完全黑盒.一旦我的需求平台满足不了,那就是无解.   ...

  7. OpenDataV低代码平台增加自定义属性编辑

    上一篇我们讲到了怎么在OpenDataV中添加自己的组件,为了让大家更快的上手我们的平台,这一次针对自定义属性编辑,我们再来加一篇说明.我们先来看一下OpenDataV中的属性编辑功能. 当我们拖动一 ...

  8. vivo 低代码平台【后羿】的探索与实践

    作者:vivo 互联网前端团队- Wang Ning 本文根据王宁老师在"2022 vivo开发者大会"现场演讲内容整理而成.公众号回复[2022 VDC]获取互联网技术分会场议题 ...

  9. vivo 游戏中心低代码平台的提效秘诀

    作者:vivo 互联网服务器团队- Chen Wenyang 本文根据陈文洋老师在"2022 vivo开发者大会"现场演讲内容整理而成.公众号回复[2022 VDC]获取互联网技术 ...

  10. 干货!可以使用低代码平台代替Excel吗?

    低代码开发平台可以代替Excel?不用惊讶,答案是肯定的,而且,低代码开发平台可以完全代替Excel.例如Zoho Creator低代码平台,可以围绕数据存储.管理和创建工作流程.期间不需要IT人员介 ...

随机推荐

  1. 使用OHOS SDK构建flac

    参照OHOS IDE和SDK的安装方法配置好开发环境. 从github下载源码. 执行如下命令: git clone --depth=1 https://github.com/xiph/flac 进入 ...

  2. 攻防世界 Mine- IDA静调或x64dbg动调 两种方式

    刷攻防世界的最后一道二星题,记录一下,大佬请飘过 题目 分析过程 我很勇,我先双击看看这是什么 是一个扫雷游戏,第一下运气好没踩雷,发现无法继续输入了:如果运气不好,会输出"您踩雷啦!&qu ...

  3. HarmonyOS远端状态订阅开发实例

     IPC/RPC提供对远端Stub对象状态的订阅机制, 在远端Stub对象消亡时,可触发消亡通知告诉本地Proxy对象.这种状态通知订阅需要调用特定接口完成,当不再需要订阅时也需要调用特定接口取消.使 ...

  4. 【译】宣布在 Visual Studio 17.10 预览2中为 ARM64 架构提供 SSDT

    我们很高兴地宣布在 ARM64 中为 Visual Studio 推出 SQL Server Data Tools(SSDT).这个增强是在令人兴奋的17.10预览版2中发布的.arm64 上 Vis ...

  5. Excel 特殊分组汇总示例

    期望结果: 按照成绩划分区间段来分组时,定义好值的划分区间后,只需用 pseg 函数便可以将分数分好段,然后统计出各段人次即可. SPL 代码如下:   A B 1 =clipboard().impo ...

  6. linux 性能自我学习 ———— cpu 快速定位问题 [六]

    前言 主要介绍一下cpu如何快速定位问题. 正文 cpu 的一些性能指标: 1. cpu 使用率 cpu 使用率描述了非空闲时间占总cpu时间的百分比,根据cpu上运行任务的不同,又被分为用户cpu. ...

  7. mysql 必知必会整理—触发器[十五]

    前言 现在很多都是程序用于触发的,而不是触发器了. 正文 需要MySQL 5 对触发器的支持是在MySQL 5中增加的.因此,本章内容适用于MySQL 5或之后的版本. MySQL语句在需要时被执行, ...

  8. docker 应用篇————docker原理[三]

    前文 前面就已经介绍了docker的安装,在https://www.cnblogs.com/aoximin/p/12906218.html,这里面,这里作为重新整理. 那么这里就不介绍了,这里直接是进 ...

  9. 一个.NET开源的功能丰富、灵活易用的 Windows 窗口增强神器

    前言 通常情况下 Windows 中的软件窗口界面一般只包含还原.移动.大小.最大化.最小化.关闭等几个基本的操作: 今天大姚给大家推荐一个.NET开源.免费(MIT License).功能丰富.灵活 ...

  10. 搞定了 6 种分布式ID,分库分表哪个适合做主键?

    大家好,我是小富- 本文是<ShardingSphere5.x分库分表原理与实战>系列的第七篇,目前系列的前几篇制作成了PDF,需要的可以在文末获取下载方式,持续更新中.今天咱们继续一起来 ...