MotorControlModuleSDFM_TMS3.../Projects/EFC_Communication/UMLibrary/application/procedures/MoveToPointWithTimeout.hh
2024-06-07 11:12:56 +03:00

60 lines
2.3 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* 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_ */