News:

Calling all communications systems experts - please share your knowledge here!

Main Menu

Modbus Control of ARMS mode (Arcflash Reduction Maintenance System) on DT1150

Started by Dave Loucks, July 10, 2018, 01:43:53 PM

Previous topic - Next topic

Dave Loucks

The DT1150 electronic trip unit supports both reading and writing (changing) the status of the ARMS mode.  The ARMS status is held in message 59 of the INCOM 3 C 9 "Read Setpoints Buffer".

From page 49 of the latest IL17384 (Part C - Protective Relays and Trip Units INCOM/IMPACC protocol guide)


Note: "not changeable" means the mode was set by the switch and software cannot change the state unless the switch is  off.

Access the DT1150 Setpoints Buffer - Maintenance Mode status using Modbus messages:
Setpoints Buffer Description command 3 C 9 is an Incom command that can be used to poll Maintenance mode status.
Message 59 of the response data indicates Maintenance Mode Status.

Using the Modbus MINT this setting change read or changed by sending different Modbus RTU message.

The screenshots shown below are based on the ComTestPro Modbus utility available for free from http://www.baseblock.com/PRODUCTS/comtestpro.htm

On the Modbus master side:
Using func code 16
Write C3BEh to 6000h
Write 9002h to 6001hM
Note the 2 in 9002 is the Incom address



Then with function code 3 read 122 registers from 6000h


The 212th byte after the Modbus message byte count [F4h] is byte 0 of Message 59 which is Maintenance mode status.

Byte 212 highlighted below indicates changing from 02h to 03h, confirming toggle of Maintenance Mode.

Maintenance Mode is OFF

WRITE to 6000h/6001h
Baseblock ComTest Pro for Modbus Devices, Version: 2.0.5.1
Clear Log : Start > 11/23/2015 11:07:43 AM           
11:07:56.517: Com1, Baud Rate: 9600, Data Bits: 8 Bits, Parity: None, Stop Bits: 1 Stop Bit
11:07:56.517: Echoback: Off, RTS Control: Off, Transmit Delay: 5 ms, Response Delay: 3000 ms
11:07:56.520: Write Holding Register(s)
11:07:56.520: Device Address: 02h, Register: 6000h, Number of Registers: 2
11:07:56.521: |-> Write Register: 6000h, Number of Registers : 2
11:07:56.528: -> [02h] [10h] [60h] [00h] [00h] [02h] [04h] [C3h] [BEh] [90h] [02h] [E5h] [48h]
11:07:56.567: <- [02h] [10h] [60h] [00h] [00h] [02h] [5Fh] [FBh]



