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
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
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