From f6d6afdda5033456cae02fee1cdc1192c607e8f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=88=91=E5=8F=AB=E9=94=84=E5=A4=B4?= Date: Sun, 17 Dec 2023 15:39:25 +0800 Subject: [PATCH] DB112Helper --- DataBlockHelper/DBHelpers/DB112Helper.cs | 86 ++++++++++++++++++++++++ DataBlockHelper/DataBlockHelper.csproj | 1 + 2 files changed, 87 insertions(+) create mode 100644 DataBlockHelper/DBHelpers/DB112Helper.cs diff --git a/DataBlockHelper/DBHelpers/DB112Helper.cs b/DataBlockHelper/DBHelpers/DB112Helper.cs new file mode 100644 index 0000000..ee44a15 --- /dev/null +++ b/DataBlockHelper/DBHelpers/DB112Helper.cs @@ -0,0 +1,86 @@ +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 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 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; } + } +} diff --git a/DataBlockHelper/DataBlockHelper.csproj b/DataBlockHelper/DataBlockHelper.csproj index e89be44..2a171d5 100644 --- a/DataBlockHelper/DataBlockHelper.csproj +++ b/DataBlockHelper/DataBlockHelper.csproj @@ -48,6 +48,7 @@ +