-
A Sierra Monitor Company
Driver Manual
(Supplement to the FieldServer Instruction Manual)
FS-8700-103 ATMI-TGM Serial Driver
APPLICABILITY & EFFECTIVITY
Effective for all systems manufactured after May 1, 2001
Driver Version:
1.00
Document Revision: 2
FS-8700-103_ATMI_TGM_Serial Manual
Page 3 of 28
1.
ATMI TGM Serial Driver Description
The ATMI-TGM driver allows the FieldServer to transfer data to and from devices over RS-232
using the ATMI-TGM printer port protocol.
This driver connects to an ATMI TGM device using a serial connection. One device may be
connected per FieldServer port. (This limitation exists because the protocol is node-less; that is,
messages do not contain information about the node and thus messages from different TGM
devices could not be distinguished if they were connected on the same port.)
The driver reports Gas and sensor readings and Gas alarm / warning status. The driver reports
TGM module malfunctions.
The driver is a client only driver.
When reporting port and sensor data, the driver reports the gas name by setting a gas name
index value. The index value is obtained from a list of gas names / index values hard coded into
the driver. The list may be extended and/or modified using the configuration by using
appropriate entries in the configuration CSV file. The driver reports a second gas name index
value based on reading the TGM calibration report. When the report is read each gas is
allocated an identifier value based on the gas’s position in the configuration report.
The driver does not provide emulation of a TGM device and thus may not be used as a server.
It is not possible to use this driver to write to the TGM device.
Max Nodes Supported
FieldServer Mode Nodes
Comments
CLIENT
SERVER
1
1
ONLY 1 SERVER NODE ALLOWED PER PORT.
Server capability not provided.
FS-8700-103_ATMI_TGM_Serial Manual
Page 4 of 28
2.
Driver Scope of Supply
2.1. Supplied by FieldServer Technologies for this driver
FieldServer Technologies
PART #
Description
Connector, 9-pin female: connects to DTE, DSR/DTR
loop
FS-8917-12
FS-8700-103
Driver Manual.
2.2.
2.2.1.
Provided by the Supplier of 3rd Party Equipment
Required 3rd Party Hardware
Part #
No specific Hardware requirements other than TGM unit.
Description
2.2.2.
Required 3rd Party Configuration
The FieldServer’s serial port must be configured to be used as a ‘Console Port’ on the
TGM device. The ‘Console Port’ is configurable. At least one of the two serial ports on
the TGM device must be configured to enable the ‘Console Port’. This is not always the
case when the TGM is shipped. Notes in Appendix D provide additional information.
FS-8700-103_ATMI_TGM_Serial Manual
Page 5 of 28
3.
Hardware Connections
The FieldServer is connected to the TGM device’s printer port as shown in connection drawing.
Configure the TGM device according to manufacturer’s instructions
FS-8700-103_ATMI_TGM_Serial Manual
Page 6 of 28
3.1.
Hardware Connection Tips / Hints
The following notes are provided from a TGM manual:
The TGM code constantly checks the status of the DSR input of its serial ports connected to
the DTR output of the remote serial ports. If the TGM DSR is NOT ASSERTED (FALSE),
then the TGM software will suspend serial data output out of TGM Tx, and start a timeout
timer (the default timeout time = 30 seconds as set in CONFIG.DAT). During this timeout, if
the DSR is ASSERTED (TRUE), then the TGM software will begin transmitting data. If the
DSR hold exceeds the (configurable) 30 second timeout, the TGM will report a malfunction:
MALFUN
MALFUN
PRINTER OFF LINE
REMOTE OFF LINE
hh:mm dd mmm yy
hh:mm dd mmm yy
depending upon which port has timed out. Restoration of the DSR status as ASSERTED or
TRUE will clear the above malfunction(s). The above malfunctions will occur if the active
TGM serial ports (printer or remote) are not connected upon bootup with the proper null
modem cables to active serial ports with DTR (connected to theTGM DSR)
ASSERTED/TRUE. The TGM can have the hardware control defeated by jumpering CTS to
DTR to DSR on the TGM side of the connector.
The driver does not provide the hardware handshaking required and assumes the hardware
control has been defeated with jumpers.
FS-8700-103_ATMI_TGM_Serial Manual
Page 7 of 28
4.
Configuring the FieldServer as a ATMI TGM Serial Client
For a detailed discussion on FieldServer configuration, please refer to the FieldServer
Configuration Manual. The information that follows describes how to expand upon the factory
defaults provided in the configuration files included with the FieldServer (See “.csv” sample files
provided with the FieldServer).
This section documents and describes the parameters necessary for configuring the FieldServer
to communicate with a TGM device.
4.1.
Data Arrays/Descriptors
The configuration file tells the FieldServer about its interfaces, and the routing of data
required. In order to enable the FieldServer for ATMI TGM Serial communications, the driver
independent FieldServer buffers need to be declared in the “Data Arrays” section, the
destination device addresses need to be declared in the “Client Side Nodes” section, and
the data required from the servers needs to be mapped in the “Client Side Map Descriptors”
section. Details on how to do this can be found below.
Note that in the tables, * indicates an optional parameter, with the bold legal value being the
default.
Section Title
Data_Arrays
Column Title
Function
Legal Values
Up to 15 alphanumeric
characters
Data_Array_Name
Provide name for Data Array
Float, Bit, UInt16, SInt16,
Provide data format. Each Data Packed_Bit,
Byte,
Data_Array_Format
Array can only take on one format.
Packed_Byte,
Swapped_Byte
Number of Data Objects. Must be
larger than the data storage area
required by the Map Descriptors for
the data being placed in this array.
Data_Array_Length
1-10,000
Example
// Data Arrays
Data_Arrays
Data_Array_Name,
DA_AI_01,
DA_AO_01,
DA_DI_01,
Data_Format,
UInt16,
UInt16,
Bit,
Data_Array_Length
200
200
200
200
DA_DO_01,
Bit,
FS-8700-103_ATMI_TGM_Serial Manual
Page 8 of 28
4.2.
Client Side Connection Descriptions
Section Title
Connections
Column Title
Function
Legal Values
P1-P8, R1-R21
Specify which port the device is
connected to the FieldServer
Specify protocol used
Port
Protocol
Baud*
TGM-Serial, ATMI-TGM-Serial
110 – 19200, standard baud
rates only (Vendor limitation)
None (Vendor limitation)
8 (Vendor limitation)
1
Specify baud rate
Parity*
Specify parity
Data_Bits*
Stop_Bits*
Handshaking*
Poll _Delay*
Specify data bits
Specify stop bits
Specify hardware handshaking
Time between internal polls
None
0-32000 seconds, 1 second
Example
//
Client Side Connections
Connections
Port,
P8,
Protocol,
TGM-Serial,
Baud,
9600,
Parity,
None,
Handshaking,
None,
Poll_Delay
0.100s
4.3.
Client Side Node Descriptors
Section Title
Nodes
Column Title
Node_Name
Function
Provide name for node
Legal Values
Up to 32 alphanumeric characters
This parameter is not required for
the TGM driver. However, if you
Node_ID
intend to use the Node_Status 1-255
function with a Data Array then
the Node_ID must be specified.
Protocol
Specify protocol used
TGM-Serial, ATMI-TGM-Serial
Specify which port the device is
connected to the FieldServer
Connection
P1-P8, R1-R21
Example
// Client Side Nodes
Nodes
Node_Name,
PLC 1,
Node_ID,
1,
Protocol,
TGM-Serial,
Connection
P8
1
Not all ports shown are necessarily supported by the hardware. Consult the appropriate Instruction
manual for details of the ports available on specific hardware.
FS-8700-103_ATMI_TGM_Serial Manual
Page 9 of 28
4.4.
4.4.1.
Client Side Map Descriptors
FieldServer Related Map Descriptor Parameters
Column Title
Function
Legal Values
Up to 32 alphanumeric
characters
Map_Descriptor_Name Name of this Map Descriptor
Name of Data Array where One of the Data Array
data is to be stored in the names from “Data Array”
Data_Array_Name
Data_Array_Offset
Function
FieldServer
section above
0 to maximum specified in
“Data Array” section above
Starting location in Data Array
Function
of
Client
Map
Descriptor. The driver cannot RDBC, ARS
write to the TGM device.
4.4.2.
Driver Related Map Descriptor Parameters
Column
Title
Function
Legal Values
One of the node names specified in
“Client Node Descriptor” above
Node_Name Name of Node to fetch data from
Data_Type
This commonly used driver parameter is not used by the driver.
QIR Report: Length = 100
CALR Report: Variable. Depends on
number of gases reported in CALR
report. Start with a length of 100 and
Length of Map Descriptor
increase if necessary.
The parameter is not used by
QLA Report:
the driver but is used by the
FieldServer Kernel to reserve
If the config has no sensors and port
space in the Data Array.
Length
x is the max port number, then make
the array (x+1) * 10 elements long
Set the Length according to the
function.
If the config has any sensors and
sensor x is the max sensor number
then make the array 200 + (x+1) *
10 elements long
Address
This commonly used parameter is ignored by the driver.
4.4.3.
Timing Parameters
Legal
Column Title
Function
Values
Rate at which data is polled
For CALR report use a long interval (600s) as the TGM
Scan_Interval configuration seldom changes.
Set the Scan_Interval for the QLA and QIR reports to zero
to have the driver poll for this data as often as possible.
≥0.001s
FS-8700-103_ATMI_TGM_Serial Manual
Page 10 of 28
4.4.4.
Map Descriptor Example #1 – CALR Report.
To be useful to the upstream device the driver reports gas concentration values and gas names from the QLA report. In reporting the
gas names it is most useful when a driver stores an index value which is used to imply the gas names. The reason this is most useful
is that it is typically easier for automation devices to work with numbers and not text.
When the driver reads the Calibration report, it does two things.
1) It stores a string of gas names vs. index values in the Data Array. This string can be viewed using the Ruinet Utility and may be of
help in interpreting the gas name index values stored by the QLA report.
2) The data is stored internally by the driver and when a QLA report is parsed the driver looks the gas names up in the CALR report
data and uses the lookup to determine what gas name index value to store.
// Client Side Map Descriptors
Map Descriptors
Map_Descriptor_Name, Data_Array_Name, Data_Array_Offset, Function, Node_Name, Address Length, Scan_Interval, TGM_Funtion
RD_CALR,
DA_CALR,
0,
RDBC,
Node_A,
0,
100,
600s,
CALR
Data
storage
Although
not
Tells the driver to repeat this
read task continuously. The
polling interval is set by the
Scan_Interval parameter.
Reserve
enough
Tells the driver
starts at this
location in the
Data Array.
mandatory it is
recommended
that each MD is
given a unique
name.
space in the Data
Array to store the
gas/index string.
to
read
the
Calibration
report.
For the CALR report is may
also make sense to use the
‘ARS’ function which gets the
driver to read this data once
each time the driver restarts.
No need to
read this report
too often.
A list of gas names vs. index values is
stored in the Data Array specified here.
In this particular example, the list is
stored as an ASCII string and hence it
makes most sense to ensure that the
Data Array’s format is BYTE so that it
can be viewed as a string when using
Ruinet.
The node name connects the Map Descriptor to a
Node definition which in turn is connected to a port.
That is how the driver knows which port to use to
poll for this data.
FS-8700-103_ATMI_TGM_Serial Manual
Page 11 of 28
4.4.5.
Map Descriptor Example #2 – QLA Report.
In this example, a Map Descriptor is created to read the Latest Area Report (QLA). This report contains gas concentration and status
for each port and sensor. Ten Data array elements are required for each port / sensor that is reported. The poistion in the array is
dependent on the port/sensor number. Appendix B provides additional information. By specifying the extra arrays (DA_Bit_Name and
DA_Byte_Name) the driver stores additional information.
// Client Side Map descriptors
Map Descriptors
Map_Descriptor_Name, Data_Array_Name, Data_Array_Offset, Function, Node_Name Address Length Scan_Interval DA_Byte_Name
DA_Bit_Name
TGM_Funtion
RD_QLA,
DA_CALR,
0,
RDBC,
Node_A,
0,
300,
1.0s
DA_GAS_UNITS DA_QLA_GAS QLA
Gas
value,
concentration
status,
This parameter may be omitted. If specified
then the Data Array will be used to store
the gas concentration value engineering
units in ASCII. Storage position is
dependent on the port/ sensor number.
This parameter may be omitted. If
specified then the Data Array will
be used to store the gas name in
Tells the driver
to read the QLA
report.
engineering units index
values, gas name index
values are stored in this
Data Array
ASCII.
Storage
position
is
dependent on the port/ sensor
number.
FS-8700-103_ATMI_TGM_Serial Manual
Page 12 of 28
4.5.
Map Descriptor Example #3 – QIR Report – Malfunctions
In this example the Map Descriptor is configured to read the incident report. The driver parses the report looking for malfunctions and
reports that show a malfunction has been cleared. Other incidents / events are ignored except for events #19 and #37 which cause
all malfunctions to be cleared. The Driver updates the array setting values to 1 (malfunction) or zero when a malfunction has been
cleared. The position indicates the malfunction number. The driver has a list of malfunctions and index numbers stored internally.
Refer to Appendix A.2 for this list. The list can be modified in the configuration CSV file.
CAUTION: When the QIR report is polled it responds with the latest incidents only. This means that care should be taken to
synchronize the FieldServer and the TGM. Read more about this in Appendix B.8
// Client Side Map Descriptors
Map Descriptors
Map_Descriptor_Name, Data_Array_Name, Data_Array_Offset, Function, Node_Name Address Length Scan_Interval TGM_Funtion
RD_QIR,
DA_MALFUNC,
0,
RDBC,
Node_A,
0,
100,
2.0s
QIR
Tells the driver
to read the
incident report.
Driver sets the Data Array elements to 1 when there is
malfunction and sets the value to zero when the malfunction is
cleared.
Position in the array indicates the malfunction number.
FS-8700-103_ATMI_TGM_Serial Manual
Page 13 of 28
Appendix A. TGM Tables
Appendix A.1. Hard Coded Gas Name Table
This table is used by the driver when storing data from the QLA report. The driver looks the
reported gas name up in this table. If a match is found then the driver stores the
corresponding index value in the Data Array. If no match is found the the driver stores a
value of –1.
The table may be extended/modified using the configuration file. Refer to Appendix B.4
Gas Name
Error / Unknown
NONE
ASH3
B2H6
CH4
Index Value
-1
1
3
6
9
CH4AC
CL2
DET
F123
GEH4
H2
H2AC
H2S
H2SE
HCL
HF
N2O
NF3
NH3
O2
O3
PH3
POCL
POCL3
SIHX
SIHx
TMBP
WF6
12
15
18
21
24
27
30
33
36
39
42
45
48
51
54
57
60
63
66
69
70
75
78
FS-8700-103_ATMI_TGM_Serial Manual
Appendix A.2. Malfunction Table
Page 14 of 28
When an event is reported in the Incident Report (QIR) then the driver compares the event
description to text in the table below. If the text matches an an entry in the ‘Malfunction’
column (and is preceeded by the string MALFUNC) then the Data Array element at the
specified offset is set to 1. If the text matches the ‘Return to Normal’ text then the
malfunction is considered as cleared and the Data Array element is set to zero.
The Data Array elements are all set to zero when
Event 19 reports ” ALARM RESET “ or Event 37 reports “ALL MALFUNCTIONS CLEAR”
The Malunction text strings generated by the TGM unit are not the same for all units. They
can be customized in theTGM’s config.dat file. For this reason, this driver allows the strings
in the table below to be customized too – see Appendix B.5. In addition to allowing this
table to be customised in the configuration file, the driver can use a config.dat file to directly
customise the table – see Appendix B.7
Offset Malfunction
BASELINE OUT OF RANGE
Return to Normal
20
22
24
26
28
30
32
38
39
41
45
47
48
50
52
54
56
58
60
62
64
66
68
70
75
80
82
84
86
88
90
BASELINE BACK TO NORMAL
IGNITER SWITCH IS OFF
FLAME IGNITION ENABLED
VACUUM BACK TO NORMAL
FLAMEOUT BACK TO NORMAL
LINE LEAK BACK TO NORMAL
POWER RESTORED
IGNITER SWITCH IS ON
FLAME IGNITION DISABLED
LOW VACUUM
FLAMEOUT RESTART
LINE LEAK TEST MALFUN
POWER FAILURE
FAILED TO LOAD PROGRAM
DPM TIMEOUT
RELAY FILE ERROR
CHECK I/O AND FUSES
TGM IN DEBUG MODE
DISK NEARLY FULL
FLAMEOUT CONDITION
FAILED FLAME TEST
FAILED RESPONSE TEST
FAILED BLOCK LEAK CHECK
ANALOG SUBSYSTEM FAILURE
ANALOG CHANNEL FAILURE
PRINTER OFF LINE
DPM BACK TO NORMAL
OPERATIONS CHECK DONE
I/O AND FUSES OK NOW
ADEQUATE DISK STORAGE NOW
RETURN FROM FLAMEOUT
FLAME TEST OK NOW
RESPONSE TEST OK NOW
BLOCK LEAK CHECK OK NOW
ANALOG SUBSYSTEM NORMAL
ANALOG CHANNEL NORMAL
PRINTER BACK TO NORMAL
REMOTE BACK TO NORMAL
DISK BACK TO NORMAL
REMOTE OFF LINE
DISK READ/WRITE ERR
LAN READ/WRITE ERROR
DISK FULL - DATA LOST
HIGH SAMPLE VARIANCE
COUS SENSOR TIMEOUT
COUS GETTER INOPERATIVE
ACOUSTIC SENSOR FAILURE
GETTER TEMPERATURE LOW
LOW SAMPLE FLOW
LAN BACK TO NORMAL
DISK NO LONGER FULL
SAMPLE VARIANCE OK NOW
COUS TIMEOUT CORRECTED
COUS GETTER OK NOW
ACOUSTIC SENSOR RECOVERD
GETTER TEMPERATUR OK NOW
SAMPLE FLOW OK NOW
TGM HYDROGEN LEAK
HYDROGEN LEAK REPAIRED
FS-8700-103_ATMI_TGM_Serial Manual
Page 15 of 28
Appendix A.3. Gas Concentration Engineering Units
This table is used by the driver when storing data from the QLA report. The driver looks the
reported engineering units up in this table. If an matching entry is found then the driver
stores the index value. If a matching entry cannot be found then the driver stores a value of
–1. (Note that when –1 is stored in a BYTE or UINT16 formatted Data Aray it will appear as
a positive number such as 255 (Byte Array) or 65535 (uint16 Array).
The table may be extended/modified using the configuration file. Refer to Appendix B.1
Engineering Units
Index Value
Error / Unknown
-1
1
2
3
4
5
6
ARU
PPM
PPB
LEL
%
PCT
FS-8700-103_ATMI_TGM_Serial Manual
Page 16 of 28
Appendix B. Advanced Topics
Appendix B.1. How Malfunctions are determined and stored
•
The notes below describe how the driver parses incident reports obtained by the QIR
poll.
•
•
The driver starts at the end of the report and works its way to the top, line by line.
Each line is inspected to see if it contains either of the following strings
“ALARM RESET"
"ALL MALFUNCTIONS CLEAR”
•
If either is reported then the driver sets all the array elements to zero except those
corresponding to lines of the report appearing after (and hence later in time) one of the
above lines that indicates that malfunctions be set, in which case those particular
malfunctions will be reported as 1’s in the Data Array.
•
•
When either one of these two events is found the driver stops parsing the report as all
prior lines predate the clear event.
Each line is inspected for the string “MALFUN”. If it is found then ‘Event’ field in the
report is inspected and the description is extracted and compared to the malfunction list
provided in Appendix A.2. If a match is found the driver uses the offset value and sets
the corresponding element in the Data Array to 1.
•
•
If the string “MAFUN” is not found then the description found in the ‘Event’ field of the
report is used to look up a ‘Return to Normal’ event in the table provided in Appendix
A.2. If a match is found then the corresponding offset in the Data Array is set to zero.
If the description is not recognized then it it is ignored.
Example
Only the Malfunction ‘COUS SENSOR TIMEOUT’ would have its Data Array element set to
1. All others will be set to zero. The reason is that all events above the ‘ALARM RESET’ line
are considered to be prior to the reset and are thus cleared when the driver sets all the Data
Array elements to zero. The timeout event occurs later and hence its malfunction is set.
MALFUN POWER FAILURE
POWER RESTORED
MALFUN TGM IN DEBUG MODE
MALFUN FAILED FLAME TEST
ALARM RESET
00:00 00
00
10:29 16 FEB 04
10:29 16 FEB 04
10:29 16 FEB 04
10:29 16 FEB 04
10:29 16 FEB 04
MALFUN COUS SENSOR TIMEOUT
When the driver uses the lookup table to see if it recognizes the event description then it
compares the strings looking for an exact match. If no exact match is made then the driver
uses a so-called ‘soundex’ function to see if the strings are very similar, if they are then they
are considered to be matched. If a similar match is made the driver reports this in the error
log.
16 T02> TGM:#21 FYI. Malfunction. Dont recognize <POWER FAILED>
17 T02>
But sounds like <POWER FAILURE>.
FS-8700-103_ATMI_TGM_Serial Manual
Page 17 of 28
Appendix B.2. How Gas Data is Stored
•
The QLA reports provides Gas Concentration values for each configured port/sensor
connected to the TGM.
•
The driver stores the data using the “Data_Array_Name” and “Data_Array_Offset”
parameters specified on the Map Descriptor. Two additional Data Array’s can be
specified to tell the driver where to store the gas names and egineering units.
The position at which data is stored in the array is deprendent on the TGM port/sensor
number. Use the following formula to determine the position.
•
For Port x :
Relative Offset = Port_Number * 10
For Sensor x : Relative Offset = 200 + ( Sensor_Number * 10 )
Thus enough room is provided to store data from 20 ports and provided the Array is long
enough, there is no limit to the maxium sensor number.
The offset’s described here are relative to the offset provided in the Map Descriptor,
which should be added to the offsets specified here
•
•
Relative
Offset
Contents
In the Data Array specified by the “Data_Array_Name”
0
1
Port Number
Set to 'P' for a port. Set to 'S' for a sensor
Gas concentration Value. Can be scaled by applying Map Desc scaling using
2
the
parameters
Data_Array_Low_Scale,
Data_Array_High_Scale,
Node_Low_Scale, Node_High_Scale
Gas Conc. Engineering Units as an index value. Stores –1 if units are not
recognized. Index value is based on lookup table - Appendix A.3
Gas Status.
3
4
0=Normal; 1=Warn; 2=Alarm; 4=Error
Gas Name index (based on CALR report)
A list of gas names and index values is built when the CALR report is parsed. It
is not possible to provide a list of index values vs gas names in advance
because this is dependent on the TGM configuration.
To facilitate debugging your application the driver stores the list it builds in a
Data Array which can be read by an upstream device or which can be seen by
uisng the Ruinet Utility.
5
If the gas name is not recognized then the driver stores a value of –1.
Gas Name index based on looking up the gas name in the table provided in
Appendix A.1
6
0
If the gas name is not recognized by the lookup then a value of –1 is stored.
In the Data Array specified by the “DA_Bit_Name”
Gas Name is stored character for character to a max of 9 characters.
The name of the Map Desc parameter is confusing. The Data Array specified
with this parameter can have any format - ‘BYTE’ format is reccomended.
In the Data Array specified by the “DA_Byte_Name”
Gas Concentration Engineering Units are stored character for character to a
max of 9 characters.
0
The name of the Map Desc parameter is confusing. The Data Array specified
with this parameter can have any format and in fact the ‘BYTE’ format is
reccomended.
FS-8700-103_ATMI_TGM_Serial Manual
Page 18 of 28
Appendix B.3. Adding/Modifying Gas Concentration Value Engineering Units
The configuration CSV file can be used to modify the table of engineering units that is hard
coded into the driver. This table is presented in Appendix A.3
Add a section to the configuration file which is similar to the following example.
In the example below the Units specified is ‘PPM’, an entry from the existing list. When the
driver finds the lines below, it will update the index value to 20.
// Change index value of existing unit to 20.
Driver_Table
TGM_Units_Name,
PPM,
TGM_Units_Index_Value,
20,
Protocol
TGM
In the example below the units specified are ‘gpl’ and they have been assigned an index
value of 7.
// Add a new engineering unit
Driver_Table
TGM_Units_Name,
gpl
TGM_Units_Index_Value,
7,
Protocol
TGM
Appendix B.4. Adding / Modifying Hard Coded Gas Names
When a gas concentration is reported, the driver reports the gas name by looking up the gas
name in a list of hard coded gas names. When a match is found the driver stores the
associated index value. The table may be modified/extended in the configuration CSV file.
The table of names and index values is provided in Appendix A.1
Add a section to the configuration file which is similar to the text found in the examples
below.
In the example below the gas name specified is ‘H2’, an entry from the existing list. When
the driver finds the lines below, it will update the index value to 20.
// Change index value of existing gas to 20.
Driver_Table
TGM_Gas_Name,
H2,
TGM_Gas_Index_Value,
20,
Protocol
TGM
FS-8700-103_ATMI_TGM_Serial Manual
Page 19 of 28
In the example below the gas name specified is ‘C2H5OH’ and it has been assigned an
index value of 7. It will be added to the table.
// Add a new gas name
Driver_Table
TGM_Gas_Name,
C2H5OH,
TGM_Gas_Index_Value,
7,
Protocol
TGM
Appendix B.5. Adding / Modifying Malfunction Strings
When an event is reported, the driver compares the “MAFLUN” events to those in the table
provided in Appendix A.2. The table can be modified or extended.
Add a section to the configuration file which is similar to the text found in the examples
below.
In the example below the gas name specified is ‘DISK NEARLY FULL’, an entry from the
existing list. When the driver finds the lines below, it will update the index value to 20.
Ensure the index value is less than 100.
// Change index value of existing malfunction.
Driver_Table
TGM_Malfunction_Name,
DISK NEARLY FULL,
TGM_Malfunction_Index,
20,
Protocol
TGM
In the example below the gas name specified is ‘DISK IS FULL’ and it has been assigned
an index value of 20. It will be added to the table.
// Add a new malfunction
Driver_Table
TGM_Malfunction_Name,
DISK IS FULL,
TGM_Malfunction_Index,
20,
Protocol
TGM
FS-8700-103_ATMI_TGM_Serial Manual
Page 20 of 28
Appendix B.6. Adding / Modifying ‘Return to Normal’ Strings
When an event is reported, the driver compares the description to those in “Return to
Normal” column of the table provided in Appendix A.2. The table can be modified or
extended.
Add a section to the configuration file which is similar to the text found in the examples
below.
The index value allocated should match the malfunction index for the driver to clear the
malfunction when the return to normal event is found.
In the example below the gas name specified is ‘DISK NO LONGER FULL, an entry from
the existing list. When the driver finds the lines below, it will update the index value to 20.
Ensure the index value is less than 100.
// Change index value of existing Return to Normal Event.
Driver_Table
TGM_Event_Normal_Name,
DISK NO LONGER FULL,
TGM_Event_Normal_Index,
20,
Protocol
TGM
In the example below the gas name specified is ‘DISK NOT FULL’ and it has been assigned
an index value of 20. It will be added to the table.
// Add a new Return to Normal Event
Driver_Table
TGM_Event_Normal_Name,
DISK NOT FULL,
TGM_Event_Normal_Index,
20,
Protocol
TGM
Appendix B.7. Using the TGM’s Config.dat file to customize malfunctions
Copy the TGM’s config.dat file to the FieldServer as a file called atmitgm.ini. When the driver
starts it looks for this file and updates the malfunction table based on the malfunction strings
found inside the config file. The Ruinet utility is required
Ruinet –i1.2.3.4 –u0 –lc:\…\config.dat –fatmitgm.ini
Where
1.2.3.4 is the IP address of the FieldServer
c:\….\config.dat is the path of the file to be downloaded from your C driver.
To stop the driver using the ini file remove it from the FieldServer by deleting it.
Ruinet –i1.2.3.4 –zatmitgm.ini
When the driver inspects the configuration file it searches for the string “malfunStat” and
uses the table that follows to update the malfunction table. Note that the config file only
contains malfunction strings and does not provide the ‘Return to Normal’ strings. Thus, if
the config file contains a malfunction for which the driver does not have a matching return to
FS-8700-103_ATMI_TGM_Serial Manual
Page 21 of 28
normal string then you will need to add the matching ‘Return to Normal’ string. This process
is described in Appendix B.6
Appendix B.8. Synchronizing Malfunctions
THE Incident Report (QIR) only reports events which occurred since the previous poll.
The following procedure is recommended for synchronizing the FieldServer and the TGM
1. Turn off the FieldServer. Clear all events on the TGM and then restart the FieldServer.
Or
2. With the FieldServer online, cause the TGM to send an RESET ALARMS message to
the FieldServer.
FS-8700-103_ATMI_TGM_Serial Manual
Page 22 of 28
Appendix C. Driver Error Messages
Message
Notes and Corrective Action∼
If this message is printed an internal diagnostic has been
generated. Contact FieldServer tech support for help.
TGM:#1 Err. Diagnostic #1.
TGM:#2 Err. TGM_Function not Each Map Descriptor must have the parameter called
specified.
“TGM_Function” set. See section 4.4.22
TGM:#3 FYI. Use an Array
This message may be ignored. For more information read
Appendix C.1
called
<%s>
to
expose
diagnostics.
4a: The text string “CUR=” could not be found in the QLA
report.
4b: The text string “GAS=” could not be found in the QLA
report.
4c: The text string “STATUS=” could not be found in the
QLA report.
TGM: #4c Err. Bad format in
latest area report. Discarding
data.
If the error is printed rarely and data is being stored
correctly then the error probably arises from a corrupted
message. If the error occurs frequently then it is possible
that the report format has changed and the driver firmware
may require an update. To facilitate the evaluation of the
problem, take a serial communications log, ensuring at least
one of the errors occurs during the log, and then contact
Tech Support.
This message is printed to alert you to the fact that the
TGM: #5 FYI. atmitgm.ini being malfunction list is being based on the contents of a TGM
used for malfunctions
config file. Refer to Appendix B.7. If you expect the driver to
be using this list, ignore the message.
TGM: #6 FYI. You could have
used a TGM config file to define
malfunctions. Working with hard
coded list.
This message is printed to alert you to the possibility that
the TGM config file can be used with this driver. Refer to
Appendix B.7.
The Map Descriptor function has been set so that the driver
will attempt to write to the TGM. Writing is not possible.
Change the function to a read.2
TGM: #7 Err. Driver cannot
write. MD=%s
This error is printed when the driver attempts to store data
from the QLA report. Modify the length of the Data Array as
discussed in section 4.1.2
TGM: #8 Err. Array=%s too
short. Act/Rqd=%d/%d
TGM: #9 FYI. Duplicate Gas
Name=<%s>.
Value has been updated
from=%d to=%d
This message may be safely ignored. It is printed to alert
you to the fact that the driver has updated the Gas Name
table so that default values have been modified.
2
Modify the configuration CSV file. Download the modified file to the FieldServer and Reset the
FieldServer for the changes to take effect.
FS-8700-103_ATMI_TGM_Serial Manual
Message
Page 23 of 28
Notes and Corrective Action∼
TGM: #10 Err. No space. Reject An attempt has been made to extend the gas name table.
Gas
Value=%d
Name=<%s>
Index There is insufficient space to add more names. Remove this
entry from the configuration CSV file3.
This message may be ignored. It is printed to alert you to
TGM: #11 FYI. User added Gas the fact that the driver has updated the Gas Name table by
Name=<%s> Index Value=%d
adding a new gas name and index value. Ensure that index
values are unique.
TGM: #12 FYI. Duplicate Gas This message may be ignored. It is printed to alert you to
Units=<%s>. Value has been the fact that the driver has updated the Gas Engineering
updated from=%d to=%d
Unit table so that default values have been modified.
TGM: #13 Err. No space. Reject An attempt has been made to extend the Fas Engineering
Gas
Value=%d
Units=<%s>
Index Units table. There is insufficient space to add more names.
Remove this entry from the configuration CSV file.3
This message may be ignored. It is printed to alert you to
TGM: #14 FYI. User added Gas the fact that the driver has updated the Gas Engineering
Units=<%s> Index Value=%d
Units Table by adding a new gas name and index value.
Ensure that index values are unique.
TGM: #15 FYI. Duplicate This message may be ignored. It is printed to alert you to
Malfunction=<%s>. Index Val the fact that the driver has updated the Malfunction Table so
has been updated from=%d that default values have been modified. Ensure that the
to=%d
index value is less than 100.
TGM: #16 Err. No space. Reject An attempt has been made to extend the Malfunction Table.
Malfunction=<%s>
Val=%d
Index There is insufficient space to add more names. Remove this
entry from the configuration CSV file.3
This message may be ignored. It is printed to alert you to
TGM: #17 FYI. User added
the fact that the driver has updated the Malfunction Table by
adding a new gas name and index value. Ensure that index
values are unique and that the index value is less than 100.
Malfunction=<%s>
Val=%d
Index
TGM: #18 FYI. Duplicate This message may be ignored. It is printed to alert you to
Normal Event=<%s>. the fact that the driver has updated the ‘Return to Normal’
Index Val has been updated Table so that default values have been modified. Ensure
from=%d to=%d that the index value is less than 100.
TGM: #19 Err. No space. Reject An attempt has been made to extend the ‘Return to Normal’
Normal
Val=%d
Event=<%s>
Index Table. There is insufficient space to add more names.
Remove this entry from the configuration CSV file.3
This message may be ignored. It is printed to alert you to
TGM: #20 FYI. User added the fact that the driver has updated the ‘Return to Normal’
Normal
Val=%d
Event=<%s>
Index Table by adding a new gas name and index value. Ensure
that index values are unique and that the index value is less
than 100.
3
Modify the configuration CSV file. Download the modified file to the FieldServer and Reset the
FieldServer for the changes to take effect.
FS-8700-103_ATMI_TGM_Serial Manual
Message
Page 24 of 28
Notes and Corrective Action∼
The driver has found a malfunction but could not match it
exactly to a malfunction in the Malfunction Table. The
driver used a soundex function which looks for matches
based on a ‘sounds like’ evaluation. As the match is not
exact the driver provides the alert.
To suppress this message in the future, note the message
and add it to the Malfunction Table. Notes in Appendix B.5
provide information on how to do this.
TGM: #21 FYI. Malfunction.
Don’t recognize <%s> But
sounds like <%s>.
The driver has found an event description that is being
evaluated as a potential ‘Return to Normal’ message, but
could not match it exactly to a ‘Return to Normal’ in the
Malfunction Table. The driver used a soundex function
which looks fro matches based on a ‘sounds like’
evaluation. As the match is not exact the driver provides the
alert.
TGM: #22 FYI. Return to
Normal.
Don’t
recognize
<%s>But sounds like <%s>.
To suppress this message in the future, note the message
and add it to the ‘Return to Normal' Table. Notes in
Appendix B.6 provide information on how to do this.
TGM: #23 FYI. Duplicate
Malfunction Number=<%d>.Text
has been updated from=<%s>
to=<%s>
If these messages are produced then the driver processes
the TGM config file. Read Appendix B.7 for more
information.
TGM: #24 Err. No space. Reject
Malfunction=<%s>
Val=%d
Index
TGM: #25 FYI. User added
Malfunction=<%s>
Val=%d
Index
The maximum malfunction index value is 99. Use the
procedure in Appendix B.5 to modify the malfunction index
value.4
TGM: #26a Err. Malfunction=%s
Index value=%d > 99.
It is almost impossible for the driver to distinguish between
‘Return to Normal’ events and those events not associated
with a malfunction. When a non-malfunction event is found
that doesn’t match the entries in the Return to Normal Table
then this message is printed. It is printed 20 times and then
suppressed.
Ignore the messages if they clearly are not ‘Return to
Normal’ events that correspond to Malfunctions. If, however,
they are obviously associated with Malfunctions then add
the description to the ‘Return to Normal’ Table. Notes in
Appendix B.6 provide information on how to do this.
This message is printed during Map Descriptor Validation.
The function is not recognized. Correct the configuration
using information found in section 4.4.24
TGM: #27 Err. Event=%s is
Unknown. Read manual.
TGM:
#28
Err
TGM_Function=%s invalid.
4
Modify the configuration CSV file. Download the modified file to the FieldServer and Reset the
FieldServer for the changes to take effect.
FS-8700-103_ATMI_TGM_Serial Manual
Page 25 of 28
Appendix C.1. Exposing Driver Operating Statistics
In addition to the standard FieldServer operating statistics the driver exposes certain key
stats in a Data Array if required. These stats can then be monitored by an upstream device.
Add the following to your configuration file to activate these stats
Expose Driver Operating Stats.
Data_Arrays
Data_Array_Name,
ATMI-TGM-stats,
Data_Format,
UINT16,
Data_Array_Length
1000
To calculate the actual offset multiply the port number by 100 and add the relative offset.
Items marked * do not consider the port number in calculating the actual offset.
Stat Relative
Notes
Offset
1
2
Increments each time client sends a poll.
Total of all the bytes sent to the TGM device
Increments each time the client receives a complete response as
indicated by the prompt character
3
4
5
6
8
9
Increments each time the client receives a CR-lf pair in a response
Count of all the bytes received by the client in response to TGM polling
Count of all the messages that were sent to the parse function.
Count of all the message that were parsed successfully
Increments by 1 each time a poll times out
*When set to 1 the driver dumps the contents of its gas name lookup table
to the error log. Driver resets to zero after dump.
10
11
12
13
*When set to 1 the driver dumps the contents of its gas engineering units
lookup table to the error log. Driver resets to zero after dump.
*When set to 1 the driver dumps the contents of its CALR gas lookup
table to the error log. Driver resets to zero after dump.
*When set to 1 the driver dumps the contents of its Malfunction Lookup
table to the error log. Driver resets to zero after dump.
*When set to 1 the driver dumps the contents of its 'Return to Normal'
Lookup table to the error log. Driver resets to zero after dump.
When set to 1 the driver does not use the soundex function.
Increments by 1 each time a response line is too large to fit the
connection in buffer
14
15
16
Increments by 1 each time a response is too large to fit the in the report
buffer
17
To execute a table dump do the following
•
•
•
Connect to the FieldServer using RUINET
Browse to the Array called “ATMI-TGM-stats”
Modify the value found at offset by typing M x 1 <Enter>
Where x = 10 or 11 or 12 or 13 or 14
A typical dump is shown below
FS-8700-103_ATMI_TGM_Serial Manual
Page 26 of 28
FS-8700-103_ATMI_TGM_Serial Manual
Page 27 of 28
Appendix D. Troubleshooting tips
Appendix D.1. Connection Tips & Hints
The ATMI-TGM’s serial ports are configured using the TGM’s configuration file – typically
named config.dat
Search for the following section. The port you wish to connect to must be set as a “Remote
Console”.
/* the channel utilization array specifies how a parallel (or serial) */
/* channel is to be utilized. The possible entries are:
*/
/* 0 = this channel is forced out of service (not implemented, etc)*/
/* 1 = this channel is a printer device
/* 2 = this channel is a remote console
*/
*/
/* There can be more than one printer device (max = all 3 channels), */
/* but there can be only one remote console (COM1: or COM2 :).
*/
*/ /* PMC */
/* Leave the Acoustic Sensor entry = 0 (controlled by bvCous)
BYTE chanUtil[] =
{
0,
0,
2,
0,
};
// [0] = local (parallel) printer
// [1] = COM1: serial channel
// [2] = COM2: serial channel
// [3] = Acoustic Sensor serial channel
/* the baudRate table specifies the baud rate for the serial channels */
/* can be one of: 110, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400 */
/* an entry of 0 in chanUtil[] overrides the entry here
*/
*/ /* PMC, too slow and wont finish printing in time
WORD baudRate[] =
XX, // [0]
{
9600, // [1] // COM1:
9600, // [2] // COM2:
9600, // [3] // cous chan
};
FS-8700-103_ATMI_TGM_Serial Manual
Page 28 of 28
THIS PAGE INTENTIONALLY LEFT BLANK
|