5-Servers

5-Servers

Servers

The Servers configuration object in ACE is a placeholder under which one or more server processes may be defined. "Servers" are processes that normally wait for some external client to connect to the RediGate. (One exception to this is the UDP Client/Server, which includes both client and server settings in the same object configuration.)

Attributes

Function

Attributes

Function

Object Type

Servers 

Parent(s)

System

Instance

Must be 0.  

Serial MMI Configuration

The Serial MMI object is a system process that allows system diagnostics via a serial user login to the RediGate. The Serial MMI process presents essentially the same user interface as is available via an SSH network connection. See the Diagnostics Manual for details on using the MMI.
A Serial MMI must be configured to use a physical COM port, and therefore the COM port definition must also be included under 'Networks'. The Serial MMI should be defined on the first serial port (COM0) associated with the Linux administrative console. On the RediGate 100 series, COM0 is the USB port.

Attributes

Function

Attributes

Function

Object Type

SerialMMI 

Parent(s)

System → Servers

Instance

Must be 0.  

Properties

Values

Properties

Values

Com Port

Select the COM port on which the Serial MMI will run. NOTE: This should be left at the default setting of COM0. 

STDERR

Select whether to display standard diagnostic messages on startup. 

Choose 'Yes' to turn on display of diagnostic messages after startup, even if the user is not logged into the Serial MMI.  Choose 'No' to turn off display of startup messages. Diagnostics may still be viewed in the Diagnostic Services menu of the Serial MMI. 

Inactivity Timeout

The Inactivity Timeout determines the time between the last keypad activity until the user is automatically logged out the diagnostic menu session. Enter the timeout period in minutes. 

If the Inactivity Timeout is set to 30 minutes or greater, it has a special effect on the user diagnostic option for Custom Reports – the "seconds to delay between refreshes" when viewing a Custom Report can be specified in the range of 1 to 600 seconds. If the Inactivity Timeout is less than 30 minutes, then the Custom Reports refresh rate can only be specified between 5 and 60 seconds.

MMI Echo

Select whether to echo typed characters to the terminal. Choose 'Yes' for local echo of typed characters, or 'No' to disable the echo. Default option is 'Yes'.

Custom Reports

The Custom Reports object is an optional child object of the Serial MMI. It allows the system designer to create customized menus to be used in the user interface (via either the Serial MMI or network connection to the MMI). The Custom Reports allow lists of registers from one or more RTDB in the system to be easily displayed for the user, along with descriptive tags, and optionally to allow the user to change values contained in the RTDB registers.

Attributes

Function

Attributes

Function

Object Type

Custom_Reports 

Parent(s)

System → Servers → SerialMMI

Instance

Must be between 0 and 1000.

Properties

Values

Properties

Values

Report Title

Enter the text to be used as the title of this Custom Report. Title should be text from 1 to 32 characters.

Password

Enter the password for this Custom Report. When a user tries to enter a new RTDB value (for Custom Report entries defined as "Write to DBM" or "Write to RTU"), the Password must be entered first. 

Report Table

Click the Edit Table button to enter the list of RTDB registers to be included in the Custom Report. Report Table fields are: 

Editable – Select whether to allow a user to change the value in the data address. In all cases, the data in the register may be viewed by the user. Options are:

  • Display Only – Data may not changed.

  • Write to DBM – Data may be written to the RTDB register.

  • Write to RTU – Data may be entered by the user, and when entered, the value will be written to the Field Unit associated with the RTDB, based on matching the register number in the Custom Report with the first Poll Table entry in the Field Unit definition.

Label  Enter the label used as an identification for this register when viewed in the Custom Report. Label must be between 1 and 20 characters. If the Label is only a period character, only the register value will be displayed in the Custom Report (no label, and no equal symbol for "Display Only" value). If the previous row uses the "Continue on this row" option for NewLine, this will concatenate the data in this register with the previous one – this may be useful for concatenating multiple consecutive string registers together.

