Skip to main content

OPC Classic™

The OIBus agent can receive the following HTTP calls. The agent runs a local HDA module through an inter-process communication. To run properly, COM/DCOM must be enabled.

HTTP API

Status

curl --location 'http://localhost:2224/api/opc/id/status'

Connection

curl --location --request PUT 'http://localhost:2224/api/opc/id/connect' \
--header 'Content-Type: application/json' \
--data '{
"host": "localhost",
"serverName": "Matrikon.OPC.Simulation"
}'

Read

curl --location --request PUT 'http://localhost:2224/api/opc/id/read' \
--header 'Content-Type: application/json' \
--data '{
"host": "localhost",
"serverName": "Matrikon.OPC.Simulation",
"startTime": "2023-11-02T15:00:00.000Z",
"endTime": "2023-11-02T16:00:00.000Z",
"aggregate": "raw",
"resampling": "none",
"items": [
{
"name": "Random",
"nodeId": "Random.Int1"
},
{
"name": "Triangle Waves",
"nodeId": "Triangle Waves.Int1"
},
{
"name": "Saw-toothed Waves",
"nodeId": "Saw-toothed Waves.Int1"
}
]
}'

Disconnection

curl --location --request DELETE 'http://localhost:2224/api/opc/id/disconnect'

COM/DCOM setup

Background

COM

COM is the standard protocol for communication between objects located on the same computer but which are part of different programs. The server is the object providing services, such as making data available. The client is an application that uses the services provided by the server.

DCOM

DCOM represents an expansion of COM functionality to allow access to objects on remote computers. This protocol allows standardized data exchange between applications from industry, administrative offices and manufacturing.

OPC

The OPC client is an application that accesses process data, messages, and archives of an OPC server. An OPC server is a program that provides standard software interface to read or write data.

DCOM connectivity

This page gives some hints on how to set up a communication with COM/DCOM to an OPCHDA server. However, in industrial context, it is often the responsibility of the IT team to correctly set the permissions, firewall and Windows configuration.

Windows settings (client)

Client machine settings

Follow these steps to enable COM/DCOM communications from the client. First, open the Component services, and access the Properties of the computer.

Component Services

Be sure to enable Distributed COM on this computer (on the Default Properties tab).

Component Properties

On the COM Security tab, edit default Launch and Activation Permissions.

COM Security

On the Launch and Activation Permissions window, allow the following permissions:

  • Local Launch
  • Remote Launch
  • Local Activation
  • Remote Activation
Access Permissions

Test communication

DCOM uses port 135 of the HDA server to exchange with the client. To test connectivity:

tnc localhost -port 135
Test DCOM communication

Authentication

An OPCHDA client program will communicate with the DA/HDA server with the IP address or hostname of the server followed by the "progId" of the server. The user must be known on the HDA server.

Important

The user must be a member of the Distributed COM Users group

Service

If the program runs through a service (such as OIBus), configure the service to run as a specific user.

Firewall configuration

Configure the firewall by adding a rule on port 135.

Windows Firewall Configuration

For cloud hosts like Lightsail, configure additional firewall rules:

Lightsail Firewall Configuration

OPCEnum tool

The OPCEnum tool allows OPCHDA clients to locate servers on remote nodes.

RPC unavailable

If the RPC server is unavailable, check your firewall and test communication again.

RPC Unavailable
Access denied

Check user credentials and group membership if access is denied.

Access denied

Server settings

Check if DCOM is enabled for the OPC Server application in the Component Service window.

Server Machine DCOM Configuration