using DataBlockHelper.Entity.DB2107Entity; using DataBlockHelper.Entity.DB2105Entity; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DataBlockHelper.DBHelpers { public class DB2105Helper : DBHelper { public DB2105Helper() { this.bytes = PlcConnect.Instance.Read("DB2105.0.0", 52).Content; } public List Plan => new PlanArrayManager(4, 0, 12, bytes).GetList(); public bool[] Status => new FourBoolArrayManager(48, bytes).GetList(); public bool[] End => new FourBoolArrayManager(50, bytes).GetList(); /// /// 设置启动运行 /// public List GetStartJob { get { List ls = new List(); var b = bytes.Skip(52).Take(1).First(); for (int i = 0; i <8; i++) { int no = i + 1; ls.Add(new NoVal() { No = no, Val = b.GetBit(i) }); } return ls; } } /// /// 获取手动加粉料数据 /// public List GetManScrew { get { List ls = new List(); var b = bytes.Skip(53).Take(1).First(); for (int i = 0; i <4; i++) { int no = i + 1; ls.Add(new NoVal() { No = no, Val = b.GetBit(i) }); } return ls; } } /// /// 获取设定值 /// public List GetSetValue { get { // 54 58 // 62 66 // 70 74 // 78 82 // 86 90 // 94 98 // 102 106 // 110 114 int start = 54; List ls = new List(); for (int i = 0; i < 8; i++) { int no = i + 1; var b = bytes.Skip(start).Take(8).ToArray(); ls.Add(new SetValue() { No = no, Value = PlcConnect.Instance.ByteTransform.TransSingle(b,0), Toterance = PlcConnect.Instance.ByteTransform.TransSingle(b,4), }); start += 8; } return ls; } } } public class NoVal { public int No { get; set; } public bool Val { get; set; } } public class SetValue { public int No { get; set; } public float Value { get; set; } public float Toterance { get; set; } } }