0

OPC UA Collector Overview (version 23)

The OPC Collector currently connects to OPC UA servers for logging UA data into the Historian.

Status Screen (Session Level)

The 'Status' screen contains information for all sessions configured within the server. The right side will have a tile for each session configured, a blue tile if the session is active or gray if inactive. The selected session is yellow.

An active session will display the number of groups within the session, the total number tags, the number of TVQs/Sec (updates per second) being logged, and any errors if applicable.

When a Path Based session is starting up, the tile will display metrics indicating how many nodes were found, tags browsed, tags processed, and the amount of time it is taking to browse the path. This can take several minutes depending on the amount of tags within the path. 

Sessions can be stopped/started by clicking the button in the top-left corner of each tile.

SESSIONS

The 'SESSIONS' window in the top-left displays status information for all configured sessions.

  • Total Sessions - the total number of sessions currently configured
  • Total Groups - the total number of groups across all sessions. Each session contains at least one group.
  • Total Tags - the total number of tags across all sessions
  • Tags Logging - the total number of tags that are actively being logged across all sessions
  • Errors - the total number of errors across all sessions

SESSION

The 'SESSION' window in the bottom-left displays information for the selected, yellow session tile on the right.

  • Name - the name of the session
  • Logging - True or False, if the session is active
  • Historian - the name of the historian server(s) to where data is being logged to
  • DataSet - the name of the DataSet within the historian where the data is being stored. All groups within a single session are stored in the same DataSet.
  • Type - the type of OPC session. Currently this interface only interacts with OPC UA servers.
  • Host - the address of the OPC UA server. This could be the machine name, domain name, or IP address.
  • Port - the port number the UA server is listening on for inbound client connections.

Status Screen (Group Level)

By double-clicking or clicking the right-arrow on a session tile, the user can navigate to the Group level Status screen. On the right side, a tile is shown for each group within the session displaying the group name, the number of tags in the group, the number of TVQs/Sec (updates per second) being logged, and any errors if applicable. Each session contains at least one group. A session may contain multiple groups if the user wishes to organize tags in a logical manner or if the user requires different sample intervals for a subset of tags.

Although a session may have multiple groups, they are ALL logged to the same DataSet. If wishing to log to a different DataSet, a new session is needed.

GROUPS

The 'GROUPS' window in the top-left displays status information for all groups within the session.

  • Total Groups - the total number of groups in the session
  • Total Tags - the total number of tags across all groups in the session
  • Errors - the total number of errors across all groups in the session

GROUP

The 'GROUP' window in the bottom-left displays status information for the selected, yellow group within the session.

  • Name - the name of the group
  • Sample Interval - the rate at which the collector is polling the UA server
  • Normalize Timestamps - True or False, if timestamps are being normalized

Status Screen (Tag Level)

By double-clicking or clicking the right-arrow on the group tile, the user can navigate to the Tag level Status screen. This screen contains all of the tags for the selected group. If active, the timestamp/value/quality columns will refresh every 5 seconds if a change has occurred.

This screen does NOT update based on the Sample Interval of the group.

The OPC Collector logs by exception. So even though you may be polling the UA server every second, it is not necessarily logging a value every second, only if a value or quality change occurs.

The table can be filtered using the 'Filter Tags' bar. Keywords can be separated by a space. The filter will use any column selected from the 'Columns in filter' list. To edit this list, click the 'MODIFY GRID' button. The 'Columns' window will fly in from the right.

The Columns window allows the user to choose which columns can be used to filter on, as well as which columns to display in the table. By default, Name, Item ID, Time, Value, Quality, Type, Deadband, and Transform are selected.


Configuration Screen

Sessions

The 'Sessions' screen displays each configured session along with its groups. Selecting a session or group from the 'SESSIONS' window will display its tags on the right side if it is a Tag Based session. If it is a Path Based session, selecting the group level will display the browse path and any filters that may be applied:

