#include "Axis.h" #include "../config/ConfigManager.h" #include "../global.h" PLCAxis::PLCAxis(SysParamWrapper* params, StateCtrlWrapper* ctrl) { m_Mold = new AxisT(); m_MoldSlave = new AxisT(); m_Clean = new AxisT(); m_CleanSlave = new AxisT(); m_Arm = new AxisT(); m_Load = new AxisT(); m_Supply = new AxisT(); m_Ele= new AxisT(); m_EleSlave = new AxisT(); AxisConfig* ac = m_Mold->GetConfig(); ac->m_Speed = params->m_MoldMainManualSpeed; ac->m_Acc = params->m_MoldMainManualAcc; ac->m_Dec = params->m_MoldMainManualDec; ac->m_RefDistance = params->m_MoldMainManualRefDistance; ac->m_AbsPos = params->m_MoldMainManualAbsPos; m_Mold->GetState()->SetAxisCfg(ConfigManager::GetInstance()->GetMoldCfg()); ac = m_MoldSlave->GetConfig(); ac->m_Speed = params->m_MoldSlaveManualSpeed; ac->m_Acc = params->m_MoldSlaveManualAcc; ac->m_Dec = params->m_MoldSlaveManualDec; ac->m_RefDistance = params->m_MoldSlaveManualRefDistance; ac->m_AbsPos = params->m_MoldSlaveManualAbsPos; m_MoldSlave->GetState()->SetAxisCfg(ConfigManager::GetInstance()->GetMoldCfg()); ac = m_Clean->GetConfig(); ac->m_Speed = params->m_CleanMainManualSpeed; ac->m_Acc = params->m_CleanMainManualAcc; ac->m_Dec = params->m_CleanMainManualDec; ac->m_RefDistance = params->m_CleanMainManualRefDistance; ac->m_AbsPos = params->m_CleanMainManualAbsPos; m_Clean->GetState()->SetAxisCfg(ConfigManager::GetInstance()->GetCleanCfg()); ac = m_CleanSlave->GetConfig(); ac->m_Speed = params->m_CleanSlaveManualSpeed; ac->m_Acc = params->m_CleanSlaveManualAcc; ac->m_Dec = params->m_CleanSlaveManualDec; ac->m_RefDistance = params->m_CleanSlaveManualRefDistance; ac->m_AbsPos = params->m_CleanSlaveManualAbsPos; m_CleanSlave->GetState()->SetAxisCfg(ConfigManager::GetInstance()->GetCleanCfg()); ac = m_Ele->GetConfig(); ac->m_Speed = params->m_EleCylinderMainManualSpeed; ac->m_Acc = params->m_EleCylinderMainManualAcc; ac->m_Dec = params->m_EleCylinderMainManualDec; ac->m_RefDistance = params->m_EleCylinderMainManualRefDistance; ac->m_AbsPos = params->m_EleCylinderMainManualAbsPos; m_Ele->GetState()->SetAxisCfg(ConfigManager::GetInstance()->GetEleCfg()); ac = m_EleSlave->GetConfig(); ac->m_Speed = params->m_EleCylinderSlaveManualSpeed; ac->m_Acc = params->m_EleCylinderSlaveManualAcc; ac->m_Dec = params->m_EleCylinderSlaveManualDec; ac->m_RefDistance = params->m_EleCylinderSlaveManualRefDistance; ac->m_AbsPos = params->m_EleCylinderSlaveManualAbsPos; m_EleSlave->GetState()->SetAxisCfg(ConfigManager::GetInstance()->GetEleCfg()); ac = m_Arm->GetConfig(); ac->m_Speed = params->m_ArmManualSpeed; ac->m_Acc = params->m_ArmManualAcc; ac->m_Dec = params->m_ArmManualDec; ac->m_RefDistance = params->m_ArmManualRefDistance; ac->m_AbsPos = params->m_ArmManualAbsPos; m_Arm ->GetState()->SetAxisCfg(ConfigManager::GetInstance()->GetArmCfg()); ac = m_Load->GetConfig(); ac->m_Speed = params->m_LoadAxisManualSpeed; ac->m_Acc = params->m_LoadAxisManualAcc; ac->m_Dec = params->m_LoadAxisManualDec; ac->m_RefDistance = params->m_LoadAxisManualRefDistance; ac->m_AbsPos = params->m_LoadAxisManualAbsPos; m_Load->GetState()->SetAxisCfg( ConfigManager::GetInstance()->GetLoadCfg()); ac = m_Supply->GetConfig(); ac->m_Speed = params->m_SupplyManualSpeed; ac->m_Acc = params->m_SupplyManualAcc; ac->m_Dec = params->m_SupplyManualDec; ac->m_RefDistance = params->m_SupplyManualRefDistance; ac->m_AbsPos = params->m_SupplyManualAbsPos; m_Supply->GetState()->SetAxisCfg( ConfigManager::GetInstance()->GetSupplyCfg()); AxisCtrl* actrl = m_Mold->GetCtrl(); actrl->m_ServoOn = ctrl->m_MoldMainServoOn; actrl->m_ServoHomeIndexOn = ctrl->m_MoldMainServoHomeIndexOn; actrl->m_ServoReset = ctrl->m_MoldMainServoReset; actrl->m_MoveP = ctrl->m_MoldMainMoveUp; actrl->m_MoveN = ctrl->m_MoldMainMoveDown; actrl->m_MovePContinue = ctrl->m_MoldMainMoveUpContinue; actrl->m_MoveNContinue = ctrl->m_MoldMainMoveDownContinue; actrl->m_MoveAbsPos = ctrl->m_MoldMainMoveAbsPos; actrl->m_MotionStop = ctrl->m_MoldMainMotionStop; actrl = m_MoldSlave->GetCtrl(); actrl->m_ServoOn = ctrl->m_MoldSlaveServoOn; actrl->m_ServoHomeIndexOn = ctrl->m_MoldSlaveServoHomeIndexOn; actrl->m_ServoReset = ctrl->m_MoldSlaveServoReset; actrl->m_MoveP = ctrl->m_MoldSlaveMoveUp; actrl->m_MoveN = ctrl->m_MoldSlaveMoveDown; actrl->m_MovePContinue = ctrl->m_MoldSlaveMoveUpContinue; actrl->m_MoveNContinue = ctrl->m_MoldSlaveMoveDownContinue; actrl->m_MoveAbsPos = ctrl->m_MoldSlaveMoveAbsPos; actrl->m_MotionStop = ctrl->m_MoldSlaveMotionStop; actrl = m_Clean->GetCtrl(); actrl->m_ServoOn = ctrl->m_CleanMainServoOn; actrl->m_ServoHomeIndexOn = ctrl->m_CleanMainServoHomeIndexOn; actrl->m_ServoReset = ctrl->m_CleanMainServoReset; actrl->m_MoveP = ctrl->m_CleanMainMoveUp; actrl->m_MoveN = ctrl->m_CleanMainMoveDown; actrl->m_MovePContinue = ctrl->m_CleanMainMoveUpContinue; actrl->m_MoveNContinue = ctrl->m_CleanMainMoveDownContinue; actrl->m_MoveAbsPos = ctrl->m_CleanMainMoveAbsPos; actrl->m_MotionStop = ctrl->m_CleanMainMotionStop; actrl = m_CleanSlave->GetCtrl(); actrl->m_ServoOn = ctrl->m_CleanSlaveServoOn; actrl->m_ServoHomeIndexOn = ctrl->m_CleanSlaveServoHomeIndexOn; actrl->m_ServoReset = ctrl->m_CleanSlaveServoReset; actrl->m_MoveP = ctrl->m_CleanSlaveMoveUp; actrl->m_MoveN = ctrl->m_CleanSlaveMoveDown; actrl->m_MovePContinue = ctrl->m_CleanSlaveMoveUpContinue; actrl->m_MoveNContinue = ctrl->m_CleanSlaveMoveDownContinue; actrl->m_MoveAbsPos = ctrl->m_CleanSlaveMoveAbsPos; actrl->m_MotionStop = ctrl->m_CleanSlaveMotionStop; /*actrl = m_Ele->GetCtrl(); actrl->m_ServoOn = ctrl->m_EleCylinderMainServoOn; actrl->m_ServoHomeIndexOn = ctrl->m_EleCylinderMainServoHomeIndexOn; actrl->m_ServoReset = ctrl->m_EleCylinderMainServoReset; actrl->m_MoveP = ctrl->m_EleCylinderMainMoveUp; actrl->m_MoveN = ctrl->m_EleCylinderMainMoveDown; actrl->m_MovePContinue = ctrl->m_EleCylinderMainMoveUpContinue; actrl->m_MoveNContinue = ctrl->m_EleCylinderMainMoveDownContinue; actrl->m_MoveAbsPos = ctrl->m_EleCylinderMainMoveAbsPos; actrl->m_MotionStop = ctrl->m_EleCylinderMainMotionStop; actrl = m_EleSlave->GetCtrl(); actrl->m_ServoOn = ctrl->m_EleCylinderSlaveServoOn; actrl->m_ServoHomeIndexOn = ctrl->m_EleCylinderSlaveServoHomeIndexOn; actrl->m_ServoReset = ctrl->m_EleCylinderSlaveServoReset; actrl->m_MoveP = ctrl->m_EleCylinderSlaveMoveUp; actrl->m_MoveN = ctrl->m_EleCylinderSlaveMoveDown; actrl->m_MovePContinue = ctrl->m_EleCylinderSlaveMoveUpContinue; actrl->m_MoveNContinue = ctrl->m_EleCylinderSlaveMoveDownContinue; actrl->m_MoveAbsPos = ctrl->m_EleCylinderSlaveMoveAbsPos; actrl->m_MotionStop = ctrl->m_EleCylinderSlaveMotionStop; */ actrl = m_Arm->GetCtrl(); actrl->m_ServoOn = ctrl->m_ArmServoOn; actrl->m_ServoHomeIndexOn = ctrl->m_ArmServoHomeIndexOn; actrl->m_ServoReset = ctrl->m_ArmServoReset; actrl->m_MoveP = ctrl->m_ArmMoveFront; actrl->m_MoveN = ctrl->m_ArmMoveBack; actrl->m_MovePContinue = ctrl->m_ArmMoveFrontContinue; actrl->m_MoveNContinue = ctrl->m_ArmMoveBackContinue; actrl->m_MoveAbsPos = ctrl->m_ArmMoveAbsPos; actrl->m_MotionStop = ctrl->m_ArmMotionStop; actrl = m_Load->GetCtrl(); actrl->m_ServoOn = ctrl->m_LoadAxisServoOn; actrl->m_ServoHomeIndexOn = ctrl->m_LoadAxisServoHomeIndexOn; actrl->m_ServoReset = ctrl->m_LoadAxisServoReset; actrl->m_MoveP = ctrl->m_LoadAxisMoveRight; actrl->m_MoveN = ctrl->m_LoadAxisMoveLeft; actrl->m_MovePContinue = ctrl->m_LoadAxisMoveRightContinue; actrl->m_MoveNContinue = ctrl->m_LoadAxisMoveLeftContinue; actrl->m_MoveAbsPos = ctrl->m_LoadAxisMoveAbsPos; actrl->m_MotionStop = ctrl->m_LoadAxisMotionStop; actrl = m_Supply->GetCtrl(); actrl->m_ServoOn = ctrl->m_SupplyServoOn; actrl->m_ServoHomeIndexOn = ctrl->m_SupplyServoHomeIndexOn; actrl->m_ServoReset = ctrl->m_SupplyServoReset; actrl->m_MoveP = ctrl->m_SupplyMovePositive; actrl->m_MoveN = ctrl->m_SupplyMoveNegative; actrl->m_MovePContinue = ctrl->m_SupplyMovePositiveContinue; actrl->m_MoveNContinue = ctrl->m_SupplyMoveNegativeContinue; actrl->m_MoveAbsPos = ctrl->m_SupplyMoveAbsPos; actrl->m_MotionStop = ctrl->m_SupplyMotionStop; } void PLCAxis::StopAll(void) { m_Mold->GetCtrl()->m_MotionStop->SetValue(true); Sleep(100); m_Mold->GetCtrl()->m_MotionStop->SetValue(false); m_Clean->GetCtrl()->m_MotionStop->SetValue(true); Sleep(100); m_Clean->GetCtrl()->m_MotionStop->SetValue(false); m_Load->GetCtrl()->m_MotionStop->SetValue(true); Sleep(100); m_Load->GetCtrl()->m_MotionStop->SetValue(false); m_Arm->GetCtrl()->m_MotionStop->SetValue(true); Sleep(100); m_Arm->GetCtrl()->m_MotionStop->SetValue(false); m_Supply->GetCtrl()->m_MotionStop->SetValue(true); Sleep(100); m_Supply->GetCtrl()->m_MotionStop->SetValue(false); }