Added ProdInfo readings
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -1925,6 +1925,41 @@ namespace CMS_CORE_Library.S7Net
|
||||
/// <returns></returns>
|
||||
public override CmsError PLC_RProdInfo(ref ProdInfo currProdInfo)
|
||||
{
|
||||
List<byte> currMem = new List<byte>();
|
||||
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;
|
||||
}
|
||||
/// <summary>
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user