Sessions can be stopped/started from this screen by clicking the Stop/Play button next to the session name.

  • NEW SESSION - creates a new session. Users will be prompted with a new window to decide whether the session will be 'Tag Based' or 'Path Based'. A Tag Based session allows the user to browse the UA server and subscribe to individual tags to add to the session. A Path Based session allows the user to subscribe to a specific node within the UA server. Filters can then be applied to include or exclude tags underneath that node.
  • NEW GROUP - creates a new group within the selected session. Each session must have at least one group.
  • REMOVE - removes the selected session or group

SESSION SETTINGS (Tag Based)

These settings are displayed when selecting a Tag Based session from the 'SESSIONS' window above. In order to edit these settings, the session must be stopped.

  • Name - the name of the session
  • Session Type - TagBased
  • Historian - the server(s) to where the data is being logged to. This can be the machine name, DNS name, or IP address. Multiple servers can be listed here if needing to duplicate the data stream to several historians. Servers are separated by a comma.
  • DataSet - the DataSet in the historian where data will be stored. The user can choose an existing DataSet by clicking the drop-down menu or type a new DataSet name.
  • New File - forces the historian to create a new file to write to that only contains the tags from session. This is useful if wishing to obsolete tags from the current DataSet which are no longer needed.

SESSION SETTINGS (Path Based)

These settings are displayed when selecting a Path Based session from the 'SESSIONS' window above. In order to edit these settings, the session must be stopped.

  • Name - the name of the session
  • Session Type - PathBased
  • Historian - the server(s) to where the data is being logged to. This can be the machine name, DNS name, or IP address. Multiple servers can be listed here if needing to duplicate the data stream to several historians. Servers are separated by a comma.
  • DataSet Prefix - the DataSet in the historian where the data will be stored
  • Tags Per DataSet - the max number of tags that will be logged into the DataSet. The value must be >= 1000. Used in conjuction with 'DataSet Prefix', when this max is exceeded, a new DataSet will be created automatically and incremented by "1". (i.e. OPCData, OPCData2, OPCData3, ...)
  • New File - if enabled, creates a new file in the DataSet to write to that only contains the tags from the logging session
  • Sync Tags to Historian - if enabled, automatically removes tags from the Historian after a browse if they are no longer found in the OPC server or are eliminated based upon filters that may be applied. A browse can be initiated upon startup of the session or at scheduled times. See AutoBrowse below for browse options.
  • AutoBrowse - allows the session to automatically browse the configured path(s) for any new or removed tags and sync them to the session
    • OnSessionStart - initiates a browse of the configured path when the session is started
    • Scheduled - initiates a browse at a certain time of the day. This browse only occurs when the session is running. The user can select the 'Time of Day' of when the initial browse will occur and an hourly 'Interval' for subsequent browses. (Example:  If the Time of Day is set to 10:00 AM and Interval = 1 hour and it is currently 10:27 AM, the initial browse will not occur until the next day at 10:00 AM then every hour after).

OPC SERVER

  •  Host Name or URL - the server name, IP address, or URL of the OPC UA server
  • Host Port - the port number which the UA server is listening on for inbound client connections
  • Use Security - checkbox to determine if a secure connection to the UA server is needed. Checking this box will use the certificate configured on the 'Settings' screen for a secure connection as well as give the user the option of providing a username and password.
  • Username/Password - credentials used to make a secure connection to the UA server. If no credentials are provided, the collector will attempt to connect only using the configured certificate from the 'Settings' screen.

GROUP SETTINGS (Tag Based)

These settings are displayed when selecting a Tag Based group from the 'SESSIONS' window above.

  • Name - the name of the group
  • Sample Interval - the rate at which the collector is polling the UA server
  • Normalize Times - checkbox to normalize timestamps. If checked, timestamps will be normalized to the nearest half-Sample Interval (i.e. if the Sample Interval is 1 second, timestamps will be normalized to the nearest half-second).
  • Deadband Type
    • Absolute - the current value must change by more than the configured deadband value from the last value
      |last value - current value| > deadbandValue

       

    • Percent - applies only to analog items with an EURange property that defines a value range for the item. (This is configured in the OPC server.) The range is multiplied by the deadband value and then compared with the actual value change to determine if the OPC server should notify the collector of a change. DeadbandValues range from 0.0 to 100.0.
      |last value - current value| > (deadbandValue/100.0) * ((high–low) of EURange)))

