Overview

There are four main types of data that the EFM Emerson ROC driver is capable of getting from an Emerson ROC device.  These are:

TLPs are polled at a specified interval based on a poll rate and then made available via the OPC-UA interface.  Alarms, events, and history are made available to MQTT Transmission to be published as immutable Record objects to an MQTT server.  Typically these would be received by the MQTT Engine and MQTT Recorder modules running on a central Ignition Gateway and inserted into a database for later use or to be made available to other third party systems.

For the purposes of this document there are some definitions that are explained below.

EFM EMERSON ROC → Settings

OPC-UA SERVER → Devices 


There are six basic steps to getting all of the data available from a ROC into Ignition

  1. Define/upload the global TLP definitions available for all ROC devices in this Ignition instance
  2. Define/upload the EFM Mappings for all ROC devices in this Ignition Instance
  3. Create the base device connection to the ROC
  4. Specify the subset of TLP definitions that this specific ROC uses
  5. Create TLP Template(s) which define groups of TLPs should be polled as a logical group
  6. Create TLP Poll Group(s) which specify the logical parameters associated with a given TLP Template
  7. Use Ignition Designer to pull tags into a tag provider

Global TLP Definitions

The EFM Emerson ROC driver module provides a configuration section to the Ignition Gateway.  These can be seen in the Configure section of the Ignition Gateway web UI on the left panel near the bottom.  Note this step is required before any EFM Emerson ROC device connections can be define.  Each Emerson ROC device connection will use a subset of these global TLP definitions to operate.

Once in the configuration screen there will be a link to create new global TLP definitions.  Click the link shown below to create a new one.

When creating a new global TLP definition only a name and a CSV file needs to be specified.  The name can be any unique name that describes the TLPs included in that CSV file.  They can be device specific TLPs or they can be TLPs associated with a specific user program.

The headers of the CSV file must be as follows:


Below is an example of a properly formatted global TLP CSV file:

Point Type #,Point Type Description,Point Type Abbreviation,Parameter Number,Parameter Name,Parameter Description,Parameter Abbreviation,Access,DataType,Length
1,Discrete Inputs,DIN,0,Point Tag ID,,TAG,R/W,AC,10
1,Discrete Inputs,DIN,1,Filter,,FILTER,R/W,UINT8,1
1,Discrete Inputs,DIN,2,Status,,STATUS,R/W,UINT8,1
1,Discrete Inputs,DIN,3,Mode,,MODE,R/W,BIN,1
1,Discrete Inputs,DIN,4,Alarm Code,,ALARM,R/O,BIN,1
1,Discrete Inputs,DIN,5,Accumulated Value,,ACCUM,R/W,UINT32,4
1,Discrete Inputs,DIN,6,On Counter,,ONCTR,R/W,UINT32,4
1,Discrete Inputs,DIN,7,Off Counter,,OFFCTR,R/W,UINT32,4
1,Discrete Inputs,DIN,8,0% Pulse Width,,MINCNT,R/W,INT16,2
1,Discrete Inputs,DIN,9,100% Pulse Width,,MAXCNT,R/W,INT16,2

An example global TLPs file can be found here: TLPs.csv

This can be uploaded to the Emerson ROC driver configuration and called 'Main TLPs'.  Once complete, it will look similar to what is shown below.

EFM Mappings

Configuration Mappings

The configuration mapping files are used for building up EFM Configuration Records.  They define which TLPs map to which fields (columns) in an EFM Configuration Record.  Additionally they can provide bit and/or value mappings for the TLP values. 

These mappings are CSV files with the following values:

Below is an example of a properly formatted Configuration Mapping file:

