Sistema Library - Beckhoff
[ PL = \textFunction of ( \textCategory, \textMTTFd, \textDC, \textCCF ) ]
PROGRAM Main VAR fbSistema_PLr : FB_Sistema_PLr; // For required PL calculation fbSistema_EStop : FB_Sistema_Channel; rRequiredPL : SISTEMA_PL; eStopResult : ST_Sistema_Result; bMachineAllowed : BOOL; END_VAR // Calculate Required PL based on risk assessment fbSistema_PLr( Severity := SEVERITY.SEVERE, // S2 Frequency := FREQ.LESS_THAN_1_HOUR, // F2 PossibilityOfAvoidance := AVOID.IMPOSSIBLE // P2 ); rRequiredPL := fbSistema_PLr.PLr; // Returns PLr = e beckhoff sistema library
stConfig.Category := SISTEMA_CATEGORY.CAT_3; // Category 3 architecture stConfig.MTTFd_Channel_A := eStop_MTTFd; stConfig.MTTFd_Channel_B := eStop_MTTFd; stConfig.DC_Avg := eStop_DC; stConfig.CCF_Score := eStop_CCF; stConfig.Nop := 1; // Number of operations per year (for MTTFd calculation) Call the function block cyclically or on-demand: [ PL = \textFunction of ( \textCategory, \textMTTFd,