Ingersoll Rand X8I User Manual

4 (2)

Ingersoll Rand

System Automation

X8I MODBUS RTU

User’s Manual

Before installing or starting this unit for the first time, this manual should be studied carefully to obtain a working knowledge of the unit and/or the duties to be performed while operating and maintaining the unit.

RETAIN THIS MANUAL WITH UNIT. This Technical manual contains IMPORTANT SAFETY DATA and should be kept with the unit at all times.

More Than Air Answers.

Online answers: http://www.air.irco.com

C.C.N. :

80444987

REV.

B

DATE:

JUNE 2009

SECTION 1 – TABLE OF CONTENTS

 

SECTION 1 – TABLE OF CONTENTS ....................................................................................................................

2

SECTION 2 - INTRODUCTION ................................................................................................................................

3

SECTION 3 - SAFETY PRECAUTIONS ..................................................................................................................

3

SECTION 4 - MODBUS RTU ...................................................................................................................................

5

MODBUS TABLE(S).............................................................................................................................................

5

MODBUS RTUU......................................................................................................................................................

5

COMMUNICATION LINK......................................................................................................................................

5

RS485 SERIAL DATA FORMAT...........................................................................................................................

5

MESSAGE DATA FORMAT .................................................................................................................................

5

SLAVE RESPONSE TIMEOUT ............................................................................................................................

7

MESSAGE ANSWER FROM SLAVE TO MASTER..............................................................................................

7

EXCEPTION RESPONSE ....................................................................................................................................

8

TROUBLESHOOTING .........................................................................................................................................

8

SECTION 5 - MODBUS TABLE DESCRIPTION.....................................................................................................

9

TABLE ITEM FORMAT.........................................................................................................................................

9

NAME AND FUNCTION .......................................................................................................................................

9

CODING ...............................................................................................................................................................

9

MENU REFERENCE ..........................................................................................................................................

10

‘ADV’ ADVISE FUNCTION .................................................................................................................................

10

‘ADV’ ADVISE FUNCTION – SINGLE ITEM FORMAT OPTION ........................................................................

10

‘CMD’ COMMAND FUNCTION...........................................................................................................................

12

‘GET’ FUNCTION ...............................................................................................................................................

13

‘SET’ FUNCTION................................................................................................................................................

13

DATA CODING DEFINITIONS: ..........................................................................................................................

14

DATA TYPES......................................................................................................................................................

14

DATA UNITS.......................................................................................................................................................

15

SECTION 6 - X-SERIES AIR SYSTEM..................................................................................................................

17

SMG BOX ...........................................................................................................................................................

18

GENERAL X-SERIES SYSTEM COMPONENTS ..............................................................................................

18

X-SERIES NETWORK ADDRESSES.................................................................................................................

19

COMMUNICATION LINK....................................................................................................................................

19

MODBUS TIMING...............................................................................................................................................

19

RS485 MODBUS SERIAL DATA FORMAT........................................................................................................

19

SECTION 7 – X8I MODBUS RTU DEFINITIONS ..................................................................................................

20

2

SECTION 2 - INTRODUCTION

System MODBUS Gateway (SMG Box) communication is RS485, RTU, Master-Slave configuration. The SMG Box acts as a transparent interface to enable a remote ‘master’ device to be able to communicate with the X-Series Units and the Intellisys Controllers via the ir485 network ‘slave’ device(s). The MODBUS RTU data construction and formatting for a ‘master’ device is the subject of this document. This information is intended for a systems integrator to facilitate set-up of a ‘master’ device in order to communicate successfully with the X-Series Units and the Intellisys Controllers through a SMG Box.

SECTION 3 - SAFETY PRECAUTIONS

!WARNING : Risk of Danger

WARNING : Risk of Electric Shock

OPERATION

The SYSTEM MODBUS GATEWAY (SMG) BOX must only be operated by competent personnel under qualified supervision.

!

WARNING : Risk of High Pressure

 

WARNING : Consult Manual

Before installing or operating the SYSTEM MODBUS GATEWAY (SMG) BOX, take time to carefully read all the instructions contained in this manual, all compressor manuals, and all manuals of any other peripheral devices that may be installed or connected to the unit.

Electricity and compressed air have the potential to cause severe personal injury or property damage.

The operator should use common sense and good working practices while operating and maintaining this system. All applicable codes should be strictly adhered to.

Maintenance must be performed by adequately qualified personnel that are equipped with the proper tools.

INSTALLATION

Installation work must only be carried out by a competent person under qualified supervision.

A fused isolation switch must be fitted between the main power supply and the SYSTEM MODBUS GATEWAY (SMG) BOX.

The SYSTEM MODBUS GATEWAY (SMG) BOX should be mounted in such a location as to allow operational and maintenance access without obstruction or hazard and to allow clear visibility of indicators at all times.

If raised platforms are required to provide access to the SYSTEM MODBUS GATEWAY (SMG) BOX, they must not interfere with normal operation or obstruct access. Platforms and stairs should be of grid or plate construction with safety rails on all open sides.

Never remove or tamper with safety devices, guards or insulation materials fitted to the SYSTEM MODBUS GATEWAY (SMG) BOX.

The SYSTEM MODBUS GATEWAY (SMG) BOX must only be operated at the supply voltage and frequency for which it is designed.

When main power is switched on, lethal voltages are present in the electrical circuits and extreme caution must be exercised whenever it is necessary to carry out any work on the unit.

Do not open access panels or touch electrical components while voltage is applied unless it is necessary for measurements, tests or adjustments. Such work should be carried out only by a qualified electrician equipped with the correct tools and wearing appropriate protection against electrical hazards.

All air compressors and/or other equipment connected to the unit should have a warning sign attached stating “THIS UNIT MAY START WITHOUT WARNING” next to the display panel.

If an air compressor and/or other equipment connected to the unit is to be started remotely, attach two warning signs to the equipment stating “THIS UNIT CAN BE STARTED REMOTELY”. Attach one sign in a prominent location on the outside of the equipment, and the other sign inside the equipment control compartment.

3

MAINTENANCE AND REPAIR

Maintenance, repairs or modifications must only be carried out by competent personnel under qualified supervision.

If replacement parts are required, use only genuine parts from the original equipment manufacturer, or an alternative approved source.

Carry out the following operations before opening or removing any access panels or carrying out any work on the SYSTEM MODBUS GATEWAY (SMG) BOX:

i.Isolate the SYSTEM MODBUS GATEWAY (SMG) BOX from the main electrical power supply. Lock the isolator in the “OFF” position and remove the fuses.

ii.Attach labels to the isolator switch and to the unit stating “WORK IN PROGRESS - DO NOT APPLY VOLTAGE”. Do not switch on electrical power or attempt to start the SYSTEM MODBUS GATEWAY (SMG) BOX if such a warning label is attached.

Make sure that all instructions concerning operation and maintenance are strictly followed and that the complete unit, with all accessories and safety devices, is kept in good working order.

The accuracy of sensor devices must be checked on a regular basis. They must be calibrated when acceptable tolerances are exceeded. Always ensure any pressure within the compressed air system is safely vented to atmosphere before attempting to remove or install a sensor device.

The SYSTEM MODBUS GATEWAY (SMG) BOX must only be cleaned with a damp cloth, using mild detergents if necessary. Avoid the use of any substances containing corrosive acids or alkalis.

Do not paint the control faceplate or obscure any indicators, controls, instructions or warnings

4

SECTION 4 - MODBUS RTU

MODBUS TABLE(S)

This document discusses generic MODBUS communications and how to implement the software specific ‘MODBUS Table’ information. MODBUS communication formatting may differ from controller to controller and you may require more than one ‘MODBUS Table’.

Always check the software variant identification and version number for a controller or unit with the variant and version of the ‘MODBUS Table’ supplied. In some instances the information contained in a ‘MODBUS Table’ may not be applicable to a controller or unit installed with the same software variant but a different version number.

MODBUS RTU

MODBUS RTU (Remote Terminal Unit) is a master-slave type protocol. An X-Series Automation System Controller or Intellisys Controller functions as the slave device. Information requests or commands are communicated from master to slave only through a System Modbus Gateway Box (SMG). The SMG Box will always respond to communications from a remote master device in accordance with the MODBUS RTU protocol standard.

The MODBUS protocol is used to communicate with personal computers (PC), Programmable Logic Controllers (PLC’s), or Distributed Control Systems (DCS) over the Network port. The SMG Box only responds to three MODBUS commands, Read Holding Register 03 (03 Hex), Preset Single Register 06 (06 Hex), and Preset Multiple Registers command 16 (10 Hex) (See Modicon MODBUS Protocol Reference Guide, PI-MBUS-300 Rev. J, for more details on MODBUS).

COMMUNICATION LINK

