using HslCommunication; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DataBlockHelper.DBHelpers { public class DB112Helper : DBHelper { public DB112Helper() { OperateResult db112 = PlcConnect.Instance.Read("DB112.0.0", 151); bytes = db112.Content; } /// /// 这个就是那个产线在运行 /// /// public XX GetXX() { XX x=new XX(); var content = bytes.Skip(0).Take(1).ToArray().First(); x.A=content.GetBit(0); x.B=content.GetBit(1); x.C=content.GetBit(2); return x; } public Conveyor PressureA => new Conveyor(2, bytes); public Conveyor PressureB => new Conveyor(34, bytes); public Conveyor PressureC => new Conveyor(66, bytes); public ConveyorTimer LineTimeA => new ConveyorTimer(98, bytes); public ConveyorTimer LineTimeB => new ConveyorTimer(102, bytes); public ConveyorTimer LineTimeC => new ConveyorTimer(104, bytes); } public class XX { public bool A { get; set; } public bool B { get; set; } public bool C { get; set; } } public class Conveyor { public Conveyor() { } public Conveyor(ushort startSet, byte[] bytes) { byte[] content = bytes.Skip(startSet).Take(32).ToArray(); var trans = PlcConnect.Instance.ByteTransform; SetValue1 = trans.TransSingle(content, 0); SetValue2 = trans.TransSingle(content, 4); SetValue3 = trans.TransSingle(content, 8); SetValue4 = trans.TransSingle(content, 12); SetValue5 = trans.TransSingle(content, 16); SetValue6 = trans.TransSingle(content, 20); SetValue7 = trans.TransSingle(content, 24); SetValue8 = trans.TransSingle(content, 28); } public float SetValue1 { get; set; } public float SetValue2 { get; set; } public float SetValue3 { get; set; } public float SetValue4 { get; set; } public float SetValue5 { get; set; } public float SetValue6 { get; set; } public float SetValue7 { get; set; } public float SetValue8 { get; set; } } public class ConveyorTimer { public ConveyorTimer() { } public ConveyorTimer(ushort startSet, byte[] bytes) { byte[] content = bytes.Skip(startSet).Take(4).ToArray(); var trans = PlcConnect.Instance.ByteTransform; SetValue1 = trans.TransInt16(content, 0); SetValue2 = trans.TransInt16(content, 2); } public short SetValue1 { get; set; } public short SetValue2 { get; set; } } }