02.02.2015 Views

Safety Considerations Guide for Triconex General ... - ICEWeb

Safety Considerations Guide for Triconex General ... - ICEWeb

Safety Considerations Guide for Triconex General ... - ICEWeb

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

SYS_CRITICAL_IO 83<br />

Library<br />

Trident and Tri-GP (TRDLIB)<br />

Structured Text<br />

FUNCTION_BLOCK SYS_CRITICAL_IO<br />

VAR_INPUT<br />

CI : BOOL := TRUE ; (* Control in. *)<br />

RESET : BOOL ; (* Reset *)<br />

IOP : DINT ; (* IOP number 0-15 *)<br />

SLOT : DINT ; (* SLOT number 0-56 *)<br />

APP : DINT ; (* Application number 1-2 *)<br />

RELAY_OK : BOOL := TRUE ; (* Relay is energized and not stuck. *)<br />

END_VAR<br />

VAR_OUTPUT<br />

CO : BOOL ; (* Critical IO Control out. *)<br />

TMR : BOOL ; (* Critical IO 3 channels operating. *)<br />

GE_DUAL : BOOL ; (* Critical IO 2 or more channels operating. *)<br />

GE_SINGLE : BOOL ; (* Critical IO 1 or more channels operating. *)<br />

NO_VOTER_FLTS : BOOL ; (* No voter faults on critical modules. *)<br />

ERROR : DINT ; (* Error number. *)<br />

(*<br />

* Error number:<br />

* 0 = No error.<br />

* -1 = IOP invalid.<br />

* -2 = Slot not valid.<br />

* -3 = Module not configured.<br />

* -4 = Wrong module type.<br />

* -5 = Application number is invalid.<br />

* -6 = Not initialized.<br />

*)<br />

END_VAR<br />

VAR<br />

PREVIOUS_RESET : BOOL ; (* All channels operating. *)<br />

IO : SYS_IO_STATUS ; (* IO module status. *)<br />

RELAY : DINT := 1 ; (* De-energized to trip with relay *)<br />

DE_ENERGIZED : DINT := 2 ; (* De-energized to trip with no relay *)<br />

U : BOOL ; (* Unused value. *)<br />

END_VAR<br />

(*<br />

*=F===============================================================================<br />

* FUNCTION_BLOCK: SYS_CRITICAL_IO<br />

* Purpose: Calculate status of critical IO modules.<br />

*<br />

* Return: none<br />

*<br />

* Remarks:<br />

* Usage<br />

* 1. Invoke once with RESET := TRUE, to initialize.<br />

* 2. Invoke again with RESET := FALSE, CI := TRUE, APP := DE_ENERGIZED, and<br />

* RELAY_OK := FALSE to complete initialization.<br />

* 3. Invoke repeatedly, once <strong>for</strong> each critical IO module.<br />

* 4. Read outputs CO, TMR, GE_DUAL, and GE_SINGLE <strong>for</strong> safety critical results.<br />

*<br />

* In step 3, invoke with the IOP and SLOT of the critical IO module,<br />

* the module application, and the relay status.<br />

* For example, if IOP 1 SLOT 1 is a critical DO module with a relay,<br />

* and SCIO is the function block instance name:<br />

* SCIO( IOP:=1, SLOT:= 1, APP:=RELAY, RELAY_OK:=RELAY1_OK );<br />

*<br />

<strong>Safety</strong> <strong>Considerations</strong> <strong>Guide</strong> <strong>for</strong> <strong>Triconex</strong> <strong>General</strong> Purpose v2 Systems

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!