diff --git a/Plugins/Drivers/DriverMTConnect/MTConnectClient.cs b/Plugins/Drivers/DriverMTConnect/MTConnectClient.cs index 3b1e26d..dfd4c58 100644 --- a/Plugins/Drivers/DriverMTConnect/MTConnectClient.cs +++ b/Plugins/Drivers/DriverMTConnect/MTConnectClient.cs @@ -1,36 +1,31 @@ using PluginInterface; -using System; using Microsoft.Extensions.Logging; using OpenNETCF.MTConnect; namespace DriverMTConnect { - internal class MTConnectClient : IDriver + [DriverSupported("MTConnect")] + [DriverInfo("MTConnect", "V1.0.0", "Copyright IoTGateway© 2022-08-10")] + public class MTConnectClient : IDriver { + private EntityClient? _mClient; + public ILogger _logger { get; set; } + private readonly string _device; #region 配置参数 - [ConfigParameter("设备Id")] - public Guid DeviceId { get; set; } + [ConfigParameter("设备Id")] public string DeviceId { get; set; } - [ConfigParameter("uri")] - public string Uri { get; set; } + [ConfigParameter("uri")] public string Uri { get; set; } - [ConfigParameter("超时时间ms")] - public int Timeout { get; set; } = 3000; + [ConfigParameter("超时时间ms")] public int Timeout { get; set; } = 3000; - [ConfigParameter("最小通讯周期ms")] - public uint MinPeriod { get; set; } = 3000; + [ConfigParameter("最小通讯周期ms")] public uint MinPeriod { get; set; } = 3000; public bool IsConnected { get; set; } #endregion - EntityClient m_client = null; - - public ILogger _logger { get; set; } - private readonly string _device; - public MTConnectClient(string device, ILogger logger) { _device = device; @@ -43,7 +38,7 @@ namespace DriverMTConnect { try { - m_client = null; + _mClient = null; IsConnected = false; return true; } @@ -51,32 +46,30 @@ namespace DriverMTConnect { return false; } - } public bool Connect() { try { - m_client = new EntityClient(Uri); - m_client.RequestTimeout = Timeout; + _mClient = new EntityClient(Uri); + _mClient.RequestTimeout = Timeout; IsConnected = true; } catch (Exception) { - IsConnected = false; } + return IsConnected; } public void Dispose() { - return; } [Method("读MTConnect", description: "读MTConnect ID")] - public DriverReturnValueModel ReadById(DriverAddressIoArgModel Ioarg) + public DriverReturnValueModel ReadById(DriverAddressIoArgModel ioarg) { var ret = new DriverReturnValueModel { StatusType = VaribaleStatusTypeEnum.Good }; @@ -84,7 +77,7 @@ namespace DriverMTConnect { try { - var dataValue = m_client.GetDataItemById(Ioarg.Address).Value; + var dataValue = _mClient?.GetDataItemById(ioarg.Address).Value; ret.Value = dataValue; } catch (Exception ex) @@ -98,19 +91,20 @@ namespace DriverMTConnect ret.StatusType = VaribaleStatusTypeEnum.Bad; ret.Message = "连接失败"; } + return ret; } - public DriverReturnValueModel Read(DriverAddressIoArgModel Ioarg) + public DriverReturnValueModel Read(DriverAddressIoArgModel ioarg) { var ret = new DriverReturnValueModel { StatusType = VaribaleStatusTypeEnum.Good }; return ret; } - public async Task WriteAsync(string RequestId, string Method, DriverAddressIoArgModel Ioarg) + + public async Task WriteAsync(string requestId, string method, DriverAddressIoArgModel ioarg) { RpcResponse rpcResponse = new() { IsSuccess = false, Description = "设备驱动内未实现写入功能" }; return rpcResponse; } } - } \ No newline at end of file