MODBUS is implemented using a two-wire RS485 industry standard communications link operating in master-slave mode.

Polarity of the two RS485 wires (L1+ and L2-) is important; reversal will disrupt communications.

RS485 SERIAL DATA FORMAT

The RS485 MODBUS port is a 2-wire operating with an asynchronous serial data format: 8 data bits / no parity / 1 stop - (8,N, 1) - transmitted at 9600 baud.

MESSAGE DATA FORMAT

The bytes of the MODBUS RTU message must be sent in one message package. The RTU protocol allows for a maximum pause of 1.5 byte-times between 2 consecutive bytes of a message.

A pause longer than 1.5 byte-times will render the message invalid and it will be ignored.

Message data format is dependant on function and will consist of a combination of the following elements:

1)Destination address (slave network address)

2)Function Code

3)Data start address (slave register start address)

4)Number of registers, number of bytes of data

5)Message data

6)CRC checksum

Message Destination Address

Slave

Function

Start

Number of

CRC Check

Address

Code

Address

Registers

Sum

 

 

 

 

 

01

03

40 06

00 02

30 CA

The ‘destination address’ must be correct for the ‘slave’ controller device for which the message is intended. An address can be from 01Hex to EFHex. The SMG Box is transparent and addresses must be for the destination ‘slave’ controller or unit. Each controller or unit must be set with a unique address.

5

Message Function Codes

Slave

Function

Start

Number of

CRC Check

Address

Code

Address

Registers

Sum

 

 

 

 

 

01

03

40 06

00 02

30 CA

The message function code defines the required data processing operation of the slave controller. Although several types of message function codes are defined by the MODBUS standard, only the message function code types working directly with registers are implemented on controller units:

03H Read Holding Register(s) – Get (Get Data) or Adv (Advise Data) (X-Series) and Read (Intellisys) 06H Preset Single Register - Write (Intellisys Only)

10H Preset Multiple Registers – Set (Set Data) or Cmd (Command Instruction) (X-Series only)

Any other message function code type will result in an EXCEPTION response.

Message Data Start Address

Slave

Function

Start

Number of

CRC Check

Address

Code

Address

Registers

Sum

 

 

 

 

 

01

03

40 06

00 02

30 CA

The message data start address (16bit word) designates the initial register address location in the controller from which the data is processed. Start address information is contained in the ‘MODBUS Table’.

Note: high-byte transmitted first followed by low-byte.

Message Data

The message data content depends on the message function code type.

03H Read Holding Register(s) – Get (Get Data), Adv (Advise Data) (X-Series) or Read (Intellisys)

Slave

Function

Start

Number of

CRC Check

Address

Code

Address

Registers

Sum

 

 

 

 

 

01

03

40 06

00 02

30 CA

Slave address + function code ’03 Hex’ + start address of registers in slave memory + 16bit integer value that determines the size (in 16bit ‘word’ registers) of the message data being requested (00 02 = 2 registers of data). This is the number of 16bit registers to read. A maximum of 32 registers can be read at one time. This information is contained in the ‘MODBUS Table’.

06H Preset Single Register - Write (Intellisys Only)

Slave

Function

Start

DATA

CRC Check

Address

Code

Address

byte 0 byte 1

Sum

 

 

 

 

 

01

06

00 6F

00 5F

FE BC

Slave address + function code ’06 Hex’ + start address of register(s) in slave memory to be set then the ‘data’ itself. This information is contained in the ‘MODBUS Table’.

10H Preset Multiple Registers – Set (Set Data) or Cmd (Command Instruction) (X-Series only)

Slave

Function

Start

Number of

Number of

DATA

DATA

CRC Check

Registers To

Bytes of

1st Register

2nd Register

Address

Code

Address

Sum

Be Set

Data

byte 0 byte 1

byte 2 byte 3

 

 

 

 

 

 

 

 

 

 

 

 

01

10

40 18

00 02

04

00 00

1B 5F

88 0E

Slave address + function code ’10 Hex’ + start address of register(s) in slave memory to be set + 16bit (integer valve of the number of registers to be set) + 8bit ‘byte’ (integer value for the number of following data bytes) then the ‘data’ itself. This information is contained in the ‘MODBUS Table’.

Note: A function ’10 Hex’ Set message also requires an additional byte defining the number of ‘data’ bytes in the data message. This will always be the number of ‘registers’ multiplied by 2 as each ‘data’ register consists of 2 bytes (if number of ‘data’ registers = 2 then number of ‘data’ bytes = 4).

6

Message CRC Checksum

Slave

Function

Start

Number of

CRC Check

Address

Code

Address

Registers

Sum

 

 

 

 

 

01

03

40 06

00 02

30 CA

The CRC (Cyclical Redundancy Check) is a check-sum generated by means of ‘A001H polynomial’.

The CRC is two bytes containing a 16-bit binary value (word). The CRC value is calculated by the transmitting device that appends the CRC to the end of the message. The receiving device recalculates the CRC value prior to processing of a received message and compares the result to the actual CRC value appended to the message. If the two values do not match the message is regarded as invalid. The CRC is initiated by first preloading a 16bit register to all 1's (FFFF Hex). Then a process begins of applying each consecutive 8bit byte of the message to the register contents using an exclusive ‘OR’ calculation. The result is shifted one bit in the direction of the least significant bit (LSB), with the most significant bit (MSB) set at ‘0’. The LSB is then examined; if ‘1’ the register content is applied to the polynomial value ‘A001’ Hex (1010 0000 0000 0001) using an exclusive ‘OR’ calculation - if ‘0’ no exclusive OR takes place. This process is repeated until eight ‘bit’ shifts have been performed. After the eighth bit shift, the next 8bit message byte is applied to the register contents using an exclusive ‘OR’ calculation. The bit shift and re-calculation process is then repeated again. When all message bytes have been processed the final content of the 16bit register is the message CRC value.

Only the 8bits of ‘data’ in each message character is used for generating the CRC; start, stop and parity bits are ignored. Note: When the 16bit CRC value is appended to a message, the low order byte must be transmitted first followed by the high order byte. An incorrect or byte reversed check sum will render the message invalid and it will be ignored.

SLAVE RESPONSE TIMEOUT

A slave controller may not answer immediately. Ensure the ‘slave timeout’ setting of the ‘master’ device is set to a value no less than 500ms. If the ‘slave’ device fails to receive a valid message due to a communication disruption, parity error, CRC error or other reasons, no response is given and the master must process a timeout condition in this instance. If the ‘slave’ receives a valid message that cannot be processed an exception response will be returned.

MESSAGE ANSWER FROM SLAVE TO MASTER

The format of the ‘slave’ controller answer is similar to the original master request format; the message data content depends on the message function code type.

The ‘address’ and ‘code’ of the slave answer is identical to the original request message; the address is the ‘slave’ device address and the ‘code’ is a repeat of received function code type from the master. The remainder of the message is dependant on the requested function code type. The CRC checksum is re-calculated for the answer message characters using the specified CRC process.

03Hex – Get: read from register (or ‘Adv’ Advise)

Slave

Function

Start

Number of

DATA

DATA

Bytes of

1st Register

2nd Register

Address

Code

Address

Data

byte 0 byte 1

byte 2 byte 3

 

 

 

CRC Check

Sum

01

 

03

 

40 18

 

04

 

00 00

 

1B 5F

BE 61

 

 

 

 

1)

 

slave address

 

1byte

 

 

 

 

 

 

 

2)

 

function code

 

1byte

 

 

 

 

 

 

 

3)

 

bytes of data

 

1byte (number of bytes in ‘data’ answer)

 

 

 

4)

 

data

 

 

 

(high byte of each register transmitted first)

 

 

 

5)

 

CRC checksum

 

2bytes (low byte first followed by high byte)

06Hex - Preset Single Register: write to single register

 

 

 

 

 

Slave Address

Function Code

Start Address

DATA

 

CRC Check Sum

 

 

 

byte 0 byte 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

01

 

06

 

00 6F

00 5F

 

FE BC

 

 

 

 

 

 

 

1)

 

slave address

 

1byte

 

 

 

 

 

 

 

2)

 

function code

 

1byte

 

 

 

 

 

 

 

3)

 

bytes of data

 

1byte (number of bytes in ‘data’ answer)

 

 

 

4)

 

data

 

 

 

(high byte of each register transmitted first)

 

 

 

5)

 

CRC checksum

 

2bytes (low byte first followed by high byte)

7

10H Preset Multiple Registers – Set (Set Data) or Cmd (Command Instruction) (X-Series only)

Slave

Function

Start

Number of

CRC Check

 

 

Address

Code

Address

Registers

Sum

 

 

 

 

 

 

 

 

 

01

10

40 18

00 02

D4 0F

 

 

 

1)

slave address

 

1byte

 

2)

