Overview

Open Platform Communications (OPC) is a series of standards and specifications for industrial telecommunication. OPC Client Source is a polling source component aimed at accessing an OPC DA server, subscribe to one or multiple items and retrieve the status update of these items.

FQCN

com.datumize.ddc.iot.opc.OPCClientSource


OPC Data Access (OPC DA) is a very well know industrial protocol for standard data capture. This source component implements a polling client that periodically queries a OPC-DA compliant server to retrieve some tags. The only input expected is the OPC-DA server access and the list of items to subscribe.

Restriction: this component must be run just by 1 thread.

Properties


Common properties that apply to all source and processor components of a pipeline.

PROPERTYIDDESCRIPTION

REQUIRED

TYPE

DEFAULT

EXAMPLES

Common
IdentifierIDComponent unique Identifier within the pipeline, read only, only useful for advanced mode.YesStringAuto

MyComponent_23423

This Identifier is automatically generated by the system and you can't change it. Might be helpful for advanced pipeline configuration.

DescriptiondescriptionA short description for the component, to be visualized inside the component representation, aimed at providing additional information to understand the pipeline at a glance.NoString

Extract customer id and loyalty number.

Short and sweet description.

TopictopicAll Source and Processor components support a topic to tag the output records. If the record does not have a tag applied, this topic will be automatically applied. The topic may be used by future components to route, group or classify records.NoString

foo

All output records will be tagged using "foo", unless they have not been tagged during the execution of the step.


PROPERTY

ID

DESCRIPTION

REQUIRED

TYPE

DEFAULT

EXAMPLES

Default

Hostname

hostname

Server hostname or address

Yes

String


myserver.com

or

192.168.52.10

Domain

domain

Windows domain

No

String


COMPANY_DOMAIN

UseruserUser nameNoString

PasswordpasswordUser passwordNoString

Program IDprog-idProgram identifier for the server entry point. See How to discover the DCOM identifier of my applicationEither prog-id or cls-id must be setString
CCOPC.UAWrapper.1
Class IDcls-idDCOM class identifier for the server entry point. See How to discover the DCOM identifier of my applicationEither prog-id or cls-id must be setString
F8582CF2-88FB-11D0-B850-00C0F0104305
NotifiernotifierNotifier to use to receive status updates from the OPC DA server.Yes

See OPC Notifiers



Advanced

Use Browse Operation

use-browse

Use the IOPCServerList interface to browse the server from its prog-id.

The browse operation is not available when specifing a cls-id instead of a prog-id

No

Boolean

false


Queue Overheadqueue-overheadValue over the batch size defined in the DDC scheduling policy, so that the queue can keep accumulating values even when being drainedNoInteger100

OPC Notifiers

OPC DA Client Source supports two types of notifiers for synchronous and asynchronous notifications.

Sync Notifier

Notifier to subscribe synchronously (polling) to a group of items.

PROPERTY

ID

DESCRIPTION

REQUIRED

TYPE

DEFAULT

EXAMPLES

Default

Item subscriptions

item-subscriptions

Subscription detail for each item we want to subscribe.

Yes

List of OPCItemSubscription.

See OPC Item Subscription.



OPC Item Subscription

PROPERTY

ID

DESCRIPTION

REQUIRED

TYPE

DEFAULT

EXAMPLES

Item

item-name

Item name to check the state

Yes

String


DatumizeGroup.DatumizeAlias_Item1
Poll timepoll-timePoll time to send new requests to get the state of this item.NoDuration1s

Async Notifier

Notifier to subscribe to a group of items and receive asynchronous notifications from the server when a value changes.

PROPERTY

ID

DESCRIPTION

REQUIRED

TYPE

DEFAULT

EXAMPLES

Default

Items

items

Items we want to subscribe

Yes

List of Strings


DatumizeGroup.DatumizeAlias_Item1, DatumizeGroup.DatumizeAlias_Item2
Local Addresslocal-addressWhen using asynchronous notifications, the client must indicate to the server which is its network address to which to send the notifications.YesNetwork Address

127.0.0.1

test.datumize.com

Advanced
Update Rateupdate-rateUpdate rate for the group of items
Duration1s
Initial Refreshinitial-refreshRefresh the state of the items after connect. If it is set to false, the states only will be returned when the server notifies changes on them.
Booleanfalse

How to discover the DCOM identifier of my application

DCOM uses two different identifiers to identify globally an application within a machine.

  • Program identifier: PROGID is a user friendly name of the program using this format: CCOPC.UAWrapper.1
  • Class identifier: DCOM CLSID of the main class of the application. The clsId is a UUID/GUID: F8582CF2-88FB-11D0-B850-00C0F0104305

Both will uniquely identify an application and are interchangeable when using OPC DA as long as the OPC client supports the browse operation defined in the IOPCServerList interface, which will resolve the CLSID from a PROGID.

CLSID

In the Windows machine where the OPC DA server is installed follow the next steps to get the CLSID of your application.

  1. Execute the application dcomcnfg (Win + R, introduce dcomcnfg in the "Open" field, then click on the "Ok" button)
  2. On the left sidebar select: Console Root → Component Services → Computers → My Computer → DCOM Config
  3. On the right panel look for your application.
  4. Right click over it and click on "Properties".
  5. The field "Application ID" is the DCOM CLSID of your application.

PROGID

In the Windows machine where the OPC DA server is installed follow the next steps to get the PROGID of your application.

  1. Follow the steps described above to get the CLSID of your application.
  2. Execute the application regedit (Win + R, introduce regedit in the "Open" field, then click on the "Ok" button)
  3. Edit → Find (or Ctrl + F), introduce the CLSID in the box and click on "Find Next"
  4. If there is any entry that matches with the CLSID it will be shown 
  5. The entry should be present inside a folder with the name CLSID, go above and search another folder with the name CurVer
  6. Inside that folder you will find an entry with the PROGID of your application.