• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java MonitoringParameters类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.eclipse.milo.opcua.stack.core.types.structured.MonitoringParameters的典型用法代码示例。如果您正苦于以下问题:Java MonitoringParameters类的具体用法?Java MonitoringParameters怎么用?Java MonitoringParameters使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



MonitoringParameters类属于org.eclipse.milo.opcua.stack.core.types.structured包,在下文中一共展示了MonitoringParameters类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: createItemAndWait

import org.eclipse.milo.opcua.stack.core.types.structured.MonitoringParameters; //导入依赖的package包/类
private void createItemAndWait(
    UaSubscription.NotificationListener notificationListener,
    Object notificationLock) throws InterruptedException, ExecutionException {

    // create a subscription and a monitored item
    UaSubscription subscription = client.getSubscriptionManager().createSubscription(1000.0).get();
    subscription.addNotificationListener(notificationListener);

    ReadValueId readValueId = new ReadValueId(
        Identifiers.Server_ServerStatus_State,
        AttributeId.Value.uid(), null, QualifiedName.NULL_VALUE);

    MonitoringParameters parameters = new MonitoringParameters(
        uint(1),    // client handle
        1000.0,     // sampling interval
        null,       // no (default) filter
        uint(10),   // queue size
        true);      // discard oldest

    MonitoredItemCreateRequest request = new MonitoredItemCreateRequest(
        readValueId, MonitoringMode.Reporting, parameters);

    synchronized (notificationLock) {
        subscription.createMonitoredItems(TimestampsToReturn.Both, newArrayList(request)).get();
        notificationLock.wait(5000);
    }
}
 
开发者ID:eclipse,项目名称:milo,代码行数:28,代码来源:OpcUaClientIT.java


示例2: testSubscribe

import org.eclipse.milo.opcua.stack.core.types.structured.MonitoringParameters; //导入依赖的package包/类
@Test
public void testSubscribe() throws Exception {
    logger.info("testSubscribe()");

    // create a subscription and a monitored item
    UaSubscription subscription = client.getSubscriptionManager().createSubscription(1000.0).get();

    List<MonitoredItemCreateRequest> requests = new ArrayList<>();

    for (int i = 0; i < 10; i++) {
        ReadValueId readValueId = new ReadValueId(
            Identifiers.Server_ServerStatus_State,
            AttributeId.Value.uid(), null, QualifiedName.NULL_VALUE);

        MonitoringParameters parameters = new MonitoringParameters(
            uint(i),    // client handle
            1000.0,     // sampling interval
            null,       // no (default) filter
            uint(10),   // queue size
            true);      // discard oldest

        MonitoredItemCreateRequest request = new MonitoredItemCreateRequest(
            readValueId, MonitoringMode.Reporting, parameters);

        requests.add(request);
    }

    @SuppressWarnings("unchecked")
    CompletableFuture<DataValue>[] cfs = new CompletableFuture[10];

    for (int i = 0; i < 10; i++) {
        CompletableFuture<DataValue> f = new CompletableFuture<>();
        f.thenAccept(value -> logger.info("received {}", value));
        cfs[i] = f;
    }

    BiConsumer<UaMonitoredItem, Integer> callback =
        (item, idx) -> item.setValueConsumer(cfs[idx]::complete);

    List<UaMonitoredItem> items = subscription
        .createMonitoredItems(TimestampsToReturn.Both, requests, callback).get();

    assertTrue(items.stream().allMatch(item -> item.getStatusCode().isGood()));
    assertNotNull(FutureUtils.sequence(cfs).get(5, TimeUnit.SECONDS));
}
 
开发者ID:eclipse,项目名称:milo,代码行数:46,代码来源:OpcUaClientIT.java


示例3: run

import org.eclipse.milo.opcua.stack.core.types.structured.MonitoringParameters; //导入依赖的package包/类
@Override
public void run(OpcUaClient client, CompletableFuture<OpcUaClient> future) throws Exception {
    // synchronous connect
    client.connect().get();

    // create a subscription and a monitored item
    UaSubscription subscription = client.getSubscriptionManager()
        .createSubscription(1000.0).get();

    ReadValueId readValueId = new ReadValueId(
        Identifiers.Server,
        AttributeId.EventNotifier.uid(),
        null,
        QualifiedName.NULL_VALUE
    );

    // client handle must be unique per item
    UInteger clientHandle = uint(clientHandles.getAndIncrement());

    EventFilter eventFilter = new EventFilter(
        new SimpleAttributeOperand[]{
            new SimpleAttributeOperand(
                Identifiers.BaseEventType,
                new QualifiedName[]{new QualifiedName(0, "EventId")},
                AttributeId.Value.uid(),
                null),
            new SimpleAttributeOperand(
                Identifiers.BaseEventType,
                new QualifiedName[]{new QualifiedName(0, "Severity")},
                AttributeId.Value.uid(),
                null),
            new SimpleAttributeOperand(
                Identifiers.BaseEventType,
                new QualifiedName[]{new QualifiedName(0, "Time")},
                AttributeId.Value.uid(),
                null),
            new SimpleAttributeOperand(
                Identifiers.BaseEventType,
                new QualifiedName[]{new QualifiedName(0, "Message")},
                AttributeId.Value.uid(),
                null)
        },
        new ContentFilter(null)
    );

    MonitoringParameters parameters = new MonitoringParameters(
        clientHandle,
        0.0,
        ExtensionObject.encode(eventFilter),
        uint(10),
        true
    );

    MonitoredItemCreateRequest request = new MonitoredItemCreateRequest(
        readValueId,
        MonitoringMode.Reporting,
        parameters
    );

    List<UaMonitoredItem> items = subscription
        .createMonitoredItems(TimestampsToReturn.Both, newArrayList(request)).get();

    // do something with the value updates
    UaMonitoredItem item = items.get(0);

    item.setEventConsumer((i, vs) -> {
        Arrays.stream(vs).forEach(
            v -> logger.info("{} variant received: {}",
                i.getReadValueId().getNodeId(), v.getValue())
        );

        future.complete(client);
    });
}
 
开发者ID:eclipse,项目名称:milo,代码行数:75,代码来源:ProsysEventSubscriptionExample.java



注:本文中的org.eclipse.milo.opcua.stack.core.types.structured.MonitoringParameters类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java PlayN类代码示例发布时间:2022-05-23
下一篇:
Java MediaRouteChooserDialog类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap