Add parameters --> PLC conversion
This commit is contained in:
@@ -2272,6 +2272,23 @@ namespace CMS_CORE_Library.S7Net
|
||||
Enabled = (Stato & 2) == 2;
|
||||
HasError = (Stato & 4) == 4;
|
||||
}
|
||||
/// <summary>
|
||||
/// Converte un singolo item in un array di byte per scrittura su PLC S7
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public byte[] convertToByte()
|
||||
{
|
||||
// convero stato dai bit...
|
||||
Stato = 0;
|
||||
Stato += (ushort)(Visible ? 1 : 0);
|
||||
Stato += (ushort)(Enabled ? 2 : 0);
|
||||
Stato += (ushort)(HasError ? 4 : 0);
|
||||
byte[] answ = new byte[8];
|
||||
Buffer.BlockCopy(S7.Net.Types.Int.ToByteArray(Id), 0, answ, 0, 2);
|
||||
Buffer.BlockCopy(S7.Net.Types.Word.ToByteArray(Stato), 0, answ, 2, 2);
|
||||
Buffer.BlockCopy(S7.Net.Types.DInt.ToByteArray(ValueAct), 0, answ, 4, 4);
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Oggetto Parametro da PLC
|
||||
@@ -2298,6 +2315,21 @@ namespace CMS_CORE_Library.S7Net
|
||||
ValMin = S7.Net.Types.DInt.FromByteArray(rawData.Skip(14).Take(4).ToArray());
|
||||
UnitMeasure = S7.Net.Types.Word.FromByteArray(rawData.Skip(18).Take(2).ToArray());
|
||||
}
|
||||
/// <summary>
|
||||
/// Converte un singolo item in un array di byte per scrittura su PLC S7
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public byte[] convertToByte()
|
||||
{
|
||||
byte[] answ = new byte[20];
|
||||
Buffer.BlockCopy(S7.Net.Types.Int.ToByteArray(Id), 0, answ, 0, 2);
|
||||
Buffer.BlockCopy(S7.Net.Types.DInt.ToByteArray(SetpointHMI), 0, answ, 2, 4);
|
||||
Buffer.BlockCopy(S7.Net.Types.DInt.ToByteArray(SetpointPLC), 0, answ, 6, 4);
|
||||
Buffer.BlockCopy(S7.Net.Types.DInt.ToByteArray(ValMax), 0, answ, 10, 4);
|
||||
Buffer.BlockCopy(S7.Net.Types.DInt.ToByteArray(ValMin), 0, answ, 14, 4);
|
||||
Buffer.BlockCopy(S7.Net.Types.Word.ToByteArray(UnitMeasure), 0, answ, 18, 2);
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
Reference in New Issue
Block a user