PLC CONTROL PHILOSOPHY FOR POWER GRID GENERATING STATIONS

Revision date = August 4, 2017


(1) DATA NETWORK

(1.1) Ethernet will be used to convey data between the PLCs and the HMI(s) in this SCADA system.

(1.2) The PLC will serve as an RTU (Remote Terminal Unit) in the SCADA system (Supervisory Control and Data Acquisition) for the DMC lab's miniature three-phase electrical power grid.

(1.3) The IP addresses used in this SCADA network will be fully compatible with the IP address scheme used throughout the DMC 122 lab room (e.g. IP = 169.254.15.X).  The subnet mask for every node on the SCADA network will be 255.255.255.0 in order to limit communications to the subnet 169.254.15.

(1.4) The Ethernet network used to link generating station PLCs will be separate from any other network in order to avoid interference or non-SCADA data traffic.


(2) PLC I/O

(2.1) DISCRETE INPUTS -- a single eight-channel discrete input card in the slot to the right of the processor card in the PLC rack.  Inputs will be wired such that the card "sinks" current, and switches "source" current to the PLC from the 24 VDC station DC power supply.

(2.1.1) The PLC will monitor the 24 VDC "station power" supply on discrete input channel 0.

(2.1.2) The PLC will monitor the status of the circuit breaker via auxiliary contacts 52a and 52b, on discrete input channels 1 and 5, respectively.

(2.1.3) The PLC will receive two pushbutton switch inputs for driving motor start/stop commands, on discrete input channels 2 and 6, respectively.

(2.1.4) The PLC will receive two pushbutton switch inputs for driving motor speed increase/decrease, on discrete input channels 3 and 7, respectively.

(2.1.5) The PLC will monitor the status of the circuit breaker trip coil (52/TC) signal regardless of tripping source, on discrete input channel 4.  The circuit breaker's trip coil may be energized by hand (the trip switch), or by the SEL-551 protective relay.

(2.2) DISCRETE OUTPUTS -- a single eight-channel discrete output card (relay contacts) in the slot to the right of the discrete input card in the PLC rack.  Outputs will be wired such that the card "sinks" current.

(2.2.1) The PLC will output a "Forward" command signal to the driving motor VFD, on discrete output channel 0.

(2.3) ANALOG OUTPUTS -- a single analog I/O card in the far-right slot of the PLC rack.

(2.3.1) The PLC will output a 4-20 mA DC analog current signal controlling the VFD (driving motor speed), on analog output channel 0.


(3) INTERLOCKS AND CONTROLS:

(3.1) The PLC will output a discrete signal to cause the VFD to run whenever the "Start" pushbutton is pressed, and de-energize that signal to cause the VFD to shut down whenever the "Stop" pushbutton is pressed.  However, the Start/Stop pushbutton inputs will both be inhibited (i.e. not be allowed to switch the motor's state from on to off or from off to on) so long as the circuit breaker is in the closed state.  This same VFD control signal will automatically de-energize whenever a trip signal is detected at the 52/TC trip coil (from any tripping source).

(3.2) The PLC will vary the driving motor's speed command according to a manually-set value at the HMI, or by pushbutton inputs at the generator control panel.  Continually holding either the "Increase speed" or "Decrease speed" pushbuttons will result in the speed command signal changing at a slow rate equal to 0.1 hertz per second.  Momentarily pressing either pushbutton will change the speed command signal at the smallest count value resolution possible so as to allow fine adjustment of motor speed.  This manual speed control will be permissible regardless of circuit breaker status (open or tripped).

(3.3) No automatic action will be taken on the discrete input channel 0 (24 VDC station power), but this will serve only for monitoring purposes. 


(4) COMPUTATION:

(4.1) The PLC will count the number of times the circuit breaker has been tripped, regardless of the initiating event (e.g. manual trip versus relay trip).  The initiating bit must come from the sensed breaker status, not from the DC trip bus (terminal block TB2).  This ensures the count will truly reflect breaker actuation cycles and not trip assert events.

(4.2) The PLC will maintain a running total of generator run time, defined as time that the VFD spends in the "Forward" run mode.  The unit of time measurement will be "minutes".

(4.3) The PLC will maintain a running total of generator on-line time, defined as time that the circuit breaker spends in the closed state with the VFD in the "Forward" run mode.  The unit of time measurement will be "minutes".

(4.4) The PLC will check to see that breaker contacts 52a and 52b do not remain in the same state for more than a specified number of milliseconds (they should be opposite of one another), and will latch a "breaker error" bit (to be displayed on the HMI) in the "on" state if this ever occurs.  This bit can only be reset through the use of PLC programming software, and not by unskilled persons.

(4.5) The PLC will measure and record the time delay between the most recent breaker trip assert event and corresponding breaker status change, in order to measure breaker tripping speed.  If this time ever exceeds a pre-set value in milliseconds, a "slow breaker" bit will latch.  This bit can only be reset through the use of PLC programming software, and not by unskilled persons.









(5) TAGNAMES:

(5.1) All data points referenced in the PLC program will have their own unique tagnames ("nicknames"), identical to the respective data points in all other generating stations.  I/O tagnames for direct I/O and for network-shared data are listed here, and may also be found in the respective input/output wiring diagrams.  Tagnames should only include numbers, letters, and underscore characters.  No spaces, hyphens, or other ASCII characters will be allowed in tagnames.

(5.2) Discrete input tagnames

  Channel 0 = "station_24VDC"
  Channel 1 = "breaker_52a"
  Channel 2 = "start"
  Channel 3 = "inc_speed"
  Channel 4 = "breaker_52TC"
  Channel 5 = "breaker_52b"
  Channel 6 = "stop"
  Channel 7 = "dec_speed"

(5.2) Discrete output tagnames

  Channel 0 = "VFD_forward"

(5.3) Analog input tagnames (future)

(5.4) Analog output tagnames 
 
  Channel OUT1 = "drive_speed"

(5.5) Discrete internal tagnames

  "breaker_error" (set to 1 if 52a and 52b inputs disagree for too long) 
  "breaker_slow"  (set to 1 if breaker tripping time is excessive)

(5.6) Integer internal tagnames

  "breaker_trips"      (based on 52a and 52b contact status, not TC assert status)
  "run_time_generator" (based on VFD_forward bit status)
  "run_time_online"    (based on VFD_forward and 52a/52b bit statuses)

(5.7) Modbus discrete tagnames (future)

  "remote_trip"  (read/write)

(5.8) Modbus integer tagnames (future)

  "phase_A_amps" (read-only, address 0068h in SEL-551 relay Modbus map)
  "phase_B_amps" (read-only, address 0069h in SEL-551 relay Modbus map)
  "phase_C_amps" (read-only, address 006Ah in SEL-551 relay Modbus map)
  "targets"      (read-only, address 0080h in SEL-551 relay Modbus map)


