The Flow-Cal Common File Exchange (CFX) export format enables data to be exported directly from flow computers and other RTUs in the field straight into FLOWCAL application for accounting and further analysis.

When enabled, CFX and associated CFX.MD5 files will be created for each configured meter and new Alarm, Event and PeriodicHistory records will be added to the file.

Files will be stored on the Ignition instance where the driver is installed under these file paths:

For EFM Emerson ROC:

<ignition folder>/data/modules/com.cirrus-link/efmemersonroc/devices/<device id>/meters/<meter id>/

For EFM ABB Totalflow:

<ignition folder>/data/modules/com.cirrus-link/efmabbtotalflow/devices/<device id>/meters/<meter id>/


Files can be published and processed using the MQTT Transmission and MQTT Engine modules.  

Review the Managing files with MQTT Transmission and MQTT Engine to understand how to configure these modules to publish and receive files.

Configuring the Common Exchange Format

The Common Exchange Format (CFX) is configured through either the EFM Emerson ROC Device Connection or the EFM ABB Totalflow Device Connection configuration.

To view all the CFX parameters below, MQTT Transmission must be installed.

MQTT Transmission is not required to create and maintain the CFX files for each meter. It is required to configure the CFX File Transfer and, if not installed, the "CFX Publish Time Expression", "CFX Cutoff Time Expression" and "CFX File Transfer" fields will not be available.

  • Enable CFX
    • Enables/disables the FLOWCAL Common File Exchange. 
    • When enabled, CFX and associated CFX.MD5 files will be created with a naming convention of meterid.cfx and meter_id.cfx.md5. New Alarm, Event and PeriodicHistory records will be added to the file.
    • Files will be stored on the Ignition instance where the driver is installed under this filepath <ignition folder>/data/modules/com.cirrus-link/efmemersonroc OR efmabbtotalflow/devices/<device id>/meters/<meter id>/ 
  • Flow Computer Brand
    • Free form text field to identify flow computer brand. Limit of 20 characters
  • Flow Computer Model
    • Free form text field to identify flow computer model. Limit of 20 characters
  • Flow Computer Software Version
    • Free form text field to identify the flow computer software version. Limit of 20 characters
  • CFX Publish Time Expression
    • This parameter is used when publishing the files with MQTT Transmission and defines the Quartz Cron expression used to schedule publishing of CFX files
    • This will trigger the CFX file to be copied to the "Publish File Path" configured for the MQTT Transmission File record selected in the "CFX File Transfer" parameter. This file can then be picked up and published automatically by MQTT Transmission and the CFX file remains in the source folder (under ~/data/modules) to be maintained. 
    • Default is "0 0 0/2 * * ?". Reference the Cron Trigger Tutorial for details on this expression and Cron Expression Generator for configuring this expression.  
    • This expression can be empty to use the CFX Cutoff Time Expression only
  • CFX Cutoff Time Expression
    • This parameter is used when publishing the files with MQTT Transmission and defines the Quartz Cron expression used to schedule publishing of CFX files
    • This will trigger the CFX file to be moved to the "Publish File Path" configured for the MQTT Transmission File record selected in the "CFX File Transfer" parameter. This file can then be picked up and published automatically by MQTT Transmission and the EFM driver notified that it needs to collect meter configuration and generate a new set of CFX files.
    • Default is "0 0 0 L * ? *". Reference the Cron Trigger Tutorial for details on this expression and Cron Expression Generator for configuring this expression.
    • This expression should never be empty to prevent the CFX file from becoming too large to publish
  • CFX File Transfer
    • This parameter is used when publishing CFX files with MQTT Transmission and provides a dropdown containing all the File definitions from MQTT Transmission. 
    • A MQTT Transmission File definition defines a location for all the control tags required to publish files including the "Publish File Path". 
    • Default is none. CFX files will be created and maintained but will not be published. New Alarm, Event and PeriodicHistory records will be added to the file until the device connection is removed.

The CFX Cutoff Time Expression should be greater than the CFX Publish Time Expression


Publishing the CFX files

By default, the configuration will not attempt to publish the created CFX files. They will be created and maintained, with new records added to the file, until the device connection is removed.

Publishing the file using MQTT Transmission requires the setup of the File record in Transmission which can be selected as the CFX File Transfer parameter.

For this configuration, you will need to enable the Enable Auto-Publish option in the MQTT Transmission File record configuration and configure the Publish Files Folder tag to specify the directory from which files will be published

 Complete the CFX configuration to publish files by:

  • Selecting the configured File record from the CFX File Transfer dropdown
  • Configuring the required CFX Publish Time Expression and CFX Cutoff Time Expression.
    • The default configuration of 0 0 0/2 * * ? for the CFX Publish Time Expression translates to copying the files every 2 hours starting at midnight every day to the MQTT Transmission publish path
    • The default configuration of 0 0 0 L * ? for the CFX Cutoff Time Expression translates to moving the files on the last day of the month to the MQTT Transmission publish path 


When the publish task is configured, the CFX and corresponding MD5 files will be copied or moved to the directory specified by the MQTT Transmission File record Publish Files Folder Tag. 

MQTT Transmission will scan the folder specified in the tag and will publish all files that appear in this directory automatically. When the file is successfully transferred both files will be removed from the file directory.

MQTT Engine will process the received file and place in the location you set as the 'Base File Directory' in your MQTT Engine namespace configuration for Sparkplug B.


Additional Resources






  • No labels