- Corretto pinzaggio in caso di passo del pellegrino con recupero completo di una sola pinza
- Semplificato salvataggio stato in PreparePostRotation - Cambio versione per rilasci oa cliente
This commit is contained in:
+7
-22
@@ -1501,28 +1501,10 @@ function PreparePostRotation( sCmd)
|
||||
elseif Cmd[1] == '11' then
|
||||
local sMsg = 'PY' .. ' ' .. Cmd[2]
|
||||
table.insert( EMT.AUXCMD, sMsg)
|
||||
local bPrevEA76 = ( #EMT.AUXSTR > 0 and EMT.AUXSTR[#EMT.AUXSTR]:find( 'EA76', 1, true))
|
||||
if #EMT.AUXSTR > 0 and not bPrevEA76 then
|
||||
local sVal = ' EB11' .. CalcCharStatus( Cmd[2])
|
||||
local sOut = EMT.AUXSTR[#EMT.AUXSTR]
|
||||
EMT.AUXSTR[#EMT.AUXSTR] = sOut:gsub( EMT.SB, sVal)
|
||||
end
|
||||
if not bPrevEA76 then
|
||||
EMT.SA = ' EA11' .. CalcCharStatus( Cmd[2])
|
||||
end
|
||||
EMT.SB = ' EB11' .. CalcCharStatus( Cmd[2])
|
||||
EMT.SE = EgtIf( Cmd[2] ~= '0', ' EE1', ' EE2')
|
||||
elseif Cmd[1] == '12' then
|
||||
local sMsg = 'PV' .. ' ' .. Cmd[2]
|
||||
table.insert( EMT.AUXCMD, sMsg)
|
||||
if #EMT.AUXSTR > 0 then
|
||||
local sVal = ' ED14' .. CalcCharStatus( Cmd[2])
|
||||
local sOut = EMT.AUXSTR[#EMT.AUXSTR]
|
||||
EMT.AUXSTR[#EMT.AUXSTR] = sOut:gsub( EMT.SD, sVal)
|
||||
end
|
||||
EMT.SC = ' EC14' .. CalcCharStatus( Cmd[2])
|
||||
EMT.SD = ' ED14' .. CalcCharStatus( Cmd[2])
|
||||
EMT.SE = EgtIf( Cmd[2] ~= '0', ' EE2', ' EE1')
|
||||
elseif Cmd[1] == '21' then
|
||||
local nYDelta = tonumber( Cmd[2])
|
||||
local nVDelta = tonumber( Cmd[3])
|
||||
@@ -1535,10 +1517,13 @@ function PreparePostRotation( sCmd)
|
||||
elseif nVDelta > 0 then
|
||||
EMT.YDELTA = nil
|
||||
EMT.VDELTA = nVDelta
|
||||
end
|
||||
local sYLoad = ' Y'..EmtLenToString( LoadT)
|
||||
local sOut = 'G111'..sYLoad..' EA76'..EMT.SB..' EE0 EF'..EmtLenToString( EMT.FMAXPINZE,0)..' ET1'
|
||||
table.insert( EMT.AUXSTR, sOut)
|
||||
end
|
||||
local sYLoad = ' Y'..EmtLenToString( LoadT)
|
||||
local sOut = 'G111'..sYLoad..' EA76'..EMT.SB..' EE0 EF'..EmtLenToString( EMT.FMAXPINZE,0)..' ET1'
|
||||
table.insert( EMT.AUXSTR, sOut)
|
||||
-- setto parametri di pinzaggio reali
|
||||
EMT.SA = ' EA110'
|
||||
EMT.SE = ' EE1'
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -1588,28 +1588,10 @@ function PreparePostRotation( sCmd)
|
||||
elseif Cmd[1] == '11' then
|
||||
local sMsg = 'PY' .. ' ' .. Cmd[2]
|
||||
table.insert( EMT.AUXCMD, sMsg)
|
||||
local bPrevEA76 = ( #EMT.AUXSTR > 0 and EMT.AUXSTR[#EMT.AUXSTR]:find( 'EA76', 1, true))
|
||||
if #EMT.AUXSTR > 0 and not bPrevEA76 then
|
||||
local sVal = ' EB11' .. CalcCharStatus( Cmd[2])
|
||||
local sOut = EMT.AUXSTR[#EMT.AUXSTR]
|
||||
EMT.AUXSTR[#EMT.AUXSTR] = sOut:gsub( EMT.SB, sVal)
|
||||
end
|
||||
if not bPrevEA76 then
|
||||
EMT.SA = ' EA11' .. CalcCharStatus( Cmd[2])
|
||||
end
|
||||
EMT.SB = ' EB11' .. CalcCharStatus( Cmd[2])
|
||||
EMT.SE = EgtIf( Cmd[2] ~= '0', ' EE1', ' EE2')
|
||||
elseif Cmd[1] == '12' then
|
||||
local sMsg = 'PV' .. ' ' .. Cmd[2]
|
||||
table.insert( EMT.AUXCMD, sMsg)
|
||||
if #EMT.AUXSTR > 0 then
|
||||
local sVal = ' ED14' .. CalcCharStatus( Cmd[2])
|
||||
local sOut = EMT.AUXSTR[#EMT.AUXSTR]
|
||||
EMT.AUXSTR[#EMT.AUXSTR] = sOut:gsub( EMT.SD, sVal)
|
||||
end
|
||||
EMT.SC = ' EC14' .. CalcCharStatus( Cmd[2])
|
||||
EMT.SD = ' ED14' .. CalcCharStatus( Cmd[2])
|
||||
EMT.SE = EgtIf( Cmd[2] ~= '0', ' EE2', ' EE1')
|
||||
elseif Cmd[1] == '21' then
|
||||
local nYDelta = tonumber( Cmd[2])
|
||||
local nVDelta = tonumber( Cmd[3])
|
||||
@@ -1622,10 +1604,13 @@ function PreparePostRotation( sCmd)
|
||||
elseif nVDelta > 0 then
|
||||
EMT.YDELTA = nil
|
||||
EMT.VDELTA = nVDelta
|
||||
end
|
||||
local sYLoad = ' Y'..EmtLenToString( LoadT)
|
||||
local sOut = 'G111'..sYLoad..' EA76'..EMT.SB..' EE0 EF'..EmtLenToString( EMT.FMAXPINZE,0)..' ET1'
|
||||
table.insert( EMT.AUXSTR, sOut)
|
||||
end
|
||||
local sYLoad = ' Y'..EmtLenToString( LoadT)
|
||||
local sOut = 'G111'..sYLoad..' EA76'..EMT.SB..' EE0 EF'..EmtLenToString( EMT.FMAXPINZE,0)..' ET1'
|
||||
table.insert( EMT.AUXSTR, sOut)
|
||||
-- setto parametri di pinzaggio reali
|
||||
EMT.SA = ' EA110'
|
||||
EMT.SE = ' EE1'
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
+7
-19
@@ -1610,25 +1610,10 @@ function PreparePostRotation( sCmd)
|
||||
elseif Cmd[1] == '11' then
|
||||
local sMsg = 'PY' .. ' ' .. Cmd[2]
|
||||
table.insert( EMT.AUXCMD, sMsg)
|
||||
if #EMT.AUXSTR > 0 then
|
||||
local sVal = ' P5=11' .. CalcCharStatus( Cmd[2])
|
||||
local sOut = EMT.AUXSTR[#EMT.AUXSTR]
|
||||
EMT.AUXSTR[#EMT.AUXSTR] = sOut:gsub( EMT.SB, sVal)
|
||||
end
|
||||
EMT.SA = ' P4=11' .. CalcCharStatus( Cmd[2])
|
||||
EMT.SB = ' P5=11' .. CalcCharStatus( Cmd[2])
|
||||
EMT.SE = EgtIf( Cmd[2] ~= '0', ' P8=1', ' P8=2')
|
||||
elseif Cmd[1] == '12' then
|
||||
local sMsg = 'PV' .. ' ' .. Cmd[2]
|
||||
table.insert( EMT.AUXCMD, sMsg)
|
||||
if #EMT.AUXSTR > 0 then
|
||||
local sVal = ' P7=14' .. CalcCharStatus( Cmd[2])
|
||||
local sOut = EMT.AUXSTR[#EMT.AUXSTR]
|
||||
EMT.AUXSTR[#EMT.AUXSTR] = sOut:gsub( EMT.SD, sVal)
|
||||
end
|
||||
EMT.SC = ' P6=14' .. CalcCharStatus( Cmd[2])
|
||||
EMT.SD = ' P7=14' .. CalcCharStatus( Cmd[2])
|
||||
EMT.SE = EgtIf( Cmd[2] ~= '0', ' P8=2', ' P8=1')
|
||||
elseif Cmd[1] == '21' then
|
||||
local nYDelta = tonumber( Cmd[2])
|
||||
local nVDelta = tonumber( Cmd[3])
|
||||
@@ -1641,10 +1626,13 @@ function PreparePostRotation( sCmd)
|
||||
elseif nVDelta > 0 then
|
||||
EMT.YDELTA = nil
|
||||
EMT.VDELTA = nVDelta
|
||||
end
|
||||
local sYLoad = ' P2='..EmtLenToString( LoadT)
|
||||
local sOut = 'M111 P1=11'..sYLoad..' P4=76'..EMT.SB..' P8=0 P9='..GetFmaxClamp()
|
||||
table.insert( EMT.AUXSTR, sOut)
|
||||
end
|
||||
local sYLoad = ' P2='..EmtLenToString( LoadT)
|
||||
local sOut = 'M111 P1=11'..sYLoad..' P4=76'..EMT.SB..' P8=0 P9='..GetFmaxClamp()
|
||||
table.insert( EMT.AUXSTR, sOut)
|
||||
-- setto parametri di pinzaggio reali
|
||||
EMT.SA = ' P4=110'
|
||||
EMT.SE = ' P8=1'
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
+6
-6
@@ -1917,10 +1917,10 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
-- recupero una corsa massima e l'altra solo di quello che serve
|
||||
elseif abs( dYDeltaI - dYDeltaF) > dMaxMovePilgrimStepSingleClampV then
|
||||
-- suddivido il movimento su entrambe le morse
|
||||
local dTotMove = ( dYDeltaF - dYDeltaI) / 2
|
||||
local dTotMove = ( ( dYDeltaF + dVDeltaF) / 2 + ( dYDeltaI + dVDeltaI) / 2) / 2
|
||||
-- morsa Y arriva in posizione finale
|
||||
dVPosA = MaxV - dTotMove
|
||||
dTPosA = dTPosI - dVPosI + MaxV - dTotMove
|
||||
dVPosA = EgtClamp( MaxV - dTotMove, MaxV, MinV)
|
||||
dTPosA = dTPosI - dVPosI + dVPosA
|
||||
dYPosA = dYDeltaF + dTPosA
|
||||
table.insert( vCmd, { 3, 'Y', dYPosA , 'T', dTPosA, 'V', dVPosA})
|
||||
table.insert( vCmd, { 11, CalcCharStatus( 'Y', dYDeltaF)})
|
||||
@@ -2024,10 +2024,10 @@ function SpecAdjustCarriages( vCmd, dTPosI, dYDeltaI, dVDeltaI, dTPosF, dYDeltaF
|
||||
-- recupero una corsa massima e l'altra solo di quello che serve
|
||||
elseif abs( dVDeltaI - dVDeltaF) > dMaxMovePilgrimStepSingleClampY then
|
||||
-- suddivido il movimento su entrambe le morse
|
||||
local dTotMove = ( dVDeltaI - dVDeltaF) / 2
|
||||
local dTotMove = ( ( dYDeltaF + dVDeltaF) / 2 + ( dYDeltaI + dVDeltaI) / 2) / 2
|
||||
-- morsa V arriva in posizione finale
|
||||
dYPosA = MinY + dTotMove
|
||||
dTPosA = dTPosI + ( MinY - dYPosI) + dTotMove
|
||||
dYPosA = EgtClamp( MinY + dTotMove, MinY, MaxY)
|
||||
dTPosA = dTPosI - dYPosI + dYPosA
|
||||
dVPosA = dVDeltaF + dTPosA
|
||||
table.insert( vCmd, { 3, 'Y', dYPosA , 'T', dTPosA, 'V', dVPosA})
|
||||
table.insert( vCmd, { 12, CalcCharStatus( 'V', dVDeltaF)})
|
||||
|
||||
+2
-1
@@ -1,7 +1,8 @@
|
||||
==== Common_FAST Update Log ====
|
||||
|
||||
Versione 3.1-- (--/--/2026)
|
||||
Versione 3.1d2 (22/04/2026)
|
||||
- (GEN) Corretta generazione del PreparePostRotation (in tutti i CN) ora salva lo stato della pinza per lo spostamento successivo. Ticket#2933
|
||||
- (SIM-GEN) Corretto pinzaggio in caso di passo del pellegrino con recupero completo di una sola pinza
|
||||
|
||||
Versione 3.1d1 (14/04/2026)
|
||||
- (SIM-GEN) Aggiorna lo step totale del PilgrimStep e lo step Y con il valore di MyMinY, di modo che tenga conto del AGG_LOAD quando c'è. Ticket#2919
|
||||
|
||||
Reference in New Issue
Block a user