update x lettura aree overrides...

This commit is contained in:
Samuele E. Locatelli
2017-11-17 17:39:48 +01:00
parent 5686f3f7e0
commit 6b3c9a76ff
2 changed files with 29 additions and 14 deletions
+18 -8
View File
@@ -12,6 +12,7 @@ namespace IOB_WIN
{
protected byte[] MemBlockF = new byte[2];
protected byte[] MemBlockG = new byte[44];
protected byte[] MemBlockF_pre = new byte[2];
/// <summary>
/// wrapper chiamata lettura/scrittura SINGOLO BYTE...
@@ -364,20 +365,25 @@ namespace IOB_WIN
}
}
}
/// <summary>
/// Esegue processing MODE (e nel contempo recupera altri dati dell'area G)
/// </summary>
public override void processMode()
{
if (utils.CRB("enableMode"))
{
try
{
//int memIndex = 43;
//byte[] MemBlock = new byte[1];
//FanucMemRW(R, FANUC.MemType.G, memIndex, ref MemBlock);
inizio = DateTime.Now;
int memIndex = 43;
byte[] MemBlock = new byte[1];
FanucMemRW(R, FANUC.MemType.G, memIndex, ref MemBlock);
if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-G43", MemBlock.Length), DateTime.Now.Subtract(inizio).Ticks);
// leggo tutto da 1 a 43...
int memIndex = 1;
FanucMemRW(R, FANUC.MemType.G, memIndex, ref MemBlockG);
if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-G-AREA", MemBlockG.Length), DateTime.Now.Subtract(inizio).Ticks);
// verifico modo con valore corrente, se cambia aggiorno...
CNC_MODE newMode = decodeG43(MemBlock[0]);
CNC_MODE newMode = decodeG43(MemBlockG[43]);
if (newMode != currMode)
{
// aggiorno!
@@ -485,12 +491,13 @@ namespace IOB_WIN
return outVal;
}
/// <summary>
/// Recupero dati override
/// Recupero dati override (da area G che è già stata letta...)
/// </summary>
/// <returns></returns>
public override Dictionary<string, string> getOverrides()
{
Dictionary<string, string> outVal = new Dictionary<string, string>();
#if false
inizio = DateTime.Now;
// leggo da G0 a G30 perché DOVREBBE contenere tutto quanto mi serve: G12 FeedOver, G30 SpeedOver...
try
@@ -514,7 +521,10 @@ namespace IOB_WIN
catch (Exception exc)
{
lg.Error(exc, "Errore in getOverrides");
}
}
#endif
outVal.Add("FEED_OVER", MemBlockG[30].ToString());
outVal.Add("RAPID_OVER", MemBlockG[12].ToString());
return outVal;
}
+11 -6
View File
@@ -155,7 +155,11 @@ namespace IOB_WIN
/// <summary>
/// Ultimo Override set letto
/// </summary>
public string lastOverride { get; set; }
public string lastOverrideFS { get; set; }
/// <summary>
/// Ultimo Override set letto
/// </summary>
public string lastOverrideRapid { get; set; }
/// <summary>
/// Array dei contatori x segnali blinking
@@ -418,16 +422,16 @@ namespace IOB_WIN
else if (ciclo == gatherCycle.MF)
{
processMode();
processOverride();
}
else if (ciclo == gatherCycle.LF)
{
processContapezzi();
processProgram();
processDynData();
processOverride();
}
else if (ciclo == gatherCycle.VLF)
{
processDynData();
// recupero dati SETUP (sysinfo) e li invio/mostro se variati...
processSysInfo();
// se richiesto faccio salvataggio aree memorie
@@ -1630,13 +1634,14 @@ namespace IOB_WIN
}
else
{
currOverride.Add("OVERRIDES", string.Format("D-{0:HHmm}", DateTime.Now));
currOverride.Add("FEED_OVER", string.Format("D-{0:HHmm}", DateTime.Now));
}
// verifico SE sia cambiato il programma...
if (lastOverride != currOverride["OVERRIDES"])
if (lastOverrideFS != currOverride["FEED_OVER"] || lastOverrideRapid != currOverride["RAPID_OVER"])
{
// salvo!
lastOverride = currOverride["OVERRIDES"];
lastOverrideFS = currOverride["FEED_OVER"];
lastOverrideRapid = currOverride["RAPID_OVER"];
// per ogni valore del dizionario mostro ed accodo!
string sVal = "";
foreach (var item in currOverride)