Defining, viewing, and
 controlling data mappings
                                            Overview
Data mappings can be defined, deleted, viewed, and have their state controlled.
The Data Mapping feature provides the function to:
- Read a source device variable at a defined frequency
 - If the device variable has changed since the last read, write it to a destination device variable
 - Optionally, include transformation from one data type at the source device variable to a different data type for the destination device variable.
 
Data mappings are defined on the node where the source device driver and destination device driver are installed and where the device specific communication to the physical devices will take place. Physical devices types include: PLCs, controllers, sensors, and bar code readers.
In the case of logical devices, the device is defined on the node where the memory representation of the device and its variables will take place. There is no physical device to connect to and no communication protocol to support. Logical device types include: global variable device, aliases device, and property file reader device.
Once a data mapping is defined and
                    Started, the runtime handles the reading
 of the source device variable, processing, and the writing
 of the destination device variable.
                    There is no need for a separate trigger to be defined to do
 this device variable access (for example using the
                    Set action).
The Data Mapping feature can be used to compliment, and be a part of, the M2M solution application logic that users define in triggers.
Defining data mappings
Data mappings are defined after the devices referenced
 for the source device variable and destination device
 variable are defined and Started.
                    Follow these steps to add a data mapping definition to a
 node:
- From the left pane, expand the node that you want
 to add a data mapping definition to.
 - Select the Devices icon.
Then select the Data Mapping tab
Or, alternatively, select the Data Mapping sub icon.
The Data Mapping window appears as the right pane.
For this example, the Data Mapping window has previously defined data mappings.
 - From the bottom of the Data
 Mapping tab, select
                        New.
A new Data Mapping window appears.
 - Select a value for the Priority
 (ms) parameter.
This is the frequency that the runtime Device Publisher feature will read the source device variable.
The units are in milliseconds (ms). - Select a Source Variable.
The list of devices are the Started devices on this node.
Expand the desired device and its internal structure until you can select the individual source device variable. - Select a Destination Variable.
The list of devices are the Started devices on this node.
Expand the desired device and its internal structure until you can select the individual destination device variable. - If the drivers support data transformation, the
 data type fields will become active and can be changed
 to a data type different than the variables' data
 type.
 - If the source device variable and the destination
 device variables are arrays, enter the Count of
 variables to transfer.
 - Use the Save button to save the
 definition of the data mapping.
The data mapping will appear in the list of data mappings for the node, in a Stopped state. 
Viewing data mappings
The Data Mapping tab provides a list of data mappings defined on the node.
To use the Data Mapping tab, follow
 these steps:
- From Workbench left pane, expand the node whose
 data mapping you want to view.
 - Select the Devices icon.
Then select the Data Mapping tab
Or, alternatively, select the Data Mapping sub icon. - The Data Mapping tab provides a
 table format that lists the data mappings defined on
 the node.
The top section of the Data mapping tab provides these columns:Column
Description
Priority
The priority of the data mapping, specified in the millisecond frequency that the runtime Device Publisher will read the source device variable.
Source
The source device variable.
Destination
The destination device variable.
State
The data mapping state, which can be:
Started - the data mapping is active. The runtime Device Publisher is reading the source device variable at the priority frequency.
Stopped - the data mapping is not active.
Disabled - indicating there is a problem communicating with the source device.Last Executed
Date and time when the data mapping was last executed, including the write to the destination device variable.
Successes
The number of successful data mappings from the source device variable to the destination device variable.
Failures
The number of failed data mapping. This is usually caused by the destination device not being in a Started state.
Overflow
The number of times the runtime Device Publisher cannot process the data mapping in a timely manner.
The entire node's definitions of data triggers, variable groups and data mappings defines the load on the runtime Device Publisher. Each of the Priority parameter values defines the list of device variables that need to read and processed that the Priority's millisecond frequency.
You might want to change the value set in the Priority parameter. 
Data Mapping status information
The bottom portion of the Data Mapping
                    pane provide information concerning the performance of the
 selected data mapping as follows:
