Example #1
0
        /// <summary>
        /// 建立通讯
        /// 调用同步方法连接时,会报MianForm已经Disposed的异常
        /// </summary>
        /// <returns></returns>
        public bool Connect()
        {
            try
            {
                if (TightenToolClient == null)
                {
                    AE2DeviceFactory fac = new AE2DeviceFactory();
                    TightenToolClient = fac.CreateTightenDevice(tdConfig);
                    TightenToolClient.NetChangedAction      = TdNetChanged;
                    TightenToolClient.OnLastTightenData     = ReadLastTightenData;
                    TightenToolClient.OnVehicleNumberAction = ReadVinNumber;
                }
                var start = DateTime.Now;

                if (TightenToolClient.Connect())
                {
                    NetStatus = true;
                    //Subscribe();
                }
                var cost            = DateTime.Now - start;
                int connectCostTime = cost.Seconds + 2;
                Debug.WriteLine($"拧紧连接耗时{connectCostTime - 2}s");
                Log.Information($"拧紧机{tdConfig.Host}通讯连接{(NetStatus ? "成功" : "失败")}。");
                return(NetStatus);
            }
            catch (Exception ex)
            {
                Log.Error("拧紧通讯初始化失败", ex);
                NetChangedAction?.Invoke(tdConfig.ToolId, false);
                return(false);
            }
        }