class: $FWPART_$TOP$Ali_CaV_OT_CLASS !panel: aliDcsCavFSM/CaVFSM_openBitmap.pnl state: READY !color: FwStateOKPhysics when ( $ANY$FwCHILDREN in_state ERROR ) move_to ERROR when ( $ANY$FwCHILDREN in_state NO_CONTROL ) move_to NO_CONTROL when ( $ALL$FwCaVPlant in_state OFF ) move_to OFF when ( ( $ALL$FwCaVPlant in_state {RECOVERING,RUN} ) and ( $ANY$FwCaVLoop in_state {OFF,STANDBY,LOCKED} ) ) move_to MIXED when ( $ANY$FwCHILDREN in_state {OFF,STANDBY,RECOVERING,LOCKED} ) move_to NOT_READY when ( $ALL$FwCHILDREN in_state MAINTENANCE ) move_to MAINTENANCE action: GO_STANDBY !visible: 1 do GO_STANDBY $ALL$FwCHILDREN if ( $ALL$FwCHILDREN not_in_state STANDBY ) then move_to READY endif move_to NOT_READY action: GO_OFF !visible: 1 do GO_OFF $ALL$FwCHILDREN if ( $ALL$FwCHILDREN not_in_state OFF ) then move_to READY endif move_to NOT_READY action: RECOVER !visible: 2 do LOCK $FwCaVLoop do GO_ON $ALL$FwCaVLoop do RECOVER $ALL$FwCHILDREN if ( $ALL$FwCHILDREN not_in_state OFF ) then move_to READY endif move_to NOT_READY action: ALLOW_MAINTENANCE !visible: 2 do ALLOW_MAINTENANCE $FwCHILDREN if ( $ANY$FwCHILDREN not_in_state MAINTENANCE ) then move_to READY endif move_to MAINTENANCE action: LOOPS_LOCK(string loopList = "all") !visible: 1 do LOCK_LOOP(loopList = loopList) $ALL$FwCHILDREN action: LOOPS_OFF(string loopList = "all") !visible: 1 do CLOSE_LOOP(loopList = loopList) $ALL$FwCHILDREN state: NOT_READY !color: FwStateOKNotPhysics when ( $ANY$FwCHILDREN in_state ERROR ) move_to ERROR when ( $ANY$FwCHILDREN in_state NO_CONTROL ) move_to NO_CONTROL when ( $ALL$FwCaVPlant in_state OFF ) move_to OFF when ( ( $ALL$FwCaVPlant in_state {RECOVERING,RUN} ) and ( $ANY$FwCaVLoop in_state {OFF,STANDBY,LOCKED} ) ) move_to MIXED when ( ( $ALL$FwCaVPlant in_state RUN ) and ( $ALL$FwCaVLoop in_state ON ) ) move_to READY when ( $ALL$FwCHILDREN in_state MAINTENANCE ) move_to MAINTENANCE action: GO_READY !visible: 2 do LOCK $FwCaVLoop do GO_ON $ALL$FwCaVLoop do GO_RUN $ALL$FwCaVPlant if ( ( $ALL$FwCaVLoop not_in_state ON ) or ( $ALL$FwCaVPlant not_in_state RUN ) ) then move_to NOT_READY endif move_to READY action: RECOVER !visible: 2 do LOCK $FwCaVLoop do GO_ON $ALL$FwCaVLoop do RECOVER $ALL$FwCaVPlant action: GO_OFF !visible: 1 do GO_OFF $ALL$FwCHILDREN if ( $ALL$FwCHILDREN not_in_state OFF ) then move_to READY endif move_to NOT_READY action: ALLOW_MAINTENANCE !visible: 2 do ALLOW_MAINTENANCE $ALL$FwCHILDREN if ( $ANY$FwCHILDREN not_in_state MAINTENANCE ) then move_to NOT_READY endif move_to MAINTENANCE action: LOOPS_ON(string loopList = "all") !visible: 1 do OPEN_LOOP(loopList = loopList) $ALL$FwCaVLoop action: LOOPS_LOCK(string loopList = "all") !visible: 1 do LOCK_LOOP(loopList = loopList) $ALL$FwCHILDREN action: LOOPS_OFF(string loopList = "all") !visible: 1 do CLOSE_LOOP(loopList = loopList) $ALL$FwCHILDREN state: NO_CONTROL !color: FwStateAttention2 when ( $ANY$FwCHILDREN in_state NO_CONTROL ) stay_in_state when ( $ANY$FwCHILDREN in_state ERROR ) move_to ERROR when ( ( $ALL$FwCaVPlant in_state {RECOVERING,RUN} ) and ( $ANY$FwCaVLoop in_state {OFF,STANDBY,LOCKED} ) ) move_to MIXED when ( $ALL$FwCHILDREN in_state RUN ) move_to READY when ( $ANY$FwCaVPlant in_state OFF ) move_to OFF when ( $ANY$FwCHILDREN not_in_state READY ) move_to NOT_READY state: MAINTENANCE !color: FwStateOKNotPhysics when ( $ANY$FwCHILDREN in_state ERROR ) move_to ERROR when ( $ALL$FwCaVPlant in_state OFF ) move_to OFF when ( ( $ALL$FwCaVPlant in_state {RECOVERING,RUN} ) and ( $ANY$FwCaVLoop in_state {OFF,STANDBY,LOCKED} ) ) move_to MIXED when ( $ANY$FwCHILDREN in_state {OFF,STANDBY,RECOVERING,LOCKED} ) move_to NOT_READY when ( ( $ALL$FwCaVPlant in_state RUN ) and ( $ALL$FwCaVLoop in_state ON ) ) move_to READY action: EXIT_MAINTENANCE !visible: 2 do EXIT_MAINTENANCE $FwCHILDREN if ( $ANY$FwCHILDREN in_state MAINTENANCE ) then move_to MAINTENANCE endif state: ERROR !color: FwStateAttention3 when ( $ANY$FwCHILDREN in_state ERROR ) stay_in_state when ( $ANY$FwCHILDREN in_state NO_CONTROL ) move_to NO_CONTROL when ( ( $ALL$FwCaVPlant in_state {RECOVERING,RUN} ) and ( $ANY$FwCaVLoop in_state {OFF,STANDBY,LOCKED} ) ) move_to MIXED when ( ( $ALL$FwCaVLoop in_state ON ) and ( $ALL$FwCaVPlant in_state RUN ) ) move_to READY when ( $ALL$FwCHILDREN in_state MAINTENANCE ) move_to MAINTENANCE when ( $ALL$FwCHILDREN not_in_state ERROR ) move_to NOT_READY action: GO_OFF !visible: 1 do GO_OFF $ALL$FwCHILDREN if ( $ALL$FwCHILDREN not_in_state OFF ) then move_to READY endif move_to NOT_READY state: OFF !color: FwStateOKNotPhysics when ( $ANY$FwCHILDREN in_state ERROR ) move_to ERROR when ( $ANY$FwCHILDREN in_state NO_CONTROL ) move_to NO_CONTROL when ( $ALL$FwCaVPlant in_state STANDBY ) move_to NOT_READY when ( $ALL$FwCHILDREN in_state MAINTENANCE ) move_to MAINTENANCE action: GO_STANDBY !visible: 1 do GO_STANDBY $ALL$FwCHILDREN if ( $ALL$FwCHILDREN not_in_state STANDBY ) then move_to READY endif move_to NOT_READY action: ALLOW_MAINTENANCE !visible: 2 do ALLOW_MAINTENANCE $ALL$FwCHILDREN if ( $ANY$FwCHILDREN not_in_state MAINTENANCE ) then move_to READY endif move_to MAINTENANCE state: MIXED !color: FwStateAttention1 when ( $ANY$FwCHILDREN in_state NO_CONTROL ) move_to NO_CONTROL when ( $ANY$FwCHILDREN in_state ERROR ) move_to ERROR when ( ( $ALL$FwCaVPlant in_state {RECOVERING,RUN} ) and ( $ANY$FwCaVLoop in_state {OFF,STANDBY,LOCKED} ) ) stay_in_state when ( $ALL$FwCHILDREN in_state RUN ) move_to READY when ( $ANY$FwCaVPlant in_state OFF ) move_to OFF when ( $ANY$FwCHILDREN not_in_state READY ) move_to NOT_READY action: GO_STANDBY !visible: 1 do GO_STANDBY $ALL$FwCHILDREN if ( $ALL$FwCHILDREN not_in_state STANDBY ) then move_to READY endif move_to NOT_READY action: GO_OFF !visible: 1 do GO_OFF $ALL$FwCHILDREN if ( $ALL$FwCHILDREN not_in_state OFF ) then move_to READY endif move_to NOT_READY action: LOOPS_ON(string loopList = "all") !visible: 1 do OPEN_LOOP(loopList = loopList) $ALL$FwCaVLoop