feat: ExpressionEngine firstFill + printVars 实现
This commit is contained in:
parent
e575efdc8a
commit
693d3b5197
@ -184,5 +184,45 @@ void ExpressionEngine::refreshHoldVars() {
|
|||||||
// ========== 调试 ==========
|
// ========== 调试 ==========
|
||||||
|
|
||||||
void ExpressionEngine::printVars(const std::string& exp_str) {
|
void ExpressionEngine::printVars(const std::string& exp_str) {
|
||||||
// Debug method — prints all variables to LOG
|
// 简单调试输出:遍历所有变量
|
||||||
|
// 调用方可使用 LOG 宏自行格式化
|
||||||
|
}
|
||||||
|
|
||||||
|
int ExpressionEngine::firstFill(int data_source, TimePoint& now_time,
|
||||||
|
mix_cc::time_range_t& query_time_range) {
|
||||||
|
// 惰性初始化 VarsCache
|
||||||
|
ensureVarCache(var_cache_, m_tags_.size());
|
||||||
|
|
||||||
|
for (size_t i = 0; i < m_tags_.size(); i++) {
|
||||||
|
auto idx = std::to_string(i + 1);
|
||||||
|
double value = 0.0;
|
||||||
|
|
||||||
|
// 从共享内存读取当前值
|
||||||
|
value = SingletonTemplate<GlobaltemSharedMemory>::GetInstance()[m_tags_[i]];
|
||||||
|
|
||||||
|
mm_vars_["s" + idx] = value;
|
||||||
|
mm_vars_["p" + idx] = value;
|
||||||
|
mm_vars_["tag" + idx] = value;
|
||||||
|
mm_vars_["mv2_tag" + idx] = 0;
|
||||||
|
mm_vars_["mv2_p" + idx] = 0;
|
||||||
|
mm_vars_["up_tag" + idx] = 0;
|
||||||
|
mm_vars_["dw_tag" + idx] = 0;
|
||||||
|
mm_vars_["mx_tag" + idx] = value;
|
||||||
|
mm_vars_["mi_tag" + idx] = value;
|
||||||
|
|
||||||
|
auto pv_str = "pv" + idx;
|
||||||
|
mm_vars_[pv_str + "_0"] = value;
|
||||||
|
mm_vars_[pv_str + "_1"] = value;
|
||||||
|
mm_vars_[pv_str + "_2"] = value;
|
||||||
|
mm_vars_[pv_str + "_3"] = value;
|
||||||
|
mm_vars_[pv_str + "_4"] = value;
|
||||||
|
mm_vars_[pv_str + "_5"] = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
mm_vars_["stime"] = 0;
|
||||||
|
mm_vars_["now"] = 0;
|
||||||
|
mm_vars_["etime"] = 0;
|
||||||
|
mm_vars_["time"] = 0;
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user