// using HslCommunication;
// using Mesnac.PlcUtils.common;
// using Mesnac.PlcUtils.enumInfo;
// using Mesnac.PlcUtils.Impl;
// using System;
// using System.Collections.Generic;
// using System.Linq;
// using System.Reflection;
// using System.Text;
// using System.Threading.Tasks;
//
// namespace Mesnac.PlcUtils
// {
//     public sealed class PlcBusiness
//     {
//
//         private static readonly Lazy<PlcBusiness> lazy = new Lazy<PlcBusiness>(() => new PlcBusiness());
//         public static PlcBusiness Instance
//         {
//             get
//             {
//                 return lazy.Value;
//             }
//         }
//
//         private PlcBusiness() { }
//
//         private static IPlc plcInstance = null;
//
//         public void InitPlcConnect(PlcType plcType, string plcAddress, int plcPort)
//         {
//             try
//             {
//                 string str = System.Environment.CurrentDirectory;
//                 str = str + "\\Mesnac.PlcUtils.dll";
//                 Assembly assembly = Assembly.LoadFile(str); // 加载程序集(EXE 或 DLL)
//                 string AssemName = "Mesnac.PlcUtils.Impl." + plcType.GetDescription();
//                 var obj = assembly.CreateInstance(AssemName, true);
//                 plcInstance = obj as IPlc;
//                 if (plcInstance == null)
//                 {
//                     ICSharpCode.Core.LoggingService<OmronNJPlc>.Error("PLC初始化失败!!!");
//                     return;
//                 }
//                 else
//                 {
//                     if (!plcInstance.IsConnected)
//                     {
//                         bool connectResult = plcInstance.Connect(plcAddress, plcPort);
//                         if (connectResult)
//                         {
//                             ICSharpCode.Core.LoggingService<OmronNJPlc>.Debug("PLC连接成功!!!");
//                         }
//                         else
//                         {
//                             ICSharpCode.Core.LoggingService<OmronNJPlc>.Error("PLC连接失败!!!");
//                         }
//                     }
//                 }
//             }
//             catch (Exception ex)
//             {
//                 ICSharpCode.Core.LoggingService<OmronNJPlc>.Error($"PLC初始化异常:{ex.Message}");
//             }
//         }
//
//         public void Dispose()
//         {
//             plcInstance.DisConnect();
//         }
//
//
//         public OperateResult<bool> readBoolValue(string address)
//         {
//             if(plcInstance != null)
//             {
//                 return plcInstance.readBoolByAddress(address);
//             }
//             else
//             {
//                 return new OperateResult<bool>() { 
//                     IsSuccess = false,
//                     Content = false
//                 };
//             }
//         }
//
//     }
// }