You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lj_plc/DataBlockHelper/Entity/DB2103Entity/FOR_MOTOR_VFDEntity.cs

65 lines
2.1 KiB
C#

1 year ago
using System.Linq;
using HslCommunication;
namespace DataBlockHelper.Entity.DB2103Entity
{
public class FOR_MOTOR_VFDEntity
{
1 year ago
public FOR_MOTOR_VFDEntity(ushort startSet,byte [] bytes)
{
1 year ago
byte[] content = new byte[14];
for (int i = 0; i < 14; i++)
{
content[i] = bytes[startSet + i];
}
byte byt = content[0];
AutoMode = byt.GetBit(0);
ManMode = byt.GetBit(1);
Start_A = byt.GetBit(2);
Stop_A = byt.GetBit(3);
Start_M = byt.GetBit(4);
Stop_M = byt.GetBit(5);
AlarmReset = byt.GetBit(6);
EXT_Estop = byt.GetBit(7);
byt = content[1];
Running = byt.GetBit(0);
Alarm = byt.GetBit(1);
Error = byt.GetBit(2);
Enable = byt.GetBit(3);
Polarity = byt.GetBit(4);
1 year ago
// bt.Skip(2).Take(4).ToArray()
var con = content.Skip(2).Take(12).ToArray();
SetSpeed_A = PlcConnect.Instance.ByteTransform.TransSingle(con, 0);
SetSpeed_M = PlcConnect.Instance.ByteTransform.TransSingle(con, 4);
ACT_Speed = PlcConnect.Instance.ByteTransform.TransSingle(con, 8);
}
public bool AutoMode { get; private set; }
public bool ManMode { get; private set; }
public bool Start_A { get; private set; }
public bool Stop_A { get; private set; }
public bool Start_M { get; private set; }
public bool Stop_M { get; private set; }
public bool AlarmReset { get; private set; }
public bool EXT_Estop { get; private set; }
public bool Running { get; private set; }
public bool Alarm { get; private set; }
public bool Error { get; private set; }
public bool Enable { get; private set; }
public bool Polarity { get; private set; }
public float SetSpeed_A { get; private set; }
public float SetSpeed_M { get; private set; }
public float ACT_Speed { get; private set; }
}
}