FS8700-115 – ASCII General Purpose

Driver Manual

(Supplement to the FieldServer Instruction Manual)

FS-8700-115 General Purpose ASCII


Effective for all systems manufactured after May 1, 2001



Driver Version: 1.00

Document Revision: 4


1. GPA (General Purpose ASCII) Driver Description


The serial GPA (General Purpose ASCII) Driver allows the FieldServer to accept data from remote devices which produce an ASCII byte stream. A typical example of such a device is an electronic scale producing an output similar to the one below.


:weight 0.57 Kg Tare 44.3 Kg 1 2 3 4 -5 -6.7


The driver waits passively for messages. When a message is received the driver converts each space delimited string of characters/numbers into a number. The numbers so formed are stored in consecutive elements of a Data Array. Referring to the example above, the driver will store the value .57 in the 1st element of the Data Array (DA), the value 44.3 in the next element, the value 1 in the next, the value 2 in the next etc.


The driver can process negative numbers.


This driver has significant limitations:

Only one data stream per connection – if two different streams of string data are sent to the same port, the data from the one will overwrite data from the other.

The driver can only process numbers that are presented in a simple numeric form.

Hexadecimal, Exponent-mantissa and other complex forms cannot be processed.


Max Nodes Supported

FieldServer Mode Nodes Comments
Client 1 Only 1 node per port.
Server The driver cannot serve data


2.  Driver Scope of Supply

2.1. Supplied by FieldServer Technologies for this driver


FieldServer Technologies PART # Description
FS-8915-10 UTP cable (7 foot) for Ethernet connection
FS-8915-10 UTP cable (7 foot) for RS-232 use
FS-8917-02 RJ45 to DB9F connector adapter
FS-8917-01 RJ45 to DB25M connection adapter
FS-8705-96 Driver Manual.


 2.2  Provided by the Supplier of 3 Party Equipment

2.2.1  Required 3rd Party Hardware

Part # Description


2.2.2  Required 3 Party Configuration


Consult your vendor documentation. It is not possible to provide direction here as this driver can be connected to a huge range of devices.


3. Hardware Connection

The FieldServer is connected to the vendor device as shown in connection drawing.

Configure the ASCII Passive Client according to manufacturer’s instructions






4.  Configuring the FieldServer as an GPA Driver 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 GPA (General Purpose ASCII) Driver Server.



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 GPA (General Purpose ASCII) 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.



Section Title
Column Title Function Legal Values
Data_Array_Name Provide name for Data Array Up to 15 alphanumericcharacters
Data_Array_Format Provide data format. Each Data  Array can only take on one format. Float, Bit, UInt16, SInt16, Packed_Bit, Byte,Packed_Byte, Swapped_Byte
Data_Array_Length 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



// Data Arrays
Data_Array_Name, Data_Array_Format, Data_Array_Length
DA_AI_01,        UInt16,            200
DA_AO_01,        UInt16,            200
DA_DI_01,        Bit,               200
DA_DO_01,        Bit,               200




 4.2  Client Side Connection Descriptions


Section Title
Column Title Function Legal Values
Port Specify which port the device is connected to the FieldServer P1-P8, R1-R21
Protocol Specify protocol used ASCII
Baud* Specify baud rate 110 – 115200, standardbaud rates only
Parity* Specify parity Even, Odd, None, Mark, Space
Data_Bits* Specify data bits 7, 8
Stop_Bits* Specify stop bits 1
Handshaking* Specify hardware handshaking RTS, RTS/CTS, None



//   Client Side Connections
Port,        Protocol,   Baud,   Parity,
P8,          ASCII,      9600,   None,



4.3  Client Side Node Descriptors

Section Title
Column Title Function Legal Values
Node_Name Provide name for node Up to 32 alphanumeric characters
Node_ID This commonly used node descriptor parameter has nospecial meaning for this driver.  Incoming messages could come from any node. 


A Node_ID may be allocated and any value may be used

Protocol Specify protocol used ASCII.
Connection Specify which port the device is connected to the FieldServer P1-P8, R1-R22



// Client Side Nodes
Node_Name,   Node_ID,   Protocol,   Connection
PLC 1,       1,         ASCII,      P8


 4.4  Client Side Map Descriptors

4.4.1  FieldServer Related Map Descriptor Parameters

Column Title Function Legal Value
Map_Descriptor_Name Name of this Map Descriptor Up to 32alphanumericcharacters
Data_Array_Name Name of Data Array where data is to be stored in the FieldServer One of the Data  Array names from  “Data Array” section above
Data_Array_Offset Starting location in Data Array 0 to maximum specified in “Data Array” section above
Function Function of Client Map Descriptor.Refer to the FieldServer configuration information for more information. Note that passive client means that the map descriptor owns the Data Array elements and no other active Map Descriptor can address the same data. Server, passive


