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:47] – 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=~/Checkout/ | + | $ ./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 example shows a typical use of safety levels and safety events. |
| - | * The end of the initialization phase is triggered by a periodic which is run by the executor. In general this would be signalled by the sequencer after a initializing sequence has finished or by the control system as soon as a certain condition arises. | + | * The end of the initialization phase is triggered by a periodic which is run by the executor. In general this would be signalled by the sequencer after a initializing sequence has finished or by the control system as soon as a certain condition arises. A periodic would usually be used for running a time domain in the control system. As we do not have such a control system here, we simply use the periodic to trigger safety events. |
| * To start and stop running might be triggered by pressing or releasing a button connected to the critical input. In our simple example we do not have real hardware. We therefore use the simulator which connects the output named '' | * To start and stop running might be triggered by pressing or releasing a button connected to the critical input. In our simple example we do not have real hardware. We therefore use the simulator which connects the output named '' | ||
| * When pressing '' | * When pressing '' | ||
getting_started/tutorials/system2.1606981662.txt.gz · Last modified: by ursgraf