Format – Select the default display format for this register in the Custom Report. 

  • Boolean [3] (On /Off) – display Boolean value as On or Off.

  • SINT16 [6] – display as signed integer.

  • REAL32 [12] (can be 2 INT16) – display as a 32-bit floating point. If the DataAddr register is a 16-bit integer, then two registers are taken and used as a 32-bit floating point value. (When used with "Swap" option in Custom Report menu, the high and low words can be swapped in the display.) Otherwise, the float value can be taken from a 32-bit register.

  • Decimal Digits [2] – Display number with leading zero as only two digits (useful for displaying values such as hour, minute, second, so the positions are fixed)

  • String-8 [8] (can be 4 INT16, or 2 INT32) – Display 8-character string value. If DataAddr is a String RTDB register, the string value is taken from the first 8 characters. If DataAddr is a 32-bit or 16-bit register, either 2 or 4 registers are taken, and the contents are used as 8-bit ASCII values.

  • Short Hex [4] – Display 16-bit integer as 4 hexadecimal character.

  • Long Hex [8] – Display 32-bit value as 8 hexadecimal characters.

  • UINT16 [5] – Display 16-bit integer as unsigned (0 to 65535).

  • UINT32 [12] – Display 32-bit value as long integer.

  • Text Only [0] - Label with no value – Ignore Channel/RTU/DataAddr fields and only display Label in the Custom Report with no "=" symbol or value – this can be used to add text headers for the report for visual effect.

  • Binary bits [16] – Display 16-bit integer as binary bits (1 or 0).

  • Graph [50] (Value between 0 and 100) – Display a text-based graph (using up to 50 '#' symbols), showing the relative value of the number between 0 and 100. Should be used with "Next field on New Line."

  • REAL64 [16] – Display 64-bit floating point number, using FLOAT64 RTDB register.

  • QualityOfReg [4] (Good/Bad ) – Display "Good" or "Bad" for the quality flag associated with each data point.

  • String RegCnt append to Label – 

  • UINT64 [16] – Display as 64-bit floating point.

Channel – Enter the Channel number where the RTDB is located (either a Master Channel or Internal Channel).

RTU – Enter the Field Unit address associated with the RTDB containing the data address (defined under the Channel, above).

DataAddr – Enter the RTDB register address of the register to be displayed in the Custom Report.

NewLine – Select how to display the next entry in the Custom Report:

  • Next field on New Line – the next entry will begin on a new row

  • Continue on this row – the next entry will display to the right of this one

Comment - Optional column, allowing a descriptive comment to be entered for each row in the table. The Comment field is unused in the configuration.

Slave Channels

The Slave Channels icon is a placeholder in the ACE configuration, under which individual Slave Channels are defined. Slave Channels allow an external master to poll for data contained in any of the RTDBs defined for this unit.

Attributes

Function

Attributes

Function

Object Type

SlaveChannels  

Parent(s)

System → Servers

Instance

Must be 0

Modbus Serial Slave Channel (SlaveAsync)

An Async Slave Channel defines a logical connection from a Modbus master to the RediGate via a serial port. Under the Slave Channel, one or more Modbus slave device addresses may be defined in separate objects, each pointing to an RTDB from which the data is obtained.

Attributes

Function

Attributes

Function

Object Type

SlaveAsync 

Parent(s)

System → Servers → SlaveChannels

Instance

Must be between 0 and 16. 

The Async Slave Channel must have at least one Slave Attach object defined. 

Properties

Values

Properties

Values

Service

Select the slave type for this Modbus Async Slave Channel. 

Slave types are: 

'Binary Modbus 32 Slave Service' – The Modbus 32 slave service supports the standard Modbus register types as well as 32-bit registers. If any attached Field Unit being polled includes a register of 32-bit data type, the Slave Channel will return one register of 4 bytes. 'Binary Modbus Slave Service (16 Bit Pair)' – The Modbus 16-Bit Pair service supports only standard 16-bit Modbus protocol register types. If any attached Field Unit being polled includes a register of 32-bit data type, the Slave Channel will map each RTDB register into 16-bit register pairs in the Modbus protocol response. 

Port

Select the communication port to be used for this slave channel. The selected port must be configured under Networks to define the serial communication properties. 


Discussion on Modbus Slave Protocols

  To illustrate the difference between Modbus slave types, consider the following two examples.

In both these examples, a Modbus Field Unit has an RTDB containing 20 UINT32 registers (starting at 41,001) and 20 REAL32 registers (starting at 42,001). This Field Unit is attached under a Slave Channel.

In the first example, the Slave channel has the "Binary Modbus 32 Slave Service" protocol selected. The Slave Attach RTU, as seen by the Modbus host, will contain all 32-bit registers (4 bytes per register address). Requesting register 41,020 will return a single 4-byte register from the RTDB register 41,020. This is the same format as indicated by the "32 Bit" data types in the Poll Table of a Modbus Field Unit, when configuring a Modbus master Poll Table.

