eeros_architecture:safety_system:usage
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
eeros_architecture:safety_system:usage [2016/11/04 09:54] – [Changing the Safety Level] graf | eeros_architecture:safety_system:usage [2017/01/28 17:33] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 2: | Line 2: | ||
Every EEROS system can have exactly one safety system. As a first step you have to define your safety properties as described in [[eeros_architecture: | Every EEROS system can have exactly one safety system. As a first step you have to define your safety properties as described in [[eeros_architecture: | ||
<code cpp> | <code cpp> | ||
- | | + | MySafetyProperties safetyProperties; |
- | SafetySystem safetySys(safetyProperties, | + | SafetySystem safetySys(safetyProperties, |
</ | </ | ||
Line 9: | Line 9: | ||
<code cpp> | <code cpp> | ||
- | | + | // Create and run executor |
- | auto executor = eeros:: | + | auto& executor = eeros:: |
- | | + | executor.setMainTask(safetySys); |
- | | + | |
</ | </ | ||
Line 24: | Line 23: | ||
* the sequencer | * the sequencer | ||
- | Sometimes you need to fire an event e.g. swInitDone: | + | An event can be triggered by the control system or the sequencer by calling: |
<code cpp> | <code cpp> | ||
- | safetySys.triggerEvent(swInitDone, privateContext); | + | safetySys.triggerEvent(safetyProperties.seStartRunning); |
- | </ | + | |
- | + | ||
- | The C-style definition in class // | + | |
- | <code c> | + | |
- | void triggerEvent(uint32_t event); | + | |
</ | </ | ||
+ | Please make sure to declare a safety event public if triggered by the control system or the sequencer. Private event can be triggered solely by the safety system itself. | ||
eeros_architecture/safety_system/usage.1478249656.txt.gz · Last modified: 2016/11/04 09:54 by graf