diff --git a/CMS_CORE_Library/S7Net/Nc_S7Net.cs b/CMS_CORE_Library/S7Net/Nc_S7Net.cs
index 072a02d..daeb6c8 100644
--- a/CMS_CORE_Library/S7Net/Nc_S7Net.cs
+++ b/CMS_CORE_Library/S7Net/Nc_S7Net.cs
@@ -1948,17 +1948,6 @@ namespace CMS_CORE_Library.S7Net
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;
}
@@ -1969,6 +1958,22 @@ namespace CMS_CORE_Library.S7Net
///
public override CmsError PLC_RProdCycle(ref ProdCycle currProdCycle)
{
+ List currMem = new List();
+ CmsError cmsError = MEM_RWByteList(R, 0, PROCESS_PROD_CYCLE.MemType, PROCESS_PROD_CYCLE.Address, PROCESS_PROD_CYCLE.SubAddress, 0, PROCESS_PROD_CYCLE.Size, ref currMem);
+
+ if (cmsError.IsError())
+ return cmsError;
+ // converto!
+ currProdCycle = new ProdCycle()
+ {
+ Status = S7.Net.Types.Word.FromByteArray(currMem.Skip(0).Take(2).ToArray()),
+ MessageId = S7.Net.Types.Word.FromByteArray(currMem.Skip(2).Take(2).ToArray()),
+ Mode = S7.Net.Types.Byte.FromByteArray(currMem.Skip(4).Take(1).ToArray()),
+ // Submode? FIXME TODO
+ //Submode = S7.Net.Types.Byte.FromByteArray(currMem.Skip(5).Take(1).ToArray()),
+ TimeAdv = S7.Net.Types.DWord.FromByteArray(currMem.Skip(6).Take(4).ToArray())
+ };
+
return NO_ERROR;
}
@@ -4402,6 +4407,8 @@ namespace CMS_CORE_Library.S7Net
// produzione
internal static MEMORY_CELL PROCESS_PROD_INFO = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 606, 0, 50);
+ internal static MEMORY_CELL PROCESS_PROD_CYCLE = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 605, 0, 22);
+
internal static MEMORY_CELL PROCESS_STATUS = new MEMORY_CELL(MEMORY_TYPE.Siemens_DB, 605, 0, 2);
// Machine number