From 5bdaee2dcd1be441968f07371a5434773b178ad2 Mon Sep 17 00:00:00 2001 From: lhiven Date: Tue, 3 Dec 2024 08:36:27 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=B4=E5=A2=9E=E5=8A=A0=E5=B9=B3=E6=BB=91?= =?UTF-8?q?=E5=81=9C=E6=AD=A2=E5=92=8C=E7=B4=A7=E6=80=A5=E5=81=9C=E6=AD=A2?= =?UTF-8?q?=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Rs.Motion/Base/IAxis.cs | 2 +- Rs.Motion/GugaoEcat/GugaoAxis.cs | 12 ++++++++++-- Rs.Motion/GugaoPulse/GugaoPulseAxis.cs | 18 ++++++++++++++++-- Rs.Motion/Leisai/LeisaiAxis.cs | 11 +++++++++-- Rs.Motion/Ztm/ZtmAxis.cs | 11 +++++++++-- 5 files changed, 45 insertions(+), 9 deletions(-) diff --git a/Rs.Motion/Base/IAxis.cs b/Rs.Motion/Base/IAxis.cs index 3027f11..b8f496d 100644 --- a/Rs.Motion/Base/IAxis.cs +++ b/Rs.Motion/Base/IAxis.cs @@ -71,7 +71,7 @@ namespace Rs.Motion.Base return ErrorCode.Ok; } - public virtual ErrorCode Stop() + public virtual ErrorCode Stop(bool smoothStop = true) { return ErrorCode.Ok; } diff --git a/Rs.Motion/GugaoEcat/GugaoAxis.cs b/Rs.Motion/GugaoEcat/GugaoAxis.cs index 52b2cb1..96b9144 100644 --- a/Rs.Motion/GugaoEcat/GugaoAxis.cs +++ b/Rs.Motion/GugaoEcat/GugaoAxis.cs @@ -189,7 +189,7 @@ namespace Rs.Motion.GugaoEcat /// 停止运动 /// /// - public override ErrorCode Stop() + public override ErrorCode Stop(bool smoothStop = true) { if (!cardManager.IsInitialized) { @@ -197,7 +197,15 @@ namespace Rs.Motion.GugaoEcat } //int axes = 1 << m_axis_config.AxisId; //int option = 1 << m_axis_config.AxisId; - apiResult = mc_ecat.GTN_Stop(core, 1 << Config.AxisId - 1, 1 << Config.AxisId - 1);//option 对应位1表示紧急停止 0 为平滑停止 + if(smoothStop) + { + apiResult = mc_ecat.GTN_Stop(core, 1 << Config.AxisId - 1, 0 << Config.AxisId - 1);//option 对应位1表示紧急停止 0 为平滑停止 + } + else + { + apiResult = mc_ecat.GTN_Stop(core, 1 << Config.AxisId - 1, 1 << Config.AxisId - 1);//option 对应位1表示紧急停止 0 为平滑停止 + } + if (apiResult != 0) return ErrorCode.Fail; else diff --git a/Rs.Motion/GugaoPulse/GugaoPulseAxis.cs b/Rs.Motion/GugaoPulse/GugaoPulseAxis.cs index a590acd..6b01322 100644 --- a/Rs.Motion/GugaoPulse/GugaoPulseAxis.cs +++ b/Rs.Motion/GugaoPulse/GugaoPulseAxis.cs @@ -231,7 +231,7 @@ namespace Rs.Motion.GugaoPulse /// 停止运动 /// /// - public override ErrorCode Stop() + public override ErrorCode Stop(bool smoothStop=true) { if (!cardManager.IsInitialized) { @@ -239,7 +239,15 @@ namespace Rs.Motion.GugaoPulse } //int axes = 1 << m_axis_config.AxisId; //int option = 1 << m_axis_config.AxisId; - apiResult = mc_pulse.GT_Stop((short)Config.CardId, 1 << Config.AxisId - 1, 1 << Config.AxisId - 1);//option 对应位1表示紧急停止 0 为平滑停止 + if(smoothStop) + { + apiResult = mc_pulse.GT_Stop((short)Config.CardId, 1 << Config.AxisId - 1, 0 << Config.AxisId - 1);//option 对应位1表示紧急停止 0 为平滑停止 + } + else + { + apiResult = mc_pulse.GT_Stop((short)Config.CardId, 1 << Config.AxisId - 1, 1 << Config.AxisId - 1);//option 对应位1表示紧急停止 0 为平滑停止 + } + if (apiResult != 0) return ErrorCode.Fail; else @@ -376,6 +384,12 @@ namespace Rs.Motion.GugaoPulse trapPrm.acc = fAcc; trapPrm.dec = fDec; trapPrm.velStart = fStart; + short smoothtime = (short)(Config.STime * 1000); + if(smoothtime>50) + { + smoothtime=50; + } + trapPrm.smoothTime = smoothtime; apiResult = mc_pulse.GT_SetTrapPrm((short)Config.CardId, (short)Config.AxisId, ref trapPrm);//设置点位运动参数 if (apiResult != 0) { diff --git a/Rs.Motion/Leisai/LeisaiAxis.cs b/Rs.Motion/Leisai/LeisaiAxis.cs index 765185e..a2f0997 100644 --- a/Rs.Motion/Leisai/LeisaiAxis.cs +++ b/Rs.Motion/Leisai/LeisaiAxis.cs @@ -151,13 +151,20 @@ namespace Rs.Motion.Leisai /// 停止运动 /// /// - public override ErrorCode Stop() + public override ErrorCode Stop(bool smoothStop = true) { if (!cardManager.IsInitialized) { return ErrorCode.CardNotInit; } - apiResult = LTDMC.dmc_stop(Config.CardId, Config.AxisId, 0); + if(smoothStop) + { + apiResult = LTDMC.dmc_stop(Config.CardId, Config.AxisId, 0); + } + else + { + apiResult = LTDMC.dmc_stop(Config.CardId, Config.AxisId, 1); + } if (apiResult != 0) return ErrorCode.Fail; else diff --git a/Rs.Motion/Ztm/ZtmAxis.cs b/Rs.Motion/Ztm/ZtmAxis.cs index 915ba2e..aa2a032 100644 --- a/Rs.Motion/Ztm/ZtmAxis.cs +++ b/Rs.Motion/Ztm/ZtmAxis.cs @@ -246,13 +246,20 @@ namespace Rs.Motion.GugaoEcat /// 停止运动 /// /// - public override ErrorCode Stop() + public override ErrorCode Stop(bool smoothStop = true) { if (!cardManager.IsInitialized) { return ErrorCode.CardNotInit; } - m_apiResult = ZTM.ZT_Stop(Config.CardMc, (uint)(1<