diff --git a/CMS_CORE_Library/Models/DataStructures.cs b/CMS_CORE_Library/Models/DataStructures.cs
index 723e4c2..891298c 100644
--- a/CMS_CORE_Library/Models/DataStructures.cs
+++ b/CMS_CORE_Library/Models/DataStructures.cs
@@ -705,13 +705,13 @@ namespace CMS_CORE_Library.Models
public class ProdInfo
{
- public ushort NumTarget { get; set; } = 0;
- public ushort NumDone { get; set; } = 0;
- public uint TimeWarm { get; set; } = 0;
- public uint TimeVent { get; set; } = 0;
- public uint TimeVacuum { get; set; } = 0;
- public uint TimeCycleGross { get; set; } = 0;
- public uint TimeCycleNet { get; set; } = 0;
+ public short NumTarget { get; set; } = 0;
+ public short NumDone { get; set; } = 0;
+ public int TimeWarm { get; set; } = 0;
+ public int TimeVent { get; set; } = 0;
+ public int TimeVacuum { get; set; } = 0;
+ public int TimeCycleGross { get; set; } = 0;
+ public int TimeCycleNet { get; set; } = 0;
public double MaterialTempEndWarm { get; set; } = 0;
public double MaterialTempEndVent { get; set; } = 0;
public double MoldTemp { get; set; } = 0;
diff --git a/CMS_CORE_Library/S7Net/Nc_S7Net.cs b/CMS_CORE_Library/S7Net/Nc_S7Net.cs
index 49749d4..072a02d 100644
--- a/CMS_CORE_Library/S7Net/Nc_S7Net.cs
+++ b/CMS_CORE_Library/S7Net/Nc_S7Net.cs
@@ -1925,6 +1925,41 @@ namespace CMS_CORE_Library.S7Net
///
public override CmsError PLC_RProdInfo(ref ProdInfo currProdInfo)
{
+ List currMem = new List();
+ CmsError cmsError = MEM_RWByteList(R, 0, PROCESS_PROD_INFO.MemType, PROCESS_PROD_INFO.Address, PROCESS_PROD_INFO.SubAddress, 0, PROCESS_PROD_INFO.Size, ref currMem);
+
+ if (cmsError.IsError())
+ return cmsError;
+ // converto!
+ currProdInfo = new ProdInfo()
+ {
+ NumTarget = S7.Net.Types.Int.FromByteArray(currMem.Skip(0).Take(2).ToArray()),
+ NumDone = S7.Net.Types.Int.FromByteArray(currMem.Skip(2).Take(2).ToArray()),
+ // cicli preriscaldo? FIXME TODO
+ TimeWarm = S7.Net.Types.DInt.FromByteArray(currMem.Skip(6).Take(4).ToArray()),
+ TimeVent = S7.Net.Types.DInt.FromByteArray(currMem.Skip(10).Take(4).ToArray()),
+ TimeVacuum = S7.Net.Types.DInt.FromByteArray(currMem.Skip(14).Take(4).ToArray()),
+ TimeCycleGross = S7.Net.Types.DInt.FromByteArray(currMem.Skip(18).Take(4).ToArray()),
+ TimeCycleNet = S7.Net.Types.DInt.FromByteArray(currMem.Skip(22).Take(4).ToArray()),
+ MaterialTempEndWarm = S7.Net.Types.Double.FromByteArray(currMem.Skip(26).Take(4).ToArray()),
+ MaterialTempEndVent = S7.Net.Types.Double.FromByteArray(currMem.Skip(30).Take(4).ToArray()),
+ MoldTemp = S7.Net.Types.Double.FromByteArray(currMem.Skip(34).Take(4).ToArray()),
+ VacuumReadVal = S7.Net.Types.Double.FromByteArray(currMem.Skip(38).Take(4).ToArray()),
+ MouldEnergyOUT = S7.Net.Types.Double.FromByteArray(currMem.Skip(42).Take(4).ToArray()),
+ MouldEnergyIN= S7.Net.Types.Double.FromByteArray(currMem.Skip(46).Take(4).ToArray())
+ };
+ //gaugeData = new GaugeModel()
+ //{
+ // TimeAdv = Convert.ToUInt32(Values[0]),
+ // Power = Values[1],
+ // Vacuum = Values[2],
+ // Air = Values[3],
+ //};
+
+
+
+
+
return NO_ERROR;
}
///
@@ -4366,6 +4401,7 @@ namespace CMS_CORE_Library.S7Net
internal static MEMORY_CELL RISC_ICH_DATA = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 500, 11776, 4096);
// produzione
+ internal static MEMORY_CELL PROCESS_PROD_INFO = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 606, 0, 50);
internal static MEMORY_CELL PROCESS_STATUS = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 605, 0, 2);
// Machine number