From 8dd7b24e5649edf6f73e1146c4db576f7eb3dcdb Mon Sep 17 00:00:00 2001
From: wells <123>
Date: 星期六, 11 七月 2020 14:16:54 +0800
Subject: [PATCH] 7.11
---
src/Bro.Device.GTSCard/GTSCardDriver.cs | 127 +++++++++++++++++++++---------------------
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisOperation.cs | 10 ---
src/Bro.UI.Device.Winform/MotionCard/FrmMotionCardOperationBase.cs | 3
src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisOperation.Designer.cs | 2
src/Bro.Common.Model/Model/MotionCardRelated.cs | 2
5 files changed, 67 insertions(+), 77 deletions(-)
diff --git a/src/Bro.Common.Model/Model/MotionCardRelated.cs b/src/Bro.Common.Model/Model/MotionCardRelated.cs
index 7010262..671c68e 100644
--- a/src/Bro.Common.Model/Model/MotionCardRelated.cs
+++ b/src/Bro.Common.Model/Model/MotionCardRelated.cs
@@ -249,7 +249,7 @@
[DisplayName("杩愬姩杞寸储寮�")]
[Description("AxisIndex锛氳繍鍔ㄨ酱绱㈠紩")]
[TypeConverter(typeof(AxisIndexConvert))]
- public string AxisIndexStr { get; set; } = "0";
+ public string AxisIndexStr { get; set; } = "1";
[Browsable(false)]
[JsonIgnore]
diff --git a/src/Bro.Device.GTSCard/GTSCardDriver.cs b/src/Bro.Device.GTSCard/GTSCardDriver.cs
index a25b5bf..cd6746f 100644
--- a/src/Bro.Device.GTSCard/GTSCardDriver.cs
+++ b/src/Bro.Device.GTSCard/GTSCardDriver.cs
@@ -343,8 +343,8 @@
{
var task = SingleAxisMoving(movingOp);
taskList.Add(task);
+ task.Start();
}
-
Task.WaitAll(taskList.ToArray());
responseMessage.Result = taskList.All(u => u.GetAwaiter().GetResult());
if (!responseMessage.Result)
@@ -382,69 +382,70 @@
return resultOK;
}
+ TaskFactory taskFactory = new TaskFactory(TaskCreationOptions.LongRunning, TaskContinuationOptions.LongRunning);
/// <summary>
/// 鍗曚釜杞� 杩愬姩(鐐瑰埌鐐� jog 鍥為浂...锛�
/// </summary>
/// <param name="optionPara">杩愬姩鍙傛暟瀵硅薄</param>
- public override async Task<bool> SingleAxisMoving(MovingOption optionPara)
+ public override Task<bool> SingleAxisMoving(MovingOption optionPara)
{
- return await Task.Run(() =>
- {
- axisImmediatePauseHandleDict[optionPara.AxisIndex].WaitOne();
- bool isSuccessAndStop = false;
- try
- {
- if (IConfig.AxisSettings.FirstOrDefault(a => a.AxisIndex == optionPara.AxisIndex)?.IsAxisEnabled ?? false)
- {
- string _position = "";
- string motionType = optionPara.MoveMode == EnumHelper.MotionMode.Normal ? (optionPara.IsAbsolute ? "Abs" : "Rel") : optionPara.MoveMode.ToString();
+ return new Task<bool>(() =>
+ {
+ axisImmediatePauseHandleDict[optionPara.AxisIndex].WaitOne();
+ bool isSuccessAndStop = false;
+ try
+ {
+ if (IConfig.AxisSettings.FirstOrDefault(a => a.AxisIndex == optionPara.AxisIndex)?.IsAxisEnabled ?? false)
+ {
+ string _position = "";
+ string motionType = optionPara.MoveMode == EnumHelper.MotionMode.Normal ? (optionPara.IsAbsolute ? "Abs" : "Rel") : optionPara.MoveMode.ToString();
- _position = $"{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff},{optionPara.AxisIndex},{motionType},{GetPosition(optionPara.AxisIndex)},{GetPrfPosition(optionPara.AxisIndex)},{optionPara.Destination},";
+ _position = $"{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff},{optionPara.AxisIndex},{motionType},{GetPosition(optionPara.AxisIndex)},{GetPrfPosition(optionPara.AxisIndex)},{optionPara.Destination},";
- switch (optionPara.MoveMode)
- {
- case MotionMode.Normal:
- {
- if (_isResetting)
- {
- LogAsync(DateTime.Now, "澶嶄綅涓惎鍔ㄨ繍鍔ㄥ紓甯�", optionPara.AxisIndex + "鍚姩杩愬姩寮傚父");
- return false;
- }
+ switch (optionPara.MoveMode)
+ {
+ case MotionMode.Normal:
+ {
+ if (_isResetting)
+ {
+ LogAsync(DateTime.Now, "澶嶄綅涓惎鍔ㄨ繍鍔ㄥ紓甯�", optionPara.AxisIndex + "鍚姩杩愬姩寮傚父");
+ return false;
+ }
- if (optionPara.IsAbsolute)
- {
- isSuccessAndStop = P2PMoveAbs(optionPara);
- }
- else
- {
- isSuccessAndStop = P2PMoveRel(optionPara);
- }
+ if (optionPara.IsAbsolute)
+ {
+ isSuccessAndStop = P2PMoveAbs(optionPara);
+ }
+ else
+ {
+ isSuccessAndStop = P2PMoveRel(optionPara);
+ }
- }
- break;
- case MotionMode.FindOri:
- {
- isSuccessAndStop = GoHome(optionPara);
- }
- break;
- case MotionMode.Jog:
- {
- isSuccessAndStop = JogMove(optionPara);
- }
- break;
- }
- _position += $"{GetPosition(optionPara.AxisIndex)},";
- _position += $"{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}";
- LogAsync(DateTime.Now, "", _position);
- }
- }
- catch (Exception ex)
- {
- isSuccessAndStop = false;
- LogAsync(DateTime.Now, $"杞磠optionPara.AxisIndex}杩愬姩寮傚父", ex.GetExceptionMessage());
- }
- return isSuccessAndStop;
- });
+ }
+ break;
+ case MotionMode.FindOri:
+ {
+ isSuccessAndStop = GoHome(optionPara);
+ }
+ break;
+ case MotionMode.Jog:
+ {
+ isSuccessAndStop = JogMove(optionPara);
+ }
+ break;
+ }
+ _position += $"{GetPosition(optionPara.AxisIndex)},";
+ _position += $"{DateTime.Now:yyyy-MM-dd HH:mm:ss.fff}";
+ LogAsync(DateTime.Now, "", _position);
+ }
+ }
+ catch (Exception ex)
+ {
+ isSuccessAndStop = false;
+ LogAsync(DateTime.Now, $"杞磠optionPara.AxisIndex}杩愬姩寮傚父", ex.GetExceptionMessage());
+ }
+ return isSuccessAndStop;
+ });
}
/// <summary>
@@ -461,8 +462,8 @@
{
throw new Exception("杞�" + axisNum + "鑾峰彇瑙勫垝浣嶇疆寮傚父锛岄敊璇爜锛�" + ret);
}
- var AxisRatio = IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum) == null ? 1 : IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum).AxisRatio;
- position = prfpos / AxisRatio;
+ //var AxisRatio = IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum) == null ? 1 : IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum).AxisRatio;
+ position = prfpos ;
return position;
}
@@ -476,14 +477,14 @@
lock (moveLock)
{
double position = 0;
- int pPos = 0;
- var ret = GTSCardAPI.GT_GetPos((short)IConfig.CardNum, (short)axisNum, out pPos);
+ double pPos = 0;
+ var ret = GTSCardAPI.GT_GetPrfPos((short)IConfig.CardNum, (short)axisNum, out pPos, 1, out uint pclock);
if (ret != (short)GTSRetCode.GRCRunOK)
{
throw new Exception("杞�" + axisNum + "鑾峰彇鐩爣浣嶇疆寮傚父锛岄敊璇爜锛�" + ret);
}
- var AxisRatio = IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum) == null ? 1 : IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum).AxisRatio;
- position = pPos / AxisRatio;
+ //var AxisRatio = IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum) == null ? 1 : IConfig.AxisSettings.FirstOrDefault(u => u.AxisIndex == axisNum).AxisRatio;
+ position = pPos;
return position;
}
}
@@ -607,7 +608,7 @@
{
//璁剧疆 杩愬姩鍙傛暟
isSuccessSetAxisParam = SetAxisParam(optionPara);
- ret = GTSCardAPI.GT_SetPrfPos((short)IConfig.CardNum, (short)optionPara.AxisIndex, (int)(dPosition * AxisRatio));// 璁剧疆瑙勫垝浣嶇疆
+ ret = GTSCardAPI.GT_SetPos((short)IConfig.CardNum, (short)optionPara.AxisIndex, (int)(dPosition * AxisRatio));// 璁剧疆鐩殑浣嶇疆
ret = GTSCardAPI.GT_Update((short)IConfig.CardNum, 1 << (optionPara.AxisIndex - 1));//鏇存柊杩愬姩
if (ret != (short)GTSRetCode.GRCRunOK)
@@ -683,7 +684,7 @@
{
//璁剧疆 杩愬姩鍙傛暟
isSuccessSetAxisParam = SetAxisParam(optionPara);
- ret = GTSCardAPI.GT_SetPrfPos((short)IConfig.CardNum, (short)optionPara.AxisIndex, (int)(optionPara.Destination * AxisRatio));// 璁剧疆瑙勫垝浣嶇疆
+ ret = GTSCardAPI.GT_SetPos((short)IConfig.CardNum, (short)optionPara.AxisIndex, (int)(optionPara.Destination * AxisRatio));// 璁剧疆鐩爣浣嶇疆
ret = GTSCardAPI.GT_Update((short)IConfig.CardNum, 1 << (optionPara.AxisIndex - 1));//鏇存柊杩愬姩
if (ret != (short)GTSRetCode.GRCRunOK)
diff --git a/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisOperation.Designer.cs b/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisOperation.Designer.cs
index ed30305..6bc91d2 100644
--- a/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisOperation.Designer.cs
+++ b/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisOperation.Designer.cs
@@ -231,7 +231,6 @@
this.buttonNegative.TabIndex = 6;
this.buttonNegative.Text = "璐熷悜";
this.buttonNegative.UseVisualStyleBackColor = true;
- this.buttonNegative.Click += new System.EventHandler(this.buttonNegative_Click);
this.buttonNegative.MouseDown += new System.Windows.Forms.MouseEventHandler(this.buttonNegative_MouseDown);
this.buttonNegative.MouseUp += new System.Windows.Forms.MouseEventHandler(this.buttonNegative_MouseUp);
//
@@ -251,7 +250,6 @@
this.buttonPositive.TabIndex = 6;
this.buttonPositive.Text = "姝e悜";
this.buttonPositive.UseVisualStyleBackColor = true;
- this.buttonPositive.Click += new System.EventHandler(this.buttonPositive_Click);
this.buttonPositive.MouseDown += new System.Windows.Forms.MouseEventHandler(this.buttonPositive_MouseDown);
this.buttonPositive.MouseUp += new System.Windows.Forms.MouseEventHandler(this.buttonPositive_MouseUp);
//
diff --git a/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisOperation.cs b/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisOperation.cs
index f6ab955..2613cbf 100644
--- a/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisOperation.cs
+++ b/src/Bro.UI.Device.Winform/MotionCard/CtrlMotionCardAxisOperation.cs
@@ -76,16 +76,6 @@
MotionCard.MoveToPoint(opConfig);
}
- private void buttonPositive_Click(object sender, EventArgs e)
- {
-
- }
-
- private void buttonNegative_Click(object sender, EventArgs e)
- {
-
- }
-
private void buttonStart_Click(object sender, EventArgs e)
{
var opConfig = new MotionOperationCollection();
diff --git a/src/Bro.UI.Device.Winform/MotionCard/FrmMotionCardOperationBase.cs b/src/Bro.UI.Device.Winform/MotionCard/FrmMotionCardOperationBase.cs
index 7aa4294..4ca0748 100644
--- a/src/Bro.UI.Device.Winform/MotionCard/FrmMotionCardOperationBase.cs
+++ b/src/Bro.UI.Device.Winform/MotionCard/FrmMotionCardOperationBase.cs
@@ -45,6 +45,7 @@
}
+ MotionCardMovingOption.SetAxisSetting(MotionCard.IConfig.AxisSettings);
propGrid.SelectedObject = MotionCardMovingOption;
}
@@ -75,7 +76,7 @@
private void btnStart_Click(object sender, EventArgs e)
{
- MotionCard.SingleAxisMoving(MotionCardMovingOption).GetAwaiter().GetResult();
+ MotionCard.SingleAxisMoving(MotionCardMovingOption).Start();
}
private void buttonSmoothStop_Click(object sender, EventArgs e)
--
Gitblit v1.8.0