Update IOB BASE:

- aggiunto InitializeAsync
- gestione override x ogni IOB
This commit is contained in:
Samuele Locatelli
2026-01-23 10:22:00 +01:00
parent 02bdc71a22
commit fa976dd2bb
29 changed files with 714 additions and 82 deletions
+5 -1
View File
@@ -27,7 +27,7 @@ namespace IOB_WIN_FANUC
/// <summary>
/// carica IOB richiesto
/// </summary>
protected override void loadIobType()
protected override async Task loadIobType()
{
if (IOBConfFull != null)
{
@@ -45,6 +45,10 @@ namespace IOB_WIN_FANUC
btnStart.Enabled = false;
break;
}
if (!await iobInitAsync())
{
return;
}
UpdateDisplTypeIobSel();
}
}
+7 -2
View File
@@ -8,6 +8,7 @@ using System;
using System.Collections.Generic;
using System.Net;
using System.Net.NetworkInformation;
using System.Threading.Tasks;
namespace IOB_WIN_FANUC.Iob
{
@@ -110,8 +111,6 @@ namespace IOB_WIN_FANUC.Iob
pzCntReload(true);
// refresh associazione Macchina - IOB
SendM2IOB();
// invio altri dati accessori...
SendMachineConf();
// per adesso imposto lettura fanuc == contapezzi (poi farà vera lettura...)
contapezziPLC = contapezziIOB;
}
@@ -136,6 +135,12 @@ namespace IOB_WIN_FANUC.Iob
lgInfo("End init Adapter FANUC");
}
public override async Task InitializeAsync()
{
// invio altri dati accessori...
await SendMachineConfAsync();
}
/// <summary>
/// Formatta area x memorie Fanuc da conf caricata
/// </summary>
+5 -1
View File
@@ -21,7 +21,7 @@ namespace IOB_WIN_FILE
/// <summary>
/// carica IOB richiesto
/// </summary>
protected override void loadIobType()
protected override async Task loadIobType()
{
if (IOBConfFull != null)
{
@@ -49,6 +49,10 @@ namespace IOB_WIN_FILE
btnStart.Enabled = false;
break;
}
if (!await iobInitAsync())
{
return;
}
UpdateDisplTypeIobSel();
}
}
+27 -1
View File
@@ -1140,7 +1140,7 @@ namespace IOB_WIN_FORM
/// <summary>
/// carica IOB richiesto
/// </summary>
protected virtual void loadIobType()
protected virtual async Task loadIobType()
{
if (IOBConfFull != null)
{
@@ -1152,10 +1152,36 @@ namespace IOB_WIN_FORM
start.Enabled = false;
break;
}
if (!await iobInitAsync())
{
return;
}
UpdateDisplTypeIobSel();
}
}
/// <summary>
/// Esegue logica di init async x IOB
/// </summary>
/// <returns></returns>
protected async Task<bool> iobInitAsync()
{
try
{
this.Cursor = Cursors.WaitCursor;
await iobObj.InitializeAsync();
this.Cursor = Cursors.Default;
}
catch (Exception ex)
{
lgError($"Inizializzazione fallita per {tipoScelto}: {ex.Message}");
iobObj = null; // Evitiamo di usare un oggetto malfunzionante
return false;
}
return true;
}
/// <summary>
/// Init form (grafica) con helper x testi e varie
/// </summary>
+4
View File
@@ -2309,6 +2309,10 @@ namespace IOB_WIN_FORM.Iob
{
}
/// <summary>
/// Ponte esecuzione processi asunc
/// </summary>
/// <returns></returns>
protected virtual bool ProcessFileImport()
{
bool fatto = false;
+14 -4
View File
@@ -41,9 +41,11 @@ namespace IOB_WIN_FORM.Iob
/// inizializzo l'oggetto sulla form SULLA BASE DEL FILE DI CONFIGURAZIONE letto
/// </summary>
/// <param name="caller">Form chiamante</param>
/// <param name="IobConfFull">Configurazione (v 4.x)</param>
/// <param name="IobConfNew">Configurazione (v 4.x)</param>
public Generic(AdapterForm caller, IobConfTree IobConfNew)
{
// salvo il form chiamante
parentForm = caller;
if (IobConfNew != null)
{
// salvo configurazione...
@@ -58,8 +60,6 @@ namespace IOB_WIN_FORM.Iob
// initi oggetto TCMan
tcMan = new TCMan(IobConfNew.TCDataConf.Lambda, IobConfNew.TCDataConf.MaxDelayFactor, IobConfNew.TCDataConf.MaxIncrPz);
// salvo il form chiamante
parentForm = caller;
lastConnectTry = DateTime.Now;
@@ -100,6 +100,16 @@ namespace IOB_WIN_FORM.Iob
}
}
/// <summary>
/// Area init asincrono (fare override async!o)
/// </summary>
/// <returns></returns>
public virtual Task InitializeAsync()
{
// da usare per implementare logiche di init specifiche
return Task.CompletedTask;
}
#endregion Public Constructors
#region Public Events
@@ -2549,7 +2559,7 @@ namespace IOB_WIN_FORM.Iob
/// <param name="task2exe"></param>
/// <param name="codTav"></param>
/// <returns></returns>
public async Task < Dictionary<string, string>> ProcessTask(Dictionary<string, string> task2exe, string codTav)
public async Task<Dictionary<string, string>> ProcessTask(Dictionary<string, string> task2exe, string codTav)
{
Dictionary<string, string> taskDone = new Dictionary<string, string>();
Dictionary<string, string> task2Add = new Dictionary<string, string>();
+15 -22
View File
@@ -156,6 +156,18 @@ namespace IOB_WIN_FORM.Iob
}
}
/// <summary>
/// Caricamento conf specifica in async
/// </summary>
/// <returns></returns>
public override async Task InitializeAsync()
{
await Simula_Load(DateTime.Now);
// attendo altri 500ms
await Task.Delay(500);
}
#endregion Public Constructors
#region Public Methods
@@ -957,27 +969,6 @@ namespace IOB_WIN_FORM.Iob
/// </summary>
protected override void ProcessDataSync()
{
#if false
try
{
// fixme todo: test scrittura file csv...
var taskGet = iobGetDataFromServer();
var taskWrite = iobWriteLocalCSV();
var taskSend = iobSendFTP("");
// richiesta check autoODL
ProcessAutoOdlAsync();
// richiesta generazione quotidiana dossiers
ProcessAutoDossier();
// effettua gestione import file...
ProcessFileImportAsync();
// effettua process ritorno ricette
ProcessRecipeFileRetAsync();
}
catch (Exception exc)
{
lgError($"Eccezione in processDataSync:{Environment.NewLine}{exc}");
}
#endif
try
{
// "Ponte" sincrono -> asincrono
@@ -999,7 +990,9 @@ namespace IOB_WIN_FORM.Iob
// ProcessAutoDossier (se è sincrono) lo chiamiamo qui o fuori
ProcessAutoDossier();
}).GetAwaiter().GetResult(); // Blocca qui finché tutto il gruppo è completo
})
.GetAwaiter()
.GetResult(); // Blocca qui finché tutto il gruppo è completo
}
catch (Exception exc)
{
+12 -32
View File
@@ -903,26 +903,19 @@ namespace IOB_WIN_FORM
}
}
private void downloadIOBConfToolStripMenuItem_Click(object sender, EventArgs e)
private async void downloadIOBConfToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
// PONTE SYNC/ASYNC: Ora sw.Stop() aspetterà la fine reale dell'operazione
Task.Run(async () =>
{
displayTaskAndLog("Attesa chiusura Adapters");
await Task.Delay(100);
// fermo gli IOB
closeAllChild();
await Task.Delay(100);
// download da su server di TUTTI i file CONF delle IOB
doConfDownload();
// riavvio gli IOB
await Task.Delay(100);
startAdapters();
})
.GetAwaiter()
.GetResult();
displayTaskAndLog("Attesa chiusura Adapters");
// fermo gli IOB
closeAllChild();
await Task.Delay(200);
// download da su server di TUTTI i file CONF delle IOB
doConfDownload();
await Task.Delay(100);
// riavvio gli IOB
startAdapters();
}
catch (Exception exc)
{
@@ -1097,24 +1090,11 @@ namespace IOB_WIN_FORM
}
}
private void restartALLAdaptersToolStripMenuItem_Click(object sender, EventArgs e)
private async void restartALLAdaptersToolStripMenuItem_Click(object sender, EventArgs e)
{
// chiudo
closeAllChild();
try
{
// PONTE SYNC/ASYNC: Ora sw.Stop() aspetterà la fine reale dell'operazione
Task.Run(async () =>
{
await Task.Delay(1000);
})
.GetAwaiter()
.GetResult();
}
catch (Exception ex)
{
lgError($"Errore in restartALLAdaptersToolStripMenuItem_Click{Environment.NewLine}{ex.Message}");
}
await Task.Delay(100);
// riapro
startAdapters();
}
+5 -1
View File
@@ -21,7 +21,7 @@ namespace IOB_WIN_FTP
/// <summary>
/// carica IOB richiesto
/// </summary>
protected override void loadIobType()
protected override async Task loadIobType()
{
if (IOBConfFull != null)
{
@@ -39,6 +39,10 @@ namespace IOB_WIN_FTP
btnStart.Enabled = false;
break;
}
if (!await iobInitAsync())
{
return;
}
UpdateDisplTypeIobSel();
}
}
+7 -2
View File
@@ -9,6 +9,7 @@ using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Net.NetworkInformation;
using System.Threading.Tasks;
namespace IOB_WIN_FTP.Iob
{
@@ -87,8 +88,6 @@ namespace IOB_WIN_FTP.Iob
}
}
forceMemMap();
// invio conf macchina all'inizio
SendMachineConf();
}
#endregion Public Constructors
@@ -270,6 +269,12 @@ namespace IOB_WIN_FTP.Iob
return taskDone;
}
public override async Task InitializeAsync()
{
// invio conf macchina all'inizio
await SendMachineConfAsync();
}
/// <summary>
/// Effettua processing CUSTOM x FTP:
/// - prende ogni conf specifica
+6 -1
View File
@@ -1,4 +1,5 @@
using IOB_UT_NEXT;
using System.Threading.Tasks;
namespace IOB_WIN_KAWASAKI
{
@@ -15,7 +16,7 @@ namespace IOB_WIN_KAWASAKI
/// <summary>
/// carica IOB richiesto
/// </summary>
protected override void loadIobType()
protected override async Task loadIobType()
{
if (IOBConfFull != null)
{
@@ -34,6 +35,10 @@ namespace IOB_WIN_KAWASAKI
btnStart.Enabled = false;
break;
}
if (!await iobInitAsync())
{
return;
}
UpdateDisplTypeIobSel();
}
}
+5 -1
View File
@@ -21,7 +21,7 @@ namespace IOB_WIN_MBUS
/// <summary>
/// carica IOB richiesto
/// </summary>
protected override void loadIobType()
protected override async Task loadIobType()
{
if (IOBConfFull != null)
{
@@ -90,6 +90,10 @@ namespace IOB_WIN_MBUS
btnStart.Enabled = false;
break;
}
if (!await iobInitAsync())
{
return;
}
UpdateDisplTypeIobSel();
}
}
+5 -1
View File
@@ -21,7 +21,7 @@ namespace IOB_WIN_MITSUBISHI
/// <summary>
/// carica IOB richiesto
/// </summary>
protected override void loadIobType()
protected override async Task loadIobType()
{
if (IOBConfFull != null)
{
@@ -39,6 +39,10 @@ namespace IOB_WIN_MITSUBISHI
btnStart.Enabled = false;
break;
}
if (!await iobInitAsync())
{
return;
}
UpdateDisplTypeIobSel();
}
}
+5 -1
View File
@@ -21,7 +21,7 @@ namespace IOB_WIN_MTC
/// <summary>
/// carica IOB richiesto
/// </summary>
protected override void loadIobType()
protected override async Task loadIobType()
{
if (IOBConfFull != null)
{
@@ -39,6 +39,10 @@ namespace IOB_WIN_MTC
btnStart.Enabled = false;
break;
}
if (!await iobInitAsync())
{
return;
}
UpdateDisplTypeIobSel();
}
}
+5 -1
View File
@@ -21,7 +21,7 @@ namespace IOB_WIN_OMRON
/// <summary>
/// carica IOB richiesto
/// </summary>
protected override void loadIobType()
protected override async Task loadIobType()
{
if (IOBConfFull != null)
{
@@ -40,6 +40,10 @@ namespace IOB_WIN_OMRON
btnStart.Enabled = false;
break;
}
if (!await iobInitAsync())
{
return;
}
UpdateDisplTypeIobSel();
}
}
+5 -1
View File
@@ -21,7 +21,7 @@ namespace IOB_WIN_OPC_UA
/// <summary>
/// carica IOB richiesto
/// </summary>
protected override void loadIobType()
protected override async Task loadIobType()
{
if (IOBConfFull != null)
{
@@ -136,6 +136,10 @@ namespace IOB_WIN_OPC_UA
btnStart.Enabled = false;
break;
}
if (!await iobInitAsync())
{
return;
}
UpdateDisplTypeIobSel();
}
}
+5 -1
View File
@@ -21,7 +21,7 @@ namespace IOB_WIN_OSAI
/// <summary>
/// carica IOB richiesto
/// </summary>
protected override void loadIobType()
protected override async Task loadIobType()
{
if (IOBConfFull != null)
{
@@ -42,6 +42,10 @@ namespace IOB_WIN_OSAI
btnStart.Enabled = false;
break;
}
if (!await iobInitAsync())
{
return;
}
UpdateDisplTypeIobSel();
}
}
+5 -1
View File
@@ -27,7 +27,7 @@ namespace IOB_WIN_SHELLY
/// <summary>
/// carica IOB richiesto
/// </summary>
protected override void loadIobType()
protected override async Task loadIobType()
{
if (IOBConfFull != null)
{
@@ -45,6 +45,10 @@ namespace IOB_WIN_SHELLY
btnStart.Enabled = false;
break;
}
if (!await iobInitAsync())
{
return;
}
UpdateDisplTypeIobSel();
}
}
+5 -1
View File
@@ -27,7 +27,7 @@ namespace IOB_WIN_SHELLY
/// <summary>
/// carica IOB richiesto
/// </summary>
protected override void loadIobType()
protected override async Task loadIobType()
{
if (IOBConfFull != null)
{
@@ -51,6 +51,10 @@ namespace IOB_WIN_SHELLY
btnStart.Enabled = false;
break;
}
if (!await iobInitAsync())
{
return;
}
UpdateDisplTypeIobSel();
}
}
+1 -1
View File
@@ -20,9 +20,9 @@ CLI_INST=SteamWareSim
;STARTLIST=SIMUL_01
;STARTLIST=SHELLY_01
;STARTLIST=SHELLY_Pro3EM
STARTLIST=SIMUL_03_SHELLY
;STARTLIST=SIMUL_04_SHELLY
;STARTLIST=SIMUL_05_SHELLY
;STARTLIST=i727_SHELLY
STARTLIST=SIMUL_03_SHELLY
MAXCNC=10
+120
View File
@@ -0,0 +1,120 @@
;Configurazione IOB-WIN
[IOB]
CNCTYPE=SIMULA
PING_MS_TIMEOUT=500
MinDeltaSec=5
EnableRedisQueue=true
;IOB_NAME=TFT_RAMA_001
[MACHINE]
VENDOR=STEAMWARE
MODEL=DEMO_SIMULATOR
[CNC]
IP=127.0.0.1
PORT=0000
[SERVER]
MPIP=http://10.74.82.218
MPURL=/MP/IO
CMDBASE=/IOB/input/
CMDFLOG=/IOB/flog/
CMDALIVE=/IOB
CMDENABLED=/IOB/enabled/
CMDADV1=?valore=
CMDREBO=/sendReboot.aspx?idxMacchina=
CMD_ODL_STARTED=/IOB/getCurrOdlStart/
CMD_FORCLE_SPLIT_ODL=/IOB/forceSplitOdlFull/
CMD_IDLE_TIME=/IOB/getIdlePeriod/
[MEMORY]
[BLINK]
MAX_COUNTER_BLINK = 15
BLINK_FILT=0
[OPTPAR]
DISABLE_SEND_WDST=TRUE
AUTO_CHANGE_ODL=true
AUTO_SNAPSHOT_DOSSIER=true
CHANGE_ODL_HOURS=24
CHANGE_ODL_IDLE_MIN=0
CHANGE_ODL_MODE=SIMUL
; gestione custom timer
timerIntMs=100
;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice
PZCOUNT_MODE=BIT
ENABLE_PZ_RESET=TRUE
;gestione invio pezzi in blocco
ENABLE_SEND_PZC_BLOCK=TRUE
MIN_SEND_PZC_BLOCK=0
MAX_SEND_PZC_BLOCK=100
; gestione cambio ODL automatico (minuti minimi durata)
MIN_DURATA_ODL=960
; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi)
PER_BASE=10100
SIM_PZCNT=5|1
SIM_ALARM=100|10
SIM_MANU=50|6
; indica gestione e simulazione bit 5 --> slow
SIM_SLOW=3600|20
; indica gestione e simulazione bit 6 --> warmup/cooldown
SIM_WUCD=8000|20
; indica gestione e simulazione bit 7 --> emergenza
SIM_EMRG=4000|10
; indica simulazione delle funzionalità power ON/ OFF
SIM_POW_ON_OFF=true
T_ON=7
T_OFF=22
; indica simulazione controlli utente
SIM_RC=641|1
; indica simulazione registro scarti
SIM_RS=461|1
; indica simulazione dichiarazioni (note) utente
SIM_DICH=761|1
; indica matricola opr simulata
SIM_MATR_OPR=1
; test x datasync...
DATA_SYNC_AT_START=true
; test sim dossiers tipo Kepware
SIM_KWP=true
; gestione DynData simulati
ENABLE_DYN_DATA=TRUE
FORCE_DYN_DATA=TRUE
NEW_DYN_DATA=TRUE
; indica parametri gestione TcMan
TC_MAX_TC_FACTOR=3.9
TC_LAMBDA=0.4
TC_MAX_INCR=5
MAX_PZ_INCR_PERC=1000
; conf parametri memoria READ/WRITE
PARAM_CONF=SIMUL_01.json
ALARM_CONF=SIMUL_01_alarm.json
;test gestione logfile (eg: soitaab)
EnabelPodlManFull=true
CodGruppoIob=STEAMWARE-SIM-FASE-01
; invio flux alla lettura file
sendFluxOnRead=true
;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
; Tags manuali
[TAGS]
Customer=Steamware
HostOS=WIN
HostName=IOB-WIN-SIMULA
HostAddr=10.74.82.76
+410
View File
@@ -0,0 +1,410 @@
{
"mMapWrite": {
"setArt": {
"name": "setArt",
"description": "Articolo",
"memAddr": "DB150.DBB12",
"tipoMem": "String",
"index": 12,
"size": 20,
"displOrdinal": 1
},
"setArtNum": {
"name": "setArtNum",
"description": "# Num Articolo",
"memAddr": "DB150.DBB112",
"tipoMem": "Int",
"index": 112,
"size": 4,
"displOrdinal": 1
},
"setComm": {
"name": "setComm",
"description": "Commessa",
"memAddr": "DB150.DBB32",
"tipoMem": "String",
"index": 32,
"size": 20,
"displOrdinal": 2
},
"setCommNum": {
"name": "setCommNum",
"description": "# NumCommessa",
"memAddr": "DB150.DBB132",
"tipoMem": "Int",
"index": 132,
"size": 4,
"displOrdinal": 2
},
"setPzComm": {
"name": "setPzComm",
"description": "Qta Richiesta",
"memAddr": "DB150.DBB8",
"tipoMem": "Int",
"index": 8,
"size": 4,
"displOrdinal": 3
},
"forceSetPzCount": {
"name": "forceSetPzCount",
"description": "Imposta Qta",
"memAddr": "DB150.DBB8",
"tipoMem": "Int",
"index": 8,
"size": 4,
"displOrdinal": 11
},
//"OPC_Set Point.Chain Spped": {
// "name": "OPC_Set Point.Chain Spped",
// "description": "Chain Spped",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Chain Spped",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Top Overfeeding": {
// "name": "OPC_Set Point.Top Overfeeding",
// "description": "Top Overfeeding",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Top Overfeeding",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Bottom Overfeeding": {
// "name": "OPC_Set Point.Bottom Overfeeding",
// "description": "Bottom Overfeeding",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Bottom Overfeeding",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Width Master": {
// "name": "OPC_Set Point.Width Master",
// "description": "Width Master",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Width Master",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Thermoset Time": {
// "name": "OPC_Set Point.Thermoset Time",
// "description": "Thermoset Time",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Thermoset Time",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Thermoset Temperature": {
// "name": "OPC_Set Point.Thermoset Temperature",
// "description": "Thermoset Temperature",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Thermoset Temperature",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Take Off Overfeeding": {
// "name": "OPC_Set Point.Take Off Overfeeding",
// "description": "Take Off Overfeeding",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Take Off Overfeeding",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Small Roller Overfeeding": {
// "name": "OPC_Set Point.Small Roller Overfeeding",
// "description": "Small Roller Overfeeding",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Small Roller Overfeeding",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Scroll Roller Overfeeding": {
// "name": "OPC_Set Point.Scroll Roller Overfeeding",
// "description": "Scroll Roller Overfeeding",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Scroll Roller Overfeeding",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Right Whell Overfeeding": {
// "name": "OPC_Set Point.Right Whell Overfeeding",
// "description": "Right Whell Overfeeding",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Right Whell Overfeeding",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Plaiter Overfeeding": {
// "name": "OPC_Set Point.Plaiter Overfeeding",
// "description": "Plaiter Overfeeding",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Plaiter Overfeeding",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Load cell Weight": {
// "name": "OPC_Set Point.Load cell Weight",
// "description": "Load cell Weight",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Load cell Weight",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Left Wheel Overfeeding": {
// "name": "OPC_Set Point.Left Wheel Overfeeding",
// "description": "Left Wheel Overfeeding",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Left Wheel Overfeeding",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Fan 105A Speed": {
// "name": "OPC_Set Point.Fan 105A Speed",
// "description": "Fan 105A Speed",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Fan 105A Speed",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Fan 105 Speed": {
// "name": "OPC_Set Point.Fan 105 Speed",
// "description": "Fan 105 Speed",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Fan 105 Speed",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Fan 103A Speed": {
// "name": "OPC_Set Point.Fan 103A Speed",
// "description": "Fan 103A Speed",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Fan 103A Speed",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Fan 103 Speed": {
// "name": "OPC_Set Point.Fan 103 Speed",
// "description": "Fan 103 Speed",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Fan 103 Speed",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Fan 101A Speed": {
// "name": "OPC_Set Point.Fan 101A Speed",
// "description": "Fan 101A Speed",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Fan 101A Speed",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Fan 101 Speed": {
// "name": "OPC_Set Point.Fan 101 Speed",
// "description": "Fan 101 Speed",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Fan 101 Speed",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Exhaust Fan 1 Speed": {
// "name": "OPC_Set Point.Exhaust Fan 1 Speed",
// "description": "Exhaust Fan 1 Speed",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Exhaust Fan 1 Speed",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Differentiation Spindle 5": {
// "name": "OPC_Set Point.Differentiation Spindle 5",
// "description": "Differentiation Spindle 5",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Differentiation Spindle 5",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Differentiation Spindle 4": {
// "name": "OPC_Set Point.Differentiation Spindle 4",
// "description": "Differentiation Spindle 4",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Differentiation Spindle 4",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Differentiation Spindle 3": {
// "name": "OPC_Set Point.Differentiation Spindle 3",
// "description": "Differentiation Spindle 3",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Differentiation Spindle 3",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Differentiation Spindle 2": {
// "name": "OPC_Set Point.Differentiation Spindle 2",
// "description": "Differentiation Spindle 2",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Differentiation Spindle 2",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Differentiation Spindle 1": {
// "name": "OPC_Set Point.Differentiation Spindle 1",
// "description": "Differentiation Spindle 1",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Differentiation Spindle 1",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Cooling Cell 1 Speed": {
// "name": "OPC_Set Point.Cooling Cell 1 Speed",
// "description": "Cooling Cell 1 Speed",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Cooling Cell 1 Speed",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Burner 6 Temperature": {
// "name": "OPC_Set Point.Burner 6 Temperature",
// "description": "Burner 6 Temperature",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Burner 6 Temperature",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Burner 5 Temperature": {
// "name": "OPC_Set Point.Burner 5 Temperature",
// "description": "Burner 5 Temperature",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Burner 5 Temperature",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Burner 4 Temperature": {
// "name": "OPC_Set Point.Burner 4 Temperature",
// "description": "Burner 4 Temperature",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Burner 4 Temperature",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Burner 3 Temperature": {
// "name": "OPC_Set Point.Burner 3 Temperature",
// "description": "Burner 3 Temperature",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Burner 3 Temperature",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Burner 2 Temperature": {
// "name": "OPC_Set Point.Burner 2 Temperature",
// "description": "Burner 2 Temperature",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Burner 2 Temperature",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Burner 1 Temperature": {
// "name": "OPC_Set Point.Burner 1 Temperature",
// "description": "Burner 1 Temperature",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Burner 1 Temperature",
// "index": 0,
// "size": 0
//},
//"OPC_Set Point.Air Humidity Preset Esa 1": {
// "name": "OPC_Set Point.Air Humidity Preset Esa 1",
// "description": "Air Humidity Preset Esa 1",
// "tipoMem": "String",
// "memAddr": "ns=2;s=RamosaETN21.RamosaCJ2.Recipe.Air Humidity Preset Esa 1",
// "index": 0,
// "size": 0
//}
},
"mMapRead": {
"TEMP_01": {
"name": "TEMP_01",
"description": "Temperatura 01",
"tipoMem": "Real",
"minVal": 18,
"maxVal": 24,
"displOrdinal": 4
},
"POWER_01": {
"name": "POWER_01",
"description": "Potenza impianto",
"tipoMem": "Int",
"minVal": 40,
"maxVal": 80,
"displOrdinal": 5
},
"FEED_OVER": {
"name": "FEED_OVER",
"description": "FEED override",
"tipoMem": "Int",
"minVal": 0,
"maxVal": 100,
"displOrdinal": 6
},
"RAPID_OVER": {
"name": "RAPID_OVER",
"description": "RAPID override",
"tipoMem": "Int",
"minVal": 50,
"maxVal": 120,
"displOrdinal": 7
},
"POS_X": {
"name": "POS_X",
"description": "Asse X",
"tipoMem": "Int",
"minVal": -2000,
"maxVal": 2000,
"displOrdinal": 8
},
"POS_Y": {
"name": "POS_Y",
"description": "Asse Y",
"tipoMem": "Int",
"minVal": 0,
"maxVal": 2000,
"displOrdinal": 9
},
"POS_Z": {
"name": "POS_Z",
"description": "Asse Z",
"tipoMem": "Int",
"minVal": 0,
"maxVal": 1500,
"displOrdinal": 10
}
},
"optKVP": {
"fluxLogReduce": true,
"fluxLogRedDeadBand": 1.5,
"fluxLogResendPeriod": 15,
"hasRecipe": true,
"maxPodlQty": 530,
"useLocalRecipe": true,
"path-locBase": "C:\\MesData\\",
"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": "Y:\\",
"path-05-remExe": "C:\\MesData\\Remote\\Dosed",
"path-06-remRec": "R:\\",
"path-outReport": "C:\\MesData\\Report",
"path-confSetup": "C:\\MesData\\Setup\\setupConsumi.json",
"replace-<Variant>": "<Variant>{{PODL}}",
"replace-<Info1>": "<Info1>Kg{{Qty}} | {{Note}}"
}, //,
//"BaseKeyTranslate": "ns=2;s=RamosaETN21.RamosaCJ2",
//"RecipeKeyTranslate": {
// "Present Value.General Fan": "Recipe.Chain Spped",
// "Present Value.Bottom Overfeeding": "Recipe.Bottom Overfeeding",
// "Present Value.Top Overfeeding": "Recipe.Top Overfeeding"
//}
"mMapWriteLink": {
"setArt": "setArtNum",
"setComm": "setCommNum"
}
}
+6
View File
@@ -176,6 +176,12 @@
<None Include="DATA\CONF\IOB.ini">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="DATA\CONF\SIMUL_01.ini">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="DATA\CONF\SIMUL_01.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="DATA\CONF\SIMUL_05_SHELLY.ini">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
+5 -1
View File
@@ -68,8 +68,12 @@ namespace IOB_WIN_SHELLY.Iob
shellyCli = new Shelly1PmClient(new HttpClient(), options);
}
public override async Task InitializeAsync()
{
// invio conf macchina all'inizio
SendMachineConf();
await SendMachineConfAsync();
}
#endregion Public Constructors
+5 -1
View File
@@ -69,8 +69,12 @@ namespace IOB_WIN_SHELLY.Iob
shellyCli = new ShellyPro3EmClient(new HttpClient(), options);
}
public override async Task InitializeAsync()
{
// invio conf macchina all'inizio
SendMachineConf();
await SendMachineConfAsync();
}
#endregion Public Constructors
+5 -1
View File
@@ -21,7 +21,7 @@ namespace IOB_WIN_SIEMENS
/// <summary>
/// carica IOB richiesto
/// </summary>
protected override void loadIobType()
protected override async Task loadIobType()
{
if (IOBConfFull != null)
{
@@ -115,6 +115,10 @@ namespace IOB_WIN_SIEMENS
btnStart.Enabled = false;
break;
}
if (!await iobInitAsync())
{
return;
}
UpdateDisplTypeIobSel();
}
}
+5 -1
View File
@@ -21,7 +21,7 @@ namespace IOB_WIN_SQL
/// <summary>
/// carica IOB richiesto
/// </summary>
protected override void loadIobType()
protected override async Task loadIobType()
{
if (IOBConfFull != null)
{
@@ -54,6 +54,10 @@ namespace IOB_WIN_SQL
btnStart.Enabled = false;
break;
}
if (!await iobInitAsync())
{
return;
}
UpdateDisplTypeIobSel();
}
}
+5 -1
View File
@@ -21,7 +21,7 @@ namespace IOB_WIN_WPS
/// <summary>
/// carica IOB richiesto
/// </summary>
protected override void loadIobType()
protected override async Task loadIobType()
{
if (IOBConfFull != null)
{
@@ -40,6 +40,10 @@ namespace IOB_WIN_WPS
btnStart.Enabled = false;
break;
}
if (!await iobInitAsync())
{
return;
}
UpdateDisplTypeIobSel();
}
}
+5 -1
View File
@@ -21,7 +21,7 @@ namespace IOB_WIN_WS
/// <summary>
/// carica IOB richiesto
/// </summary>
protected override void loadIobType()
protected override async Task loadIobType()
{
if (IOBConfFull != null)
{
@@ -60,6 +60,10 @@ namespace IOB_WIN_WS
btnStart.Enabled = false;
break;
}
if (!await iobInitAsync())
{
return;
}
UpdateDisplTypeIobSel();
}
}