Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

External TagProviders enable direct interaction with variables in remote systems, bypassing the need to create specific tags in the solution. They establish connections with tag sources, which can be set up in a table or directly in the assets, enhancing the versatility of data access and exploration within the Unified Namespace.

Imagem1-2 (1).pngImage RemovedImage Added

On this page:

Table of Contents
maxLevel3
stylenone


Understanding

External TagProviders

TagProvider Connections

The External TagProviders allows allow connections with external System, systems to read our write from those system, without the need the create local Tagsor write data without creating local tags. Displays and other modules can directly access the data from remote systems, which can have its structure changing dynamicalueven if their structure changes dynamically.

Automatic & Tagless Connections!:

  • Connect to external data sources and consume their
Data Models
  • data models in the Unified Namespace.
Automatically access
  • Access all tags and data structures
by connecting to the provider
  • automatically with
a
  • simple configuration.
  • The connected provider’s
Tags and Data model will be
  • tags and data models are available for use in various
Modules
  • modules (Displays, Scripts, Reports,
and more
  • etc.).
Providers to
  • Support for various systems: Protocols, Historians, or Devices
  • .
  • Easily plot trend charts and access archived data from external Historians.


Devices vs TagProviders

Some connections can be done through Devices and TagProviders. To define which one works best for your application, you should look at how your data is structured.

Devices handle predefined, static data, ensuring control, security, and advanced metadata management, suitable for applications requiring strict validation like HMI and SCADA systems. These environments often require strict regulatory compliance, such as FDA validation in pharmaceutical production or stringent monitoring in manufacturing plants. Devices provide detailed metadata management, including retentiveness, security settings, and visibility control within the platform.

TagProviders are ideal for applications where where data and device configurations change frequently, necessitating real-time update. That type of connections allows you to manage dynamic data, enabling flexible device addition, ideal for IoT and monitoring applications needing situational awareness, such as smart city infrastructures or home automation systems. For instance, TagProviders can dynamically integrate new environmental sensors in a smart energy grid, providing continuous updates and allowing city managers to respond promptly to changing conditions.


