From d1626b7ed5d87eab895f5f8c3f8f449dc626e665 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=88=91=E5=8F=AB=E9=94=84=E5=A4=B4?= Date: Mon, 18 Dec 2023 11:04:28 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BE=93=E9=80=81=E7=BB=B4=E6=8A=A4=E7=95=8C?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DataBlockHelper/DBHelpers/DB120Help.cs | 87 +++++++++++++++++++++ DataBlockHelper/DBHelpers/DB120WriteHelp.cs | 43 ++++++++++ DataBlockHelper/DBHelpers/DB92Help.cs | 64 +++++++++++++++ DataBlockHelper/DBHelpers/DB92WriterHelp.cs | 31 ++++++++ DataBlockHelper/DataBlockHelper.csproj | 4 + 5 files changed, 229 insertions(+) create mode 100644 DataBlockHelper/DBHelpers/DB120Help.cs create mode 100644 DataBlockHelper/DBHelpers/DB120WriteHelp.cs create mode 100644 DataBlockHelper/DBHelpers/DB92Help.cs create mode 100644 DataBlockHelper/DBHelpers/DB92WriterHelp.cs diff --git a/DataBlockHelper/DBHelpers/DB120Help.cs b/DataBlockHelper/DBHelpers/DB120Help.cs new file mode 100644 index 0000000..0398fee --- /dev/null +++ b/DataBlockHelper/DBHelpers/DB120Help.cs @@ -0,0 +1,87 @@ +using HslCommunication; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DataBlockHelper.DBHelpers +{ + public class DB120Help: DBHelper + { + + public DB120Help() { + + OperateResult db120 = PlcConnect.Instance.Read("DB120.0.0", 64); + bytes = db120.Content; + } + + + public Uhd GetUhd => new Uhd(); + + + } + + public class Uhd + { + + public Uhd() + { + + } + + public Uhd(byte[] content) + { + var trans = PlcConnect.Instance.ByteTransform; + A= trans.TransSingle(content, 0); + B = trans.TransSingle(content, 4); + C = trans.TransSingle(content, 8); + D = trans.TransSingle(content, 12); + E = trans.TransSingle(content, 16); + F = trans.TransSingle(content, 20); + G = trans.TransSingle(content, 24); + H = trans.TransSingle(content, 28); + I = trans.TransSingle(content, 32); + J = trans.TransSingle(content, 36); + K = trans.TransSingle(content, 40); + + L = trans.TransSingle(content, 44); + M = trans.TransSingle(content, 48); + + N = trans.TransSingle(content, 52); + O= trans.TransSingle(content, 56); + + Delay1 = trans.TransUInt16(content, 60); + Delay2 = trans.TransUInt16(content, 62); + Delay3 = trans.TransUInt16(content, 64); + } + + public float A { get; set; } + public float B { get; set; } + public float C { get; set; } + public float D { get; set; } + public float E { get; set; } + public float F { get; set; } + public float G { get; set; } + public float H { get; set; } + public float I { get; set; } + public float J { get; set; } + + public float K { get; set; } + + public float L { get; set; } + + public float M { get; set; } + + public float N { get; set; } + + public float O { get; set; } + + public ushort Delay1 { get; set; } + + public ushort Delay2 { get; set; } + + public ushort Delay3 { get; set; } + } +} diff --git a/DataBlockHelper/DBHelpers/DB120WriteHelp.cs b/DataBlockHelper/DBHelpers/DB120WriteHelp.cs new file mode 100644 index 0000000..279b9c7 --- /dev/null +++ b/DataBlockHelper/DBHelpers/DB120WriteHelp.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DataBlockHelper.DBHelpers +{ + public class DB120WriteHelp + { + private static readonly string DbName = "DB120"; + public DB120WriteHelp() { } + + public static void AddABCDEF(Uhd uhd) + { + int start = 0; + var siemensS7Net = PlcConnect.Instance; + siemensS7Net.Write($"{DbName}.{start}.0", uhd.A); + siemensS7Net.Write($"{DbName}.{start + 4}.0", uhd.B); + siemensS7Net.Write($"{DbName}.{start + 8}.0", uhd.C); + siemensS7Net.Write($"{DbName}.{start + 12}.0", uhd.D); + siemensS7Net.Write($"{DbName}.{start + 16}.0", uhd.E); + siemensS7Net.Write($"{DbName}.{start + 20}.0", uhd.F); + siemensS7Net.Write($"{DbName}.{start + 24}.0", uhd.G); + siemensS7Net.Write($"{DbName}.{start + 28}.0", uhd.H); + + + siemensS7Net.Write($"{DbName}.{start + 32}.0", uhd.I); + siemensS7Net.Write($"{DbName}.{start + 36}.0", uhd.J); + siemensS7Net.Write($"{DbName}.{start + 40}.0", uhd.K); + siemensS7Net.Write($"{DbName}.{start + 44}.0", uhd.L); + + + siemensS7Net.Write($"{DbName}.{start + 48}.0", uhd.M); + siemensS7Net.Write($"{DbName}.{start + 52}.0", uhd.N); + siemensS7Net.Write($"{DbName}.{start + 56}.0", uhd.O); + + siemensS7Net.Write($"{DbName}.{start + 60}.0", uhd.Delay1); + siemensS7Net.Write($"{DbName}.{start + 62}.0", uhd.Delay2); + siemensS7Net.Write($"{DbName}.{start + 64}.0", uhd.Delay3); + } + } +} diff --git a/DataBlockHelper/DBHelpers/DB92Help.cs b/DataBlockHelper/DBHelpers/DB92Help.cs new file mode 100644 index 0000000..30b463b --- /dev/null +++ b/DataBlockHelper/DBHelpers/DB92Help.cs @@ -0,0 +1,64 @@ +using HslCommunication; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DataBlockHelper.DBHelpers +{ + public class DB92Help: DBHelper + { + public DB92Help() + { + OperateResult db = PlcConnect.Instance.Read("DB92.0.0", 34); + bytes = db.Content; + } + } + + + public class Pipe + { + public Pipe() + { + + } + + public Pipe(ushort startSet, byte[] bytes) + { + var trans = PlcConnect.Instance.ByteTransform; + byte[] content = bytes.Skip(startSet).Take(32).ToArray(); + + MainPipieA=trans.TransSingle(content, 0); + AuxPipieA = trans.TransSingle(content, 4); + + + MainPipieB = trans.TransSingle(content,8); + AuxPipieB=trans.TransSingle(content,12); + + MainPipieC = trans.TransSingle(content, 16); + AuxPipieC = trans.TransSingle(content, 20); + + UpperPressure=trans.TransSingle(content, 24); + LowerPressure = trans.TransSingle(content, 28); + } + + public float MainPipieA { get; set; } + public float AuxPipieA { get; set; } + + + public float MainPipieB { get; set; } + public float AuxPipieB { get; set; } + + + public float MainPipieC { get; set; } + public float AuxPipieC { get; set; } + + + + public float UpperPressure { get; set; } + + public float LowerPressure { get; set; } + } +} diff --git a/DataBlockHelper/DBHelpers/DB92WriterHelp.cs b/DataBlockHelper/DBHelpers/DB92WriterHelp.cs new file mode 100644 index 0000000..30c7469 --- /dev/null +++ b/DataBlockHelper/DBHelpers/DB92WriterHelp.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DataBlockHelper.DBHelpers +{ + public class DB92WriterHelp + { + private static readonly string DbName = "DB92"; + + + public static void Add(Pipe pipe) + { + + var siemensS7Net = PlcConnect.Instance; + siemensS7Net.Write($"{DbName}.2.0", pipe.MainPipieA); + siemensS7Net.Write($"{DbName}.6.0", pipe.AuxPipieA); + + siemensS7Net.Write($"{DbName}.10.0", pipe.MainPipieB); + siemensS7Net.Write($"{DbName}.14.0", pipe.AuxPipieB); + + siemensS7Net.Write($"{DbName}.18.0", pipe.MainPipieC); + siemensS7Net.Write($"{DbName}.22.0", pipe.AuxPipieC); + + + siemensS7Net.Write($"{DbName}.26.0", pipe.UpperPressure); + siemensS7Net.Write($"{DbName}.30.0", pipe.LowerPressure); + } +} diff --git a/DataBlockHelper/DataBlockHelper.csproj b/DataBlockHelper/DataBlockHelper.csproj index 310a721..8071e18 100644 --- a/DataBlockHelper/DataBlockHelper.csproj +++ b/DataBlockHelper/DataBlockHelper.csproj @@ -50,6 +50,8 @@ + + @@ -67,6 +69,8 @@ + +