In the second example, the Slave Channel has the "Binary Modbus 32 Slave Service (16 Bit Pair)" protocol selected. In the Slave attach RTU, the 32-bit registers of the RTDB are represented to the Modbus host as pairs of 16-bit registers (2 bytes per register address). This is the same format as indicated by the "16 Bit Pair" types in the Poll Table of a Modbus Field Unit, when configuring a Modbus master Poll Table.

When a Modbus Host requests registers 42,001-42,002 from the Slave Channel, the RediGate will return the RTDB register 42,001. When the Modbus Host requests registers 42,039-42,040, the RediGate will return the RTDB register 42,020. All 32-bit values must be requested in multiples of 2 without splitting word pairs, or else the RediGate will return an exception response.

Modbus Slave Attach

A Slave Attach object defines a logical Modbus slave device, using an attached Field Unit RTDB database as the location containing the data that will be returned upon request by a Modbus master. Only a single RTDB may be included in the Attach List (one RTDB is associated with a given Slave Channel; but the same RTDB could potentially be associated with other Slave Channels, if desired). Multiple Slave Attach objects may be configured under a single Slave Channel, appearing to a host device as a multi-drop network of RTUs or Field Units on a single serial or network port.

Attributes

Function

Attributes

Function

Object Type

SlaveAsync 

Parent(s)

System → Servers → SlaveChannels → SlaveAsync

Instance

Must be between 0 and 1000.  

Properties

Values

Properties

Values

Slave Address

Enter the Modbus slave address that will respond on this slave channel The Slave Address must be a valid Modbus address (1 to 255), and must be unique for all Slave Attach Lists on this Slave Channel. 

Reserved

Reserved field, currently unused. 

Source Channel

Master Channel or Internal Channel of the Field Unit and RTDB to be attached to this Slave unit. 

Source Field Unit

Field Unit address containing the RTDB to be used as data represented in this Slave unit. 

32-bit data is only supported in 40,xxx RTDB registers, not 30,xxx registers. In order for the Modbus Slave Attach to work properly, the registers in the attached RTDB must be defined in a specific order. That order is: 

  • Booleans (should be addresses in the ranges of 1-9999 and 10,001-19,999)

  • There should be no registers defined in the range of 20,000-30,000. 

  • 16-bit registers (should be addresses in the ranges of 30,001-39,999 or 40,001-49,999; there must also be at least one 16-bit holding register defined at the beginning of the 40,xxx range, before any 32-bit types)

  • UINT32 or SINT32 registers (should be addresses in the 40,xxx range, numbered greater than the 16-bit registers)

  • REAL32 registers (floating point registers should be addresses in the 40,xxx range, numbered greater than the UINT32 registers) 

  • String registers are not fully supported in the Modbus Slave.

NOTE: The RTDB attached to the Modbus slave should include at least one register in each of the four address ranges (1, 10001, 30001, 40001), observing the rules stated in the bullets above. For instance, if the RTDB definition includes 16-bit registers after UINT32 or REAL32 registers, those 16-bit registers will not work properly when attached to the Modbus Slave.

 

Modbus Network Slave Channel (SlaveNetwork, SlaveModbusTCP)

An SlaveNetwork or SlaveNetworkTCP channel defines a logical connection from a Modbus master to the RediGate via a network TCP/IP port. Under the Slave Channel, one or more Modbus slave device addresses may be defined in separate objects, each pointing to an RTDB from which the data is obtained. Up to six Modbus clients can be connected simultaneously to the same slave channel instance (IP port).

The SlaveNetwork object specifies the use of (serial) Modbus RTU protocol, fully encapsulated within TCP/IP. The SlaveNetworkTCP object specifies Open Modbus/TCP protocol, which is similar to Modbus RTU but with a few differences (6 bytes added to beginning of Modbus packet and no Modbus CRC at the end).

Attributes

Function

Attributes

Function

Object Type

SlaveNetwork or SlaveModbusTCP

Parent(s)

System → Servers → SlaveChannels

Instance

Must be between 0 and 16. 

The Network Slave Channel must have at least one Slave Attach object defined.   

Properties

Values

Properties

Values

Service

Select the slave type for this Modbus Async Slave Channel. The "Little Endian" types indicate that the least significant 16 bits occur first in the message. The "Big Endian" type indicate that the most significant 16 bits occur first. Slave types are: 

