Versions Compared

Key

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

...

If you click on the "Tag Agents" tab you will see that out-of-the-box the Azure Injector module will have one default Tag Agent defined.  For this tutorial we will not need to make any configuration changes to the Tag Agents.

Image Added

The Default Tag Agent will monitor tags that are in the "Edge Nodes" folder of the "default" Tag Provider.  In the next step we go into more detail about the tags in this folder.

Step 4: Use Ignition Designer to Examine the Initial Tag Structure

With Ignition running and the IBM Cloud Injector module loaded now we can open the Ignition Designer to create/observe the initial Tag structure.  Regardless of the OS Ignition is running on, there is a “Launch Designer” button on the Ignition Gateway Console. From here you can launch your Designer on any machine.  This is shown below.  The default credentials for the designer are the same as the Gateway Console, admin/password.  Once you have logged into the Designer enter a new project name and open the project. The project name that we used for this tutorial is simply called “Tutorial1”.

Image Added

After Designer opens, you will see the default Designer screen as shown below.

Image Added

Next, we need to create a folder structure where we will create a virtual Edge device and some tags to be published by the Azure Injector module.  When the Azure Injector module is installed in Ignition, a folder is automatically created in the Ignition tag structure with the following path:

  • All Providers/default/Edge Nodes

Image Added

Step 5: Use Ignition Designer to Create New Tags

For this tutorial, right click on the Edge Nodes folder and create a new folder called Tutorial Group. Then right click on the Tutorial Group folder and create another new folder called Tutorial Edge Node.  Finally, right click on the Tutorial Edge Node folder and create another new folder called Tutorial Device. This folder structure creates the same hierarchy that is described in the Sparkplug B specification of Group ID, Edge ID, and Device ID.

With this folder structure in place, now we can create some memory tags of various data types to publish. Right click on the Tutorial Device folder and select ’New Tag’/’Memory Tag’. In the tag editor change the Name of the tag to “Boolean001”, and change the Data Type to Boolean. Follow this same procedure for new memory tags called “Integer001” of type Integer, “Float001” of type Float, and “String001” of type String. The resulting folder structure should look as follows.

Image Added

Step 6: Use Ignition Designer to Publish Tag Data (Current Tag Values)

Now that we have a folder structure with some tags we can refresh the IBM Cloud Injector module.  Make sure that the Ignition Designer has read/write communications turned on by selecting Project/Comm Read/Write.

Image Added

To refresh the default Tag Agent with the folder structure we’ve created, open the folder "All Providers/IBM Cloud Injector/IBM Cloud Injector Control" and click on the Refresh Boolean. Note the Boolean tag will not change to true. This is really a one-shot and as a result, the tag will not change to true.

When this happens, the Tag Agent will scan the "Edge Nodes" folder and find the new Memory Tags that we have created, construct JSON payloads representing those tags with their current values and publish the payload to the Azure IoT Hub that we have configured.

Image Added

The IBM Cloud Injector Tag Agent will publish two JSON payloads to the IBM Cloud.  The format of these messages closely follows the Sparkplug B Specification's payload structure.

The first payload represents the Edge Node and will contain the following:

  • The Sparkplug elements: Namespace, Group ID, Edge Node ID.  They will be grouped under "topic".
  • A "timestamp" for when the payload was constructed.
  • A "bdSeq" sequence number to track the "session" of the Tag Agent.
  • Any Edge Node tags defined in the "Tutorial Edge Node" folder (in our example we have none).

It will look something like this in the IBM Watson IoT Platform:

Image Added

The second payload represents the Device and will contain the following:

  • The Sparkplug elements: Namespace, Group ID, Edge Node ID, Device ID.  They will be grouped under "topic".
  • A "timestamp" for when the payload was constructed.
  • Any Device tags defined in the "Tutorial Device" folder.

It will look something like this:

Image Added