问题标签 [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.

0 投票
1 回答
61 浏览

milo - 我们如何在 milo 中暂时禁用对变量节点的监控?

我正在使用 digitalpetri opcua 客户端 sdk(现在是 milo)。

我想暂时禁用我在 OPCUA 客户端中订阅的一些受监控项目。我怎样才能做到这一点?似乎有一种方法可以将MonitoringMode设置为禁用。这是正确的方法吗?

我不想断开我的客户的连接,我想在未来某个时间续订受监控项目的订阅。

0 投票
2 回答
3586 浏览

apache-nifi - OPC UA Java 库

我是 OPC UA 标准的新手,作为一名 Java 开发人员正在尝试为该标准搜索一个好的 Java 库。

我浏览了https://github.com/OPCFoundation/UA-Java和 Eclipse Milo(或 digitalpetri)。

Eclipse Milo 与 UA-Java 相比如何?我应该选择哪一个?

我的用例是开发一个 NIFI(nifi.apache.org) 自定义处理器,它可以从 Kepware 等 OPC UA 服务器读取数据,并将该数据导入我们的大数据存储,然后在其上构建分析。我想在处理器中实现订阅和历史数据访问等 OPC 功能。

0 投票
1 回答
1189 浏览

java - Java Milo OPC-UA add node

I'm using Milo and its example server and client. I'm adding nodes to the server but I can't figure out how to add EuInformation, i.e., unit and description. I thought about using the ExtensionObject but since EuInformation does not implement Serializable I don't know how to pass it to the ExtensionObject. I'd also like to know how I can get the namespace ID and URI on client side. So far I just set them statically as I have access to the classes.

I've implemeted the AddNodes on server side. I can add nodes, read nodes and write to nodes. Here's what I'm doing on client side:

EDIT

With the help of Kevin Herron's answer I worked something out: I adjusted the write() in my namespace class. I can now modify the display name and description of the node with the values of the EUInformation. Here's my write() method:

0 投票
1 回答
226 浏览

java - 浏览节点不起作用

亲爱的 Stackoverflowers,

我正在尝试通过 OPC UA 浏览节点的属性。OPC UA Milo(标准的免费实现)有一个示例服务器,我在 Eclipse 上运行它,它运行良好。我的客户端是与服务器连接的 UaExpert,我尝试从中浏览节点。但是当我尝试浏览节点时出现异常。我不知道为什么。

有谁知道问题可能是什么?

细节:

使用= 无的安全策略。

用户= 匿名。

UaExpert 异常

谢谢。

0 投票
1 回答
1838 浏览

eclipse - Milo:连接到(公共)OPC-UA-Server

首先:我是 OPCUA 的新手。:)

我正在尝试将 Milo 客户端连接到我们的服务器,但并不真正了解出了什么问题。示例客户端和服务器可以很好地协同工作,但是当我尝试将客户端示例与公共 OPC-UA-Test-Server 之一连接时,我得到了这些异常:

15:48:34.729 [ua-netty-event-loop-0] 调试 org.eclipse.milo.opcua.stack.client.handlers.UaTcpClientAcknowledgeHandler - 在通道 = [id: 0xc22800c2, L:/10.22.19.217 上发送 Hello 消息:58947 - R:opcua.demo-this.com/52.233.134.134:51210]。15:48:34.729 [ua-netty-event-loop-0] WARN io.netty.channel.DefaultChannelPipeline - 触发了 exceptionCaught() 事件,它到达了管道的尾部。这通常意味着管道中的最后一个处理程序没有处理异常。java.io.IOException: 在 sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43) 的 sun.nio.ch.SocketDispatcher.read0(Native Method) 的远程主机强行关闭了现有连接。 sun.nio.ch.IOUtil.read(IOUtil.java:192) 在 sun.nio.ch.SocketChannelImpl 的 nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)。

我获取了示例代码并删除了证书/密钥对并将 URL 更改为,opc.tcp://opcua.demo-this.com:51210/UA/SampleServer因为公共服务器不需要授权:

我错过了什么?

提前问候和感谢:)

0 投票
1 回答
1110 浏览

opc-ua - UnresolvedAdressException 米洛

我试图从基本的 Milo 客户端(ReadSample)连接,但得到 UnresolvedAdressException。客户端和服务器都在远程网络中,我只能访问客户端。我很确定它不是防火墙,因为我可以与其他客户端(Prosys OPC UA 客户端)连接,并且我可以看到 ip 已解析为日志中的主机名:

服务器是 opc.tcp://192.168.115.40:49580 aka opc.tcp://Extern-Mess-Rec:49580(在 UaTcpStackClient.getEndpoints(url).get(); 中都试过)

