GE Fanuc SRTP

This driver supports communication over Ip with GE Fanuc 90 Series PLCs, including the 90-70 and 90-30 series.

Network properties

This topic only includes a reference of objects' properties.

See the topic How to configure networks devices and frames for more information about how to configure communication objects.

General properties
Name The name of the network
Description The description of the network (optional)
Activate at start-up If enabled, the network will start upon Equipment communication start-up

Advanced properties

 

Timeout

Use default value

Networking

Servers

The list of PcVue stations where the network will be active

Device properties

General properties
Name The name of the device
Description The description of the device (optional)
Equipment type Select the type of equipment that best suits the field device you want communicate with.
The list of frame types and address ranges depend on the equipment type.
Address The Ip address of the field device.
Some drivers also support configuration by host name.
Activate at start-up If enabled, the device will start upon network start-up

Advanced properties

 

Connection

Timeout

Maximum waiting time between a request and the reply from the equipment

Reconnect period

Minimum period between attempts to recover a connection. This period is also used as a waiting period after a time-out.

Password

Alphanumerical string of up to 8 characters for a password protected field device.

Timestamping

Enable

Tick to enable field device timestamping mode

Error address If timestamping is enabled, the address used to indicate a full stack. Must be set to a positive value (greater than 0).
Timestamp UTC Specify if the field device transmits timestamps as UTC or as local time
Delta TS

Used to set-up direct archiving. If the difference between the timestamp coded in a received timestamped block and the current time is greater than the Delta TS value, the data is sent directly for archiving but is not considered fresh enough to be used as instantaneous value.

As a consequence, the value of the corresponding variable is not updated.

Miscellaneous

Virtual

Reserved. Do not select.

Message delay Reserved. Leave default value 0.

Frame addressing

Depending on the equipment type you have selected when configuring the device, you have access to the following type of frames.

The Starting address and Quantity properties define the memory address range for each frame, how it is read from and written to, and how it is interpreted in PcVue.

Bit frames must start with an address multiple of 8+1 i.e. 1, 9, 17 etc.
Wordbit frame size must be multiple of 16.

Data type Access Max quantity Starting address Description
Bit
I

Read/Write

16384 (90-70)

8192 (90-30)

2048 (Free)

1..65535 Discrete inputs
Q Discrete outputs
T

Read/Write

16384 (90-70)

8192 (90-30)

2048 (Free)

1..65535 Discrete temporaries
M Discrete internals
SA

Read/Write

16384 (90-70)

8192 (90-30)

2048 (Free)

1..65535 Discrete system status table A
SB Discrete system status table B
SC

Read/Write

16384 (90-70)

8192 (90-30)

2048 (Free)

1..65535 Discrete system status table C
S Discrete system status
G

Read/Write

16384 (90-70)

8192 (90-30)

2048 (Free)

1..65535 Genius global data
R Wordbit register
Word
R

Read/Write

1024 (90-70)

512 (90-30)

128 (Free)

1..65535 Register
AI Analog input
TS Exchange

Read

127 blocks (90-70)

64 blocks (90-30)

15 blocks (Free)

1..65535 Timestamp exchange
AQ

Read/Write

1024 (90-70)

512 (90-30)

128 (Free)

1..65535 Analog output
Double
R

Read/Write

512 (90-70)

256 (90-30)

64 (Free)

1..65535 Register
AI Analog input
AQ Analog output
Real
R

Read/Write

512 (90-70)

256 (90-30)

64 (Free)

1..65535 Register
AI Analog input

Driver status

The driver status provides driver-specific information to supplement the frame general status. For more information on status in general, refer to the topic General communication status.

Status Description
0x0001 Write error. Internal error please contact support.
(GE_TCP_CLIENT_ERR_INV_FILE_PATH)
0x0002 Write error. Internal error please contact support.
(GE_TCP_CLIENT_ERR_NOT_AUTHORIZED)
0x0003 Write error. Internal error please contact support.
(GE_TCP_CLIENT_ERR_NOT_INIT)
0x0004 Write error. Internal error please contact support.
(GE_TCP_CLIENT_ERR_DEMO_TIMEOUT)
0x0005 There was not enough system memory for the PLC to create an internal resource or object. Shut down any unnecessary programs or add additional system memory.
(GE_TCP_CLIENT_ERR_NO_MEMORY)
0x0006 The PLC could not create the client device object since the IP address is invalid or was not in the dotted decimal notation format (i.e., 137.81.3.24).
(GE_TCP_CLIENT_ERR_INV_IP_ADDR)
0x0007 The starting element must be greater than 0.
(GE_TCP_CLIENT_ERR_INV_START_ELEM)
0x0008 The number of values exceeds the maximum number values that can be read or written for the particular memory type.
(GE_TCP_CLIENT_ERR_INV_NUM_ELEMS)
0x0009 One of the arguments passed to the PLC function contained a NULL address/pointer.
(GE_TCP_CLIENT_ERR_NULL_PTR)
0x000A The client device read/write request had a communication failure. This error code will only be returned when the ck_getcp_device_request_cmp() function is called.
(GE_TCP_CLIENT_ERR_REQUEST)
0x0066 The PLC was working with a read/write request for the client device but had to abort the operation because the command could not fit in the transmit buffer.
0x0067 The PLC was unable to transmit a message to the client device. Make sure that the PLC or network Gateway is configured for the same IP address, is powered on and is attached to the network. Verify network connectivity using the ping utility. It is possible that the device (PLC or network Gateway) has dropped the connection. Normally a dropped connection will re-establish itself automatically. If the error occurs frequently, review the device configuration to determine why it is dropping the connection and correct the problem.
0x0068 The PLC was unable to receive a message from the client device. It is possible that the device has dropped the connection. Normally a dropped connection will re-establish itself automatically. If the error occurs frequently, review the device configuration to determine why it is dropping the connection and correct the problem.
0x006A The PLC gave up waiting for a response from the client device. Review the information used when creating the client device for the PLC or network Gateway. Make sure that the timeout value is appropriate. If the client device represents a device on a network Gateway, verify that the device’s address matches the sub-network address. Make sure that the PLC or network Gateway is configured for the same IP address, is powered on and is attached to the network. Verify network connectivity using the ping utility.
0x006B The PLC received a response from the client device that had the improper number of bytes. Make sure that the timeout value is appropriate.
0x006D The PLC received a NAK response from the client device. Typical reasons for NAK responses are either the memory type is not supported or the number of values the request is trying to access exceeds the number of elements supported by the device for the memory type.
0x0010 The PLC could not transmit the read/write request since the connection and/or session has not been established with the client device. Make sure that the IP address and/or the level 2 access password passed to the create_getcp_device() function are valid for the device.
0x1001 Bit Frame must start with an address Multiple of 8+1 i.e., 1, 9, 17 etc. Wordbit frame size must be multiple of 16.

