6RL SERIES OPERATION MANUAL
SECTION 7: REMOTE PROGRAMMING
Entire Contents Copyright
2018 by Adaptive Power Systems, Inc. (APS) • All Rights Reserved • No reproduction without written authorization from APS.
6RL Series Regenerative DC Load Operation Manual
Page 127 of 204
}
else // Else LSB is not set
crc >>= 1; // Just shift right
}
}
// Note, this number has low and high bytes swapped, so use it accordingly (or swap
bytes)
return crc;
}
7.9.4
Communication Errors
Communication errors are only related to digital communication with the unit. Other alarms
or errors of any kind, which can be generated and indicated by the unit itself must not be
mixed up with these communication protocol generated errors.
The unit will return unexpected error messages in case the previously sent message is in
wrong format or if the function cannot be executed by some reason. For example, when
trying to write a set value with WRITE SINGLE REGISTER while the unit is not in remote
control. In this case, the message is not accepted and the unit will return an error message
instead of a confirmation message. The message format can be wrong if the checksum is
bad or if you try to read a bit with function READ Holding Registers instead of READ COILS.
In case of an error, the response message contains the original function code added to 0x80,
in order to identify the response as error message.
Overview of function codes in error messages:
FC error
Belongs to
0x81
READ COILS
0x83
READ HOLDING REGISTERS
0x85
WRITE SINGLE COIL
0x86
WRITE SINGLE REGISTER
0x90
WRITE MULTIPLE REGISTERS
Overview of the communication error codes, which can be returned by the unit:
Code
Error
Explanation
0x01
1
Wrong function code
The function code in byte 1 of the ModBus message is not supported.
See section 7.9 Functions for supported codes. The error also occurs
when trying to read or write a register with a function code for which
the register is not defined.
0x02
2
Invalid address
The register address you were trying to access with read or write is not
defined for your unit. Every model series may have a different number
of registers. Refer to the separate ModBus register list of the series
your unit belongs to.
0x03
3
Wrong data or data
length
The length of data in the message is wrong or the data itself. For ex-
ample, a set value always requires two bytes of data. If the data part of
the message would be one byte only or three bytes, then the data
length would be wrong. Otherwise, when sending a set value of, for
example, 0xE000 to a register for which the maximum value is defined as
0xCCCC, this would be wrong data.
0x04
4
Execution
Command could not be executed, depends on the situation
Summary of Contents for 6RL Series
Page 203: ......