// ------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License (MIT). See License.txt in the repo root for license information. // ------------------------------------------------------------ [ { // example for an EnpointUrl is: opc.tcp://192.168.178.26:62541/Quickstarts/ReferenceServer "EndpointUrl": "opc.tcp://:/", // allows to access the endpoint with SecurityPolicy.None when set to 'false' (no signing and encryption applied to the OPC UA communication), default is true "UseSecurity": true, "OpcNodes": [ { // identifies the OPC node to publish in either NodeId format (contains "ns=") or ExpandedNodeId format (contains "nsu=") "Id": "i=2258", // specifies the sampling interval OPC Publisher requests the server to sample the node value "OpcSamplingInterval": 2000, // specifies the publishing interval OPC Publisher requests the server to publish the node value, it will only be published if the value has changed "OpcPublishingInterval": 5000, // specifies that there should be a heartbeat generated by OPC Publisher, this means that after the given interval the last message will be sent again with an updated SourceTimestamp value. "HeartbeatInterval": 3600, // specifies that the first event will not generate a telemetry event, this is useful when publishing a large amount of data to prevent a event flood at startup of OPC Publisher "SkipFirst": false } ] }, { // example for an EnpointUrl is: opc.tcp://192.168.178.26:62541/Quickstarts/ReferenceServer "EndpointUrl": "opc.tcp://:/", // allows to access the endpoint with SecurityPolicy.None when set to 'false' (no signing and encryption applied to the OPC UA communication), default is true "UseSecurity": true, "OpcNodes": [ { // identifies the OPC node to publish using string based addressing e.g. for Siemens S7 "TCP".PLC_1.Motor_Simulation.M1.Motor_Drehzahl "Id": "ns=2;s=Siemens S7 \"TCP\".PLC_1.Motor_Simulation.M1.Motor_Drehzahl", // specifies the sampling interval OPC Publisher requests the server to sample the node value "OpcSamplingInterval": 2000, // specifies the publishing interval OPC Publisher requests the server to publish the node value, it will only be published if the value has changed "OpcPublishingInterval": 5000, // specifies that there should be a heartbeat generated by OPC Publisher, this means that after the given interval the last message will be sent again with an updated SourceTimestamp value. "HeartbeatInterval": 3600, // specifies that the first event will not generate a telemetry event, this is useful when publishing a large amount of data to prevent a event flood at startup of OPC Publisher "SkipFirst": false } ] }, // // For completeness you will find the documentation of legacy formats below. // { // example for an EnpointUrl is: opc.tcp://win10iot:51210/UA/SampleServer "EndpointUrl": "opc.tcp://:/", // Allows to access the endpoint with SecurityPolicy.None when set to 'false' (no signing and encryption applied to the OPC UA communication), default is true "UseSecurity": true, "OpcNodes": [ // Publisher will request the server at EndpointUrl to sample the node with the OPC sampling interval specified on command line (or the default value: OPC publishing interval) // and the subscription will publish the node value with the OPC publishing interval specified on command line (or the default value: server revised publishing interval). { // The identifier specifies the NamespaceUri and the node identifier in XML notation as specified in Part 6 of the OPC UA specification in the XML Mapping section. "ExpandedNodeId": "nsu=http://opcfoundation.org/UA/;i=2258" }, // Publisher will request the server at EndpointUrl to sample the node with the OPC sampling interval specified on command line (or the default value: OPC publishing interval) // and the subscription will publish the node value with an OPC publishing interval of 4 seconds. // Publisher will use for each dinstinct publishing interval (of nodes on the same EndpointUrl) a separate subscription. All nodes without a publishing interval setting, // will be on the same subscription and the OPC UA stack will publish with the lowest sampling interval of a node. { "ExpandedNodeId": "nsu=http://opcfoundation.org/UA/;i=2258", "OpcPublishingInterval": 4000 }, // Publisher will request the server at EndpointUrl to sample the node with the given sampling interval of 1 second // and the subscription will publish the node value with the OPC publishing interval specified on command line (or the default value: server revised interval). // If the OPC publishing interval is set to a lower value, Publisher will adjust the OPC publishing interval of the subscription to the OPC sampling interval value. { "ExpandedNodeId": "nsu=http://opcfoundation.org/UA/;i=2258", // the OPC sampling interval to use for this node. "OpcSamplingInterval": 1000 } ] }, // the format below (NodeId format) is only supported for backward compatibility. you need to ensure that the // OPC UA server on the configured EndpointUrl has the namespaceindex you expect with your configuration. // please use the ExpandedNodeId format as in the examples above instead. { "EndpointUrl": "opc.tcp://:/", "NodeId": { "Identifier": "ns=0;i=2258" } } // please consult the OPC UA specification for details on how OPC monitored node sampling interval and OPC subscription publishing interval settings are handled by the OPC UA stack. // the publishing interval of the data to Azure IoTHub is controlled by the command line settings (or the default: publish data to IoTHub at least each 1 second). ]