FS8700-115 - ASCII General Purpose
Up one levelDriver Manual
(Supplement to the FieldServer Instruction Manual)
FS-8700-115 General Purpose ASCII
APPLICABILITY & EFFECTIVITY
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 |
| None | |
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 | ||
| Data_Arrays | ||
| Column Title | Function | Legal Values |
| Data_Array_Name | Provide name for Data Array | Up to 15 alphanumeric
characters |
| 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 |
Example:
// Data Arrays
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 | ||
| Connections | ||
| 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, standard
baud 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 |
Example:
// Client Side Connections
Connections
Port, Protocol, Baud, Parity,
P8, ASCII, 9600, None,
4.3 Client Side Node Descriptors
| Section Title | ||
| Nodes | ||
| 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 no special 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 |
Example
// Client Side Nodes
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 32
alphanumeric characters |
|
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 type
Your 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 Descriptor
Specifies 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.
[FieldServer_P1]
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. |
THIS PAGE INTENTIONALLY LEFT BLANK
