getting_started:tutorials:stoppingsystem
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| getting_started:tutorials:stoppingsystem [2016/11/04 17:06] – graf | getting_started:tutorials:stoppingsystem [2017/09/24 16:39] (current) – removed graf | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Shutting down a System ====== | ||
| - | How does a robot control system properly shut down? In general it does not stop. Pressing an emergency button might switch to a emergency safety level. However, in a system under development it is often desirable to end an application. That usually means to switch to a specific safety level where the necessary steps for a well controlled stopping of the application takes place. Only after this happened the executor stops running and returns control to the main program, which then stops as well. \\ | ||
| - | The following example shows how this can be accomplished. The code can be found in [[getting_started: | ||
| - | <code cpp> | ||
| - | #include " | ||
| - | #include < | ||
| - | void signalHandler(int signum) { | ||
| - | SafetySystem:: | ||
| - | } | ||
| - | |||
| - | int main() { | ||
| - | signal(SIGHUP, | ||
| - | signal(SIGINT, | ||
| - | signal(SIGQUIT, | ||
| - | signal(SIGKILL, | ||
| - | signal(SIGTERM, | ||
| - | signal(SIGPWR, | ||
| - | |||
| - | ... | ||
| - | | ||
| - | // Create and initialize safety system | ||
| - | double period = 1; | ||
| - | MySafetyProperties ssProperties; | ||
| - | SafetySystem safetySys(ssProperties, | ||
| - | |||
| - | ... | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | <code cpp> | ||
| - | exitFunction = [& | ||
| - | privateContext-> | ||
| - | }; | ||
| - | </ | ||
| - | |||
| - | <code cpp> | ||
| - | SafetyEvent seShutDown; | ||
| - | </ | ||
getting_started/tutorials/stoppingsystem.1478275612.txt.gz · Last modified: 2016/11/04 17:06 by graf