function code

 

1byte

 

3)

number of registers set

2 bytes

 

4)

CRC checksum

 

2 Bytes (low byte first followed by high byte)

EXCEPTION RESPONSE

If the ‘slave’ device receives a request that cannot be processed an ‘exception response’ is given. An exception response message consists of the following elements:

1)Slave Network Address (1 byte): Slave address identification

2)Function Code (1 byte): In a normal response, the slave repeats the function code of the original master request. All function codes have an MSB (most significant bit) of 0 (values are all below 80 hexadecimal). In an exception response, the slave sets the MSB of the function ‘code’ to 1. This makes the ‘code’ value 80 Hex greater than the received ‘code’ value from the master.

3)Data (1 byte): The ‘data’ response will contain a ‘1 byte’ value exception code.

4)CRC Checksum (2 byte).

 

Slave Address

Function Code

Error Code

CRC Check Sum

 

 

 

 

 

 

 

 

01

90

04

 

4D C3

 

Exception Codes:

 

 

 

 

 

01H

Illegal Function Code

 

 

 

 

The requested ‘code’ function is not supported.

 

02H

Illegal Data Address

 

 

 

 

The requested ‘data start address’ is not supported.

 

03H

Illegal Data Value

 

 

 

 

The requested ‘data’ value is not supported.

 

04H

Function Error

 

 

 

 

The slave cannot execute the request or the request type is inhibited.

TROUBLESHOOTING

Problem: No ‘slave’ response or corrupt MODBUS message

Solution:

Check that the ‘slave’ controller is set for the anticipated slave address

 

Check that all ‘slave’ controllers are set with a unique system address

 

Check that the controller is set for MODBUS RTU mode (if applicable)

 

Check that the ‘master’ is operating in MODBUS RTU mode

 

Check that the ‘master’ baud rate, parity bit and number of stop bits are correct

 

Check that the ‘master ‘response timeout is set for a minimum of 500ms

 

Check that the ‘master’ is implementing the specified CRC check sum process

 

Check RS485 wiring polarity and security of connections

Problem: Last character of MODBUS message is corrupted

Solution:Add a delay of 2ms after last character received before releasing RTS signal

Problem: The MODBUS master message is reflected in the slave answer

Solution:Inhibit RX/TX echo on ‘master’ device communications port

8

SECTION 5 - MODBUS TABLE DESCRIPTION

A ‘MODBUS table’ describes the “items” used to access information in the memory registers of different types of controller, or similar controllers using different application software variants or versions. The MODBUS Table will contain the valid message items (“Name”) together with the Function Code (Function), Register Start Address (“Register Address”), Register Size (“Register Length”) and a definition for coding and decoding the item data (“Coding”). A ‘MODBUS Table’ order form, detailing the required order information, can be found on the last page of this document.

TABLE ITEM FORMAT

Each ‘item’ of a ‘MODBUS Table’ will define the massage format to read or set the information contained in the slave controller register(s):-

Name

Descriptive ‘name’ or ‘item tag’ for the data item. The ‘Name’ is not used in code or message

Function

formatting and serves only as a reference for the defined item.

The Hex code required that instructs the slave (Intellisys controller) to perform a GET, ADV

Register Address

(Advise), CMD (command) or SET function.

The slave controller register start address for the defined processing function.

Register Length

The number of registers to be processed.

Coding

How to construct or interpret the data elements of a message.

Menu

Controller menu item reference.

Note: see “MODBUS RTU” for a detailed description of ‘Function’, ‘Register Address’ and ‘Register Length’ formats.

NAME AND FUNCTION

The ‘name’ for each table item will always start with 3 characters that describe the function type:

Adv Advise Function (03Hex) – same format as a Get function, see ‘Advise Function’. Get Read from register (03Hex)

Set Write to register (10Hex)

Cmd Command (10Hex) – same format as a Set function; will instruct the slave to perform a defined action or process

CODING

Item coding definitions specify the ‘number of data bytes’ and the ‘data conversion type’. In some instances a data message may contain multiple sets of data items; an ‘Advise’ message for example. In this instance the ‘start location of data’ within the message is also specified to enable extraction of the required data item from the entire message data.

Number of data bytes:

This specifies the length of the item data in bytes (6 = 6 bytes (3 registers) of data)

Start location of data bytes:

 

 

Number of Data

DATA

DATA

DATA

 

Slave Address

Function Code

1st Register byte

2nd Register

3rd Register byte CRC Check Sum

Bytes to Follow

 

 

 

0 byte 1

byte 2 byte 3

4 byte 5

 

 

 

 

 

 

 

 

01

03

06

09 00

00 65

00 A8

30 4D

If a data message consists of more than one set of data items (multiple item data message) the ‘start location’ specifies where the first byte of the data associated with in item begins. If, for example, a 6 byte (3 register) answer is returned that consists of three different ‘2 byte’ item data values, a ‘start location of data bytes’ = ‘2’ indicates that the item data starts with the 3rd byte (byte 2) of the data message. The 1st byte of a data message is regarded as byte 0(zero). In this instance the ‘number of data bytes’ will be ‘2’ indicating that the data associated with the item is 2 bytes of data in length. A ‘start location’ of byte ‘2’ and register length of ‘1’ (register = 2 bytes) means the data is contained in the 3rd and 4th bytes of the data message. If no ‘start location’ is specified then data associated with the item will start with the first byte (byte 0) of the message data.

Data Conversion Type:

This specifies how to interpret the data; refer to the ‘Data Conversion Type’ list in the Modbus Table.

For example: If the ‘Data Conversion Type’ = CODED, STATUS then the decimal integer value of the data has a defined meaning; refer to the ‘STATUS’ Coded data list in the ‘MODBUS Table’ for definitions. If the ‘Data Conversion Type’ = PSI then the decimal integer value of the data is ‘pressure’ in ‘psi’ units.

9

MENU REFERENCE

The menu structure of a controller has menu pages that contain a number of menu page ‘items’.

example menu and items

For example: menu pages P00, P01, P02 > P’n’.

Menu page P00 is the normal running list of display items that can be accessed and viewed on the controller display without access code. These items are ‘read only’ and consist of status, hours run and other general control or monitoring value(s).

Menu pages other than P00 are setup and configuration items that require an ‘access code’ when accessing the items on the controller display.

Each menu page has a list of items that are referenced ‘1, 2, 3 > ‘n’.

a

b

c

P01

01.02

AB

For example, a menu reference of P01.02 “AB” refers to menu item ‘2’ of menu page P01.

Each menu page item reference also has a two or three alphanumeric character item identification that is displayed by the controller. With a menu reference the controller manual can be examined to determine the exact function, definition, scope and limits for the specified item value.

Items that do not have a ‘Menu’ reference are general controller status or menu page P00 items.

‘ADV’ ADVISE FUNCTION

The ‘Advise’ function is a special type of ‘Get’ function. Each ‘Advise’ function item has an equivalent ‘Get’ function; both functions will provide a similar result.

Controllers on a Multi485 network will routinely broadcast key value and status specific data to all other controllers on the network. This information is used, for example, by a system management unit for systems monitoring and control functions. A SMG Box will automatically capture, store and continuously update these information items for each controller on the network. Adv are Routine network broadcasts that occur every 2 seconds. Th transmission of this data consumes no network bandwidth. (The maximum recommended request rate is 1 request every 2 seconds.)

This facility provides a method of retrieving ‘Adv’ data items directly from the SMG Box resulting in a faster response time for information requests from a master. The method also has the advantage of reducing the amount of data traffic on the Multi485 network enabling system management controllers to perform there functions without potential communication delays. For this reason MODBUS ‘Adv’ functions are preferable to ‘Get’ functions when implemented on a Multi485 network that consists of a system management controller with multiple machine controllers.

‘ADV’ ADVISE FUNCTION – SINGLE ITEM FORMAT OPTION

Controllers or units on a Multi485 network routinely broadcast general status and key performance information. The SMG Box will capture and store each ‘Broadcast’ detected. The Gateway ‘Broadcast’ registers will always contain the latest ‘broadcast’ information for each controller or unit on the Multi485 network. When a Modbus ‘Adv’ request is made the SMG Box will respond immediately with information from it’s own ‘Broadcast’ registers for the unit address specified. This function reduces network activity and enables a faster Modbus response to commonly requested data.

A standard ‘Advise’ function defined in the ‘MODBUS Table’ will show the entire ‘broadcast’ being returned as a response. The table will define for each ‘name’ item where in the returned data message the actual requested data can be found. The ‘master’ must then extract the required data from the returned data message. This method is very efficient as the master can extract all ‘broadcast’ data from the single returned data message without the need to perform multiple requests for each individual data item contained in a single slave controller ‘broadcast’ message.

10

