How to use OPC foundation SDK subscription function

Viewed 60

I am using the OPC foundation SDK subscription feature.Like the following code:

    UATcpParam param = new UATcpParam();
    param.setUrl("opc.tcp://*********:48420");
    param.setAuthentication(0);
    param.setSecurityMode(MessageSecurityMode.None);

    String rsReturn = "HELLO";
    NodeId[] nodes = new NodeId[1];
    nodes[0] = new NodeId(2,"HSM_FM.TN_M_010_456NI");
    CreateSubscriptionRequest req  = new CreateSubscriptionRequest();
    req.setRequestedPublishingInterval(250D);
    SessionChannel sessionChannel= OpcTcpClientUtil.getSession(param);
    CreateSubscriptionResponse cr = sessionChannel.CreateSubscription(req);
    UnsignedInteger subid= cr.getSubscriptionId();
    rsReturn = subid.toString();

    CreateMonitoredItemsRequest retq = new CreateMonitoredItemsRequest();
    retq.setSubscriptionId(subid);
    ReadValueId readValueId = new ReadValueId(nodes[0],Attributes.Value,null,null);
    MonitoringParameters monitoringParameters = new MonitoringParameters();
    monitoringParameters.setClientHandle(subid.add(1));
    monitoringParameters.setDiscardOldest(true);
    monitoringParameters.setQueueSize(UnsignedInteger.valueOf(10));
    monitoringParameters.setSamplingInterval(250D);
    MonitoredItemCreateRequest mrs = new MonitoredItemCreateRequest(readValueId,MonitoringMode.Reporting,monitoringParameters);
    CreateMonitoredItemsResponse crp = sessionChannel.CreateMonitoredItems(null,subid,TimestampsToReturn.Both,mrs);

But I found that I couldn't add a callback function

0 Answers
Related