13:24:51.530 [main] 调试 io.netty.util.internal.logging.InternalLoggerFactory - 使用 SLF4J 作为默认日志记录框架 13:24:51.546 [main] 调试 io.netty.channel.MultithreadEventLoopGroup - -Dio.netty。 eventLoopThreads:8 13:24:51.561 [main] 调试 io.netty.util.internal.PlatformDependent0 - java.nio.Buffer.address:可用 13:24:51.561 [main] 调试 io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.theUnsafe:可用 13:24:51.561 [main] 调试 io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.copyMemory:可用 13:24:51.561 [main] 调试 io.netty。 util.internal.PlatformDependent0 - java.nio.Bits.unaligned: true 13:24:51.561 [main] 调试 io.netty.util.internal.PlatformDependent - 平台:Windows 13:24:51.561 [main] 调试 io.netty。 util.internal.PlatformDependent - Java 版本:8 13:24:51。561 [main] 调试 io.netty.util.internal.PlatformDependent - -Dio.netty.noUnsafe:假 13:24:51.561 [main] 调试 io.netty.util.internal.PlatformDependent - sun.misc.Unsafe:可用 13 :24:51.561 [主]调试io.netty.util.internal.PlatformDependent--Dio.netty.noJavassist:假13:24:51.686 [主]调试io.netty.util.internal.PlatformDependent-Javassist:可用13: 24:51.686 [main] 调试 io.netty.util.internal.PlatformDependent --Dio.netty.tmpdir:C:\Users\SOFTWA~1\AppData\Local\Temp\3 (java.io.tmpdir) 13:24 :51.686 [main] 调试 io.netty.util.internal.PlatformDependent --Dio.netty.bitMode: 64 (sun.arch.data.model) 13:24:51.686 [main] 调试 io.netty.util.internal。 PlatformDependent - -Dio.netty.noPreferDirect: false 13:24:51.718 [main] DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.noKeySetOptimization:false 13:24:51.718 [main] 调试 io.netty.channel.nio.NioEventLoop --Dio.netty.selectorAutoRebuildThreshold:512 13:24:51.858 [main] 调试 io.netty.util.ResourceLeakDetector --Dio.netty。 leakDetection.level: simple 13:24:51.858 [main] DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.maxRecords: 4 13:24:52.264 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - - Dio.netty.allocator.numHeapArenas:8 13:24:52.264 [main] 调试 io.netty.buffer.PooledByteBufAllocator --Dio.netty.allocator.numDirectArenas:8 13:24:52.264 [main] 调试 io.netty.buffer .PooledByteBufAllocator - -Dio.netty.allocator.pageSize: 8192 13:24:52.264 [main] DEBUG io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.maxOrder: 11 13:24:52.264 [main] DEBUG io .netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.chunkSize:16777216 13:24:52.264 [main] 调试 io.netty.buffer.PooledByteBufAllocator --Dio.netty.allocator.tinyCacheSize:512 13:24:52.264 [main] 调试 io.netty.buffer.PooledByteBufAllocator --Dio.netty。 allocator.smallCacheSize: 256 13:24:52.264 [main] 调试 io.netty.buffer.PooledByteBufAllocator - -Dio.netty.allocator.normalCacheSize: 64 13:24:52.264 [main] 调试 io.netty.buffer.PooledByteBufAllocator - - Dio.netty.allocator.maxCachedBufferCapacity: 32768 13:24:52.264 [main] 调试 io.netty.buffer.PooledByteBufAllocator --Dio.netty.allocator.cacheTrimInterval: 8192 13:24:52.296 [main] 调试 io.netty.util .internal.ThreadLocalRandom - -Dio.netty.initialSeedUniquifier:0x35f32988e43eab85(耗时 10 毫秒)13:24:52.327 [main] DEBUG io.netty.buffer.ByteBufUtil --Dio.netty.allocator.type: unpooled 13:24:52.327 [主要] 调试 io.netty.buffer。ByteBufUtil - -Dio.netty.threadLocalDirectBufferSize: 65536 13:24:52.327 [main] 调试 io.netty.buffer.ByteBufUtil - -Dio.netty.maxThreadLocalCharBufferSize: 16384 13:24:52.358 [ua-netty-event-loop-0 ] 调试 io.netty.util.internal.JavassistTypeParameterMatcherGenerator - 生成:io.netty.util.internal。匹配器.org.eclipse.milo.opcua.stack.client.handlers.UaRequestFutureMatcher 13:24:52.389 [ua-netty-event-loop-0] 调试 io.netty.buffer.AbstractByteBuf - -Dio.netty.buffer.bytebuf。 checkAccessible: true 13:24:52.858 [ua-netty-event-loop-0] 调试 io.netty.util.Recycler--Dio.netty.recycler.maxCapacity.default: 262144 13:24:52.890 [ua-netty- event-loop-0] 调试 org.eclipse.milo.opcua.stack.client.handlers.UaTcpClientAcknowledgeHandler - 在通道 = [id: 0xa0ec7fec, L:/130.83.225.169:58872 - R:/192.168.115.40 上发送 Hello 消息: 49580]。13:24:52.905 [ua-netty-event-loop-0] 调试 org.eclipse.milo.opcua.stack.client.handlers.UaTcpClientAcknowledgeHandler - 在通道 = [id: 0xa0ec7fec, L:/130.83.225.169 上收到确认消息:58872 - R:/192.168.115.40:49580]。13:24:52.921 [ua-netty-event-loop-0] 调试 org.eclipse.milo.opcua.stack.client。handlers.UaTcpClientMessageHandler - OpenSecureChannel 超时计划为 +5 秒 13:24:52.967 [ua-netty-event-loop-0] 调试 org.eclipse.milo.opcua.stack.client.handlers.UaTcpClientMessageHandler - OpenSecureChannel 超时取消 13:24: 52.967 [ua-shared-pool-0] 调试 org.eclipse.milo.opcua.stack.client.handlers.UaTcpClientMessageHandler - 发送 OpenSecureChannelRequest(问题,id=0,currentToken=-1,previousToken=-1)。13:24:52.999 [ua-shared-pool-1] 调试 org.eclipse.milo.opcua.stack.client.handlers.UaTcpClientMessageHandler - 收到 OpenSecureChannelResponse。13:24:52.999 [ua-shared-pool-1] 调试 org.eclipse.milo.opcua.stack.client.handlers.UaTcpClientMessageHandler - SecureChannel id=1140,currentTokenId=1,previousTokenId=-1,lifetime=3600000ms,createdAt =DateTime{utcTime=131384570808248472, javaDate=Fri May 05 13:24: 40 CEST 2017} 13:24:52.999 [ua-netty-event-loop-0] 调试 org.eclipse.milo.opcua.stack.client.handlers.UaTcpClientMessageHandler - 0 条消息在握手完成之前排队;现在发送。13:24:52.999 [ForkJoinPool.commonPool-worker-1] 调试 org.eclipse.milo.opcua.stack.client.ClientChannelManager - 通道引导成功:localAddress=/130.83.225.169:58872,remoteAddress=/192.168.115.40:49580 13:24:53.061 [ForkJoinPool.commonPool-worker-1] 调试 org.eclipse.milo.opcua.stack.client.ClientChannelManager - 发送 CloseSecureChannelRequest... 13:24:53.061 [main] INFO org.eclipse.milo.examples .client.ClientExampleRunner - 使用端点:opc.tcp://Extern-Mess-Rec:49580 [None] 13:24:53.077 [ua-netty-event-loop-0] DEBUG org.eclipse.milo.opcua.stack .client.ClientChannelManager - channelInactive(),