GROUP SETTINGS (Path Based)

These settings are displayed when selecting a Path Based group from the 'SESSIONS' window above.

  • Name - the name of the group
  • Sample Interval - the rate at which the collector is polling the UA server

TAG SETTINGS

These settings are displayed when selecting a tag from the right side of the screen in a Tag Based session.

  • Canary Tag Name - the name that will be logged in the historian. By default, Canary uses the OPC Node ID for its name, but it can be edited if desired.
  • OPC Node ID - the address of the tag within the UA server
  • Type - the data type of the tag to be used or converted to
    • ServerDefault - passes the same data type as defined in the OPC server

    • I1 - 1-byte integer

    • UI1 - unsigned 1-byte integer

    • I2 - 2-byte integer

    • UI2 - unsigned 2-byte integer

    • I4 - 4-byte integer

    • UI4 - unsigned 4-byte integer

    • I8 - 8-byte integer

    • UI8 - unsigned 8-byte integer

    • R4 - 4-byte floating point

    • R8 - 8-byte floating point

    • BOOL - 2-byte boolean

    • STRING - string

  • Deadband - the deadband value to be used for either Absolute or Percent deadbanding
  • Transform - transforms the inbound value using the configured expression. The keywords "value" and "quality" are used as variable placeholders within the expression. Quality can be set to keywords in single quotes or numerical values: 'Good' (192), 'Bad' (0), 'NoData' (32768).

                Logical Operators: or, ||, and, &&

                Relational Operators: =, ==, !=, <>, <, <=, >, >=

                Math Operators: +, -, *, /, %

                Bitwise Operators:& (bitwise and), | (bitwise or), ^(bitwise xor), << (left                 shift), >>(right shift)

                Unary Operators: !, not, -, ~ (bitwise not)

                Primary Operators: ( )

                Values:Integers, Floating point numbers, Scientific notation, Dates and                 Times, Booleans, Strings

                Functions

Name

Description

Usage

Result

Abs

Returns the absolute value of a specified number.

Abs(-1)

1

Acos

Returns the angle whose cosine is the specified number.

Acos(1)

0

Asin

Returns the angle whose sine is the specified number.

Asin(0)

0

Atan

Returns the angle whose tangent is the specified number.

Atan(0)

0

Ceiling

Returns the smallest integer greater than or equal to the specified number.

Ceiling(1.5)

2

Cos

Returns the cosine of the specified angle.

Cos(0)

1

Exp

Returns e raised to the specified power.

Exp(0)

1

if

Returns a value based on a condition.

if(3 % 2 = 1, 'value is true', 'value is false')

'value is true'

in

Returns whether an element is in a set of values.

in(1 + 1, 1, 2, 3)

true

Floor

Returns the largest integer less than or equal to the specified number.

Floor(1.5)

1

IEEERemainder

Returns the remainder resulting from the division of a specified number by another specified number.

IEEERemainder(3, 2)

-1

Log

Returns the logarithm of a specified number.

Log(1, 10)

0

Log10

Returns the base 10 logarithm of a specified number.

Log10(1)

0

Max

Returns the larger of two specified numbers.

Max(1, 2)

2

Min

Returns the smaller of two numbers.

Min(1, 2)

1

Pow

Returns a specified number raised to the specified power.

Pow(3, 2)

9

Sign

Returns a value indicating the sign of a number.

Sign(-10)

-1

Sin

Returns the sine of the specified angle.

Sin(0)

0

Sqrt

Returns the square root of a specified number.

Sqrt(4)

2

Tan

Returns the tangent of the specified angle.

Tan(0)

0

Truncate

Calculates the integral part of a number.

Truncate(1.7)

1

  • [PropertyName] - if any property columns are added to the grid they will appear in this window where they can be edited

TAGS

