轴运动功能修改

This commit is contained in:
wangxx1809 2024-05-08 10:03:18 +08:00
parent 94e5ecedef
commit d5f47137ae
16 changed files with 5882 additions and 5836 deletions

File diff suppressed because it is too large Load Diff

View File

@ -59,7 +59,7 @@ public:
void DrawAxisCfg();
void DrawPowderCtrl(bool* winShow);
//void DrawServoState(bool* winShow);
void DrawServoState(bool* winShow);
virtual void CheckIO();

View File

@ -1748,193 +1748,194 @@ void HBD1200::DrawSignal(bool* isshow)
ImGui::End();
}
void HBD1200::DrawServoState(bool* winShow)
{
ImGui::Begin(_(u8"伺服状态").c_str(), winShow, ImGuiWindowFlags_NoDocking | ImGuiWindowFlags_NoResize| ImGuiWindowFlags_AlwaysAutoResize);
ImGui::Begin(_(u8"伺服状态").c_str(), winShow, ImGuiWindowFlags_NoDocking | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_AlwaysAutoResize);
ImGui::BeginTabBar("servo_state");
//if (ImGui::BeginTabItem(_(u8"打印轴").c_str())) {
// AxisStateValue mold;
// m_Axis->m_Mold->GetState()->GetValue(mold);
// ImGui::BeginGroup();
// //ImGui::Text(_(u8"伺服使能:%s").c_str(), mold.ServoOn ? "YES" : "NO");
// ImGui::Text(_(u8"伺服成立原点: %s").c_str(), mold.ServoHomeIndexOn ? "YES" : "NO");
// ImGui::Text(_(u8"伺服复位: %s").c_str(), mold.ServoReset ? "YES" : "NO");
// ImGui::Text(_(u8"相对上运动: %s").c_str(), mold.MoveP ? "YES" : "NO");
// ImGui::Text(_(u8"相对下运动: %s").c_str(), mold.MoveN ? "YES" : "NO");
// ImGui::Text(_(u8"上JOG: %s").c_str(), mold.MovePContinue ? "YES" : "NO");
// ImGui::Text(_(u8"下JOG: %s").c_str(), mold.MoveNContinue ? "YES" : "NO");
// ImGui::Text(_(u8"绝对值运动: %s").c_str(), mold.MoveAbsPos ? "YES" : "NO");
// ImGui::Text(_(u8"急停: %s").c_str(), mold.MotionStop ? "YES" : "NO");
// ImGui::Text(_(u8"伺服RDY状态: %s").c_str(), mold.ServoRDY ? "YES" : "NO");
// ImGui::Text(_(u8"指令运行HOME_Done: %s").c_str(), mold.ServoHomeDone ? "YES" : "NO");
// ImGui::Text(_(u8"指令运行RESET_Done: %s").c_str(), mold.ResetDone ? "YES" : "NO");
// ImGui::Text(_(u8"伺服BUSY: %s").c_str(), mold.ServoBusy ? "YES" : "NO");
// ImGui::Text(_(u8"伺服异常: %s").c_str(), mold.ServoException ? "YES" : "NO");
// ImGui::Text(_(u8"可运行状态: %s").c_str(), mold.Runable ? "YES" : "NO");
// ImGui::Text(_(u8"伺服异常字: %d").c_str(), mold.ExceptionCode); //轴伺服异常字_R
// ImGui::Text(_(u8"主轴伺服刹车: %s").c_str(), mold.ServoBreakOn ? "YES" : "NO");
// //ImGui::Text(u8"主轴伺服绑定从轴: %s", mold.BindSlaveOn ? "YES" : "NO");
// //ImGui::Text(u8"主从轴已经绑定: %s", mold.BindSlaveFinish ? "YES" : "NO");
// ImGui::Text(_(u8"轴位置: %.3f").c_str(), mold.Pos);
// ImGui::Text(_(u8"轴扭矩: %.3f").c_str(), mold.Torque);
// ImGui::EndGroup();
if (ImGui::BeginTabItem(_(u8"打印轴").c_str())) {
AxisStateValue mold;
m_Axis->m_Mold->GetState()->GetValue(mold);
ImGui::BeginGroup();
//ImGui::Text(_(u8"伺服使能:%s").c_str(), mold.ServoOn ? "YES" : "NO");
ImGui::Text(_(u8"伺服成立原点: %s").c_str(), mold.ServoHomeIndexOn ? "YES" : "NO");
ImGui::Text(_(u8"伺服复位: %s").c_str(), mold.ServoReset ? "YES" : "NO");
ImGui::Text(_(u8"相对上运动: %s").c_str(), mold.MoveP ? "YES" : "NO");
ImGui::Text(_(u8"相对下运动: %s").c_str(), mold.MoveN ? "YES" : "NO");
ImGui::Text(_(u8"上JOG: %s").c_str(), mold.MovePContinue ? "YES" : "NO");
ImGui::Text(_(u8"下JOG: %s").c_str(), mold.MoveNContinue ? "YES" : "NO");
ImGui::Text(_(u8"绝对值运动: %s").c_str(), mold.MoveAbsPos ? "YES" : "NO");
ImGui::Text(_(u8"急停: %s").c_str(), mold.MotionStop ? "YES" : "NO");
ImGui::Text(_(u8"伺服RDY状态: %s").c_str(), mold.ServoRDY ? "YES" : "NO");
ImGui::Text(_(u8"指令运行HOME_Done: %s").c_str(), mold.ServoHomeDone ? "YES" : "NO");
ImGui::Text(_(u8"指令运行RESET_Done: %s").c_str(), mold.ResetDone ? "YES" : "NO");
ImGui::Text(_(u8"伺服BUSY: %s").c_str(), mold.ServoBusy ? "YES" : "NO");
ImGui::Text(_(u8"伺服异常: %s").c_str(), mold.ServoException ? "YES" : "NO");
ImGui::Text(_(u8"可运行状态: %s").c_str(), mold.Runable ? "YES" : "NO");
ImGui::Text(_(u8"伺服异常字: %d").c_str(), mold.ExceptionCode); //轴伺服异常字_R
ImGui::Text(_(u8"主轴伺服刹车: %s").c_str(), mold.ServoBreakOn ? "YES" : "NO");
//ImGui::Text(u8"主轴伺服绑定从轴: %s", mold.BindSlaveOn ? "YES" : "NO");
//ImGui::Text(u8"主从轴已经绑定: %s", mold.BindSlaveFinish ? "YES" : "NO");
ImGui::Text(_(u8"轴位置: %.3f").c_str(), mold.Pos);
ImGui::Text(_(u8"轴扭矩: %.3f").c_str(), mold.Torque);
ImGui::EndGroup();
// ImGui::SameLine();
// ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical);
// ImGui::SameLine();
ImGui::SameLine();
ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical);
ImGui::SameLine();
// ImGui::BeginGroup();
// g_SystemInfo->LockInfo();
// float linearLayerValue = g_SystemInfo->m_EnvState.m_LinearLayerPos;
// float moldTheoryDis = g_SystemInfo->m_EnvState.m_MoldTheoryDistance;
// float linearActDis = g_SystemInfo->m_EnvState.m_LinearActDistance;
// float linearPulseValue = g_SystemInfo->m_EnvState.m_LinearActPulse;
// g_SystemInfo->UnlockInfo();
// ImGui::Text(_(u8"光栅每层实际值: %.3f").c_str(), linearLayerValue);
// ImGui::Text(_(u8"升降理论行程: %.3f").c_str(), moldTheoryDis);
// ImGui::Text(_(u8"光栅实际行程: %.3f").c_str(), linearActDis);
// ImGui::Text(_(u8"光栅实际脉冲数: %.3f").c_str(), linearPulseValue);
ImGui::BeginGroup();
g_SystemInfo->LockInfo();
float linearLayerValue = g_SystemInfo->m_EnvState.m_LinearLayerPos;
float moldTheoryDis = g_SystemInfo->m_EnvState.m_MoldTheoryDistance;
float linearActDis = g_SystemInfo->m_EnvState.m_LinearActDistance;
float linearPulseValue = g_SystemInfo->m_EnvState.m_LinearActPulse;
g_SystemInfo->UnlockInfo();
ImGui::Text(_(u8"光栅每层实际值: %.3f").c_str(), linearLayerValue);
ImGui::Text(_(u8"升降理论行程: %.3f").c_str(), moldTheoryDis);
ImGui::Text(_(u8"光栅实际行程: %.3f").c_str(), linearActDis);
ImGui::Text(_(u8"光栅实际脉冲数: %.3f").c_str(), linearPulseValue);
// ImGui::EndGroup();
// ImGui::EndTabItem();
//}
ImGui::EndGroup();
ImGui::EndTabItem();
}
//if (ImGui::BeginTabItem(_(u8"电缸").c_str())) {
// AxisStateValue ele_main;
// m_Axis->m_Ele->GetState()->GetValue(ele_main);
// AxisStateValue ele_slave;
// m_Axis->m_EleSlave->GetState()->GetValue(ele_slave);
// ImGui::BeginGroup();
// ImGui::Button(_(u8"电缸主轴").c_str(), ImVec2(200, 0));
// //ImGui::Text(_(u8"伺服使能:%s").c_str(), ele_main.ServoOn ? "YES" : "NO");
// ImGui::Text(_(u8"伺服成立原点: %s").c_str(), ele_main.ServoHomeIndexOn ? "YES" : "NO");
// ImGui::Text(_(u8"伺服复位: %s").c_str(), ele_main.ServoReset ? "YES" : "NO");
// ImGui::Text(_(u8"相对上运动: %s").c_str(), ele_main.MoveP ? "YES" : "NO");
// ImGui::Text(_(u8"相对下运动: %s").c_str(), ele_main.MoveN ? "YES" : "NO");
// ImGui::Text(_(u8"上JOG: %s").c_str(), ele_main.MovePContinue ? "YES" : "NO");
// ImGui::Text(_(u8"下JOG: %s").c_str(), ele_main.MoveNContinue ? "YES" : "NO");
// ImGui::Text(_(u8"绝对值运动: %s").c_str(), ele_main.MoveAbsPos ? "YES" : "NO");
// ImGui::Text(_(u8"急停: %s").c_str(), ele_main.MotionStop ? "YES" : "NO");
// ImGui::Text(_(u8"伺服RDY状态: %s").c_str(), ele_main.ServoRDY ? "YES" : "NO");
// ImGui::Text(_(u8"指令运行HOME_Done: %s").c_str(), ele_main.ServoHomeDone ? "YES" : "NO");
// ImGui::Text(_(u8"指令运行RESET_Done: %s").c_str(), ele_main.ResetDone ? "YES" : "NO");
// ImGui::Text(_(u8"伺服BUSY: %s").c_str(), ele_main.ServoBusy ? "YES" : "NO");
// ImGui::Text(_(u8"伺服异常: %s").c_str(), ele_main.ServoException ? "YES" : "NO");
// ImGui::Text(_(u8"可运行状态: %s").c_str(), ele_main.Runable ? "YES" : "NO");
// ImGui::Text(_(u8"伺服异常字: %d").c_str(), ele_main.ExceptionCode); //轴伺服异常字_R
if (ImGui::BeginTabItem(_(u8"电缸").c_str())) {
AxisStateValue ele_main;
m_Axis->m_Ele->GetState()->GetValue(ele_main);
AxisStateValue ele_slave;
m_Axis->m_EleSlave->GetState()->GetValue(ele_slave);
ImGui::BeginGroup();
ImGui::Button(_(u8"电缸主轴").c_str(), ImVec2(200, 0));
//ImGui::Text(_(u8"伺服使能:%s").c_str(), ele_main.ServoOn ? "YES" : "NO");
ImGui::Text(_(u8"伺服成立原点: %s").c_str(), ele_main.ServoHomeIndexOn ? "YES" : "NO");
ImGui::Text(_(u8"伺服复位: %s").c_str(), ele_main.ServoReset ? "YES" : "NO");
ImGui::Text(_(u8"相对上运动: %s").c_str(), ele_main.MoveP ? "YES" : "NO");
ImGui::Text(_(u8"相对下运动: %s").c_str(), ele_main.MoveN ? "YES" : "NO");
ImGui::Text(_(u8"上JOG: %s").c_str(), ele_main.MovePContinue ? "YES" : "NO");
ImGui::Text(_(u8"下JOG: %s").c_str(), ele_main.MoveNContinue ? "YES" : "NO");
ImGui::Text(_(u8"绝对值运动: %s").c_str(), ele_main.MoveAbsPos ? "YES" : "NO");
ImGui::Text(_(u8"急停: %s").c_str(), ele_main.MotionStop ? "YES" : "NO");
ImGui::Text(_(u8"伺服RDY状态: %s").c_str(), ele_main.ServoRDY ? "YES" : "NO");
ImGui::Text(_(u8"指令运行HOME_Done: %s").c_str(), ele_main.ServoHomeDone ? "YES" : "NO");
ImGui::Text(_(u8"指令运行RESET_Done: %s").c_str(), ele_main.ResetDone ? "YES" : "NO");
ImGui::Text(_(u8"伺服BUSY: %s").c_str(), ele_main.ServoBusy ? "YES" : "NO");
ImGui::Text(_(u8"伺服异常: %s").c_str(), ele_main.ServoException ? "YES" : "NO");
ImGui::Text(_(u8"可运行状态: %s").c_str(), ele_main.Runable ? "YES" : "NO");
ImGui::Text(_(u8"伺服异常字: %d").c_str(), ele_main.ExceptionCode); //轴伺服异常字_R
// ImGui::Text(_(u8"主轴伺服刹车: %s").c_str(), ele_main.ServoBreakOn ? "YES" : "NO");
// ImGui::Text(_(u8"主轴伺服绑定从轴: %s").c_str(), ele_main.BindSlaveOn ? "YES" : "NO");
// ImGui::Text(_(u8"主从轴已经绑定: %s").c_str(), ele_main.BindSlaveFinish ? "YES" : "NO");
ImGui::Text(_(u8"主轴伺服刹车: %s").c_str(), ele_main.ServoBreakOn ? "YES" : "NO");
ImGui::Text(_(u8"主轴伺服绑定从轴: %s").c_str(), ele_main.BindSlaveOn ? "YES" : "NO");
ImGui::Text(_(u8"主从轴已经绑定: %s").c_str(), ele_main.BindSlaveFinish ? "YES" : "NO");
// ImGui::Text(_(u8"轴位置: %.3f").c_str(), ele_main.Pos);
// ImGui::Text(_(u8"轴扭矩: %.3f").c_str(), ele_main.Torque);
// ImGui::EndGroup();
// ImGui::SameLine();
// ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical);
// ImGui::SameLine();
ImGui::Text(_(u8"轴位置: %.3f").c_str(), ele_main.Pos);
ImGui::Text(_(u8"轴扭矩: %.3f").c_str(), ele_main.Torque);
ImGui::EndGroup();
ImGui::SameLine();
ImGui::SeparatorEx(ImGuiSeparatorFlags_Vertical);
ImGui::SameLine();
// ImGui::BeginGroup();
// ImGui::Button(_(u8"电缸从轴").c_str(), ImVec2(200, 0));
// //ImGui::Text(_(u8"伺服使能:%s").c_str(), ele_slave.ServoOn ? "YES" : "NO");
// ImGui::Text(_(u8"伺服成立原点: %s").c_str(), ele_slave.ServoHomeIndexOn ? "YES" : "NO");
// ImGui::Text(_(u8"伺服复位: %s").c_str(), ele_slave.ServoReset ? "YES" : "NO");
// ImGui::Text(_(u8"相对上运动: %s").c_str(), ele_slave.MoveP ? "YES" : "NO");
// ImGui::Text(_(u8"相对下运动: %s").c_str(), ele_slave.MoveN ? "YES" : "NO");
// ImGui::Text(_(u8"上JOG: %s").c_str(), ele_slave.MovePContinue ? "YES" : "NO");
// ImGui::Text(_(u8"下JOG: %s").c_str(), ele_slave.MoveNContinue ? "YES" : "NO");
// ImGui::Text(_(u8"绝对值运动: %s").c_str(), ele_slave.MoveAbsPos ? "YES" : "NO");
// ImGui::Text(_(u8"急停: %s").c_str(), ele_slave.MotionStop ? "YES" : "NO");
// ImGui::Text(_(u8"伺服RDY状态: %s").c_str(), ele_slave.ServoRDY ? "YES" : "NO");
// ImGui::Text(_(u8"指令运行HOME_Done: %s").c_str(), ele_slave.ServoHomeDone ? "YES" : "NO");
// ImGui::Text(_(u8"指令运行RESET_Done: %s").c_str(), ele_slave.ResetDone ? "YES" : "NO");
// ImGui::Text(_(u8"伺服BUSY: %s").c_str(), ele_slave.ServoBusy ? "YES" : "NO");
// ImGui::Text(_(u8"伺服异常: %s").c_str(), ele_slave.ServoException ? "YES" : "NO");
// ImGui::Text(_(u8"可运行状态: %s").c_str(), ele_slave.Runable ? "YES" : "NO");
// ImGui::Text(_(u8"伺服异常字: %d").c_str(), ele_slave.ExceptionCode); //轴伺服异常字_R
ImGui::BeginGroup();
ImGui::Button(_(u8"电缸从轴").c_str(), ImVec2(200, 0));
//ImGui::Text(_(u8"伺服使能:%s").c_str(), ele_slave.ServoOn ? "YES" : "NO");
ImGui::Text(_(u8"伺服成立原点: %s").c_str(), ele_slave.ServoHomeIndexOn ? "YES" : "NO");
ImGui::Text(_(u8"伺服复位: %s").c_str(), ele_slave.ServoReset ? "YES" : "NO");
ImGui::Text(_(u8"相对上运动: %s").c_str(), ele_slave.MoveP ? "YES" : "NO");
ImGui::Text(_(u8"相对下运动: %s").c_str(), ele_slave.MoveN ? "YES" : "NO");
ImGui::Text(_(u8"上JOG: %s").c_str(), ele_slave.MovePContinue ? "YES" : "NO");
ImGui::Text(_(u8"下JOG: %s").c_str(), ele_slave.MoveNContinue ? "YES" : "NO");
ImGui::Text(_(u8"绝对值运动: %s").c_str(), ele_slave.MoveAbsPos ? "YES" : "NO");
ImGui::Text(_(u8"急停: %s").c_str(), ele_slave.MotionStop ? "YES" : "NO");
ImGui::Text(_(u8"伺服RDY状态: %s").c_str(), ele_slave.ServoRDY ? "YES" : "NO");
ImGui::Text(_(u8"指令运行HOME_Done: %s").c_str(), ele_slave.ServoHomeDone ? "YES" : "NO");
ImGui::Text(_(u8"指令运行RESET_Done: %s").c_str(), ele_slave.ResetDone ? "YES" : "NO");
ImGui::Text(_(u8"伺服BUSY: %s").c_str(), ele_slave.ServoBusy ? "YES" : "NO");
ImGui::Text(_(u8"伺服异常: %s").c_str(), ele_slave.ServoException ? "YES" : "NO");
ImGui::Text(_(u8"可运行状态: %s").c_str(), ele_slave.Runable ? "YES" : "NO");
ImGui::Text(_(u8"伺服异常字: %d").c_str(), ele_slave.ExceptionCode); //轴伺服异常字_R
// ImGui::Text(_(u8"主轴伺服刹车: %s").c_str(), ele_slave.ServoBreakOn ? "YES" : "NO");
// ImGui::Text(_(u8"主轴伺服绑定从轴: %s").c_str(), ele_slave.BindSlaveOn ? "YES" : "NO");
// ImGui::Text(_(u8"主从轴已经绑定: %s").c_str(), ele_slave.BindSlaveFinish ? "YES" : "NO");
ImGui::Text(_(u8"主轴伺服刹车: %s").c_str(), ele_slave.ServoBreakOn ? "YES" : "NO");
ImGui::Text(_(u8"主轴伺服绑定从轴: %s").c_str(), ele_slave.BindSlaveOn ? "YES" : "NO");
ImGui::Text(_(u8"主从轴已经绑定: %s").c_str(), ele_slave.BindSlaveFinish ? "YES" : "NO");
// ImGui::Text(_(u8"轴位置: %.3f").c_str(), ele_slave.Pos);
// ImGui::Text(_(u8"轴扭矩: %.3f").c_str(), ele_slave.Torque);
// ImGui::EndGroup();
// ImGui::EndTabItem();
//}
ImGui::Text(_(u8"轴位置: %.3f").c_str(), ele_slave.Pos);
ImGui::Text(_(u8"轴扭矩: %.3f").c_str(), ele_slave.Torque);
ImGui::EndGroup();
ImGui::EndTabItem();
}
//if (ImGui::BeginTabItem(_(u8"铺粉轴").c_str())) {
// AxisStateValue arm;
// m_Axis->m_Arm->GetState()->GetValue(arm);
// //ImGui::Text(_(u8"伺服使能:%s").c_str(), arm.ServoOn ? "YES" : "NO");
// ImGui::Text(_(u8"伺服成立原点: %s").c_str(), arm.ServoHomeIndexOn ? "YES" : "NO");
// ImGui::Text(_(u8"伺服复位: %s").c_str(), arm.ServoReset ? "YES" : "NO");
// ImGui::Text(_(u8"相对前运动: %s").c_str(), arm.MoveP ? "YES" : "NO");
// ImGui::Text(_(u8"相对后运动: %s").c_str(), arm.MoveN ? "YES" : "NO");
// ImGui::Text(_(u8"前JOG: %s").c_str(), arm.MovePContinue ? "YES" : "NO");
// ImGui::Text(_(u8"后JOG: %s").c_str(), arm.MoveNContinue ? "YES" : "NO");
// ImGui::Text(_(u8"绝对值运动: %s").c_str(), arm.MoveAbsPos ? "YES" : "NO");
// ImGui::Text(_(u8"急停: %s").c_str(), arm.MotionStop ? "YES" : "NO");
// ImGui::Text(_(u8"伺服RDY状态: %s").c_str(), arm.ServoRDY ? "YES" : "NO");
// ImGui::Text(_(u8"指令运行HOME_Done: %s").c_str(), arm.ServoHomeDone ? "YES" : "NO");
// ImGui::Text(_(u8"指令运行RESET_Done: %s").c_str(), arm.ResetDone ? "YES" : "NO");
// ImGui::Text(_(u8"伺服BUSY: %s").c_str(), arm.ServoBusy ? "YES" : "NO");
// ImGui::Text(_(u8"伺服异常: %s").c_str(), arm.ServoException ? "YES" : "NO");
// ImGui::Text(_(u8"可运行状态: %s").c_str(), arm.Runable ? "YES" : "NO");
// ImGui::Text(_(u8"伺服异常字: %d").c_str(), arm.ExceptionCode); //轴伺服异常字_R
// ImGui::Text(_(u8"轴位置: %.3f").c_str(), arm.Pos);
// ImGui::Text(_(u8"轴扭矩: %.3f").c_str(), arm.Torque);
// ImGui::EndTabItem();
//}
if (ImGui::BeginTabItem(_(u8"铺粉轴").c_str())) {
AxisStateValue arm;
m_Axis->m_Arm->GetState()->GetValue(arm);
//ImGui::Text(_(u8"伺服使能:%s").c_str(), arm.ServoOn ? "YES" : "NO");
ImGui::Text(_(u8"伺服成立原点: %s").c_str(), arm.ServoHomeIndexOn ? "YES" : "NO");
ImGui::Text(_(u8"伺服复位: %s").c_str(), arm.ServoReset ? "YES" : "NO");
ImGui::Text(_(u8"相对前运动: %s").c_str(), arm.MoveP ? "YES" : "NO");
ImGui::Text(_(u8"相对后运动: %s").c_str(), arm.MoveN ? "YES" : "NO");
ImGui::Text(_(u8"前JOG: %s").c_str(), arm.MovePContinue ? "YES" : "NO");
ImGui::Text(_(u8"后JOG: %s").c_str(), arm.MoveNContinue ? "YES" : "NO");
ImGui::Text(_(u8"绝对值运动: %s").c_str(), arm.MoveAbsPos ? "YES" : "NO");
ImGui::Text(_(u8"急停: %s").c_str(), arm.MotionStop ? "YES" : "NO");
ImGui::Text(_(u8"伺服RDY状态: %s").c_str(), arm.ServoRDY ? "YES" : "NO");
ImGui::Text(_(u8"指令运行HOME_Done: %s").c_str(), arm.ServoHomeDone ? "YES" : "NO");
ImGui::Text(_(u8"指令运行RESET_Done: %s").c_str(), arm.ResetDone ? "YES" : "NO");
ImGui::Text(_(u8"伺服BUSY: %s").c_str(), arm.ServoBusy ? "YES" : "NO");
ImGui::Text(_(u8"伺服异常: %s").c_str(), arm.ServoException ? "YES" : "NO");
ImGui::Text(_(u8"可运行状态: %s").c_str(), arm.Runable ? "YES" : "NO");
ImGui::Text(_(u8"伺服异常字: %d").c_str(), arm.ExceptionCode); //轴伺服异常字_R
ImGui::Text(_(u8"轴位置: %.3f").c_str(), arm.Pos);
ImGui::Text(_(u8"轴扭矩: %.3f").c_str(), arm.Torque);
ImGui::EndTabItem();
}
//if (ImGui::BeginTabItem(_(u8"移载轴").c_str())) {
// AxisStateValue load;
// m_Axis->m_Load->GetState()->GetValue(load);
// //ImGui::Text(_(u8"伺服使能:%s").c_str(), load.ServoOn ? "YES" : "NO");
// ImGui::Text(_(u8"伺服成立原点: %s").c_str(), load.ServoHomeIndexOn ? "YES" : "NO");
// ImGui::Text(_(u8"伺服复位: %s").c_str(), load.ServoReset ? "YES" : "NO");
// ImGui::Text(_(u8"相对右运动: %s").c_str(), load.MoveP ? "YES" : "NO");
// ImGui::Text(_(u8"相对左运动: %s").c_str(), load.MoveN ? "YES" : "NO");
// ImGui::Text(_(u8"右JOG: %s").c_str(), load.MovePContinue ? "YES" : "NO");
// ImGui::Text(_(u8"左JOG: %s").c_str(), load.MoveNContinue ? "YES" : "NO");
// ImGui::Text(_(u8"绝对值运动: %s").c_str(), load.MoveAbsPos ? "YES" : "NO");
// ImGui::Text(_(u8"急停: %s").c_str(), load.MotionStop ? "YES" : "NO");
// ImGui::Text(_(u8"伺服RDY状态: %s").c_str(), load.ServoRDY ? "YES" : "NO");
// ImGui::Text(_(u8"指令运行HOME_Done: %s").c_str(), load.ServoHomeDone ? "YES" : "NO");
// ImGui::Text(_(u8"指令运行RESET_Done: %s").c_str(), load.ResetDone ? "YES" : "NO");
// ImGui::Text(_(u8"伺服BUSY: %s").c_str(), load.ServoBusy ? "YES" : "NO");
// ImGui::Text(_(u8"伺服异常: %s").c_str(), load.ServoException ? "YES" : "NO");
// ImGui::Text(_(u8"可运行状态: %s").c_str(), load.Runable ? "YES" : "NO");
// ImGui::Text(_(u8"伺服异常字: %d").c_str(), load.ExceptionCode); //轴伺服异常字_R
// ImGui::Text(_(u8"轴位置: %.3f").c_str(), load.Pos);
// ImGui::Text(_(u8"轴扭矩: %.3f").c_str(), load.Torque);
// ImGui::EndTabItem();
//}
if (ImGui::BeginTabItem(_(u8"移载轴").c_str())) {
AxisStateValue load;
m_Axis->m_Load->GetState()->GetValue(load);
//ImGui::Text(_(u8"伺服使能:%s").c_str(), load.ServoOn ? "YES" : "NO");
ImGui::Text(_(u8"伺服成立原点: %s").c_str(), load.ServoHomeIndexOn ? "YES" : "NO");
ImGui::Text(_(u8"伺服复位: %s").c_str(), load.ServoReset ? "YES" : "NO");
ImGui::Text(_(u8"相对右运动: %s").c_str(), load.MoveP ? "YES" : "NO");
ImGui::Text(_(u8"相对左运动: %s").c_str(), load.MoveN ? "YES" : "NO");
ImGui::Text(_(u8"右JOG: %s").c_str(), load.MovePContinue ? "YES" : "NO");
ImGui::Text(_(u8"左JOG: %s").c_str(), load.MoveNContinue ? "YES" : "NO");
ImGui::Text(_(u8"绝对值运动: %s").c_str(), load.MoveAbsPos ? "YES" : "NO");
ImGui::Text(_(u8"急停: %s").c_str(), load.MotionStop ? "YES" : "NO");
ImGui::Text(_(u8"伺服RDY状态: %s").c_str(), load.ServoRDY ? "YES" : "NO");
ImGui::Text(_(u8"指令运行HOME_Done: %s").c_str(), load.ServoHomeDone ? "YES" : "NO");
ImGui::Text(_(u8"指令运行RESET_Done: %s").c_str(), load.ResetDone ? "YES" : "NO");
ImGui::Text(_(u8"伺服BUSY: %s").c_str(), load.ServoBusy ? "YES" : "NO");
ImGui::Text(_(u8"伺服异常: %s").c_str(), load.ServoException ? "YES" : "NO");
ImGui::Text(_(u8"可运行状态: %s").c_str(), load.Runable ? "YES" : "NO");
ImGui::Text(_(u8"伺服异常字: %d").c_str(), load.ExceptionCode); //轴伺服异常字_R
ImGui::Text(_(u8"轴位置: %.3f").c_str(), load.Pos);
ImGui::Text(_(u8"轴扭矩: %.3f").c_str(), load.Torque);
ImGui::EndTabItem();
}
//if (ImGui::BeginTabItem(_(u8"供粉轴").c_str())) {
// AxisStateValue supply;
// m_Axis->m_Supply->GetState()->GetValue(supply);
// //ImGui::Text(_(u8"伺服使能:%s").c_str(), supply.ServoOn ? "YES" : "NO");
// ImGui::Text(_(u8"伺服成立原点: %s").c_str(), supply.ServoHomeIndexOn ? "YES" : "NO");
// ImGui::Text(_(u8"伺服复位: %s").c_str(), supply.ServoReset ? "YES" : "NO");
// ImGui::Text(_(u8"相对右运动: %s").c_str(), supply.MoveP ? "YES" : "NO");
// ImGui::Text(_(u8"相对左运动: %s").c_str(), supply.MoveN ? "YES" : "NO");
// ImGui::Text(_(u8"右JOG: %s").c_str(), supply.MovePContinue ? "YES" : "NO");
// ImGui::Text(_(u8"左JOG: %s").c_str(), supply.MoveNContinue ? "YES" : "NO");
// ImGui::Text(_(u8"绝对值运动: %s").c_str(), supply.MoveAbsPos ? "YES" : "NO");
// ImGui::Text(_(u8"急停: %s").c_str(), supply.MotionStop ? "YES" : "NO");
// ImGui::Text(_(u8"伺服RDY状态: %s").c_str(), supply.ServoRDY ? "YES" : "NO");
// ImGui::Text(_(u8"指令运行HOME_Done: %s").c_str(), supply.ServoHomeDone ? "YES" : "NO");
// ImGui::Text(_(u8"指令运行RESET_Done: %s").c_str(), supply.ResetDone ? "YES" : "NO");
// ImGui::Text(_(u8"伺服BUSY: %s").c_str(), supply.ServoBusy ? "YES" : "NO");
// ImGui::Text(_(u8"伺服异常: %s").c_str(), supply.ServoException ? "YES" : "NO");
// ImGui::Text(_(u8"可运行状态: %s").c_str(), supply.Runable ? "YES" : "NO");
// ImGui::Text(_(u8"伺服异常字: %d").c_str(), supply.ExceptionCode); //轴伺服异常字_R
// ImGui::Text(_(u8"轴位置: %.3f").c_str(), supply.Pos);
// ImGui::Text(_(u8"轴扭矩: %.3f").c_str(), supply.Torque);
// ImGui::EndTabItem();
//}
if (ImGui::BeginTabItem(_(u8"供粉轴").c_str())) {
AxisStateValue supply;
m_Axis->m_Supply->GetState()->GetValue(supply);
//ImGui::Text(_(u8"伺服使能:%s").c_str(), supply.ServoOn ? "YES" : "NO");
ImGui::Text(_(u8"伺服成立原点: %s").c_str(), supply.ServoHomeIndexOn ? "YES" : "NO");
ImGui::Text(_(u8"伺服复位: %s").c_str(), supply.ServoReset ? "YES" : "NO");
ImGui::Text(_(u8"相对右运动: %s").c_str(), supply.MoveP ? "YES" : "NO");
ImGui::Text(_(u8"相对左运动: %s").c_str(), supply.MoveN ? "YES" : "NO");
ImGui::Text(_(u8"右JOG: %s").c_str(), supply.MovePContinue ? "YES" : "NO");
ImGui::Text(_(u8"左JOG: %s").c_str(), supply.MoveNContinue ? "YES" : "NO");
ImGui::Text(_(u8"绝对值运动: %s").c_str(), supply.MoveAbsPos ? "YES" : "NO");
ImGui::Text(_(u8"急停: %s").c_str(), supply.MotionStop ? "YES" : "NO");
ImGui::Text(_(u8"伺服RDY状态: %s").c_str(), supply.ServoRDY ? "YES" : "NO");
ImGui::Text(_(u8"指令运行HOME_Done: %s").c_str(), supply.ServoHomeDone ? "YES" : "NO");
ImGui::Text(_(u8"指令运行RESET_Done: %s").c_str(), supply.ResetDone ? "YES" : "NO");
ImGui::Text(_(u8"伺服BUSY: %s").c_str(), supply.ServoBusy ? "YES" : "NO");
ImGui::Text(_(u8"伺服异常: %s").c_str(), supply.ServoException ? "YES" : "NO");
ImGui::Text(_(u8"可运行状态: %s").c_str(), supply.Runable ? "YES" : "NO");
ImGui::Text(_(u8"伺服异常字: %d").c_str(), supply.ExceptionCode); //轴伺服异常字_R
ImGui::Text(_(u8"轴位置: %.3f").c_str(), supply.Pos);
ImGui::Text(_(u8"轴扭矩: %.3f").c_str(), supply.Torque);
ImGui::EndTabItem();
}
ImGui::EndTabBar();
ImGui::End();
@ -2835,11 +2836,9 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
static bool continue_move = false;
//CoverCfg* coverCfg = m_CoverCfg;
MainAxisState* pMold = m_Axis->m_Mold->GetState();
//MainAxisState* ele = m_Axis->m_Clean->GetState();
AxisState* pLoad = m_Axis->m_Load->GetState();
AxisState* pArm = m_Axis->m_Arm->GetState();
AxisState* pSupply = m_Axis->m_Supply->GetState();
MainAxisState* mold = m_Axis->m_Mold->GetState();
AxisState* load = m_Axis->m_Load->GetState();
AxisState* arm = m_Axis->m_Arm->GetState();
AxisConfig* armCfg = m_Axis->m_Arm->GetConfig();
AxisConfig::CfgValue armCfgVal;
@ -2903,7 +2902,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
if ((g_Admin > USER_ADMIN)) {
ImGui::Dummy(ImVec2(0, 20));
if (pMold->m_MoveAbsPos)
if (mold->m_MoveAbsPos)
{
if (m_SysParamWrapper->m_MoldAbsTestPos->GetValue() == 0)
{
@ -2931,7 +2930,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
ImGui::SameLine();
if (pMold->m_MoveAbsPos)
if (mold->m_MoveAbsPos)
{
if (m_SysParamWrapper->m_MoldAbsTestPos->GetValue() == 3)
{
@ -2957,7 +2956,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"打印轴移动到底座缸平面位").c_str());
}
ImGui::SameLine();
if (pMold->m_MoveAbsPos)
if (mold->m_MoveAbsPos)
{
if (m_SysParamWrapper->m_MoldAbsTestPos->GetValue() == 4)
{
@ -3012,7 +3011,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
if (g_Admin > USER_ADMIN) {
ImGui::Dummy(ImVec2(0, 20));
if (pLoad->m_MoveAbsPos)
if (load->m_MoveAbsPos)
{
if (m_SysParamWrapper->m_LoadAxisAbsTestPos->GetValue() == 3)
{
@ -3040,7 +3039,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
}
ImGui::SameLine();
if (pLoad->m_MoveAbsPos)
if (load->m_MoveAbsPos)
{
if (m_SysParamWrapper->m_LoadAxisAbsTestPos->GetValue() == 1)
{
@ -3067,7 +3066,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"移载轴移动到轨道清粉位").c_str());
}
ImGui::SameLine();
if (pLoad->m_MoveAbsPos)
if (load->m_MoveAbsPos)
{
if (m_SysParamWrapper->m_LoadAxisAbsTestPos->GetValue() == 0)
{
@ -3123,7 +3122,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
if (g_Admin > USER_ADMIN) {
ImGui::Dummy(ImVec2(0, 20));
if (pArm->m_MoveAbsPos)
if (arm->m_MoveAbsPos)
{
if (m_SysParamWrapper->m_ArmAbsTestPos->GetValue() == 0)
{
@ -3150,7 +3149,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
if (ImGui::IsItemHovered())ImGui::SetTooltip(_(u8"铺粉轴移动到接粉位").c_str());
}
ImGui::SameLine();
if (pArm->m_MoveAbsPos)
if (arm->m_MoveAbsPos)
{
if (m_SysParamWrapper->m_ArmAbsTestPos->GetValue() == 1)
{
@ -3625,7 +3624,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
ImGui::PushID("LoadMovePointLeft");
if (ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::LEFT_ARROW_GREEN]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) {
m_Axis->m_Load->MovPoint(AxisConfig::ActiveDirect::LEFT);
g_log->TraceInfo(_(u8"移载[%.3f]往左移动%.3f").c_str(), pLoad->GetShowPos(), loadCfgVal.rel);
g_log->TraceInfo(_(u8"移载[%.3f]往左移动%.3f").c_str(), load->GetShowPos(), loadCfgVal.rel);
}
ImGui::PopID();
if (ImGui::IsItemHovered()) {
@ -3634,7 +3633,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
if (kb == GTS_AXIS_ID_LOAD && !continue_move) {
if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_LeftArrow), false)) {
m_Axis->m_Load->MovPoint(AxisConfig::ActiveDirect::LEFT);
g_log->TraceInfo(_(u8"移载[%.3f]往左移动%.3f").c_str(), pLoad->GetShowPos(), loadCfgVal.rel);
g_log->TraceInfo(_(u8"移载[%.3f]往左移动%.3f").c_str(), load->GetShowPos(), loadCfgVal.rel);
}
}
}
@ -3653,7 +3652,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
if (ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::RIGHT_ARROW_GREEN]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0))
{
m_Axis->m_Load->MovPoint(AxisConfig::ActiveDirect::RIGHT);
g_log->TraceInfo(_(u8"移载[%.3f]往右移动%.3f").c_str(), pLoad->GetShowPos(), loadCfgVal.rel);
g_log->TraceInfo(_(u8"移载[%.3f]往右移动%.3f").c_str(), load->GetShowPos(), loadCfgVal.rel);
}
ImGui::PopID();
if (ImGui::IsItemHovered()) {
@ -3662,7 +3661,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
if (kb == GTS_AXIS_ID_LOAD && !continue_move) {
if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_RightArrow), false)) {
m_Axis->m_Load->MovPoint(AxisConfig::ActiveDirect::RIGHT);
g_log->TraceInfo(_(u8"移载[%.3f]往右移动%.3f").c_str(), pLoad->GetShowPos(), loadCfgVal.rel);
g_log->TraceInfo(_(u8"移载[%.3f]往右移动%.3f").c_str(), load->GetShowPos(), loadCfgVal.rel);
}
}
}
@ -3679,7 +3678,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
if (!m_PowderAssist.isLoadLeftRepeat) {
m_PowderAssist.isLoadLeftRepeat = true;
m_Axis->m_Load->MovLimitStart(AxisConfig::ActiveDirect::LEFT);
g_log->TraceInfo(_(u8"移载[%.3f]往左连续移动").c_str(), pLoad->GetShowPos());
g_log->TraceInfo(_(u8"移载[%.3f]往左连续移动").c_str(), load->GetShowPos());
}
}
else {
@ -3709,7 +3708,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_LeftArrow), false)) {
if (IsLoadAxisCanMoveLeft()) {
m_Axis->m_Load->MovLimitStart(AxisConfig::ActiveDirect::LEFT);
g_log->TraceInfo(_(u8"移载[%.3f]往左连续移动").c_str(), pLoad->GetShowPos());
g_log->TraceInfo(_(u8"移载[%.3f]往左连续移动").c_str(), load->GetShowPos());
}
else {
g_Toast->AddToast(new ToastBean(GetLoadAxisCanotMoveLeftInfo(), 5000, Toast::COLOR_ORANGE));
@ -3727,7 +3726,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
if (!m_PowderAssist.isLoadRightRepeat) {
m_PowderAssist.isLoadRightRepeat = true;
m_Axis->m_Load->MovLimitStart(AxisConfig::ActiveDirect::RIGHT);
g_log->TraceInfo(_(u8"移载[%.3f]往右连续移动").c_str(), pLoad->GetShowPos());
g_log->TraceInfo(_(u8"移载[%.3f]往右连续移动").c_str(), load->GetShowPos());
}
}
@ -3758,7 +3757,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
{
if (IsLoadAxisCanMoveRight()) {
m_Axis->m_Load->MovLimitStart(AxisConfig::ActiveDirect::RIGHT);
g_log->TraceInfo(_(u8"移载[%.3f]往右连续移动").c_str(), pLoad->GetShowPos());
g_log->TraceInfo(_(u8"移载[%.3f]往右连续移动").c_str(), load->GetShowPos());
}
else {
g_Toast->AddToast(new ToastBean(GetLoadAxisCanotMoveRightInfo(), 5000, Toast::COLOR_ORANGE));
@ -3771,7 +3770,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
}
ImGui::PushID("load_to_zero");
if (ImGui::ImageButton(chartletManager->m_ToZero->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0))
pLoad->SetZeroPos();
load->SetZeroPos();
ImGui::PopID();
if (ImGui::IsItemHovered()) {
ImGui::SetTooltip(_(u8"移栽轴位置清零").c_str());
@ -3785,9 +3784,9 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
//ImGui::Dummy(ImVec2(500,1));
ImGui::BeginChild("SupplyCtrl", ImVec2(500, 160));
ImGui::BeginGroup();
ImGui::Text(_(u8"移栽轴:%.3f").c_str(), pLoad->GetShowPos() / 1000.0f);
ImGui::Text(_(u8"成型缸:%.3f").c_str(), pMold->GetShowPos() / 1000.0f);
ImGui::Text(_(u8"铺粉臂:%.3f").c_str(), pArm->GetShowPos() / 1000.0f);
ImGui::Text(_(u8"移栽轴:%.3f").c_str(), load->GetShowPos() / 1000.0f);
ImGui::Text(_(u8"成型缸:%.3f").c_str(), mold->GetShowPos() / 1000.0f);
ImGui::Text(_(u8"铺粉臂:%.3f").c_str(), arm->GetShowPos() / 1000.0f);
ImGui::EndGroup();
ImGui::SameLine(350);
ImGui::BeginGroup();
@ -3843,11 +3842,11 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
MotionDrawAssist assit;
AxisStateValue loadvalue;
pLoad->GetValue(loadvalue);
AxisStateValue mold;
pMold->GetValue(mold);
AxisStateValue arm;
pArm->GetValue(arm);
load->GetValue(loadvalue);
AxisStateValue moldValue;
mold->GetValue(moldValue);
AxisStateValue armValue;
arm->GetValue(armValue);
AxisData axisData;
m_SysParamWrapper->GetAxisData(axisData);
float loadposdif = axisData.LoadAxisTrackCleanPos - axisData.LoadAxisTrackPrintPos;
@ -3866,8 +3865,8 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
}*/
assit.moldRpos = mold.RPos>1.0f ? 1.0f : mold.RPos;
assit.armRPos = arm.RPos;
assit.moldRpos = moldValue.RPos>1.0f ? 1.0f : moldValue.RPos;
assit.armRPos = armValue.RPos;
assit.isCleanPressure = true;
assit.isPrintPressure = true;
assit.isPrintMoldSupprt = false;
@ -4024,7 +4023,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
ImGui::PushID("arm_to_zero");
if (ImGui::ImageButton(chartletManager->m_ToZero->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0))
pArm->SetZeroPos();
arm->SetZeroPos();
ImGui::PopID();
if (ImGui::IsItemHovered()) {
ImGui::SetTooltip(_(u8"铺粉轴位置清零").c_str());
@ -4048,7 +4047,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
ImGui::PushID("MoldMovePointUp");
if (ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::UP_ARROW_GREEN]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0)) {
m_Axis->m_Mold->MovPoint(AxisConfig::ActiveDirect::UP);
g_log->TraceInfo(_(u8"升降[%.3f]往上移动%.3f").c_str(), pMold->GetShowPos(), moldCfgVal.rel);
g_log->TraceInfo(_(u8"升降[%.3f]往上移动%.3f").c_str(), mold->GetShowPos(), moldCfgVal.rel);
}
ImGui::PopID();
if (ImGui::IsItemHovered()) {
@ -4057,7 +4056,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
if (kb == GTS_AXIS_ID_MOLD && !continue_move) {
if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_UpArrow), false)) {
m_Axis->m_Mold->MovPoint(AxisConfig::ActiveDirect::UP);
g_log->TraceInfo(_(u8"升降[%.3f]往上移动%.3f").c_str(), pMold->GetShowPos(), moldCfgVal.rel);
g_log->TraceInfo(_(u8"升降[%.3f]往上移动%.3f").c_str(), mold->GetShowPos(), moldCfgVal.rel);
}
}
}
@ -4075,7 +4074,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
if (!m_PowderAssist.isMoldUpRepeat) {
m_PowderAssist.isMoldUpRepeat = true;
m_Axis->m_Mold->MovLimitStart(AxisConfig::ActiveDirect::UP);
g_log->TraceInfo(_(u8"升降[%.3f]往上连续移动").c_str(), pMold->GetShowPos());
g_log->TraceInfo(_(u8"升降[%.3f]往上连续移动").c_str(), mold->GetShowPos());
}
}
else {
@ -4104,7 +4103,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_UpArrow), false)) {
if (IsMoldCanMoveUp()) {
m_Axis->m_Mold->MovLimitStart(AxisConfig::ActiveDirect::UP);
g_log->TraceInfo(_(u8"升降[%.3f]往上连续移动").c_str(), pMold->GetShowPos());
g_log->TraceInfo(_(u8"升降[%.3f]往上连续移动").c_str(), mold->GetShowPos());
}
else {
g_Toast->AddToast(new ToastBean(GetMoldCanotUpInfo(), 5000, Toast::COLOR_ORANGE));
@ -4119,7 +4118,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
if (ImGui::ImageButton(chartletManager->m_TextureMap[ChartletManager::DOWN_ARROW_GREEN]->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0))
{
m_Axis->m_Mold->MovPoint(AxisConfig::ActiveDirect::DOWN);
g_log->TraceInfo(_(u8"升降[%.3f]往下移动%.3f").c_str(), pMold->GetShowPos(), moldCfgVal.rel);
g_log->TraceInfo(_(u8"升降[%.3f]往下移动%.3f").c_str(), mold->GetShowPos(), moldCfgVal.rel);
}
ImGui::PopID();
if (ImGui::IsItemHovered()) {
@ -4128,7 +4127,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
if (kb == GTS_AXIS_ID_MOLD && !continue_move) {
if (ImGui::IsWindowFocused() && ImGui::IsKeyPressed(ImGui::GetKeyIndex(ImGuiKey_DownArrow), false)) {
m_Axis->m_Mold->MovPoint(AxisConfig::ActiveDirect::DOWN);
g_log->TraceInfo(_(u8"升降[%.3f]往下移动%.3f").c_str(), pMold->GetShowPos(), moldCfgVal.rel);
g_log->TraceInfo(_(u8"升降[%.3f]往下移动%.3f").c_str(), mold->GetShowPos(), moldCfgVal.rel);
}
}
}
@ -4148,7 +4147,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
if (!m_PowderAssist.isMoldDownRepeat) {
m_PowderAssist.isMoldDownRepeat = true;
m_Axis->m_Mold->MovLimitStart(AxisConfig::ActiveDirect::DOWN);
g_log->TraceInfo(_(u8"升降[%.3f]往下连续移动").c_str(), pMold->GetShowPos());
g_log->TraceInfo(_(u8"升降[%.3f]往下连续移动").c_str(), mold->GetShowPos());
}
}
else {
@ -4179,7 +4178,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
{
if (IsMoldCanMoveDown()) {
m_Axis->m_Mold->MovLimitStart(AxisConfig::ActiveDirect::DOWN);
g_log->TraceInfo(_(u8"升降[%.3f]往连续下移动").c_str(), pMold->GetShowPos());
g_log->TraceInfo(_(u8"升降[%.3f]往连续下移动").c_str(), mold->GetShowPos());
}
else
{
@ -4194,7 +4193,7 @@ void HBD1200::DrawPowderCtrl(bool* winShow)
}
ImGui::PushID("mold_to_zero");
if (ImGui::ImageButton(chartletManager->m_ToZero->GetTex(), ImVec2(60, 60), ImVec2(0, 0), ImVec2(1, 1), 0))
pMold->SetZeroPos();
mold->SetZeroPos();
ImGui::PopID();
if (ImGui::IsItemHovered()) {
ImGui::SetTooltip(_(u8"成型缸位置清零").c_str());

File diff suppressed because it is too large Load Diff

View File

@ -85,7 +85,7 @@ public:
void InitSysParam(SysParamWrapper* spw, void* cc);
//void InitPLCCommand(vector<S7Command*>& vecs);
//void GetAlarmState(SignalState& signalState);
//bool CheckPrintMoldReady();
bool CheckPrintMoldReady();
virtual void CheckIO();
private:
/*static*/ void CheckIO_V0(/*vector<string>&ins, IOCfgWrapper* iocfgWrapper, string str, int type*/);

File diff suppressed because it is too large Load Diff

View File

@ -88,16 +88,14 @@ public:
void InitSysParam(SysParamWrapper* spw, void* cc);
//void InitPLCCommand(vector<S7Command*>& vecs);
//void GetAlarmState(SignalState& signalState);
//bool CheckPrintMoldReady();
//bool CheckPrintHigh(float jobhigh);
bool CheckPrintMoldReady();
bool CheckPrintHigh(float jobhigh);
virtual void CheckIO();
private:
/*static*/ void CheckIO_V0(/*vector<string>&ins, IOCfgWrapper* iocfgWrapper, string str, int type*/);
//static void ProcReadPLC(void* pobject, Command* pcommand);
//static void ProcReadPLCData(void* pobject, Command* pcommand);
void LoadInRun() {}
void LoadOutRun() {}
bool IsLoadAxisCanMoveLeft();
string GetLoadAxisCanotMoveLeftInfo();

File diff suppressed because it is too large Load Diff

View File

@ -73,7 +73,7 @@ public:
void InitSysParam(SysParamWrapper* spw, void* cc);
//void InitPLCCommand(vector<S7Command*>& vecs);
//void GetAlarmState(SignalState& signalState);
//bool CheckPrintMoldReady();
bool CheckPrintMoldReady();
virtual void CheckIO();
private:
/*static*/ void CheckIO_V0(/*vector<string>&ins, IOCfgWrapper* iocfgWrapper, string str, int mtype*/);

View File

@ -52,13 +52,13 @@ public:
void Update(const ReadData& rd);
protected:
int GetLoadInResult() {
int rel = 0;
EnterCriticalSection(&m_LoadCS);
rel = m_LoadInResut;
LeaveCriticalSection(&m_LoadCS);
return rel;
}
//int GetLoadInResult() {
// int rel = 0;
// EnterCriticalSection(&m_LoadCS);
// rel = m_LoadInResut;
// LeaveCriticalSection(&m_LoadCS);
// return rel;
//}
//int GetLoadOutResult() {
// int rel = 0;
// EnterCriticalSection(&m_LoadCS);

View File

@ -785,7 +785,7 @@ class AxisRecordWrapper {
public:
AxisRecordWrapper() {}
~AxisRecordWrapper() {}
void Init(void* cc);
void Init(void* cc = nullptr);
public:
SysParamBool* m_PrintMoldSafePosRecord; //打印升降轴安全位记录
SysParamBool* m_MoldCylinderSeparatePosRecord; //打印升降与缸体分离位记录_RW

View File

@ -36,8 +36,10 @@ bool Controller::Init() {
SysParam::SInit();
m_StateCtrlWrapper = new StateCtrlWrapper();
m_StateCtrlWrapper->Init();
m_SysParamWrapper = new SysParamWrapper();
m_AxisRecordWrapper = new AxisRecordWrapper();
m_AxisRecordWrapper->Init();
m_SignalStateWrapper = new SignalStateWrapper();
ConfigManager::Instance()->Init();
m_Machine = ConfigManager::Instance()->GetMachine();

View File

@ -680,8 +680,9 @@ void UIWin::DrawMain()
{
ImGui::Begin("HBDSystem1000", NULL, ImGuiWindowFlags_MenuBar);
// Menu Begin
bool enableFlag = false;
bool enableFlag = true;
bool exitStopLaserFlag = false;
if (/*m_Controller->m_ScannerCtrl->IsStandBy() ||*/ g_Admin == ADMIN || g_Admin == USER_ADMIN) {
enableFlag = true;
}

View File

@ -950,7 +950,7 @@ void IO_1000_V0::Update(unsigned char* arr)
doorState[1] = m_SafeDoorClose2->m_IsActive;
doorState[2] = m_SafeDoorClose3->m_IsActive;
doorState[3] = m_PrintDoorLock->m_IsActive;
m_SafeDoorState = doorState.to_ulong();
m_SafeDoorState = (char)doorState.to_ulong();
}
void IO_1000_V1::Init(map<string, IOCfg *>& ioCfgMap)
@ -1311,7 +1311,7 @@ void IO_1000_V1::Update(unsigned char* arr)
doorState[1] = m_SafeDoorClose2->m_IsActive;
doorState[2] = m_SafeDoorClose3->m_IsActive;
doorState[3] = m_PrintDoorLock->m_IsActive;
m_SafeDoorState = doorState.to_ulong();
m_SafeDoorState = (char)doorState.to_ulong();
}
void IO_1000_V2::Init(map<string, IOCfg *>& ioCfgMap)
@ -1705,7 +1705,7 @@ void IO_1000_V2::Update(unsigned char* arr) {
doorState[1] = m_SafeDoorClose2->m_IsActive;
doorState[2] = m_SafeDoorClose3->m_IsActive;
doorState[3] = m_PrintDoorLock->m_IsActive;
m_SafeDoorState = doorState.to_ulong();
m_SafeDoorState = (char)doorState.to_ulong();
}
void IO_1000_V3::Init(map<string, IOCfg *>& ioCfgMap)
@ -2095,7 +2095,7 @@ void IO_1000_V3::Update(unsigned char* arr) {
doorState[1] = m_SafeDoorClose2->m_IsActive;
doorState[2] = m_SafeDoorClose3->m_IsActive;
doorState[3] = m_PrintDoorLock->m_IsActive;
m_SafeDoorState = doorState.to_ulong();
m_SafeDoorState = (char)doorState.to_ulong();
}
void IO_1000_V4::Init(map<string, IOCfg*>& ioCfgMap)
@ -2497,7 +2497,7 @@ void IO_1000_V4::Update(unsigned char* arr) {
doorState[1] = m_SafeDoorClose2->m_IsActive;
doorState[2] = m_SafeDoorClose3->m_IsActive;
doorState[3] = m_PrintDoorLock->m_IsActive;
m_SafeDoorState = doorState.to_ulong();
m_SafeDoorState = (char)doorState.to_ulong();
}
void IO_1500_V0::Init(map<string, IOCfg *>& ioCfgMap)
@ -2882,7 +2882,7 @@ void IO_1500_V0::Update(unsigned char* arr)
doorState[1] = m_SafeDoorClose2->m_IsActive;
doorState[2] = m_SafeDoorClose3->m_IsActive;
doorState[3] = m_PrintDoorLock->m_IsActive;
m_SafeDoorState = doorState.to_ulong();
m_SafeDoorState = (char)doorState.to_ulong();
}
void IO_1500_V1::Init(map<string, IOCfg *>& ioCfgMap)
@ -3232,7 +3232,7 @@ void IO_1500_V1::Update(unsigned char* arr)
doorState[1] = m_SafeDoorClose2->m_IsActive;
doorState[2] = m_SafeDoorClose3->m_IsActive;
doorState[3] = m_PrintDoorLock->m_IsActive;
m_SafeDoorState = doorState.to_ulong();
m_SafeDoorState = (char)doorState.to_ulong();
}
void IO_1200_V0::Init(map<string, IOCfg *>& ioCfgMap)
@ -3584,7 +3584,7 @@ void IO_1200_V0::Update(unsigned char* arr)
doorState[1] = m_SafeDoorClose2->m_IsActive;
doorState[2] = m_SafeDoorClose3->m_IsActive;
doorState[3] = m_PrintDoorLock->m_IsActive;
m_SafeDoorState = doorState.to_ulong();
m_SafeDoorState = (char)doorState.to_ulong();
}
void IO_E1000_V0::Init(map<string, IOCfg*>& ioCfgMap)
@ -3899,5 +3899,5 @@ void IO_E1000_V0::Update(unsigned char* arr)
bitset<8> doorState;
doorState.reset();
doorState[2] = m_PrintDoorLock->m_IsActive;
m_SafeDoorState = doorState.to_ulong();
m_SafeDoorState = (char)doorState.to_ulong();
}

View File

@ -34,6 +34,11 @@ Pos=636,381
Size=264,102
Collapsed=0
[Window][铺粉装置调试]
Pos=128,19
Size=1236,722
Collapsed=0
[Docking][Data]
DockSpace ID=0x0204CCDD Window=0xDEDC5B90 Pos=0,40 Size=1536,779 Split=X
DockNode ID=0x00000001 Parent=0x0204CCDD SizeRef=1178,779 CentralNode=1

Binary file not shown.