Server and Commands
The reference server ifwSlm exposes two CII/MAL services on the
req_endpoint: the standard StdCmds service and the SLM-specific
SecondaryLoopManagerCmds service.
Lifecycle
The typical sequence to bring the SLM into operation:
Init—NotReady→Ready.Enable—Ready→Operational(Idle).RunSlm—Idle→Running; loops start in theOPENstate.CloseLoop <n>— start cycling loop n on its timer.
To wind down: OpenLoop/StopSlm to stop cycling, then Disable /
Stop. StopSlm opens all loops automatically.
Standard commands (StdCmds)
Init, Enable, Disable, Reset, Stop, GetState,
GetStatus. GetStatus returns the concise "State:Substate" summary
(e.g. Operational:Running); GetState returns the full state-machine path.
Loop commands (SecondaryLoopManagerCmds)
Command |
Effect |
|---|---|
|
start managing loops ( |
|
stop managing loops and open all loops |
|
close (start cycling) the given loop(s) |
|
open (stop cycling) the given loop(s) |
|
pause cycling of the given closed loop(s) |
|
resume cycling of the given suspended loop(s) |
The four loop commands take a fixed-size vector of 9 integers; a non-zero entry at position i selects loop i+1. The Command-Line Tool (slmcli) and the Graphical User Interface build this vector for you.
Note
Loop commands are only handled while the SLM is in Running. Issued in any
other state they are rejected. The GUI therefore enables the per-loop command
buttons only when the published substate is Running.