Kommando-Kommunikation
Betrachtung aus Sicht der MFU.
Das Signal „Kommando Eingabe“ kommt entweder über die Backplane und damit vom Kontrollsystem/SCU oder über den USB.
Das Signal „Kommando Ausgabe“ ist an folgende Bedingungen geknüpft:
Status | Bedingung(en) | Kommando Eingabe | Kommando Ausgabe | Bemerkung |
X | | cCMDSwitchUnitOff | cCMDSwitchUnitOff | steht über allem |
X | Kommando Eingabe <> cCMDSwitchUnitOff | cCMDResetUnit | cCMDResetUnit | Wird keine Kommando cCMDSwitchUnitOff ausgeführt, steht cCMDResetUnit über allem |
cSTATUSSetDefaults | | X | cCMDNoAction | |
cSTATUSResetInterlocks | | | | |
cSTATUSUnitOff | - alle Reißleinen OK - keine Interlocks anstehend (CPU) - Parameter gültig (CPU) - Module verifiziert (CPU) - es wird kein Resetkommando ausgeführt*) | cCMDSwitchUnitOn | ggf. cCMDSwitchUnitOn | sofern alle Bedingungen erfüllt sind, sonst wird Kommandoeingabe ignoriert |
cCMDResetUnit | cCMDResetUnit | wird immer ausgeführt |
cSTATUSLoadingBank | | X | anstehendes Kommando | Ausgabe des Kommandos ändert sich in diesem Status nicht |
cSTATUSSwitchingUnitOn | | X | cCMDNoAction | |
cSTATUSUnitOn | | cCMDSwitchUnitOn cCMDSwitchUnitOff cCMDResetUnit | sExecuteCommand | Abhängig von Kommando Eingabe wird sExecuteCommand zu einer der Kommando Eingaben |
cSTATUSControllerEnabled | - Parameter Prüfsumme - Reglerfreigabe (siehe Bemerkungen) - keine Interlocks anstehend (CPU) - Parameter gültig (CPU) - Module verifiziert (CPU) - Bootsequenz komplett (CPU) | cCMDSwitchUnitOn cCMDSwitchUnitOff cCMDResetUnit cCMDControllerLocked | sExecuteCommand | Sofern alle Bedingungen erfüllt sind wird abhängig von Kommando Eingabe sExecuteCommand zu einer der Kommando Eingaben EIN/AUS/RESET. Andernfalls wird sExecuteCommand = cCMDControllerLocked |
cSTATUSControllerDisabled | - Parameter Prüfsumme - Reglerfreigabe (siehe Bemerkungen) - keine Interlocks anstehend (CPU) - Parameter gültig (CPU) - Module verifiziert (CPU) - Bootsequenz komplett (CPU) |
STATUSSwitchingUnitOff | | X | anstehendes Kommando | |
cSTATUSControllerDisabledbySoftware | | cCMDSwitchUnitOn cCMDSwitchUnitOff cCMDResetUnit cCMDControllerLocked | ExecuteCommand | Ist Reglerfreigabe = 1 wird abhängig von Kommando Eingabe sExecuteCommand zu einer der Kommando Eingaben EIN/AUS/RESET. Andernfalls wird sExecuteCommand = cCMDControllerLocked |
cSTATUSControllerDisabledExternal | | cCMDSwitchUnitOn cCMDSwitchUnitOff cCMDResetUnit | ExecuteCommand | Abhängig von Kommando Eingabe wird sExecuteCommand zu einer der Kommando Eingaben |
*) die Ausführung des Resetkommandos wird bei drücken der RESET Taste gestartet und dauert „gResetTripLinesExtensionIn_mSeconds“
Alle übrigen Kommandos werden mit „gCommandExtensionIn_uSeconds“ ausgegeben. Danach wechselt das Kommando automatisch zurück auf ‚cCMDNoAction‘.
--
DerekSchupp - 2019-06-07