8 Commits

Author SHA1 Message Date
Samuele E. Locatelli ffc45ff43a Merge branch 'develop' 2020-12-01 08:50:12 +01:00
Samuele E. Locatelli 5639cf280b update conf x compilazione statica IP .52 (non .51) in prod 2020-12-01 08:49:58 +01:00
Samuele E. Locatelli 24100f7bb2 Fix conf MHT x 22 chr 2020-07-11 10:51:03 +02:00
Samuele E. Locatelli 53d7b6cb8e Merge branch 'develop' 2020-07-11 09:58:18 +02:00
Samuele E. Locatelli 72a38de46b check presenza dati in lettura/log 2020-07-11 09:58:10 +02:00
Samuele E. Locatelli b61dedf3fa FIX configurazioni 2020-07-11 09:57:48 +02:00
Samuele E. Locatelli 36f3b8f135 Check out file existance o crea nuovo 2020-07-11 09:31:43 +02:00
Samuele E. Locatelli 01d87a2191 update conf MHT (fix noma area memoria!!!) 2020-07-11 09:31:24 +02:00
6 changed files with 320 additions and 261 deletions
+70 -70
View File
@@ -1,73 +1,73 @@
{
"confPLC": {
"ipAdrr": "192.168.0.51",
"tipoCpu": "S7300",
"rack": 0,
"slot": 2
},
"triggerList": {
"DB700.DBX0.0": {
"Column": "Trigger",
"MemConf": "DB700.DBX0",
"DataType": "Bit",
"memByteSize": 1,
"TriggerVal": "True",
"bitAdr": 0
"confPLC": {
"ipAdrr": "192.168.0.52",
"tipoCpu": "S7300",
"rack": 0,
"slot": 2
},
"triggerList": {
"DB700.DBX0.0": {
"Column": "Trigger",
"MemConf": "DB700.DBX0.0",
"DataType": "Bit",
"memByteSize": 1,
"TriggerVal": "True",
"bitAdr": 0
}
},
"parametersList": {
"DB700.DBX0.2": {
"Column": "Macchina in Modo Automatico",
"MemConf": "DB700.DBX0.2",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 2
},
"DB700.DBX0.3": {
"Column": "Presenza Allarmi in Macchina da PLC",
"MemConf": "DB700.DBX0.3",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 3
},
"DB700.DBX0.5": {
"Column": "Presenza Allarmi da Programma Cicli",
"MemConf": "DB700.DBX0.5",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 5
},
"DB700.DBD4": {
"Column": "Giri Mola Giri/Min",
"MemConf": "DB700.DBD4",
"DataType": "DWord",
"memByteSize": 4
},
"DB700.DBX20.0": {
"Column": "Inzio Ciclo di Rettifica",
"MemConf": "DB700.DBX20.0",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 0
},
"DB700.DBX20.1": {
"Column": "Fine Ciclo di Rettifica",
"MemConf": "DB700.DBX20.1",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 1
},
"DB800.DBB0": {
"Column": "Numero / Nome Commessa",
"MemConf": "DB800.DBB0",
"DataType": "String",
"memByteSize": 22
},
"DB800.DBB44": {
"Column": "Codice disegno Pezzo",
"MemConf": "DB800.DBB44",
"DataType": "String",
"memByteSize": 22
}
}
},
"parametersList": {
"DB700.DBX0.2": {
"Column": "Macchina in Modo Automatico",
"MemConf": "DB700.DBX0",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 2
},
"DB700.DBX0.3": {
"Column": "Presenza Allarmi in Macchina da PLC",
"MemConf": "DB700.DBX0",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 3
},
"DB700.DBX0.5": {
"Column": "Presenaz Allarmi da Programma Cicli",
"MemConf": "DB700.DBX0",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 5
},
"DB700.DBD4": {
"Column": "Giri Mola Giri/Min",
"MemConf": "DB700.DBD4",
"DataType": "DWord",
"memByteSize": 4
},
"DB700.DBX20.0": {
"Column": "Inzio Ciclo di Rettifica",
"MemConf": "DB700.DBX20",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 0
},
"DB700.DBX20.1": {
"Column": "Fine Ciclo di Rettifica",
"MemConf": "DB700.DBX20",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 1
},
"DB800.DBB0": {
"Column": "Numero / Nome Commessa",
"MemConf": "DB800.DBB0",
"DataType": "String",
"memByteSize": 20
},
"DB800.DBB44": {
"Column": "Codice disegno Pezzo",
"MemConf": "DB800.DBB44",
"DataType": "String",
"memByteSize": 20
}
}
}
@@ -0,0 +1,68 @@
{
"confPLC": {
"ipAdrr": "192.168.0.102",
"tipoCpu": "S71500",
"rack": 0,
"slot": 1
},
"triggerList": {
"DB999.DBB0": {
"Column": "Trigger",
"MemConf": "DB999.DBB0",
"DataType": "Bit",
"memByteSize": 1,
"TriggerVal": "True",
"bitAdr": 0
}
},
"parametersList": {
"DB999.DBB8": {
"Column": "Valore 1",
"MemConf": "DB999.DBB8",
"DataType": "Word",
"memByteSize": 2
},
"DB999.DBB10": {
"Column": "Valore 2",
"MemConf": "DB999.DBB10",
"DataType": "Word",
"memByteSize": 2
},
"DB999.DBB16": {
"Column": "Valore 3",
"MemConf": "DB999.DBB16",
"DataType": "DWord",
"memByteSize": 4
},
"DB999.DBB20": {
"Column": "Valore 4",
"MemConf": "DB999.DBB20",
"DataType": "DWord",
"memByteSize": 4
},
"DB999.DBB32": {
"Column": "Valore 5",
"MemConf": "DB999.DBB32",
"DataType": "Real",
"memByteSize": 4
},
"DB999.DBB36": {
"Column": "Valore 6",
"MemConf": "DB999.DBB36",
"DataType": "Real",
"memByteSize": 4
},
"DB999.DBB40": {
"Column": "Valore 7",
"MemConf": "DB999.DBB306",
"DataType": "Word",
"memByteSize": 2
},
"DB999.DBB48": {
"Column": "Valore 8",
"MemConf": "DB999.DBB48",
"DataType": "String",
"memByteSize": 20
}
}
}
+41 -65
View File
@@ -1,68 +1,44 @@
{
"confPLC": {
"ipAdrr": "192.168.0.102",
"tipoCpu": "S71500",
"rack": 0,
"slot": 1
},
"triggerList": {
"DB999.DBB0": {
"Column": "Trigger",
"MemConf": "DB999.DBB0",
"DataType": "Bit",
"memByteSize": 1,
"TriggerVal": "True",
"bitAdr": 0
"confPLC": {
"ipAdrr": "192.168.0.102",
"tipoCpu": "S71500",
"rack": 0,
"slot": 1
},
"triggerList": {
"DB604.DBX3.7": {
"Column": "Trigger",
"MemConf": "DB604.DBX3.7",
"DataType": "Bit",
"memByteSize": 1,
"TriggerVal": "True",
"bitAdr": 7
}
},
"parametersList": {
"DB606.DBB0": {
"Column": "Lotto",
"MemConf": "DB606.DBB0",
"DataType": "Word",
"memByteSize": 2
},
"DB606.DBB2": {
"Column": "Pezzi Fatti",
"MemConf": "DB606.DBB2",
"DataType": "Word",
"memByteSize": 2
},
"DB604.DBB18": {
"Column": "TC Lordo",
"MemConf": "DB604.DBB18",
"DataType": "DWord",
"memByteSize": 4
},
"DB604.DBB22": {
"Column": "TC Netto",
"MemConf": "DB604.DBB22",
"DataType": "DWord",
"memByteSize": 4
}
}
},
"parametersList": {
"DB999.DBB8": {
"Column": "Valore 1",
"MemConf": "DB999.DBB8",
"DataType": "Word",
"memByteSize": 2
},
"DB999.DBB10": {
"Column": "Valore 2",
"MemConf": "DB999.DBB10",
"DataType": "Word",
"memByteSize": 2
},
"DB999.DBB16": {
"Column": "Valore 3",
"MemConf": "DB999.DBB16",
"DataType": "DWord",
"memByteSize": 4
},
"DB999.DBB20": {
"Column": "Valore 4",
"MemConf": "DB999.DBB20",
"DataType": "DWord",
"memByteSize": 4
},
"DB999.DBB32": {
"Column": "Valore 5",
"MemConf": "DB999.DBB32",
"DataType": "Real",
"memByteSize": 4
},
"DB999.DBB36": {
"Column": "Valore 6",
"MemConf": "DB999.DBB36",
"DataType": "Real",
"memByteSize": 4
},
"DB999.DBB40": {
"Column": "Valore 7",
"MemConf": "DB999.DBB306",
"DataType": "Word",
"memByteSize": 2
},
"DB999.DBB48": {
"Column": "Valore 8",
"MemConf": "DB999.DBB48",
"DataType": "String",
"memByteSize": 20
}
}
}
+70 -70
View File
@@ -1,73 +1,73 @@
{
"confPLC": {
"ipAdrr": "192.168.0.51",
"tipoCpu": "S7300",
"rack": 0,
"slot": 2
},
"triggerList": {
"DB700.DBX0.0": {
"Column": "Trigger",
"MemConf": "DB700.DBX0.0",
"DataType": "Bit",
"memByteSize": 1,
"TriggerVal": "True",
"bitAdr": 0
"confPLC": {
"ipAdrr": "192.168.0.52",
"tipoCpu": "S7300",
"rack": 0,
"slot": 2
},
"triggerList": {
"DB700.DBX0.0": {
"Column": "Trigger",
"MemConf": "DB700.DBX0.0",
"DataType": "Bit",
"memByteSize": 1,
"TriggerVal": "True",
"bitAdr": 0
}
},
"parametersList": {
"DB700.DBX0.2": {
"Column": "Macchina in Modo Automatico",
"MemConf": "DB700.DBX0.2",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 2
},
"DB700.DBX0.3": {
"Column": "Presenza Allarmi in Macchina da PLC",
"MemConf": "DB700.DBX0.3",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 3
},
"DB700.DBX0.5": {
"Column": "Presenza Allarmi da Programma Cicli",
"MemConf": "DB700.DBX0.5",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 5
},
"DB700.DBD4": {
"Column": "Giri Mola Giri/Min",
"MemConf": "DB700.DBD4",
"DataType": "DWord",
"memByteSize": 4
},
"DB700.DBX20.0": {
"Column": "Inzio Ciclo di Rettifica",
"MemConf": "DB700.DBX20.0",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 0
},
"DB700.DBX20.1": {
"Column": "Fine Ciclo di Rettifica",
"MemConf": "DB700.DBX20.1",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 1
},
"DB800.DBB0": {
"Column": "Numero / Nome Commessa",
"MemConf": "DB800.DBB0",
"DataType": "String",
"memByteSize": 22
},
"DB800.DBB44": {
"Column": "Codice disegno Pezzo",
"MemConf": "DB800.DBB44",
"DataType": "String",
"memByteSize": 22
}
}
},
"parametersList": {
"DB700.DBX0.2": {
"Column": "Macchina in Modo Automatico",
"MemConf": "DB700.DBX0.2",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 2
},
"DB700.DBX0.3": {
"Column": "Presenza Allarmi in Macchina da PLC",
"MemConf": "DB700.DBX0.3",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 3
},
"DB700.DBX0.5": {
"Column": "Presenza Allarmi da Programma Cicli",
"MemConf": "DB700.DBX0.5",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 5
},
"DB700.DBD4": {
"Column": "Giri Mola Giri/Min",
"MemConf": "DB700.DBD4",
"DataType": "DWord",
"memByteSize": 4
},
"DB700.DBX20.0": {
"Column": "Inzio Ciclo di Rettifica",
"MemConf": "DB700.DBX20.0",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 0
},
"DB700.DBX20.1": {
"Column": "Fine Ciclo di Rettifica",
"MemConf": "DB700.DBX20.1",
"DataType": "Bit",
"memByteSize": 1,
"bitAdr": 1
},
"DB800.DBB0": {
"Column": "Numero / Nome Commessa",
"MemConf": "DB800.DBB0",
"DataType": "String",
"memByteSize": 20
},
"DB800.DBB44": {
"Column": "Codice disegno Pezzo",
"MemConf": "DB800.DBB44",
"DataType": "String",
"memByteSize": 20
}
}
}
+69 -54
View File
@@ -303,6 +303,37 @@ namespace IOB.WIN.FileExp
{
lgInfo("Connection error!");
}
checkCreateOutFile();
}
/// <summary>
/// Esecuzione task di campionamento
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void plcSampleTimer_Tick(object sender, EventArgs e)
{
// leggo aree di memoria triggers dal PLC
reloadTriggersFromPLC();
// verifico valore confrontando con i precedenti...
if (dataChanged())
{
checkCreateOutFile();
// invio su file
saveToFile();
}
}
#endregion
#region helper methods
/// <summary>
/// VErifica se esista file OUT altrimenti lo crea
/// </summary>
private void checkCreateOutFile()
{
// verifico esistenza file sennò creo
if (!File.Exists(outFilePath))
{
@@ -326,29 +357,6 @@ namespace IOB.WIN.FileExp
File.WriteAllText(outFilePath, fileContent);
}
}
/// <summary>
/// Esecuzione task di campionamento
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void plcSampleTimer_Tick(object sender, EventArgs e)
{
// leggo aree di memoria triggers dal PLC
reloadTriggersFromPLC();
// verifico valore confrontando con i precedenti...
if (dataChanged())
{
// invio su file
saveToFile();
}
}
#endregion
#region helper methods
/// <summary>
/// salva i dati sul FILE in append
/// </summary>
@@ -370,38 +378,45 @@ namespace IOB.WIN.FileExp
outVal = "";
// leggo!
var currMem = currPLC.ReadBytes(DataType.DataBlock, memoria.DbNum, memoria.indiceMem, numByte);
// converto lettura secondo il tipo!
switch (item.Value.DataType)
// check dati restituiti...
if (currMem.Length > 0)
{
case S7DataType.Bit:
// uso memSize
outVal = S7.Net.Types.Bit.FromByte(currMem[0], item.Value.bitAdr).ToString();
break;
case S7DataType.Byte:
outVal = S7.Net.Types.Byte.FromByteArray(currMem.ToArray()).ToString();
break;
case S7DataType.Word:
outVal = S7.Net.Types.Word.FromByteArray(currMem.ToArray()).ToString();
break;
case S7DataType.DWord:
outVal = S7.Net.Types.DWord.FromByteArray(currMem.ToArray()).ToString();
break;
case S7DataType.Real:
outVal = S7.Net.Types.Double.FromByteArray(currMem.ToArray()).ToString();
break;
case S7DataType.String:
// prendo 2° valore (num max valori)
int numChar = currMem[1];
// poi prendo la stringa...
for (int i = 2; i < numChar + 2; i++)
{
outVal += Char.ConvertFromUtf32(currMem[i]);
}
break;
default:
outVal = BitConverter.ToString(currMem);
break;
// converto lettura secondo il tipo!
switch (item.Value.DataType)
{
case S7DataType.Bit:
// uso memSize
outVal = S7.Net.Types.Bit.FromByte(currMem[0], item.Value.bitAdr).ToString();
break;
case S7DataType.Byte:
outVal = S7.Net.Types.Byte.FromByteArray(currMem.ToArray()).ToString();
break;
case S7DataType.Word:
outVal = S7.Net.Types.Word.FromByteArray(currMem.ToArray()).ToString();
break;
case S7DataType.DWord:
outVal = S7.Net.Types.DWord.FromByteArray(currMem.ToArray()).ToString();
break;
case S7DataType.Real:
outVal = S7.Net.Types.Double.FromByteArray(currMem.ToArray()).ToString();
break;
case S7DataType.String:
// prendo 2° valore (num max valori)
int numChar = currMem[1];
// poi prendo la stringa...
for (int i = 2; i < numChar + 2; i++)
{
outVal += Char.ConvertFromUtf32(currMem[i]);
}
break;
default:
outVal = BitConverter.ToString(currMem);
break;
}
}
else
{
lgError($"Errore: ricevuto 0 byte per DB{memoria.DbNum}.{memoria.indiceMem:000}");
}
newData.Add(outVal);
}
+2 -2
View File
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
// È possibile specificare tutti i valori oppure impostare valori predefiniti per i numeri relativi alla revisione e alla build
// usando l'asterisco '*' come illustrato di seguito:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.2.2007.34")]
[assembly: AssemblyFileVersion("1.2.2007.34")]
[assembly: AssemblyVersion("1.2.2007.37")]
[assembly: AssemblyFileVersion("1.2.2007.37")]