Vtrin OPCUA AutoConfig for 800xA Object Model & Data

Vtrin OPC UA Client can automatically import variables from OPC UA servers and generate the corresponding equipment model in ABB Ability™ History. This document provides a step-by-step procedure for configuring the Vtrin OPC UA Client's autoconfig feature to automatically import variables from the 800xA OPC UA Server, generate the corresponding equipment model in ABB Ability™ History, and collect process data on ABB Ability™ History deployed on Edgenius OS.

Prerequisite

UaServer Host Entry to Pod

Host entry of the 800xaServer needs to be updated to the ABB Ability™ History pods running in Edgenius OS. The entries can be made using the setting option in Edge Management Portal in following format .

Important: Only append the host details and don't delete the existing entries

The entry idp.hostname is used for the Keycloak server hostname.
This is configured during deployment, which shouldn't be altered/removed at any point.
There may also be additional entries apart from keycloak entry, Only append the UaServer host entry in specified format at the end.

📘

Note: Use correct hostname of 800xaUaServer

Use exact hostname of 800xaUaServer to avoid complexity in URL and certificate transfer

In this example:

idp.<hostname> resolves the Keycloak server hostname.
(This is configured during installation, which shouldn't be altered/removed at any point) 

Avoid creating multiple entries for same ip. Instead provide the dns names for an ip as array value

Entry "800xaUaServer" is an example to add 800xaUaServer host details. 
Use exact hostname of 800xaUaServer to avoid complexity in url and certificate transfer
---------------------------------------------------------------------------------------------

{
  "10.0.0.1": [
    "idp.<hostname>",
    "<hostname>"
  ],
 "192.168.xxx.xxx": ["800xaUaServer"
  ]
}

Configuration with details of Object structure from 800xAUaServer

  1. Create a config file - Inside the History POD, create a config file with the name autoconfig.txt in the path /var/lib/rtdbdata/OpcIniFiles .

     sudo oc exec -it abb-ability-history-0 -n cpmplus -- touch /var/lib/rtdbdata/OpcIniFiles/autoconfig.txt
    1. Edit the autoconfig.txt and provide the required details of the 800xAserver Object structure from which the model needs to be created and start data subscription in the POD.

      sudo oc exec -it abb-ability-history-0 -n cpmplus -- nano /var/lib/rtdbdata/OpcIniFiles/autoconfig.txt
      #This command will open the file in editor mode.

      Paste the content below and modify it according to the user requirement

      prefix="Source1";
      enabled=true;
      equipmentsettings=
      [
              {
                      rootname="ControlEdge";
                      preservenames=true;
                      typeprefix="Eq2";
                      typedefinition="ns=2;g=18262176-06d7-11d3-b12e-080009dcf329";
                      maxdepth=5;
                      startactive=true;
                      startnodeid="ns=2;g=0aaa7bee-92a4-4437-b689-d46395f50560";
                      includestartnode=true;
                      ignoreproperties=true;
              }
      ];

      where,

      Prefix is name of root object for equipment instances
      rootname is the name of the root object for equipment instances
      typeprefix is the prefix to add to every equipment type
      typedefinition - ID taken from the object type whose instances will be created


      startnodeid is the parent Node ID taken from Control Structure to start browsing for variables to generate equipment.


      maxdepth Maximum depth to browse from startnodeid. -1 means unlimited.
      ignoreproperties if set true, will ignore properties such as Engineering Units and Range.

      There are further more options that can be configured, which are documented in Settings

  2. Add Server credentials to the Pods Vault entry using the command

     sudo oc exec -it abb-ability-history-0 -n cpmplus -- runcpm Vtrin-NetServer --username <username> --password <password> --addcredentials <800xauaservername>

    where
    <username> is the user name of the uaserver
    <password> is the password of the uaserver user
    <800xauaservername> is the name of the ua server

    📘

    If prompted enter the password

    Sometimes this command may prompt the user to enter the password twice, one for the node password (to execute sudo command) and the other for executing the command in Pod (pod's cpmplus user credential) When prompted provide corresponding password

  3. Simple Config Entries - Launch ABB Ability™ History Engineerin UI/ View interface

    Search for simpleconfig and open the item listed under dashboard

    Click on edit and all the following entries, Note that in the last row of below table you need to give the name used to create credentials in Step 3 and the Servername added as per the host file in prerequisites section

    SectionKeyValue
    VtrinOPCUAClientautoconfig:800xauaserverfile=/var/lib/rtdbdata/OpcIniFiles/autoconfig.txt
    VtrinOPCUAClientautoconfigforcerun:800xauaserverfalse
    VtrinOPCUAClientautoconfigrunsettings:800xauaserverinterval=00:30:00;enabled=true;runonmodelchange=true;runoninterval=false;
    VtrinOPCUAClientUAServer:800xauaserversecuritypolicy=Aes128Sha256RsaOaep;securitymode=signandencrypt;authentication=username;username=VTRIN/<800xauaservername>;url=opc.tcp://<800xauaserverName>:44683/ABB/800xA/OPC/UA/Server
  4. Certificate Movement: Since certificate security policy is used, we need to move the Server certificate on the client side. Below steps are for moving server certificate from the rejected folder to the trusted folder in client

    sudo oc exec -it abb-ability-history-0 -n cpmplus -- mv /home/cpmplus/.config/ABB/VtrinOPCUAClient/PKI/Rejected/certs/* /home/cpmplus/.config/ABB/VtrinOPCUAClient/PKI/Trusted/certs

    Similarly, move the client certificate on the server to its trusted location. This path may change based on the vendor, which can be referred in their corresponding documents
    Since this document focuses mainly on 800xAUaServer the certificate path will be mostly the location mentioned below (We strongly recommend verifying the same with the 800xA document)
    C:\ProgramData\ABB Control Systems\Core Functionalities\800xA Base\OpcUaServer\pki\rejected\certs and move to Trusted folder C:\ProgramData\ABB Control Systems\Core Functionalities\800xA Base\OpcUaServer\pki\trusted\certs

  5. In Simple Config, set autoconfigforcerun:800xauaserver to True to trigger the automatic creation of the Equipment model.

  6. On following the above steps the model will be created in ABB Ability™ History as per the structure and details provided in autoconfig.txt file. If it's not created, check the above steps carefully once and try to restart the VtrinOpcUaClient service.

  7. Check the VtrinOpcUaClient log file in case of any issues. Log file can be found under /var/lib/rtdbdata/Diag folder.

  8. On successful creation, the corresponding entries will be created in Equipment Model, Data Access Source and Data Access Real Time classes

    Equipment Classes

    Equipment List

    Data Access Sources

    Data Access Real Time


Did this page help you?