AIRIOT物联网低代码平台支持驱动类型丰富,驱动包括但不限于通用驱动信息,无线驱动信息,行业驱动信息及各个厂商驱动。驱动稳定性强,经受住各个大型项目考验,持续稳定运行。 AIRIOT物联网低代码平台如何配置OPC UA驱动,操作如下: OPC UA驱动配置(配套有视频) OPCDA驱动配置操作视频: 数据采集与控制引擎--OPCUA驱动配置 驱动配置决定驱动如何连接 OPCUA 服务器,数据点配置决定驱动从 OPCUA 服务器上读取哪些数据。 如何测试
- 安装驱动,安装完成后在选择设备驱动时可以看到 opcua。没有驱动授权时也可以添加少量数据点做测试。
- 创建一个模型,设备驱动选择 opcua。创建一个属于该模型的资产。
- 参考驱动配置一节,配置模型中的驱动配置。
- 参考数据点配置一节,在模型中添加一个状态正常的数据点。
- 保存配置,点击重启驱动。
- 在模型的数据点的下拉框中选择第 2 步创建的资产,查看是否有数据。
- OPC主机URL:包含了 OPCUA 服务器的 ip 地址(也可以是域名或者计算机名)和端口。请确保驱动运行的服务器可以 ping 通 OPCUA 服务器的地址,并且 OPCUA 服务器的端口没有被占用。
- 安全模式:连接 OPCUA 服务器时的认证方式。有None,Sign ,和Sign&Encrypt三种,分别对应匿名登录,签名验证和签名与加密认证(不同厂商的翻译可能不同)。局域网环境通常允许匿名登录,不允许匿名登录时需要在驱动配置中填写用户名和密码。
- 安全策略:证书加密方式。驱动支持选择None,Basic128Rsa15 ,Basic256,和Basic256Sha256四种中的一种,OPCUA 服务器会支持若干种安全策略。当安全模式是None时安全策略也是None。
- 用户名:非匿名登录时可能需要填写。
- 密码:非匿名登录时可能需要填写。
下拉框(中文) | 下拉框(英文) | 有效的驱动安全模式 |
签名 | Sign | Sign |
签名;签名与加密 | Sign; Sign and Encrypt | Sign&Encrypt |
签名与加密 | Sign and Encrypt | Sign和Sign&Encrypt都可以 |
- 命名空间(NamespaceIndex):整数,0 是 OPCUA 服务器的配置。KEPServer 上的数据点的命名空间一般是 2。
- 数据点ID(identifier):字符串。一般不同层级之间用一个分隔符分开。
- 数据类型:实际没有影响,随便选一个就可以。
- 正常运行驱动,并在 OPCUA 服务器上信任证书
- 信任后驱动可以正常上数
- 登上服务器,将容器中的 cert 目录拷贝到本地
- 假设拷贝到 /home/app/ua 目录下,opcua 容器的驱动名是 opcua
- mkdir -p /home/app/uacert
- docker cp opcua:/app/cert /home/app/ua
- 此时 /home/app/ua 下会有一个 cert 目录,里面有一个证书(没有说明没上数)
- 在运维平台中将证书挂载
- 找到服务,点击修改,增加数据卷
- 容器:/app/cert,主机:/home/app/ua/cert,模式:bind
- 保存后会重启驱动
- 也可以直接修改 docker-compose文件
- OPCUA 驱动服务是否在运行
- 平台后台首页左侧导航栏中找到系统操作,在驱动中是否有 OPCUA 驱动
- 驱动配置和数据点配置是否无误
- OPCUA 服务器是否正常工作
- 用 UaExpert 能否连接到服务器
- OPCUA 的端口是否被占用
- 运行平台的服务器能否 ping 通 OPCUA 服务器
- 驱动容器能否 ping 通 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。