0 投票
1 回答
365 浏览

java - XML 编码器还是二进制编码器?- Eclipse Milo(客户端-服务器)

如果我是正确的,Eclipse Milo 支持 XML 编码。我想利用这种 XML 编码并将 getEndpoint 地址从opc.tcp://server ~binary 更改为http://server ~web。

日食代码

在我继续我的任务之前,我想确定它是否真的有效。因为在控制台日志中我看到了这个结果。

控制台日志

我正在使用 opc opc.tcp地址连接到 S7-1500 PLC(服务器)。但是即使在 http 上设置了 endPoint(in Milo),仍然可以建立连接。

我的问题是这怎么可能?XML 编码现在真的很活跃吗?

提前致谢!

0 投票
1 回答
499 浏览

java - 使用 OPC UA 浏览特定标识符

亲爱的stackoverflowers,

我尝试使用 OPC UA 从服务器(PLC)浏览标识符。Milo 实现中的功能展示了它应该如何完成。现在我尝试从一个标识符浏览属性,而不是浏览整个 ObjectsFolder。

这是怎么做到的?

图 1:显示 UaExpert 客户端和我想要获取的标识符。

图 2:显示 Milo BrowseNodeExample。

提前致谢!

图1 图 2

0 投票
1 回答
442 浏览

java - 在 OPC UA 中创建新的 NodeId

亲爱的stackoverflowers,

如果我想在 Ns=3 和 S='Counters' 的 Eclipse Milo 的 Identifiers.java 文件中创建一个 NodeId,我应该拥有什么样的 init( number )?

该值的返回方法是:

这是我能解释它的最好方式,因为我自己也不确定。

提前致谢!

0 投票
1 回答
526 浏览

java - Eclipse Milo:如何读取历史数据?

我尝试将数据写入 Eclipse Milo 服务器并通过以下方式读取历史数据:

但是得到了以下信息:

Milo 是否支持此功能(我也使用本地 Milo 作为本地服务器)或者我做错了什么?