/* * 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 namespace application { namespace procedures { struct MoveToPointWithTimeout : public ISetupStep { static const Environment::Id provider = 0; ResourceKeeper< technological::adapter::TieInterface > * control_system = nullptr; ResourceKeeper * speed_limit = nullptr; ResourceKeeper * torque_limit = nullptr; ResourceKeeper * acc_limit = nullptr; systemic::Parameter 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_ */