AnnexF/cmd_monitor_il.txt
author Manuele Conti <conti.ma@alice.it>
Mon, 30 Jul 2012 22:59:00 +0200
changeset 622 eaa49b276e17
parent 0 fb772792efd1
permissions -rwxr-xr-x
Add check bison version in configure.ac file.
To build correctly matiec we need bison greater or equals than 2.4 version.
Now the "configure" script is able to check if system has correctly requirements.
FUNCTION_BLOCK CMD_MONITOR
 VAR_INPUT AUTO_CMD : BOOL ; (* Automated command *)
          AUTO_MODE : BOOL ; (* AUTO_CMD enable *)
            MAN_CMD : BOOL ; (* Manual Command *)
        MAN_CMD_CHK : BOOL ; (* Negated MAN_CMD to debounce *)  
          T_CMD_MAX : TIME ; (* Max time from CMD to FDBK *)
               FDBK : BOOL ; (* Confirmation of CMD completion     
                                by operative unit *)               
                ACK : BOOL ; (* Acknowledge/cancel ALRM *)         
 END_VAR
 VAR_OUTPUT CMD : BOOL ;   (* Command to operative unit *)
           ALRM : BOOL ;   (* T_CMD_MAX expired without FDBK *)
 END_VAR
 VAR CMD_TMR : TON ;    (* CMD-to-FDBK timer *)
     ALRM_FF : SR ;     (* Note over-riding S input: *)
 END_VAR                (* Command must be cancelled before
                              "ACK" can cancel alarm *)
 (* Function Block Body *)
LD	T_CMD_MAX	
ST	CMD_TMR.PT	(* Store an input to the TON FB *)
LD	AUTO_CMD	
AND	AUTO_MODE	
OR(	MAN_CMD	
ANDN	AUTO_MODE	
ANDN	MAN_CMD_CHK	
)		
ST	CMD	
IN	CMD_TMR	(* Invoke the TON FB *)
LD	CMD_TMR.Q	
ANDN	FDBK	
ST	ALRM_FF.S1	(* Store an input to the SR FB *)
LD	ACK	
R	ALRM_FF	(* Invoke the SR FB *)
LD	ALRM_FF.Q1	
ST    	ALRM	

END_FUNCTION_BLOCK