Actions

OPC Classic for AlphaCom - Installation

From Zenitel Wiki

AI.png

This article describes how to install and configure the VS-OPC Classic on a Windows computer, and how to test that the server is operational.

The VS-OPC Classic is used with the ICX-AlphaCom and the AlphaCom servers.

OPC Classic with ICX-500 Server



Video: How to install the OPC Server



Video: How to test the OPC Server



Installing VS-OPC Classic

  1. Uninstall existing OPC Server: If there is an OPC Server already installed, this should be uninstalled before installing the new version.
    1. Browse to the folder where your existing OPC server is installed, and run UnRegServer.exe as administrator (Right-click on file). This will clean up the registry database.
    2. Uninstall existing OPC server from "Program and Features" (or "Apps & Features") in Windows
  2. Download the VS-OPC_Classic_for_AlphaCom_Setup_Vx.x.x.x.zip software from the download page
  3. Unzip the downloaded file
  4. Install the OPC Server software by double-clicking the unzipped file VS-OPC Classic for AlphaCom_Setup_Vx.x.x.x.x.msi. It will by default be installed in the directory C:\Program Files (x86)\Vingtor Stentofon\VS-OPC Classic for AlphaCom.
  5. The OPC server requires that Microsoft .NET Framework is installed. The installation program will check if Microsoft .NET Framework is already installed. If not, you are notified and a link to Microsofts download site is displayed. Follow this link and install .NET Framework (freeware). Then run the installation file AC_OPC-Server-Classic_Setup_Vx.x.x.x.msi again
  6. Install OPC Core Components. There are 2 versions available, for 64-bit (x64) and 32-bit computers (x86). The "OPC Core Components" are placed in the installation directory of VS-OPC Classic for AlphaCom, by default this is C:\Program Files (x86)\Vingtor Stentofon\VS-OPC Classic for AlphaCom\OPC Core Components.
  7. Install C++ Libraries. The installation packages are placed in the installation directory of VS-OPC Classic for AlphaCom, by default this is C:\Program Files (x86)\Vingtor Stentofon\VS-OPC Classic for AlphaCom\CPLus_Lib., the files are named VC_redist.x86 and VC_redist_x64.
  8. Register the OPC-server. Before the OPC-server can be activated via the DCOM it must be registered. Navigate to C:\Program Files (x86)\Vingtor Stentofon\VS-OPC Classic for AlphaCom, and run RegServer.exe as administrator (Right-click on file).
  9. Restart the PC

Configuration

Configure VS-OPC Classic

  • Start the OPC Server Configuration Tool by selecting Start -> All programs -> Vingtor Stentofon -> AlphaCom OPC Configurator.
Note icon The OPC Server Configuration Tool must be run in administrator mode.


In the Main Config tab:

  • The OPCServerConfigurator utility tool makes it possible to configure whether the OPC-Server is directly or remotely connected to the AlphaCom.
  • In case the OPC-Server connection to the ICX-AlphaCom is configured as a remote connection, the IP-address of the service provider is specified and which port that should be used. This service provider is name AlphaNetServiceProvider and is currently available in the VS-SDK for ICX-AlphaCom installation package. The AlphaNetServiceProvider is also available as a service, which can be installed via the package AlphaNetServiceProviderService_Setup. Configuration of the service is done via the AlphaNetServiceProvider GUI.
  • Server IP : Enter the IP address of the service provider server.
  • Server Port : Select the service provider port number
  • In case the OPC-Server connection to the ICX-AlphaCom is configured as a direct connection, the ICX-AlphaCom IP-address is specified and which port that should be used.
  • AlphaCom IP (must): Enter the IP address of the ICX-AlphaCom exchange
  • AlphaCom Port (must): Select one of the 2 available ports 61112 or 61113. Make certain that the port is not in use by another entity, for instance another OPC server or an on the ICX-AlphaCom SDK based software package. If a redundant OPC server mode is used, both ports must be assigned, one to each OPC server.
    • Port 61112 -> OPC Device 1 (ICX-AlphaCom Device number 199)
    • Port 61113 -> OPC Device 2 (ICX-AlphaCom Device number 196)
  • AlphaNet Node List (must): Add the ICX-AlphaCom node number with which the OPC Server is communicating (must). In case of AlphaNet, enter the node number of all ICX-AlphaCom nodes in the network.
  • Master stations (applicable for OPC DA only): If the OPC client should control an intercom station (e.g. call setup and disconnection controlled from the OPC client), the "Operator station" must be defined in the 'Master Station List'. Use the format node{nn}.station{xxxx} where nn is the AlphaNet node number and xxxx is a station directory number, i.e. node1.station1101
  • Node config (optional): If the OPC client should control RCO's or read RCI's in the AlphaCom, the relevant RCO's/RCI's must be defined:
    • Select a node from the 'AlphaNet Node List'
    • Tick Enable RCO's and select the range of RCO's that should be controlled via the OPC server.
    • Tick Enable RCI's and select the range of RCI's that should be monitored via the OPC server.
    • Tick Enable Local Groups and select the range of groups that should be controlled via the OPC server.
