getting_started:tutorials:system1
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
getting_started:tutorials:system1 [2020/11/27 17:38] – [Control System Containing Switch Blocks] ursgraf | getting_started:tutorials:system1 [2021/03/30 13:47] (current) – ursgraf | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Simple System with Control and Safety System ====== | ====== Simple System with Control and Safety System ====== | ||
- | It is time to study a basic system consisting of a control system and a safety system. The control system encompasses a few blocks and one of their signals will be written to an output. As we do not have any real output we will use a simulator, see [[getting_started: | + | It is time to study a basic system consisting of a control system and a safety system. The control system |
- | In the EEROS library you will find a directory with examples. Open a shell in the build directory of your EEROS library and run | + | |
+ | 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=/ |
</ | </ | ||
+ | IMPORTANT You have to run a program using real time threads with root privileges and you have to set your library path so that the simulator library can be found, see [[getting_started: | ||
+ | |||
This example encompasses a safety system and a control system. The control system has one time domain running several blocks | This example encompasses a safety system and a control system. The control system has one time domain running several blocks | ||
[{{ : | [{{ : | ||
Line 10: | Line 15: | ||
Upon switching the block also triggers a safety event. The safety system has four safety levels. | Upon switching the block also triggers a safety event. The safety system has four safety levels. | ||
- | {{ : | + | [{{ : |
- | The system will start in level '' | + | The system will start in level '' |
- | The time domain is still in the stopped state and hence, the signal value of the output of the gain block is NaN. After three seconds the system switches to level '' | ||
- | - In order to test what happens if you read from an unconnected input comment line number 44 and recompile. This removes the connection between the constant block and the gain block. As soon as the time domain tries to run the gain block a '' | ||
- | - Please add line 44 and remove line 39, recompile and run the test. The constant block has no value assigned to it. This causes the time domain to calculate the peripheral output value to be NaN and a '' | ||
- | ==== Explore Exceptions ==== | + | |
- | There is another example '' | + | |
- | - if you forget to connect an input to an output | + | |
- | - if you try to write a NaN value to a peripheral output | + | |
- | The system uses an output. For this reason you will need to install a simple simulator, see [[getting_started: | + | ==== Explore Exceptions ==== |
- | + | We can demonstrate what happens | |
- | The control system consists of three blocks, a constant block, a gain block, and a peripheral output block. the safety system encompasses three safety levels as show below. | + | - if you forget to connect an input to an output. |
- | {{ : | + | - if you try to write a NaN value to a peripheral output. |
- | The system will start in level '' | + | |
- | - In order to test what happens if you read from an unconnected input comment line number | + | |
- | - Please add line 44 and remove line 39, recompile and run the test. The constant block has no value assigned to it. This causes the time domain to calculate the peripheral output value to be NaN and a '' | + | |
getting_started/tutorials/system1.1606495113.txt.gz · Last modified: 2020/11/27 17:38 by ursgraf