getting_started:overview
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
getting_started:overview [2017/03/17 08:57] – [Control System] graf | getting_started:overview [2021/04/01 11:26] – [Safety System] jonasfrei | ||
---|---|---|---|
Line 18: | Line 18: | ||
The safety system is designed as a series of hierarchical security levels. It monitors critical inputs and outputs and ensures, for example, that a fall back to the safety level " | The safety system is designed as a series of hierarchical security levels. It monitors critical inputs and outputs and ensures, for example, that a fall back to the safety level " | ||
- | [{{ eeros-architecture.png? | + | [{{ architecture.png? |
It can be easily and clearly seen how the control engineer is supported by the structure of the framework. It reminds him of what needs to be initialized and defined and keeps a clear vision of the overall system. | It can be easily and clearly seen how the control engineer is supported by the structure of the framework. It reminds him of what needs to be initialized and defined and keeps a clear vision of the overall system. | ||
Line 39: | Line 39: | ||
Each level reads the states from all safety-critical inputs and defines the states of all safety-critical outputs. There are no actions allowed during a transition between two safety levels, since this would be a hidden transition state. The safety system is functional from the very beginning of the development of a new robot control system. This ensures that no dangerous condition can arise even when a system is set up. | Each level reads the states from all safety-critical inputs and defines the states of all safety-critical outputs. There are no actions allowed during a transition between two safety levels, since this would be a hidden transition state. The safety system is functional from the very beginning of the development of a new robot control system. This ensures that no dangerous condition can arise even when a system is set up. | ||
- | Learn more about the safety system | + | [[: |
==== Sequencer ==== | ==== Sequencer ==== | ||
Line 51: | Line 51: | ||
==== Hardware Abstraction Layer (HAL)==== | ==== Hardware Abstraction Layer (HAL)==== | ||
- | The HAL provides an interface between the program and the robot. Any command in the program must pass through the HAL in order to be carried out. Additionally, | + | The HAL provides an interface between the program and the robot. Any command in the program must pass through the HAL in order to be carried out. Additionally, |
- | <box 100% green> | ||
- | The safety system and the HAL are strongly coupled together. Make sure that all inputs and outputs in the HAL are handled by the safety system. | ||
- | </ | ||
- | |||
- | === Getting the HAL === | ||
- | <code c> | ||
- | HAL& hal = HAL:: | ||
- | </ | ||
- | |||
- | === Inputs and Outputs === | ||
- | All input and output should be observed by the safety system. The safety system decides if a in- or output can be applied or not. | ||
- | |||
- | * Define inputs and outputs: | ||
- | To access the digital I/O hardware within the comedi framework, you have to define the inputs and outputs and add them to the HAL. | ||
- | <code c> | ||
- | ComediDevice* comedi0 = new ComediDevice("/ | ||
- | ComediDevice* comedi1 = new ComediDevice("/ | ||
- | | ||
- | hal.addSystemInput(new ComediFqd(" | ||
- | hal.addSystemOutput(new ComediDigOut(" | ||
- | hal.addSystemOutput(new ComediDigOut(" | ||
- | hal.addSystemOutput(new ComediDigOut(" | ||
- | </ | ||
- | |||
- | * **Note:** The class // | ||
getting_started/overview.txt · Last modified: 2021/04/01 14:04 by jonasfrei