diff --git a/CMS_CORE_Library/NcThermo.cs b/CMS_CORE_Library/NcThermo.cs
index 52124f4..f46acf5 100644
--- a/CMS_CORE_Library/NcThermo.cs
+++ b/CMS_CORE_Library/NcThermo.cs
@@ -808,6 +808,43 @@ namespace CMS_CORE_Library
/// Indicates if values are forced by UI
/// Values forced by UI
public abstract CmsError PLC_RIOChannelsVal(ref ThermoModels.ChanIOVal currThermoIOVal, ref ThermoModels.ChanIOFor currThermoIOFor, ref ThermoModels.ChanIOValFor currThermoIOValFor);
+ ///
+ /// Write MULTIPLE Digital Out values (+ force)
+ ///
+ /// Oggetto valori da aggiornare (from HMI)
+ /// num max parametri da scrivere singolarmente
+ /// delay in scriottura multi parametri singoli
+ ///
+ public abstract CmsError PLC_W_IO_DO_Val(Dictionary newValues, int nMaxParamWrite, int delayParamWrite);
+ ///
+ /// Write MULTIPLE Analog Out values (+ force)
+ ///
+ /// Oggetto valori da aggiornare (from HMI)
+ /// num max parametri da scrivere singolarmente
+ /// delay in scriottura multi parametri singoli
+ ///
+ public abstract CmsError PLC_W_IO_AO_Val(Dictionary newValues, int nMaxParamWrite, int delayParamWrite);
+ ///
+ /// Reset MULTIPLE Digital Out FORCED Status (bitmap)
+ ///
+ /// Oggetto valori da aggiornare (from HMI)
+ /// num max parametri da scrivere singolarmente
+ /// delay in scriottura multi parametri singoli
+ ///
+ public abstract CmsError PLC_W_IO_DO_Reset(Dictionary newValues, int nMaxParamWrite, int delayParamWrite);
+ ///
+ /// Reset MULTIPLE Digital Out FORCED Status (bitmap)
+ ///
+ /// Oggetto valori da aggiornare (from HMI)
+ /// num max parametri da scrivere singolarmente
+ /// delay in scriottura multi parametri singoli
+ ///
+ public abstract CmsError PLC_W_IO_AO_Reset(Dictionary newValues, int nMaxParamWrite, int delayParamWrite);
+ ///
+ /// Reset ALL DO / AO forced bitmap
+ ///
+ ///
+ public abstract CmsError PLC_W_IO_ResetAll();
#endregion THERMO high level data
diff --git a/CMS_CORE_Library/S7Net/Nc_S7Net.cs b/CMS_CORE_Library/S7Net/Nc_S7Net.cs
index 45203ab..7f6633d 100644
--- a/CMS_CORE_Library/S7Net/Nc_S7Net.cs
+++ b/CMS_CORE_Library/S7Net/Nc_S7Net.cs
@@ -3749,7 +3749,7 @@ namespace CMS_CORE_Library.S7Net
// copio liste in output...
currThermoIOVis = ThermoIOVis;
-
+
// esco
return currError;
}
@@ -3899,6 +3899,108 @@ namespace CMS_CORE_Library.S7Net
return libraryError;
}
+
+ ///
+ /// Write MULTIPLE Digital Out values (+ force)
+ ///
+ /// Oggetto valori da aggiornare (from HMI)
+ /// num max parametri da scrivere singolarmente
+ /// delay in scriottura multi parametri singoli
+ ///
+ public override CmsError PLC_W_IO_DO_Val(Dictionary newValues, int nMaxParamWrite, int delayParamWrite)
+ {
+ CmsError libraryError = NO_ERROR;
+
+
+ // leggo valori attuali
+
+ // aggiorno valori ricevuti
+
+ // scrivo valori
+
+ // scrivo forced
+
+ return libraryError;
+ }
+ ///
+ /// Write MULTIPLE Analog Out values (+ force)
+ ///
+ /// Oggetto valori da aggiornare (from HMI)
+ /// num max parametri da scrivere singolarmente
+ /// delay in scriottura multi parametri singoli
+ ///
+ public override CmsError PLC_W_IO_AO_Val(Dictionary newValues, int nMaxParamWrite, int delayParamWrite)
+ {
+ CmsError libraryError = NO_ERROR;
+
+ // leggo valori attuali
+
+ // aggiorno valori ricevuti
+
+ // scrivo valori
+
+ // scrivo forced
+
+ return libraryError;
+ }
+ ///
+ /// Write MULTIPLE Digital Out FORCED Status (bitmap)
+ ///
+ /// Oggetto valori da aggiornare (from HMI)
+ /// num max parametri da scrivere singolarmente
+ /// delay in scriottura multi parametri singoli
+ ///
+ public override CmsError PLC_W_IO_DO_Reset(Dictionary newValues, int nMaxParamWrite, int delayParamWrite)
+ {
+ CmsError libraryError = NO_ERROR;
+
+ return libraryError;
+ }
+ ///
+ /// Write MULTIPLE Digital Out FORCED Status (bitmap)
+ ///
+ /// Oggetto valori da aggiornare (from HMI)
+ /// num max parametri da scrivere singolarmente
+ /// delay in scriottura multi parametri singoli
+ ///
+ public override CmsError PLC_W_IO_AO_Reset(Dictionary newValues, int nMaxParamWrite, int delayParamWrite)
+ {
+ CmsError libraryError = NO_ERROR;
+
+ return libraryError;
+ }
+ ///
+ /// Reset ALL DO / AO forced bitmap
+ ///
+ ///
+ public override CmsError PLC_W_IO_ResetAll()
+ {
+ CmsError libraryError = NO_ERROR;
+
+ List writeValuesDO = new List();
+ List writeValuesAO = new List();
+ // imposto a zero...
+ for (int i = 0; i < IO_DO_FORCE.Size; i++)
+ {
+ writeValuesDO.Add(0);
+ }
+ for (int i = 0; i < IO_AO_FORCE.Size; i++)
+ {
+ writeValuesAO.Add(0);
+ }
+
+ // leggo da PLC a array di byte di appoggio x visibilità DO...
+ libraryError = MEM_RWWordList(W, 0, IO_DO_FORCE.MemType, IO_DO_FORCE.Address, IO_DO_FORCE.SubAddress, IO_DO_FORCE.Size, ref writeValuesDO);
+ if (libraryError.IsError())
+ return libraryError;
+ // leggo da PLC a array di byte di appoggio x visibilità AO...
+ libraryError = MEM_RWWordList(W, 0, IO_AO_FORCE.MemType, IO_AO_FORCE.Address, IO_AO_FORCE.SubAddress, IO_AO_FORCE.Size, ref writeValuesAO);
+ if (libraryError.IsError())
+ return libraryError;
+
+ return libraryError;
+ }
+
#endregion
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////