#0003: 对中间件工具新增 回家按钮,解决当Metus异常后没有回家的交互问题

This commit is contained in:
zhengxuan.zhang
2024-05-10 18:19:04 +08:00
parent b9acece655
commit 14b3bfca08
5 changed files with 90 additions and 8 deletions
+1
View File
@@ -283,6 +283,7 @@
<None Include="Resources\quick_location.png" />
<None Include="Resources\quick_location_64.png" />
<None Include="Resources\stop.png" />
<None Include="Resources\home.png" />
<Content Include="SharpGL.ico" />
<Content Include="SharpGL.png" />
</ItemGroup>
+26 -3
View File
@@ -58,6 +58,8 @@
this.rtb_SetZ = new Telerik.WinControls.UI.RadTextBoxElement();
this.radRibbonBarGroup7 = new Telerik.WinControls.UI.RadRibbonBarGroup();
this.rtb_stop = new Telerik.WinControls.UI.RadButtonElement();
this.radRibbonBarGroup8 = new Telerik.WinControls.UI.RadRibbonBarGroup();
this.rtb_home = new Telerik.WinControls.UI.RadButtonElement();
this.ribbonTab2 = new Telerik.WinControls.UI.RibbonTab();
this.radRibbonBarGroup2 = new Telerik.WinControls.UI.RadRibbonBarGroup();
this.rtb_about = new Telerik.WinControls.UI.RadButtonElement();
@@ -207,13 +209,14 @@
//
this.ribbonTab1.AutoEllipsis = false;
this.ribbonTab1.DisabledTextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault;
this.ribbonTab1.IsSelected = false;
this.ribbonTab1.IsSelected = true;
this.ribbonTab1.Items.AddRange(new Telerik.WinControls.RadItem[] {
this.radRibbonBarGroup1,
this.radRibbonBarGroup4,
this.radRibbonBarGroup5,
this.radRibbonBarGroup6,
this.radRibbonBarGroup7});
this.radRibbonBarGroup7,
this.radRibbonBarGroup8});
this.ribbonTab1.Name = "ribbonTab1";
this.ribbonTab1.Text = "常用";
this.ribbonTab1.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault;
@@ -344,6 +347,8 @@
//
// radRibbonBarGroup6
//
this.radRibbonBarGroup6.AutoSize = false;
this.radRibbonBarGroup6.Bounds = new System.Drawing.Rectangle(0, 0, 158, 80);
this.radRibbonBarGroup6.Items.AddRange(new Telerik.WinControls.RadItem[] {
this.rtb_quick_loc,
this.radRibbonBarButtonGroup8});
@@ -352,6 +357,8 @@
//
// rtb_quick_loc
//
this.rtb_quick_loc.AutoSize = false;
this.rtb_quick_loc.Bounds = new System.Drawing.Rectangle(0, 0, 66, 82);
this.rtb_quick_loc.Image = global::HexcalMC.Properties.Resources.quick_location_64;
this.rtb_quick_loc.Name = "rtb_quick_loc";
this.rtb_quick_loc.Text = "";
@@ -410,11 +417,25 @@
this.rtb_stop.Text = "";
this.rtb_stop.Click += new System.EventHandler(this.rtb_stop_Click);
//
// radRibbonBarGroup8
//
this.radRibbonBarGroup8.Items.AddRange(new Telerik.WinControls.RadItem[] {
this.rtb_home});
this.radRibbonBarGroup8.Name = "radRibbonBarGroup8";
this.radRibbonBarGroup8.Text = "回家";
//
// rtb_home
//
this.rtb_home.Image = global::HexcalMC.Properties.Resources.home;
this.rtb_home.Name = "rtb_home";
this.rtb_home.Text = "";
this.rtb_home.Click += new System.EventHandler(this.rtb_home_Click);
//
// ribbonTab2
//
this.ribbonTab2.AutoEllipsis = false;
this.ribbonTab2.DisabledTextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault;
this.ribbonTab2.IsSelected = true;
this.ribbonTab2.IsSelected = false;
this.ribbonTab2.Items.AddRange(new Telerik.WinControls.RadItem[] {
this.radRibbonBarGroup2});
this.ribbonTab2.Name = "ribbonTab2";
@@ -1455,5 +1476,7 @@
private Telerik.WinControls.UI.RadTextBoxElement rtb_SetZ;
private Telerik.WinControls.UI.RadRibbonBarGroup radRibbonBarGroup7;
private Telerik.WinControls.UI.RadButtonElement rtb_stop;
private Telerik.WinControls.UI.RadRibbonBarGroup radRibbonBarGroup8;
private Telerik.WinControls.UI.RadButtonElement rtb_home;
}
}
+45
View File
@@ -132,6 +132,7 @@ namespace HexcalMC
port = FileIni.ReadInt(StrConfigFile, "MOTOR", "Port");
DebugDfn.AddLogText($"当前监听端口配置为: {port}");
DebugDfn.AddLogText($"当前运动速度配置为: {MotionSpeed}");
}
private void Plot2D(List<Point3D> pointCloud)
@@ -1202,6 +1203,8 @@ namespace HexcalMC
_acs.SetVelocity(Axis.ACSC_AXIS_8, speed);
_acs.SetAcceleration(Axis.ACSC_AXIS_8, speed * 10);
_acs.SetDeceleration(Axis.ACSC_AXIS_8, speed * 10);
DebugDfn.AddLogText($"速度设置完成 {speed}");
}
private void rtb_quick_loc_Click(object sender, EventArgs e)//快速定位
@@ -1249,6 +1252,48 @@ namespace HexcalMC
Debug.WriteLine(ex.Message);
}
}
private void rtb_home_Click(object sender, EventArgs e)
{
//弹窗提醒用户,是否执行回家指令
DialogResult result = MessageBox.Show("是否执行回家指令", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
if (result == DialogResult.Cancel)
{
return;
}
DebugDfn.AddLogText("回家指令已发送");
if (!_mAcsConnected)
{
DebugDfn.AddLogText("ACS平台未连接,请先点击连接");
MessageBox.Show("ACS平台未连接,请先点击连接", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (_currentMotionState != MotionStates.Moving)
{
_currentMotionState = MotionStates.Moving; //设置当前运动状态
_acs.RunBuffer(ProgramBuffer.ACSC_BUFFER_6, null); //执行回家指令,这里的buffer6是回家指令的buffer
_homeStates = HomeStates.Homing;
_currentMotionState = MotionStates.Moving;
DebugDfn.AddLogText("回家运动中");
//等待回家完成
for (int i = 0; i < UseAxis.Length; i++)
{
_acs.WaitMotionEnd(UseAxis[i], _motionTimeout); //等待回家完成
}
_homeStates = HomeStates.Homed;
_currentMotionState = MotionStates.InPos;
DebugDfn.AddLogText("回家完成");
}
}
#endregion ACS平台相关
#region
+10
View File
@@ -130,6 +130,16 @@ namespace HexcalMC.Properties {
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap home {
get {
object obj = ResourceManager.GetObject("home", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
+8 -5
View File
@@ -118,6 +118,9 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="stop" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\stop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="about" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\about.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -136,6 +139,9 @@
<data name="Hexagon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Hexagon.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="help" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\help.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="quick_location" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\quick_location.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -154,10 +160,7 @@
<data name="demo_show" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\demo_show.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="help" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\help.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="stop" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\stop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="home" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\home.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>