30 std::tuple<double, double, double, double>
33 std::array<double, ARCSparams::THREAD_MAX>& PT,
34 std::array<double, ARCSparams::THREAD_MAX>& CT,
35 std::array<double, ARCSparams::THREAD_MAX>& Max,
36 std::array<double, ARCSparams::THREAD_MAX>& Min
39 const std::array<double, ARCSparams::THREAD_MAX>& PT,
40 const std::array<double, ARCSparams::THREAD_MAX>& CT,
41 const std::array<double, ARCSparams::THREAD_MAX>& Max,
42 const std::array<double, ARCSparams::THREAD_MAX>& Min
52 std::tuple<double, double>
55 std::array<double, EquipParams::ACTUATOR_NUM>& Current,
56 std::array<double, EquipParams::ACTUATOR_NUM>& Position
64 void GetVarIndicator(std::array<double, ARCSparams::INDICVARS_MAX>& Vars);
65 void SetVarIndicator(
const std::array<double, ARCSparams::INDICVARS_MAX>& Vars);
69 template<
typename T1,
typename... T2>
73 VarIndicatorBuf.at(VarIndicCount) = (double)u1;
76 SetVarIndicator(u2...);
78 void SetVarIndicator(){
81 SetVarIndicator(VarIndicatorBuf);
87 void SetOnlineSetVars(
const std::array<double, ARCSparams::ONLINEVARS_MAX>& Vars);
91 template<
typename T1,
typename... T2>
95 u1 = OnlineSetVar.at(SetVarCount);
100 void GetOnlineSetVar(){
107 template<
typename T1,
typename... T2>
111 OnlineSetVarIni.at(InitSetVarCount) = (double)u1;
116 void InitOnlineSetVar(){
127 pthread_mutex_t TimeMutex;
128 pthread_mutex_t ActMutex;
129 pthread_mutex_t IndicMutex;
130 pthread_mutex_t OnsetMutex;
134 std::array<double, ARCSparams::THREAD_MAX> PeriodicTime;
135 std::array<double, ARCSparams::THREAD_MAX> ComputationTime;
136 std::array<double, ARCSparams::THREAD_MAX> MaxTime;
137 std::array<double, ARCSparams::THREAD_MAX> MinTime;
144 std::array<double, EquipParams::ACTUATOR_NUM> CurrentRef;
145 std::array<double, EquipParams::ACTUATOR_NUM> PositionRes;
148 std::array<double, ARCSparams::INDICVARS_MAX> VarIndicator;
149 std::array<double, ARCSparams::INDICVARS_MAX> VarIndicatorBuf;
150 size_t VarIndicCount;
153 std::array<double, ARCSparams::ONLINEVARS_MAX> OnlineSetVar;
154 std::array<double, ARCSparams::ONLINEVARS_MAX> OnlineSetVarIni;
156 size_t InitSetVarCount;
ARCSシステムコード共通パラメータ設定静的クラス
実験装置用定数値格納用クラス ARCSに必要な実験装置に特有な定数値を格納します。
定数値格納用クラス ARCSに必要な定数値を格納します。
static constexpr size_t INDICVARS_MAX
表示変数最大数 (変更不可)
Definition ARCSparams.hh:69
static constexpr size_t ONLINEVARS_MAX
オンライン設定変数最大数 (変更不可)
Definition ARCSparams.hh:72
ARCS画面パラメータ格納クラス
Definition ARCSscrparams.hh:22
void SetOnlineSetVar(const unsigned int VarNum, const double VarVal)
オンライン設定変数に値を設定する関数
Definition ARCSscrparams.cc:219
void GetVarIndicator(std::array< double, ARCSparams::INDICVARS_MAX > &Vars)
任意変数インジケータの配列を返す関数
Definition ARCSscrparams.cc:186
void SetCurrentAndPosition(const ArcsMat< EquipParams::ACTUATOR_NUM, 1 > &Current, const ArcsMat< EquipParams::ACTUATOR_NUM, 1 > &Position)
電流と位置の配列を設定する関数
Definition ARCSscrparams.cc:174
std::tuple< double, double, double, double > GetTimeVars(const unsigned int ThreadNum)
実際の制御周期,消費時間,制御周期の最大値,最小値を返す関数
Definition ARCSscrparams.cc:73
void SetVarIndicator(const std::array< double, ARCSparams::INDICVARS_MAX > &Vars)
任意変数インジケータの配列を設定する関数
Definition ARCSscrparams.cc:194
void SetTimeVars(const std::array< double, ARCSparams::THREAD_MAX > &PT, const std::array< double, ARCSparams::THREAD_MAX > &CT, const std::array< double, ARCSparams::THREAD_MAX > &Max, const std::array< double, ARCSparams::THREAD_MAX > &Min)
実際の制御周期,消費時間,制御周期の最大値,最小値の配列を設定する関数
Definition ARCSscrparams.cc:108
void InitOnlineSetVar(const T1 &u1, const T2 &... u2)
オンライン設定変数の初期値を設定する関数
Definition ARCSscrparams.hh:108
std::tuple< double, double > GetCurrentAndPosition(const unsigned int ActNum)
電流と位置を取得する関数
Definition ARCSscrparams.cc:149
void GetOnlineSetVar(T1 &u1, T2 &... u2)
オンライン設定変数から値を取得する関数
Definition ARCSscrparams.hh:92
~ARCSscrparams()
デストラクタ
Definition ARCSscrparams.cc:48
bool GetInitializing(void)
ロボット初期化フラグを取得する関数
Definition ARCSscrparams.cc:136
void SetInitializing(const bool InitFlag)
ロボット初期化フラグを設定する関数
Definition ARCSscrparams.cc:142
void GetOnlineSetVars(std::array< double, ARCSparams::ONLINEVARS_MAX > &Vars)
オンライン設定変数の配列を返す関数
Definition ARCSscrparams.cc:202
void SetTime(const double t)
時刻を設定する関数
Definition ARCSscrparams.cc:64
bool GetNetworkLink(void)
実際の制御周期,消費時間,制御周期の最大値,最小値の配列を設定する関数
Definition ARCSscrparams.cc:124
void SetNetworkLink(const bool LinkFlag)
ネットワークリンクフラグを設定する関数
Definition ARCSscrparams.cc:130
void SetOnlineSetVars(const std::array< double, ARCSparams::ONLINEVARS_MAX > &Vars)
オンライン設定変数の配列を設定する関数
Definition ARCSscrparams.cc:210
double GetTime(void)
時刻を取得する関数
Definition ARCSscrparams.cc:54
ARCSscrparams()
コンストラクタ
Definition ARCSscrparams.cc:17
void SetVarIndicator(const T1 &u1, const T2 &... u2)
任意変数インジケータに値を設定する関数
Definition ARCSscrparams.hh:70
ARCS-Matrix 行列演算クラス
Definition ArcsMatrix.hh:89