From 17db44bdab7772f465969bf778d417e08bf8a5f0 Mon Sep 17 00:00:00 2001 From: xcd <834800634@qq.com> Date: 星期六, 04 七月 2020 17:58:34 +0800 Subject: [PATCH] 1. 大/小复位,机台状态 2. 板卡操作配置复数化 3. 界面日志输出机制修改 4. M071主界面CT,测量结果,测量状态,机台状态输出 --- src/Bro.Device.GTSCard/GTSCardDriver.cs | 62 +++++++++++++++--------------- 1 files changed, 31 insertions(+), 31 deletions(-) diff --git a/src/Bro.Device.GTSCard/GTSCardDriver.cs b/src/Bro.Device.GTSCard/GTSCardDriver.cs index c0da369..04c2bf1 100644 --- a/src/Bro.Device.GTSCard/GTSCardDriver.cs +++ b/src/Bro.Device.GTSCard/GTSCardDriver.cs @@ -164,22 +164,22 @@ /// <returns>杩愬姩鎺у埗+鍋滄鍒ゆ柇</returns> public override ResponseMessage MoveToPoint(IOperationConfig opConfig) { - bool resultOK = false; - var gtsOperationConfig = opConfig as GTSCardOperationConfig; - List<Task<bool>> taskList = new List<Task<bool>>(); - //TaskFactory factory = new TaskFactory(TaskCreationOptions.LongRunning, TaskContinuationOptions.None); - // 濡傛灉鏄涓酱鐨勮繍鍔� 绛夋瘡涓酱杩愬姩缁撴潫 - foreach (var movingOp in gtsOperationConfig.MovingOps) - { - //var task = factory.StartNew<bool>((op) => - //{ - // return SingleAxisMoving(op as MovingOption); - //}, movingOp); - var task = SingleAxisMoving(movingOp); - taskList.Add(task); - } - Task.WaitAll(taskList.ToArray()); - resultOK = taskList.All(u => u.GetAwaiter().GetResult()); + //bool resultOK = false; + //var gtsOperationConfig = opConfig as GTSCardOperationConfig; + //List<Task<bool>> taskList = new List<Task<bool>>(); + ////TaskFactory factory = new TaskFactory(TaskCreationOptions.LongRunning, TaskContinuationOptions.None); + //// 濡傛灉鏄涓酱鐨勮繍鍔� 绛夋瘡涓酱杩愬姩缁撴潫 + //foreach (var movingOp in gtsOperationConfig.MovingOps) + //{ + // //var task = factory.StartNew<bool>((op) => + // //{ + // // return SingleAxisMoving(op as MovingOption); + // //}, movingOp); + // var task = SingleAxisMoving(movingOp); + // taskList.Add(task); + //} + //Task.WaitAll(taskList.ToArray()); + //resultOK = taskList.All(u => u.GetAwaiter().GetResult()); //return resultOK; throw new NotImplementedException(); @@ -655,16 +655,17 @@ /// <param name="cardNum">鍗″彿</param> /// <param name="index">杈撳嚭鍙�,杩斿洖1-16</param> /// <param name="value">false琛ㄧず杈撳嚭锛宼rue琛ㄧず鍏抽棴</param> - public void WriteOut(short cardNum, short index, bool value) + public override void WriteOutput(short cardNum, short index, IOValue value) { short outNum = (short)(index % 100 + 1); - if (value) + if ((int)value <= 1) { - GTSCardAPI.GT_SetDoBit(cardNum, GTSCardAPI.MC_GPO, outNum, 0); + GTSCardAPI.GT_SetDoBit(cardNum, GTSCardAPI.MC_GPO, outNum, (short)value); } else { - GTSCardAPI.GT_SetDoBit(cardNum, GTSCardAPI.MC_GPO, outNum, 1); + var currentValue = (int)MonitorValues.FirstOrDefault(u => u.IONum == outNum && u.IOType == IOType.OUTPUT).Value; + GTSCardAPI.GT_SetDoBit(cardNum, GTSCardAPI.MC_GPO, outNum, (short)(currentValue == 1 ? 0 : 1)); } } @@ -690,7 +691,7 @@ #region IMonitor - public List<IOItem> MonitorValues { get; set; } = new List<IOItem>(); + //public List<IOItem> MonitorValues { get; set; } = new List<IOItem>(); public List<IOItem> GetMonitorValues() @@ -709,14 +710,14 @@ IOItem inItem = new IOItem() { IONum = index, - Value = (inValue & (1 << index)) == 0 ? 1 : 0, - IOType = IOType.In + Value = (inValue & (1 << index)) == 0 ? IOValue.TRUE : IOValue.FALSE, + IOType = IOType.INPUT }; IOItem outItem = new IOItem() { IONum = index, - Value = (outValue & (1 << index)) == 0 ? 1 : 0, - IOType = IOType.Out + Value = (outValue & (1 << index)) == 0 ? IOValue.TRUE : IOValue.FALSE, + IOType = IOType.OUTPUT }; result.Add(inItem); result.Add(outItem); @@ -772,7 +773,7 @@ }); } - private void OnMethodInvoked(IAsyncResult ar) + public override void OnMethodInvoked(IAsyncResult ar) { MotionCardMonitorSet monitorSet = ar.AsyncState as MotionCardMonitorSet; ProcessResponse resValues = monitorSet.Response; @@ -787,7 +788,7 @@ foreach (var replyIOData in monitorSet.ReplyIODatas) { //鍐欏叆IO杈撳嚭 - if (replyIOData.IOType == IOType.Out) + if (replyIOData.IOType == IOType.OUTPUT) { GTSCardAPI.GT_SetDoBit((short)IConfig.CardNum, GTSCardAPI.MC_GPI, (short)replyIOData.IONum, (short)replyIOData.Value); } @@ -804,13 +805,12 @@ { MotionCardWarningSet warningSet = wSet as MotionCardWarningSet; - bool isOn = ((tempNew.FirstOrDefault(u => u.IONum == warningSet.TriggerIndex && u.IOType == warningSet.WarningIOModel)?.Value >> warningSet.TriggerIndex) & 1) == (warningSet.TriggerValue ? 1 : 0); + bool isOn = (((int)((tempNew.FirstOrDefault(u => u.IONum == warningSet.TriggerIndex && u.IOType == warningSet.WarningIOModel)?.Value)) >> warningSet.TriggerIndex) & 1) == (warningSet.TriggerValue ? 1 : 0); if (warningSet.CurrentStatus != isOn) { warningSet.CurrentStatus = isOn; warningSet.TriggerTime = DateTime.Now; - warningSet.WarningDescription = $"璀︽姤锛歿warningSet.Name}-瑙﹀彂绱㈠紩锛歿warningSet.TriggerIndex}-{warningSet.WarningIOModel.GetEnumDescription()}:{warningSet.WarningCode}"; SaveAlarmCSVAsync(DateTime.Now, this.Name, warningSet); ExcuteMonitorAlarm(DateTime.Now, this, warningSet); } @@ -831,7 +831,7 @@ if (newIOItem?.Value != oldIOItem?.Value) { - if (monitorSet.TriggerValue == -999 || newIOItem.Value == monitorSet.TriggerValue) + if (monitorSet.TriggerValue == -999 || (int)newIOItem.Value == monitorSet.TriggerValue) { if (monitorSet.OpConfig == null) { @@ -843,7 +843,7 @@ // return tempNew[index].Value; //}).ToList(); - ExcuteMonitorInvok(DateTime.Now, monitorSet.InvokeDevice, this, monitorSet, OnMethodInvoked); + ExcuteMonitorInvoke(DateTime.Now, monitorSet.InvokeDevice, this, monitorSet); } } }); -- Gitblit v1.8.0