Completata revisione con bugFix x gestione errata doppia lettura valori di persistenza (contatori vari)
This commit is contained in:
@@ -73,7 +73,7 @@
|
||||
<Linear id="Axis_03" name="Asse Z">
|
||||
<DataItems>
|
||||
<!-- descrizione, es "Asse Z (3)" che POTREBBE cambiare -->
|
||||
<DataItem category="EVENT" id="Axis_02_Descr" type="MESSAGE"/>
|
||||
<DataItem category="EVENT" id="Axis_03_Descr" type="MESSAGE"/>
|
||||
<DataItem category="SAMPLE" id="Axis_03_PosAct" name="Pos asse Z (3) actual" nativeUnits="MILLIMETER" subType="ACTUAL" type="POSITION" units="MILLIMETER"/>
|
||||
<DataItem category="SAMPLE" id="Axis_03_PosTgt" name="Pos asse Z (3) target" nativeUnits="MILLIMETER" subType="COMMANDED" type="POSITION" units="MILLIMETER"/>
|
||||
<DataItem category="SAMPLE" id="Axis_03_Load" name="Load asse Z (3)" nativeUnits="PERCENT" type="LOAD" units="PERCENT"/>
|
||||
|
||||
@@ -1279,6 +1279,41 @@ namespace MTC_Adapter
|
||||
|
||||
#region metodi adapter
|
||||
|
||||
public void loadPersData()
|
||||
{
|
||||
// nuova lettura valori da file persistenza...
|
||||
contOreMaccOn = getStoredValDouble("ACC_TIME");
|
||||
contOreMaccLav = getStoredValDouble("ACC_TIME_WORK");
|
||||
|
||||
for (int i = 0; i < currAdpConf.nUnOp; i++)
|
||||
{
|
||||
contGiriElettrom[i] = getStoredValUInt(string.Format("UnOp_{0:00}_AccTime", i + 1));
|
||||
currNumCambiUt[i] = getStoredValUInt(string.Format("UnOp_{0:00}_NumCU", i + 1));
|
||||
}
|
||||
|
||||
for (int i = 0; i < currAdpConf.nAxis; i++)
|
||||
{
|
||||
contDistMovAssi[i] = getStoredValUInt(string.Format("Axis_{0:00}_DistDone", i + 1));
|
||||
contNumInvAssi[i] = getStoredValUInt(string.Format("Axis_{0:00}_InvDDone", i + 1));
|
||||
contAccTimeAssi[i] = getStoredValUInt(string.Format("Axis_{0:00}_AccTime", i + 1));
|
||||
}
|
||||
|
||||
for (int i = 0; i < currAdpConf.nVacuumPump; i++)
|
||||
{
|
||||
currVacPumpWrkTime[i] = getStoredValUInt(string.Format("VacPump_{0:00}_WrkTime", i + 1));
|
||||
}
|
||||
|
||||
for (int i = 0; i < currAdpConf.nVacuumAct; i++)
|
||||
{
|
||||
currVacActCount[i] = getStoredValUInt(string.Format("VacAct_{0:00}_Count", i + 1));
|
||||
}
|
||||
|
||||
for (int i = 0; i < currAdpConf.nLubro; i++)
|
||||
{
|
||||
currLubroCount[i] = getStoredValUInt(string.Format("Lubro_{0:00}_Count", i + 1));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Avvia l'adapter sulla porta richiesta
|
||||
/// </summary>
|
||||
@@ -1304,7 +1339,7 @@ namespace MTC_Adapter
|
||||
|
||||
// resetto running flag...
|
||||
adpCommAct = false;
|
||||
|
||||
|
||||
// carico valori da adapter x i conteggi
|
||||
contOreMaccOn = currAdpConf.ContOreMaccOn;
|
||||
contOreMaccLav = currAdpConf.ContOreMaccLav;
|
||||
|
||||
@@ -148,6 +148,7 @@ namespace MTC_Adapter
|
||||
{
|
||||
loadXmlFile(defConfFilePath);
|
||||
loadPersistLayer(defPersLayerFile);
|
||||
agObj.loadPersData();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -157,7 +158,7 @@ namespace MTC_Adapter
|
||||
loadAdapterType();
|
||||
displayTaskAndWait("Waiting for config file selection");
|
||||
}
|
||||
|
||||
|
||||
// Start timer periodico
|
||||
gather.Interval = utils.CRI("timerIntMs");
|
||||
gather.Enabled = true;
|
||||
@@ -446,6 +447,7 @@ namespace MTC_Adapter
|
||||
private void start_Click(object sender, EventArgs e)
|
||||
{
|
||||
avviaAdapter();
|
||||
agObj.loadPersData();
|
||||
}
|
||||
|
||||
public void avviaAdapter()
|
||||
@@ -492,20 +494,12 @@ namespace MTC_Adapter
|
||||
/// <param name="tryRestart">determina se si debba tentare riavvio automatico (per caduta connessione)</param>
|
||||
public void fermaAdapter(bool tryRestart)
|
||||
{
|
||||
agObj.stopAdapter(tryRestart);
|
||||
// salvo!
|
||||
savePersistLayer(defPersLayerFile);
|
||||
savePersistLayer(histPersLayerFile);
|
||||
|
||||
stop.Enabled = false;
|
||||
dump.Enabled = false;
|
||||
start.Enabled = true;
|
||||
//gather.Enabled = false;
|
||||
fermaTutto(false, tryRestart);
|
||||
}
|
||||
|
||||
private void gather_Tick(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
|
||||
// eseguo cicli attivi SOLO se adapter è in EFFETTIVO running...
|
||||
if (agObj.adpRunning)
|
||||
{
|
||||
@@ -536,11 +530,12 @@ namespace MTC_Adapter
|
||||
else
|
||||
{
|
||||
// verifico SE debba tentare il riavvio, ovvero NON running ma tryReconn e non ho riprovato x oltre waitRecMSec
|
||||
int currWait = DateTime.Now.Subtract(lastStartTry).Milliseconds;
|
||||
if (agObj.adpTryRestart && currWait> utils.CRI("waitRecSec"))
|
||||
double currWait = DateTime.Now.Subtract(lastStartTry).TotalMilliseconds;
|
||||
if (agObj.adpTryRestart && currWait > utils.CRI("waitRecSec"))
|
||||
{
|
||||
lastStartTry = DateTime.Now;
|
||||
avviaAdapter();
|
||||
agObj.loadPersData();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1106,6 +1101,7 @@ namespace MTC_Adapter
|
||||
string XmlConfFile = openFileDial.FileName;
|
||||
loadXmlFile(XmlConfFile);
|
||||
loadPersistLayer(defPersLayerFile);
|
||||
agObj.loadPersData();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
@@ -1150,7 +1146,7 @@ namespace MTC_Adapter
|
||||
public void savePersistLayer(string filePath)
|
||||
{
|
||||
try
|
||||
{
|
||||
{
|
||||
utils.WritePlain(agObj.persistenceLayer, filePath);
|
||||
}
|
||||
catch (Exception exc)
|
||||
@@ -1167,7 +1163,6 @@ namespace MTC_Adapter
|
||||
// inizializzo prima di leggere...
|
||||
agObj.persistenceLayer = new Dictionary<string, string>();
|
||||
agObj.persistenceLayer = utils.ReadPlain(filePath);
|
||||
//agObj.persistenceLayer = utils.ReadBin(filePath);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -1572,7 +1567,16 @@ namespace MTC_Adapter
|
||||
|
||||
private void closeAdapter()
|
||||
{
|
||||
agObj.stopAdapter(false);
|
||||
fermaTutto(true, false);
|
||||
}
|
||||
/// <summary>
|
||||
/// Ferma tutti i componenti adapter + update buttons
|
||||
/// </summary>
|
||||
/// <param name="stopTimer">determina se fermare il timer (gather) principale (solo se non si chiude)</param>
|
||||
/// <param name="tryRestart">determina se tentare di riconnettersi</param>
|
||||
private void fermaTutto(bool stopTimer, bool tryRestart)
|
||||
{
|
||||
agObj.stopAdapter(tryRestart);
|
||||
// salvo!
|
||||
savePersistLayer(defPersLayerFile);
|
||||
savePersistLayer(histPersLayerFile);
|
||||
@@ -1580,10 +1584,12 @@ namespace MTC_Adapter
|
||||
stop.Enabled = false;
|
||||
dump.Enabled = false;
|
||||
start.Enabled = true;
|
||||
gather.Enabled = false;
|
||||
|
||||
agObj.tryDisconnect();
|
||||
if (stopTimer)
|
||||
{
|
||||
gather.Enabled = false;
|
||||
agObj.tryDisconnect();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -319,7 +319,7 @@
|
||||
</dataRef>
|
||||
<dataRef>
|
||||
<Key>Axis_01_Type</Key>
|
||||
<Value>0</Value>
|
||||
<Value>LINEAR</Value>
|
||||
</dataRef>
|
||||
<dataRef>
|
||||
<Key>Axis_01_Dir</Key>
|
||||
@@ -386,7 +386,7 @@
|
||||
</dataRef>
|
||||
<dataRef>
|
||||
<Key>Axis_02_Type</Key>
|
||||
<Value>0</Value>
|
||||
<Value>LINEAR</Value>
|
||||
</dataRef>
|
||||
<dataRef>
|
||||
<Key>Axis_02_Dir</Key>
|
||||
@@ -453,7 +453,7 @@
|
||||
</dataRef>
|
||||
<dataRef>
|
||||
<Key>Axis_03_Type</Key>
|
||||
<Value>0</Value>
|
||||
<Value>LINEAR</Value>
|
||||
</dataRef>
|
||||
<dataRef>
|
||||
<Key>Axis_03_Dir</Key>
|
||||
@@ -520,7 +520,7 @@
|
||||
</dataRef>
|
||||
<dataRef>
|
||||
<Key>Axis_04_Type</Key>
|
||||
<Value>0</Value>
|
||||
<Value>ROTARY</Value>
|
||||
</dataRef>
|
||||
<dataRef>
|
||||
<Key>Axis_04_Dir</Key>
|
||||
@@ -587,7 +587,7 @@
|
||||
</dataRef>
|
||||
<dataRef>
|
||||
<Key>Axis_05_Type</Key>
|
||||
<Value>0</Value>
|
||||
<Value>ROTARY</Value>
|
||||
</dataRef>
|
||||
<dataRef>
|
||||
<Key>Axis_05_Dir</Key>
|
||||
@@ -654,7 +654,7 @@
|
||||
</dataRef>
|
||||
<dataRef>
|
||||
<Key>Axis_06_Type</Key>
|
||||
<Value>0</Value>
|
||||
<Value>LINEAR</Value>
|
||||
</dataRef>
|
||||
<dataRef>
|
||||
<Key>Axis_06_Dir</Key>
|
||||
|
||||
Reference in New Issue
Block a user