Some ‘master’ devices may not be equipped with the necessary data message memory to handle a large message of many bytes or have the ability to extract multiple data items from a single data message item. In this instance an alternative ‘Advise’ function request method can be implemented.If the ‘Advise’ items of a ‘MODBUS Table’ are examined it will be seen that the ‘Register Address’ for each individual ‘Advise’ item contained in a single slave controller ‘broadcast’ message will have the same start address (Register Address). If the entire ‘broadcast’ data message is 7 registers (14 bytes) in length and only the 2nd register (2 bytes) of item data is required, it is possible to specify a ‘Register Address’ that is 2 bytes higher (skip the first 2 bytes of the broadcast data message) with a ‘Register Length’ that is consistent with the required item data length. This will instruct the MODBUS Gateway to extract the 2 bytes of required item data from the entire broadcast data message and only return the required 2 bytes of data as a response. Using this method an ‘Advise’ function can be handled by a ‘master’ in exactly the same way as a ‘Get’ function.

For Example: (AdvDeliveryPressure):

The ‘broadcast’ of an example slave controller may be 6 bytes of data (3 registers) in length starting at register address location ‘F000’ Hex. The 1st byte (byte 0) is 8bits coded status, the 2nd byte (byte 1) is 8bits status flags which together form a single 16bit status register (1st register). The 3rd and 4th bytes (byte 2 and byte 3) are a single16bit register (2nd register) containing a ‘delivery pressure’ value. The 5th and 6th bytes (byte 4 and byte 5) are a single 16bit register (3rd register) containing a ‘delivery temperature’ value. From an example ‘MODBUS Table’ it may be seen that the ‘Register Address’ for all four of these separate ‘Adv’ items is ‘F000 Hex’ (the start address of the entire ‘Broadcast’ message that contains the data specified).

An entire ‘Broadcast’ message may, for example, contain 3 registers (6 bytes) of data. For a particular item the ‘Modbus Table’ may show the ‘start address’ for the entire broadcast to be ‘F000’ with a length of 3 registers (6 bytes). The Modbus Table will indicate that the required data is 2 bytes long (number of data bytes) starting at the 2nd byte of data in the entire broadcast (start location of data bytes).

Name

AdvDeliveryPressure

Modbus Function

03

Modbus Register Address F000 (start address of entire Broadcast message)

Modbus Register Length

0003 (length of entire Broadcast message)

Coding

Number of data bytes = 2 (length of AdvDeliveryPressure data)

 

Start location of data bytes = 2 (the 2 data bytes of the AdvDeliveryPressure data item

 

start at byte 2 in the Broadcast message = bytes 2 and 3 of the message)

 

Data Conversion Type = PSI

Master Request Message

“01 03 F000 0003 36CB” (36CB = CRC check sum)

Slave Answer Message

“01 03 06 09 00 00 65 00 A8 304D” (304D = CRC)

Coding = PSI

‘00 65’Hex = 101 decimal = 101 psi

Register addresses shown are examples only

 

 

 

Status Register

Delivery

Delivery

 

 

 

 

Pressure

Temperature

 

 

 

 

 

 

Slave Address

Function Code

Number of Data

DATA

DATA

DATA

 

1st Register byte

2nd Register

3rd Register byte CRC Check Sum

Bytes to Follow

 

 

 

0 byte 1

byte 2 byte 3

4 byte 5

 

 

 

 

 

 

 

 

 

01

03

06

09 00

00 65

00 A8

30 4D

 

 

 

F000

F001

F002

 

 

 

 

 

 

 

Message Data

11

If only the ‘delivery pressure’ (AdvDeliveryPressure) data value is required a new ‘Advise’ request message format can be constructed from the Modbus Table definition:

Name

AdvDeliveryPressure

Modbus Function

03

Modbus Register Address F001 (start at the second register, byte 2, of the Broadcast)

Modbus Register Length 0001 (only return one register, 2 bytes, of data)

Using the new ‘Advise’ message format the SMG Box will return only the 2nd Broadcast message register (2 bytes) containing the ‘delivery pressure’ data value.

Master Request Message “01 03 F001 0001 E6CA” (E6CA = CRC check sum)

 

 

 

Slave Answer Message

“01 03 02 00 65 786F” (786F = CRC check sum)

 

 

Coding = PSI

 

’00 65’Hex = 101 decimal = 101 psi

 

 

 

 

 

 

 

 

Status Register

Delivery

Delivery

 

 

 

 

 

 

Pressure

Temperature

 

 

 

 

 

 

 

 

 

 

 

 

 

Number of Data

DATA

DATA

DATA

 

 

 

Slave Address

Function Code

1st Register byte

2nd Register

3rd Register byte CRC Check Sum

 

 

Bytes to Follow

Modbus Register Address

F000

 

 

 

0 byte 1

byte 2 byte 3

4 byte 5

 

 

 

 

 

 

 

 

 

Modbus Register Length

0003

01

03

06

09 00

 

00 65

00 A8

30 4D

 

 

 

 

 

F000

 

F001

F002

 

 

 

 

 

 

Number of Data

DATA

CRC Check Sum

 

 

 

 

Slave Address

Function Code

2nd Register

 

 

 

 

Bytes to Follow

 

 

 

 

 

 

byte 2 byte 3

 

 

Modbus Register Address

F001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Modbus Register Length

0001

 

01

03

02

 

00 65

78 6F

 

It is only possible to manipulate a Modbus message format using ‘registers’ (1 register = 2 bytes = 1 word = 16bits); it is not possible to manipulate addresses or register lengths to a single byte of data. At least one register (2 bytes) of data must be specified even if only one byte of information is required. The ‘master’ must extract the required byte of data from the returned message.

The data type (the definition of the returned data) may be different when using an ‘Advise’ function than it is when using a ‘Get’ function for the same information. The ‘delivery pressure’ returned by an ‘Advise’ function will be 2 bytes in length and will represent pressure as an integer value in ‘psi’ units (PSI). The ‘delivery pressure’ returned by a ‘Get’ function may, for example, be 4 bytes (2 registers) in length and represent a 32bit signed integer value in miliBar units (mBAR). Always check the item ‘Coding’ definition to establish the data definition type.

Register addresses shown are examples only

‘CMD’ COMMAND FUNCTION

A ‘Command’ function will instruct the ‘slave’ controller or unit to execute a pre-defined action or process. With a command type message the content of the ‘message data’ from the ‘master’ must always be the same value as the ‘lower byte’ of the command register address. For example: if the command item ‘Register Address’ = 3302 then the ‘data’ value must be ’00 02’ Hex.

 

 

 

 

Number of

Number of Bytes

 

 

 

Slave Address

Function Code

Start Address

Registers To Be

DATA

CRC Check Sum

 

 

 

 

Set

of Data

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

01

10

33 02

00

01

02

00 02

25 70

 

 

 

 

 

 

 

 

 

 

It is the act of setting the specified register in the ‘slave’ controller with the defined ‘data’ value that initiates the action or process. An incorrect ‘data’ value will result in an exception response. If the ‘command’ is accepted the ‘slave’ will answer with a normal ‘Set’ register response. If the slave is unable to execute the command it will give a code ‘04’ exception response.

12

Example:

Using a command function item to set the specified item register to the correct value, the ‘slave’ controller is instructed to perform the defined action or process. In the case of a ‘CmdStart’ item, for example, the ‘slave’ controller is instructed to start the machine. The implementation of a ‘Cmd’ function message by the ‘master’ is identical to a ‘Set’ function message; both operations use function code ‘10 Hex’ to write data to a slave controller register.

Name

CmdStart

Modbus Function

10

Modbus Register Address

3300

Modbus Register Length

0001

Coding

Number of data bytes = 1

CmdStart (to slave at address ‘01’ Hex)

Master Command Message

“01

10 3300 0001

02 0000 A553” (A553 = CRC check sum)

Slave Answer Message

“01

10 3300 0001

0E8D” if start command executed or “01 90 04 4D C3” exception

response if not executed, ‘90’ = repeat of ‘10’ function code with MSB set to ‘1’ and ‘04’ = exception error code.

Register addresses shown are examples only

Names that begin with CMD are Non-routine. This data must be written to the device. (The maximum recommended request rate is 2 requests per second up to 32 words per request.)

‘GET’ FUNCTION

Using the MODBUS Table a read data (Get) function message can be constructed:

Name

GetDeliveryPressure Modbus

Function

03

Modbus Register Address

4006

Modbus Register Length

0002

Coding

Number of data bytes = 4

 

Data Conversion Type = mBAR

GetDeliveryPressure (request to slave at address ‘01’ Hex)

Master Request Message

“01 03 4006 0002 31CA” (31CA = CRC check sum)

Slave Answer Message

“01 03 04 00 00 1B 58 F139” (F139 = CRC check sum)

