...
Allen-Bradley Process I/O Server
Expand | ||
---|---|---|
| ||
|
Expand | ||
---|---|---|
| ||
The A-B PLC must be set up with the proper IP address. This configuration is completed with the A-B software. The IP must be chosen such that it lies within the subnet selected for the specific Ethernet controller used for communications. If the Ethernet controller is one that is controlled by the Windows 2000 system, the subnet is specified in the network setup utility of the control panel. If the Ethernet controller is one that is controlled by the RTX Real-Time TCP/IP controller, the IP address is specified in the file d:\LocNtRt\sys\pif\RtxTcp.ini. |
Expand | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
The core of the driver is provided as a C++ class that implements the initialization and communications functions. A sample process is provided which calls the appropriate class members. The IP address, configuration information, and data areas to be read and written are passed as calling parameters to the class functions. The following is a list of the provided driver files. After review of the example driver, the user is required to modify the files as indicated:
|
tpriABPlc Class Descriptions
Expand | ||
---|---|---|
| ||
The following public member functions are provided as part of the tpriABPlc class:
where: char *pHostName= host name or IP address int timeout = time value for read and write operation in milliseconds This function stores new configuration information for use by class functions
where: return status = connection status 0 = unconnected 1 = connected This function returns the status of the connection between the Compute system and the PLC
This function stores the PLC read control information for use by the ScanIO class member
This function stores the PLC read control information for use by the ScanIO class member
This function establishes a connection between the computer system and the PLC
This function breaks a connection between the computer system and the PLC
where: int *ogram = user memory address where PLC write will be obtained int *ipsta = addr of an integer variable where I/O status will be returned This function first reads a single data block of 16 bit integers values from the PLC user register memory and then writes a block of 16 bit integers to the PLC memory. The plc locations for the read and write are obtained from prior calls to the SetReadFile90 and SetWriteFile() functions. |
Expand | ||
---|---|---|
| ||
Some comments on the driver program below:
|
National Instruments Process I/O Driver
Expand | ||
---|---|---|
| ||
|
RTP (CPI) Process I/O Driver
Expand | ||
---|---|---|
| ||
The RTP (formerly CPI) process I/O driver will communicate with one or more chassis of process I/O interface cards via a UDP interface. The RTP 6700 is an intelligent controller and is located in one of the chassis. The process I/O controller and driver has the following characteristics:
|
Expand | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||
The core of the driver is provided as a C++ class which implements the initialization, communications, and data conversion functions. A sample process is provided which calls the appropriate class members. The configuration of the RTP control cards is specified in an .ini file which is read at driver startup. An example of this file is also included. The following is a list of the provided driver files. After review of the example driver, the user is required to modify the files as indicated:
|
Expand | ||||
---|---|---|---|---|
| ||||
The RTP 6700 controller requires a set of configuration parameters for proper operation. To configure the 6700, connect the console port of the 6700 to a terminal or a PC running a terminal emulator (such as HyperTerminal). Terminal characteristics are 9600, 8, None, 1. Switch on the power to the 6700 and enter a “3” to the first prompt after power up. The following is an example of reasonable configuration process and parameters for the RTP 6700 controller:
Enter Y to Accept Configuration, N to Modify it Y EIOBC Ethernet Address: 00-80-F9-03-04-EC After the configuration is accepted, it will be stored on the controller. Cycling the power on the card will initialize the card to use these parameters. |
Expand | ||
---|---|---|
| ||
The following is an example of a operational RTP initialization file. It describes a system with 16 Analog inputs (1 A/D card and 2 mux cards), 4 Digital input cards (64 bits), 32 Analog output channels (8 cards), and 4 digital output cards (64 bits) in two (2) RTP chassises. The RTP 6700 is set up for IP address 10.0.10.11
|
Expand | ||
---|---|---|
| ||
A sample driver is provided in the examples subdirectories of the standard Tsentry distribution |
GE 9030/9070 PLC Driver
Expand | ||
---|---|---|
| ||
Capable of running 100ms Input and Output scan rep rates |
Expand | ||
---|---|---|
| ||
The GE 9030 / 9070 PLC must be set up with the proper IP address. This configuration is completed with the GE VersaMax software. The IP must be chosen such that it lies within the subnet selected for the specific Ethernet controller used for communications. If the Ethernet controller is one that is controlled by the Windows 2000 system, the subnet is specified in the network setup utility of the control panel. If the Ethernet controller is one that is controlled by the RTX Real-Time TCP/IP controller, the IP address is specified in the file d:\LocNtRt\sys\pif\RtxTcp.ini. |
Expand | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
The core of the driver is provided as a C++ class which implements the initialization and communications functions. A sample process is provided which calls the appropriate class members. The IP address, configuration, and data areas to be read and written are passed as calling parameters to the class functions. The following is a list of the provided driver files. After review of the example driver, the user is required to modify the files as indicated:
|
GELPC Class Descriptions
Expand | ||
---|---|---|
The following public member functions are provided as part of the tpriGePlc class:
long cTimeOut, long sTimeOut, long rTimeOut); where: char *piffile = initialization file name (currently not supported) = NULL char *tplcIpAddr = IP address of the PLC in xxx.xxx.xxx.xxx format unsigned short tPortNo = port (service) number of the TCP support in the GE PLC. This value is normally fised at 18245 by GE. long cTimeOut = Connection timeout value in milliseconds long sTimeOut = Send message timeout value in milliseconds long rTimeOut = receive message timeout value in milliseconds This function stores parameter values for use by the member functions of the class
where char *seg = segment (plc memory area) type “R” = register variable "L" = Local Data Table (%L) "P" = Program Data Table (%P) "R" = Register Table (%R) "AI" = Analog Input Table (%AI) "AQ" = Analog Output Table (%AQ) "I" = Discrete Input Table, byte mode (%I) "Q" = Discrete Output Table, byte mode (%Q) "T" = Discrete Temporary Table, byte mode (%T) "M" = Discrete Internal Table, byte mode (%M) "SA" = Discrete System A Table, byte mode (%SA) "SB" = Discrete System B Table, byte mode (%SB) "SC" = Discrete System C Table, byte mode (%SC) "S" = Discrete System D Table, byte mode (%S) "G" = Genius Global Data Table, byte mode (%G) "GA" = Genius Global Data Table, byte mode (%GA) int ref = 1st variable within segment to transfer (beginning of table = 1) int size = size of transfer in number of words, bytes or bits (see bmode) int bmode = units size; 0 = words or bytes, 1 = bits unsigned char *buffer = pointer to application program data buffer This function writes an application buffer to the PLC
where char *seg = segment (plc memory area) type See definitions in the Write function int ref = 1st variable within segment to transfer (beginning of table = 1) int size = size of transfer in native units (words, bytes or bits) see bmode int bmode = transfer unit size; 0 = words or bytes, 1 = bits unsigned char *buffer = pointer to application program data buffer This function reads an application buffer from the PLC
Return an integer equal to the last SRTP (GE PLC protocol) error code
Return an integer that indicates whether the application has an open connection with the GE PLC |
Expand | ||
---|---|---|
| ||
Some comments on the driver program below:
|
TCP/IP Driver - TPRIRdcTcp
Expand | ||
---|---|---|
| ||
The I/O driver library includes the tpriRdcTcp class for communications across a TCP/IP link to a remote device. This class provides functions to open a connection to the device given its IP address/DNS name and the TCP/IP port number, to read and write data to and from the device, to close the connection when finished, and to listen on a port. Blocking and non-blocking modes are both supported individually for connections and reads. The library is composed of several static class functions that can be explicitly called without having to manage the underlying class itself. |
Expand | ||
---|---|---|
| ||
Before the library functions can be used, the sockets need to be initialized using the Windows Sockets function WSAStartup. Here is an example:
|
Expand | |||||
---|---|---|---|---|---|
| |||||
|
Lantronix Terminal Server Driver - tpriRdcLts
Expand | ||
---|---|---|
| ||
The I/O driver library includes the tpriRdcLts class for communications through a Lantronix terminal server to a remote device. This class provides functions to open a connection to a specified port on the desired terminal server, to read and write data to and from the device attached to the terminal server, and to close the connection when finished. Blocking and non-blocking modes are both supported individually for connections and reads. The library is composed of several static class functions that can be explicitly called without having to manage the underlying class itself. |