The 'TAGS' window shows a grid containing the tags for the selected group or session if it is a Tag Based session. This grid can be filtered using the 'Filter Tags' bar. Keywords can be separated using a space. All columns are included when the filter is applied. Checking the 'Errors Only' will filter the grid to only display those tags which have an error.

  • NEW - adds a blank tag row to the grid. Tag information can then be added under the 'TAG SETTINGS' window on the left.
  • BROWSE - opens the 'Add tags' browse window for the configured OPC UA server

    Server nodes are presented in the left window. Tags will appear in the right window when selecting a node from the left. Use Ctrl+Click or Shift+Click to select multiple tags at a time.
    • Name Prefix - allows the user to add additional custom branches to the tagpath.
    • Prepend Browse Path - this prepends each node in the OPC server browse path to the tag itself. Nodes are separated with a period.
    • Example - displays the Canary tag name that will be logged into the DataSet
  • REMOVE - removes the selected tag(s) from the grid
  • COPY - copies any cells selected in the grid
  • PASTE - pastes copied cells starting at the currently selected cell
  • PASTE NEW - pastes copied cells in the same location of a new blank tag row
  • TAG PROPERTIES - opens the 'Tag Properties' window to add property columns to the grid. Select a property from the drop-down menu and click 'ADD', or type in a custom property name to add to the list. Once in the list, properties can then be selected and applied to appear on the grid. Properties can be removed from the list by selecting the property and clicking 'REMOVE'. Once a property column is added to the grid, it's value can be edited by selecting the tag row and inputting a value in the 'TAG SETTINGS' window.

Browse Paths

The 'Browse Paths' window displays the node(s) within the UA server that the session is subscribed to when a Path Based group from the 'SESSIONS' window is selected. A group can be subscribed to multiple nodes as indicated in the screenshot above where data is being logged from both 'Simulation Examples.Oil and Gas' and 'Simulation Examples.Drilling'.  Filters can then be applied to further include or exclude certain sub-nodes/tags from the selected path.

  • BROWSE - opens the 'Add paths' browse window for the configured OPC UA server

    Tags are shown on the right window when a node from the left is selected. The Tags window previews 100 tags from the selected node but does not return all tags as this can be time consuming for nodes that contain thousands of tags.
  • Filters - the 'Filters' bar uses Regular Expressions to match upon strings within the tagpath beneath the node selected. (*It does NOT consider the node itself). For example, the screenshot above indicates the group is logging any tags under the Simulation Examples.Oil and Gas node that contain the keyword "Barrels".

    Common RegEx rules:

    Symbol

    Description

    Example

    Result

    ^

    Starts with

    ^Tank

    Returns any tag starting with "Tank"

    $

    Ends with

    PV$

    Returns any tag ending with "PV"

  • ADD - adds the RegEx rule to the Filters list. Once added, it can be copied or deleted. Check the box to include the tags or leave unchecked to exclude them.
  • The following filter rules are applied when using multiple filters:
    1. Inclusive filters are applied first. If any inclusive filters are created, then none of the tags from the path are included by default. If no inclusive filters are created, then all of the tags from the path are included by default.
    2. Exclusive filters are applied last. If tags match any of the exclusive rules, they are excluded from being logged, even if they match an inclusive rule.

Preview

Selecting 'Start' initiates a browse operation utilizing the configured path(s). If 'Save to CSV' is enabled, the user will be prompted to provide a destination to export the tag list to a CSV file. The file contains 3 sections:

  1. Tags that are not in the existing config but are found in the UA server
  2. Tags that exist in both the config and the UA server
  3. Tags that exist in the config but no longer exist in the UA server

Each tag will have a Status indicating whether it is enabled or disabled based on any filters that are applied.

If 'Save to group' is enabled, the browse will update the current session. If the session is running, changes will be applied immediately. If the session is inactive, the changes will be applied when the session starts.

Settings

  • Startup Logging Delay - sets the amount of time to wait after the OPC Collector service starts before sessions begin logging

CERTIFICATE (Use Security)

These settings control which certificate the OPC Collector will use when the 'Use Security' checkbox is enabled from the Configuration>SESSION SETTINGS screen. Click the 'INFO...' button to see the certificate details.

  • Store Name - the file location of the client certificate within the machine's certificate store
  • Find Type - criteria by which the Collector searches for the certificate
    • FindBySubjectName
    • FindByThumbprint
    • FindByTemplateName
  • Subject Name - the value of the Subject Name or Thumbprint

Reply

null