Supported TagProviders

  • When connecting with Historians, you can easily plot Trend Charts, as well archived data on that external Historian.
  • Supported TagProviders Connections

    Integration with Historian Systems

  • Canary Labs
  • InfluxDB
  • OSIsoft PI Systems
  • GE Proficy
  • SQL Databases

    Integration with Communication Protocols

    Integration with other Applications

    Configuring the External TagProviders

    All TagProviders have common configuration items: Provider, Access Mode, Name, Description, and Test. The Provider specifies the platform the TagProvider will interface with. Access Mode determines permissions for tag interaction: Read allows data reading, Write permits data writing, and ReadWrite enables both. The Name is a user-defined identifier for the TagProvider instance, aiding in identifying the specific configuration within the software platform. The Description explains the TagProvider's purpose or the platform it interfaces with, providing context for its usage. The Test button verifies the connection settings to ensure successful communication with the specified device or data source.

    While some parameters address common needs like connection settings and data access modes, others are unique in that they cater to each system's particular functionalities and technical characteristics. Each External TagProvider has its own configuration parameters tailored to meet specific technical requirements and specifications. These unique parameters ensure that each TagProvider can interface with the platform, enabling data integration according to individual operational requirements.

    Integration with Historian Systems


    Info
    titleHistorian TagProviders

    When the TagProvider Connection is created for a Historian system, it will have two additional features:

    1. Using the Asset(<AssetPath>) on TrendCharts, it will automatically query the Historian to plot the chart. While the other TagProviders can only read and write current values.
    2. Those TagProviders can use be used on Historian Storage Locations, as a target repository to archive time-series data.



    Configuring  TagProviders

    Configuration Workflow

    • Identify the TagProvider: Based on the communication protocol

    Configuration Workflow

    To connect to external data sources to use its data definitions models, follow the steps below:

    Step 1: Identify the appropriate External TagProviders based on the communication protocol of the external data source
    • (e.g., OPC UA, Modbus
    , Custom
    • ).
    Step 2: In the software, navigate
    • Create a New Instance: Navigate to the
    External
    • TagProviders
    configuration
    • section and
    create a new instance. Provide necessary information such as the provider's name, communication settings, and any required authentication credentials.

    Step 3: Test the Connection, exploring the Data. (You can perform it directly at the Unified Namespace AssetsTree page)

    Step 4:
    • provide necessary information.
    • Test the Connection: Verify and explore the data.
    • Create a New AssetFolder
    in
    • : In the AssetTree,
    selecting that folder
    • use the toolbar command
    Insert
    • “Insert Link to TagProvider
    , selecting the initial node on the TagProvider data that will be incorporated to the AssetTree
    • .”
    • Customize the Alias: For the selected node.


    Creating a new TagProvider

    Source

    Connection

    Steps:

    1.Navigate: Go In your Engineering Environment, navigate to Unified Namespace / External TagProviders

    Click on the 'New Item' button to launch a dialog window titled 'Create New External TagProvider'. From the provided list, select a Communication Protocol and assign an appropriate name.

    After you select a Protocol, you will see a configuration table with columns that are similar to the ones in the Channels, Nodes, and Points pages. However, the columns will all be grouped on a single page. For this example, we will use MQTTspB.

    The configuration settings are detailed below:

    • Name: Name of the provider. This will be used to access elements from this namespace.
    • Provider: Communication Protocol of choice.
    • Parameters: Char separator for the communication protocol of choice.
    • Primary/Backup Station: Connection String information used to establish a communication (same as on Devices / Nodes).
    • Access: AccessType for this connection (Read/Write/ReadWrite).
    • ReadTime: Read Pooling Rate.
    • WriteTime: Write Rate.

    The Primary/Backup Station will be configured according to the communication protocol.

    For more information, please refer to the specific protocol documentation.

    Working with External TagProviders

    Access Elements in Engineering

    Once you finish your configuration and establish a successful connection, you will be able to access the variables from the Device in various places within the Engineering Environment.

    → TagProvider Connections.
    2.New Item: Click the ‘New Item’ button to open the ‘Create New TagProvider’ dialog.
    3.Select Protocol: Choose a communication protocol and assign a name.
    4.Configure: Fill out the configuration table with:

    Common Configuration Items:

    • Provider: Specifies the platform the TagProvider will interface with.
    • Access Mode: Determines permissions (Read, Write, ReadWrite).
    • Name: User-defined identifier for the TagProvider instance.
    • Description: Explains the purpose or platform it interfaces with.
    • Test button: Verifies the connection settings.

    Unique Configuration Parameters:

    Each TagProvider has specific parameters tailored to its functionalities and technical requirements, ensuring proper data integration.

    For example, using MQTTspB, the settings will be detailed similarly to Channels, Nodes, and Points.

    Image Added


    Using TagProviders as Historian Storage Location:

    Some TagProviders can be used with the Historian Module to define data storage locations. Typically, TagProviders for historian tools or MQTT can be used as Storage Locations.

    By default, the Historian archives data in an SQL Database, but this can be extended with TagProviders.

    See Historian Storage Locations for more information


    Working with TagProviders

    Browsing Values

    InUnified Namespace → Asset Tree, after linking a folder to the data from the TagProvider Connection, you can browse the tree. The right-side tables will update, showing the values of the variables in the selected folder.

    Image Added

    Reading and Writing Values from other Modules 

    After including TagProvider in the AssetTree Nodes, you can access that in using the Asset() method.

    .E.g.: If using ControlLogix, the final part of the AssetPath is the address, using same syntax used in Devices →

    Browsing the tags

    You can start by clicking on the Object Selectionbutton. In the left portion of the popup window, you should see a list of objects from every Solution Namespace. Use the name that you defined in the ExternalTags Sources configuration (2) to search for the namespace. 

    Expand the list so you can see all the variables from that Device. By selecting an element, you can see the current value read from the Device (3).

    Directly accessing tags

    You can also access your variables directly through their addresses, following the same syntax used in Devices /

    Points: <ProviderName>.("<Type>:<Address>")

    .E.g.:

    • AssetControlLogix.("/Folder1/DINT:PROGRAM:MAINPROGRAM.MYDINTMyPlcTag")
    • ControlLogix.Asset("/Area1/Line1/DINT:MyArray1DimDINT[0]")

    E.g.2:

    To read and write the asset with data received from the PLC, you can use the following code with VB.NET:

    Image Removed

    The tag address can be found under "Edit > Tag > Providers > Browse Values..."

    Image Removed

    You can also add a Remote Tag to your Display. Go to the Draw Environment, select a TextBox element (or any other component/symbol), and add it to your display. Double-click it and add a TextIO Dynamic with the same method as if you were assigning a tag. 

    In the ObjectName field, select the Browse button and search for the desired variables. By doing this, you can display the information from the Communication Protocol directly in you Display, without the need to create a Tag and Communication Point.

    The expression field will be filled with the syntax: ?ExternalTags SourcesName?.(”? Address In Provider ?”).

    Image Removed

    Since the address in the expression is a string, you can assign other Tags or Properties so that it has a Dynamic Configuration.

    Image Removed

    This feature is not limited to Displays. You can create AlarmItems, store data in Historian Tables, and use this remote variable as a Communication Point to Write Data for a different Protocol.

    Image Removed

    Using TagProviders on Assets Displays

    It is possible to have a full or partial view of the Data Model inside your Solution. On Unified Namespace / Asset Tree, you can create your own Levels and assign a part of the Device's structure to it from the Namespace discussed in the previous section.

    This method allows you to import all your model, or just a piece of it, from the selected node down. The name of the Level in the Asset Tree (in Runtime) can be edited in the Description column.

    In your Draw Environment, add the AssetControl component, open its configuration, and uncheck the Show only tags check box.

    If you have done everything correctly, your Asset View should look something like this in Runtime
    Tip

    The best way to pickup the right syntax, it is to use the Object Browser Image Added from the top Toolbar, and navigate to the element you need. 

    The proper AssetPath is shown on that window as you navigate the tree.


    You can use the Asset() syntax, not only in scripts, but on Displays, and in all fields in the software where a Tag is expected, including:

    • On Displays, mapping symbol properties and linking to dynamic properties.
    • On Alarms, creating alarm events.
    • On Historian, archiving the data.

    TagProvider Connections Columns

    TagProvider Connection Properties

    ID

    Identifies the TagProvider. 

    VersionID

    Shows the specific version number.

    Name

    Names the TagProvider connection for identification and reference.

    Protocol

    Specifies the communication protocol used for the connection.

    ProtocolOptions

    Defines additional options for the selected communication protocol.

    PrimaryStation

    Sets the main station or endpoint for the data source connection.

    BackupStation

    Specifies a backup station for redundancy in the connection.

    FailOverStation

    Configures the station to use in case of primary and backup failures.

    Interface

    Indicates the interface type used.

    Settings

    Lists the configuration settings for the connection.

    Timeout

    Sets the maximum time to wait for a response from the remote system.

    InitialState

    Defines the initial state of the connection when established.

    RemoteSettings

    Specifies settings for interacting with the remote system.

    DriverVersion

    Indicates the version of the driver.

    Separators

    Sets the separators used in the data format.

    IsHistorian

    Indicates whether the connection involves a historian system.

    Access

    Specifies the access level required to interact with the connection.

    ReadTime

    Records the time taken to read data from the remote system.

    WriteTime

    Records the time taken to write data to the remote system.

    ServerIP

    Defines the IP address of the remote server.

    Level

    Classifies the connection within a specific level or hierarchy.

    Category

    Groups the connection within a specific category for organization.

    LockState

    Indicates whether the connection settings are locked and cannot be modified.

    LockOwner

    Identifies the owner responsible for locking the connection settings.

    DateCreated

    Records the date and time when the connection was created.

    DateModified

    Records the date and time when the connection was last modified.

    Description

    Summarizes the purpose and details of the TagProvider connection.



    In this section:

    Page Tree
    root@parent
    spacesV10