From 1161ebd25831a44067b7272df348d93c6f85a6c0 Mon Sep 17 00:00:00 2001
From: wells <123>
Date: 星期六, 11 七月 2020 16:53:49 +0800
Subject: [PATCH] 板卡修复
---
src/Bro.Device.GTSCard/GTSCardDriver.cs | 52 +++++++++++++++++++++++++++++++++-------------------
1 files changed, 33 insertions(+), 19 deletions(-)
diff --git a/src/Bro.Device.GTSCard/GTSCardDriver.cs b/src/Bro.Device.GTSCard/GTSCardDriver.cs
index 85c4e5f..c472ba4 100644
--- a/src/Bro.Device.GTSCard/GTSCardDriver.cs
+++ b/src/Bro.Device.GTSCard/GTSCardDriver.cs
@@ -609,7 +609,7 @@
{
//璁剧疆 杩愬姩鍙傛暟
isSuccessSetAxisParam = SetAxisParam(optionPara);
- ret = GTSCardAPI.GT_SetPos((short)IConfig.CardNum, (short)optionPara.AxisIndex, (int)(dPosition * AxisRatio));// 璁剧疆鐩殑浣嶇疆
+ ret = GTSCardAPI.GT_SetPos((short)IConfig.CardNum, (short)optionPara.AxisIndex, (int)(dPosition));// 璁剧疆鐩殑浣嶇疆
ret = GTSCardAPI.GT_Update((short)IConfig.CardNum, 1 << (optionPara.AxisIndex - 1));//鏇存柊杩愬姩
if (ret != (short)GTSRetCode.GRCRunOK)
@@ -685,7 +685,7 @@
{
//璁剧疆 杩愬姩鍙傛暟
isSuccessSetAxisParam = SetAxisParam(optionPara);
- ret = GTSCardAPI.GT_SetPos((short)IConfig.CardNum, (short)optionPara.AxisIndex, (int)(optionPara.Destination * AxisRatio));// 璁剧疆鐩爣浣嶇疆
+ ret = GTSCardAPI.GT_SetPos((short)IConfig.CardNum, (short)optionPara.AxisIndex, (int)(optionPara.Destination));// 璁剧疆鐩爣浣嶇疆
ret = GTSCardAPI.GT_Update((short)IConfig.CardNum, 1 << (optionPara.AxisIndex - 1));//鏇存柊杩愬姩
if (ret != (short)GTSRetCode.GRCRunOK)
@@ -863,29 +863,42 @@
sRtn = GTSCardAPI.GT_Update((short)IConfig.CardNum, 1 << (movingOption.AxisIndex - 1));
int repeatTime = 1000;
+ short capture;
+ int pos;
+ uint clk;//鏃堕挓鍙傛暟
do
{
Thread.Sleep(20);
- isStop = IsStop((short)movingOption.AxisIndex);
- repeatTime--;
- } while (!isStop && repeatTime > 0);
-
- if (isStop)
- {
- short capture;
- int pos;
- uint clk;//鏃堕挓鍙傛暟
// 璇诲彇鎹曡幏鐘舵��
GTSCardAPI.GT_GetCaptureStatus((short)IConfig.CardNum, (short)movingOption.AxisIndex, out capture, out pos, 1, out clk);
+ isStop = IsStop((short)movingOption.AxisIndex);
+ repeatTime--;
+ } while (!(isStop || capture == 1 || repeatTime <= 0));
+
+ if (repeatTime <= 0)
+ {
+ MoveStop((short)movingOption.AxisIndex, 0);
+ throw new Exception($"杩愬姩杞磠movingOption.AxisIndex} 锛屽洖鍘熺偣瓒呮椂寮傚父");
+ }
+ if (isStop && capture != 1)
+ {
+
+ ClearStatus((short)movingOption.AxisIndex, 1);
+ throw new Exception($"杩愬姩杞磠movingOption.AxisIndex} 锛屽洖鍘熺偣瓒呮椂寮傚父");
+ }
+
+ if (capture == 1)
+ {
+ //鍏坰top
+ MoveStop((short)movingOption.AxisIndex, 0);
+ ClearStatus((short)movingOption.AxisIndex, 1);
//宸茬粡鎹曡幏鍒癏ome鎵嶅彲浠ュ洖闆� 闃舵2
- if (capture == 1)
- {
- // 杩愬姩鍒�"鎹曡幏浣嶇疆+鍋忕Щ閲�"
- sRtn = GTSCardAPI.GT_SetPos((short)IConfig.CardNum, (short)movingOption.AxisIndex, pos + movingOption.GoHomePara.HomeOffset);
- // 鍦ㄨ繍鍔ㄧ姸鎬佷笅鏇存柊鐩爣浣嶇疆
- sRtn = GTSCardAPI.GT_Update((short)IConfig.CardNum, 1 << (movingOption.AxisIndex - 1));
- isStop = false;
- }
+ // 杩愬姩鍒�"鎹曡幏浣嶇疆+鍋忕Щ閲�"
+ sRtn = GTSCardAPI.GT_SetPos((short)IConfig.CardNum, (short)movingOption.AxisIndex, pos + movingOption.GoHomePara.HomeOffset);
+ // 鍦ㄨ繍鍔ㄧ姸鎬佷笅鏇存柊鐩爣浣嶇疆
+ sRtn = GTSCardAPI.GT_Update((short)IConfig.CardNum, 1 << (movingOption.AxisIndex - 1));
+ isStop = false;
+
repeatTime = 1000;
do
{
@@ -893,6 +906,7 @@
isStop = IsStop((short)movingOption.AxisIndex);
repeatTime--;
} while (!isStop && repeatTime > 0);
+ PositionReset(movingOption.AxisIndex, 1);
return (sRtn == (short)GTSRetCode.GRCRunOK) && isStop;
}
return false;
--
Gitblit v1.8.0