Coding = mBAR

1B 58Hex = 7000 decimal = 7000 miliBar (7.0 bar)

Register addresses shown are examples only

Note: Names that begin with Get are Non-routine. This data must be requested from the device. (The maximum recommended request rate is 2 requests per second up to 32 words per request.)

‘SET’ FUNCTION

Using the MODBUS Table a write data (Set) function message can be constructed:

Name

SetLoadPressure Modbus

Function

10

Modbus Register Address

4018

Modbus Register Length

0002

Coding

Number of data bytes = 4

 

Data Conversion Type = mBAR

SetLoadPressure (to slave at address ‘01’ Hex)

Master Write Message

“01 10 4018 0002 04 0000 1B58 C9CC” (C9CC = CRC)

Slave Answer Message

“01 10 4018 0002 D40F” (D40F = CRC check sum)

Coding = mBAR 0000

1B58Hex = 7000 decimal = 7000 miliBar (7.0 bar)

Register addresses shown are examples only

Names that begin with Set are Non-routine. This data must be written to the device. (The maximum recommended request rate is 2 requests per second up to 32 words per request.)

13

DATA CODING DEFINITIONS:

Definitions for ‘data units’ and ‘data conversion types’ are listed for each ‘item’ in the “MODBUS Table” document.

All ‘data’ values are ‘whole’ numbers (integers); decimal places are not permitted in MODBUS data messages.

All ‘data’ values are unsigned (always positive) unless otherwise stated. Values specified as ‘SIGNED’ in the MODBUS Table can be negative in accordance to the standard data convention for ‘signed’ number values.

DATA TYPES

Each standard definition will start with a “key” word that defines the data type:-

The following are selected examples; data types not included below are detailed in individual ‘Modbus Tables’

Type

Description

Coded

a decimal value that has a defined definition; see the ‘Coded’ lists in

 

the ‘MODBUS Table’ for value definitions

Value

a ‘whole’ number or value in the specified units

Pressure

a ‘whole’ number defining a pressure in the specified units

Temperature

a ‘whole’ number defining a temperature in the specified units

Time

a ‘whole’ number defining a time period in the specified units

Electrical

a ‘whole’ number defining a volt, amp, power, or speed value in the

 

specified units

Clock

Clock values are relevant to real time clock functions; for example

 

pressure schedules. These ‘whole number’ unsigned values are

 

‘packaged’ multiple values and must be interpreted as follows.

Clock Data Type

Coding

HH_MM

1) Divide the value by 60 = Hours (0 to 23)

 

2)

The remainder (modulus) = Minutes (0 to 59)

 

Example for a value of ‘1050’

 

Hours = 1050 / 60 = 17.5 = 17 Hours

 

Minutes = remainder = 30 = 30 Minutes

 

Time = 17:30 (5:30pm)

D_HH_MM

1) Divide the value by 10000 = Day (1 = Monday, 7 = Sunday)

 

2)

Divide the remainder (modulus) by 60 = Hours (0 to 23)

 

3)

The remainder (modulus) = Minutes

 

Example for a value of ‘31050’

 

Day = 31050 / 10000 = 3.105 = 3 = Wednesday

 

Hours = = remainder / 60 = 17.5 = 17 Hours

 

Minutes = remainder = 30 = 30 Minutes

 

Day/Time = Wednesday 17:30 (5:30pm)

YYYY_DD_MO

1) Divide the value by 10000 = Year

 

2)

Divide the remainder (modulus) by 100 = Day (1 to 31)

 

3)

The remainder (modulus) = Month (1 to 12)

Example for a value of ‘20051605’

Year = 20051605 / 10000 = 2005.1605 = Year 2005

Day = remainder / 100 = 16.05 = Day 16

Month = remainder = 5 = Month 5

Date = 16th May 2005

14

Value
PSI
BAR
FAH
CEL
HRS
%
BOOLEAN BINARY

DATA UNITS

The ‘MODBUS Table’ will define the ‘data units’ for each item. Data unit definitions are specified in the ‘MODBUS Table’ as a separate list; for example:

The following are selected examples; data types not included below are detailed in the ‘Modbus Tables’

The number is the value in the specified engineering units

The engineering units will differ dependant on unit set-up or item definition.

Pressure in ‘psi’

Pressure in ‘Bar’

Temperature in oF

Temperature in oC

Hours

Percentage 0 to 100

The number will be 0 or greater than 0, (Boolean: 0 = False, 1 = True)

The number represents a 16bit (two byte) binary value of 16bit flags.

The value must be interpreted in terms of each ‘bit’ as a set of sixteen Boolean (0 or 1) flags. These values are compressor related or I/O Box Input related. For compressor related items the least significant bit (Bit 0) represents compressor 1. For unit inputs the least significant bit (Bit 0) generally represents input 1.

 

 

 

 

 

 

 

16 bit Register

 

 

 

 

 

 

 

 

Bit

 

1st Byte (byte 0)

 

 

 

 

