tranne load (che non abbiamo) x asse caricato posizione programmata e attuale... FATTO!
This commit is contained in:
@@ -951,9 +951,10 @@ Namespace CNC
|
||||
''' <summary>
|
||||
''' Restituisce posizione assi (tutti)
|
||||
''' </summary>
|
||||
''' <param name="AxisPos"></param>
|
||||
''' <param name="tipoPos">Tipo posizione richeista (1..6)</param>
|
||||
''' <param name="AxisPos">Vettore posizioni richieste</param>
|
||||
''' <returns></returns>
|
||||
Public Overridable Function getAllAxisPos(ByRef AxisPos As OPENcontrol.GETINTDATA()) As Boolean
|
||||
Public Overridable Function getAllAxisPos(tipoPos As Int16, ByRef AxisPos As OPENcontrol.GETINTDATA()) As Boolean
|
||||
Return True
|
||||
End Function
|
||||
|
||||
|
||||
@@ -1095,7 +1095,7 @@ Retry: nRetry += 1
|
||||
|
||||
End Function
|
||||
|
||||
Public Overloads Overrides Function getAllAxisPos(ByRef AxisPos As OPENcontrol.GETINTDATA()) As Boolean
|
||||
Public Overloads Overrides Function getAllAxisPos(tipoPos As Int16, ByRef AxisPos As OPENcontrol.GETINTDATA()) As Boolean
|
||||
' RIFERIMENTO:
|
||||
' CndexLinkUser.pdf | pag 146, 266
|
||||
|
||||
@@ -1111,7 +1111,7 @@ Retry: nRetry += 1
|
||||
myGetAxesPosition.ProcNum = ProcessId
|
||||
myGetAxesPosition.AxisName = "0"
|
||||
myGetAxesPosition.NumAxis = AxisPos.Length
|
||||
myGetAxesPosition.Select = 1
|
||||
myGetAxesPosition.Select = tipoPos
|
||||
|
||||
myGetAxesPositionR = OPENws.GetAxesPosition(myGetAxesPosition)
|
||||
If O_CheckRetError(myGetAxesPositionR.retval, myGetAxesPositionR.ErrClass, myGetAxesPositionR.ErrNum, "ReadCurrentAnomalyMsg() O_ReadCurrentAnomalyMsg CNC.OSAI_OPEN", szReturn) Then
|
||||
|
||||
@@ -1629,8 +1629,10 @@ namespace MTC_Adapter
|
||||
|
||||
inizio = DateTime.Now;
|
||||
// inizializzo x numero assi...
|
||||
CMSCncLib.OPENcontrol.GETINTDATA[] posAssi= new CMSCncLib.OPENcontrol.GETINTDATA[currAdpConf.nAxis];
|
||||
OSAI_ref.getAllAxisPos(ref posAssi);
|
||||
CMSCncLib.OPENcontrol.GETINTDATA[] posAssiTgt = new CMSCncLib.OPENcontrol.GETINTDATA[currAdpConf.nAxis];
|
||||
CMSCncLib.OPENcontrol.GETINTDATA[] posAssi = new CMSCncLib.OPENcontrol.GETINTDATA[currAdpConf.nAxis];
|
||||
OSAI_ref.getAllAxisPos(1, ref posAssiTgt);
|
||||
OSAI_ref.getAllAxisPos(2, ref posAssi);
|
||||
if (utils.CRB("recTime")) TimingData.addResult("R-AXIS_POS", DateTime.Now.Subtract(inizio).Ticks);
|
||||
|
||||
// NON c'è LOAD assi...
|
||||
@@ -1639,9 +1641,10 @@ namespace MTC_Adapter
|
||||
CMSCncLib.Focas1.ODBSVLOAD loadAssi = OSAI_ref.getAllAxisLoad();
|
||||
if (utils.CRB("recTime")) TimingData.addResult("R-AXIS_LOAD", DateTime.Now.Subtract(inizio).Ticks);
|
||||
#endif
|
||||
|
||||
|
||||
// nuova posizione (per calcoli)
|
||||
double newPos = 0;
|
||||
double newPosTgt = 0;
|
||||
double distPerc = 0;
|
||||
int newDir = 0;
|
||||
string tipoAsse = "";
|
||||
@@ -1653,159 +1656,18 @@ namespace MTC_Adapter
|
||||
// per sicurezza try-catch
|
||||
try
|
||||
{
|
||||
// in base a indice scelgo valore posizione e load
|
||||
#if false
|
||||
switch (i)
|
||||
{
|
||||
case 0:
|
||||
valPos = posAssi.p1;
|
||||
valLoad = loadAssi.svload1;
|
||||
break;
|
||||
case 1:
|
||||
valPos = posAssi.p2;
|
||||
valLoad = loadAssi.svload2;
|
||||
break;
|
||||
case 2:
|
||||
valPos = posAssi.p3;
|
||||
valLoad = loadAssi.svload3;
|
||||
break;
|
||||
case 3:
|
||||
valPos = posAssi.p4;
|
||||
valLoad = loadAssi.svload4;
|
||||
break;
|
||||
case 4:
|
||||
valPos = posAssi.p5;
|
||||
valLoad = loadAssi.svload5;
|
||||
break;
|
||||
case 5:
|
||||
valPos = posAssi.p6;
|
||||
valLoad = loadAssi.svload6;
|
||||
break;
|
||||
case 6:
|
||||
valPos = posAssi.p7;
|
||||
valLoad = loadAssi.svload7;
|
||||
break;
|
||||
case 7:
|
||||
valPos = posAssi.p8;
|
||||
valLoad = loadAssi.svload8;
|
||||
break;
|
||||
case 8:
|
||||
valPos = posAssi.p9;
|
||||
valLoad = loadAssi.svload9;
|
||||
break;
|
||||
case 9:
|
||||
valPos = posAssi.p10;
|
||||
valLoad = loadAssi.svload10;
|
||||
break;
|
||||
case 10:
|
||||
valPos = posAssi.p11;
|
||||
valLoad = loadAssi.svload11;
|
||||
break;
|
||||
case 11:
|
||||
valPos = posAssi.p12;
|
||||
valLoad = loadAssi.svload12;
|
||||
break;
|
||||
case 12:
|
||||
valPos = posAssi.p13;
|
||||
valLoad = loadAssi.svload13;
|
||||
break;
|
||||
case 13:
|
||||
valPos = posAssi.p14;
|
||||
valLoad = loadAssi.svload14;
|
||||
break;
|
||||
case 14:
|
||||
valPos = posAssi.p15;
|
||||
valLoad = loadAssi.svload15;
|
||||
break;
|
||||
case 15:
|
||||
valPos = posAssi.p16;
|
||||
valLoad = loadAssi.svload16;
|
||||
break;
|
||||
case 16:
|
||||
valPos = posAssi.p17;
|
||||
valLoad = loadAssi.svload17;
|
||||
break;
|
||||
case 17:
|
||||
valPos = posAssi.p18;
|
||||
valLoad = loadAssi.svload18;
|
||||
break;
|
||||
case 18:
|
||||
valPos = posAssi.p19;
|
||||
valLoad = loadAssi.svload19;
|
||||
break;
|
||||
case 19:
|
||||
valPos = posAssi.p20;
|
||||
valLoad = loadAssi.svload20;
|
||||
break;
|
||||
case 20:
|
||||
valPos = posAssi.p21;
|
||||
valLoad = loadAssi.svload21;
|
||||
break;
|
||||
case 21:
|
||||
valPos = posAssi.p22;
|
||||
valLoad = loadAssi.svload22;
|
||||
break;
|
||||
case 22:
|
||||
valPos = posAssi.p23;
|
||||
valLoad = loadAssi.svload23;
|
||||
break;
|
||||
case 23:
|
||||
valPos = posAssi.p24;
|
||||
valLoad = loadAssi.svload24;
|
||||
break;
|
||||
case 24:
|
||||
valPos = posAssi.p25;
|
||||
valLoad = loadAssi.svload25;
|
||||
break;
|
||||
case 25:
|
||||
valPos = posAssi.p26;
|
||||
valLoad = loadAssi.svload26;
|
||||
break;
|
||||
case 26:
|
||||
valPos = posAssi.p27;
|
||||
valLoad = loadAssi.svload27;
|
||||
break;
|
||||
case 27:
|
||||
valPos = posAssi.p28;
|
||||
valLoad = loadAssi.svload28;
|
||||
break;
|
||||
case 28:
|
||||
valPos = posAssi.p29;
|
||||
valLoad = loadAssi.svload29;
|
||||
break;
|
||||
case 29:
|
||||
valPos = posAssi.p30;
|
||||
valLoad = loadAssi.svload30;
|
||||
break;
|
||||
case 30:
|
||||
valPos = posAssi.p31;
|
||||
valLoad = loadAssi.svload31;
|
||||
break;
|
||||
case 31:
|
||||
valPos = posAssi.p32;
|
||||
valLoad = loadAssi.svload32;
|
||||
break;
|
||||
default:
|
||||
// 2017.03.01 suggerimento Fabio: in CMS_FANUC in advanced compiler options mettere FS30D=1,SIEMENS=1 x leggere + assi?!?
|
||||
valPos = posAssi.p1;
|
||||
valLoad = loadAssi.svload1;
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
//string axName = System.Text.Encoding.ASCII.GetString(posAssi[i].AxisName);
|
||||
axName = Convert.ToChar(posAssi[i].AxisName);
|
||||
axName = Convert.ToChar(posAssiTgt[i].AxisName);
|
||||
newPos = posAssi[i].position;
|
||||
// popolo valori...
|
||||
newPosTgt = posAssiTgt[i].position;
|
||||
// popolo valori... tranne LOAD
|
||||
#if false
|
||||
vettAxis[i].mAxLoad.Value = (double)(valLoad.data) / Math.Pow(10, valLoad.dec);
|
||||
newPos = (double)(valPos.abs.data) / Math.Pow(10, valPos.abs.dec);
|
||||
#endif
|
||||
|
||||
vettAxis[i].mAxPosAct.Value = newPos;
|
||||
#if false
|
||||
vettAxis[i].mAxPosTgt.Value = newPos + (double)(valPos.dist.data) / Math.Pow(10, valPos.dist.dec);
|
||||
#endif
|
||||
vettAxis[i].mAxPosTgt.Value = newPosTgt;
|
||||
|
||||
vettAxis[i].mAxFeedAct.Value = FeedRate;
|
||||
|
||||
@@ -1839,7 +1701,7 @@ namespace MTC_Adapter
|
||||
|
||||
if (utils.CRB("verbose"))
|
||||
{
|
||||
sb.AppendLine(string.Format("Asse {0}: PosAct:{1:N3}, ToGo:{2:N3}{3} | {4}", axName, newPos, "", "...", direzione));
|
||||
sb.AppendLine(string.Format("Asse {0}: PosAct:{1:N3}, Prg:{2:N3} | {3}", axName, newPos, newPosTgt, direzione));
|
||||
}
|
||||
|
||||
// salvo valori vettore prec...
|
||||
|
||||
+526
-349
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user