fix cycleLog data

This commit is contained in:
Samuele E. Locatelli
2021-02-26 16:08:18 +01:00
parent 72b6815b49
commit 359d5f0a23
3 changed files with 125 additions and 1 deletions
+73
View File
@@ -329,6 +329,79 @@ namespace CMS_CORE_Library.Models
#endregion Public Methods
}
public class LogCycleData
{
#region Public Constructors
/// <summary>
/// Deserializzazione da byte ad oggetto LogCycleData
/// </summary>
/// <param name="rawData"></param>
public LogCycleData(byte[] rawData)
{
// converto i dati da byte grezzi ai 3 componenti...
year = S7.Net.Types.Word.FromByteArray(rawData.Skip(0).Take(2).ToArray());
month = S7.Net.Types.Byte.FromByteArray(rawData.Skip(2).Take(1).ToArray());
day = S7.Net.Types.Byte.FromByteArray(rawData.Skip(3).Take(1).ToArray());
hour = S7.Net.Types.Byte.FromByteArray(rawData.Skip(4).Take(1).ToArray());
min = S7.Net.Types.Byte.FromByteArray(rawData.Skip(5).Take(1).ToArray());
msec = S7.Net.Types.Word.FromByteArray(rawData.Skip(6).Take(2).ToArray());
Code = S7.Net.Types.Word.FromByteArray(rawData.Skip(8).Take(2).ToArray());
}
#endregion Public Constructors
#region Public Properties
protected int year { get; set; } = 0;
protected int month { get; set; } = 0;
protected int day { get; set; } = 0;
protected int hour { get; set; } = 0;
protected int min { get; set; } = 0;
protected int msec { get; set; } = 0;
public DateTime DtEvent
{
get
{
DateTime answ = DateTime.Now;
try
{
new DateTime(year, month, day);
answ = answ.AddHours(hour).AddMinutes(min).AddMilliseconds(msec);
}
catch
{ }
return answ;
}
}
public int Code { get; set; } = 0;
#endregion Public Properties
#region Public Methods
public override bool Equals(object obj)
{
// Object is not a GaugeModel instance
if (!(obj is LogCycleData item))
return false;
if (DtEvent != item.DtEvent)
return false;
if (Code != item.Code)
return false;
return true;
}
public override int GetHashCode()
{
return base.GetHashCode();
}
#endregion Public Methods
}
public class ModuleBlock
{
#region Public Properties