问题标签 [milo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opc-ua - 使用 eclipse milo 构建用于历史数据访问的 OPC UA 服务器
我是 OPC-UA 的新手,遇到了 eclipse milo 项目。项目看起来很有趣,但几乎没有开发人员的帮助。我正在尝试浏览代码以了解如何使用历史数据实现 Node。项目有其他示例可供参考,但缺少历史服务示例。我尝试修改 ExampleNameSpace.java 中提供的示例以在 UaVariableNode 上启用历史记录,但在 Prosys OPC UA 客户端中,它没有为节点启用“显示历史记录”菜单。这是我尝试过的
如果有人使用 milo 实现 historyService 可以分享示例,那将非常有帮助。
更新:对不起,我应该包括我实施的其他部分。在阅读了其他堆栈溢出帖子之后,我在命名空间中实现了 historyRead 函数,该函数将负责从数据存储中提取历史记录。我现在的麻烦是指示 OPC 客户端 Node 具有历史功能。测试是让prosys OPC客户端为节点启用“历史”菜单。我可能在这里遗漏了一些东西。
opc-ua - 使用 eclipse milo 的具有多个节点的 OPC-UA 服务器
我正在使用 eclipse milo 构建一个 OPC-UA 服务器。为订阅服务提供多个节点的不同方式有哪些?我可以为此定义一个具有基本数据类型属性的自定义数据对象吗?如何?
我想要一个服务,它提供不同数据类型(整数、双精度、布尔值等)的数据作为输出。每个值都应该被命名为不同的名称,而不是像数组输出那样对所有值都具有单一名称的单一名称。为此,有没有办法定义具有不同类型属性的自定义数据对象类?这在 OPC 中是否可以将自定义数据对象类型作为服务的输出?
eclipse - opc-ua milo项目的骆驼路线
我正在创建一个实现 OPC-UA 连接的 Camel、Spring 引导应用程序。到目前为止,我已经成功地运行了从Eclipse milo github repository获得的示例。
现在,我的任务是创建一个骆驼路由,它将连接到在另一台机器上运行的 opc-ua 服务器,从那里读取数据并存储在 jms 队列中。
到现在为止,我能够运行BrowseNodeExample和ReadNodeExample我连接到服务器模拟器(Top Server V6)的地方。在示例代码中,当连接到服务器时,服务器的端点为 -"opc.tcp://127.0.0.1:49384/SWToolbox.TOPServer.V6"
现在在骆驼路由部分的代码中,.configure()
我该在该部分中写什么.from()
。这段代码如下 -
在寻找解决方案时,我遇到了一个选项:milo-server:tcp://127.0.0.1:49384/SWToolbox.TOPServer.V6/nodeId=2&namespaceUri=http://examples.freeopcua.github.io
. 我试过了,但没有用。在这两种情况下,我都会收到以下错误:
ResolveEndpointFailedException:无法解析端点:(给定端点)由于:未找到具有方案的组件:milo-server (或 opc.tcp)
java - 将预触发值从 OPC UA 服务器发布到 OPC UA 客户端
任何人都可以帮助我解决以下 OPC UA 用例吗?:从 OPC UA 服务器读取触发测量值,其中包含在触发条件发生之前的时间段内发生的附加测量值。这个预触发周期是可配置的,比方说半秒。这允许查看在感兴趣的触发发生之前发生的事情。
我该怎么做?:一旦触发发生,就可以将结果提供给 OPC UA 客户端,然后客户端应该对同一个触发进行操作,以检索触发发生之前时期的先前历史测量值。我希望有一个更聪明的方法,让客户端可以保持无状态。并且不要求数据稍后到达,以便在将触发后值发送到客户端之前先发送前触发值。
鉴于无论如何都必须缓冲数据才能使这成为可能,这可以工作吗?:
- 我的 OPC UA 服务器中的后端测量数据提供程序可以从半秒前的值(配置的预触发周期)开始将数据值返回给客户端。即不返回当前测量值,而是从预触发值开始。
我在 Milo 服务器示例中看到,在 ExampleNameSpace 中,AttributeValueDelegate 构造用于动态节点。这似乎允许一次返回一个数据值,包括时间戳。如果我开始返回相对旧的值,我没有适当的测试工具来查看它是否有效。
另一件事是这与监控项目和采样间隔的关系。例如,如果客户端请求每秒 10 个样本的采样率,它会检查返回的监控项是否实际上在该范围内?即较晚到达的旧值会被丢弃还是被客户端拉入?
java - Eclipse Milo:如何定义复杂数据类型?
我目前正在实现一个服务器来模拟 PLC。与此 PLC 的连接是通过 OPC-UA 完成的。该接口由第三方提供,并包含多种自定义数据类型。
例子:
(Point 和 PhysicalObject 都是数据类型)
是否可以在 Milo 中定义这样的结构,包括客户端和服务器?我在示例中找不到任何相关内容。我已经查看了来源,似乎至少有基础。但是作为 OPC UA 的新手,要弄清楚它是否应该如何工作并不容易。
opc-ua - 重新连接 Milo 客户端
如果服务器再次关闭并再次启动,我希望客户端重新连接到服务器。我可以向客户端添加一个 SessionActivityListener,如果服务器重新联机,它会在 SessionInactive 和 SessionActive 上得到通知。但是,当我获得 SessionActive 并尝试重新订阅时,我收到“安全通道无效”错误消息。
14:32:28.209 [ua-netty-event-loop-11] 错误 oemoschUaTcpClientAcknowledgeHandler - [remote=/127.0.0.1:53530] 收到错误消息:ErrorMessage{error=StatusCode{name=Bad_SecureChannelIdInvalid, value=0x80220000, quality=bad }, reason=Bad_SecureChannelIdInvalid (code=0x80220000, description="指定的安全通道不再有效。")}
所以我目前正在做的是,断开客户端并创建一个与旧客户端具有相同订阅的全新客户端。但我想多数民众赞成在相当hacky。所以问题是,有没有办法只更新“旧”客户端连接和订阅?
我目前正在使用 prosys 模拟服务器进行测试
问候,卢卡斯
java - 我如何使用 Milo OPCUA 客户端浏览节点,检查 Datatyp
我使用 Milo OPCUA Client 浏览节点:
我想让他检查这个变量,如果它是一个数组,然后添加到我的 referencesChilds 列表中。
我该怎么做,任何想法,ReferenceDescription 对象都没有检查数据类型的方法。
java - Milo Project Maven 运行错误
我试图在 Eclipse 中构建 milo 主项目。我按照网上各种人的建议做了一个 Maven 构建。但是每次执行 maven 构建时,我都会收到一个构建错误,说明它需要一个目标。任何人都可以让我知道构建有什么问题。
这是控制台错误:
[错误] 没有为此构建指定目标。您必须以 : 或 :[:]: 格式指定有效的生命周期阶段或目标。可用的生命周期阶段有:验证、初始化、生成源、流程源、生成资源、流程资源、编译、流程类、生成测试源、流程测试源、生成测试资源、流程-test-resources、test-compile、process-test-classes、test、prepare-package、package、pre-integration-test、integration-test、post-integration-test、verify、install、deploy、pre-clean、clean ,清理后,站点前,站点,站点后,站点部署。-> [Help 1] [ERROR] [ERROR] 要查看错误的完整堆栈跟踪,请使用 -e 开关重新运行 Maven。[错误] 使用 -X 开关重新运行 Maven 以启用完整的调试日志记录。 http://cwiki.apache.org/confluence/display/MAVEN/NoGoalSpecifiedException 捡到 _JAVA_OPTIONS: -Djava.net.preferIPv4Stack=true
这是POM文件:
java - opc ua 采样率设置为 0 是否与 OPC UA Ecplise Milo 服务器一起使用
开源 OPC UA Milo 服务器是否支持基于事件的数据源?例如,当服务器将节点(测量点)的采样率设置为 0(零)时,服务器会生成事件源生成的所有样本吗?如果是这样,在哪里寻找示例或说明如何实现?示例服务器的示例命名空间似乎添加了响应式属性委托,即它们仅在订阅机制要求时才生成值。