The GE-SNP Serial driver allows the FieldServer to transfer data to and from devices over
either RS-232 or RS-485 using GE-SNP Serial protocol. The FieldServer can emulate either a
Server or Client.
The FieldServer provides functions to read and write PLC memory and change the privilege
level. Standard SNP mailbox messages are used. The driver does not support Datagram
messages and cannot parse them. These messages are defined by the SNP protocol to allow
multiple data types to be packed into one message. They are not commonly used by the HMI
and 3rd party applications and are inconsistent with the FieldServer’s Write Throughand Port Expander capabilities.
The driver can expose communications statistics in a Data Array so that downstream devices
can monitor them.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldServer.com
The FieldServer is connected to the GE PLC in one of two ways.
Almost every GE PLC has a RS-232 and RS-485 port. Possible cable configurations are
illustrated below.
A converter is required to connect between RS-232 and RS-485. An example of connection
configurations for the Model480TLED connector is depicted overleaf. Any equivalent connector
can be used.
RS-485 port
Cable 1
RS-485 port
15 pin female
FieldServerGE-PLC
C
a
b
l
e
4
RS-232 port
Pin 1 at bottom
Cable 1
FieldServer
+
Tx
-
+
Rx
-
Gnd
RS-232 port
3
e
l
b
a
C
Cable 2
GE
10
+
Tx
-
11
12
+
Rx
-
13
7
Gnd
RJ11
Cable 2
FieldServer
Tx
Rx
Gnd
-
GE
5
Rx
Tx
2
3
Gnd
4
1
CTS
*
6
RTS
CONNECTION DIAGRAM
BASE NAME:
FILE NAME:
GE SNP
DATE: 2/2/
BY: MF
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldServer.com
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 GE_SNP 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 GE_SNP 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
Data_Array_Format
Provide data format. Each Data Array
can only take on one format.
Number of Data Objects. Must be
Data_Array_Length
larger than the data storage area
required by the Map Descriptors for
the data being placed in this array.
Parity* Specify parity
Data_Bits* Specify data bits
Stop_Bits* Specify stop bits
Handshaking* Hnadshaking is not supported
Poll _Delay* Time between internal polls
Baud 19,200 19,200
Data Bits 8 8
Parity Odd Odd
Stop Bits 1 1
Max Link Idle Time 10 Secs 5 Secs
GE Port Capabilities
Baud 300, 600, 1200, 2400, 4800, 9600, 19200
Data Bits 8
Parity Odd, Even, None
Stop Bits 1, 2
Max Link Idle Time 1 to 60 Secs
Specify which port the device is
connected to the FieldServer
P1-P8, R1-R21
110 – 19200, standard baud rates
only (Vendor limitation), 19200
Even, Odd, None, Mark, Space
7, 8
1
None
0-32000 seconds, 1 second
The timeout specified for the connection is used as the data link layer
timeout. It is also used as the timeout for each Map Descriptor if a timeout
is not explicitly defined for a Map Descriptor.
Series 90-30 PLC’s Series 90-70 PLC’s
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.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldServer.com
Page 10 of 29FS-8700-66_GE-SNP Manual Page 10 of 29
4.3. Client Side Node Descriptors
Section Title
Nodes
Column Title Function Legal Values
Provide name for Node. The driver
uses the Node name to establish a
connection with the Server if the
Node_ID is non-zero.
Node_Name
If the Node_ID is zero then the driver
ignores the Node name when logging
onto the PLC and logs on using a
Null name. Thus by setting the
Node_ID to zero you can allow the
driver to log onto a Node whose
name is not known.
The parameter is used to control how
Node_ID
the driver logs onto the PLC. Read
the notes above (Node_Name)
Protocol Specify protocol used SNP
Port
Specify which port the device is
connected to the FieldServer
Example
// Client Side Nodes
Nodes
Node_Name, Node_ID, Protocol, Port
PLC 1, 1, SNP, P8
Up to 32 alphanumeric
characters
0,1
P1-P8, R1-R22
4.4. Client Side Map Descriptors
4.4.1. FieldServer Related Map Descriptor Parameters
Column Title Function Legal Values
Map_Descriptor_Name Name of this Map Descriptor
Name of Data Array where
Data_Array_Name
data is to be stored in the
FieldServer
Data_Array_Offset Starting location in Data Array
Function
2
Not all ports shown are necessarily supported by the hardware. Consult the appropriate Instruction
manual for details of the ports available on specific hardware.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldServer.com
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 11 of 29FS-8700-66_GE-SNP Manual Page 11 of 29
4.4.2. Driver Related Map Descriptor Parameters
Column
Title
Function Legal Values
Node_Name Name of Node to fetch data from
Data_Type Data type
Length
Length of Map Descriptor. Ensure that the
length does not exceed the table in the PLC
Starting address of read block / write block. The
Address
1st element of each Data type Table is referred
to as address one.
Use to override the default format for obtaining
data. Bit tables are by default read by reading
whole bytes at a time (If the Length is 10 then
10 bytes of data are read and placed in 10 Data
Format*
Array locations)
If you wish to read bits instead then use this
parameter. (If the Length is 10 then 10 bits are
read and each bit is stored in its own location.)
This parameter is only specified when you
create a write Map Descriptor to change the
GE_Func*
privilege level.
If it is not specified the driver assumes the
default (RW – Read/Write).
One of the Node
names specified in
“Client Node
Descriptor” above
Discrete Inputs (%I)
Discrete Outputs (%Q)
Discrete Temporaries
(%T)
Discrete Internals
(%M)
Genius Global Data
(%G)
Analog Inputs (%AI)
Analog Outputs
(%AQ)
Registers (%R)
%SA Discrete
%SB Discrete
%SC Discrete
%S Discrete (%S)
1-1000
1 , 2 , 3
Positive whole
numbers
Bit, Byte
The format for %AI,
%AQ and %R cannot
be changed.
CPL, RW
4.4.3. Timing Parameters
Column Title Function Legal Values
Scan_Interval Rate at which data is polled ≥0.1s
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldServer.com
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldServer.com
4.4.6. Map Descriptor Example 3 – Handling Bits
Page 13 of 29FS-8700-66_GE-SNP Manual Page 13 of 29
This example writes data from the FieldServer Data Array called DA_AO to the PLC identified as NODE1. The write is repeated
Map_Descriptor_Name, Data_Array_Name, Data_Array_Offset, Function, Node_Name, Address, Length, Scan_Interval, Data_Type, Format
Read_DI,, DA_T, 100, RDBC, PLC-1, 8, 2, 2.0, %T, Bit
every 5 seconds. Ten word values are written to the PLC’s %AQ Data Table starting at location 20.
Page 14 of 29FS-8700-66_GE-SNP Manual Page 14 of 29
5. Configuring the FieldServer as a GE_SNP Server
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” files
provided with the FieldServer).
This section documents and describes the parameters necessary for configuring the FieldServer
to communicate with a GE_SNP Client.
The configuration file tells the FieldServer about its interfaces, and the routing of data required.
In order to enable the FieldServer for GE_SNP communications, the driver independent
FieldServer buffers need to be declared in the “Data Arrays” section, the FieldServer virtual
Node(s) needs to be declared in the “Server Side Nodes” section, and the data to be provided to
the Clients needs to be mapped in the “Server 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.
Page 16 of 29FS-8700-66_GE-SNP Manual Page 16 of 29
5.3. Server Side Map Descriptors
5.3.1. FieldServer Specific Map Descriptor Parameters
Column Title Function Legal Values
Map_Descriptor_Name Name of this Map Descriptor
Data_Array_Name
Data_Array_Offset Starting location in Data Array
Function
Name of Data Array where data
is to be stored in the FieldServer
Function of Server Map
Descriptor
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
Server
5.3.2. Driver Specific Map Descriptor Parameters
Column Title Function Legal Values
One of the Node names
specified in “Client Node
Descriptor” above
Discrete Inputs (%I)
Discrete Outputs (%Q)
Discrete Temporaries (%T)
Discrete Internals (%M)
Genius Global Data (%G)
Analog Inputs (%AI)
Analog Outputs (%AQ)
Registers (%R)
%SA Discrete
%SB Discrete
%SC Discrete
%S Discrete (%S)
1 - 1000
1 , 2 , 3
Positive whole numbers
N/A
Node_Name
Data_Type
Length
Address
Format
Name of Node to fetch data
from
Data type
Use one of the Data Types
specified in brackets.
Length of Map Descriptor
Ensure that the length does
not exceed the table length in
the PLC.
Starting address of read block
/ write block
The 1st element of each Data
type Table is referred to as
address one.
Has no meaning on the Server
as the driver responds based
on the nature of the request
If the Client requests byte data
then the one byte is obtained
from each array element. If the
Client requests bits then one
bit state is obtained from each
array element.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldServer.com
Page 19 of 29FS-8700-66_GE-SNP Manual Page 19 of 29
Appendix A. Troubleshooting Tips
•Every 2nd message Times Out A possible cause is that the poll frequency is so low that
the time between polls is greater than the Max Link Idle Time (of the PLC). If the time is
exceeded the connection is closed. Thus when the next poll is received by the PLC it
ignores it and hence it times out in the FieldServer. After timing out, the driver re-establishes
the connection for the next poll.
•Very slow Comms Rate A timer known as the T1 timer is the minimum time that must pass
before a response to a message can be sent. Both ends of a SNP connection have their
own T1 timer (hard coded in the driver). When a connection is made the timers are
exchanged and the larger of the two is used. The drivers T1 timer is set to a very small
number. SNP message #6 indicates the size of the T1 timer. You may need to configure the
PLC to improve communications.
•Multidrop RS-485 networks.SNP protocol specifies that their may only be one master
on a network at a time. When using nameless Nodes (Node_id=0) there may be one and
only one PLC on the connection.
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldServer.com
The length of the Map Descriptor defined to expose driver
statistics must be at least 660.5
You may safely ignore this message. Read Appendix B.1
for information on how to expose the driver’s
communication statistics using a Data Array.
The driver is required to use the larger of its own or the
PLC’s T1 (Inter message) timer. This message is
produced when the PLC returns a T1 timer that is larger
than the driver’s timeout. Using this timer will mean that
every message will timeout. Increase the timeout for the
Node, connection or Map Descriptor as appropriate.5
A connection request has been received for the Node
named in the error message but this Node has not been
defined in the CSV file. The connection has not been
established.5
This could result from a corrupted message or it may
indicate an unexpected/unsupported aspect of the SNP
protocol. If the message occurs frequently, take a log and
report the error to FieldServer.
This message requires no action. It reports the T1 timer
value selected by the slave in milliseconds. If the value is
large then this will slow the communications rate and you
may wish to reconfigure the slave.
This is the FieldServer slave reporting its T1 timer after a
Client has established a connection No action is required.
No action is required. A Client has attempted to reestablish a connection that is already open.
This message uses two lines of the error log. It is printed
when a slave declines a request. The major and minor
faults are reported. These numbers are printed in
hexadecimal. See Appendix C.3 for further details. The
message reports the Map Descriptor which generated the
rejected poll, the data type, the address and the number of
elements being requested. Often this message will be the
result of a poll that requests data past the end of a PLC
data table or when the length is based on a bit count but
the poll actually requests bytes.5
This message is reported when the driver receives an
unexpected SNP message. Record this information, take
a log and report the error to FieldServer.
5
Edit the CSV, correct the problem and reset the FieldServer
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldServer.com
Page 21 of 29FS-8700-66_GE-SNP Manual Page 21 of 29
Message Explanation
The length of some messages is variable and is
dependent on settings or the particular implementation of
the SNP. Normally this driver adjusts to use the largest
SNP:11 Err. Max Tbuf Len.
FieldServer cant go bigger than
%d bytes
Possible Offending Poll =<%s>
addr=%d length=%d
size required by a Client or slave response but this
message indicates that the driver’s maximum had been
reached. The data has been discarded so it is important
that the situation be remedied. The data type, address and
the number of elements being requested are reported.
Two possible solutions exist.
Change the Client’s communications configuration and
reduce the size of the text buffer length to 4096 bytes.
Create two Map Descriptors that each read half the data.
SNP:12 FYI. Max Tbuf Len.
FieldServer != Device. Changed
FieldServer to %d bytes
SNP:13 Err. Wrong msg
type=%d(h) mbox=%x(h)
This message requires no response. It indicates that the
slave requires a longer text buffer than the driver’s default.
The driver has adjusted its buffer to the new length
indicated.
The driver has received an unexpected reply in response
to a poll. Make a log, record the values reported in this
message and contact FieldServer for support.
The driver has been polled by a Client and it has received
an unexpected message. If the error occurs repeatedly
SNP:#14 Error. Attach Response.
Unexpected !
then make a log, record the values reported in this
message and contact FieldServer for support. There are a
few variations of this message but they all indicate the
same problem.
SNP:#15 FYI. Node Station forcing to 0
SNP:#16 Err. Addresses start at
1. MapDesc=<%s>
The Node_ID has not been defined for a SNP Node. Read
the notes in Appendix B.1 and in sections 4.3 and 5.2. 6
GE devices number the elements of data tables starting at
element 1.6
SNP:#17 Err. MapDesc=<%s>
has bad data type.
SNP:#18 Err. MapDesc=<%s>
Refer to section 4.4.2 for a list of valid data types.6
has bad data type.
SNP:#19 Err. Mapdesc=<%s>
has invalid length.
SNP:#20 Err. do diagnostic x
SNP:#21 Err. do diagnostic x
SNP:#22 Err. do diagnostic x
SNP:#23 Err. Illegal Node_ID
[%d] - Set to 1
A Map Descriptor must have a length. The minimum
length is “1”. 6
If you see this error, report it to FieldServer tech support.
The message is produced when a QA diagnostic is
produced and should only ever be seen during testing by
FieldServer Inc.
Legal Node_ID’s are 0-65535.6
The CPU Id is a max 10 characters including the
GE_SNP:#24 FYI. Parse Error:
Attach: CPU ID is not Null
terminated.
terminating Null character. The driver has found one that
isn’t correctly formatted. This error may be ignored. It will
not affect operation of the driver. It does mean the driver
cannot store the name of the connected device in the stats
array.
6
Edit the CSV, correct the problem and reset the FieldServer
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldServer.com
Page 22 of 29FS-8700-66_GE-SNP Manual Page 22 of 29
This is 10 bytes long. The numbers placed
here correspond to the ASCII characters of
ue of the T1 timer is
reported here. The driver uses the larger of
See
Appendix B.1. Driver Stats
The statistics recorded by the GE-SNP Serial Driver are slightly different from the way that
FieldServer driver normally records statistics. This difference arises from the fact that this
driver is not a simple poll response driver. Bear in mind that a single poll can generate a
large number of response fragments.
Fragment Ack/nack messages are NOT counted as messages but the bytes sent/rcvd are
counted.
Connection messages are counted as messages and the bytes sent/rcvd are counted.
This driver can expose these and additional statistics by writing data to a Data Array.
A special Map Descriptor is required. The driver recognizes the Map Descriptor by its name
which must be "SNP-stats”.
Example: Configuration of this special Map Descriptor
When the driver sees this Map Descriptor it uses the Data Array SNP_STATS (in this
example) to store driver specific statistics. Only one of these Map Descriptors may be
specified (per tier) per FieldServer.
The driver stores the following stats for each port.. The offset into the Data Array can be
found by multiplying the port number by 60
Page 25 of 29FS-8700-66_GE-SNP Manual Page 25 of 29
Appendix C. Advanced Topics
Appendix C.1. SNP Node Names
The following notes describe how the Node name is used when the FieldServer is acting as
a Server.
When a Client attempts to establish a connection it may do so by sending the name of the
Node it wishes to connect to or by sending a Null Node name.
If the Client sends a Null Node name then the FieldServer will connect if any SNP Nodes
have been defined for the same port as the Client using the Null name. In such a case the
Node must be connected to a port (This is not always common with FieldServer Server
configurations).
Example: Client uses Null name connection. In this case Node must be connected to the
Client’s port; the Node name is ignored and only one SNP Node per port.
Ports
Port, baud
P1 , ….
Nodes
Node_Name, Port
Node1, P1
If the Client uses the Node name during a connection attempt then the FieldServer uses
the name to find a matching Node. The name must be an exact match. If a match is found
then the connection can be established. In this case the Node does not have to be tied to
a particular port and thus one Node could respond to different Clients polling it on different
ports. If this method is used and the Node is tied to a port then the Client must poll on the
same port.
Example: Client uses a specific name to connect. In this case provided there is a Node
with a matching name the connection will be made
Ports
Port, baud ….
P1, ….
Nodes
Node_Name, Protocol
Node1, SNP
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldServer.com
Appendix C.3. Server Response NAK, Major and Minor Error Codes
From version 1.02c the when the Server responds with a MailBox Nak it now allocates
different Major and Minor error codes to differentiate the NAK reasons.
0x05 0xbe No Such Node The request Node is not known by the Server.
0x05 0xbd No Data The Data age is greater than the CACHE_AGE setting.
0x05 0xbc Other Problems Eg. No Server MD’s defined for requested data.
Major Error Status Codes
Error Status Description
01h Illegal Service Request: Either not defined or not supported.
02h Insufficient Privilege:
04h Protocol Sequence Error: The CPU has received a message that is out of order.
05h Service Request Error:
06h Illegal Mailbox Type:
07h The PLC CPU's Service Request
Queue is full. The master should retry
later.
Minor Error Status Codes
Decimal Hex Description
-1 0FF Service request has been aborted.
-2 0FE No privilege for attempted operation.
-3 0FD Unable to perform auto configuration.
-4 0FC I/O configuration is invalid.
-5 0FB Cannot clear I/O configuration.
-6 0FA Cannot replace I/O module.
-7 0F9 Task address out of range.
-8 0F8 Invalid task name referenced.
-9 0F7 Required to log in to a task for service.
Minor status field contains the privilege level required
for the service request
Minor status field contains the request specific error
code. See table of Minor Error Status Codes below.
Service request mailbox type is either undefined or
unexpected.
It is recommended that the master wait a minimum of
10 ms before sending another service
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldServer.com
-75 0B5 Additive checksum comparison in Verify failed.
-76 0B4 Attempt to alter interrupt list in MAIN DECL BLOCK during RUN MODE.
-77 0B3 Length limit exceeded; includes read past end of transferred data, writes past
ofprogram block.
-78 0B2 Program block already exists and cannot be replaced.
Minor Error Status Codes: Program Load and Store Requests
Decimal, Hex, Description
80 50
81 51
85 55
86 56
87 57
88 58
Problem with sending mail to the slave Service Request task. (Series 90-70 PLC
CPUs only).
Problem with getting mail from the slave Service Request task. (Series 90-70
PLC CPUs only).
Slave SNP task timed out before receiving SRP response. (Series 90-70 PLC
CPUs only).
Slave SNP task could not find the requested Datagram connection. (Series 90-70
PLC CPUs only).
Slave SNP task encountered an error in trying to write the Datagram. (Series 9070 PLC CPUs only).
Slave SNP task encountered an error in trying to update the Datagram. Series
90-70 PLC CPUs only).
FieldServer Technologies 1991 Tarob Court Milpitas, California 95035 USA Web:www.fieldServer.com