diff --git a/CMS_CORE_Library/Models/ThermoModels.cs b/CMS_CORE_Library/Models/ThermoModels.cs
index 2d89427..a23afcb 100644
--- a/CMS_CORE_Library/Models/ThermoModels.cs
+++ b/CMS_CORE_Library/Models/ThermoModels.cs
@@ -450,6 +450,27 @@ namespace CMS_CORE_Library.Models
#endregion Methods
}
+ ///
+ /// ThermoCam management data
+ ///
+ public class ThermoCam
+ {
+ ///
+ /// Opzione ThermoCamera (set by PLC)
+ ///
+ public bool ThermoOptionActive { get; set; } = false;
+ ///
+ /// Modalità ThermoCamera (set by HMI)
+ ///
+ public bool ThermoCamMode { get; set; } = false;
+ ///
+ /// Funzionamento ThermoCamera (set by HMI)
+ ///
+ public bool ThermoCamOnOff { get; set; } = false;
+ }
+ ///
+ /// Warmers channel data
+ ///
public class WarmerChannel
{
diff --git a/CMS_CORE_Library/NcThermo.cs b/CMS_CORE_Library/NcThermo.cs
index 5d6141e..1d9b56e 100644
--- a/CMS_CORE_Library/NcThermo.cs
+++ b/CMS_CORE_Library/NcThermo.cs
@@ -272,7 +272,7 @@ namespace CMS_CORE_Library
public abstract CmsError NC_GetTranslatedPlcMessages(string language, ref Dictionary messages);
- public abstract CmsError NC_GetTranslatedThermoLabels(string language, ref Dictionary messages);
+ public abstract CmsError NC_GetTranslatedThermoLabels(string language, ref Dictionary messages);
public abstract CmsError NC_GetAvailableLanguages(ref ICollection languages);
@@ -672,6 +672,12 @@ namespace CMS_CORE_Library
///
public abstract CmsError PLC_RModulesBlockList(bool onlyRT, ref Dictionary currModulesBlockList);
///
+ /// Get current Warmers ThermoCam Data
+ ///
+ ///
+ ///
+ public abstract CmsError PLC_RWarmerTCamData(out ThermoModels.ThermoCam currTCamData);
+ ///
/// Get current Warmers Channels list
///
/// updates only READ parameters (false = update all data)
diff --git a/CMS_CORE_Library/S7Net/Nc_S7Net.cs b/CMS_CORE_Library/S7Net/Nc_S7Net.cs
index 3693b91..4da7d1d 100644
--- a/CMS_CORE_Library/S7Net/Nc_S7Net.cs
+++ b/CMS_CORE_Library/S7Net/Nc_S7Net.cs
@@ -61,6 +61,7 @@ namespace CMS_CORE_Library.S7Net
private static Dictionary ThermoWarmChannels = new Dictionary();
private static ThermoModels.ProdInfoModel ThermoProdInfo = new ThermoModels.ProdInfoModel();
private static ThermoModels.ProdCycleModel ThermoProdCycle = new ThermoModels.ProdCycleModel();
+ private static ThermoModels.ThermoCam ThermoCamData = new ThermoModels.ThermoCam();
// connessione S7
private CpuType tipoCpu = CpuType.S71500;
@@ -2343,6 +2344,41 @@ namespace CMS_CORE_Library.S7Net
return NO_ERROR;
}
///
+ /// Get current Warmers ThermoCam Data
+ ///
+ ///
+ ///
+ public override CmsError PLC_RWarmerTCamData(out ThermoModels.ThermoCam currTCamData)
+ {
+ // init...
+ bool currValue = false;
+ currTCamData = new ThermoModels.ThermoCam();
+
+ // leggo da PLC singoli bit...
+ CmsError libraryError = MEM_RWBoolean(R, true, 0, TCAM_STATW_DATA.MemType, TCAM_STATW_DATA.Address, TCAM_STATW_DATA.SubAddress, 0, ref currValue);
+ if (libraryError.IsError())
+ return libraryError;
+
+ ThermoCamData.ThermoOptionActive = currValue;
+
+ libraryError = MEM_RWBoolean(R, true, 0, TCAM_COMMW_DATA.MemType, TCAM_COMMW_DATA.Address, TCAM_COMMW_DATA.SubAddress, 0, ref currValue);
+ if (libraryError.IsError())
+ return libraryError;
+
+ ThermoCamData.ThermoCamMode = currValue;
+
+ libraryError = MEM_RWBoolean(R, true, 0, TCAM_COMMW_DATA.MemType, TCAM_COMMW_DATA.Address, TCAM_COMMW_DATA.SubAddress, 1, ref currValue);
+ if (libraryError.IsError())
+ return libraryError;
+
+ ThermoCamData.ThermoCamOnOff = currValue;
+
+ // restituisce status dei parametri termocamera (in cache...)
+ currTCamData = ThermoCamData;
+
+ return libraryError;
+ }
+ ///
/// Get current Warmers Channels list
///
/// updates only READ parameters (false = update all data)