Safety Considerations Guide for Triconex General ... - ICEWeb
Safety Considerations Guide for Triconex General ... - ICEWeb
Safety Considerations Guide for Triconex General ... - ICEWeb
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
88 Appendix C <strong>Safety</strong>-Critical Function Blocks<br />
Library<br />
Trident and Tri-GP (TRDLIB)<br />
Structured Text<br />
FUNCTION_BLOCK SYS_SHUTDOWN<br />
VAR_INPUT<br />
CI : BOOL := TRUE ; (* Control in. *)<br />
IO_CO : BOOL ; (* Critical IO Control out. *)<br />
IO_TMR : BOOL ; (* Critical IO 3 channels operating. *)<br />
IO_GE_DUAL : BOOL ; (* Critical IO 2 or more channels operating. *)<br />
IO_GE_SINGLE : BOOL ; (* Critical IO 1 or more channels operating. *)<br />
IO_NO_VOTER_FLTS : BOOL ; (* No voter faults on critical modules. *)<br />
IO_ERROR : DINT ; (* Error number, not used. *)<br />
MAX_TIME_DUAL : TIME := T#40000d ; (* Max Time with only 2 channels. *)<br />
MAX_TIME_SINGLE : TIME := T#40000d ; (* Max Time with only 1 channel. *)<br />
MAX_SCAN_TIME : TIME := T#400ms ; (* 50% of Max Response Time. *)<br />
END_VAR<br />
VAR_OUTPUT<br />
CO : BOOL ; (* Control out. *)<br />
OPERATING : BOOL ; (* Shutdown if OPERATING=FALSE. *)<br />
TMR : BOOL ; (* Three channels operating. *)<br />
DUAL : BOOL ; (* Dual mode. *)<br />
SINGL : BOOL ; (* Single mode. *)<br />
ZERO : BOOL ; (* Zero mode. *)<br />
TIMER_RUNNING : BOOL ; (* Shutdown timer is running. *)<br />
TIME_LEFT : TIME ; (* Time remaining to shutdown. *)<br />
ALARM_PROGRAMMING_PERMITTED : BOOL ; (* Alarm -- download change. *)<br />
ALARM_REMOTE_ACCESS : BOOL ; (* Alarm -- remote host writes. *)<br />
ALARM_RESPONSE_TIME : BOOL ; (* Alarm -- exceed response time. *)<br />
ALARM_DISABLED_POINTS : BOOL ; (* Alarm -- some points disabled. *)<br />
ERROR : DINT ; (* Error number. *)<br />
(*<br />
* Error number:<br />
* 0 = No error.<br />
* 1 = Error in maximum time.<br />
* 2 = IO function block error - IO_ERROR is non-zero.<br />
* 3 = System status or MP status function block error.<br />
*)<br />
END_VAR<br />
VAR<br />
GE_DUAL : BOOL ; (* Two or more channels operating. *)<br />
GE_SINGLE : BOOL ; (* One or more channels operating. *)<br />
SYSTEM : SYS_SYSTEM_STATUS ; (* System status. *)<br />
MP : SYS_MP_STATUS ; (* MP status. *)<br />
MPX : SYS_MP_EXT_STATUS ; (* MP extended status. *)<br />
DUAL_TIME : TON ; (* Dual mode timer. *)<br />
SINGLE_TIME : TON ; (* Single mode timer. *)<br />
U : BOOL ; (* Unused Value. *)<br />
END_VAR<br />
(*<br />
*=F================================================================================<br />
* FUNCTION_BLOCK: SYS_SHUTDOWN<br />
* Purpose: Implement TUV restrictions.<br />
*<br />
* Return: none<br />
*<br />
* Remarks:<br />
*<br />
* This example shows one way to check that<br />
<strong>Safety</strong> <strong>Considerations</strong> <strong>Guide</strong> <strong>for</strong> <strong>Triconex</strong> <strong>General</strong> Purpose v2 Systems