Select Page

Modbus Design Considerations

by | Jul 27, 2017 | Communications-Group, Modbus Communications-Group

Modbus Devices can access the OpenADR signal values either through Modbus TCP over Ethernet or RTU using RS485 9600 8N1

The default station number is 5. If it is necessary to change then the GRIDlink can be reconfigured through GRIDview when on line or using Toolkit locally. Contact support.

Binary Event Registers

There are 3 binary registers which become TRUE sequentially when an Event is called :

EVENT_PENDING  –  which is first, to notify that an Event is coming. This can be used to pre-cool a building or start a shutdown sequence.

EVENT_MODERATE – which signifies a lesser load shed is called. This is currently not used in most 2.0a implementations.

EVENT_HIGH – which signifies the maximum load shed is called.

Note the GRIDlink polls the VTN approximately once per minute. It is possible to have a missed parse due to network traffic or the VTN failing to reply in time due to server loads. When a parse is is missed, the above 3 binary registers may become FALSE until the next parse is successful. This may result in equipment turning back on momentarily. For this reason we do not recommend using these registers for load shed unless your system provides logic to ride through. Read our solution below.  

Analog Event Time Registers

There are 3 registers which are in epoch time (the number of seconds that have elapsed since 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970)

current_time  –  which is the Current Time received from the VTN, always populated and counting up.

event_start_time – which is the Event Start Time gets its value from the payload from the VTN (at the same time as EVENT_PENDING become TRUE) otherwise it defaults to 0.

event_end_time – which is the Event End Time and also gets its value from the payload (at the same time as EVENT_PENDING become TRUE) otherwise it defaults to 0.

By subtracting the Current Time from the Event Start Time, the time remaining to the Event can be calculated in seconds. Subtracting the Event Start Time from the Event End Time, the duration of the load shed can be calculated in seconds.

Binary Relay Registers

There are 4 binary registers to drive Relays:

RELAY1 – Follows state of  EVENT_PENDING  when USER_TRANSF_IO is TRUE

RELAY2 – Follows state of  EVENT_MODERATE  when USER_TRANSF_IO is TRUE

RELAY3 – Follows state of  EVENT_HIGH  when USER_TRANSF_IO is TRUE

RELAY4 – Follows state of  DRAS_READ  reflecting successful parsing of payload (not user configurable)

Binary Relay Control Register

USER_TRANSF_IO – Allow the user to isolate the relays from the Event Signal by setting to FALSE. This way an test Event signal can be sent from the VTN without actually shedding the load. It also allows the installer to simply exercise the relays from GRIDview to test the load shed without having to schedule an Event.

Relay Ride Through

Integral to the GRIDlink control software is the capability to memorize the Event Time Registers and continue the Event on time and end on time regardless of the communication status with the VTN. For this reason we highly recommend using the Modbus relay registers and not the Event registers to initiate Events in your BMS or SCADA system

Opting Out

opt_out – Is a read/write bit that allows the user to Opt out of an Event at any time after the Event is called. If there is protection logic in your system that requires ending an Event or no participation at all, then writing  TRUE to opt_out will make all Binary Event Registers FALSE. This will also notify the VTN to ensure compliance.

Caution, in some VTN’s returning the opt_out to TRUE while the Event is still ongoing may cause the load shed to begin again.