| Parameter | Description | 
|---|---|
| Source Device Name | The source device name. | 
                                                        
| Source Name | The source variable name. | 
                                                        
| Source Type | The data type of the source device
 variable. | 
                                                        
| Source Count | When the source and destination
 device variables are an arrays, the
 number of source device variables from
 the source array to transfer to the
 destination device variable
 array. | 
                                                        
| Source Length/Bit | For String data types, the length of
 the source device variable. For BOOL
 data types, the number of bits being
 mapped. | 
                                                        
| Priority | The priority frequency in
 milliseconds that the source device
 variable is read by the runtime Device
 Publisher. | 
                                                        
| Status | A pair of status values. The left
 side value is the last result code for
 the read of the source variable or the
 write of the destination variable. This
 is normally zero. The right side value is an internal data mapping status, which is different from the data mapping's State (Started, Stopped, or Disabled).  | 
                                                        
| Successes | The number of successful data
 mappings from the source device
 variable to the destination device
 variable. | 
                                                        
| Failures | The number of failed data mapping.
 This is usually caused by the
 destination device not being in a
                                        Started
                                        state. | 
                                                        
| Successes/Minute | The number of successful data
 mappings per minute. This is an
 approximation over the recent time
 period. | 
                                                        
| Comment | The comment that was defined with
 the data mapping. | 
                                                        
| Destination Device Name | The destination device
 name. | 
                                                        
| Destination Name | The destination variable
 name. | 
                                                        
| Destination Type | The data type of the destination
 device variable. This can be different
 from the source device variable
 type | 
                                                        
| Destination Count | When the source and destination
 device variables are an arrays, the
 number of source device variables from
 the source array to transfer to the
 destination device variable
 array. | 
                                                        
| Destination Length/Bit | For Bit data types, the number of destination device variable bits being mapped. | 
| State | The data mapping state, which can
 be: Started - the data mapping is active. The runtime Device Publisher is reading the source device variable at the priority frequency. Stopped - the data mapping is not active. Disabled - indicating there is a problem communicating with the source device.  | 
                                                        
| Last State Change | The date and time of the last state
 change of the data mapping | 
                                                        
| Last Fired | Date and time when the data mapping was last executed, including the write to the destination device variable. | 
| Overflow | The number of times the runtime
 Device Publisher cannot process the
 data mapping in a timely manner. The entire node's definitions of data triggers, variable groups and data mappings defines the load on the runtime Device Publisher. Each of the Priority parameter values defines the list of device variables that need to read and processed that the Priority's millisecond frequency. You might want to change the value set in the Priority parameter.  | 
                                                        
| User | The log in id of the user who
 started the data mapping. This user's
 security credentials are used to
 determine the access rights to the
 source and destination
 variables. | 
                                                        
Controlling data mappings
When a data mapping row is selected in the table, the buttons at the bottom of the Data Mapping tab become enabled or disabled. This is based on the current state of the data mapping and the function of the button.
A single data mapping row or multiple data mapping rows
 can be selected and then the function buttons used, but the
 state of each data mapping will determine if the function
 can be performed.
| Button | Description | 
|---|---|
| New | Define a new data mapping. | 
| Edit | Edit the data mapping definition. This can be used when the data mapping is in the Stopped state. This is only available for a single data mapping row selection. | 
| Start | Available when the data mapping is in a Stopped state. Change the data mapping to the Started state. | 
| Stop | Available when the data mapping is in the Started or Disabled state. Change the data mapping to the Stopped state. | 
| Delete | Available when the data mapping is in the Stopped state. Delete the data mapping definition from the node. | 
| Refresh | Refresh the information displayed in the Data Mapping tab. The Workbench will periodically refresh the information on its own without the Refresh button being used. | 
                                                
                                            
A data mapping row's pop-up menu can be displayed, and
 the available options selected.