added ProdCycle

This commit is contained in:
Samuele Locatelli
2020-05-30 17:01:28 +02:00
parent 2e703010b2
commit 86a10ac2f9
+18 -11
View File
@@ -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
/// <returns></returns>
public override CmsError PLC_RProdCycle(ref ProdCycle currProdCycle)
{
List<byte> currMem = new List<byte>();
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