'Modbus 32bit Little Endian Word Slave Service' or 'Modbus-TCP 32 bit Slave Service' – The Modbus 32 slave service supports the standard Modbus register types as well as 32-bit registers. If any attached Field Unit being polled includes a register of 32-bit data type, the Slave Channel will return one register of 4 bytes. 

'Modbus 16bit Little Word Endian Slave Service' or 'Modbus-TCP 16 bit pair Slave Service' – The Modbus 16-Bit Pair service supports only standard 16-bit Modbus protocol register types. If any attached Field Unit being polled includes a register of 32-bit data type, the Slave Channel will map each RTDB register into 16-bit register pairs in the Modbus protocol response. See Async Slave Channel for an example. 

'Modbus 32bit Big Endian Word Slave Service' or 'Modbus-TCP 16 bit pair BIG ENDIAN Slave Service' – Same Modbus 32 slave service as above, but using "Big Endian" type. 

'Modbus 16bit Big Endian Word Slave Service' or 'Modbus-TCP 32 bit BIG ENDIAN Slave Service' – Same Modbus 32 slave service as above, but using "Big Endian" type. 

Network Port 

Enter the TCP port address that the Modbus host will use to connect to this Slave Channel. If using the SlaveNetwork (encapsulated serial Modbus RTU protocol), there is no standard IP port. If using SlaveNetworkTCP (Open Modbus/TCP), the standard port is 502, although other ports can be used. 

Network Time  to Live

Enter the Time to Live in seconds for the Network Slave Channel. This is the inactivity period for the IP connection. If no Modbus communication is received in this time, the TCP socket will be closed. 
For an explanation describing the differences between the different protocol Service types (16 or 32 Bit), see Async Slave Channel
For the Modbus Slave Attach object, see Modbus Slave Attach.

Terminal Server

The Terminal Server object receives data on a TCP/IP connection and sends the data contained in the IP packet to one or more Async Ports. It also returns data received on the serial port to the connected host.

Attributes

Function

Attributes

Function

Object Type

TermServ

Parent(s)

System → Servers

Instance

Must be a unique instance number from other Terminal Servers. 

The Terminal Server must have a TSPORT slave object defined. 

Properties

Values

Properties

Values

Service

Select the "Terminal Server" option. 

Network Port

Enter the IP Port number of the Terminal Server service.

This is the port number to which a TCP/IP client must connect to send serial data. The client may connect to any available IP address configured in this unit's Ethernet or other network object.

Up to four simultaneous socket connections to each instance of the Terminal Server are allowed. If used in "Half-Duplex" mode (see the section Async TS Port), each response will be sent to the host which originated the poll, and any simultaneous request from another host will be delayed until the first poll/response are completed. 

Network  TimeToLive

Enter the time to live for the connection in secs.

If there is no network communication for a period of time exceeding the Network TimeToLive, the Terminal Server socket will be closed.

If Network TimeToLive is set to 0, the socket will not be closed even if no data is being received.

Async TS Port

The Terminal Server object requires the TS Port child object to be configured. The TS Port object specifies the serial port or ports to which the serial data will be sent after being received from an IP client.

Attributes

Function

Attributes

Function

Object Type

TSPORT 

Parent(s)

System → Servers → TermServ

Instance

Must be zero.  

Properties

Values

Properties

Values

Buffer Size

Maximum number of bytes which will be put into an IP packet response to the network client. If more serial data is received, it will send one TCP packet with the first set of bytes. In Full Duplex mode, additional packets will be sent until all the serial data has been delivered.

Actual number of bytes sent may be less than the Buffer Size if the Demark Timer (below) times out before the Serial Buffer is full. 

Demark

Maximum time (in milliseconds) to wait before creating and sending a response packet.

If at least one byte is received on the serial port, then a gap between bytes exceeding the Demark time is used to determine when the end of the data has been received. 

Response TimeOut

Enter the response timeout in seconds. This is the maximum time allowed for a response from the serial device, such as a Modbus RTU. It is also used as a switch between three modes of operation: 

"Send and Forget" (Timeout = 0) – This allows the network host to send data to a serial device, but not wait to receive any serial data. 
"Full-duplex" (0 < Timeout < 1000) – This is designed for full bi-directional communication, serial devices that send unsolicited data, or any protocols which may send large or multiple responses to a single poll command. In this mode, the Terminal Server is able to receive data on either the serial or TCP/IP ports at any time, as long as a client is connected to the TCP port. 
"Half-duplex" (Timeout >= 1000) – This is designed for simple poll-response communication, especially where serial port sharing may be a requirement. After one poll and one response packet, the Terminal Server will not receive any more serial data until the next poll is received on the network side. 

