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

68 lines
2.6 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.

/*
* SearchCondition.hh
*
* Created on: 5 июл. 2020 г.
* Author: LeonidTitov
*/
#ifndef UMLIBRARY_APPLICATION_PROCEDURES_SEARCHCONDITION_HH_
#define UMLIBRARY_APPLICATION_PROCEDURES_SEARCHCONDITION_HH_
#include "../ISetupStep.hh"
#include "../../technological/function/SearchCondition.hh"
#include <exception>
namespace application { namespace procedures {
struct SearchCondition : public ISetupStep {
static const Environment::Id provider = 0;
typedef technological::adapter::TieInterface<vector::ITechValue> ControlSystem;
ResourceKeeper<ControlSystem> * control_system = nullptr;
ResourceKeeper<vector::ITechValue> * speed_limit = nullptr;
ResourceKeeper<vector::ITechValue> * torque_limit = nullptr;
ResourceKeeper<vector::ITechValue> * acc_limit = nullptr;
systemic::IStatus * condition = nullptr;
systemic::ISignal * value = nullptr;
systemic::Parameter<technological::function::SearchCondition> 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::SignalId value; //!<Интересуемое значение.
Environment::StatusId condition; //!<Условие завершения поиска.
Environment::SettingId accuracy; //!<Точность оценкци условия граници диапозона поиска.
Environment::TechFunctionId procedure; //!<Процедура выполняющая поиск точки в которой выполняется условие.
Environment::StatusId size_error; //!<Ошибка запуска: невалидный размер.
Environment::StatusId invalid_input; //!<Ошибка запуска: невалидные значения.
Environment::StatusId control_system_busy; //!<Ошибка запуска: система управления занята.
};
const Links & links;
const configuration::ProcessConfig & params;
SearchCondition( const Links & links, const configuration::ProcessConfig & params ) : links(links), params(params) {}
};
}}
#endif /* UMLIBRARY_APPLICATION_PROCEDURES_SEARCHCONDITION_HH_ */