The Veeder-Root Serial Driver allows the FieldServer to transfer data to and from devices over
either RS-232 or RS-485 ports using Veeder-Root protocol as defined in Veeder Root
Document 576013-635 Revision J.
The FieldServer emulates a Client.
The Veeder-Root Serial Driver is a poll response driver. Only one query or command can be
processed at a time.
A limited set of the queries and commands defined in the protocol specification have been
implemented. The reason for the limitation is two-fold. Firstly, not all commands/queries will
have any meaning to a downstream device as they are principally defined to configure the
Veeder-Root Device. Secondly some commands return very complex data sets which cannot
be processed in a method suitable for loading into the FieldServer’s Data Arrays.
The driver is capable of exposing its communications statistics. This can be useful if you wish
to monitor them using a downstream device. In this way you can ensure that you are using
valid data and can generate alarms if communication problems arise.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
The FieldServer is connected to the Veeder-Root Panel as shown below.
Configure the Veeder-Root Panel according to manufacturer’s instructions.
TLS-350
8917-07
RJ45 CAT 5 Cable
Connect to
RS232 port P1-P8
P3 P4 P5 P6P8N1 N2
P1P7R1P2R2
Tx Rx Tx
P4P1RxP2 P3
TxRx Rx
RS232
Tx Rx Tx TxRx Rx
P7P5 P6
P8 R1
Tx Rx Tx Rx Tx
R2Net 1
TxRxRxTx Con
RS485
Tx Rx Con
10 Base T
ETHERNET
Net 2
Sys
Act
Run
Pwr
Com
FieldServer
8917-07 WIRE LIST
FIELDSERVER
FUNCTIONFROMTOCOLOR
RXRJ45-01DB25M-02 WHITE
CTSRJ45-02DB25M-05 BROWN
DSRRJ45-03DB25M-08 YELLOW
GNDRJ45-04DB25M-07 GREEN
DTRRJ45-06DB25M-20 BLACK
RTSRJ45-07DB25M-06 ORANGE
TXRJ45-08DB25M-03 BLUE
VEEDER ROOT
CONNECTION DIAGRAM
BASE NAME:
FILE NAME: FS-T28700-74 .VSD
DATE: 1/17/02
BY: MN
(408)-262-2299
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
4. Configuring the FieldServer as a Veeder-Root 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.
This section documents and describes the parameters necessary for configuring the FieldServer
to communicate with a Veeder-Root Device.
The configuration file tells the FieldServer about its interfaces, and the routing of data required.
In order to enable the FieldServer for Veeder-Root Driver 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.
Up to 32 alphanumeric
characters
One of the Data Array names
from “Data Array” section
above
0 to maximum specified in
“Data Array” section above
RDBC, WRBC, WRBX
Page 9
FS-8700-74 Veeder Root Driver Manual Page 9 of 33
4.4.2. Driver Specific Map Descriptor Parameters
Column
Title
Function Legal Values
Node_Name Name of Node to fetch data from
Data_Type Data type
The address is used to specify the
Tank/Sensor/Input /Relay … Number to
be used in the poll. For some data
types the address has no meaning and
should be set to 1.
Veeder-Root Tanks / Sensors … are
*Address¥
numbered from 1. The maximum tank
number is 12 and the maximum sensor
number if 64.
When zero is used as the value of the
address then (in most cases) the driver
polls for all Tanks/ Sensors belonging
to that data type. This is discussed in
the Advanced Topics Section.
Length of Map Descriptor
The length is used to tell the driver how
many elements of the Data Array are
Length¥
under the control of the Map Descriptor.
This is important because the driver
uses the length to, for example, clear
Data Array elements when a
Tank/Sensor has no alarms.
One of the node names
specified in “Client Node
Descriptor” above
System, Tank, Liquid Sensor,
Vapor Sensor, Input,
Volumetric Line, Groundwater
Sensor, Type-B Sensor,
Universal Sensor, Auto-Dial,
Mech. Dispenser, Elec.
Dispenser, Product, Press.
Line, External, WPLLD
0, 1, 2, 3…
1 - 1000
4.4.3. Timing Parameters
Column Title Function Legal Values
Scan_Interval Rate at which data is polled >0.1s
¥
See Appendix A.1 for Data Type, Address and Length Limitations.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
FS-8700-74 Veeder Root Driver Manual Page 10 of 33
)
4.4.4. Map Descriptor Example 1 - Alarms.
This example provides one Map Descriptor to poll for alarm data and many Map Descriptors to store the response from the poll. One
Map Descriptor is required for each tank/sensor/input/device defined for the system. The address of each of these passive Map
Descriptors must correspond to the tank/sensor/input/device number. For example, where 5 tanks are defined as tanks 1,2,3,6,7
then 5 Map Descriptors with the data type ‘Tank’ are required and the address of each of these 5 Map Descriptors must be set to
1,2,3,6,7. The length parameter tells the driver how much array space is reserved for each tank/sensor… for storing alarms.
The length parameter tells the driver how much array spac e must be reserved
Only the Map
Descriptor used to
generate the poll
requires a scan
interval.
These Map
Descriptors are
passive because
they do not
generate
messages. They
are used to store
data returned by
the system status poll.
The address must
correspond to the
tank/sensor/input/device
number.
One Map Descriptor
required for each
tank/sensor/input/device.
for storing alarms for a given tank/sensor/input/device.
When an alarm occurs for tank 1 the driver stores the alarm type by setting
the array position corresponding to the alarm type to a non-zero value as well
as setting the first element of the reserved space non-zero a s a summary.
See Table 6.3 for alarm type numbers and descriptions.
Example: Tank 1 has two alarms
02 = Tank Leak Alarm
05 = Tank Low Product Alarm
The driver sets array DA_T 1 as follows
Index=0 : Value=1 (Summary)
Index=2 : Value=2 (Leak)
Index=5 : Value=5(Product
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
FS-8700-74 Veeder Root Driver Manual Page 11 of 33
4.4.5. Map Descriptor Example 2 - Inventory
This example illustrates how you can poll for Tank Inventory Data. You need one Map Descriptor for each tank. Change the address
to correspond to the tank number. The Length parameter DOES NOT tell the driver how many tanks to process but it does tell the
driver how much storage space to reserve for storing the inventory data. The inventory data is stored as follows.
Reading the
inventory requires
an active Map
Descriptor.
Set the address equal to the
tank number. One Map
Descriptor per tank.
This is the minimum number of Data
Array elements required to store
inventory data.
Tanks 1’s data will be stored in the
array DA_INVENTORY starting at the
zero’th element (offset=0) and 10
elements of the array are reserved for
this data.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
Setting the data type
generates the
correct poll. Ensure
that spelling,
periods, hyphens in
exactly the same as
this example.
Page 12
FS-8700-74 Veeder Root Driver Manual Page 12 of 33
4.4.6. Map Descriptor Example 3 – Most Recent Delivery Report
This example illustrates how you can poll for Tank Delivery Data. You need one Map Descriptor for each tank. Change the address
to correspond to the tank number. The Length parameter DOES NOT tell the driver how many tanks to process but it does tell the
driver how much storage space to reserve for storing the delivery data. The delivery data is stored as follows. (This function
corresponds to the function 20C in the Veeder-Root protocol specification.)
FS-8700-74 Veeder Root Driver Manual Page 13 of 33
5. Configuring the FieldServer as a (Veeder-Root Driver) Server
The server functionality of this driver was developed for testing the Client. Its features are not
documented and not intended for end-users. It may be possible to extend and document the
server at the request of an end-user.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
FS-8700-74 Veeder Root Driver Manual Page 14 of 33
Appendix A. Advanced Topics
Appendix A.1. Data Type and Required Lengths
The following table provides a list of possible values for the data type parameter as well as
the minimum value that the length parameter should be set to for each Map Descriptor of
that data type.
Data Type Length Parameter Setting
Normal 1
System 30
Tank 30
Liquid Sensor 30
Vapor Sensor 30
Input 30
Volumetric Line 30
Groundwater Sensor 30
Type-A Sensor 30
Type-B Sensor 30
Universal Sensor 30
Auto-Dial 30
Mech. Dispenser 30
Elec. Dispenser 30
Product 30
Press. Line 30
WPLLD 30
External 30
Relay 30
Configuration 1
In-Tank Inventory 10
Misc 20
In-Tank Delivery 100
System Reset 20
Clear Power Reset 20
Remote Alarm Reset 20
Confirm Clear 20
Clear Delivery Reports 20
Start In-Tank Leak Detect Test 20
Stop In-Tank Leak Detect Test 20
Delete CSLD Rate Table 20
Start P-Line Leak Detect Test 20
Stop P-Line Leak Detect Test 20
Start WPLLD Leak Detect Test 20
Stop WPLLD Leak Detect Test 20
System Status 1
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
FS-8700-74 Veeder Root Driver Manual Page 15 of 33
Appendix A.2. Supported Functions
The Veeder-Root protocol specification defines a large number of enquiries and commands
that may be sent to a Veeder-Root device. This driver supports a limited set of the functions.
The revision number indicates the minimum Veeder-Root firmware revision required for
support of the function.
Function_ Revision_ Description
SYSTEM REPORTS (7.2.1)
101 1 System Status Report
102 1 System Configuration Report
113 14 Active Alarm Report
114 19 Cleared Alarm Report
IN-TANK REPORTS (7.2.2)
201 1 In-Tank Inventory Report
202 1 In-Tank Delivery Report
203 1 In-Tank Leak Detect Report
204 1 In-Tank Shift Inventory Report
205 1 In-Tank Status Report
20C 15 In-Tank Most Recent Delivery Report
20D 15 In-Tank Stick Height Report
SENSOR REPORTS (7.2.3)
301 1 Liquid Sensor Status Report
306 1 Vapor Sensor Status Report
311 1 Groundwater Sensor Status Report
341 2 Type A (2 Wire CL) Sensor Status Report
346 2 Type B (3 Wire CL) Sensor Status Report
34B 4 Universal Sensor Status Report
LINE LEAK REPORTS (7.2.4)
381 7 Pressure Line Leak Status
386 10 WPLLD Li ne Leak Status
I/O DEVICE REPORTS (7.2.6)
401 1 Input Status Report
406 1 Relay Status Report
SYSTEM DIAGNOSTIC REPORTS (7.4.1)
901 1 Self Test Results Report
902 1 System Revision Level Report
905 15 System Revision Level Report II
CONTROL FUNCTIONS (7.1)
1 1 System Reset
2 1 Clear Power Reset Flag
3 1 Remote Alarm Reset
31 10 Confirm Clear Function
51 1 Clear In-Tank Delivery Reports
52 1 Start In-Tank Leak Detect Test
53 1 Stop In-Tank Leak Detect Test
54 5 Delete CSLD Rate Table
81 7 Start Pressure Line Leak Test (3.0 GPH only in V18)
82 7 Stop Pressure Line Leak Test
83 10 Start WPLLD Line Leak Test (3.0 GPH only in V18)
84 10 Stop WPLLD Line Leak Test
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
FS-8700-74 Veeder Root Driver Manual Page 16 of 33
The function numbers in Appendix A.1are hexadecimal numbers. If you specify them in the
CSV file using the Veed_Function parameter then either convert them to decimal or
specify them in the CSV file using the notation 0xnnn where nnn is the function number.
Example:
…..,Veed_Function, ….
….., 0x901 ,….
Appendix A.3. Alarm Types
Category Alarm Type & Description
1 System 1 Printer out of Paper
1 System 2 Printer Error
1 System 3 EEPROM Configuration Error
1 System 4 Battery Off
1 System 5 Too Many Tanks
1 System 6 System Security Warning
1 System 7 ROM Revision Warning
1 System 8 Remote Display Comm unications Error
1 System 9 Autodial Error
1 System 10 Software Module Warning
1 System 11 Tank Test Shutdown Warning
1 System 12 Protective Cover Alarm
1 System 13 BIR Shift Close Pending
1 System 14 BIR Daily Close Pendin g
1 System 15 PC(H8) Revision Warning
1 System 16 System Self Test Error
1 System 17 System Clock Incorrect Warning
1 System 18 System Device Poll Timeout
2 Tank 1 Tank Setup Data Warning
2 Tank 2 Tank Leak Alarm
2 Tank 3 Tank High Water Alarm
2 Tank 4 Tank Overfill Alarm
2 Tank 5 Tank Low Product Alarm
2 Tank 6 Tank Sudden Loss Alarm
2 Tank 7 Tank High Product Alarm
2 Tank 8 Tank Invalid Fuel Level Alarm
2 Tank 9 Tank Probe Out Alarm
2 Tank 10 Tank High Water Warning
2 Tank 11 Tank Delivery Needed Warning
2 Tank 12 Tank Maximum Product Alarm
2 Tank 13 Tank Gross Leak Test Fail Alarm
2 Tank 14 Tank Periodic Leak Test Fail Alarm
2 Tank 15 Tank Annual Leak Test Fail Alarm
2 Tank 16 Tank Periodic Test Needed Warning
2 Tank 17 Tank Annual Test Needed Warning
2 Tank 18 Tank Periodic Test Needed Alarm
2 Tank 19 Tank Annual Test Needed Alarm
2 Tank 20 Tank Leak Test Active
2 Tank 21 Tank No CSLD Idle Time Warning
2 Tank 22 Tank Siphon Break Active Warning
2 Tank 23 Tank CSLD Rate Increase Warning
2 Tank 24 Tank AccuChart Calibration Warning
2 Tank 25 Tank HRM Reconciliation Warning
2 Tank 26 Tank HRM Reconciliation Alarm
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
13 Universal Sens or Alarm 2 Sensor Setup Data Warning
13 Universal Sens or Alarm 3 Sensor Fuel Alarm
13 Universal Sens or Alarm 4 Sensor Out Alarm
13 Universal Sens or Alarm 5 Sensor Short Alarm
13 Universal Sens or Alarm 6 Sensor Water Alarm
13 Universal Sens or Alarm 7 Sensor Water Out Alarm
13 Universal Sensor Alarm 8 Sensor High Liquid Alarm
13 Universal Sensor Alarm 9 Sensor Low Liquid Alarm
13 Universal Sensor Alarm 10 Sensor Liquid Warning
18 Elec. Dispenser 2 DIM Disabled Alarm
18 Elec. Dispenser 3 DIM Communication Failure Alarm
18 Elec. Dispenser 4 DIM Transaction Alarm
20 Product Alarm 1 BIR Setup Data Warning
20 Product Alarm 2 BIR Threshold Alarm
20 Product Alarm 3 BIR Close Shift Warning
20 Product Alarm 4 BIR Close Daily Warning
21 Pressure Line Leak 1 PLLD Setup Data Warning
21 Pressure Line Leak 2 PLLD Gross Test Fail Alarm
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
FS-8700-74 Veeder Root Driver Manual Page 19 of 33
Category Alarm Type & Description
21 Pressure Line Leak 3 PLLD Annual Test Fail Alarm
21 Pressure Line Leak 4 PLLD Periodic Test Needed Warning
21 Pressure Line Leak 5 PLLD Periodic Test Needed Alarm
21 Pressure Line Leak 6 PLLD Sensor Open Alarm
21 Pressure Line Leak 7 PLLD High Pressure Alarm (Obsolete V19)
21 Pressure Line Leak 8 PLLD Shutdown Alarm
21 Pressure Line Leak 9 PLLD High Pressure Warning (Obsolete V19)
21 Pressure Line Leak 10 PLLD Continuous Handle On Warning (Obsolete V19)
21 Pressure Line Leak 11 PLLD Periodic Test Fail Alarm
21 Pressure Line Leak 12 PLLD Annual Test Needed Warning
21 Pressure Line Leak 13 PLLD Annual Test Needed Alarm
21 Pressure Line Leak 14 PLLD Low Pressure Alarm
21 Pressure Line Leak 15 PLLD Sensor Short Alarm (Obsolete V19)
21 Pressure Line Leak 16 PLLD Continuous Handle On Alarm
21 Pressure Line Leak 17 PLLD Fuel Out Alarm
21 Pressure Line Leak 18 PLLD Line Equipment Alarm
26 Wireless PLLD 1 WPLLD Setup Data Warning
26 Wireless PLLD 2 WPLLD Gross Test Fail Alarm
26 Wireless PLLD 3 WPLLD Periodic Test Fail Alarm
26 Wireless PLLD 4 WPLLD Periodic Test Needed Warning
26 Wireless PLLD 5 WPLLD Periodic Test Needed Alarm
26 Wireless PLLD 6 WPLLD Sensor Open Alarm
26 Wireless PLLD 7 WPLLD Communications Alarm
26 Wireless PLLD 8 WPLLD Shutdown Alarm
26 Wireless PLLD 9 WPLLD Continuous Handle On Warning (Obsolete V19)
26 Wireless PLLD 10 WPLLD Annual Test Fail Alarm
26 Wireless PLLD 11 WPLLD Annual Test Needed Warning
26 Wireless PLLD 12 WPLLD Annual Test Needed Alarm
26 Wireless PLLD 13 WPLLD High Pressure Warning (Obsolete V19)
26 Wireless PLLD 14 WPLLD High Pressure Alarm (Obsolete V19)
26 Wireless PLLD 15 WPLLD Sensor Short Alarm (Obsolete V19)
26 Wireless PLLD 16 WPLLD Continuous Handle On Alarm
26 Wireless PLLD 17 WPLLD Fuel Out Alarm
26 Wireless PLLD 18 WPLLD Line Equipment Alarm
99 Externally Detected Alarm 1 Externally Detected Communication Alarm
99 Externally Detected Alarm 2 Communications - Data Reception Timeout
99 Externall y Detected Alarm 3 Commun ications - Failed Checksum
99 Externally Detected Alarm 4 Communications - Parity Error
99 Externall y Detected Alarm 5 Modem - Li ne Busy
99 Externall y Detected Alarm 6 Modem - No Answer
99 Externall y Detected Alarm 7 Modem - No C arrier
99 Externall y Detected Alarm 8 Modem - No D ial Tone
99 Externall y Detected Alarm 9 Modem - Modem Error
99 Externall y Detected Alarm 10 Modem - Modem Not Responding
99 Externall y Detected Alarm 11 Modem - Port Not Available
99 Externall y Dete cted Alarm 12 Polling - Could Not Update Q ueue
99 Externall y Detected Alarm 13 Polling - Invalid Data T ype Requeste d
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
FS-8700-74 Veeder Root Driver Manual Page 20 of 33
Appendix A.4. Security Codes
The RS-232 security code is an optional six-digit code used to limit external serial access to
the system for security purposes. It can be set to any unique set of characters using either
the front panel switches or the external communication interface setup commands. The
system will not respond to a command without the proper security code, if the DIP switch is
set to enable RS-232 security.
A four-position DIP switch is located on the CPU board, which is mounted in the right-back
of the console printer compartment. The DIP switch is next to the battery switch. The DIP
switch enables the security code and the switch positions are assigned as follows:
Switch
1 Front Panel Setup Security Enable
2 RS-232 Security Enable
3, 4 Unused
If RS-232 security is enabled then the Route parameter must be specified for the node. Set
the route parameter equal to the security code. Use a period to separate each digit of the
code.
Example: Security Code=234419
Set Route = 2.3.4.4.1.9
Special Note for security codes with alphabetic characters : Alphabetic characters cannot be
directly specified in the route field. They need to be specified as ASCII values.
Example : Security Code = 123abc
Set Route = 1.2.3.97.98.99
If the security feature has been disabled on the panel the set the route to zero as illustrated
in the following CSV file fragment.
FS-8700-74 Veeder Root Driver Manual Page 21 of 33
Appendix B. Trouble Shooting and Driver Error Messages
Driver statistics provide an effective troubleshooting method.
Generally RUINET may be used to monitor the driver stats. The connection overview screen
displays the number of messages & bytes sent / received as well as the number of errors.
As a point of departure:
• The number of messages received should equal the number of messages sent.
• The number of errors should be zero (in a perfect world) or should represent a small
percentage of the total number of messages sent (less then 5%).
• Several errors in consecutive messages may cause the FieldServer kernel to place the node
offline in which case polling is slowed significantly until good communications are reestablished.
If the number of messages received is zero and the number of timeouts is equal to the number
of messages sent then
• The connection is bad. Check the cables …
• The security configuration is invalid
• The port settings are incorrect. Check the baud rate ….
If the number of messages received and the number of messages sent are roughly equal and
the number of errors is small but the Data Arrays do not update then
• If you are polling for System Status – Check the 1
with the poll Map Descriptor. The driver sets or clears the element as a summary alarm state
for the Veeder-root device. Check that the data age is no more than the scan interval.
If the number of messages ignored is non-zero then this indicates that some data cannot be
stored and is being discarded. Generally this arises when the driver cannot find an appropriate
Map Descriptor to store data received in response to a poll (for composite data such as system
status). For example: A system alarm occurs but you have not defined Map Descriptors to store
system alarms or an alarm occurs for a sensor for which you have not defined a Map
Descriptor.
You can monitor the error log to see if the driver has reported any errors or important
information. These messages arise in two ways. Firstly, there are configuration errors and
warnings which arise from the way that the CSV file has been configured. You should eliminate
all these errors before putting your system into production. Secondly there are errors that arise
from some run-time condition. Many of these errors are produced in the error log only once
even though they may be produced over and over. The driver suppresses repetition so that the
log does not overflow or hide other meaningful information.
Messages proceeded with an* are ones where multiple occurrences are suppressed by the
driver. Thus the error may occur continuously but only one occurrence will be reported in the
error log.
st
element of the Data Array associated
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
FS-8700-74 Veeder Root Driver Manual Page 23 of 33
Error Action Required
This message is generated the first time that the Error Statistic
‘Function Error’ is produced. This error can arise in several
ways. The firmware version of the Veeder-Root device may not
*VRoot:#13 Err. Device
Rejected message.
Md=<%s>
support the poll generated by the Map Descriptor. The Veeder-
Root device may not have the tank/sensor/device specified or it
may arise if the message received by the Veeder-Root device is
corrupted. If there are a significant number of these errors then
use Appendix A.2 to determine if the firmware supports the poll.
You can also check the devices configured against the address
specified in the Map Descriptor.
When this error is produced incoming data is being discarded
and alarm or other data will not be updated. There are a few
variations on this message. Some do not report the Rqd length.
*VRoot:#16 Err. Array too
short to store. Md=<%s>
Rqd=%d
This message is produced as a run-time error. It may arise from a
configuration error that has not been corrected. Check for Error
#7 messages. If there are any correct the errors by editing the
CSV file. Then reset the FieldServer. If the driver is still
producing error 16 then you should report this to FieldServer
support. Provide a copy of your configuration file and a port log
to assist in the diagnosis of this error.
*VRoot:#17 Err. Array too
short to store. Md= <%s>
ByteArray
*VRoot:#18 Err. Array too
short to store. Md= <%s>
Float Array
This error is similar to #16 except that it applies to the array
named in the DA_Byte_Name parameter for the Map Descriptor.
This error is similar to #16 except that it applies to the array
named in the DA_Float_Name parameter for the Map Descriptor.
You cannot take any corrective action to eliminate this error.
VRoot:#19 Err. Cant
process msg type= %x
Report the message to FieldServer support. It will assist in the
diagnosis of the error if you can take a port log and provide a
copy of your CSV file.
This message is a warning. It indicates that a response to a poll
contains data for which a Map Descriptor cannot be found to
*VRoot:#20 FYI. Incoming
data is being abandoned.
Func= %x DT= <%s>
Addr=%d
store the data. For example: The response to poll for System
Status returns an alarm for Liquid Sensor #3 but you have not
defined a Map Descriptor for Liquid sensor #3. You may be able
to use the Data Type and the Address to determine what kind of
Map Descriptor is required. If, however, you are satisfied that you
have Map Descriptors for the data of interest to you then you may
safely ignore this message.
*VRoot:#21 Err. Md=<%s>
not bound to a port. Can’t
be used.
§
Vroot:#22 FYI. Config
reported zero modules.
*VROOT:#23 Err. Address=
0 invalid for this command.
Read the notes for Error #4 to see how to correct this problem.
You may ignore this message. The Veeder-Root device reported
zero configured modules in response to a configuration enquiry.
Set the address to a positive number corresponding to the
tank/sensor/input/device whose data you are polling for.
§
This is a configuration error which can be eliminated by correcting an error in the CSV file and resetting
the FieldServer.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
FS-8700-74 Veeder Root Driver Manual Page 24 of 33
Error Action Required
Md= <%s>§
Check the data type’s spelling spacing and punctuation. If this is
correct and you have specified the Veed_Function parameter in
*VROOT:#24 Err.
Function=%x not supported.
Md= <%s>
§
the Map Descriptor then check that the function is supported by
the driver (Table 6.1) and check that you specified it correctly.
The functions numbers in table 6.1 are hexadecimal numbers.
Either convert them to decimal or specify them in the CSV file
using the notation 0xnnn where nnn is the function number.
This message may be safely ignored. It does not indicate an
VROOT:#25 FYI.
Node=<%s> No password.
Is security disabled on
panel?
error. This message is printed once for each node which does not
have a password. This message provides confirmation that your
configuration is not using a password and suggests that you
check the panel configuration for the corresponding node to
ensure that the security feature has been disabled. Additional
information is provided in Appendix A.4
This message may be safely ignored. It does not indicate an
VROOT:#26 FYI.
Node=<%s>
Password=<%s>. Is
security enabled on panel?
error. This message is printed once for each node which does
have a password configured in the CSV file. This message
provides confirmation that your configuration is using a password
and suggests that you check the panel configuration for the
corresponding node to ensure that the security feature has been
enabled. Additional information is provided in Appendix A.4
Appendix B.1. Driver Stats
In addition to the standard FieldServer communication statistics described in the FieldServer
User’s Manual Veeder-Root Driver can also expose some driver statistics by writing data to
a Data Array. A special Map Descriptor named “vroot-stats” is required.
The following example shows how this special Map Descriptor can be configured. You can
copy this section of text directly into your CSV file.
When the driver sees this Map Descriptor it uses the Data Array VROOT _STATS (in this
example) to store driver specific statistics. Only one of these Map Descriptors may be
specified per FieldServer.
§
This is a configuration error which can be eliminated by correcting an error in the CSV file and resetting
the FieldServer.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
FS-8700-74 Veeder Root Driver Manual Page 26 of 33
p
Appendix C. Advanced Map Descriptor Examples
Appendix C.1. Advanced Example 1 – Polling for Tank / Sensor / Input / Relay / Device Status
In section 4.4.1 we polled for the system status. This returns the alarm states for the whole system which includes tank status
information. In this example we poll directly for the status of a particular tank. Only the status of this tank is returned. The length
parameter reserves space in the array for the driver to store the possible alarm states for the tank. The table in section 6.2 provides
details of the alarm types.
The first element of the array is used to store an alarm summary state. The array element is set non-zero if there are any alarms and
is set to zero if there are none. The remaining array elements are set non-zero based on the types of alarms active for the tank.
Example: Tank 1 has two alarms 02 = Tank Leak Alarm 05 = Tank Low Product Alarm
The driver sets array DA_TANK1_ALMS as follows
Index=0 : Value=1 (Summary) Index=2 : Value=2 (Leak) Index=5 : Value=5 (Product)
Map_Descriptor_Name Data_Array_Name Data_Array_Offset Function Scan_Interval node_name Address Length Data_Type
Tank1_01_status DA_TANK1_ALMS 0 rdbc 1.0s Node_A 1 30 Tank
The biggest difference
between this Map
Descriptor and the one
provided in example
4.4.4 is that this is an
active Map Descriptor
producing a poll
whereas the other
example is passive
relying on the
response to a different
oll.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com
The address must
correspond to the tank
number (in this
example or the sensor
/ input / relay / device
number depending on
the data type. )
Amount of array space
required to store the
alarm types.
Other possible values
are
System
Liquid Sensor
Vapor Sensor
Input
Groundwater Sensor
Type-A Sensor
Type-B Sensor
Universal Sensor
Press. Line
WPLLD
Relay
Page 27
FS-8700-74 Veeder Root Driver Manual Page 27 of 33
Appendix C.2. Advanced Example 2 – Resetting Remote Alarms
This example provides a ‘write-on-change’ Map Descriptor used to send the Veeder-Root device a remote alarm reset command.
When the value of the first element of the array named DA_COMMANDS changes value the driver will send the command. The
driver stores the Veeder-Root System time in the array on completion of the command.
Appendix C.3. Advanced Example 3 – System Configuration
This example reads the configuration of the Veeder-Root Panel. The module type is stored in the location corresponding to the slot
number. Slot 1’s data is stored at index location 0, slot 2 at index location1, and if you define the DA_Byte_Name and
DA_Float_Name arrays then the driver also stores the Power on Reset and Current Values in the corresponding array locations.
FS-8700-74 Veeder Root Driver Manual Page 28 of 33
Appendix C.4. Advanced Example 4 – System Diagnostics
This example reads the System Diagnostics Report from the Veeder-Root Panel. The results are stored in 3 consecutive array
elements. If the value is set non-zero then the test FAILED. A value of zero means the test passed.
Index Contents
I/O test result
Ram test result
Prom test result
FS-8700-74 Veeder Root Driver Manual Page 29 of 33
Appendix C.5. Advanced Example 5 – System Revision Level Report
This example reads the System Revision Level from the Veeder-Root Panel. The result is stored in ascii using up to 100
consecutive array elements. Use an array whose format is BYTE or STRING for this function. The notes below explain how the data
should be interpreted.
FS-8700-74 Veeder Root Driver Manual Page 30 of 33
Appendix C.6. Advanced Example 6 – System Revision Level Report II
This example reads additional System Revision Level data from the Veeder-Root Panel. The result is stored in ascii using up to
100 consecutive array elements. Use an array whose format is BYTE or STRING for this function. The notes below explain how the
data should be interpreted.
i90500YYMMDDHHmmSOFTWARE# 346abb-Tvv-rrrCREATED - YY.MM.DD.HH.mmnnAABBCCDDEEFFGGHHIIJJS-MODULE# nnnnnn-vvv-r
YYMMDDHHmm - Current Date and Time
346 - Software Base number (fixed)
a – Platform
(0 = Standard CPU, PLLD only 1 = Enhanced CPU 2 = (Unused) 3 = Enhanced CPU 16 Tank 4 = Standard CPU without PLLD & WPLLD 5 = Standard CPU,
WPLLD only )
bb - Version level (egg version "15")
T - Software Type (1 = "Real" 2 = "Demo" 3 = "IFSF")
vv - Language
rrr - Revision level (e.g. revision "AX1")
YY.MM.DD.HH.mm - Date and time of software creation
nn - number of 2 byte values to follow (Hex)
AA - PERIODIC IN-TANK TESTS (00 = DISABLE, 01 = ENABLE)
BB - ANNUAL IN-TANK TESTS (00 = DISABLE, 01 = ENABLE)
CC - CSLD (00 = DISABLE, 01 = ENABLE)
DD - BIR (00 = DISABLE, 01 = ENABLE)
EE - FUEL MANAGER (00 = DISABLE, 01 = ENABLE)
FF - PRECISION PLLD (00 = DISABLE, 01 = ENABLE)
GG - TANKER LOAD (00 = DISABLE, 01 = ENABLE)
HH - 0.2 GPH PLLD (00 = DISABLE, 01 = ENABLE)
II - PRECISION PLLD ON DEMAND (00 = DISABLE, 01 = ENABLE)
JJ - SPECIAL 3-TANK/LINE CONSOLE (00 = DISABLE, 01 = ENABLE)
nnnnnn-vvv-r - SEM Info 3 parts, if none "NO SOFTWARE MODULE"
nnnnnn - SEM number (ASCII text string)
vvv - SEM Software version number (ASCII text string)
r - SEM Software revision level (ASCII text string)
FS-8700-74 Veeder Root Driver Manual Page 31 of 33
Appendix C.7. Advanced Example 7 – Stick Height Report
This example reads the Stick height Report from the Veeder-Root Panel. The result is stored as a (scaled if scaling specified in the
Map Descriptor) real number. Use one Map Descriptor per tank.
FS-8700-74 Veeder Root Driver Manual Page 32 of 33
Appendix C.9. Advanced Example 9 – Cleared Alarm Report
This example reads the Veeder-Root Panel for cleared alarms. If there are any cleared alarms then the 1st element of the Data
Array is set non-zero. If there are no cleared alarms then the array element is set to zero. You need a number of passive Map
Descriptors to store the cleared alarm info for the tanks / sensors / inputs / devices just like in example 4.4.4
The data is stored in the array specified using the DA_Byte_Name parameter of the passive Map Descriptors.
If there are active alarms they will get stored in the
primary array. The cleared alarm information gets
stored in the secondary array specified with the
DA_Byte_Name
The value stored is a 1 to show alarm cleared
Or 1 2 to show alarm occurred.
The value is stored at the location which
corresponds to the alarm type.
Thus if a 02 = Tank Leak Alarm was cleared then
at index=2 the value stored will be a one.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldserver.com