mtr_point_tag,VARCHAR,46,0,,,
mtr_description,VARCHAR,46,1,,,
mtr_serial,VARCHAR,46,0,,,
plate_dia,NUMBER,46,10,,,
plate_temp,NUMBER,46,11,,,
plate_mat,VARCHAR,46,12,,,0=Stainless;1=Monel;2=Carbon;3=304 SS;4=316 SS;5=Monel 400
k_fctr,NUMBER,46,43,,,
pipe_dia,NUMBER,46,7,,,
pipe_temp,NUMBER,46,8,,,
pipe_mat,VARCHAR,46,9,,,0=Stainless;1=Monel;2=Carbon;3=304 SS;4=316 SS;5=Monel 400
atmos_press,NUMBER,46,15,,,
alt,NUMBER,46,20,,,
lat,NUMBER,46,21,,,
base_press,NUMBER,46,13,,,
base_temp,NUMBER,46,14,,,
cntrct_hr,NUMBER,15,10,,,
calc_mthd,VARCHAR,47,72,,,AGA3-92=AGA-3 1992;AGA7-96=AGA-7
fpv_mthd,VARCHAR,47,73,,,AGA8-92 Gross 1=AGA-8 Gross 1 1992;AGA8-92 Detailed=AGA-8 Detail 1992
mtr_taps,VARCHAR,46,4,0,,0=Flange;1=Pipe
sp_tap,VARCHAR,46,4,2,,0=Downstream;1=Upstream
sp_typ,VARCHAR,46,4,3,,0=Gauge;1=Absolute
mtr_typ,VARCHAR,46,2,1,,0=Orifice;1=Turbine
live_analysis,VARCHAR,46,3,5,,0=No;1=Yes
live_btu,VARCHAR,46,4,4,,0=Yes;1=No
live_grav,VARCHAR,46,4,1,,0=Yes;1=No
lo_flo_ctoff,NUMBER,46,43,,,
specf_heat_ratio,NUMBER,46,19,,,
btu_base,VARCHAR,46,3,3:4,0:0=0;0:1=1;1:0=2;1:1=3,0:0=Dry;0:1=As Delivered;1:0=Wet;1:1=As Delivered
mass_heating_val,NUMBER,46,17,,,
specf_gravity,NUMBER,46,16,,,
viscosity,NUMBER,46,18,,,
carbon_dioxide,NUMBER,46,24,,,
nitrogen,NUMBER,46,23,,,
methane,NUMBER,46,28,,,
ethane,NUMBER,46,29,,,
propane,NUMBER,46,30,,,
isobutane,NUMBER,46,32,,,
butane,NUMBER,46,31,,,
isopentane,NUMBER,46,34,,,
pentane,NUMBER,46,33,,,
hexane,NUMBER,46,35,,,
heptane,NUMBER,46,36,,,
octane,NUMBER,46,37,,,
nonane,NUMBER,46,38,,,
decane,NUMBER,46,39,,,
oxygen,NUMBER,46,40,,,
water,NUMBER,46,26,,,
hydrogen_sulfide,NUMBER,46,25,,,
helium,NUMBER,46,27,,,
hydrogen,NUMBER,46,42,,,
carbon_monoxide,NUMBER,46,41,,,
argon,NUMBER,46,85,,,


The Configuration Mappings tab shows all uploaded Configuration Mapping files.

A new Configuration Mapping can be added by clicking on the "Create New Configuration Mapping..." link.

Periodic Mappings

periodic mapping files are used for building up EFM Periodic History Records.  They define which TLPs map to which fields (columns) in an EFM Periodic History Record, the logical type of the point type table (meter, station, or input), and an archive type of the value.

These mappings are CSV files with the following values:

Below is an example of a properly formatted Periodic Mapping file:

47,41,M,Totalize,flo,NUMBER
46,51,M,Average,dp_avg,NUMBER
47,49,M,Totalize,dp_avg,NUMBER
47,59,M,Totalize,pulses,NUMBER
5,16,I,Totalize,pulses,NUMBER
46,52,M,Average,sp_avg,NUMBER
46,53,M,Average,temp_avg,NUMBER
5,18,I,Totalize,raw_vol,NUMBER
47,4,M,Average,ext_avg,NUMBER
47,51,M,Totalize,ext_avg,NUMBER
47,16,M,Average,multiplier_val,NUMBER
47,0,M,Accumulated,flo_rate,NUMBER
47,1,M,Accumulated,enrgy_rate,NUMBER
47,12,M,Unknown,compressibility,NUMBER
47,15,M,Unknown,compressibility,NUMBER
46,17,M,Average,btu_avg,NUMBER
46,16,M,Average,specf_gravity_avg,NUMBER
46,24,M,Average,carbon_dioxide_avg,NUMBER
46,23,M,Average,nitrogen_avg,NUMBER
46,28,M,Average,methane_avg,NUMBER
46,29,M,Average,ethane_avg,NUMBER
46,30,M,Average,propane_avg,NUMBER
46,32,M,Average,isobutane_avg,NUMBER
46,31,M,Average,butane_avg,NUMBER
46,34,M,Average,isopentane_avg,NUMBER
46,33,M,Average,pentane_avg,NUMBER
46,35,M,Average,hexane_avg,NUMBER
46,36,M,Average,heptane_avg,NUMBER
46,40,M,Average,oxygen_avg,NUMBER
46,26,M,Average,water_avg,NUMBER
46,25,M,Average,hydrogen_sulfide_avg,NUMBER
46,27,M,Average,helium_avg,NUMBER
46,19,M,Unknown,specf_heat_ratio,NUMBER
46,18,M,Unknown,viscosity,NUMBER
46,37,M,Average,octane_avg,NUMBER
46,38,M,Average,nonane_avg,NUMBER
46,39,M,Average,decane_avg,NUMBER
46,42,M,Average,hydrogen_avg,NUMBER
46,41,M,Average,argon_avg,NUMBER