The OPC server will now build "OPC items" for the RCO's/RCI's/Groups selected.
OPC Server configuration.


Configure the ICX-AlphaCom

AlphaCom software requirement: AMC 10.40 or higher. For Redundant OPC Mode: AMC 10.55 or higher.

  • Filter settings: Enable TCP port 61112 in the filter settings in the web interface. If OPC Device 2 is used the port 61113 needs also to be enabled.
    The OPC Server communicates with the ICX-AlphaCom over the TCP/IP protocol using this port.
Additional notes:
  • Only physical positions were there is an ASLT board or ATLB board present will consume licenses.
  • Stations which are deleted from the Directory & Features list in AlphaPro will not consume any license.
  • IP stations take API license regardless if the station is registered or not.
  • Individual stations can be disabled from OPC registration, and thus consume no license. This setting is done in AlphaPro. Select Users & Stations > User Preferences > "Disable reporting to OPC server".
  • RCI: In AlphaPro the RCI table has to be programmed for each RCI entry to be monitored by the OPC Server. A $RCIC command has to be sent to the OPC Server(s).
    Examples:
    • Send RCI1 ON to OPC Device 1 on node 3: "@03C7 $RCIC W1 U1"
    • Send RCI2 OFF to OPC Device 1 (199) on node 3 and Device 2 (196) on node 11: "@03C7 $RCIC W2 U0;@0BC4 $RCIC W2 U0"
  • RCO: The RCO state will be automatically sent to the connected OPC Server(s).
AlphaPro RCI Configuration


Setup the DCOM for a system running on a single machine

The following section describes how to set-up the DCOM for a system where the client(s) and server are running on the same Windows-10 machine.