4.4.2  Driver Related Map Descriptor Parameters


Column Title Function Legal Value
Node_Name Name of Node to fetch data from One of the node names specified in “Client Node Descriptor” above
Data_Type Data typeYour choice affects how data is stored.If you use a Digital type then data is stored only as 1’s or Zero’s. If you use non Float types the values are truncated. Thus 0.6 is stored as zero. Ana_Input , Ana_Output ,Register , Float_Reg ,Dig_Input , Dig_Output
Length Length of Map DescriptorSpecifies the maximum number of string items that can be converted to numbers and stored.Other than ‘using up’ point count, there is no danger in setting the length to a larger number than required. 1, 2, 3…
Address This commonly used parameter is not used by this driver.


4.5  Map Descriptor Example.


In this example, we provide a map descriptor to capture data from a scale and store it in a Data Array called ‘DA_Scale’. The 1st element converted from the ASCII steam will be store at offset zero in the Data Array. The driver will convert and store floating point numbers because the data_type is a floating point type. A maximum of 10 number fields can be processed and stored. The driver

only converts and stores the data when the ASCII stream ends. Read appendix xxxxxx to learn how the driver knows when a stream has ended and it should process and strore data.


5.  Configuring the FieldServer as a GPA Driver Server

Driver cannot be used to serve data. Contact the Sales group at FST if you are interested in this functionality.


Appendix A.Advanced Topics


Appendix A.1. Separating Data Streams.


The driver processes the ASCII stream and stores the converted data when the stream ends. By default the driver closes the stream when it receives the CR character (Hex code = 0x0d Decimal code = 13).


The default end of stream character can be changed using the registry.


The example below is an extract from registry.ini. The Registry group is for port P1. Similar groups can exist for other ports and a group may have more settings than those shown below. If you wished to change the end of stream character to a NEW LINE character (Hex=0x0a Decimal=10) then change the 13’s to 10’s in the example below. The default_value is used by the registry when it receives a ‘restore defaults’ command.



Termination_Char = 13

default_Termination_Char = 13



Appendix A.2. Interaction with the WebServer Driver


This driver is specially configured to watch for registry changes that are initiated from the WebServer driver. It is possible to configure the connection settings of the port without changing the configuration file as follows:

• Create web pages to change the registry settings.

• Browse to the web page.

• Change a setting.

• When the WebServer sees that the new settings have been updated it sets a signal for the ASCII driver to use the new settings.


The html fragment below can be inserted in a Web Page. It will allow a user via a browser to change the connection settings for P1.



<FST_COMBO  Reg_name = “FieldServer_P1:Baud” List_Items=”300;600;1200;2400;4800;9600;19200;38400;115200;”>


<FST_TEXT Reg_name = “FieldServer_P1:Data_Bits” >

<FST_TEXT Reg_name = “FieldServer_P1:Stop_Bits” >

<FST_TEXT Reg_name = “FieldServer_P1:Parity” >



You can add a similar field for any parameter in the registry file but note that only some registry settings are used by this driver and only some drivers (including this one) are designed to be notified of a change and will work with the changed data.


Using this interface you can deliver a system which a customer can simply use to adjust the connection settings without learning how to configure a FieldServer. Ensure that registry.ini is installed on the FieldServer.


Appendix B.Troubleshooting tips


Appendix B.1. Timeouts


If the end of stream character has not been received in the default timeout period of 0.5 seconds the driver clears the incoming buffer and waits for the beginning of the next stream.




Appendix C.Driver Error Messages


Error Description and Corrective Action
ASCII:#1 FYI. Port \”%s\” Connection Parameters Can Be Changed Remotely You can safely ignore this message. It is designed to make you aware of the capability of the driver. Refer to Appendix A.2
ASCII:#2a/b FYI. Port \”%s\” Setting Changed Remotely. New Setting: %s You can safely ignore this message if the setting reported match your expectations. The driver is reporting that connection settings have been changed. The change resulted from a change to the FieldServer registry settings and this driver has been notified to start working with the new settings.
ASCII:#3a/b FYI. Port \”%s\” Initial Setting:%s Start Char 0x%2X End Char 0x%02X Termination Time %fs The driver is reporting initial settings for port. The message is for your information only and no corrective action is required if it confirms you expectations. If it doesn’t review and correct the configuration file or registry.ini file.




If you liked this post;
  • Please consider subscribing to our RSS feed