getting_started:tutorials:system2
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| getting_started:tutorials:system2 [2020/12/03 08:54] – [Example with a More Complex Safety System] ursgraf | getting_started:tutorials:system2 [2026/04/12 15:58] (current) – ursgraf | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Example with a More Complex Safety System ====== | ====== Example with a More Complex Safety System ====== | ||
| - | This example shows how to use the safety system. It further uses two inputs and two outputs. For this reason we will use the simulator again, see [[getting_started: | + | This example shows how to use the safety system. It further uses two inputs and two outputs. For this reason we will use the simulator again, see [[getting_started: |
| + | |||
| + | In the EEROS library you will find a directory with examples. | ||
| + | |||
| + | Open a shell in the build directory of your EEROS library and run | ||
| < | < | ||
| - | $ sudo LD_LIBRARY_PATH=/home/ | + | $ ./examples/ |
| </ | </ | ||
| The example comprises a safety system with five different safety levels and six safety events. | The example comprises a safety system with five different safety levels and six safety events. | ||
| - | {{ : | + | {{ : |
| The levels and events are defined in the safety properties. The properties further include one critical input '' | The levels and events are defined in the safety properties. The properties further include one critical input '' | ||
| The following events are defined and used in the example: | The following events are defined and used in the example: | ||
| ^name^description^registered for safety level^type^when triggered^ | ^name^description^registered for safety level^type^when triggered^ | ||
| - | |e1|start initializing|slOff|public event|triggered by the main program immediately after initialization of the safety system| | + | |seInitializingDone|initialization done|slIinitializing|public event|triggered by a periodic 5 seconds after the executor started| |
| - | |e2|initialization done|slIinitializing|public event|triggered by a periodic 5 seconds after the executor started| | + | |seStartRunning|start running|slInitialized|private event|triggered by checking the critical input, this could be an enable button| |
| - | |e3|start running|slInitialized|private event|triggered by checking the critical input, this could be an enable button| | + | |seShutDown|start shutting down|slRunning, |
| - | |e4|start shutting down|slRunning, | + | |seStopRunning|stop running|slRunning|private event|triggered by checking the critical input, this could be an enable button| |
| - | |e5|stop running|slRunning|private event|triggered by checking the critical input, this could be an enable button| | + | |seSwitchingOff|switching off|slShuttingDown|private event|triggered by a level action| |
| - | |e6|switching off|slShuttingDown|private event|triggered by a level action| | + | |
| The example shows a typical use of safety levels and safety events. The system works as follows: | The example shows a typical use of safety levels and safety events. The system works as follows: | ||
getting_started/tutorials/system2.1606982096.txt.gz · Last modified: by ursgraf
