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.