READ from 6100h
11:08:59.881: Com1, Baud Rate: 9600, Data Bits: 8 Bits, Parity: None, Stop Bits: 1 Stop Bit
11:08:59.882: Echoback: Off, RTS Control: Off, Transmit Delay: 5 ms, Response Delay: 3000 ms
11:08:59.885: Read Holding Register(s)
11:08:59.885: Device Address: 02h, Register: 6100h, Number of Registers: 122
11:08:59.885: |-> Read Register: 6100h, Number of Registers : 122
11:08:59.895: -> [02h] [03h] [61h] [00h] [00h] [7Ah] [DBh] [E6h]
11:09:00.289: <- [02h] [03h] [F4h] [3Dh] [00h] [89h] [0Ah] [00h] [00h] [00h] [00h] [FDh] [00h] [FFh] [E7h] [A0h] [00h] [00h] [00h] [00h] [00h] [01h] [04h] [D0h] [00h] [28h] [07h] [28h] [00h] [05h] [64h] [FEh] [00h] [03h] [02h] [14h] [00h] [F0h] [14h] [0Ah] [00h] [05h] [32h] [FFh] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [78h] [14h] [05h] [00h] [03h] [FFh] [0Ah] [00h] [32h] [0Ah] [05h] [00h] [00h] [FEh] [14h] [00h] [78h] [0Ah] [05h] [00h] [01h] [FFh] [19h] [00h] [64h] [0Ah] [01h] [00h] [03h] [FEh] [0Ah] [00h] [32h] [0Ah] [01h] [00h] [00h] [FEh] [00h] [00h] [00h] [00h] [64h] [00h] [00h] [02h] [00h] [00h] [00h] [00h] [19h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [55h] [00h] [01h] [FEh] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [0Eh] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [02h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [79h] [02h]


Note the 02h value in the 59th message.  From Maintenance Mode Action field above, 02h is confirmed to be OFF (not changeable).  However, what the really means is that the ARMS was switched off by the switch on the trip unit.  Since the switch is off, you can override that value in software.

Maintenance Mode is turned ON

WRITE to 6000h/6001h
11:10:19.387: Com1, Baud Rate: 9600, Data Bits: 8 Bits, Parity: None, Stop Bits: 1 Stop Bit
11:10:19.387: Echoback: Off, RTS Control: Off, Transmit Delay: 5 ms, Response Delay: 3000 ms
11:10:19.395: Write Holding Register(s)
11:10:19.400: Device Address: 02h, Register: 6000h, Number of Registers: 2
11:10:19.403: |-> Write Register: 6000h, Number of Registers : 2
11:10:19.412: -> [02h] [10h] [60h] [00h] [00h] [02h] [04h] [C3h] [BEh] [90h] [02h] [E5h] [48h]
11:10:19.451: <- [02h] [10h] [60h] [00h] [00h] [02h] [5Fh] [FBh]


READ from 6100h
11:10:29.813: Com1, Baud Rate: 9600, Data Bits: 8 Bits, Parity: None, Stop Bits: 1 Stop Bit
11:10:29.817: Echoback: Off, RTS Control: Off, Transmit Delay: 5 ms, Response Delay: 3000 ms
11:10:29.823: Read Holding Register(s)
11:10:29.827: Device Address: 02h, Register: 6100h, Number of Registers: 122
11:10:29.831: |-> Read Register: 6100h, Number of Registers : 122
11:10:29.840: -> [02h] [03h] [61h] [00h] [00h] [7Ah] [DBh] [E6h]
11:10:30.232: <- [02h] [03h] [F4h] [3Dh] [00h] [89h] [0Ah] [00h] [00h] [00h] [00h] [FDh] [00h] [FFh] [E7h] [A0h] [00h] [00h] [00h] [00h] [00h] [01h] [04h] [D0h] [00h] [28h] [07h] [28h] [00h] [05h] [64h] [FEh] [00h] [03h] [02h] [14h] [00h] [F0h] [14h] [0Ah] [00h] [05h] [32h] [FFh] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [78h] [14h] [05h] [00h] [03h] [FFh] [0Ah] [00h] [32h] [0Ah] [05h] [00h] [00h] [FEh] [14h] [00h] [78h] [0Ah] [05h] [00h] [01h] [FFh] [19h] [00h] [64h] [0Ah] [01h] [00h] [03h] [FEh] [0Ah] [00h] [32h] [0Ah] [01h] [00h] [00h] [FEh] [00h] [00h] [00h] [00h] [64h] [00h] [00h] [02h] [00h] [00h] [00h] [00h] [19h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [55h] [00h] [01h] [FEh] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [0Eh] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [03h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [00h] [84h] [C1h]


Since the payload in INCOM messages is 24-bits long, and since Modbus RTU messages have 16-bit registers, the Modbus MINT uses two 16 bit registers (4-bytes) for one INCOM message. 


The DT1150 setpoint Buffer is 61 messages (61*4 = 244 [0xF4] bytes long).   Note the 03h value in the 59th message indicating that ARMS mode is activated via a switch or contact closer (it would be 01h if it were activated via the communications channel)

Changing this value is much more involved compared to simply reading it since the Modbus MINT requires that each separate INCOM message be sent as a separate Modbus message (and the Setpoint command has 61 separate messages plus a checksum message for 62 total!)  See INCOM Pass-Through Messaging via Modbus MINT for more details on how this is done.