// See https://aka.ms/new-console-template for more information using System.Diagnostics; using ConsoleStarter; using HybirdFrameworkCore.Autofac.Attribute; using HybirdFrameworkCore.Utils; using HybirdFrameworkDriver.ModbusTcpMaster; using log4net.Config; internal class Program { public static void Main(string[] args) { XmlConfigurator.ConfigureAndWatch(new FileInfo(AppDomain.CurrentDomain.BaseDirectory + @"\log4net.xml")); ExportDb exportDb = new ExportDb(); exportDb.Export(); } #region test private static WaterCoolData coolData = new WaterCoolData(); private static void ReadFunc(ModbusTcpMaster master) { byte[]? bytes = master.BatchRead(1, 46); if (bytes != null) { ModbusDecoder.Decode(bytes, coolData); Debug.WriteLine("12.7f" + coolData.Temperature1.Value); Debug.WriteLine("12" + coolData.Status.Value); Debug.WriteLine("fasle" + coolData.CompressorState1.Value); Debug.WriteLine("18" + coolData.ushortType.Value); } } private static void Test1() { Console.WriteLine("Hello, World!"); List list = new List { new(0, 4), new(4, 8), new(12, 1), new(13, 2), new(15, 1), new(16, 1), new(17, 1), new(18, 2), new(20, 2), new(22, 2), new(24, 2), new(26, 1), new(27, 2), new(29, 2), new(31, 1), new(32, 1), new(33, 29) }; Queue queue = new Queue(); int size = 0; foreach (PropertyAttribute p in list) { size += p.Length; if (size < 8) { queue.Enqueue(new EncodeData() { Start = 0, Length = p.Length }); } else { Console.WriteLine("---------------------------begin one byte---------------------"); int length = 0; while (queue.Count > 0) { EncodeData data = queue.Dequeue(); length += data.Length; Console.WriteLine($"use {data.Start}, {data.Length}"); } size -= length; int occupy = 8 - length; Console.WriteLine($"use 0, {occupy}"); Console.WriteLine("---------------------------end one byte---------------------"); size -= occupy; while (size >= 8) { Console.WriteLine("---------------------------begin one byte---------------------"); Console.WriteLine($"use {occupy}, 8"); Console.WriteLine("---------------------------end one byte---------------------"); size -= 8; occupy += 8; } if (size > 0) { queue.Enqueue(new EncodeData() { Start = occupy, Length = size }); } } } foreach (EncodeData d in queue) { Console.WriteLine($"{d.Start}, {d.Length}"); } UInt32 i = UInt32.MaxValue - 1; byte[] bytes = BitConverter.GetBytes(i).Reverse().ToArray(); foreach (byte b in bytes) { Console.WriteLine(b); } Console.WriteLine(BitUtls.BytesToHexStr(bytes)); UInt32 r = BitConverter.ToUInt32(bytes); Console.WriteLine(r); bytes = BitConverter.GetBytes(r); foreach (byte b in bytes) { Console.WriteLine(b); } Console.WriteLine(BitUtls.BytesToHexStr(bytes)); } #endregion } public struct EncodeData { public int Start { get; set; } public int Length { get; set; } public byte[] Value { get; set; } }