GE Fanuc SNP Serial
Review the following information for setting up and configuring the GE Fanuc SNP Serial driver. The driver communicates with the PLC using SNP-X over RS-232 or RS-422, either through the CPU port or a CMM communications module.
Note: This driver is experimental. Some features might not work as expected.
Litmus Edge compatible series
Compatibility parameter | Compatible items |
|---|---|
Driver type | Serial (RS-232 or RS-422) |
Validated devices/series | GE Fanuc / Emerson Series 90-30, Series 90-70, Series 90 Micro, and VersaMax |
To set up and configure this device in Litmus Edge (LE), do the following:
- Step 1: Set up and configure the PLC device
- Step 2: Set up the PLC device in Litmus Edge DeviceHub
- Step 3: Configure the list of registers
Step 1: Set up and configure the PLC device
Record the serial communication parameters for the device. Otherwise, follow the steps below.
To configure your device:
- Note down the following information and refer to it when needed.
- Device: GE Fanuc VersaMax Micro, IC200UDR064
- Communication I/F: RS232. Refer to the following figure.

- Launch Proficy Machine Edition v8.0 software and then select the COM port.
- Navigate to Target > Go Online with Target1.
The driver connects to one PLC per serial line (point-to-point). Multi-drop station addressing is not supported.
Step 2: Set up the PLC device in Litmus Edge DeviceHub
Configure the following parameters when you Connect a DeviceConnect a Device with this driver. Update default values to the specific setup of your device.
Parameter | Value |
|---|---|
Type | GE Fanuc |
Driver | GE Fanuc SNP Serial |
DeviceFile | The serial port path used to communicate with the device, for example /dev/ttyS1 or /dev/ttyUSB0. Default value /dev/ttyS0 |
BaudRate | Must match the baud rate configured on the device. Select a value from 1200 to 921600. Default value 19200 |
DataBits | 5, 6, 7, or 8. Must match the device. Default value 8 |
Parity | None, Odd, or Even. Must match the device. Default value Odd |
StopBits | 1, 1.5, or 2. Must match the device. Default value 1 |
The following parameters are under Advanced Parameters.
Parameter | Value |
|---|---|
MaxRequestSize | The maximum reply data in one read request, in bytes. Enter a value from 16 to 1000. Lower it if the CPU refuses large blocks. Default value 1000 |
ReadTimeout | How long the driver waits for a response, in milliseconds. Enter a value from 10 to 60000. Default value 10000 |
RetryCount | The number of times a failed request is retried. Enter a value from 0 to 5. Default value 0 |
PauseBetweenRetries | The pause between retries, in milliseconds. Enter a value from 0 to 2000. Default value 0 |
For the Meta Data, Status Register, and Optional Settings options, see Connect a DeviceConnect a Device. By default, the status register is R, value type uint16, address 1.
Step 3: Configure the list of registers
When you Add a TagAdd a Tag to the connected device, see the following register table and tag parameters. This driver does not support browsing tags.
See the following additional resources if necessary:
- Organize Device and Tag Data by Using MetadataOrganize Device and Tag Data by Using Metadata
- Tag Formula VariablesTag Formula Variables
Register table
Addresses start at 1 and match the PLC reference numbers. For example, %R1 is R address 1.
Name | Description | Value Types | Access Type | Address Format | Min Address | Max Address |
|---|---|---|---|---|---|---|
I | Discrete inputs (%I) | bit | R/O | DDDDD | 1 | 10000 |
Q | Discrete outputs (%Q) | bit | R/W | DDDDD | 1 | 10000 |
M | Internal coils (%M) | bit | R/W | DDDDD | 1 | 10000 |
G | Genius global data (%G) | bit | R/W | DDDD | 1 | 7680 |
T | Temporary coils (%T) | bit | R/W | DDDD | 1 | 256 |
SA | System status bits (%SA) | bit | R/W | DDD | 1 | 128 |
SB | System status bits (%SB) | bit | R/W | DDD | 1 | 128 |
SC | System status bits (%SC) | bit | R/W | DDD | 1 | 128 |
S | System status bits (%S) | bit | R/O | DDD | 1 | 128 |
R | Registers (%R) | uint16 | R/W | DDDDD | 1 | 32640 |
R_bit | Bit inside a register word (%R) | bit | R/W | DDDDDdd | 100 | 3264015 |
AI | Analog inputs (%AI) | uint16 | R/O | DDDDD | 1 | 10000 |
AQ | Analog outputs (%AQ) | uint16 | R/W | DDDDD | 1 | 10000 |
For R_bit, the address is the register number followed by a two-digit bit number, from 00 to 15. For example, address 1005 is bit 5 of %R10.
Note: Writing an R_bit tag reads the whole %R word, changes the bit, and writes the word back. If another device writes the same %R word at the same moment, one of the changes can be lost.
Tag parameters
- Name: Select a register name from the drop-down list. The available options depend on the names in the register table.
- Value Type: Select a data type from the drop-down list. The available options depend on the register name selected.
- Address: Enter the register address in decimal format, within the min and max range in the register table. Omit leading zeros. For R_bit, add the two-digit bit number at the end.
- PollingInterval: Enter how often the tag polls for data, in seconds. Enter 0 to disable polling. Default value 1
- Tag Name: Enter a name for the tag.
- Description (Optional): Enter a description for the tag.
- Tag Formula: Enter a formula for the tag to process the generated data. You can use two variables: value (current tag value) and timestamp (current tag UNIX time in milliseconds). The following math functions are available:
- sin
- cos
- sqrt
- tan
- power: power(x) performs the operation 10^x.
- log: log(x) is the natural logarithm (the logarithm is in base e).
- exp: exp(x) performs the operation e^x.
- Only Publish on Change of Value: Select the checkbox to publish NATS messages only when the value parameter changes. Change of Value only applies to boolean, numeric (such as int or float), and simple string data types. It does not apply to complex types, such as JSON or array. Poll-once topics are not affected by Change of Value settings, and still receive a single message.
- Meta Data: Define key-value pairs to add to the device output payload.
Note: If you use special characters in metadata key names, the special characters are replaced with underscore characters in the payload. This can cause two key names to be combined into one. For example, configuring the key names a**b and a&&b creates only one key name (a__b).