diff --git a/CMS_CORE_Library/Models/ThermoModels.cs b/CMS_CORE_Library/Models/ThermoModels.cs
index e36fe40..8ddf09e 100644
--- a/CMS_CORE_Library/Models/ThermoModels.cs
+++ b/CMS_CORE_Library/Models/ThermoModels.cs
@@ -149,7 +149,7 @@ namespace CMS_CORE_Library.Models
{
public int IdChannel { get; set; } = 0;
public byte IdRefl { get; set; } = 0;
- public byte SetpointRecipe { get; set; } = 0;
+ public byte SetpointHMI { get; set; } = 0;
public byte SetpointThermoCam { get; set; } = 0;
public byte SetpointPLC { get; set; } = 0;
public byte ChStatus { get; set; } = 0;
@@ -165,7 +165,7 @@ namespace CMS_CORE_Library.Models
if (IdChannel != item.IdChannel)
return false;
- if (SetpointRecipe != item.SetpointRecipe)
+ if (SetpointHMI != item.SetpointHMI)
return false;
if (SetpointThermoCam != item.SetpointThermoCam)
return false;
diff --git a/CMS_CORE_Library/S7Net/Nc_S7Net.cs b/CMS_CORE_Library/S7Net/Nc_S7Net.cs
index 396be1b..756ecdd 100644
--- a/CMS_CORE_Library/S7Net/Nc_S7Net.cs
+++ b/CMS_CORE_Library/S7Net/Nc_S7Net.cs
@@ -1913,6 +1913,8 @@ namespace CMS_CORE_Library.S7Net
refreshRiscPerc();
// refresh setpoint PLC
refreshRiscActCurr();
+ // refresh setpoint HMI
+ refreshRiscSetpointHMI();
// refresh setpoint PLC
refreshRiscSetpointPLC();
// refresh setpoint termocamera ???
@@ -2384,9 +2386,9 @@ namespace CMS_CORE_Library.S7Net
// FIXME TODO ???? da dove prendere info?
}
///
- /// Refresh Canali Riscaldi: SetPoint PLC
+ /// Refresh Canali Riscaldi: SetPoint HMI
///
- private void refreshRiscSetpointPLC()
+ private void refreshRiscSetpointHMI()
{
// leggo DB514 x area Ich
List currMem = new List();
@@ -2399,65 +2401,58 @@ namespace CMS_CORE_Library.S7Net
{
// converto a blocchi di 8 byte...
byte[] memArray = currMem.ToArray();
- double currVal = 0;
- for (int i = 0; i < RISC_CHP_DATA.Size / 4; i++)
+ for (int i = 0; i < RISC_CHP_DATA.Size; i++)
{
- // FIXME TODO
-#if false
- currVal = S7.Net.Types.Double.FromByteArray(memArray.Skip(4 * i).Take(4).ToArray());
// cerco id + 1 (su memoria è base 0)
if (ThermoWarmChannels.ContainsKey(i + 1))
{
- ThermoWarmChannels[i + 1].SetpointPLC = currVal;
+ ThermoWarmChannels[i + 1].SetpointHMI = memArray[i];
}
else
{
ThermoWarmChannels.Add(i + 1, new ThermoModels.WarmerChannel()
{
IdChannel = i + 1,
- SetpointPLC = currVal
+ SetpointHMI = memArray[i]
});
- }
-#endif
+ }
}
}
}
+ ///
+ /// Refresh Canali Riscaldi: SetPoint PLC
+ ///
+ private void refreshRiscSetpointPLC()
+ {
+ // leggo DB514 x area Ich
+ List currMem = new List();
- // FIXME TODO : devo farla o legge da conf il PLC?
-#if false
- ///
- /// Write Board enabled on OCC area
- ///
- private void PLC_WRiscAbilitSch()
- {
- List currMem = new List();
- // converto a blocchi di 2 byte...
- for (int i = 0; i < RISC_OCC_DATA.Size / 2; i++)
+ // leggo da PLC a array di byte di appoggio...
+ CmsError cmsError = MEM_RWByteList(R, 0, RISC_PLC_DATA.MemType, RISC_PLC_DATA.Address, RISC_PLC_DATA.SubAddress, 0, RISC_PLC_DATA.Size, ref currMem);
+
+ // copio! controllo SE ho dati...
+ if (currMem.Count > 0)
{
- currMem.Add(ThermoWarmChannels[i + 1].SetpointPLC);
- currMem.Add(ThermoWarmChannels[i].SetpointPLC);
+ // converto a blocchi di 8 byte...
+ byte[] memArray = currMem.ToArray();
+ for (int i = 0; i < RISC_PLC_DATA.Size; i++)
+ {
+ // cerco id + 1 (su memoria è base 0)
+ if (ThermoWarmChannels.ContainsKey(i + 1))
+ {
+ ThermoWarmChannels[i + 1].SetpointPLC = memArray[i];
+ }
+ else
+ {
+ ThermoWarmChannels.Add(i + 1, new ThermoModels.WarmerChannel()
+ {
+ IdChannel = i + 1,
+ SetpointPLC = memArray[i]
+ });
+ }
+ }
}
- // scrivo sul PLC array di byte...
- CmsError cmsError = MEM_RWByteList(W, 0, RISC_CHP_DATA.MemType, RISC_CHP_DATA.Address, RISC_CHP_DATA.SubAddress, 0, RISC_CHP_DATA.Size, ref currMem);
- }
-#endif
-#if false
- ///
- /// Write riflector on CFI area
- ///
- private void PLC_WRiscSetReflector()
- {
- List currMem = new List();
- // converto a blocchi di 2 byte...
- for (int i = 0; i < RISC_CFI_DATA.Size / 2; i++)
- {
- currMem.Add(RiskChannelConfig[i + 1].SetpointPLC);
- currMem.Add(RiskChannelConfig[i].SetpointPLC);
- }
- // scrivo sul PLC array di byte...
- CmsError cmsError = MEM_RWByteList(W, 0, RISC_CFI_DATA.MemType, RISC_CFI_DATA.Address, RISC_CFI_DATA.SubAddress, 0, RISC_CFI_DATA.Size, ref currMem);
- }
-#endif
+ }
///
/// Refresh Canali Riscaldi: actual current PLC
///
@@ -2663,7 +2658,7 @@ namespace CMS_CORE_Library.S7Net
return NO_ERROR;
}
///
- /// Set current Warmers Channels reflector's data
+ /// Get current Warmers VUMin data
///
///
///
@@ -2681,7 +2676,7 @@ namespace CMS_CORE_Library.S7Net
return NO_ERROR;
}
///
- /// Set current Warmers Channels reflector's data
+ /// Set current Warmers Channels min current data
///
///
///
@@ -2691,7 +2686,7 @@ namespace CMS_CORE_Library.S7Net
List ListValue = new List();
// read actual data on memory...
- CmsError cmsError = MEM_RWDoubleList(R, 0, RISC_OCC_DATA.MemType, RISC_OCC_DATA.Address, RISC_OCC_DATA.SubAddress, RISC_OCC_DATA.Size, ref ListValue);
+ CmsError cmsError = MEM_RWDoubleList(R, 0, RISC_ICH_MIN_DATA.MemType, RISC_ICH_MIN_DATA.Address, RISC_ICH_MIN_DATA.SubAddress, RISC_ICH_MIN_DATA.Size, ref ListValue);
if (cmsError.IsError())
return cmsError;
@@ -2705,7 +2700,7 @@ namespace CMS_CORE_Library.S7Net
// return as list...
ListValue = newMem.ToList();
// scrivo sul PLC array di byte...
- cmsError = MEM_RWDoubleList(W, 0, RISC_OCC_DATA.MemType, RISC_OCC_DATA.Address, RISC_OCC_DATA.SubAddress, RISC_OCC_DATA.Size, ref ListValue);
+ cmsError = MEM_RWDoubleList(W, 0, RISC_ICH_MIN_DATA.MemType, RISC_ICH_MIN_DATA.Address, RISC_ICH_MIN_DATA.SubAddress, RISC_ICH_MIN_DATA.Size, ref ListValue);
if (cmsError.IsError())
return cmsError;
@@ -4747,6 +4742,7 @@ namespace CMS_CORE_Library.S7Net
// riscaldi
internal static MEMORY_CELL RISC_VU_MIN = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 513, 0, 2);
internal static MEMORY_CELL RISC_OCC_DATA = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 514, 64, 64);
+ internal static MEMORY_CELL RISC_PLC_DATA = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 514, 128, 1024);
internal static MEMORY_CELL RISC_CHP_DATA = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 614, 0, 1024);
internal static MEMORY_CELL RISC_CFI_DATA = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 514, 2176, 1024);
internal static MEMORY_CELL RISC_ICH_MIN_DATA = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 514, 3200, 4096);