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);