Overview
The ExternalTags Sources feature (previously called TagProvider) is a tool that allows you to access Data Models definitions from external systems, using those variables and structures in any FrameworX Module directly, without having to create any local definition of Tags inside your Project.
Automatic & Tagless Connections!
- Connect to external data sources and consume their Data Models in FrameworX Unified Namespace.
- Automatically access all tags and data structures by connecting to the provider with a simple configuration
- The connected provider’s Tags and Data model will be available for use in FrameworX (screens, scripts, symbols, and more)
- Providers to various systems: Protocols, Historians or Devices
- When connecting with Historians, you can easily plot Trend Charts, as well archived data on that external Historian.
On this page:
Table of Contents | ||||
---|---|---|---|---|
|
Understanding Supported ExternalTags Sources Connections
ExternalTags Sources in FrameworkX serve as intermediaries between the software and external data sources, facilitating the exchange of data and enabling the software to access, process, and display information from various sources. By configuring and connecting to ExternalTags Sources, users can efficiently integrate and manage data from different devices, systems, or protocols within the software.
The ExternalTags Sources feature is available for the following Communication Protocols:
- AB Rockwell - ControlLogix/CompactLogix Devices.
- OPC UA
- MQTT SparkPlugB (watch the video tutorial)
Connection with Remote Systems:
- Tatsoft FrameworX applications
Integration for data browsing and archiving with Historians:
- CanaryLabs (watch the video tutorial)
- InfluxDB ExternalTags Sources and Historian Integration
- OSIsoft PI Systems
- SQL Databases
Configuring the ExternalTags Sources
Configuration Workflow
To connect to external data sources to use its data definitions models, follow the steps below:
Step 1: Identify the appropriate ExternalTags Sources based on the communication protocol of the external data source (e.g., OPC UA, Modbus, Custom).
Step 2: In the software, navigate to the ExternalTags Sources configuration section and create a new ExternalTags Sources instance. Provide necessary information such as the provider's name, communication settings, and any required authentication credentials.
Step 3: Configure the ExternalTags Sources settings to ensure proper communication with the external data source. This may include specifying the IP address, port number, or other communication parameters specific to the data source or protocol.
Step 4: Test the connection between the ExternalTags Sources and the external data source. If the connection is successful, the software will be able to access and process the data from the external source.
// (don't need) Step 5: Import the tag definitions from the external data source using the methods described in the previous document (e.g., copy-pasting from other projects or Excel, importing from CSV files, using the Import Tag Wizards, or utilizing the EngWrapper API).
// (The organization will be the same as provided from the provider you wont be able to alter it in FS)Step 6: Organize and manage the imported tags within the software using features such as Asset Modeling or custom templates.
Creating a new ExternalTags Sources
In your Engineering Environment, navigate to Unified Namespace → ExternalTags Sources.
Click on the 'New Item' button to launch a dialog window titled 'Create New ExternalTags Sources'. 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.
- DataProvider: 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.
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.
Browsing the tags
You can start by clicking on the Object Selectionbutton (1). In the left portion of the popup window, you should see a list of objects from every Project 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.:
- ControlLogix.("DINT:PROGRAM:MAINPROGRAM.MYDINT")
- ControlLogix.("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:
The tag address can be found under "Edit > Tag > Providers > Browse Values..."
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 ?”).
Since the address in the expression is a string, you can assign other Tags or Properties so that it has a Dynamic Configuration.
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.
Working with ExternalTags Sources
Using ExternalTags Sources on Assets Displays
It is possible to have a full or partial view of the Data Model inside your Project. 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.
In this section...
Page Tree | ||||
---|---|---|---|---|
|