60 lines
2.3 KiB
C++
60 lines
2.3 KiB
C++
/*
|
||
* MoveToPointWithTimeout.hh
|
||
*
|
||
* Created on: 8 июл. 2020 г.
|
||
* Author: LeonidTitov
|
||
*/
|
||
|
||
#ifndef UMLIBRARY_APPLICATION_PROCEDURES_MOVETOPOINTWITHTIMEOUT_HH_
|
||
#define UMLIBRARY_APPLICATION_PROCEDURES_MOVETOPOINTWITHTIMEOUT_HH_
|
||
|
||
#include "../ISetupStep.hh"
|
||
|
||
#include "../../technological/function/MoveToPointWithTimeout.hh"
|
||
|
||
#include <exception>
|
||
|
||
namespace application { namespace procedures {
|
||
|
||
struct MoveToPointWithTimeout : public ISetupStep {
|
||
|
||
static const Environment::Id provider = 0;
|
||
|
||
ResourceKeeper< technological::adapter::TieInterface<vector::ITechValue> > * control_system = nullptr;
|
||
|
||
ResourceKeeper<vector::ITechValue> * speed_limit = nullptr;
|
||
ResourceKeeper<vector::ITechValue> * torque_limit = nullptr;
|
||
ResourceKeeper<vector::ITechValue> * acc_limit = nullptr;
|
||
|
||
systemic::Parameter<technological::function::MoveToPointWithTimeout> parameter;
|
||
|
||
bool input( Environment & env );
|
||
void build( Environment & env );
|
||
|
||
struct Links {
|
||
Environment::Id positioning_control; //!<Система управления позицией.
|
||
Environment::Id speed_limit; //!<Ограничение скорости.
|
||
Environment::Id torque_limit; //!<Ограничение усилия.
|
||
Environment::Id acceleration_limit; //!<Ограничение ускорения.
|
||
|
||
Environment::SettingId conditions; //!<Точность оценкци условия граници диапозона поиска.
|
||
|
||
Environment::TechFunctionId procedure; //!<Процедура выполняющая поиск точки в которой выполняется условие.
|
||
|
||
Environment::StatusId size_error; //!<Ошибка запуска: невалидный размер.
|
||
Environment::StatusId invalid_input; //!<Ошибка запуска: невалидные значения.
|
||
Environment::StatusId control_system_busy; //!<Ошибка запуска: система управления занята.
|
||
};
|
||
|
||
const Links & links;
|
||
const configuration::ProcessConfig & params;
|
||
|
||
MoveToPointWithTimeout( const Links & links, const configuration::ProcessConfig & params ) : links(links), params(params) {}
|
||
};
|
||
|
||
}}
|
||
|
||
|
||
|
||
#endif /* UMLIBRARY_APPLICATION_PROCEDURES_MOVETOPOINTWITHTIMEOUT_HH_ */
|