+10
-10
@@ -926,14 +926,14 @@ void InkJetPrinter::handleStartingState(int err, int actual, int target)
|
||||
{
|
||||
const int STARTING_TO_RUNNING_RANGE = 30; // 进入目标±50范围转到运行状态
|
||||
const float MAX_WORKING_SPEED = 350.0f; // 最大工作转速
|
||||
const float START_SPEED_STEP_LARGE = 30.0f;
|
||||
const float START_SPEED_STEP_MED = 20.0f;
|
||||
const float START_SPEED_STEP_SMALL = 15.0f;
|
||||
const float START_SPEED_STEP_LARGE = 40.0f;
|
||||
const float START_SPEED_STEP_MED = 30.0f;
|
||||
const float START_SPEED_STEP_SMALL = 20.0f;
|
||||
|
||||
m_adjSkip++;
|
||||
|
||||
// 每1500ms调整一次(15个100ms周期)
|
||||
if(m_adjSkip < 15) {
|
||||
// 每800ms调整一次(8个100ms周期)
|
||||
if(m_adjSkip < 8) {
|
||||
sysPara->para.gearPumpValue = (unsigned short)(int)u;
|
||||
sysPara->devOp->WriteMoterPump();
|
||||
return;
|
||||
@@ -995,9 +995,9 @@ void InkJetPrinter::handleRunningState(int err, bool canSwitch)
|
||||
return;
|
||||
}
|
||||
|
||||
// === 增量式微调控制(每500ms调整一次)===
|
||||
// === 增量式微调控制(每200ms调整一次)===
|
||||
m_adjSkip++;
|
||||
if(m_adjSkip < 5) {
|
||||
if(m_adjSkip < 2) {
|
||||
sysPara->para.gearPumpValue = (unsigned short)(int)u;
|
||||
sysPara->devOp->WriteMoterPump();
|
||||
return;
|
||||
@@ -1037,9 +1037,9 @@ void InkJetPrinter::handleRunningState(int err, bool canSwitch)
|
||||
|
||||
// 分级限幅(根据误差大小限制调节幅度)
|
||||
float maxDelta;
|
||||
if(absErr > 30.0f) maxDelta = 0.8f;
|
||||
else if(absErr > 10.0f) maxDelta = 0.4f;
|
||||
else maxDelta = 0.2f;
|
||||
if(absErr > 30.0f) maxDelta = 1.0f;
|
||||
else if(absErr > 10.0f) maxDelta = 0.6f;
|
||||
else maxDelta = 0.3f;
|
||||
|
||||
if(delta_u > maxDelta) delta_u = maxDelta;
|
||||
if(delta_u < -maxDelta) delta_u = -maxDelta;
|
||||
|
||||
Reference in New Issue
Block a user