User Tools

Site Tools


eeros_architecture:safety_system:io_actions

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
eeros_architecture:safety_system:io_actions [2016/11/29 14:15] – [range(...)] grafeeros_architecture:safety_system:io_actions [2021/07/08 20:09] (current) – [range(...)] ursgraf
Line 29: Line 29:
 ==== range(...) ==== ==== range(...) ====
 <code c> <code c>
-  range(eeros::hal::Input<T>* input, T min, T max, SafetyEvent event);+  range(eeros::hal::Input<T>* input, T min, T max, SafetyEvent event, bool offRange = false);
 </code> </code>
-The //range// action checks if the value of the input is in the range of min to max, and if this is not the case, an event is fired.+The //range// action checks if the value of the input is in the range of min to max, and if this is not the case, an event is fired. If the parameter ''offRange'' is set to true, the //range// action checks if the value is lower then min or higher than max
  
 In the following example the //range// action tests whether the value of //q0// is in the interval from 0.0 to 6.283. If not, the event //doMotionStopping// is fired, which causes a transition to the level //slMotionStopping//. In the following example the //range// action tests whether the value of //q0// is in the interval from 0.0 to 6.283. If not, the event //doMotionStopping// is fired, which causes a transition to the level //slMotionStopping//.
Line 43: Line 43:
 ==== set(...) ==== ==== set(...) ====
 <code c> <code c>
-  set(eeros::hal::SystemOutput<T>* output, T value);+  set(eeros::hal::Output<T>* output, T value);
 </code> </code>
 The //set// action sets an output to a certain value, e.g.: The //set// action sets an output to a certain value, e.g.:
Line 52: Line 52:
 ==== leave(...) ==== ==== leave(...) ====
 <code c> <code c>
-  leave(eeros::hal::SystemOutput<T>* output);+  leave(eeros::hal::Output<T>* output);
 </code> </code>
 The //leave// action does not change the current state or value of an output. This is particularly helpful if a certain safety level can be reached from various other levels with outputs set in those levels, and the current level does not want to change a certain output. The //leave// action does not change the current state or value of an output. This is particularly helpful if a certain safety level can be reached from various other levels with outputs set in those levels, and the current level does not want to change a certain output.
Line 61: Line 61:
 ==== toggle(...) ==== ==== toggle(...) ====
 <code c> <code c>
-  toggle(eeros::hal::SystemOutput<T>* output);+  toggle(eeros::hal::Output<T>* output);
 </code> </code>
 The //toggle// action changes thew current state each time the safety system runs. Please keep in mind that the safety system runs with the highest priority and highest frequency of the whole system. //toggle// is generally used to deliver a watchdog signal. The //toggle// action changes thew current state each time the safety system runs. Please keep in mind that the safety system runs with the highest priority and highest frequency of the whole system. //toggle// is generally used to deliver a watchdog signal.
eeros_architecture/safety_system/io_actions.1480425307.txt.gz · Last modified: 2016/11/29 14:15 (external edit)