Command Interface
General Description
The command interface is used to send commands by Modbus.
Each command has a specific code. For example, command code 46728 (refer to Reset Minimum/Maximum) defines the command to reset minimum/maximum values of measurements.
The commands are protected by password when the command is intrusive. See each command documentation.
All commands can be blocked by configuration with the IFM interface. The command interface is disabled when the locking pad on the IFM interface is in the closed position. The command interface is enabled when the locking pad on the IFM interface is in the open position.
Executing a Command
Follow these steps to execute a command:
Step |
Action |
---|---|
1 |
Load a buffer. |
2 |
Write this buffer with a write request (Modbus function 16) starting at register 8000. |
3 |
Read the command status register 8021, and wait while its content shows that the command is still in progress (0x0003). |
4 |
Read the command code register 8020:
|
5 |
Read the error code in the LSB of register 8021:
|
Command Diagram
The following diagram shows the steps to follow in order to execute a command:
Command Data Structure
The command data structure is defined as a set of values written in registers 8000 to 8149.
The three main areas are:
-
Input parameters: registers 8000 to 8015
The command-specific parameters are in registers 8006 to 8015.
-
Command status: register 8021
-
Returned values: registers 8022 to 8149
Address |
Register |
Description |
Comments |
---|---|---|---|
0x1F3F |
8000 |
Command code |
Writing at this register triggers the command using the parameters in the following registers. |
0x1F40 |
8001 |
Parameter length |
Number of bytes used for the parameters including this one (from 10 to 30). This value is provided for each command. |
0x1F41 |
8002 |
Destination |
A constant value provided for each command. Factory setting: 0x0000 |
0x1F42 |
8003 |
Security type |
A constant value provided for each command:
|
0x1F43 0x1F44 |
8004 8005 |
Password |
The password is composed of 4 ASCII bytes. The password to use depends on the command. This information is provided for each command. |
0x1F45–0x1F4E |
8006–8015 |
Additional parameters |
Additional parameters define how the command is performed. Some commands have no additional parameters. |
0x1F4F |
8016 |
Reserved |
Must be set to 0 (factory setting). |
0x1F50 |
8017 |
Reserved |
Must be set to 8019 (factory setting). |
0x1F51 |
8018 |
Reserved |
Must be set to 8020 (factory setting). |
0x1F52 |
8019 |
Reserved |
Must be set to 8021 (factory setting). |
0x1F53 |
8020 |
Last command code |
When the command has been executed, it holds the last command code. |
0x1F54 |
8021 |
Command status |
When the command exits the busy state, it holds the completion code. |
0x1F55 |
8022 |
Data buffer size |
Number of bytes returned. |
0x1F56–0x1FD4 |
8023–8149 |
Data buffer |
Returned values. It is empty if the previous register is 0. |
Command Status
When the command is successful, the command status is 0.
When the command is in progress, the command status is 3.
When the command generates an error, the command status register contains:
-
LSB: the error code
-
MSB: the address of the module that generates the error
Module Returning the Command Result
The following table lists the addresses of the modules:
Module Address |
Module |
---|---|
3 (0x03) |
IFM Modbus-SL interface for one circuit breaker |
18 (0x12) |
BCM ULP circuit breaker communication module and ETV trip system |
32 (0x20) |
IO input/output application module 1 for one circuit breaker |
33 (0x21) |
IO input/output application module 2 for one circuit breaker |
Result of the Command
The following table lists the codes corresponding to the result of the command.
Code |
Description |
---|---|
0 (0x00) |
Successful command |
1 (0x01) |
Insufficient user rights (incorrect password) |
2 (0x02) |
Access violation (IFM locking pad is locked (refer to Modbus Locking Pad) or intrusive command mode is locked). |
3 (0x03) |
Unable to perform a read access |
4 (0x04) |
Unable to perform a write access |
5 (0x05) |
Unable to execute service (IFM locking pad locked) |
6 (0x06) |
Not enough memory |
7 (0x07) |
Allocated memory is too small |
8 (0x08) |
Resource is not available |
9 (0x09) |
Resource does not exist |
10 (0x0A) |
Resource already exists |
11 (0x0B) |
Resource is out of order |
12 (0x0C) |
Access out of available memory |
13 (0x0D) |
String is too long |
14 (0x0E) |
Buffer is too small |
15 (0x0F) |
Buffer is too big |
16 (0x10) |
Input argument is out of range |
17 (0x11) |
Requested security level is not supported |
18 (0x12) |
Requested component is not supported |
19 (0x13) |
Command is not supported |
20 (0x14) |
Input argument has an unsupported value |
21 (0x15) |
Internal error during command |
22 (0x16) |
Time out during command |
23 (0x17) |
Checksum error during command |
24 (0x18) |
Unsupported destination |
151 (0x97) |
Circuit breaker tripped, reset before commands |
152 (0x98) |
Circuit breaker already closed |
153 (0x99) |
Circuit breaker already open |
154 (0x9A) |
Circuit breaker already reset |
155 (0x9B) |
Actuator in manual mode |
156 (0x9C) |
Actuator not present |
157 (0x9D) |
Bad ASIC configuration |
158 (0x9E) |
Previous command in progress |
159 (0x9F) |
Reset command forbidden |
160 (0xA0) |
Inhibit mode on |
169 (0xA9) |
Already in asked state |
170 (0xAA) |
Unable to preset counters |
171 (0xAB) |
Output command rejected, already assigned |
172 (0xAC) |
Emitter not allowed to perform the command |
173 (0xAD) |
Mode not relevant with requested command |
174 (0xAE) |
Session key is invalid |
175 (0xAF) |
Out of session scope |
176 (0xB0) |
Session is already opened |
177 (0xB1) |
No session is open |
178 (0xB2) |
No valid setting was submitted |
180 (0xB4) |
Wireless component not started |
190 (0xBE) |
Read and get an invalid value |
191 (0xBF) |
License is not installed |
Command Not Supported
The guide describes the commands available for each IMU module with the latest firmware version. When a command described in the guide is not implemented in an IMU module that has an old firmware version, the command status is returned with the error code 19 (0x13), command is not supported.
Contact Schneider Electric field service representative to update the firmware of the IMU modules.