SCADA Basic scripting

You can control communication with this driver in SCADA Basic scripts with the CIMWAY instruction.

See the topic Message exchange mechanisms in PcVue for more information about what to optimize and how you can send commands from scripts.

The driver also supports the following specific capabilities in SCADA Basic.

Changing a device address

IntVal = CIMWAY(CFG, CommObjName, Modif, Param, [, ResultVar]);

Argument

Meaning

CommObjName

Configuration element to modify: A device.

Modif

The property you want to modify:

 

EQT_ADDRESS: Modification of the equipment address. CommObjName is the name of a device attached to the network. For example, Net1.Dev1.

Param

Param is a string with a typical syntax like Param1#Param2#Param3...#ParamN. Type STR.

See below for the syntax specific to this driver.

ResultVar

Specifies the name of the variable where the status of the modification is stored.

Syntax for GE Fanuc SRTP:

Copy
1#ip1#ip2#ip3#ip4#reconnection_period#ts_erroraddress#flag#password

Where:

  • 1 - Reserved

  • ip1 to ip4: The 4 segments of the Ip address

  • tcp_port: The Tcp port number

  • reconnection_period: The reconnection period

  • ts_error_address: The error address for source timestamping

  • flag: Additional properties under the form of a bit mask (0 or 1)

    • bit 4 Timestamp UTC (1) or local (0)

  • password: The password of the device

Sending a control message to the driver

IntVal = CIMWAY (SENDMSG, CommObjectName, CommandString);

Return type: INTEGER.

Argument

Meaning

CommObjectName

Identifies the target object identifier:

All networks: Empty string.

A specific network: NetworkId.

A specific device: NetworkID.EquipmentId.

A specific frame: NetworkID.EquipmentId.FrameId.

Type STR.

CommandString

The command to send to the driver. Type STR.

See below for the list of messages supported by the driver.

Control messages for GE Fanuc SRTP:

Control message Description

Enable/Disable timestamping

Command string syntax is "DisableTS" to disable source timestamping.

Command string syntax is "EnableTS" to enable source timestamping.

Switch all frames to polling mode

Command string syntax is "SwitchAllToPollingMode" to switch all frames to polling mode.

 

ComObj must be the name of a device, for example NET.DEV1.

For example, the following command disables source timestamping for the device NET1.EQT1:

Copy
CIMWAY("SENDMSG", "NET.EQT1", "DisableTS");

Timestamped data - Data table and block structures

This section describes how to exchange timestamped data between the field device and PcVue. Timestamped data is exchanged between slave and master using a frame of type TS_Exchange.

Master Network Slave

—>

Reading of the timestamped data table

—>

<—

Response to Read request

<—

If the number of blocks is greater than zero, the driver reads all of the blocks available in the field device and then does the following.

Master Network Slave
—>

Set the number of blocks to 0 and send the exchange number

—>
<—

Acknowledge the Write

<—

If the exchange number returned by the PC is wrong, the field device must send the same exchange as before. The number could be wrong because the slave received an incorrect acknowledgment.

Timestamped data table structure

 

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Word W

Exchange number

Number of blocks

Word W+1

First block (size 8)

 

 

Word W+1
+(N-1)*8

Nth block (size 8)

TS_Exchange block structures

 

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Word W+1

Unused

Data Type

Word W+2

Address

Word W+3

Value1

Word W+4

Value0

Word W+5

Reserved

0

Year

Word W+6

0

0

0

0

Month

0

0

0

Day

Word W+7

0

0

0

Hour

0

0

Minute

Word W+8

Millisecond

Address field specifies the address of the timestamped data. In the case of bits, the offset is specified in the field Value1.
Value1 is the highest word of a 32 bit value (float or double). For a Wordbit, Value1 represents the bit offset within the word with the address of Address.
Value0 is the lowest word of a 32 bit value (float or double) and all other values (bit and word).

Data type field

Type Data type
1 Wordbit in R
2 Bit in M
3 Bit in S
4 Bit in T
5 Bit in I
6 Bit in Q
7 Bit in SA
17 Word in R
21 Word in AI
22 Word in AQ
25 Float in R
29 Float in AI
30 Float in AQ
33 Double in R
37 Double in AI
38 Double in AQ