The steps described are taken from the document “OPC and DCOM: 5 things you need to know”, which is available on the net (https://www.sytech.com/download/opc_and_dcom.pdf).

Local Users Authenticates as Themselves

Go to Control Panel -> Administrative Tools -> Local Security Policy and select “Network access: Sharing and security model for local accounts”. Set option to “Classic – local users authenticate as themselves”.

Local Security Policy


DCOM Configuration

Right click Start and select “Run” and enter “DCOMCNFG”.

DCOMCNFG Utility


Right click on “Computer Services -> Computer -> My Computer” (it may take several seconds) and select “Properties”.

My Computer Properties - General


Check the “Default Properties”:

My Computer Properties - Default Properties


Check “COM Security”:

My Computer Properties - COM Security


To add the right permissions - follow the steps below:

-       In the “Access Permissions” pane, click the “Edit Limits..”-button. Add “Anonymous Logon” (required for OPCEnum) and “Everyone” to the list of “Groups or user names”. Check all “Allow” permissions and click the “OK”-button.

To add a group or user name enter the first letters of the name:

Select User or Groups


and push the “Check Names”-button:

Select User or Group


Select the desired name and push “OK”.

-       In the “Access Permissions” pane, click the “Edit Default..”-button. Add “Everyone” to the list of “Groups or user names”.  Check all “Allow” permissions and click the “OK”-button.

-       In the “Launch and Activation Permissions” pane, click the “Edit Default..”-button. Add “Everyone” to the list of “Groups or user names”. Check all “Allow” permissions and click the “OK”-button.

-       In the “Launch and Activation Permissions” pane, click the “Edit Limits..”-button. Add “Everyone” to the list of “Groups or user names”. Check all “Allow” permissions and click the “OK”-button.

Access Permission - Security Limits


Access Permission - Default Security


Launch and Activation Permission - Security Limits


Launch and Activation Permission - Default Security


Configure Server Specific DCOM Settings

Locate the server “VS.AlphaCom DA Server” right click and select  “Properties”.

Select VS AlphaCom DA Server


Check that the setup is as follows:

VS AlphaCom DA Server Properties - Generel


VS AlphaCom DA Server Properties - Location


VS AlphaCom DA Server Properties - Security


VS AlphaCom DA Server Properties - Endpoints


VS AlphaCom DA Server Properties - Identity


Check the test client AETestClientNet4. Right click and select “Properties”.

Select AETestClientNet4


Check that the setup is as follows:

AETestClientNet4 Properties - General


AETestClientNet4 Properties - Location


AETestClientNet4 Properties - Security


AETestClientNet4 Server Properties - Endpoints


AETestClientNet4 Server Properties - Identity


Check the test client DATestClientNet4. Same Setup as test client AETestClientNet4.

Select DATestClientNet4


Testing VS-OPC Classic

In order to test VS-OPC Classic you need an OPC test client. The OPC test client might run on the same computer as the OPC Server. VS-OPC Classic supports two types of OPC standards, OPC AE and OPC DA.

OPC AE (Alarms & Events)

OPC AE is used to receive (read) status information and event reports from the server. A free test client for OPC AE (Alarms & Events) is installed in the VS-OPC Classic installation directory.

  • Run the OPC AE test client (AETestClientNet4.exe) by double clicking it.
  • Select Browse Servers. Now Stentofon.AlphaCom.1 should appear in the server list
  • Select Connect. The OPC client will now attempt to connect to the OPC AE Server. A successful connection is indicated by 'Server state' = Running.
OPC AE Client successfully connected to VS-OPC Classic


  • Open the Event Viewer by clicking Create EventView. Activity (call setup, call requests etc.) in the ICX-AlphaCom will show up in the event viewer
  • See OPC Alarms & Events for futher details
The event viewer in the OPC AE Client


OPC DA (Data Access)

OPC DA can send (write) commands to the AlphaCom (call setup etc.), and receive status information from ICX-AlphaCom. A free test client for OPC DA is installed in the VS-OPC Classic installation directory.

  • Run the OPC DA test client (DA3TestClientNet4.exe) by double clicking it.
  • Select Network. Now a list of computers on your network is listed. Select the computer running the OPC Server.
  • Select Browse Servers. Now Stentofon.AlphaCom.1 should appear in the list.
  • Select Connect. The OPC client will now attempt to connect to the OPC DA Server. The text 'Running' in the bottom left corner of the window indicates successful connection to the OPC server
  • Select Browse Items. A list of OPC items appear in the Items table at the right hand side
  • Items with two green arrows are Read/Write (RW), items with one green arrow are Read Only (RO)
  • See OPC Data Access for further details
OPC DA Client - list of OPC items


Example 1: Read the busy/free status of station 1101

  • Select the Read tab in the OPC DA Client
  • Click on station 1101 in the OPC item list
  • Right-click the item 'Busy', and select 'Add selected item to read list'
  • Press the blue button Read
  • The value 0 is returned if station 1101 is free, and value 1 if it is busy
Example 1: Read the busy/free status of station 1101


Example 2: Read connection status of station 1101

  • Click on station 1101 in the OPC item list
  • Right-click the item 'RelatedTo', and select 'Add selected item to read list'
  • Press Read to get the directory number of the station in conversation with 1101 (if any)
Example 2: Read connection status of station 1101


Note! If you enable the Data Chg option next to the Read button, the data is automatically updated without having to press the READ button every time.

Example 3: Initiate a call from station 1101 to station 1111

  • Select the Write tab in the OPC DA Client
  • Click on station 1111 in the OPC item list
  • Right-click the item 'Connect', and select 'Add selected item to write list'
  • Click on the item node1.station1111.connect in the write list
  • A new window appear, enter the value 1 (This value must match the ID of the 'Master station' defined in the OPC server)
  • Press the blue botton Write
  • A call is made from 1101 to station 1111 (Station 1101 was predefined as 'Master station' with ID 1 in the OPC server configuration)
  • To cancel the call, change the value to '0', then press Write
Example 3: Initiate a call from station 1101 to station 1111


Additional information

  • It is possible to have multiple OPC clients open at the same time. For instance one can have both an OPC DA client and an OPC AE client open at the same time, and view in the OPC AE client the feedback of the actions made from the OPC DA client
  • VS-OPC Classic for AlphaCom is running only when an OPC client is connected to it
  • When running it is shown in the Windows Task Manager (Ctrl+Alt+Del -> Task Manager -> Processes): DANSrvAENet4.exe
  • VS-OPC Classic for AlphaCom startup, shutdown, and errors are reported to the Windows Event Log System (Control Panel -> Administrative Tools -> Event Viewer -> Application)

Remote clients

OPC DA/AE communication relies on DCOM.
Matrikon gives this warning: DCOM was developed to function in a specific environment where the following conditions applied:

  • All machines and users belonged to the same domain.
  • There were no firewalls enabled on any machines or network devices.
  • All communication media were highly reliable.
  • There were no bandwidth restrictions.

All of these were typical of a LAN setup in an average office environment; however this bears little resemblance to the process control networks of today. Multiple domains, security-oriented IT policies, geographically-dispersed data sources, and a multitude of other factors all make OPC communication based on DCOM extremely complicated to configure while maintaining security.

There are several guides available on the Internet, but even following these exactly will not guarantee that a remote client will be able to connect to the OPC server. In case of such problems it should be considered to use MatrikonOPC Tunneler. This utility will open a TCP tunnel between client and server which normally will make configuration of the communication setup much simpler. Note that MatrikonOPC Tunneler is not a free tool.

DCOM Security Update

Microsoft is currently implementing (in a number of steps) a security update of the DCOM. The DCOM is used by the OPC Classic implementation. Please see the updating plan here:

https://support.microsoft.com/en-us/topic/kb5004442-manage-changes-for-windows-dcom-server-security-feature-bypass-cve-2021-26414-f1400b52-c141-43d2-941e-37ed901c769c

This update will only have impact on systems where the OPC client and OPC server are running on separate severs (remote connecting).

Possible Fix:
1) Update the client to support the new DCOM security feature.
2) Upgrade the system to use OPC UA instead of OPC Classic (DCOM based).

Zenitel has carried out the following test:

A Windows Server 2016 with updates to September 2021 was used. This version introduces the Registry Key as an option, but it's not actually installed. The registry key is added and enabled as per the Microsoft instructions (please see referenced document above). From the local server the Zenitel supplied Advosol DA3TestClientNet4.exe file was executed. It was possible to browse the OPC server with no issues. This was expected, even with the new key as it affects remote connections only.

From a remote Windows 10 machine the Zenitel supplied Advosol DA3TestClientNet4.exe file started but was not able to access the OPC Server. The error message 0x80070005 was displayed in the client and on the server. The Event Viewer displays the error message "Please raise the activation authentication level at least to RPC_C_AUTHN_LEVEL_PKT_INTEGRITY in client application." Downloading a new OPC Test Tool that supports Packet Integrity from Exele (https://www.exele.com/software-products/free-software-and-tools/opc-test-tool-download/) it was possible to connect and browse the OPC Server.

Related articles