Port Table

Click the Edit Table button to select one or more serial ports to use for Terminal Server communication. 

ComPort – Append one or more rows with unique serial ports listed. If more than one port is selected, data received on the TCP port is sent to all of the configured serial ports. In Half Duplex mode, only one response on one port is received and returned to the client. All later responses on any ports will be ignored. In Full Duplex mode, all serial ports are monitored constantly for incoming data, which is returned to the network client. 
The Terminal Server is able to do port sharing in the "Send and Forget" and "Half-duplex" modes above. This allows the Terminal Server serial port to be used simultaneously with more than one Terminal Server, a Master Channel, or certain other communication tasks in the RediGate that also allow port sharing. The "Full-duplex" option of the Terminal Server is not capable of port sharing and should not be configured simultaneously in any other ACE object. 
In port sharing mode, when the Terminal Server needs to send data to a serial port, it will wait for the other task to finish the current transaction, send and receive on the port (or timeout waiting for a response), and then release the serial port so the other task can use it. Similarly, other protocol tasks will wait for the Terminal Server to complete one poll-response transaction before they will attempt to send data to the port.

 

TcpModbusTranslate

The TCPModbusTranslate is an optional child object of the Terminal Server, which performs an on-the-fly translation from OpenModbus/TCP protocol to standard serial Modbus. The OpenModbus/TCP is a proprietary version of Modbus that uses a similar format to serial Modbus, but with different header information. This allows an OpenModbus/TCP host to communicate with a standard serial Modbus device.

Do not use this ACE object when the transmitted data is not Modbus, or when the TCP communication contains serial Modbus messages encapsulated within TCP packets, because there is no translation needed in those cases.

Attributes

Function

Attributes

Function

Object Type

TcpModbusTranslate 

Parent(s)

System → Servers → TermServ

Instance

Must be zero.  

Properties

Values

Properties

Values

Conversion

Select the Modbus mode to convert on the serial side:

RTU (binary) Modbus ASCII Modbus 

Defragmentation  Timer

Enter the number of milliseconds to wait for the full packet of Modbus data to arrive from the Open Modbus/TCP host. This is used in case there is data packet fragmentation on the TCP/IP side. Enter 0 to disable the option of reassembling fragmented packets.

HCP RBE Server

The HCP RBE server allows an HCP to connect to the RediGate on a TCP/IP socket for receiving RBE (Report By Exception) data. RBE messages are generated automatically by any Field Unit that is configured to produce RBEs, whenever the data in a register changes by more than the configured deadband value.

If using with HCP2 rather than HCP, set the port numbers for RBE and PR objects to be the same. In this case, the HCP makes a single socket connection to the listening server on the RediGate and uses this single connection for both RBE and PR messages, thus reducing the number of required open sockets on the HCP machine.

Note that the RBE data is only sent for a Field Unit that is marked as alive by the Master Channel. A unit will be marked as failed if any of its polls (with period less than the Scan Effective Limit) failed on the last attempt.

Attributes

Function

Attributes

Function

Object Type

HCPRBEServer  

Parent(s)

System → Servers

Instance

Must be between 0 and 1. This allows a second listening socket for communication with a backup HCP. 

Properties

Values

Properties

Values

Service

Select the service type "Network RBE Service to HCP"

Network Port

Enter the port number to listen for HCP connections. When using multiple connections to redundant HCPs, all RBE and PR objects must use unique port numbers. 

Network Time To Live

Enter the inactivity period (in seconds) for the connection before disconnecting the TCP socket. 

RBE Pacing

Milliseconds to wait between sending each RBE packet.

The RBE task periodically checks the RBE flags set for each point in the RTDB to see if data has changed. If one or more points has changed more than the deadband, all changed points are sent to the HCP in an unsolicited packet. This parameter defines how often to perform this check for changed data.

HCP PR Server

The HCP PR server allows an HCP to connect to the RediGate on a TCP/IP socket for receiving PR (poll/response) data. PR messages are sent from a SCADA master to the HCP, passed to the RediGate on its PR port, and then passed to the attached Field Unit. Response data is returned to the master via the HCP.

Attributes

Function

Attributes

Function

Object Type

HCPPRServer 

Parent(s)

System → Servers

Instance