M550/M560/M570 Monitoring Relays – Modbus Function 41/42

N.B. The easiest way to read or write relay settings is to use the MultiView program

Send relay channel’s parameters (function 42)

For M550/M560/M570 transducers, the write functions require the General Pass Code to be valid.

Sends 8, 16 byte structures representing the parameters for the 8 conditions that can be attached to each relay installed.

Format-
[node number][2Ah][register start(2 bytes)][number of registers(2 bytes)][number of bytes][<-8, 16 byte structures + 1 relay actions + 1 padding byte (130 (82h) bytes of data)->][crc(2 bytes)]

One of the 8, 16 byte structures to send to the M550/M560/M570 is defined below.

Byte #
Name
Usage Type
0
SetPoint Percentage of range value unsigned char ?
1
Differential Percentage of range value unsigned char ?
2
Measurements N/A (send NULL) array pointer
3
Under/Over 0 = Over 1 = Under 2 = window unsigned char ?
4
Channel Control N/A (send NULL) unsigned char
5
Number In Group N/A (send NULL) unsigned char
6
Timer N/A (send NULL) unsigned int
8
Delay Time 1 = 40ms, 2 = 80ms etc. unsigned int ?
10
Logic Of Group Any 1, 2, or 3, Sum or Average unsigned char ?
11
ID V/I/Hz value etc unsigned char ?
12
Set-point 0=not assigned, 254=assigned unsigned char ?
13
Physical Relay Number of attached relay unsigned char ?
14
Spare1 N/A (send NULL) unsigned char
15
Spare2 N/A (send NULL) unsigned char

In addition to sending the 8 structures, two bytes must be appended to the packet.
1st byte)
A one-byte bit pattern, where each bit is mapped to one physical relay,
(bit 0 = Relay 1, bit 1 = Relay 2 etc.)
If a bit is reset (0), the corresponding relay’s function is to operate on exceptions.
If set (1) it will release.
2nd Byte)
A NULL byte for padding.
Write Sample Coding

Retrieve relay channel’s parameters (code 41)
Only applicable to the M550/M560/M570 (firmware revision 0.3.01.00-03-09-04 and later).

Requests 8, 16 byte structures representing the parameters for the 8 conditions that can be attached to each relay installed.

Format-
[node address][2Bh][register start(2 bytes)][number of registers(2 bytes)][crc(2 bytes)]
[05][2B][0000][0041][E478]

One of the 8, 16 byte structures read from the M550/M560/M570 is defined below.

Byte #
Name
Usage Type
0
SetPoint Percentage of range value unsigned char ?
1
Differential Percentage of range value unsigned char ?
2
Measurements N/A array pointer
3
Under/Over 0 = Over 1 = Under 2 = window unsigned char ?
4
Channel Control 0 = no exception, 1 = exception unsigned char ?
5
Number In Group 1, 2 or 3 unsigned char
6
Timer N/A unsigned int
8
Delay Time 1 = 40ms, 2 = 80ms etc. unsigned int ?
10
Logic Of Group 1, 2, 3, 128(Sum) or 129(Avg) unsigned char ?
11
ID V/I/Hz value etc unsigned char ?
12
Set-point 0=not assigned, 254=assigned unsigned char ?
13
Physical Relay Number of attached relay unsigned char ?
14
Spare1 N/A unsigned char
15
Spare2 N/A unsigned char

In addition to receiving the 8 structures, two bytes will be appended to the packet.
Byte 1)
A one-byte bit pattern, where each bit is mapped to one physical relay.
If a bit is reset (0), the corresponding relay’s function is to operate on exceptions. If set (1) it will release.
Byte 2) A NULL byte for padding.

Read Sample Coding