The Periodic Mappings tab shows all uploaded Periodic Mapping files.

A new Periodic History Mapping can be added by clicking on the "Create New Periodic Mapping..." link.


At this point device connections can be created using these global TLP definitions.

Creating a Device Connection

Configuring an Emerson ROC device connection is done as is with any other driver using the OPC-UA interface.  Begin by clicking the Configure tab at the top of the Ignition Gateway web UI and scrolling down to the OPC-UA Server's Devices section and clicking it as shown below.

Once done you will see the following.  Click the 'Create new Device...' link to create the Emerson ROC device connection.

After clicking the 'Create new Device...' link you will see the following.  Select the 'EFM Emerson ROC' and click 'Next' at the bottom of the page.

When creating a new device you will see the following.

The following describes the parameters that can be set here.

General

Connectivity

Security

Date/Time

Records

Sparkplug

Advanced


Once the device is created, you should see it is listed in the devices section with a status of 'Not Configured' as shown below.  The next sections will show the rest of the configuration that will complete the setup.

Specifying TLP Definitions for a Device

With the device now established the specific global TLP templates that are appropriate for this device must be associated with it.  Do so by clicking the 'More' drop-down button and selecting 'TLP Definitions' as shown below.

You should now see an empty list of TLP definitions (unless you used the "Add All TLP Definitions" setting).  Click the 'Add Row' link that is shown below.  This will show a new TLP definition with a select box to allow you to select which global TLP definition you want to associate with this device.  Add as many as are appropriate for your device as shown below.

When complete, save the list and you will be taken back to the Devices list.

Creating TLP Templates for a Device


With the TLP definitions now defined for this device we can create some TLP templates to allow creation of TLP poll groups.  You should also note at this point that the Status shows 'Connected' for the device.  To create a TLP template, click on the 'More' drop-down menu and select 'TLP Templates' as shown below.

To add a TLP template, click the 'Add Row' link shown below.

At this point you can give the new TLP template a name that makes sense. Then click the 'Edit TLP Template Contents' link next to the name field shown below.

At this point you can begin adding new TLPs by clicking the 'Add Row' link shown below.

The TLPs available to be added are based on the TLP definitions that have been made available to this specific device.  Add TLPs that make sense to be grouped together in a logical group.  When complete you should see something similar to what is shown below.  Click the 'Save' button.

Note there are six fields available for each row of which only three can be modified.  These are:

Add as many templates as you'd like, then click the 'Save' button at the bottom of the page shown below.

Creating TLP Poll Groups for a Device

With TLP templates already defined you can now create TLP poll groups which will poll a group of TLPs via a TLP template at a specific logical number at a specified rate.  Do so by selecting 'TLP Poll Groups' via the 'More' drop-down as shown below.

To add a TLP poll group, click the 'Add Row' link shown below.

Now you can give the new TLP poll group a name that makes sense. Then click the 'Edit TLP Poll Group Contents' link next to the name field shown below.

At this point you can create a poll group using one or more TLP templates as shown below.  The parameters that must be set here are:

When complete, click the 'Save' button to save the TLP poll group.

Create as many TLP poll groups as you'd like.  Once complete, click the 'Save' button at the bottom of the page below.

Viewing Device TLP Data

At this point the ROC device should be fully configured.  To view data in Ignition launch Ignition Designer and open the OPC Tag Browser as shown below.  You should see the tags being polled from the ROC device as shown below.  You can use these tags as any standard OPC tags in Ignition.

Viewing Alarm, Event, and History data

To view record data which includes ROC alarms, events, and history data you must have MQTT Transmission installed on the instance with the EFM Emerson ROC driver.  In addition, the following must be set up.

When all of these conditions are met, alarm, event, and/or history data will be collected, published, and stored via MQTT Recorder in the configured database.

Additional Resources