Versions Compared

Key

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

...

The EFM ABB Totalflow module is capable of polling alarms from an ABB Totalflow device based on a specified polling rate.  With MQTT Transmission, these alarms can be published as Sparkplug records to an MQTT server.  Any client subscribed on Sparkplug RECORD messages can receive these objects.  In addition, MQTT Engine when combined with MQTT Recorder can also receive these messages and store these objects in a configured Ignition database.  The following drawing shows the general architecture used to do this.  This tutorial outlines the process of getting alarms to the central Ignition gateway.

Image Modified

Sending ABB Totalflow Alarms to a Central Ignition Gateway

...

Once there, select a Datasource as shown in the image below.  This drop-down will be populated with any database connections set up in Ignition.  Optionally, a Partition Period can be selected to segregated tables by time periods.

Image Modified

At this point, the Central Ignition Gateway with MQTT Distributor, MQTT Engine, and MQTT Recorder is fully configured and ready to receive MQTT Sparkplug messages from the Remote/Edge Ignition Gateway.  MQTT Distributor listens on TCP port 1883 by default for inbound MQTT connections.  Make sure the Operating System's Firewall, Antivirus, and Malware protection services allow inbound connections on port 1883/TCP before proceeding.

...

Start by configuring the MQTT Transmission module. Do so by opening Ignition Designer and creating a tag structure similar to what is shown below.

Image Modified

Note this structure is based on usage of the 'Default Transmitter' in MQTT Transmission.  So, the directory structure is very important.  Note the structure.

...

In the MQTT Transmission Settings configuration, click the Servers tab.  Then click 'edit' on the Chariot SCADA MQTT Server definition.  Modify the URL to match the URL of the Central Ignition Gateway.  In this example, MQTT Distributor is installed on a Central Ignition Gateway at the IP address of 192.168.1.2.  Once the URL is modified to match the configuration, there should be a '1 of 1' in the Connected column as shown below.

Image Modified

The next step is configuring the ABB Totalflow module.  This is done as described in the ABB Totalflow Configuration manual.  In going through the basic setup and configuration for Alarms configuration the following steps must be performed:

...

  • Alarm Scan Rate
    • Set to 0 to indicate that alarms are required.
  • Event Scan Rate
    • Set to -1 to disable polling for Events.
    • If the 'Record Info Scan Rate' is set to -1, the 'Event Scan Rate' can be set to 0. With this setup, the EventPoller will not run on it own nor will it poll on notifications from the RecordInfoPoller. 
  • Periodic History Scan Rate
    • Set to a positive number to launch the PeriodicHistoryPoller with specified poll rate.
  • Daily History Scan Rate
    • Set to -1 to disable polling for Daily History records.
    • If the 'Record Info Scan Rate' is set to -1, the 'Daily History Scan Rate' can be set to 0. With this setup, the DailyHistoryPoller will not run on it own nor will it poll on notifications from the RecordInfoPoller. 
  • Record Info Scan Rate
    • Set to -1 to disable the RecordInfoPoller so that there will be no notifications to Alarm, Events and History pollers on any 'RecordInfo' change such as 'Last Record Sequence number Used', etc.

Image Modified

The second way is to set Record Info scan rate and obtain alarms from Periodic History records on notifications from the 'Record Info' poller as shown below:

  • Alarm Scan Rate
    • Set to 0 to indicate that alarms are required.
  • Event Scan Rate
    • Set to -1 to disable polling for Events.
  • Periodic History Scan Rate
    • Set to 0 to poll on notification form the 'Record Info' poller.
  •  Daily History Scan Rate
    • Set to -1 to disable polling for Daily History records.
  • Record Info Scan Rate
    • Set to a positive number to launch the RecordInfoPoller with specified poll rate. With this setup, Periodic History poller will be notified on any 'RecordInfo' change such as 'Last Record Sequence number Used', etc.

Image Modified

If the 'Alarm Source' device configuration option is set to ALARM_LOG_RECORDS (Array 245), the scan rates can be set in two ways:

...

  • Alarm Scan Rate
    • Set to a positive number to launch the AlarmPoller with specified poll rate.
  • Event Scan Rate
    • Set to -1 to disable polling for Events.
    • If the 'Record Info Scan Rate' is set to -1, the 'Event Scan Rate' can be set to 0. With this setup, the EventPoller will not run on it own nor will it poll on notifications from the RecordInfoPoller. 
  • Periodic History Scan Rate
    • Set to -1 to disable polling for Periodic History records.
    • If the 'Record Info Scan Rate' is set to -1, the 'Periodic History Scan Rate' can be set to 0. With this setup, the PeriodicHistoryPoller will not run on it own nor will it poll on notifications from the RecordInfoPoller. 
  • Daily History Scan Rate
    • Set to -1 to disable polling for Daily History records.
    • If the 'Record Info Scan Rate' is set to -1, the 'Daily History Scan Rate' can be set to 0. With this setup, the DailyHistoryPoller will not run on it own nor will it poll on notifications from the RecordInfoPoller. 
  • Record Info Scan Rate
    • Set to -1 to disable the RecordInfoPoller so that there will be no notifications to Alarm, Events and History pollers on any 'RecordInfo' change such as 'Last Record Sequence number Used', etc.

Image Modified

The second way to do it is to configure scan rates as shown below:

  • Alarm Scan Rate
    • Set to 0 to poll on notification form the 'Record Info' poller.
  • Event Scan Rate 
    • Set to -1 to disable polling for Events.
  • Periodic History Scan Rate
    • Set to -1 to disable polling for Periodic History records.
  • Daily History Scan Rate
    • Set to -1 to disable polling for Daily History records.
  • Record Info Scan Rate
    • Set to a positive number to launch the RecordInfoPoller with specified poll rate. With this setup, the AlarmPoller will be notified on any 'RecordInfo' change such as 'Last Record Sequence number Used', etc.

Image Modified

At this point, the EFM ABB Totalflow driver is configured and is polling for Alarms at the rate specified in the EFM ABB Totalflow device configuration.  

MQTT Transmission is connected to the MQTT Server and as a result MQTT Engine is receiving tag change events.  In addition, because an EFM ABB Totalflow device has been created and configured with the same Sparkplug Group ID, Edge Node ID, and Device ID, history data will also be pushed to the MQTT server as Sparkplug RECORD objects.  When new history data is polled by the EFM ABB Totalflow driver, they will be published to the MQTT server, consumed by MQTT Engine, passed on to MQTT Recorder, and then inserted into the specified database.  Below is a view of some events records using a third party database viewing tool.

Image Modified

Additional Resources