2nd Byte (byte 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

14

13

12

11

10

9

8

 

7

6

5

4

3

2

1

0

 

MSB

0

0

0

0

0

0

0

0

 

1

0

0

0

0

0

0

1

LSB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Compressor 8

 

 

Compressor 1

The example illustrates the bit pattern for a value of ’00 81 Hex’. This value is interpreted as a ‘true’ condition with respect to the item definition for compressors 1 and 8. If the ‘item’ definition is ‘Compressors Running’ then compressors 1 and 8 are in a ‘running’ condition.

15

The example illustrates the bit pattern for a value of "1A 04 C2 01" Hex. A reference to ‘Bit 18’ equates to bit ‘2’ of byte ‘1’ in the answer data message. If the ‘bit’ is ‘1’ then the condition is ‘TRUE’.

 

 

 

 

 

 

 

 

1st Register

 

 

 

 

 

 

 

 

 

 

 

 

 

2nd Register

 

 

 

 

 

 

 

 

 

 

1st Byte (byte 0)

 

 

 

2nd Byte (byte 1)

 

 

 

3rd Byte (byte 2)

 

 

 

4th Byte (byte 3)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bit

31

30

29

28

27

26

25

24

 

23

22

21

20

19

18

17

16

 

15

14

13

12

11

10

9

8

 

7

6

5

4

3

2

1

 

0

 

MSB

0

0

0

1

1

0

 

1

0

 

0

0

0

0

0

1

0

0

 

1

1

0

0

0

0

1

0

 

0

0

0

0

0

0

0

 

0

LSB

BIT ‘n’

 

 

 

 

 

 

A Boolean (true/false) can be established from examining the specified ‘bit’ of the

 

 

 

 

 

 

 

 

 

16bit register. If the item specifies ‘Bit 4’ then the 4th bit should be examined:

 

 

 

 

Note: The LSB (least significant bit) of a register or byte is regarded as Bit 0(zero)

 

 

 

 

 

 

 

16 bit Register

 

 

 

 

 

 

 

Bit

 

1st Byte (byte 0)

 

 

 

2nd Byte (byte 1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15

14

13

12

11

10

9

8

 

7

6

5

4

3

2

1

0

 

MSB

0

0

0

1

1

0

1

0

AND

1

0

0

1

0

0

0

1

LSB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

0

0

0

0

0

 

0

0

0

1

0

0

0

0

 

 

 

 

 

 

 

 

 

EQUALS

 

 

 

 

 

 

 

 

 

0

0

0

0

0

0

0

0

 

0

0

0

1

0

0

0

0

 

= 16 Decimal (Condition is TRUE)

The 4th bit of a register can be extracted by ‘masking’ the register content with “10 Hex”; if the resulting value is greater than 0(zero) then the condition is ‘True’, if the result is 0(zero) then the condition is ‘False’.

Decimal Places:

Numbers with decimal places (eg 20.55) are not permissible in MODBUS data transfer – all numbers must be integer ‘whole’ numbers. To provide ‘decimal place’ accuracy some data values are multiplied by 10, 100 or 1000 and transmitted as a ‘whole’ number (integer). In this instance the ‘Data Units’ will specify that the number represents a value to one or more decimal places.

For example:

PERCENT_DP2 = Percent to 2 decimal places

 

“2055” divided by 100 = 20.55%

If the ‘Data Units’ specifies “to 1 decimal place”, divide the number by 10 to convert to the correct engineering units. If the ‘Data Units’ specifies “to 2 decimal places”, divide the number by 100; if 3 decimal places divide by 1000.

16

Ingersoll Rand X8I User Manual

SECTION 6 - X-SERIES AIR SYSTEM

Note: example only; systems will differ from installation to installation

17

SMG BOX

For Remote Monitoring/Control of X-Series Units and Boxes. The SMG Box provides a RS485 Modbus connection to the X8I Automation System. A system will only contain one SMG Box.

GENERAL X-SERIES SYSTEM COMPONENTS

The following Components can be monitored by the SMG Box.

X8I Series Controller or X12I Series Controller: Automation System Unit

Monitors and controls the air compressors, all general system and air compressor related information is governed and available from this unit. A system will only contain one X-Series Automation System controller.

EX Box: Extension to the X-Series Unit

For connection to remote compressor(s) or other specialized compressor integration. All common air compressor status information is sent to, and available from, the X-Series system management unit. A system may contain multiple EX Boxes.

I/O Box: Monitoring/Control of Auxiliary Equipment and/or Sensors

For monitoring and/or control of auxiliary compressed air equipment (for example: dryer, auto drain, filtration differential, isolation valves, cooling water towers/pumps, ventilation) or sensors (for example: pressure, pressure differential, dewpoint, air flow, temperature). A system may contain multiple IO Boxes.

VSD Box: Extension to the X-Series Unit

For connection to variable speed compressor(s) or other specialized compressor integration. All common air compressor status information is sent to, and available from, the X-Series system management unit. A system may contain multiple VSD Boxes.

CX Box: Extension to the X-Series Unit

For connection to non-Ingersoll Rand air compressors that are not equipped with any accessible means of remote connectivity. All common air compressor status information is sent to, and available from, the X-Series system management unit. A system may contain multiple CX Boxes.

DX Box: Extension to the X-Series Unit

For connection to two fixed speed online/offline air compressors to be seen as one compressor by the X8I or X12I. All common air compressor status information is sent to, and available from, the X-Series system management unit. A system may contain multiple DX Boxes.

ir-485 Gateway / irV-485 Gateway

For connection to all Ingersoll Rand Intellisys based compressors. All common air compressor status information is sent to, and available from, the X-Series system management unit. A system may contain multiple Gateways.

ir-485 Direct

For connection to all Ingersoll Rand R Series (S3) based compressors. All common air compressor status information is sent to, and available from, the X-Series system management unit. A system may contain multiple R series compressors.

18

X-SERIES NETWORK ADDRESSES

 

 

 

UNIT

DECIMAL (HEX) ADDRESS

NOTES

X8I

or X12I

101(65)

 

EX,

VSD B / mA / V, CX, DX, ir485 / irV485,

S3

 

(As It Relates To The Compressor Number Assigned)

 

Compressor 1

1 (01)

 

Compressor 2

2 (02)

 

Compressor 3

3 (03)

 

Compressor 4

4 (04)

 

Compressor 5

5 (05)

 

Compressor 6

6 (06)

 

Compressor 7

7 (07)

 

Compressor 8

8 (08)

 

Compressor 9

9 (09)

X12I ONLY

Compressor 10

10 (0A)

X12I ONLY

Compressor 11

11 (0B)

X12I ONLY

Compressor 12

12 (0C)

X12I ONLY

I/O

 

 

 

I/O Box 1

105(69)

 

I/O Box 2

112(70)

 

I/O Box 3

106(6A)

X12I ONLY

I/O Box 4

107(6B)

X12I ONLY

I/O Box 5

108(6C)

X12I ONLY

I/O Box 6

109(6D)

X12I ONLY

I/O Box 7

110(6E)

X12I ONLY

I/O Box 8

111(6F)

X12I ONLY

I/O Box 9

113(71)

X12I ONLY

I/O Box 10

114(72)

X12I ONLY

I/O Box 11

115(73)

X12I ONLY

I/O Box 12

116(74)

X12I ONLY

Note: I/O Unit 2 address (70Hex) is intentionally out of sequence; this is not a print error.

COMMUNICATION LINK

To Interface with a X-Series product that is equipped with a Multi485 enabled network port, or to interface with multiple X- Series products operating on a single Multi485 system network, a SMG Box unit is required. The SMG Box forms the interface between the Multi485 protocol and MODBUS RTU master/slave communications link.

SMG Box connectivity is implemented using a two-wire RS485 industry standard communications link operating in point-to- point, master-slave mode. In use the SMG Box is transparent and each X-Series system unit is accessible using individual system device addresses.

Polarity of the two MODBUS RS485 wires (L1+ or ‘A’ and L2or ‘B’) is important; reversal will inhibit communications and result in error.

MODBUS TIMING

The SMG will handle ONE (1) MODBUS request at a time from the customer’s port. The maximum recommended request rate is 2 requests per second. When a MODBUS request is received for any device connected to the XI Automation System, that request will be forwarded to the device between sequencer broadcasts and the response from the device will then be relayed back to the customer’s port. If a second MODBUS command is sent before the first command has been responded to, the second command will be ignored.

RS485 MODBUS SERIAL DATA FORMAT

The SMG supports only the RTU transmission mode. The user must configure their serial port communication parameters (baud rate, parity mode, etc.) during configuration to match those of the SMG Box. The SMG Box port operates with an asynchronous serial data format:

SMG Communication Parameters: 8-N-1-9600

Data Bits:

8

Parity:

None

Stop Bit:

1

Baud Rate:

9600

19

SECTION 7 – X8I MODBUS RTU DEFINITIONS

Name

: AdvAvailableStatus

Modbus Function

: 03

Modbus Register Address

: F020

Modbus Register Length

: 0007

Coding

: Number of data bytes = 2

 

16 bit value: compressor available status

 

Bitvalue = 0 => compressor available =>

 

. operational AND remote control activated

 

Bitvalue = 1 => compressor not available =>

 

. not operational OR remote control deactivated

 

Lowest order bit of 16 bit value = Bit 0

 

. Bits 0...7 => available status for compressors 1...8

 

. Bits 8..15 => unused, always 0

 

MODBUS: register address = F020, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F020...F026 is acceptable.

Name

: AdvRunningStatus

Modbus Function

: 03

Modbus Register Address

: F020

Modbus Register Length

: 0007

Coding

: Number of data bytes = 2

 

: Start location of data bytes = 2

 

16 bit value: compressor running status

 

Bitvalue = 0 => compressor motor stopped

 

Bitvalue = 1 => compressor motor running

 

Lowest order bit of 16 bit value = Bit 0

 

. Bits 0...7 => running status for compressors 1...8

 

. Bits 8..15 => unused, always 0

 

MODBUS: register address = F021, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F020...F026 is acceptable.

Name

: AdvLoadedStatus

Modbus Function

: 03

Modbus Register Address

: F020

Modbus Register Length

: 0007

Coding

: Number of data bytes = 2

 

: Start location of data bytes = 4

 

16 bit value: compressor loaded status

 

Bitvalue = 0 => compressor is unloaded AND/OR stopped

 

Bitvalue = 1 => compressor is running AND loaded

 

Lowest order bit of 16 bit value = Bit 0

 

. Bits 0...7 => loaded status for compressors 1...8

 

. Bits 8..15 => unused, always 0

 

MODBUS: register address = F022, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F020...F026 is acceptable.

20

Name

: AdvAlarmStatus

Modbus Function

: 03

Modbus Register Address

: F020

Modbus Register Length

: 0007

Coding

: Number of data bytes = 2

 

: Start location of data bytes = 6

 

16 bit value: compressor alarm/trip status

 

Bitvalue = 0 => compressor reports no alarm OR trip

 

Bitvalue = 1 => compressor reports alarm AND/OR trip error

 

Lowest order bit of 16 bit value = Bit 0

 

. Bits 0...7 => alarm/trip status for compressors 1...8

 

. Bits 8..15 => unused, always 0

 

MODBUS: register address = F023, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F020...F026 is acceptable.

Name

: AdvSystemStatus

Modbus Function

: 03

Modbus Register Address

: F020

Modbus Register Length

: 0007

Coding

: Number of data bytes = 1

 

: Start location of data bytes = 8

 

8 bit value

 

Lower 4 bits: Sequencer alarm/trip conditions code (Bits 0...3)

 

. 0 = no fault or current error code is higher than 15

 

. 1 = Pressure sensor probe fault

 

. 2 = (unused in this application)

 

. 3 = (unused in this application)

 

. 4 = Internal 24V error

 

. 5 = External 24V error

 

. 6 = Real time clock error

 

. 7 = LED board error (no communication)

 

. 8 = (unused in this application)

 

. 9 = (unused in this application)

 

. 10 = (unused in this application)

 

. 11 = (unused in this application)

 

. 12 = 8DI/4R XPM 3 communication error (I-PCB box 5...8)

 

. 13 = 8DI/4R XPM 3 short circuit error (I-PCB box 5...8)

 

. 14 = (unused in this application)

 

. 15 = (unused in this application)

 

Upper 4 bits: status flags, 0 => OFF, 1=> ON

 

. Bit 4 => Sequencer operational (switched ON) status

 

. Bit 5 => Sequencer trip condition status

 

. Bit 6 => Sequencer alarm condition status

 

. Bit 7 => Insufficient compressor capacity status

 

MODBUS: register address = F024, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F020...F026 is acceptable.

 

. Data is located in low order byte of register F024

Name

: AdvTargetPressure

Modbus Function

: 03

Modbus Register Address

: F020

Modbus Register Length

: 0007

Coding

: Number of data bytes = 2

 

: Start location of data bytes = 10

 

16 bit value: System target pressure (unit: PSI)

 

MODBUS: register address = F025, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F020...F026 is acceptable.

21

Name

: AdvSystemPressure

Modbus Function

: 03

Modbus Register Address

: F020

Modbus Register Length

: 0007

Coding

: Number of data bytes = 2

 

: Start location of data bytes = 12

 

16 bit value: System pressure reading (unit: PSI)

 

MODBUS: register address = F026, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F020...F026 is acceptable.

Name

: AdvCompressor1Percentage

Modbus Function

: 03

Modbus Register Address

: F000

Modbus Register Length

: 0004

Coding

: Number of data bytes = 1

 

: Start location of data bytes = 0

 

MODBUS: register address = F000, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F000...F005 is acceptable.

 

High order byte of 16 bit register F000 =>

 

. operating percentage for COMPRESSOR 1 (0....100)

Name

: AdvCompressor2Percentage

Modbus Function

: 03

Modbus Register Address

: F000

Modbus Register Length

: 0004

Coding

: Number of data bytes = 1

 

: Start location of data bytes = 1

 

MODBUS: register address = F000, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F000...F005 is acceptable.

 

Low order byte of 16 bit register F000 =>

 

. operating percentage for COMPRESSOR 2 (0....100)

Name

: AdvCompressor3Percentage

Modbus Function

: 03

Modbus Register Address

: F000

Modbus Register Length

: 0004

Coding

: Number of data bytes = 1

 

: Start location of data bytes = 2

 

MODBUS: register address = F001, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F000...F005 is acceptable.

 

High order byte of 16 bit register F001 =>

 

. operating percentage for COMPRESSOR 3 (0....100)

Name

: AdvCompressor4Percentage

Modbus Function

: 03

Modbus Register Address

: F000

Modbus Register Length

: 0004

Coding

: Number of data bytes = 1

 

: Start location of data bytes = 3

 

MODBUS: register address = F001, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F000...F005 is acceptable.

 

Low order byte of 16 bit register F001 =>

 

. operating percentage for COMPRESSOR 4 (0....100)

22

Name

: AdvCompressor5Percentage

Modbus Function

: 03

Modbus Register Address

: F000

Modbus Register Length

: 0004

Coding

: Number of data bytes = 1

 

: Start location of data bytes = 4

 

MODBUS: register address = F002, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F000...F005 is acceptable.

 

High order byte of 16 bit register F002 =>

 

. operating percentage for COMPRESSOR 5 (0....100)

Name

: AdvCompressor6Percentage

Modbus Function

: 03

Modbus Register Address

: F000

Modbus Register Length

: 0004

Coding

: Number of data bytes = 1

 

: Start location of data bytes = 5

 

MODBUS: register address = F002, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F000...F005 is acceptable.

 

Low order byte of 16 bit register F002 =>

 

. operating percentage for COMPRESSOR 6 (0....100)

Name

: AdvCompressor7Percentage

Modbus Function

: 03

Modbus Register Address

: F000

Modbus Register Length

: 0004

Coding

: Number of data bytes = 1

 

: Start location of data bytes = 6

 

MODBUS: register address = F003, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F000...F005 is acceptable.

 

High order byte of 16 bit register F003 =>

 

. operating percentage for COMPRESSOR 7 (0....100)

Name

: AdvCompressor8Percentage

Modbus Function

: 03

Modbus Register Address

: F000

Modbus Register Length

: 0004

Coding

: Number of data bytes = 1

 

: Start location of data bytes = 7

 

MODBUS: register address = F003, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F000...F005 is acceptable.

 

Low order byte of 16 bit register F003 =>

 

. operating percentage for COMPRESSOR 8 (0....100)

23

Name

: AdvSelectedCompressor

Modbus Function

: 03

Modbus Register Address

: F080

Modbus Register Length

: 0008

Coding

: Number of data bytes = 1

 

: Start location of data bytes = 4

 

8 bit value (1....8) defining compressor number for

 

which running hours data is provided

 

MODBUS: register address = F082, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F080...F087 is acceptable.

 

High order byte of 16 bit register F082 =>

 

. compressor number of AdvRunningHours value (F080 and F081).

 

Remark: to ensure compressor number and running hour data

 

correspond to the same compressor it is essential to request

 

registers F080,F081 and F082 in a single data request

Name

: AdvRunningHours

Modbus Function

: 03

Modbus Register Address

: F080

Modbus Register Length

: 0008

Coding

: Number of data bytes = 4

 

: Start location of data bytes = 0

 

Numeric value (32 bit) defining running hours for indicated

 

compressor.

 

MODBUS: addresses = F080, F081, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F080...F087 is acceptable.

 

16 bit register F080 => high order 16 bits of 32 bit

 

compressor running hours value

 

16 bit register F081 => low order 16 bits of 32 bit

 

compressor running hours value

 

Remark: to ensure compressor number and running hour data

 

correspond to the same compressor it is essential to request

 

registers F080,F081 and F082 in a single data request

24

Name

: AdvSystemStatusFlags

Modbus Function

: 03

 

 

Modbus Register Address

: F080

 

 

Modbus Register Length

: 0008

 

 

Coding

: Number of data bytes = 2

 

: Start location of data bytes = 8

 

16 bit value: system status flags

 

Bitvalue = 0 => flag inactive

 

Bitvalue = 1 => flag active

 

Lowest order bit of 16 bit value = Bit 0

 

. Bit

0 => start time function active condition

 

. Bit

1 => zoning mode active

 

. Bits 2...4: rotation type selection

 

. value = 1 => FIFO control mode

 

. value = 2 => energy control mode

 

. value = 3 => time rotation

 

. value = 4 => EQUAL HOURS mode

 

. Bit

5 => Auxiliary pressure mode active

 

. Bit

6 => system active

 

. Bit

7 => schedule mode active

 

. Bit

8 => low pressure condition

 

. Bit

9 => high pressure condition

 

. Bit

10

=> insufficient capacity condition

 

. Bit

11

=> restricted capacity condition

 

. Bits 12...14: selected table number (1...6)

 

. Bit

15

=> prefill busy condition

 

MODBUS: register address = F084, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F080...F087 is acceptable.

Name

: AdvRelayStatusFlags

Modbus Function

: 03

 

 

Modbus Register Address

: F080

 

 

Modbus Register Length

: 0008

 

 

Coding

: Number of data bytes = 3

 

: Start location of data bytes = 10

 

24 bit value: virtual relay condition flags

 

Bitvalue = 0 => flag inactive

 

Bitvalue = 1 => flag active

 

Lowest order bit of 24 bit value = Bit 0

 

. Bits 0..15 => (unused in this application)

 

. Bit

16

=> start time function error condition

 

. Bit

17

=> Delta P alarm condition

 

. Bit

18

=> alarm override condition

 

. Bit

19

=> Auxiliary box alarm condition

 

. Bit

20

=> Auxiliary box trip condition

 

. Bit

21

=> Auxiliary box signal condition

 

. Bit

22

=> Auxiliary box communication failure condition

 

. Bit

23

=> system producing air condition

MODBUS: addresses = F085,F086, can be requested individually or as part of a multiple register data request. Any request for register data with a base address and number of registers that falls within address range F080...F087 is acceptable.

Register F085 contains 8 highest order bits of 24 bit data Register F086 contains 16 lowest order bits of 24 bit data in register's highest order byte.

25

Name

: AdvCompressorMaintenance

Modbus Function

: 03

Modbus Register Address

: F080

Modbus Register Length

: 0008

Coding

: Number of data bytes = 2

 

: Start location of data bytes = 14

 

16 bit value: compressor maintenance status

 

Bitvalue = 0 => no maintenance

 

Bitvalue = 1 => maintenance ON

 

Lowest order bit of 16 bit value = Bit 0

 

. Bits 0...7 => maintenance status for compressors 1...8

 

. Bits 8..15 => unused, always 0

 

MODBUS: register addres = F087, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F080...F087 is acceptable.

Name

: AdvErrorCode

Modbus Function

: 03

Modbus Register Address

: F060

Modbus Register Length

: 0007

Coding

: Number of data bytes = 2

 

: Start location of data bytes = 2

 

16 bit value: current error, see "CODED,ERROR" table for list

 

of error code numbers <=> definitions.

 

MODBUS: register address = F061, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F060...F066 is acceptable.

Name

: AdvFaultRegister

Modbus Function

: 03

Modbus Register Address

: F060

Modbus Register Length

: 0007

Coding

: Number of data bytes = 2

 

: Start location of data bytes = 4

 

16 bit value: bit flags for first 16 error codes, see

 

"CODED,ERROR" table for error code numbers <=> definitions.

 

Bitvalue = 0 => error inactive

 

Bitvalue = 1 => error active

 

Lowest order bit of 16 bit value = Bit 0

 

. Bits 0...7 => flags for errors 9...16

 

. Bits 8...15 => flags for errrors 1...8

 

MODBUS: register address = F062, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F060...F066 is acceptable.

26

Name

: AdvCompressor1Sequence

Modbus Function

: 03

Modbus Register Address

: F060

Modbus Register Length

: 0007

Coding

: Number of data bytes = 1

 

: Start location of data bytes = 6

 

8 bit value: Sequence assignment for compressors 1 and 2

 

Lowest order bit of 8 bit value = Bit 0

 

4 bit value => Sequence assignment for compressors

 

.Value<=> Seq: 0 <=> 'A', 1 <=> 'B',...,11 <=> 'L'

 

. Bits 0...3: Sequence assignment for compressor 1

 

MODBUS: register address = F063, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F060...F066 is acceptable.

 

Remark: 8 bit data described above is located in high order

 

byte of register F063

Name

: AdvCompressor2Sequence

Modbus Function

: 03

Modbus Register Address

: F060

Modbus Register Length

: 0007

Coding

: Number of data bytes = 1

 

: Start location of data bytes = 6

 

8 bit value: Sequence assignment for compressors 1 and 2

 

Lowest order bit of 8 bit value = Bit 0

 

4 bit value => Sequence assignment for compressors

 

.Value<=> Seq: 0 <=> 'A', 1 <=> 'B',...,11 <=> 'L'

 

. Bits 4...7: Sequence assignment for compressor 2

 

MODBUS: register address = F063, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F060...F066 is acceptable.

 

Remark: 8 bit data described above is located in high order

 

byte of register F063

Name

: AdvCompressor3Sequence

Modbus Function

: 03

Modbus Register Address

: F060

Modbus Register Length

: 0007

Coding

: Number of data bytes = 1

 

: Start location of data bytes = 7

 

8 bit value: Sequence assignment for compressors 3 and 4

 

Lowest order bit of 8 bit value = Bit 0

 

4 bit value => Sequence assignment for compressors

 

.Value<=> Seq: 0 <=> 'A', 1 <=> 'B',...,11 <=> 'L'

 

. Bits 0...3: Sequence assignment for compressor 3

 

MODBUS: register address = F063, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F060...F066 is acceptable.

 

Remark: 8 bit data described above is located in low order

 

byte of register F063

27

Name

: AdvCompressor4Sequence

Modbus Function

: 03

Modbus Register Address

: F060

Modbus Register Length

: 0007

Coding

: Number of data bytes = 1

 

: Start location of data bytes = 7

 

8 bit value: Sequence assignment for compressors 3 and 4

 

Lowest order bit of 8 bit value = Bit 0

 

4 bit value => Sequence assignment for compressors

 

.Value<=> Seq: 0 <=> 'A', 1 <=> 'B',...,11 <=> 'L'

 

. Bits 4...7: Sequence assignment for compressor 4

 

MODBUS: register address = F063, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F060...F066 is acceptable.

 

Remark: 8 bit data described above is located in low order

 

byte of register F063

Name

: AdvCompressor5Sequence

Modbus Function

: 03

Modbus Register Address

: F060

Modbus Register Length

: 0007

Coding

: Number of data bytes = 1

 

: Start location of data bytes = 8

 

8 bit value: Sequence assignment for compressors 5 and 6

 

Lowest order bit of 8 bit value = Bit 0

 

4 bit value => Sequence assignment for compressors

 

.Value<=> Seq: 0 <=> 'A', 1 <=> 'B',...,11 <=> 'L'

 

. Bits 0...3: Sequence assignment for compressor 5

 

MODBUS: register address = F064, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F060...F066 is acceptable.

 

Remark: 8 bit data described above is located in high order

 

byte of register F064

Name

: AdvCompressor6Sequence

Modbus Function

: 03

Modbus Register Address

: F060

Modbus Register Length

: 0007

Coding

: Number of data bytes = 1

 

: Start location of data bytes = 8

 

8 bit value: Sequence assignment for compressors 5 and 6

 

Lowest order bit of 8 bit value = Bit 0

 

4 bit value => Sequence assignment for compressors

 

.Value<=> Seq: 0 <=> 'A', 1 <=> 'B',...,11 <=> 'L'

 

. Bits 4...7: Sequence assignment for compressor 6

 

MODBUS: register address = F064, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F060...F066 is acceptable.

 

Remark: 8 bit data described above is located in high order

 

byte of register F064

28

Name

: AdvCompressor7Sequence

Modbus Function

: 03

Modbus Register Address

: F060

Modbus Register Length

: 0007

Coding

: Number of data bytes = 1

 

: Start location of data bytes = 9

 

8 bit value: Sequence assignment for compressors 7 and 8

 

Lowest order bit of 8 bit value = Bit 0

 

4 bit value => Sequence assignment for compressors

 

.Value<=> Seq: 0 <=> 'A', 1 <=> 'B',...,11 <=> 'L'

 

. Bits 0...3: Sequence assignment for compressor 7

 

MODBUS: register address = F064, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F060...F066 is acceptable.

 

Remark: 8 bit data described above is located in low order

 

byte of register F064

Name

: AdvCompressor8Sequence

Modbus Function

: 03

 

Modbus Register Address

: F060

 

Modbus Register Length

: 0007

 

Coding

: Number of data bytes = 1

 

: Start location of data bytes = 9

 

8 bit value: Sequence assignment for compressors 7 and 8

 

Lowest order bit of 8 bit value = Bit 0

 

4 bit value => Sequence assignment for compressors

 

.Value<=> Seq: 0 <=> 'A', 1 <=> 'B',...,11 <=> 'L'

 

. Bits 4...7: Sequence assignment for ompressor 8

 

MODBUS: register address = F064, can be requested individually

 

or as part of a multiple register data request. Any request for

 

register data with a base address and number of registers that

 

falls within address range F060...F066 is acceptable.

 

Remark: 8 bit data described above is located in low order

 

byte of register F064

Name

: AdvExtraSystemFlags

Modbus Function

: 03

 

Modbus Register Address

: F060

 

Modbus Register Length

: 0007

 

Coding

: Number of data bytes = 1

 

: Start location of data bytes = 12

 

8 bit value:

 

Lowest order bit of 8 bit value = Bit 0

 

. Bit 0: Compressor control active. (system on or switched

 

.

off but retaining control => compressors unloaded)

 

. bits 1...7: unused

MODBUS: register address = F066, can be requested individually or as part of a multiple register data request. Any request for register data with a base address and number of registers that falls within address range F060...F066 is acceptable.

Remark: 8 bit data described above is located in high order byte of register F066

29

Name

: GetSoftwareVersionIdString

Modbus Function

: 03

Modbus Register Address

: 3400

Modbus Register Length

: 0003

Coding

: Number of data bytes = 6

 

Data Conversion Type = STRING

Name

: GetSoftwareVersionRevString

Modbus Function

: 03

Modbus Register Address

: 3403

Modbus Register Length

: 0003

Coding

: Number of data bytes = 6

 

Data Conversion Type = STRING

Name

: CmdStart

Modbus Function

: 10

Modbus Register Address

: 3300

Modbus Register Length

: 0001

Coding

: Number of data bytes = 1

Name

: CmdStop

Modbus Function

: 10

Modbus Register Address

: 3301

Modbus Register Length

: 0001

Coding

: Number of data bytes = 1

Name

: CmdReset

Modbus Function

: 10

Modbus Register Address

: 3306

Modbus Register Length

: 0001

Coding

: Number of data bytes = 1

Name

: CmdClearLog

Modbus Function

: 10

Modbus Register Address

: 3307

Modbus Register Length

: 0001

Coding

: Number of data bytes = 1

Name

: GetAnalogInput1

Modbus Function

: 03

Modbus Register Address

: 3100

Modbus Register Length

: 0001

Coding

: Number of data bytes = 2

 

Data Units = ADSTEPS

Name

: GetAnalogInput2

Modbus Function

: 03

Modbus Register Address

: 3101

Modbus Register Length

: 0001

Coding

: Number of data bytes = 2

 

Data Units = ADSTEPS

Name

: GetAnalogInput3

Modbus Function

: 03

Modbus Register Address

: 3102

Modbus Register Length

: 0001

Coding

: Number of data bytes = 2

 

Data Units = ADSTEPS

30

Loading...
+ 108 hidden pages