diff --git a/IOB-UT-NEXT/DataQueue.cs b/IOB-UT-NEXT/DataQueue.cs
new file mode 100644
index 00000000..8eb40c24
--- /dev/null
+++ b/IOB-UT-NEXT/DataQueue.cs
@@ -0,0 +1,135 @@
+using StackExchange.Redis;
+using System.Collections.Concurrent;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace IOB_UT_NEXT
+{
+ ///
+ /// Classe gestione code, a seconda della conf come LIST redis o come concurrent queue in memoria
+ ///
+ public class DataQueue
+ {
+ #region Public Constructors
+
+ public DataQueue(string codIOB, string qName, bool useRedis)
+ {
+ UseRedis = useRedis;
+ CodIOB = codIOB;
+ QueueName = qName;
+ //redisMan = new RedisIobCache();
+ KeyName = redisMan.redHash($"IOB:QUEUE:{CodIOB}:{QueueName}");
+ }
+
+ #endregion Public Constructors
+
+ #region Public Methods
+
+ public int Count
+ {
+ get
+ {
+ int answ = 0;
+ if (UseRedis)
+ {
+ answ = (int)redisMan.redQueueCount(KeyName);
+ }
+ else
+ {
+ answ = MemQueue.Count;
+ }
+ return answ;
+ }
+ }
+
+ ///
+ /// Accodamento elemento
+ ///
+ ///
+ public void Enqueue(string item)
+ {
+ if (UseRedis)
+ {
+ redisMan.redQueuePush(KeyName, item);
+ }
+ else
+ {
+ MemQueue.Enqueue(item);
+ }
+ }
+
+ ///
+ /// Lista string degli elementi in coda
+ ///
+ ///
+ public List ToList()
+ {
+ List answ = new List();
+ if (UseRedis)
+ {
+ // ciclo x prendere tutti...
+ while (redisMan.redQueueCount(KeyName) > 0)
+ {
+ answ.Add(redisMan.redQueuePop(KeyName));
+ }
+ }
+ else
+ {
+ answ = MemQueue.ToList();
+ }
+
+ return answ;
+ }
+
+ ///
+ /// Recupera 1 record dalla coda...
+ ///
+ ///
+ ///
+ public bool TryDequeue(out string result)
+ {
+ bool fatto = false;
+ if (UseRedis)
+ {
+ result = redisMan.redQueuePop(KeyName);
+ fatto = true;
+ }
+ else
+ {
+ fatto = MemQueue.TryDequeue(out result);
+ }
+ return fatto;
+ }
+
+ #endregion Public Methods
+
+ #region Private Fields
+
+ private string CodIOB = "NA";
+
+ private RedisKey KeyName = "NA";
+
+ ///
+ /// Coda modalità memoria locale
+ ///
+ private ConcurrentQueue MemQueue = new ConcurrentQueue();
+
+ private string QueueName = "NA";
+
+ ///
+ /// Indica se usare redis come datastore vs memoria
+ ///
+ private bool UseRedis = false;
+
+ #endregion Private Fields
+
+ #region Private Properties
+
+ ///
+ /// Oggetto connessione REDIS
+ ///
+ private RedisIobCache redisMan { get; set; } = new RedisIobCache();
+
+ #endregion Private Properties
+ }
+}
\ No newline at end of file
diff --git a/IOB-UT-NEXT/IOB-UT-NEXT.csproj b/IOB-UT-NEXT/IOB-UT-NEXT.csproj
index 2572969c..22497f22 100644
--- a/IOB-UT-NEXT/IOB-UT-NEXT.csproj
+++ b/IOB-UT-NEXT/IOB-UT-NEXT.csproj
@@ -143,6 +143,7 @@
+
diff --git a/IOB-UT-NEXT/RedisMan.cs b/IOB-UT-NEXT/RedisMan.cs
index c449f531..306d6165 100644
--- a/IOB-UT-NEXT/RedisMan.cs
+++ b/IOB-UT-NEXT/RedisMan.cs
@@ -629,29 +629,6 @@ namespace IOB_UT_NEXT
}
return answ;
}
- ///
- /// RIMUOVE un singolo valore (riga) dalla hash
- ///
- ///
- ///
- ///
- public string redRemoveHashField(string hashKey, string hashField)
- {
- string answ = "";
- // cerco se ci sia valore in redis...
- try
- {
- RedisKey chiave = hashKey;
- RedisValue campo = hashField;
- RedisValue valOut = cache.HashDelete(chiave, campo);
- answ = valOut.ToString();
- }
- catch (Exception exc)
- {
- Logging.Instance.Error($"redRemoveHashField{Environment.NewLine}{exc}");
- }
- return answ;
- }
///
/// Nome della variabile HASH da utilizzare (dato CodModulo / Server / DB impiegato da
@@ -752,6 +729,60 @@ namespace IOB_UT_NEXT
return answ;
}
+ ///
+ /// Conteggio elementi in QUEUE (FIFO)
+ ///
+ ///
+ ///
+ public long redQueueCount(RedisKey queueName)
+ {
+ return cache.ListLength(queueName);
+ }
+
+ ///
+ /// Recupero valore in QUEUE (FIFO)
+ ///
+ ///
+ ///
+ public RedisValue redQueuePop(RedisKey queueName)
+ {
+ return cache.ListLeftPop(queueName);
+ }
+
+ ///
+ /// Scrittura valore in QUEUE (FIFO)
+ ///
+ ///
+ ///
+ public void redQueuePush(RedisKey queueName, RedisValue value)
+ {
+ cache.ListRightPush(queueName, value);
+ }
+
+ ///
+ /// RIMUOVE un singolo valore (riga) dalla hash
+ ///
+ ///
+ ///
+ ///
+ public string redRemoveHashField(string hashKey, string hashField)
+ {
+ string answ = "";
+ // cerco se ci sia valore in redis...
+ try
+ {
+ RedisKey chiave = hashKey;
+ RedisValue campo = hashField;
+ RedisValue valOut = cache.HashDelete(chiave, campo);
+ answ = valOut.ToString();
+ }
+ catch (Exception exc)
+ {
+ Logging.Instance.Error($"redRemoveHashField{Environment.NewLine}{exc}");
+ }
+ return answ;
+ }
+
///
/// Salvataggio di una hash di valori
///
@@ -930,6 +961,36 @@ namespace IOB_UT_NEXT
return answ;
}
+ ///
+ /// Conteggio elementi in QUEUE (LIFO)
+ ///
+ ///
+ ///
+ public long redStackCount(RedisKey queueName)
+ {
+ return cache.ListLength(queueName);
+ }
+
+ ///
+ /// Recupero valore in STACK (LIFO)
+ ///
+ ///
+ ///
+ public RedisValue redStackPop(RedisKey stackName)
+ {
+ return cache.ListRightPop(stackName);
+ }
+
+ ///
+ /// Scrittura valore in STACK (LIFO)
+ ///
+ ///
+ ///
+ public void redStackPush(RedisKey stackName, RedisValue value)
+ {
+ cache.ListRightPush(stackName, value);
+ }
+
///
/// Resetta (elimina) un contatore in Redis
///
diff --git a/IOB-WIN-NEXT/AdapterForm.cs b/IOB-WIN-NEXT/AdapterForm.cs
index f579b1be..349db428 100644
--- a/IOB-WIN-NEXT/AdapterForm.cs
+++ b/IOB-WIN-NEXT/AdapterForm.cs
@@ -1576,6 +1576,7 @@ namespace IOB_WIN_NEXT
optPar = optParRead,
versIOB = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(),
codIOB = fIni.ReadString("IOB", "IOB_NAME", CurrIOB),
+ EnableRedisQueue = bool.Parse(fIni.ReadString("IOB", "EnableRedisQueue", "false")),
disableExeTask = bool.Parse(fIni.ReadString("IOB", "DIS_EXE_TASK", "false")),
disableStateCh = bool.Parse(fIni.ReadString("IOB", "DIS_STATE_CH", "false")),
filenameIOB = CurrIOB,
diff --git a/IOB-WIN-NEXT/DATA/CONF/MAIN.ini b/IOB-WIN-NEXT/DATA/CONF/MAIN.ini
index 0bb02ea1..525743fd 100644
--- a/IOB-WIN-NEXT/DATA/CONF/MAIN.ini
+++ b/IOB-WIN-NEXT/DATA/CONF/MAIN.ini
@@ -57,6 +57,6 @@ CLI_INST=SteamWareSim
;STARTLIST=SIMUL_02
;NB: mettere copy always ai file di conf x fare test...
-STARTLIST=BAGLIETTO_CIMOLAI_01
+STARTLIST=SIMUL_01
MAXCNC=10
\ No newline at end of file
diff --git a/IOB-WIN-NEXT/DATA/CONF/SIMUL_01.ini b/IOB-WIN-NEXT/DATA/CONF/SIMUL_01.ini
index 34da0ae4..1980a398 100644
--- a/IOB-WIN-NEXT/DATA/CONF/SIMUL_01.ini
+++ b/IOB-WIN-NEXT/DATA/CONF/SIMUL_01.ini
@@ -3,6 +3,7 @@
CNCTYPE=SIMULA
PING_MS_TIMEOUT=500
MinDeltaSec=5
+EnableRedisQueue=true
[MACHINE]
VENDOR=STEAMWARE
@@ -91,10 +92,12 @@ FTP_LOC_DIR=temp\csv
FTP_REM_DIR=
CSV_ADD_HEADER=true
-; conf file import
-FILE_IMPORT_FOLDER=c:\temp\import
-FILE_IMPORT_TYPE=*.xlsx
-FILE_ARCHIVE_FOLDER=c:\temp\import\archive
-
[BRANCH]
-NAME=master
\ No newline at end of file
+NAME=master
+
+; Tags manuali
+[TAGS]
+Customer=Steamware
+HostOS=WIN
+HostName=IOB-WIN-SIMULA
+HostAddr=10.74.82.76
diff --git a/IOB-WIN-NEXT/DATA/CONF/SIMUL_01.json b/IOB-WIN-NEXT/DATA/CONF/SIMUL_01.json
index 06269024..c3f23224 100644
--- a/IOB-WIN-NEXT/DATA/CONF/SIMUL_01.json
+++ b/IOB-WIN-NEXT/DATA/CONF/SIMUL_01.json
@@ -1,99 +1,87 @@
{
- "mMapWrite": {
- "setArt": {
- "name": "setArt",
- "description": "Articolo",
- "memAddr": "DB150.DBB12",
- "tipoMem": "String",
- "index": 12,
- "size": 20
+ "mMapWrite": {
+ "setArt": {
+ "name": "setArt",
+ "description": "Articolo",
+ "memAddr": "DB150.DBB12",
+ "tipoMem": "String",
+ "index": 12,
+ "size": 20
+ },
+ "setComm": {
+ "name": "setComm",
+ "description": "Commessa",
+ "memAddr": "DB150.DBB32",
+ "tipoMem": "String",
+ "index": 32,
+ "size": 20
+ },
+ "setPzComm": {
+ "name": "setPzComm",
+ "description": "Qta Richiesta",
+ "memAddr": "DB150.DBB8",
+ "tipoMem": "Int",
+ "index": 8,
+ "size": 4
+ },
+ "forceSetPzCount": {
+ "name": "forceSetPzCount",
+ "description": "Imposta Qta",
+ "memAddr": "DB150.DBB8",
+ "tipoMem": "Int",
+ "index": 8,
+ "size": 4
+ }
},
- "setComm": {
- "name": "setComm",
- "description": "Commessa",
- "memAddr": "DB150.DBB32",
- "tipoMem": "String",
- "index": 32,
- "size": 20
- },
- "setPzComm": {
- "name": "setPzComm",
- "description": "Qta Richiesta",
- "memAddr": "DB150.DBB8",
- "tipoMem": "Int",
- "index": 8,
- "size": 4
- },
- "forceSetPzCount": {
- "name": "forceSetPzCount",
- "description": "Imposta Qta",
- "memAddr": "DB150.DBB8",
- "tipoMem": "Int",
- "index": 8,
- "size": 4
+ "mMapRead": {
+ "TEMP_01": {
+ "name": "TEMP_01",
+ "description": "Temperatura 01",
+ "tipoMem": "Real",
+ "minVal": 18,
+ "maxVal": 24
+ },
+ "POWER_01": {
+ "name": "POWER_01",
+ "description": "Potenza impianto",
+ "tipoMem": "Int",
+ "minVal": 40,
+ "maxVal": 80
+ },
+ "FEED_OVER": {
+ "name": "FEED_OVER",
+ "description": "FEED override",
+ "tipoMem": "Int",
+ "minVal": 0,
+ "maxVal": 100
+ },
+ "RAPID_OVER": {
+ "name": "RAPID_OVER",
+ "description": "RAPID override",
+ "tipoMem": "Int",
+ "minVal": 50,
+ "maxVal": 120
+ },
+ "POS_X": {
+ "name": "POS_X",
+ "description": "Asse X",
+ "tipoMem": "Int",
+ "minVal": -2000,
+ "maxVal": 2000
+ },
+ "POS_Y": {
+ "name": "POS_Y",
+ "description": "Asse Y",
+ "tipoMem": "Int",
+ "minVal": 0,
+ "maxVal": 2000
+ },
+ "POS_Z": {
+ "name": "POS_Z",
+ "description": "Asse Z",
+ "tipoMem": "Int",
+ "minVal": 0,
+ "maxVal": 1500
+ }
}
- },
- "mMapRead": {
- "TEMP_01": {
- "name": "TEMP_01",
- "description": "Temperatura 01",
- "tipoMem": "Real",
- "minVal": 18,
- "maxVal": 24
- },
- "POWER_01": {
- "name": "POWER_01",
- "description": "Potenza impianto",
- "tipoMem": "Int",
- "minVal": 40,
- "maxVal": 80
- },
- "FEED_OVER": {
- "name": "FEED_OVER",
- "description": "FEED override",
- "tipoMem": "Int",
- "minVal": 0,
- "maxVal": 100
- },
- "RAPID_OVER": {
- "name": "RAPID_OVER",
- "description": "RAPID override",
- "tipoMem": "Int",
- "minVal": 50,
- "maxVal": 120
- },
- "POS_X": {
- "name": "POS_X",
- "description": "Asse X",
- "tipoMem": "Int",
- "minVal": -2000,
- "maxVal": 2000
- },
- "POS_Y": {
- "name": "POS_Y",
- "description": "Asse Y",
- "tipoMem": "Int",
- "minVal": 0,
- "maxVal": 2000
- },
- "POS_Z": {
- "name": "POS_Z",
- "description": "Asse Z",
- "tipoMem": "Int",
- "minVal": 0,
- "maxVal": 1500
- }
- },
- "fileDecod": {
- "Product": 3,
- "Variety": 9,
- "Supplier": 8,
- "ExtDoc": 2,
- "DateRif": 14,
- "QtyTot": 22,
- "NumPack": 21,
- "NumPed": 17,
- "PackPed": 18,
- "PesoPack": 20
- }
}
\ No newline at end of file
diff --git a/IOB-WIN-NEXT/DATA/CONF/SIMUL_02.ini b/IOB-WIN-NEXT/DATA/CONF/SIMUL_02.ini
index 8a671de6..b3048dce 100644
--- a/IOB-WIN-NEXT/DATA/CONF/SIMUL_02.ini
+++ b/IOB-WIN-NEXT/DATA/CONF/SIMUL_02.ini
@@ -3,6 +3,7 @@
CNCTYPE=SIMULA
PING_MS_TIMEOUT=500
MinDeltaSec=5
+EnableRedisQueue=true
[MACHINE]
VENDOR=STEAMWARE
@@ -80,6 +81,7 @@ TC_MAX_INCR=5
MAX_PZ_INCR_PERC=1000
; conf parametri memoria READ/WRITE
PARAM_CONF=SIMUL_02.json
+
;conf test FTP
FTP_SERVER=ftp.steamware.net
FTP_USER=testftpuser
@@ -90,4 +92,11 @@ FTP_LOC_DIR=temp\csv
FTP_REM_DIR=
[BRANCH]
-NAME=master
\ No newline at end of file
+NAME=master
+
+; Tags manuali
+[TAGS]
+Customer=Steamware
+HostOS=WIN
+HostName=IOB-WIN-SIMULA
+HostAddr=10.74.82.76
diff --git a/IOB-WIN-NEXT/DATA/CONF/SIMUL_02.json b/IOB-WIN-NEXT/DATA/CONF/SIMUL_02.json
index 90281f1d..dbb74d4d 100644
--- a/IOB-WIN-NEXT/DATA/CONF/SIMUL_02.json
+++ b/IOB-WIN-NEXT/DATA/CONF/SIMUL_02.json
@@ -83,35 +83,5 @@
"minVal": 0,
"maxVal": 1500
}
- },
- "fileDecod": {
- "Product": 2,
- "Variety": 3,
- "Supplier": 4,
- "ExtDoc": 0,
- "DateRif": 1,
- "QtyTot": 15,
- "NumPack": 14,
- "NumPed": 11,
- "PackPed": 12,
- "PesoPack": 13
- },
- "optKVP": {
- "hasRecipe": true,
- "maxPodlQty": 530,
- "useLocalRecipe": true,
- "path-locBase": "C:\\MesData\\Local",
- "path-remBase": "C:\\MesData\\Remote",
- "path-00-Arch": "ArchivioRicette\\FIMAT",
- "path-01-Temp": "01-Temp\\FIMAT",
- "path-02-Sent": "02-Inviate\\FIMAT",
- "path-03-Recv": "03-Ricevute\\FIMAT",
- "path-04-remReq": "C:\\MesData\\Remote\\Queue2",
- "path-05-remExe": "C:\\MesData\\Remote\\Dosed",
- "path-06-remRec": "C:\\MesData\\Remote\\Recipes",
- "path-outReport": "C:\\MesData\\Report",
- "path-confSetup": "C:\\MesData\\Setup\\setupConsumi.json",
- "replace-": "{{PODL}}",
- "replace-": "Kg{{Qty}} | {{Note}}"
}
}
\ No newline at end of file
diff --git a/IOB-WIN-NEXT/DATA/CONF/SIMUL_03.ini b/IOB-WIN-NEXT/DATA/CONF/SIMUL_03.ini
index 0765968a..71b21636 100644
--- a/IOB-WIN-NEXT/DATA/CONF/SIMUL_03.ini
+++ b/IOB-WIN-NEXT/DATA/CONF/SIMUL_03.ini
@@ -3,6 +3,7 @@
CNCTYPE=SIMULA
PING_MS_TIMEOUT=500
MinDeltaSec=5
+EnableRedisQueue=true
[MACHINE]
VENDOR=STEAMWARE
@@ -34,7 +35,7 @@ BLINK_FILT=0
[OPTPAR]
AUTO_CHANGE_ODL=true
-AUTO_SNAPSHOT_DOSSIER=true
+AUTO_SNAPSHOT_DOSSIER=false
CHANGE_ODL_HOURS=24
CHANGE_ODL_IDLE_MIN=0
;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice
@@ -92,4 +93,11 @@ FTP_REM_DIR=
[BRANCH]
-NAME=master
\ No newline at end of file
+NAME=master
+
+; Tags manuali
+[TAGS]
+Customer=Steamware
+HostOS=WIN
+HostName=IOB-WIN-SIMULA
+HostAddr=10.74.82.76
diff --git a/IOB-WIN-NEXT/DATA/CONF/SIMUL_04.ini b/IOB-WIN-NEXT/DATA/CONF/SIMUL_04.ini
index 5d7221d0..ef546d14 100644
--- a/IOB-WIN-NEXT/DATA/CONF/SIMUL_04.ini
+++ b/IOB-WIN-NEXT/DATA/CONF/SIMUL_04.ini
@@ -3,6 +3,7 @@
CNCTYPE=SIMULA
PING_MS_TIMEOUT=500
MinDeltaSec=5
+EnableRedisQueue=true
[MACHINE]
VENDOR=STEAMWARE
@@ -33,7 +34,7 @@ BLINK_FILT=0
[OPTPAR]
AUTO_CHANGE_ODL=true
-AUTO_SNAPSHOT_DOSSIER=true
+AUTO_SNAPSHOT_DOSSIER=false
CHANGE_ODL_HOURS=24
CHANGE_ODL_IDLE_MIN=0
;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice
@@ -90,4 +91,11 @@ FTP_LOC_DIR=temp\csv
FTP_REM_DIR=
[BRANCH]
-NAME=master
\ No newline at end of file
+NAME=master
+
+; Tags manuali
+[TAGS]
+Customer=Steamware
+HostOS=WIN
+HostName=IOB-WIN-SIMULA
+HostAddr=10.74.82.76
diff --git a/IOB-WIN-NEXT/DATA/CONF/SIMUL_05.ini b/IOB-WIN-NEXT/DATA/CONF/SIMUL_05.ini
index 93377cfc..c56a41e7 100644
--- a/IOB-WIN-NEXT/DATA/CONF/SIMUL_05.ini
+++ b/IOB-WIN-NEXT/DATA/CONF/SIMUL_05.ini
@@ -3,6 +3,7 @@
CNCTYPE=SIMULA
PING_MS_TIMEOUT=500
MinDeltaSec=5
+EnableRedisQueue=true
[MACHINE]
VENDOR=STEAMWARE
@@ -33,7 +34,7 @@ BLINK_FILT=0
[OPTPAR]
AUTO_CHANGE_ODL=true
-AUTO_SNAPSHOT_DOSSIER=true
+AUTO_SNAPSHOT_DOSSIER=false
CHANGE_ODL_HOURS=24
CHANGE_ODL_IDLE_MIN=0
;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice
@@ -90,4 +91,11 @@ FTP_LOC_DIR=temp\csv
FTP_REM_DIR=
[BRANCH]
-NAME=master
\ No newline at end of file
+NAME=master
+
+; Tags manuali
+[TAGS]
+Customer=Steamware
+HostOS=WIN
+HostName=IOB-WIN-SIMULA
+HostAddr=10.74.82.76
diff --git a/IOB-WIN-NEXT/DATA/CONF/SIMUL_06.ini b/IOB-WIN-NEXT/DATA/CONF/SIMUL_06.ini
index 20df0ebb..20fdb9ba 100644
--- a/IOB-WIN-NEXT/DATA/CONF/SIMUL_06.ini
+++ b/IOB-WIN-NEXT/DATA/CONF/SIMUL_06.ini
@@ -3,6 +3,7 @@
CNCTYPE=SIMULA
PING_MS_TIMEOUT=500
MinDeltaSec=5
+EnableRedisQueue=true
[MACHINE]
VENDOR=STEAMWARE
@@ -33,7 +34,7 @@ BLINK_FILT=0
[OPTPAR]
AUTO_CHANGE_ODL=true
-AUTO_SNAPSHOT_DOSSIER=true
+AUTO_SNAPSHOT_DOSSIER=false
CHANGE_ODL_HOURS=24
CHANGE_ODL_IDLE_MIN=0
;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice
@@ -90,4 +91,11 @@ FTP_LOC_DIR=temp\csv
FTP_REM_DIR=
[BRANCH]
-NAME=master
\ No newline at end of file
+NAME=master
+
+; Tags manuali
+[TAGS]
+Customer=Steamware
+HostOS=WIN
+HostName=IOB-WIN-SIMULA
+HostAddr=10.74.82.76
diff --git a/IOB-WIN-NEXT/DATA/CONF/SIMUL_07.ini b/IOB-WIN-NEXT/DATA/CONF/SIMUL_07.ini
index fd7a8f3b..5b79c55a 100644
--- a/IOB-WIN-NEXT/DATA/CONF/SIMUL_07.ini
+++ b/IOB-WIN-NEXT/DATA/CONF/SIMUL_07.ini
@@ -3,6 +3,7 @@
CNCTYPE=SIMULA
PING_MS_TIMEOUT=500
MinDeltaSec=5
+EnableRedisQueue=true
[MACHINE]
VENDOR=STEAMWARE
@@ -33,7 +34,7 @@ BLINK_FILT=0
[OPTPAR]
AUTO_CHANGE_ODL=true
-AUTO_SNAPSHOT_DOSSIER=true
+AUTO_SNAPSHOT_DOSSIER=false
CHANGE_ODL_HOURS=24
CHANGE_ODL_IDLE_MIN=0
;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice
@@ -91,4 +92,11 @@ FTP_REM_DIR=
[BRANCH]
-NAME=master
\ No newline at end of file
+NAME=master
+
+; Tags manuali
+[TAGS]
+Customer=Steamware
+HostOS=WIN
+HostName=IOB-WIN-SIMULA
+HostAddr=10.74.82.76
diff --git a/IOB-WIN-NEXT/DATA/CONF/SIMUL_08.ini b/IOB-WIN-NEXT/DATA/CONF/SIMUL_08.ini
index d5a25c56..0903fd79 100644
--- a/IOB-WIN-NEXT/DATA/CONF/SIMUL_08.ini
+++ b/IOB-WIN-NEXT/DATA/CONF/SIMUL_08.ini
@@ -3,6 +3,7 @@
CNCTYPE=SIMULA
PING_MS_TIMEOUT=500
MinDeltaSec=5
+EnableRedisQueue=true
[MACHINE]
VENDOR=STEAMWARE
@@ -33,7 +34,7 @@ BLINK_FILT=0
[OPTPAR]
AUTO_CHANGE_ODL=false
-AUTO_SNAPSHOT_DOSSIER=true
+AUTO_SNAPSHOT_DOSSIER=false
CHANGE_ODL_HOURS=48
CHANGE_ODL_IDLE_MIN=10
;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice
@@ -90,4 +91,11 @@ FTP_LOC_DIR=temp\csv
FTP_REM_DIR=
[BRANCH]
-NAME=master
\ No newline at end of file
+NAME=master
+
+; Tags manuali
+[TAGS]
+Customer=Steamware
+HostOS=WIN
+HostName=IOB-WIN-SIMULA
+HostAddr=10.74.82.76
diff --git a/IOB-WIN-NEXT/DATA/CONF/SIM_DP_01.ini b/IOB-WIN-NEXT/DATA/CONF/SIM_DP_01.ini
index 4b87c12f..743cc9cf 100644
--- a/IOB-WIN-NEXT/DATA/CONF/SIM_DP_01.ini
+++ b/IOB-WIN-NEXT/DATA/CONF/SIM_DP_01.ini
@@ -3,6 +3,7 @@
CNCTYPE=SIMULA
PING_MS_TIMEOUT=500
MinDeltaSec=5
+EnableRedisQueue=true
[MACHINE]
VENDOR=STEAMWARE
@@ -50,7 +51,7 @@ PER_BASE=10500
SIM_PZCNT=10|3
SIM_ALARM=1000|20
SIM_MANU=50|6
-; 1 = indica che la macchina è multi --> allo scadere del contapezzo gestisce ANCHE il giro tavola sui bit relativi
+; 1 = indica che la macchina è multi --> allo scadere del contapezzo gestisce ANCHE il giro tavola sui bit relativi
IS_MULTI=1
; indica gestione e simulazione bit 5 --> slow/emergenza
SIM_SLOW=3500|20
@@ -58,7 +59,7 @@ SIM_SLOW=3500|20
SIM_WUCD=8000|20
; indica gestione e simulazione bit 7 --> emergenza
SIM_EMRG=4000|10
-; indica simulazione delle funzionalità power ON/ OFF
+; indica simulazione delle funzionalità power ON/ OFF
SIM_POW_ON_OFF=true
T_ON=6
T_OFF=22
@@ -74,5 +75,22 @@ SIM_MATR_OPR=1
; conf parametri memoria READ/WRITE
PARAM_CONF=SIM_DP_01.json
+;conf test FTP
+FTP_SERVER=ftp.steamware.net
+FTP_USER=testftpuser
+FTP_PWD=we4reFromB3rghem!
+FTP_CERT=
+FTP_SKIP=TRUE
+FTP_LOC_DIR=temp\csv
+FTP_REM_DIR=
+CSV_ADD_HEADER=true
+
[BRANCH]
-NAME=master
\ No newline at end of file
+NAME=master
+
+; Tags manuali
+[TAGS]
+Customer=Steamware
+HostOS=WIN
+HostName=IOB-WIN-SIMULA
+HostAddr=10.74.82.76
diff --git a/IOB-WIN-NEXT/DATA/CONF/SIM_DP_01.json b/IOB-WIN-NEXT/DATA/CONF/SIM_DP_01.json
index 482f00ef..c3f23224 100644
--- a/IOB-WIN-NEXT/DATA/CONF/SIM_DP_01.json
+++ b/IOB-WIN-NEXT/DATA/CONF/SIM_DP_01.json
@@ -1,99 +1,87 @@
{
- "mMapWrite": {
- "setArt": {
- "name": "setArt",
- "description": "Articolo",
- "memAddr": "DB150.DBB12",
- "tipoMem": "String",
- "index": 12,
- "size": 20
+ "mMapWrite": {
+ "setArt": {
+ "name": "setArt",
+ "description": "Articolo",
+ "memAddr": "DB150.DBB12",
+ "tipoMem": "String",
+ "index": 12,
+ "size": 20
+ },
+ "setComm": {
+ "name": "setComm",
+ "description": "Commessa",
+ "memAddr": "DB150.DBB32",
+ "tipoMem": "String",
+ "index": 32,
+ "size": 20
+ },
+ "setPzComm": {
+ "name": "setPzComm",
+ "description": "Qta Richiesta",
+ "memAddr": "DB150.DBB8",
+ "tipoMem": "Int",
+ "index": 8,
+ "size": 4
+ },
+ "forceSetPzCount": {
+ "name": "forceSetPzCount",
+ "description": "Imposta Qta",
+ "memAddr": "DB150.DBB8",
+ "tipoMem": "Int",
+ "index": 8,
+ "size": 4
+ }
},
- "setComm": {
- "name": "setComm",
- "description": "Commessa",
- "memAddr": "DB150.DBB32",
- "tipoMem": "String",
- "index": 32,
- "size": 20
- },
- "setPzComm": {
- "name": "setPzComm",
- "description": "Qta Richiesta",
- "memAddr": "DB150.DBB8",
- "tipoMem": "Int",
- "index": 8,
- "size": 4
- },
- "forceSetPzCount": {
- "name": "forceSetPzCount",
- "description": "Imposta Qta",
- "memAddr": "DB150.DBB8",
- "tipoMem": "Int",
- "index": 8,
- "size": 4
+ "mMapRead": {
+ "TEMP_01": {
+ "name": "TEMP_01",
+ "description": "Temperatura 01",
+ "tipoMem": "Real",
+ "minVal": 18,
+ "maxVal": 24
+ },
+ "POWER_01": {
+ "name": "POWER_01",
+ "description": "Potenza impianto",
+ "tipoMem": "Int",
+ "minVal": 40,
+ "maxVal": 80
+ },
+ "FEED_OVER": {
+ "name": "FEED_OVER",
+ "description": "FEED override",
+ "tipoMem": "Int",
+ "minVal": 0,
+ "maxVal": 100
+ },
+ "RAPID_OVER": {
+ "name": "RAPID_OVER",
+ "description": "RAPID override",
+ "tipoMem": "Int",
+ "minVal": 50,
+ "maxVal": 120
+ },
+ "POS_X": {
+ "name": "POS_X",
+ "description": "Asse X",
+ "tipoMem": "Int",
+ "minVal": -2000,
+ "maxVal": 2000
+ },
+ "POS_Y": {
+ "name": "POS_Y",
+ "description": "Asse Y",
+ "tipoMem": "Int",
+ "minVal": 0,
+ "maxVal": 2000
+ },
+ "POS_Z": {
+ "name": "POS_Z",
+ "description": "Asse Z",
+ "tipoMem": "Int",
+ "minVal": 0,
+ "maxVal": 1500
+ }
}
- },
- "mMapRead": {
- "TEMP_01": {
- "name": "TEMP_01",
- "description": "Temperatura 01",
- "tipoMem": "Real",
- "minVal": 18,
- "maxVal": 24
- },
- "POWER_01": {
- "name": "POWER_01",
- "description": "Potenza impianto",
- "tipoMem": "Int",
- "minVal": 40,
- "maxVal": 80
- },
- "FEED_OVER": {
- "name": "FEED_OVER",
- "description": "FEED override",
- "tipoMem": "Int",
- "minVal": 0,
- "maxVal": 100
- },
- "RAPID_OVER": {
- "name": "RAPID_OVER",
- "description": "RAPID override",
- "tipoMem": "Int",
- "minVal": 50,
- "maxVal": 120
- },
- "POS_X": {
- "name": "POS_X",
- "description": "Asse X",
- "tipoMem": "Int",
- "minVal": -2000,
- "maxVal": 2000
- },
- "POS_Y": {
- "name": "POS_Y",
- "description": "Asse Y",
- "tipoMem": "Int",
- "minVal": 0,
- "maxVal": 2000
- },
- "POS_Z": {
- "name": "POS_Z",
- "description": "Asse Z",
- "tipoMem": "Int",
- "minVal": 0,
- "maxVal": 1500
- }
- },
- "fileDecod": {
- "Product": 2,
- "Variety": 3,
- "Supplier": 4,
- "ExtDoc": 0,
- "DateRif": 1,
- "QtyTot": 15,
- "NumPack": 14,
- "NumPed": 11,
- "PackPed": 12,
- "PesoPack": 13
- }
}
\ No newline at end of file
diff --git a/IOB-WIN-NEXT/DATA/CONF/SIM_DP_02.ini b/IOB-WIN-NEXT/DATA/CONF/SIM_DP_02.ini
index 265e84b4..de87997b 100644
--- a/IOB-WIN-NEXT/DATA/CONF/SIM_DP_02.ini
+++ b/IOB-WIN-NEXT/DATA/CONF/SIM_DP_02.ini
@@ -3,6 +3,7 @@
CNCTYPE=SIMULA
PING_MS_TIMEOUT=500
MinDeltaSec=5
+EnableRedisQueue=true
[MACHINE]
VENDOR=STEAMWARE
@@ -50,7 +51,7 @@ PER_BASE=10400
SIM_PZCNT=10|2
SIM_ALARM=1000|20
SIM_MANU=50|6
-; 1 = indica che la macchina è multi --> allo scadere del contapezzo gestisce ANCHE il giro tavola sui bit relativi
+; 1 = indica che la macchina � multi --> allo scadere del contapezzo gestisce ANCHE il giro tavola sui bit relativi
IS_MULTI=1
; indica gestione e simulazione bit 5 --> slow/emergenza
SIM_SLOW=6500|20
@@ -58,7 +59,7 @@ SIM_SLOW=6500|20
SIM_WUCD=8000|20
; indica gestione e simulazione bit 7 --> emergenza
SIM_EMRG=4000|10
-; indica simulazione delle funzionalità power ON/ OFF
+; indica simulazione delle funzionalit� power ON/ OFF
SIM_POW_ON_OFF=false
T_ON=6
T_OFF=22
@@ -72,7 +73,24 @@ SIM_DICH=262|1
SIM_MATR_OPR=1
; conf parametri memoria READ/WRITE
-PARAM_CONF=SIM_DP_01.json
+PARAM_CONF=SIM_DP_02.json
+
+;conf test FTP
+FTP_SERVER=ftp.steamware.net
+FTP_USER=testftpuser
+FTP_PWD=we4reFromB3rghem!
+FTP_CERT=
+FTP_SKIP=TRUE
+FTP_LOC_DIR=temp\csv
+FTP_REM_DIR=
+CSV_ADD_HEADER=true
[BRANCH]
-NAME=master
\ No newline at end of file
+NAME=master
+
+; Tags manuali
+[TAGS]
+Customer=Steamware
+HostOS=WIN
+HostName=IOB-WIN-SIMULA
+HostAddr=10.74.82.76
diff --git a/IOB-WIN-NEXT/DATA/CONF/SIM_DP_02.json b/IOB-WIN-NEXT/DATA/CONF/SIM_DP_02.json
index 482f00ef..c3f23224 100644
--- a/IOB-WIN-NEXT/DATA/CONF/SIM_DP_02.json
+++ b/IOB-WIN-NEXT/DATA/CONF/SIM_DP_02.json
@@ -1,99 +1,87 @@
{
- "mMapWrite": {
- "setArt": {
- "name": "setArt",
- "description": "Articolo",
- "memAddr": "DB150.DBB12",
- "tipoMem": "String",
- "index": 12,
- "size": 20
+ "mMapWrite": {
+ "setArt": {
+ "name": "setArt",
+ "description": "Articolo",
+ "memAddr": "DB150.DBB12",
+ "tipoMem": "String",
+ "index": 12,
+ "size": 20
+ },
+ "setComm": {
+ "name": "setComm",
+ "description": "Commessa",
+ "memAddr": "DB150.DBB32",
+ "tipoMem": "String",
+ "index": 32,
+ "size": 20
+ },
+ "setPzComm": {
+ "name": "setPzComm",
+ "description": "Qta Richiesta",
+ "memAddr": "DB150.DBB8",
+ "tipoMem": "Int",
+ "index": 8,
+ "size": 4
+ },
+ "forceSetPzCount": {
+ "name": "forceSetPzCount",
+ "description": "Imposta Qta",
+ "memAddr": "DB150.DBB8",
+ "tipoMem": "Int",
+ "index": 8,
+ "size": 4
+ }
},
- "setComm": {
- "name": "setComm",
- "description": "Commessa",
- "memAddr": "DB150.DBB32",
- "tipoMem": "String",
- "index": 32,
- "size": 20
- },
- "setPzComm": {
- "name": "setPzComm",
- "description": "Qta Richiesta",
- "memAddr": "DB150.DBB8",
- "tipoMem": "Int",
- "index": 8,
- "size": 4
- },
- "forceSetPzCount": {
- "name": "forceSetPzCount",
- "description": "Imposta Qta",
- "memAddr": "DB150.DBB8",
- "tipoMem": "Int",
- "index": 8,
- "size": 4
+ "mMapRead": {
+ "TEMP_01": {
+ "name": "TEMP_01",
+ "description": "Temperatura 01",
+ "tipoMem": "Real",
+ "minVal": 18,
+ "maxVal": 24
+ },
+ "POWER_01": {
+ "name": "POWER_01",
+ "description": "Potenza impianto",
+ "tipoMem": "Int",
+ "minVal": 40,
+ "maxVal": 80
+ },
+ "FEED_OVER": {
+ "name": "FEED_OVER",
+ "description": "FEED override",
+ "tipoMem": "Int",
+ "minVal": 0,
+ "maxVal": 100
+ },
+ "RAPID_OVER": {
+ "name": "RAPID_OVER",
+ "description": "RAPID override",
+ "tipoMem": "Int",
+ "minVal": 50,
+ "maxVal": 120
+ },
+ "POS_X": {
+ "name": "POS_X",
+ "description": "Asse X",
+ "tipoMem": "Int",
+ "minVal": -2000,
+ "maxVal": 2000
+ },
+ "POS_Y": {
+ "name": "POS_Y",
+ "description": "Asse Y",
+ "tipoMem": "Int",
+ "minVal": 0,
+ "maxVal": 2000
+ },
+ "POS_Z": {
+ "name": "POS_Z",
+ "description": "Asse Z",
+ "tipoMem": "Int",
+ "minVal": 0,
+ "maxVal": 1500
+ }
}
- },
- "mMapRead": {
- "TEMP_01": {
- "name": "TEMP_01",
- "description": "Temperatura 01",
- "tipoMem": "Real",
- "minVal": 18,
- "maxVal": 24
- },
- "POWER_01": {
- "name": "POWER_01",
- "description": "Potenza impianto",
- "tipoMem": "Int",
- "minVal": 40,
- "maxVal": 80
- },
- "FEED_OVER": {
- "name": "FEED_OVER",
- "description": "FEED override",
- "tipoMem": "Int",
- "minVal": 0,
- "maxVal": 100
- },
- "RAPID_OVER": {
- "name": "RAPID_OVER",
- "description": "RAPID override",
- "tipoMem": "Int",
- "minVal": 50,
- "maxVal": 120
- },
- "POS_X": {
- "name": "POS_X",
- "description": "Asse X",
- "tipoMem": "Int",
- "minVal": -2000,
- "maxVal": 2000
- },
- "POS_Y": {
- "name": "POS_Y",
- "description": "Asse Y",
- "tipoMem": "Int",
- "minVal": 0,
- "maxVal": 2000
- },
- "POS_Z": {
- "name": "POS_Z",
- "description": "Asse Z",
- "tipoMem": "Int",
- "minVal": 0,
- "maxVal": 1500
- }
- },
- "fileDecod": {
- "Product": 2,
- "Variety": 3,
- "Supplier": 4,
- "ExtDoc": 0,
- "DateRif": 1,
- "QtyTot": 15,
- "NumPack": 14,
- "NumPed": 11,
- "PackPed": 12,
- "PesoPack": 13
- }
}
\ No newline at end of file
diff --git a/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ03.ini b/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ03.ini
index 5770f716..929fef01 100644
--- a/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ03.ini
+++ b/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ03.ini
@@ -72,4 +72,11 @@ MAX_PZ_INCR_PERC=1000
PARAM_CONF=SIM_PIZ00.json
[BRANCH]
-NAME=master
\ No newline at end of file
+NAME=master
+
+; Tags manuali
+[TAGS]
+Customer=Steamware
+HostOS=WIN
+HostName=IOB-WIN-SIMULA
+HostAddr=10.74.82.76
diff --git a/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ04.ini b/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ04.ini
index 5770f716..929fef01 100644
--- a/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ04.ini
+++ b/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ04.ini
@@ -72,4 +72,11 @@ MAX_PZ_INCR_PERC=1000
PARAM_CONF=SIM_PIZ00.json
[BRANCH]
-NAME=master
\ No newline at end of file
+NAME=master
+
+; Tags manuali
+[TAGS]
+Customer=Steamware
+HostOS=WIN
+HostName=IOB-WIN-SIMULA
+HostAddr=10.74.82.76
diff --git a/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ05.ini b/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ05.ini
index 5770f716..929fef01 100644
--- a/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ05.ini
+++ b/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ05.ini
@@ -72,4 +72,11 @@ MAX_PZ_INCR_PERC=1000
PARAM_CONF=SIM_PIZ00.json
[BRANCH]
-NAME=master
\ No newline at end of file
+NAME=master
+
+; Tags manuali
+[TAGS]
+Customer=Steamware
+HostOS=WIN
+HostName=IOB-WIN-SIMULA
+HostAddr=10.74.82.76
diff --git a/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ08.ini b/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ08.ini
index 5770f716..929fef01 100644
--- a/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ08.ini
+++ b/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ08.ini
@@ -72,4 +72,11 @@ MAX_PZ_INCR_PERC=1000
PARAM_CONF=SIM_PIZ00.json
[BRANCH]
-NAME=master
\ No newline at end of file
+NAME=master
+
+; Tags manuali
+[TAGS]
+Customer=Steamware
+HostOS=WIN
+HostName=IOB-WIN-SIMULA
+HostAddr=10.74.82.76
diff --git a/IOB-WIN-NEXT/DATA/CONF/STEL_200.json b/IOB-WIN-NEXT/DATA/CONF/STEL_200.json
index ed501c75..7e751010 100644
--- a/IOB-WIN-NEXT/DATA/CONF/STEL_200.json
+++ b/IOB-WIN-NEXT/DATA/CONF/STEL_200.json
@@ -1,153 +1,168 @@
{
- "BrowseFullVal": "ns=4;i=5001",
- "BrowseNSIndex": 4,
- "BrowseValue": 5001,
- "keyPartCount": "tomes_17_partial_prod",
- "keyPartReq": "tomach_6_quantity",
- "keyPartId": "",
- "keyProgName": "",
- "keyRunMode": "",
- "pingAsPowerOn": false,
- "condWork": [{
- "keyName": "tomes_5_autom",
- "targetValue": "True"
- }],
- "condPowerOn": {
- "checkMode": "AND",
- "checkList": [{
- "keyName": "tomes_2_mach_on",
- "targetValue": "True"
- }]
- },
- "condReady": {
- "checkMode": "AND",
- "checkList": []
- },
- "condManual": {
- "checkMode": "AND",
- "checkList": [{
- "keyName": "tomes_6_manual",
- "targetValue": "True"
- }]
- },
- "condEStop": {
- "checkMode": "AND",
- "checkList": []
- },
- "condError": {
- "checkMode": "AND",
- "checkList": [{
- "keyName": "tomes_7_alarm",
- "targetValue": "True"
- }]
- },
- "condCountEnabled": {
- "checkMode": "AND",
- "checkList": []
- },
- "condWarmUpCoolDown": {
- "checkMode": "OR",
- "checkList": []
- },
- "condWarning": {
- "checkMode": "AND",
- "checkList": [{
- "keyName": "tomes_8_warning",
- "targetValue": "True"
- }]
- },
- "condSetup": {
- "checkMode": "AND",
- "checkList": [{
- "keyName": "tomes_3_setup",
- "targetValue": "True"
- }]
- },
- "fluxLogVeto": [
- "tomes_1_Watchdog"
- ],
- "itemTranslation": {
- "avail": "Machine Available",
- "rstat": "Execution Mode",
- "mode": "Controller Mode",
- "ncprog": "Program Name",
- "tomes_13_good_prod": "Pezzi Prodotta",
- "tomach_6_quantity": "Qta Richiesta",
- "fdovrd": "PATH FEED OVERRIDE",
- "rovrd": "PATH RAPID OVERRIDE"
- },
- "paramsEndThresh": {
- "InvDDone": 50
- },
- "mMapWrite": {
- "setPzComm": {
- "name": "setPzComm",
- "description": "Qty",
- "tipoMem": "Int",
- "memAddr": "ns=4;s=tomach_6_quantity",
- "index": 0,
- "size": 4
- },
- "setComm": {
- "name": "setComm",
- "description": "Commessa",
- "tipoMem": "String",
- "memAddr": "ns=4;s=tomach_4_prod_order",
- "index": 0,
- "size": 24
- },
- "setArt": {
- "name": "setArt",
- "description": "Articolo",
- "tipoMem": "String",
- "memAddr": "ns=4;s=tomach_3_code_die",
- "index": 0,
- "size": 24
- }
- },
- "subscribedItems": [
- "ns=4;s=tomes_1_Watchdog",
- "ns=4;s=tomes_2_mach_on",
- "ns=4;s=tomes_3_setup",
- "ns=4;s=tomes_4_impulse",
- "ns=4;s=tomes_5_autom",
- "ns=4;s=tomes_6_manual",
- "ns=4;s=tomes_7_alarm",
- "ns=4;s=tomes_8_warning",
- "ns=4;s=tomes_10_cycle_life",
- "ns=4;s=tomes_11_ack_new_order",
- "ns=4;s=tomes_13_good_prod",
- "ns=4;s=tomes_14_bad_prod_calipso",
- "ns=4;s=tomes_15_bad_prod_startup",
- "ns=4;s=tomes_16_bad_prod_stop",
- "ns=4;s=tomes_17_partial_prod",
- "ns=4;s=tomes_18_total_prod",
- "ns=4;s=tomes_20_code_die",
- "ns=4;s=tomes_21_order",
- "ns=4;s=tomach_1_watchdog",
- "ns=4;s=tomach_2_new_prod",
- "ns=4;s=tomach_3_code_die",
- "ns=4;s=tomach_4_prod_order",
- "ns=4;s=tomach_6_quantity"
- ],
- "WatchDog": {
- "IsEnabled": true,
- "MemConfRead": "ns=4;s=tomes_1_Watchdog",
- "MemConfWrite": "ns=4;s=tomach_1_watchdog",
- "MaxVal": 9999
- },
- "SetupConf": {
- "SetupMode": "MECOLPRESS",
- "EnableAdvSetup": false,
- "checkParList": {
- "tomach_3_code_die": "tomes_20_code_die",
- "tomach_4_prod_order": "tomes_21_order"
- },
- "writeParAction": [{
- "TargetParam": "ns=4;s=tomach_2_new_prod",
- "TargetValEqual": 0,
- "TargetValNotEqual": 1,
- "DisablePzCountNotEqual": true
- }]
+ "BrowseFullVal": "ns=4;i=5001",
+ "BrowseNSIndex": 4,
+ "BrowseValue": 5001,
+ "keyPartCount": "tomes_17_partial_prod",
+ "keyPartReq": "tomach_6_quantity",
+ "keyPartId": "",
+ "keyProgName": "",
+ "keyRunMode": "",
+ "pingAsPowerOn": false,
+ "condWork": [
+ {
+ "keyName": "tomes_5_autom",
+ "targetValue": "True"
}
+ ],
+ "condPowerOn": {
+ "checkMode": "AND",
+ "checkList": [
+ {
+ "keyName": "tomes_2_mach_on",
+ "targetValue": "True"
+ }
+ ]
+ },
+ "condReady": {
+ "checkMode": "AND",
+ "checkList": []
+ },
+ "condManual": {
+ "checkMode": "AND",
+ "checkList": [
+ {
+ "keyName": "tomes_6_manual",
+ "targetValue": "True"
+ }
+ ]
+ },
+ "condEStop": {
+ "checkMode": "AND",
+ "checkList": []
+ },
+ "condError": {
+ "checkMode": "AND",
+ "checkList": [
+ {
+ "keyName": "tomes_7_alarm",
+ "targetValue": "True"
+ }
+ ]
+ },
+ "condCountEnabled": {
+ "checkMode": "AND",
+ "checkList": []
+ },
+ "condWarmUpCoolDown": {
+ "checkMode": "OR",
+ "checkList": [],
+ "negateValue": true
+ },
+ "condWarning": {
+ "checkMode": "AND",
+ "checkList": [
+ {
+ "keyName": "tomes_8_warning",
+ "targetValue": "True"
+ }
+ ]
+ },
+ "condSetup": {
+ "checkMode": "AND",
+ "checkList": [
+ {
+ "keyName": "tomes_3_setup",
+ "targetValue": "True"
+ }
+ ]
+ },
+ "fluxLogVeto": [
+ "tomes_1_Watchdog"
+ ],
+ "itemTranslation": {
+ "avail": "Machine Available",
+ "rstat": "Execution Mode",
+ "mode": "Controller Mode",
+ "ncprog": "Program Name",
+ "tomes_13_good_prod": "Pezzi Prodotta",
+ "tomach_6_quantity": "Qta Richiesta",
+ "fdovrd": "PATH FEED OVERRIDE",
+ "rovrd": "PATH RAPID OVERRIDE"
+ },
+ "paramsEndThresh": {
+ "InvDDone": 50
+ },
+ "mMapWrite": {
+ "setPzComm": {
+ "name": "setPzComm",
+ "description": "Qty",
+ "tipoMem": "Int",
+ "memAddr": "ns=4;s=tomach_6_quantity",
+ "index": 0,
+ "size": 4
+ },
+ "setComm": {
+ "name": "setComm",
+ "description": "Commessa",
+ "tipoMem": "String",
+ "memAddr": "ns=4;s=tomach_4_prod_order",
+ "index": 0,
+ "size": 24
+ },
+ "setArt": {
+ "name": "setArt",
+ "description": "Articolo",
+ "tipoMem": "String",
+ "memAddr": "ns=4;s=tomach_3_code_die",
+ "index": 0,
+ "size": 24
+ }
+ },
+ "subscribedItems": [
+ "ns=4;s=tomes_1_Watchdog",
+ "ns=4;s=tomes_2_mach_on",
+ "ns=4;s=tomes_3_setup",
+ "ns=4;s=tomes_4_impulse",
+ "ns=4;s=tomes_5_autom",
+ "ns=4;s=tomes_6_manual",
+ "ns=4;s=tomes_7_alarm",
+ "ns=4;s=tomes_8_warning",
+ "ns=4;s=tomes_10_cycle_life",
+ "ns=4;s=tomes_11_ack_new_order",
+ "ns=4;s=tomes_13_good_prod",
+ "ns=4;s=tomes_14_bad_prod_calipso",
+ "ns=4;s=tomes_15_bad_prod_startup",
+ "ns=4;s=tomes_16_bad_prod_stop",
+ "ns=4;s=tomes_17_partial_prod",
+ "ns=4;s=tomes_18_total_prod",
+ "ns=4;s=tomes_20_code_die",
+ "ns=4;s=tomes_21_order",
+ "ns=4;s=tomach_1_watchdog",
+ "ns=4;s=tomach_2_new_prod",
+ "ns=4;s=tomach_3_code_die",
+ "ns=4;s=tomach_4_prod_order",
+ "ns=4;s=tomach_6_quantity"
+ ],
+ "WatchDog": {
+ "IsEnabled": true,
+ "MemConfRead": "ns=4;s=tomes_1_Watchdog",
+ "MemConfWrite": "ns=4;s=tomach_1_watchdog",
+ "MaxVal": 9999
+ },
+ "SetupConf": {
+ "SetupMode": "MECOLPRESS",
+ "EnableAdvSetup": false,
+ "checkParList": {
+ "tomach_3_code_die": "tomes_20_code_die",
+ "tomach_4_prod_order": "tomes_21_order"
+ },
+ "writeParAction": [
+ {
+ "TargetParam": "ns=4;s=tomach_2_new_prod",
+ "TargetValEqual": 0,
+ "TargetValNotEqual": 1,
+ "DisablePzCountNotEqual": true
+ }
+ ]
+ }
}
\ No newline at end of file
diff --git a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj
index 1f3ce04f..2a414c4e 100644
--- a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj
+++ b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj
@@ -588,7 +588,9 @@
-
+
+ Always
+
@@ -612,7 +614,9 @@
-
+
+ Always
+
diff --git a/IOB-WIN-NEXT/Iob/Generic.cs b/IOB-WIN-NEXT/Iob/Generic.cs
index 3bba59e3..bac4159f 100644
--- a/IOB-WIN-NEXT/Iob/Generic.cs
+++ b/IOB-WIN-NEXT/Iob/Generic.cs
@@ -209,33 +209,39 @@ namespace IOB_WIN_NEXT.Iob
///
/// Coda valori ALLARMI ove gestiti...
///
- public ConcurrentQueue QueueAlarm = new ConcurrentQueue();
+ public DataQueue QueueAlarm = new DataQueue("000", "QueueAlarm", false);
+ //public ConcurrentQueue QueueAlarm = new ConcurrentQueue();
///
/// Oggetto della coda degli elementi letti di tipo FluxLog (e non ancora trasmessi)
///
- public ConcurrentQueue QueueFLog = new ConcurrentQueue();
+ public DataQueue QueueFLog = new DataQueue("000", "QueueFLog", false);
+ //public ConcurrentQueue QueueFLog = new ConcurrentQueue();
///
/// Oggetto della coda degli elementi letti (e non ancora trasmessi)
///
- public ConcurrentQueue QueueIN = new ConcurrentQueue();
+ public DataQueue QueueIN = new DataQueue("000", "QueueIN", false);
+ //public ConcurrentQueue QueueIN = new ConcurrentQueue();
///
/// Coda valori MESSAGGI/EVENTI (da non sottocampionare come samples)...
///
- public ConcurrentQueue QueueMessages = new ConcurrentQueue();
+ public DataQueue QueueMessages = new DataQueue("000", "QueueMessages", false);
+ //public ConcurrentQueue QueueMessages = new ConcurrentQueue();
///
/// Oggetto della coda degli elementi di tipo RawTransf (e non ancora trasmessi)
/// NB: sono salvati serializzati come stringhe
///
- public ConcurrentQueue QueueRawTransf = new ConcurrentQueue();
+ public DataQueue QueueRawTransf = new DataQueue("000", "QueueRawTransf", false);
+ //public ConcurrentQueue QueueRawTransf = new ConcurrentQueue();
///
/// Coda valori LOG UTENTE (da non sottocampionare come samples)...
///
- public ConcurrentQueue QueueULog = new ConcurrentQueue();
+ public DataQueue QueueULog = new DataQueue("000", "QueueULog", false);
+ //public ConcurrentQueue QueueULog = new ConcurrentQueue();
///
/// alias booleano false = R
@@ -312,6 +318,9 @@ namespace IOB_WIN_NEXT.Iob
// configurazione...
cIobConf = IOBConf;
+ // imposto le code!
+ QueueIN= new DataQueue(cIobConf.codIOB, "QueueIN", cIobConf.EnableRedisQueue);
+
lastConnectTry = DateTime.Now;
// aggiungo nel logger IDX Macchina
@@ -3887,7 +3896,8 @@ namespace IOB_WIN_NEXT.Iob
// invio
sendDataBlock(urlType.FLog, listaValori);
// svuoto!
- QueueFLog = new ConcurrentQueue();
+ QueueFLog = new DataQueue(cIobConf.codIOB, "QueueFLog", cIobConf.EnableRedisQueue);
+ //QueueFLog = new ConcurrentQueue();
}
}
// HO FINITO invio di FLog...
@@ -3926,7 +3936,8 @@ namespace IOB_WIN_NEXT.Iob
// invio
sendDataBlock(urlType.ULog, listaValori);
// svuoto!
- QueueULog = new ConcurrentQueue();
+ QueueULog = new DataQueue(cIobConf.codIOB, "QueueULog", cIobConf.EnableRedisQueue);
+ //QueueULog = new ConcurrentQueue();
}
}
}
@@ -3989,7 +4000,8 @@ namespace IOB_WIN_NEXT.Iob
// invio
sendDataBlock(urlType.SignIN, listaValori);
// svuoto!
- QueueIN = new ConcurrentQueue();
+ QueueIN = new DataQueue(cIobConf.codIOB, "QueueIN", cIobConf.EnableRedisQueue);
+ //QueueIN = new ConcurrentQueue();
}
}
else
@@ -8102,12 +8114,18 @@ namespace IOB_WIN_NEXT.Iob
// svuoto code se richiesto
if (resetQueue)
{
- QueueAlarm = new ConcurrentQueue();
- QueueIN = new ConcurrentQueue();
- QueueFLog = new ConcurrentQueue();
- QueueMessages = new ConcurrentQueue();
- QueueRawTransf = new ConcurrentQueue();
- QueueULog = new ConcurrentQueue();
+ QueueAlarm = new DataQueue(cIobConf.codIOB, "QueueAlarm", cIobConf.EnableRedisQueue);
+ //QueueAlarm = new ConcurrentQueue();
+ QueueIN = new DataQueue(cIobConf.codIOB, "QueueIN", cIobConf.EnableRedisQueue);
+ //QueueIN = new ConcurrentQueue();
+ QueueFLog = new DataQueue(cIobConf.codIOB, "QueueFLog", cIobConf.EnableRedisQueue);
+ //QueueFLog = new ConcurrentQueue();
+ QueueMessages = new DataQueue(cIobConf.codIOB, "QueueMessages", cIobConf.EnableRedisQueue);
+ //QueueMessages = new ConcurrentQueue();
+ QueueRawTransf = new DataQueue(cIobConf.codIOB, "QueueRawTransf", cIobConf.EnableRedisQueue);
+ //QueueRawTransf = new ConcurrentQueue();
+ QueueULog = new DataQueue(cIobConf.codIOB, "QueueULog", cIobConf.EnableRedisQueue);
+ //QueueULog = new ConcurrentQueue();
}
// imposto contatori blink a zero...
i_counters = new int[32];
@@ -8205,7 +8223,8 @@ namespace IOB_WIN_NEXT.Iob
// invio
sendDataBlock(urlType.FLog, listaValori);
// svuoto!
- QueueFLog = new ConcurrentQueue();
+ QueueFLog = new DataQueue(cIobConf.codIOB, "QueueFLog", cIobConf.EnableRedisQueue);
+ //QueueFLog = new ConcurrentQueue();
lastWatchDog = DateTime.Now;
}
}
@@ -8276,7 +8295,8 @@ namespace IOB_WIN_NEXT.Iob
if (fatto)
{
// svuoto se ha okReport!
- QueueRawTransf = new ConcurrentQueue();
+ QueueRawTransf = new DataQueue(cIobConf.codIOB, "QueueRawTransf", cIobConf.EnableRedisQueue);
+ //QueueRawTransf = new ConcurrentQueue();
}
}
}
@@ -8337,7 +8357,8 @@ namespace IOB_WIN_NEXT.Iob
// invio
sendDataBlock(urlType.ULog, listaValori);
// svuoto!
- QueueULog = new ConcurrentQueue();
+ QueueULog = new DataQueue(cIobConf.codIOB, "QueueULog", cIobConf.EnableRedisQueue);
+ //QueueULog = new ConcurrentQueue();
}
}
else
diff --git a/IOB-WIN-NEXT/IobConfiguration.cs b/IOB-WIN-NEXT/IobConfiguration.cs
index a5f406a6..84fbabca 100644
--- a/IOB-WIN-NEXT/IobConfiguration.cs
+++ b/IOB-WIN-NEXT/IobConfiguration.cs
@@ -60,6 +60,11 @@ namespace IOB_WIN_NEXT
///
public bool disableExeTask { get; set; } = false;
+ ///
+ /// Indica se le code vadano gestite su redis o meno
+ ///
+ public bool EnableRedisQueue { get; set; } = false;
+
///
/// Indica che sono disabilitate le fasi controllo stato/semafori (tipicamente x impianti
/// con PLC "suddivisi", PLC + HMI)