diff --git a/CMS_CORE_Library/S7Net/Nc_S7Net.cs b/CMS_CORE_Library/S7Net/Nc_S7Net.cs index 8a5780a..2ae830f 100644 --- a/CMS_CORE_Library/S7Net/Nc_S7Net.cs +++ b/CMS_CORE_Library/S7Net/Nc_S7Net.cs @@ -3351,20 +3351,22 @@ namespace CMS_CORE_Library.S7Net return NO_ERROR; } /// - /// Set current Warmers Channels ThermocamSetpoints (°C) + /// Set current Warmers Channels Temp REF Setpoints (1/10 °C) /// /// /// public override CmsError PLC_WWarmerChTCamTempSet(Dictionary newData) { - // FIXME TODO serve nuova area termocamera -#if false + // valori in 1/10 di °C + int dataScale = 10; // memory area - byte[] newMem = new byte[newData.Count]; - List currMem = new List(); + short[] newMem = new short[newData.Count]; + // leggo DB624 x Setpoint Temp richiesti + List currMem = new List(); + + // leggo da PLC a array di byte di appoggio... + CmsError libraryError = MEM_RWShortList(R, 0, TCAM_TEMP_REQ_DATA.MemType, TCAM_TEMP_REQ_DATA.Address, TCAM_TEMP_REQ_DATA.SubAddress, TCAM_TEMP_REQ_DATA.Size, ref currMem); - // read actual data on memory... - CmsError libraryError = MEM_RWByteList(R, 0, RISC_CHP_DATA.MemType, RISC_CHP_DATA.Address, RISC_CHP_DATA.SubAddress, 0, RISC_CHP_DATA.Size, ref currMem); if (libraryError.IsError()) return libraryError; @@ -3373,15 +3375,16 @@ namespace CMS_CORE_Library.S7Net // update only given data... foreach (var item in newData) { - newMem[item.Key - 1] = (byte)item.Value; + // attenzione: effettua scalatura dati! + newMem[item.Key - 1] = (short)(dataScale * item.Value); } // return as list... currMem = newMem.ToList(); + // scrivo sul PLC array di byte... - libraryError = MEM_RWByteList(W, 0, RISC_CHP_DATA.MemType, RISC_CHP_DATA.Address, RISC_CHP_DATA.SubAddress, 0, RISC_CHP_DATA.Size, ref currMem); + libraryError = MEM_RWShortList(W, 0, TCAM_TEMP_REQ_DATA.MemType, TCAM_TEMP_REQ_DATA.Address, TCAM_TEMP_REQ_DATA.SubAddress, TCAM_TEMP_REQ_DATA.Size, ref currMem); if (libraryError.IsError()) - return libraryError; -#endif + return libraryError; return NO_ERROR; } @@ -3392,14 +3395,16 @@ namespace CMS_CORE_Library.S7Net /// public override CmsError PLC_WWarmerChTCamTempAct(Dictionary newData) { - // FIXME TODO serve nuova area termocamera -#if false + // valori in 1/10 di °C + int dataScale = 10; // memory area - byte[] newMem = new byte[newData.Count]; - List currMem = new List(); + short[] newMem = new short[newData.Count]; + // leggo DB624 x Setpoint Temp richiesti + List currMem = new List(); + + // leggo da PLC a array di byte di appoggio... + CmsError libraryError = MEM_RWShortList(R, 0, TCAM_TEMP_ACT_DATA.MemType, TCAM_TEMP_ACT_DATA.Address, TCAM_TEMP_ACT_DATA.SubAddress, TCAM_TEMP_ACT_DATA.Size, ref currMem); - // read actual data on memory... - CmsError libraryError = MEM_RWByteList(R, 0, RISC_CHP_DATA.MemType, RISC_CHP_DATA.Address, RISC_CHP_DATA.SubAddress, 0, RISC_CHP_DATA.Size, ref currMem); if (libraryError.IsError()) return libraryError; @@ -3408,15 +3413,16 @@ namespace CMS_CORE_Library.S7Net // update only given data... foreach (var item in newData) { - newMem[item.Key - 1] = (byte)item.Value; + // attenzione: effettua scalatura dati! + newMem[item.Key - 1] = (short)(dataScale * item.Value); } // return as list... currMem = newMem.ToList(); + // scrivo sul PLC array di byte... - libraryError = MEM_RWByteList(W, 0, RISC_CHP_DATA.MemType, RISC_CHP_DATA.Address, RISC_CHP_DATA.SubAddress, 0, RISC_CHP_DATA.Size, ref currMem); + libraryError = MEM_RWShortList(W, 0, TCAM_TEMP_ACT_DATA.MemType, TCAM_TEMP_ACT_DATA.Address, TCAM_TEMP_ACT_DATA.SubAddress, TCAM_TEMP_ACT_DATA.Size, ref currMem); if (libraryError.IsError()) - return libraryError; -#endif + return libraryError; return NO_ERROR; }