A Sierra Monitor Company
Driver Manual
(Supplement to the FieldServer Instruction Manual)
FS-8700-123
HACH Ultra Analytics
(formerly Pacific Scientific Instruments)
Standard Protocol FX (enhanced) - ENG110
Developed for interfaces to
MetOne Particle Counters
APPLICABILITY & EFFECTIVITY
Effective for all systems manufactured after May 1, 2001
Driver Version:
1.00
Document Revision: 3
FS-8700-123 MetOne Particle Counter Serial Driver Manual
Page 3 of 26
1.
MetOne Particle Counter Serial Description
The MetOne Particle Counter Serial driver allows the FieldServer to transfer data to and from
devices over RS-232 or RS-485 using MetOne Particle Counter Serial protocol.
This driver is based on a specification called “Standard Protocol FX (enhanced)” ENG110
Revision A dated 1999 by Pacific Scientific Instruments. This protocol provides an interface to
Particle Counters manufactured by HACH Ultra Analytics and labeled as METONE products.
Pacific Scientific Instruments is a former name of Hach.
The primary purpose of the driver is to obtain the current particle counts, but it does allow for
limited control and configuration of some counter parameters. While the driver provides Client
and Server emulation, the Server side of the driver is intended to support FieldServer’s Quality
Assurance program and is not intended to provide complete emulation of a MetOne Counter.
Thus the Server side is not fully documented and is not supported. At a customer’s request the
Server side functionality can be documented and enhanced. If you are interested in this
functionality, then please contact FieldServer’s sales group.
When configured as a Client the driver can start/stop a unit from sampling, change its mode, set
and get sample and hold times, startup or standby a unit and retrieve its current sample value.
Whenever the driver stores a sample value, it will also store a timestamp of when the record
was obtained.
In the configuration of the FieldServer each device is identified by specifying its device number
then the sub-device code or port number and finally by a device type. The device type will be
used to interpret the status byte obtained from the device.
For each configured node, each time the FieldServer sends a message to the device it will
select the device (and the select the sub-device or port if specified) and then the message will
be sent. If the most recent message sent was sent to the device, the driver will do the selection
to ensure the correct device response.
When the current record is read from a device then the driver will store the data extracted from
the response in a range of consecutive Data Array elements so that these values can be served
to another protocol. Even though the record data contains a time stamp, the driver will make its
own time stamp for new data. If there is no current record the driver will not update the data.
If the response is invalid in any way – invalid characters or invalid checksum the driver will
ignore the message and not store any data.
Max Nodes Supported
FieldServer mode
Nodes
Comments
There can only be one Client node per FieldServer port.
The driver can poll any number of Server nodes provided
that they comply with the vendors numbering requirements
Driver as a Server is not documented or supported. Used
only for QA purposes.
Client
1
Server
FS-8700-123 MetOne Particle Counter Serial Driver Manual
Page 4 of 26
2.
Driver Scope of Supply
2.1. Supplied by FieldServer Technologies for this driver
FieldServer Technologies
PART #
Description
FS-8915-16
FS-8917-02
FS-8700-123
UTP cable (7 foot) with Pigtail
RJ45 to DB9F connector adapter
Driver Manual.
FS-8700-123 MetOne Particle Counter Serial Driver Manual
Page 5 of 26
3.
Hardware Connections
Part of 4308 Device
13
8
6
Back of Board
(408)-262-2299
FIELDSERVER
SERIAL
4803 PARTICLE COUNTER
CONNECTION DIAGRAM
BASE NAME:
FILE NAME: FS-8700-123
DATE: 6/1/07
BY: MC
FS-8700-123 MetOne Particle Counter Serial Driver Manual
Page 6 of 26
9-Pin Serial Connector on rear
of 2100 Device
Tx Rx
GND
7
1
2
3
4
5
6
8
9
FS-Tx/+
FS-COM
RJ45-01
BROWN
FS-Rx/-
RJ45-04
BLUE/WHITE
RJ45-08
ORANGE/WHITE
FS-8917-16
9-Pin Serial Connector on rear
of 2100 Device
OR
1
2
3
4
5
6
7
8
9
(408)-262-2299
FIELDSERVER
SERIAL
2100 PARTICLE COUNTER
CONNECTION DIAGRAM
BASE NAME:
FILE NAME: FS-8700-123
DATE: 6/1/07
BY: MC
3.1.
Hardware Connection Tips / Hints
The 2100 Device auto configures its serial port based on the pins connected. There is no
explicit setting or selector for RS-232/RS-485
Ensure other pins are not connected.
The FS-8917-16 cable is not needed for RS-485 on the X30 and X40 only.
FS-8700-123 MetOne Particle Counter Serial Driver Manual
Page 7 of 26
4.
Configuring the FieldServer as a MetOne PC 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 MetOne Particle Counter Serial Server.
4.1.
The configuration file tells the FieldServer about its interfaces, and the routing of data
required. In order to enable the FieldServer for MetOne Particle Counter Serial
Data Arrays/Descriptors
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
Data_Array_Length
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.
1-10,000
Example
// Data Arrays
Data_Arrays
Data_Array_Name,
DA_AI_01,
DA_AO_01,
DA_DI_01,
Data_Array_Format,
Data_Array_Length
UInt16,
UInt16,
Bit,
200
200
200
200
DA_DO_01,
Bit,
FS-8700-123 MetOne Particle Counter Serial Driver Manual
Page 8 of 26
4.2.
Client Side Connection Descriptions
Section Title
Connections
Column Title
Function
Legal Values
Specify which port the device
Port
is
connected
to
the P1-P8, R1-R21
FieldServer
Protocol
Baud*
Parity*
Data_Bits*
Stop_Bits*
Specify protocol used
Specify baud rate
Specify parity
MetOne
9600 (Vendor limitation).
None (Vendor limitation)
8 (Vendor limitation)
Specify data bits
Specify stop bits
Specify
1 (Vendor limitation)
hardware
Handshaking*
Poll_Delay*
RTS, RTS/CTS, None
handshaking
Time between internal polls
0-32000 seconds, 0.05 seconds
Example
// Client Side Connections
Connections
Port,
P8,
Protocol,
MetOne,
Baud,
9600,
Parity,
None,
Handshaking,
None,
Poll_Delay
0.100s
4.3.
Section Title
Nodes
Client Side Node Descriptors
Column Title
Node_Name
Node_ID
Function
Provide name for node
The ‘Device’ Number
Legal Values
Up to 32 alphanumeric characters
1-64
Protocol
Specify protocol used
MetOne.
Specify which port the device is
connected to the FieldServer
Connection
PLC_Type
P1-P8, R1-R21
“237 Family”
“2408” or “Manifold”
“4800”
Identifies for the driver the family
of Particle Counters/Manifolds
connected to.
“HF CNC”
Example
Nodes
Node_Name,
PLC 1,
Node_ID,
1,
Protocol,
MetOne,
PLC_Type,
237 Family,
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-123 MetOne Particle Counter Serial Driver Manual
Page 9 of 26
4.4.
4.4.1.
Client Side Map Descriptors
FieldServer Related Map Descriptor Parameters
Column Title Function Legal Values
Map_Descriptor_Name Name of this Map Descriptor
Up to 32 alphanumeric
characters
Name of Data Array where One of the Data Array names
data is to be stored in the from “Data Array” section
Data_Array_Name
FieldServer
above
Starting location in Data 0 to maximum specified in
Data_Array_Offset
Function
Array
“Data Array” section above
RDBC, WRBC, WRBX
Function of Client Map
Descriptor
4.4.2.
Driver Related Map Descriptor Parameters
Column Title
Function
Legal Values
One of the node names
specified in “Client
Node Descriptor” above
See Map Descriptor
Node_Name
Length
Name of Node to fetch data from
Length of Map Descriptor
Example
for
recommended lengths
"Current Record"
"Hold Time"
"Sample Time"
"Mode"
"Device Select"
“SubDevice/Port
Select”
Specify the function. Additional
Met1_Function
notes
and
explanations
are
provided in the examples.
“Count”
This parameter as well as the
“Address” parameter must be
specified if a SubDevice or Port is
being polled.
This parameter is used to specify Port numbers: 0-63
the SubDevice or Port number if SubDevice numbers: 1-
“Device”
“SubDevice”
“Port”
Met1_SubDev_or_Port
Address
either is being polled.
64
A method of storing count data
using a 3-character label. Use of
this parameter to allows the driver
to know which count to store.
Refer to Section 0 for more
information.
Met1_Label
E.g. “LOC” or “0.1”
4.4.3.
Column Title
Scan_Interval
Timing Parameters
Function
Rate at which data is polled
Legal Values
≥0.001s
FS-8700-123 MetOne Particle Counter Serial Driver Manual
Page 20 of 26
5.
Configuring the FieldServer as a MetOne PC Serial Server
The Server side of the driver was developed to support FST’s QA program. It is not documented
or supported. If you are interested in using the driver to emulate a MetOne Particle Counter then
contact the FST Sales group.
FS-8700-123_MetOne Particle Counter by Hach Ultra Analytics Manual
Appendix A. Driver Error Messages
Page 21 of 26
Message
Description
An attempt was made to send a mode control command to
a device. The required mode is derived from the Data
Array value. This message is printed when the driver
MET1:#01 Err. Cant set mode to doesn’t recognize the value found and thus cannot send
state=%d for MD=%s
the command. This can be resolved by having the
upstream device send a valid value to the DA:offset
associated with the reported MD. Refer to the example in
section 4.9 for more information.
The reported Map Descriptor is being used to send a new
Sample Time to the field device but the time found in the
MET1:#02 Err. Cant set Sample Data Aarray:offset specified on the Map Descriptor is zero.
time to zero. MD=%s
The driver cannot send a sample time of zero. This can be
resolved by by having the upstream/other protocol send a
non-zero value to the DA:Offset.
The reported Map Descriptor is being used to send a new
Hold Time to the field device but the time found in the Data
MET1:#03 Err. Cant set Holde Array:offset specified on the Map Descriptor is zero. The
time to zero. MD=%s
driver cannot send a sample time of zero. This can be
resolved by by having the upstream/other protocol send a
non-zero value to the DA:Offset.
Message 4a is printed when a response to a poll for the
Sample/Hold time returned a response whose time cannot
be correctly understood by the driver. If this error occurs
rarely it may be a consequence of an occasional
corruption. If it occurs consistently, take a log, ensure this
MET1:#04a/b Err. Invalid time event occurs at least once during the log and contact Tech
string=%s MD=%s
Support. The FieldServer web site provide tools and
instructions for taking logs.
Message 4b is printed when the time is formatted correctly
but found be an invalid time. The same considerations
apply as with 4a.
MET1:#05 FYI. MD=%s too short
This message is printed once and trhen suppressed.
to
store
all.
Ignored
stat
incremented each time this
happens. Play safe - set MD
length=20.
The Map descriptor is not long enough to store all data
from the record..2 Refer to section 4.11.
If a response to a read Current Record contains a
checksum error the driver prints this message.
If this error occurs rarely then it may be a consequence of
an occasional corruption. If it occurs consistently, take a
log, ensure this event occurs at least once during the log
and contact Tech Support. The FieldServer web site
provide tools and instructions for taking logs
MET1:#06 Err. Cant store Current
Record. Chksum err.
2
Update the configuration file, download the modified configuration file and reset the FieldServer for the
changes to take effect.
FS-8700-123_MetOne Particle Counter by Hach Ultra Analytics Manual
Page 22 of 26
Message
Description
MET1:#07 Err. Cant find DA=%s
to get Mode.
MET1:#07b Err. Cant find DA=%s
to set Mode.
Printed by the Server side of the driver. The Server cant
find the specified DA which will be used to store incoming
data or from which data will be extracted to form a
response.3
MET1:#07c Err. Cant find DA=%s
to get current record.
MET1:#07d Err. Cant find DA=%s
to store times.
MET1:#08a Err. Invalid time
string=%s
MET1:#08b Err. Invalid time
string=%s
Printed by the Server side of the driver. See notes for #4.
The reported MD has a Met1 function not recognized by
MET1:#09a
Err. the driver. This should never happen. Take a log and send
Met1_Function=%d is unknown. a copy of the log and your configuration to Tech Support.
MD=%s
The FieldServer web site provide tools and instructions for
taking logs
This messages is printed a maximum of 15 times and then
suppressed.
Where the label method is being used to store data. (See
section 4.13) then this message is printed if the driver can’t
Met1:#10 FYI. No place to store find an Map Descriptor with a label which matches the
label data. Label=%s MD=%s
reported label found in the message from the field device.
The message is printed simply to alert users to what count
labels are being returned. Passive Map Descriptors can
be created to store the reported data, or the message
could be ignored.
MET1:#11a Err. Diagnostic 6
MET1:#11b Err. Diagnostic 1
MET1:#11c Err. Diagnostic 4
MET1:#11d Err. Diagnostic 2
Printed by the Server side of the driver. These are printed
when internal diagnostics are triggered. This should never
be the case in an operational system. Take a log and
contact Tech Support. The FieldServer web site provide
tools and instructions for taking logs
MET1:#11e Err. Diagnostic 7
MET1:#12 FYI. Use an Array
called <%s> to expose diagnostic
info.
This message can be ignored. For more information read
Appendix A.2
3
Update the configuration file, download the modified configuration file and reset the FieldServer for the
changes to take effect.
FS-8700-123_MetOne Particle Counter by Hach Ultra Analytics Manual
Page 23 of 26
Message
Description
MET1:#13 Err. Node=%d cant be The reported device could not be selected because there
selected because not defined in isnt a node descriptor whose Node_ID matches the
config.
reported device.4
The driver has set the default poll delay to the reported
value. This setting can be overridden in the configuration
file.4
"Met1:#14
overridden to %d
FYI
Poll_Delay
The driver has determined that the Length parameter is
too small. The reported length is the driver suggestion. 4
The parameter called Length must be specified for each
Map Descriptor. It tells the FieldServer how much Data
Array space to reserve. Review the Map Descriptor
examples in this manual. 4
Met1:#15 Err. Set MD Length=%d
Met1:#16 Err. Set MD Length
MET1:#17 Err. MD too long,
Max=%u
Review the Map Descriptor examples in this manual. 4
MET1:#18 Err. Invalid Port=%d.
Valid Range=0-63
Invalid entry for port.4
MET1:#19
Err.
Invalid
SubDevice=%d. Valid Range=1- Invalis entry for SubDevice4
64
MET1:#20 Err. Met1_Function not
specified
The parameter “Met1_Function’ must be specified for
every Map Descriptor. Refer to Section 4.4.2 as well as
MET1:#21
Met1_Function='%s'
recognized
Err.
not
Map Descriptor examples provided in Chapter 4.4
Appendix A.1. Driver Operating and Error Statistics
These notes outline any driver specific use of the normal driver operating stats documented
in the FieldServer Configuration Manual.
•
Timeouts : During normal polling, a timeout can mean that the field device did not
respond to the select message, (or the sub-device select message) or did not respond to
the poll for data or the command poll.
•
•
•
Exception Stats: If the driver select a device , sub-device or port and the return code
from the device is unexpected the this stat is incrmented by 1.
Ignored Stats: If the current record is read and there is more data than can be stored
than specified by the Length of the Map Descritor then this stat is incremented.
The driver does not use the normal operating stats to count message and bytes received
in response to select / sub select messages.
4
Update the configuration file, download the modified configuration file and reset the FieldServer for the
changes to take effect
FS-8700-123_MetOne Particle Counter by Hach Ultra Analytics Manual
Appendix A.2. Driver Exposed Operating and Error Statistics
Page 24 of 26
In addition to the normal operating stats the driver can expose additional operating/error
stats in a Data Array which can be monitored by a remote device.
A special Data Array name is required. The driver recognizes the Data Array by its name
which must be "met1-stats"
The following example shows how this Data Array can be configured. This section of text
can be copied directly into the CSV file.
Data_Arrays
Data_Array_Name,
Met1-stats,
Data_Format,
UINT32,
Data_Array_Length
1000
The driver stores the following data. The location in the data array is obtained by
multiplying the port number by 100 and then using the location offset indicated in the table
below.
Offset + x
Where x = port_number*100
Physical Port 1 = Port Number 2
Physical Port 2 = Port number 1
Offset Description
1
2
3
4
Stores the select code of the most recently selected device - This is done by the Server
side of the driver
Stores the select code of the most recently selected sub-device/port - This is done by the
Server side of the driver
Stores the operating command code of the most recently commanded device/sub-
device/port - This is done by the Server side of the driver
When the driver stores current record counts by label then the driver stores the 1st
character of the label here. This gets overwritten each time new label data is stored.
See previous. 2nd Character.
See previous. 3rd Character.
See previous. 4th Character.
Increments by 1 each time driver stores using the label method.
Increments by 1 each time internal diagnostic 1 is triggered. Should be zero in operational
systems.
5
6
7
8
9
10
11
12
13
Increments by 1 each time internal diagnostic 4 is triggered. Should be zero in operational
systems.
Increments by 1 each time internal diagnostic 5 is triggered. Should be zero in operational
systems.
Increments by 1 each time internal diagnostic 6 is triggered. Should be zero in operational
systems.
Increments by 1 each time internal diagnostic 7 is triggered. Should be zero in operational
systems.
14
15
16
17
Increments by 1 each time there is no response to a select message
Increments by 1 each time there is no response to a sub-device/port select message
Increments by 1 each time there is no response to a non select message
Increments by 1 each time a response has a checksum error. Only current record poll
responses contain checksums.
FS-8700-123_MetOne Particle Counter by Hach Ultra Analytics Manual
Offset Description
Page 25 of 26
18
19
20
21
22
Increments by 1 each time the Client side sends a select message
Increments by 1 each time the Client side sends a sub-device select message
Increments by 1 each time the Client side sends a port select message
Stores the select code of the most recent select message sent by the Client
Stores the sub-device/port select code of the most recent sub-device/port select message
sent by the Client
23
24
Each time Client side sends a message this stat increments by 1
Each time Client side sends a message this stat increments by the number of bytes in the
message
25
26
Increments by 1 each time a complete response is received from the field device
Increments by the number of bytes contained in a complete response received from the
field device
FS-8700-123_MetOne Particle Counter by Hach Ultra Analytics Manual
Page 26 of 26
THIS PAGE INTENTIONALLY LEFT BLANK
|