1、调试补偿模板过程中,屏蔽温度补充;2、增加 通讯发送不成功后,重发,3、修复运动到位判断
This commit is contained in:
@@ -6,12 +6,13 @@ using System.Diagnostics;
|
|||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Net.NetworkInformation;
|
||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using System.Net.NetworkInformation;
|
||||||
|
|
||||||
namespace HexcalMC.Base
|
namespace HexcalMC.Base
|
||||||
{
|
{
|
||||||
@@ -2948,8 +2949,26 @@ namespace HexcalMC.Base
|
|||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
public class IpAddressValidator
|
|
||||||
|
|
||||||
|
class Internet
|
||||||
{
|
{
|
||||||
|
|
||||||
|
public static bool IsIpReachable(string ipAddress)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Ping ping = new Ping();
|
||||||
|
PingReply reply = ping.Send(ipAddress);
|
||||||
|
return (reply.Status == IPStatus.Success);
|
||||||
|
}
|
||||||
|
catch (PingException)
|
||||||
|
{
|
||||||
|
// 发生 Ping 异常,IP 不可达
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static bool IsIpAddressValid(string ipAddress)
|
public static bool IsIpAddressValid(string ipAddress)
|
||||||
{
|
{
|
||||||
string pattern = @"^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$";
|
string pattern = @"^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$";
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ namespace HexcalMC.Hexcal
|
|||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
throw new Exception("WatchThread异常" + e);
|
//throw new Exception("WatchThread异常" + e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -284,15 +284,32 @@ namespace HexcalMC.Hexcal
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool TrySendData(Socket socket, byte[] data)
|
||||||
|
{
|
||||||
|
int sentBytes = socket.Send(data);
|
||||||
|
return sentBytes == data.Length; // 检查是否完全发送成功
|
||||||
|
}
|
||||||
public void SendMessageToAllClients(string strMsg)
|
public void SendMessageToAllClients(string strMsg)
|
||||||
{
|
{
|
||||||
byte[] arrMsg = Encoding.Default.GetBytes(strMsg);
|
byte[] arrMsg = Encoding.Default.GetBytes(strMsg);
|
||||||
foreach (Socket soc in _dictSocket.Values)
|
foreach (Socket soc in _dictSocket.Values)
|
||||||
{
|
{
|
||||||
soc.Send(arrMsg);
|
bool success = TrySendData(soc, arrMsg);
|
||||||
|
if (!success)
|
||||||
|
{
|
||||||
|
// 如果发送失败,进行重发逻辑
|
||||||
|
int attemptCount = 0;
|
||||||
|
const int maxAttempts = 3;
|
||||||
|
while (!success && attemptCount < maxAttempts)
|
||||||
|
{
|
||||||
|
success = TrySendData(soc, arrMsg);
|
||||||
|
attemptCount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void SendMessageToAllClients(byte[] arrMsg)
|
public void SendMessageToAllClients(byte[] arrMsg)
|
||||||
{
|
{
|
||||||
foreach (Socket soc in _dictSocket.Values)
|
foreach (Socket soc in _dictSocket.Values)
|
||||||
|
|||||||
@@ -159,6 +159,12 @@
|
|||||||
<Compile Include="MainFrom.Designer.cs">
|
<Compile Include="MainFrom.Designer.cs">
|
||||||
<DependentUpon>MainFrom.cs</DependentUpon>
|
<DependentUpon>MainFrom.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="Motion\DemoShow.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Motion\DemoShow.Designer.cs">
|
||||||
|
<DependentUpon>DemoShow.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="Motion\Motion.cs">
|
<Compile Include="Motion\Motion.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
@@ -178,6 +184,9 @@
|
|||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<LastGenOutput>MainFrom1.Designer.cs</LastGenOutput>
|
<LastGenOutput>MainFrom1.Designer.cs</LastGenOutput>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Motion\DemoShow.resx">
|
||||||
|
<DependentUpon>DemoShow.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Motion\Motion.resx">
|
<EmbeddedResource Include="Motion\Motion.resx">
|
||||||
<DependentUpon>Motion.cs</DependentUpon>
|
<DependentUpon>Motion.cs</DependentUpon>
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
@@ -234,6 +243,9 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Content Include="Hexagon.ico" />
|
<Content Include="Hexagon.ico" />
|
||||||
|
<None Include="Resources\demo_show.png" />
|
||||||
|
<None Include="Resources\demo_show_128.png" />
|
||||||
|
<None Include="Resources\mothion_64.png" />
|
||||||
<Content Include="SharpGL.ico" />
|
<Content Include="SharpGL.ico" />
|
||||||
<Content Include="SharpGL.png" />
|
<Content Include="SharpGL.png" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
Generated
+48
-16
@@ -36,7 +36,7 @@
|
|||||||
this.radTextBoxElement1 = new Telerik.WinControls.UI.RadTextBoxElement();
|
this.radTextBoxElement1 = new Telerik.WinControls.UI.RadTextBoxElement();
|
||||||
this.ribbonTab1 = new Telerik.WinControls.UI.RibbonTab();
|
this.ribbonTab1 = new Telerik.WinControls.UI.RibbonTab();
|
||||||
this.radRibbonBarGroup1 = new Telerik.WinControls.UI.RadRibbonBarGroup();
|
this.radRibbonBarGroup1 = new Telerik.WinControls.UI.RadRibbonBarGroup();
|
||||||
this.rtb_motion = new Telerik.WinControls.UI.RadButtonElement();
|
this.btn_motion = new Telerik.WinControls.UI.RadButtonElement();
|
||||||
this.radRibbonBarGroup4 = new Telerik.WinControls.UI.RadRibbonBarGroup();
|
this.radRibbonBarGroup4 = new Telerik.WinControls.UI.RadRibbonBarGroup();
|
||||||
this.radRibbonBarButtonGroup4 = new Telerik.WinControls.UI.RadRibbonBarButtonGroup();
|
this.radRibbonBarButtonGroup4 = new Telerik.WinControls.UI.RadRibbonBarButtonGroup();
|
||||||
this.radLabelElement5 = new Telerik.WinControls.UI.RadLabelElement();
|
this.radLabelElement5 = new Telerik.WinControls.UI.RadLabelElement();
|
||||||
@@ -47,6 +47,9 @@
|
|||||||
this.radRibbonBarButtonGroup6 = new Telerik.WinControls.UI.RadRibbonBarButtonGroup();
|
this.radRibbonBarButtonGroup6 = new Telerik.WinControls.UI.RadRibbonBarButtonGroup();
|
||||||
this.radLabelElement7 = new Telerik.WinControls.UI.RadLabelElement();
|
this.radLabelElement7 = new Telerik.WinControls.UI.RadLabelElement();
|
||||||
this.rtb_zPos = new Telerik.WinControls.UI.RadTextBoxElement();
|
this.rtb_zPos = new Telerik.WinControls.UI.RadTextBoxElement();
|
||||||
|
this.radRibbonBarGroup5 = new Telerik.WinControls.UI.RadRibbonBarGroup();
|
||||||
|
this.radRibbonBarButtonGroup7 = new Telerik.WinControls.UI.RadRibbonBarButtonGroup();
|
||||||
|
this.rtb_demo = new Telerik.WinControls.UI.RadButtonElement();
|
||||||
this.ribbonTab2 = new Telerik.WinControls.UI.RibbonTab();
|
this.ribbonTab2 = new Telerik.WinControls.UI.RibbonTab();
|
||||||
this.radRibbonBarGroup2 = new Telerik.WinControls.UI.RadRibbonBarGroup();
|
this.radRibbonBarGroup2 = new Telerik.WinControls.UI.RadRibbonBarGroup();
|
||||||
this.rtb_about = new Telerik.WinControls.UI.RadButtonElement();
|
this.rtb_about = new Telerik.WinControls.UI.RadButtonElement();
|
||||||
@@ -136,6 +139,7 @@
|
|||||||
this.TextBoxMsg = new System.Windows.Forms.RichTextBox();
|
this.TextBoxMsg = new System.Windows.Forms.RichTextBox();
|
||||||
this.tmrMonitor = new System.Windows.Forms.Timer(this.components);
|
this.tmrMonitor = new System.Windows.Forms.Timer(this.components);
|
||||||
this.timer_RefreshUI = new System.Windows.Forms.Timer(this.components);
|
this.timer_RefreshUI = new System.Windows.Forms.Timer(this.components);
|
||||||
|
this.radRibbonBarGroup6 = new Telerik.WinControls.UI.RadRibbonBarGroup();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.radRibbonBar1)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.radRibbonBar1)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.radRibbonBarBackstageView1)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.radRibbonBarBackstageView1)).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.radStatusStrip1)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.radStatusStrip1)).BeginInit();
|
||||||
@@ -201,7 +205,9 @@
|
|||||||
this.ribbonTab1.IsSelected = true;
|
this.ribbonTab1.IsSelected = true;
|
||||||
this.ribbonTab1.Items.AddRange(new Telerik.WinControls.RadItem[] {
|
this.ribbonTab1.Items.AddRange(new Telerik.WinControls.RadItem[] {
|
||||||
this.radRibbonBarGroup1,
|
this.radRibbonBarGroup1,
|
||||||
this.radRibbonBarGroup4});
|
this.radRibbonBarGroup4,
|
||||||
|
this.radRibbonBarGroup5,
|
||||||
|
this.radRibbonBarGroup6});
|
||||||
this.ribbonTab1.Name = "ribbonTab1";
|
this.ribbonTab1.Name = "ribbonTab1";
|
||||||
this.ribbonTab1.Text = "常用";
|
this.ribbonTab1.Text = "常用";
|
||||||
this.ribbonTab1.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault;
|
this.ribbonTab1.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SystemDefault;
|
||||||
@@ -210,11 +216,11 @@
|
|||||||
//
|
//
|
||||||
// radRibbonBarGroup1
|
// radRibbonBarGroup1
|
||||||
//
|
//
|
||||||
this.radRibbonBarGroup1.Alignment = System.Drawing.ContentAlignment.MiddleCenter;
|
this.radRibbonBarGroup1.Alignment = System.Drawing.ContentAlignment.TopLeft;
|
||||||
this.radRibbonBarGroup1.AutoSize = false;
|
this.radRibbonBarGroup1.AutoSize = false;
|
||||||
this.radRibbonBarGroup1.Bounds = new System.Drawing.Rectangle(0, 0, 110, 100);
|
this.radRibbonBarGroup1.Bounds = new System.Drawing.Rectangle(0, 0, 77, 100);
|
||||||
this.radRibbonBarGroup1.Items.AddRange(new Telerik.WinControls.RadItem[] {
|
this.radRibbonBarGroup1.Items.AddRange(new Telerik.WinControls.RadItem[] {
|
||||||
this.rtb_motion});
|
this.btn_motion});
|
||||||
this.radRibbonBarGroup1.Margin = new System.Windows.Forms.Padding(0);
|
this.radRibbonBarGroup1.Margin = new System.Windows.Forms.Padding(0);
|
||||||
this.radRibbonBarGroup1.MaxSize = new System.Drawing.Size(110, 100);
|
this.radRibbonBarGroup1.MaxSize = new System.Drawing.Size(110, 100);
|
||||||
this.radRibbonBarGroup1.MinSize = new System.Drawing.Size(110, 100);
|
this.radRibbonBarGroup1.MinSize = new System.Drawing.Size(110, 100);
|
||||||
@@ -222,17 +228,12 @@
|
|||||||
this.radRibbonBarGroup1.Text = "运动控制";
|
this.radRibbonBarGroup1.Text = "运动控制";
|
||||||
this.radRibbonBarGroup1.UseCompatibleTextRendering = false;
|
this.radRibbonBarGroup1.UseCompatibleTextRendering = false;
|
||||||
//
|
//
|
||||||
// rtb_motion
|
// btn_motion
|
||||||
//
|
//
|
||||||
this.rtb_motion.Alignment = System.Drawing.ContentAlignment.MiddleCenter;
|
this.btn_motion.Image = global::HexcalMC.Properties.Resources.mothion_64;
|
||||||
this.rtb_motion.Image = global::HexcalMC.Properties.Resources.motion;
|
this.btn_motion.Name = "btn_motion";
|
||||||
this.rtb_motion.Name = "rtb_motion";
|
this.btn_motion.Text = "";
|
||||||
this.rtb_motion.Text = "ACS调试";
|
this.btn_motion.Click += new System.EventHandler(this.btn_motion_Click);
|
||||||
this.rtb_motion.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter;
|
|
||||||
this.rtb_motion.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
|
|
||||||
this.rtb_motion.TextOrientation = System.Windows.Forms.Orientation.Horizontal;
|
|
||||||
this.rtb_motion.UseCompatibleTextRendering = false;
|
|
||||||
this.rtb_motion.Click += new System.EventHandler(this.Rtb_motion_Click);
|
|
||||||
//
|
//
|
||||||
// radRibbonBarGroup4
|
// radRibbonBarGroup4
|
||||||
//
|
//
|
||||||
@@ -312,6 +313,28 @@
|
|||||||
this.rtb_zPos.Text = "-50.000";
|
this.rtb_zPos.Text = "-50.000";
|
||||||
this.rtb_zPos.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
this.rtb_zPos.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
|
||||||
//
|
//
|
||||||
|
// radRibbonBarGroup5
|
||||||
|
//
|
||||||
|
this.radRibbonBarGroup5.Items.AddRange(new Telerik.WinControls.RadItem[] {
|
||||||
|
this.radRibbonBarButtonGroup7});
|
||||||
|
this.radRibbonBarGroup5.Name = "radRibbonBarGroup5";
|
||||||
|
this.radRibbonBarGroup5.Text = "演示模式";
|
||||||
|
//
|
||||||
|
// radRibbonBarButtonGroup7
|
||||||
|
//
|
||||||
|
this.radRibbonBarButtonGroup7.Items.AddRange(new Telerik.WinControls.RadItem[] {
|
||||||
|
this.rtb_demo});
|
||||||
|
this.radRibbonBarButtonGroup7.Name = "radRibbonBarButtonGroup7";
|
||||||
|
this.radRibbonBarButtonGroup7.Text = "radRibbonBarButtonGroup7";
|
||||||
|
//
|
||||||
|
// rtb_demo
|
||||||
|
//
|
||||||
|
this.rtb_demo.Image = global::HexcalMC.Properties.Resources.demo_show;
|
||||||
|
this.rtb_demo.Name = "rtb_demo";
|
||||||
|
this.rtb_demo.Text = "";
|
||||||
|
this.rtb_demo.TextAlignment = System.Drawing.ContentAlignment.BottomLeft;
|
||||||
|
this.rtb_demo.Click += new System.EventHandler(this.rtb_demo_Click);
|
||||||
|
//
|
||||||
// ribbonTab2
|
// ribbonTab2
|
||||||
//
|
//
|
||||||
this.ribbonTab2.AutoEllipsis = false;
|
this.ribbonTab2.AutoEllipsis = false;
|
||||||
@@ -1210,6 +1233,11 @@
|
|||||||
this.timer_RefreshUI.Interval = 1000;
|
this.timer_RefreshUI.Interval = 1000;
|
||||||
this.timer_RefreshUI.Tick += new System.EventHandler(this.Timer_RefreshUI_Tick);
|
this.timer_RefreshUI.Tick += new System.EventHandler(this.Timer_RefreshUI_Tick);
|
||||||
//
|
//
|
||||||
|
// radRibbonBarGroup6
|
||||||
|
//
|
||||||
|
this.radRibbonBarGroup6.Name = "radRibbonBarGroup6";
|
||||||
|
this.radRibbonBarGroup6.Text = "快速定位";
|
||||||
|
//
|
||||||
// MainFrom
|
// MainFrom
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||||
@@ -1267,7 +1295,6 @@
|
|||||||
private Telerik.WinControls.UI.RadTextBoxElement radTextBoxElement1;
|
private Telerik.WinControls.UI.RadTextBoxElement radTextBoxElement1;
|
||||||
private Telerik.WinControls.UI.RibbonTab ribbonTab1;
|
private Telerik.WinControls.UI.RibbonTab ribbonTab1;
|
||||||
private Telerik.WinControls.UI.RadRibbonBarGroup radRibbonBarGroup1;
|
private Telerik.WinControls.UI.RadRibbonBarGroup radRibbonBarGroup1;
|
||||||
private Telerik.WinControls.UI.RadButtonElement rtb_motion;
|
|
||||||
private Telerik.WinControls.UI.RibbonTab ribbonTab2;
|
private Telerik.WinControls.UI.RibbonTab ribbonTab2;
|
||||||
private Telerik.WinControls.UI.RadRibbonBarGroup radRibbonBarGroup2;
|
private Telerik.WinControls.UI.RadRibbonBarGroup radRibbonBarGroup2;
|
||||||
private Telerik.WinControls.UI.RadButtonElement rtb_about;
|
private Telerik.WinControls.UI.RadButtonElement rtb_about;
|
||||||
@@ -1367,5 +1394,10 @@
|
|||||||
private ScottPlot.FormsPlot formsPlot1;
|
private ScottPlot.FormsPlot formsPlot1;
|
||||||
private System.Windows.Forms.Integration.ElementHost elementHost1;
|
private System.Windows.Forms.Integration.ElementHost elementHost1;
|
||||||
private SharpGL.OpenGLControl openGLControl1;
|
private SharpGL.OpenGLControl openGLControl1;
|
||||||
|
private Telerik.WinControls.UI.RadRibbonBarGroup radRibbonBarGroup5;
|
||||||
|
private Telerik.WinControls.UI.RadRibbonBarButtonGroup radRibbonBarButtonGroup7;
|
||||||
|
private Telerik.WinControls.UI.RadButtonElement rtb_demo;
|
||||||
|
private Telerik.WinControls.UI.RadButtonElement btn_motion;
|
||||||
|
private Telerik.WinControls.UI.RadRibbonBarGroup radRibbonBarGroup6;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+220
-129
@@ -85,17 +85,18 @@ namespace HexcalMC
|
|||||||
|
|
||||||
//启动界面刷新
|
//启动界面刷新
|
||||||
timer_RefreshUI.Start();
|
timer_RefreshUI.Start();
|
||||||
this.TopMost = true;
|
//TopMost = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MainFrom_Shown(object sender, EventArgs e) //窗体显示准备好接受用户输入时发生
|
private void MainFrom_Shown(object sender, EventArgs e) //窗体显示准备好接受用户输入时发生
|
||||||
{
|
{
|
||||||
//启动服务端,用于接收hexcal传来的指令
|
////启动服务端,用于接收hexcal传来的指令
|
||||||
StartServer();
|
//StartServer();
|
||||||
|
|
||||||
Btn_ACSStart_Click(null, null);
|
//if (_enableAcs)
|
||||||
|
//{
|
||||||
//Plot3D();
|
// Btn_ACSStart_Click(null, null); //模拟连接运动平台
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void MainFrom_FormClosed(object sender, FormClosedEventArgs e)
|
private void MainFrom_FormClosed(object sender, FormClosedEventArgs e)
|
||||||
@@ -132,16 +133,19 @@ namespace HexcalMC
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
MOTION_SPEED = FileIni.ReadDouble(StrConfigFile, "MOTOR", "MOTION_SPEED"); //运动定位速度
|
//上电使能ACS
|
||||||
|
_enableAcs = FileIni.ReadBool(StrConfigFile, "MOTOR", "ENABLE_ACS");
|
||||||
|
|
||||||
|
MotionSpeed = FileIni.ReadDouble(StrConfigFile, "MOTOR", "MOTION_SPEED"); //运动定位速度
|
||||||
//正限位
|
//正限位
|
||||||
X_MAXSTROKESW = FileIni.ReadDouble(StrConfigFile, "MOTOR", "X_MAXSTROKESW");
|
XMaxstrokesw = FileIni.ReadDouble(StrConfigFile, "MOTOR", "X_MAXSTROKESW");
|
||||||
Y_MAXSTROKESW = FileIni.ReadDouble(StrConfigFile, "MOTOR", "Y_MAXSTROKESW");
|
YMaxstrokesw = FileIni.ReadDouble(StrConfigFile, "MOTOR", "Y_MAXSTROKESW");
|
||||||
Z_MAXSTROKESW = FileIni.ReadDouble(StrConfigFile, "MOTOR", "Z_MAXSTROKESW");
|
ZMaxstrokesw = FileIni.ReadDouble(StrConfigFile, "MOTOR", "Z_MAXSTROKESW");
|
||||||
|
|
||||||
//负限位
|
//负限位
|
||||||
X_MINSTROKESW = FileIni.ReadDouble(StrConfigFile, "MOTOR", "X_MINSTROKESW");
|
XMinstrokesw = FileIni.ReadDouble(StrConfigFile, "MOTOR", "X_MINSTROKESW");
|
||||||
Y_MINSTROKESW = FileIni.ReadDouble(StrConfigFile, "MOTOR", "Y_MINSTROKESW");
|
YMinstrokesw = FileIni.ReadDouble(StrConfigFile, "MOTOR", "Y_MINSTROKESW");
|
||||||
Z_MINSTROKESW = FileIni.ReadDouble(StrConfigFile, "MOTOR", "Z_MINSTROKESW");
|
ZMinstrokesw = FileIni.ReadDouble(StrConfigFile, "MOTOR", "Z_MINSTROKESW");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Plot2D(List<Point3D> pointCloud)
|
private void Plot2D(List<Point3D> pointCloud)
|
||||||
@@ -180,75 +184,35 @@ namespace HexcalMC
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#region 运动平台变量区
|
#region hexcal软件交互
|
||||||
|
|
||||||
private Api _acs;
|
|
||||||
|
|
||||||
private const int MaxUiLimitCnt = 8;
|
|
||||||
private const int MaxUiIoCnt = 8;
|
|
||||||
|
|
||||||
private readonly int _mNTotalAxis = 0;
|
|
||||||
private int _mNTotalBuffer = 0;
|
|
||||||
private Axis[] _mArrAxisList = null;
|
|
||||||
|
|
||||||
private bool _mAcsConnected; //ACS通讯状态
|
|
||||||
|
|
||||||
// For update values
|
|
||||||
private MotorStates _mNMotorState; //运动状态
|
|
||||||
|
|
||||||
private ProgramStates _mNProgramState; //程序状态
|
|
||||||
private object _mObjReadVar;
|
|
||||||
private Array _mArrReadVector;
|
|
||||||
private double _mLfRPos, _mLfFPos, _mLfPe, _mLfFvel; //参考位置,反馈位置 位置误差 反馈速度 double类型
|
|
||||||
private int _mNValues, _mNOutputState;
|
|
||||||
|
|
||||||
private Label[] _mLblLeftLimit; //左限位
|
|
||||||
private Label[] _mLblRightLimit; //右限位
|
|
||||||
|
|
||||||
private HomeStates _homeStates; //回家状态
|
|
||||||
private MotionStates _currentMotionState; //当前运动状态
|
|
||||||
private readonly int _motionTimeout = 50000; //定义运动超时时间
|
|
||||||
|
|
||||||
|
|
||||||
public static Axis[] USE_AXIS =
|
|
||||||
{ Axis.ACSC_AXIS_1, Axis.ACSC_AXIS_0, Axis.ACSC_AXIS_8, Axis.ACSC_NONE }; //定义启用的轴,后面运动时会使用
|
|
||||||
|
|
||||||
|
|
||||||
//定义 XYZ三个轴的左右行程范围
|
|
||||||
public string StrConfigFile = Application.StartupPath + "\\File\\config.ini";
|
|
||||||
public static double MOTION_SPEED = 60;
|
|
||||||
public static double X_MAXSTROKESW = 730; //正限位
|
|
||||||
public static double Y_MAXSTROKESW = 1000;
|
|
||||||
public static double Z_MAXSTROKESW = 5;
|
|
||||||
|
|
||||||
public static double X_MINSTROKESW = -30; //负限位
|
|
||||||
public static double Y_MINSTROKESW = -10;
|
|
||||||
public static double Z_MINSTROKESW = -280;
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region hexcal变量区
|
|
||||||
|
|
||||||
private TcpIpServer _mTcpIpServer; //创建tcpserver,用于接收hexcal传来的指令,并解析传递平台
|
private TcpIpServer _mTcpIpServer; //创建tcpserver,用于接收hexcal传来的指令,并解析传递平台
|
||||||
private bool _mBHexcalConnected;
|
private bool _mBHexcalConnected;
|
||||||
|
public string LISTEN_ADDRESS = "100.0.0.1";
|
||||||
#endregion
|
|
||||||
|
|
||||||
|
|
||||||
#region hexcal软件交互
|
|
||||||
|
|
||||||
private void StartServer()
|
private void StartServer()
|
||||||
{
|
{
|
||||||
// 对_mTcpIpServer增加判断是否已经启动且存在设备连接
|
// 对_mTcpIpServer增加判断是否已经启动且存在设备连接
|
||||||
if (_mTcpIpServer != null)
|
if (_mTcpIpServer != null && _mTcpIpServer.ConnectStatus)
|
||||||
{
|
{
|
||||||
//弹窗提醒已经启动
|
//弹窗提醒已经启动
|
||||||
|
MyBase.TraceWriteLine("TCP服务端已经启动,请勿重复启动");
|
||||||
MessageBox.Show("TCP服务端已经启动,请勿重复启动", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
MessageBox.Show("TCP服务端已经启动,请勿重复启动", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//判断 要监听的IP地址是否存在
|
||||||
|
|
||||||
|
if (!Internet.IsIpReachable(LISTEN_ADDRESS))
|
||||||
|
{
|
||||||
|
MyBase.TraceWriteLine("启动服务失败,请确认本地网卡是否启用且配置 " + LISTEN_ADDRESS);
|
||||||
|
MessageBox.Show("请确认本地网卡是否启用且配置 " + LISTEN_ADDRESS, "启动服务失败");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//启动服务器,并获取数据,解析
|
//启动服务器,并获取数据,解析
|
||||||
_mTcpIpServer = new TcpIpServer("100.0.0.1", Convert.ToString(1234));
|
_mTcpIpServer = new TcpIpServer(LISTEN_ADDRESS, Convert.ToString(1234));
|
||||||
_mTcpIpServer.UseMode = 1; //设置通讯返回数据流格式
|
_mTcpIpServer.UseMode = 1; //设置通讯返回数据流格式
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -348,10 +312,17 @@ namespace HexcalMC
|
|||||||
private void ParseHexcalMsg(string msg) //编写一个Hexcal协议解析函数
|
private void ParseHexcalMsg(string msg) //编写一个Hexcal协议解析函数
|
||||||
{
|
{
|
||||||
DebugDfn.AddLogText("正在解析 " + msg);
|
DebugDfn.AddLogText("正在解析 " + msg);
|
||||||
|
|
||||||
//去除Msg中\r\n
|
//去除Msg中\r\n
|
||||||
msg = msg.Replace("\r\n", "");
|
msg = msg.Replace("\r\n", "");
|
||||||
|
|
||||||
//判断是否含有故障ERROR字样
|
//判断是否含有故障ERROR字样
|
||||||
if (msg.Contains("ERROR")) return;
|
if (msg.Contains("ERROR"))
|
||||||
|
{
|
||||||
|
//弹窗提醒
|
||||||
|
MessageBox.Show("CMM错误", msg, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (msg.Contains("\x02") || msg.Contains("\u0002"))
|
if (msg.Contains("\x02") || msg.Contains("\u0002"))
|
||||||
{
|
{
|
||||||
@@ -377,17 +348,18 @@ namespace HexcalMC
|
|||||||
|
|
||||||
else if (msg.Contains("SHOW MAXSTROKESW")) //最大行程,根据实际情况填写
|
else if (msg.Contains("SHOW MAXSTROKESW")) //最大行程,根据实际情况填写
|
||||||
{
|
{
|
||||||
//SendMsgToHexcal("MAXSTROKESW 233.200000,346.500000,15.100000,0.000000,0.000000,0.000000,0.000000");
|
//MAXSTROKESW 233.200000,346.500000,15.100000,0.000000,0.000000,0.000000,0.000000
|
||||||
|
|
||||||
double[] values = { X_MAXSTROKESW, Y_MAXSTROKESW, Z_MAXSTROKESW, 0.0, 0.0, 0.0, 0.0 };
|
double[] values = { XMaxstrokesw, YMaxstrokesw, ZMaxstrokesw, 0.0, 0.0, 0.0, 0.0 };
|
||||||
string resultString = ConstructString("MAXSTROKESW", values);
|
string resultString = ConstructString("MAXSTROKESW", values);
|
||||||
SendMsgToHexcal(resultString);
|
SendMsgToHexcal(resultString);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (msg.Contains("SHOW MINSTROKESW")) //最小行程,根据实际情况填写
|
else if (msg.Contains("SHOW MINSTROKESW")) //最小行程,根据实际情况填写
|
||||||
{
|
{
|
||||||
//SendMsgToHexcal("MINSTROKESW -68.800000,-55.500000,-286.900000,0.000000,0.000000,0.000000,0.000000");
|
//MINSTROKESW -68.800000,-55.500000,-286.900000,0.000000,0.000000,0.000000,0.000000
|
||||||
|
|
||||||
double[] values = { X_MINSTROKESW, Y_MINSTROKESW, Z_MINSTROKESW, 0.0, 0.0, 0.0, 0.0 };
|
double[] values = { XMinstrokesw, YMinstrokesw, ZMinstrokesw, 0.0, 0.0, 0.0, 0.0 };
|
||||||
string resultString = ConstructString("MINSTROKESW", values);
|
string resultString = ConstructString("MINSTROKESW", values);
|
||||||
SendMsgToHexcal(resultString);
|
SendMsgToHexcal(resultString);
|
||||||
}
|
}
|
||||||
@@ -416,9 +388,9 @@ namespace HexcalMC
|
|||||||
{
|
{
|
||||||
SendMsgToHexcal("Z_SENSAXIS 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0");
|
SendMsgToHexcal("Z_SENSAXIS 7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0");
|
||||||
}
|
}
|
||||||
else if (msg.Contains("SHOW TEMPCOMPTYPE")) //温度补偿,温度补偿 >1 表示支持温度补偿
|
else if (msg.Contains("SHOW TEMPCOMPTYPE")) //温度补偿,温度补偿 >1 表示支持温度补偿,此处不支持
|
||||||
{
|
{
|
||||||
SendMsgToHexcal("TEMPCOMPTYPE 1");
|
SendMsgToHexcal("TEMPCOMPTYPE 0");
|
||||||
}
|
}
|
||||||
else if (msg.Contains("READTP"))
|
else if (msg.Contains("READTP"))
|
||||||
{
|
{
|
||||||
@@ -470,6 +442,10 @@ namespace HexcalMC
|
|||||||
{
|
{
|
||||||
SendMsgToHexcal("%");
|
SendMsgToHexcal("%");
|
||||||
}
|
}
|
||||||
|
else if (msg.Contains("DISABLE GEO"))
|
||||||
|
{
|
||||||
|
SendMsgToHexcal("%");
|
||||||
|
}
|
||||||
else if (msg.Contains("AUTZER")) //回家指令
|
else if (msg.Contains("AUTZER")) //回家指令
|
||||||
{
|
{
|
||||||
SendMsgToHexcal("%"); //收到并执行,同时状态改为忙碌
|
SendMsgToHexcal("%"); //收到并执行,同时状态改为忙碌
|
||||||
@@ -489,7 +465,7 @@ namespace HexcalMC
|
|||||||
}
|
}
|
||||||
else if (msg.Contains("GETPOS")) //获取位置
|
else if (msg.Contains("GETPOS")) //获取位置
|
||||||
{
|
{
|
||||||
//SendMsgToHexcal("POS 167.553898,-55.400421,-208.548678,0.000000,0.000000,0.000000,0.000000");
|
//POS 167.553898,-55.400421,-208.548678,0.000000,0.000000,0.000000,0.000000
|
||||||
Point3D point3D = GetPositionXyz(); //获取当前位置
|
Point3D point3D = GetPositionXyz(); //获取当前位置
|
||||||
string resultString = ConstructPosString(point3D);
|
string resultString = ConstructPosString(point3D);
|
||||||
SendMsgToHexcal(resultString);
|
SendMsgToHexcal(resultString);
|
||||||
@@ -542,12 +518,66 @@ namespace HexcalMC
|
|||||||
|
|
||||||
#region ACS平台相关
|
#region ACS平台相关
|
||||||
|
|
||||||
|
#region 运动平台变量区
|
||||||
|
|
||||||
|
public Api _acs;
|
||||||
|
|
||||||
|
private const int MaxUiLimitCnt = 8;
|
||||||
|
private const int MaxUiIoCnt = 8;
|
||||||
|
|
||||||
|
private readonly int _mNTotalAxis = 0;
|
||||||
|
private int _mNTotalBuffer = 0;
|
||||||
|
private Axis[] _mArrAxisList = null;
|
||||||
|
|
||||||
|
public bool _mAcsConnected; //ACS通讯状态
|
||||||
|
|
||||||
|
// For update values
|
||||||
|
private MotorStates _mNMotorState; //运动状态
|
||||||
|
|
||||||
|
private ProgramStates _mNProgramState; //程序状态
|
||||||
|
private object _mObjReadVar;
|
||||||
|
private Array _mArrReadVector;
|
||||||
|
private double _mLfRPos, _mLfFPos, _mLfPe, _mLfFvel; //参考位置,反馈位置 位置误差 反馈速度 double类型
|
||||||
|
private int _mNValues, _mNOutputState;
|
||||||
|
|
||||||
|
private Label[] _mLblLeftLimit; //左限位
|
||||||
|
private Label[] _mLblRightLimit; //右限位
|
||||||
|
|
||||||
|
private HomeStates _homeStates; //回家状态
|
||||||
|
private MotionStates _currentMotionState; //当前运动状态
|
||||||
|
private readonly int _motionTimeout = 50000; //定义运动超时时间
|
||||||
|
|
||||||
|
|
||||||
|
public static Axis[] UseAxis =
|
||||||
|
{ Axis.ACSC_AXIS_1, Axis.ACSC_AXIS_0, Axis.ACSC_AXIS_8, Axis.ACSC_NONE }; //定义启用的轴,后面运动时会使用
|
||||||
|
|
||||||
|
//定义轴的运动状态
|
||||||
|
private readonly bool[] axisFinished = new bool[10]; // 假设只有轴 0、1和8,数组大小为10(0到9)
|
||||||
|
|
||||||
|
//定义 XYZ三个轴的左右行程范围
|
||||||
|
public string StrConfigFile = Application.StartupPath + "\\File\\config.ini";
|
||||||
|
public static double MotionSpeed = 60;
|
||||||
|
public static double XMaxstrokesw = 730; //正限位
|
||||||
|
public static double YMaxstrokesw = 1000;
|
||||||
|
public static double ZMaxstrokesw = 5;
|
||||||
|
|
||||||
|
public static double XMinstrokesw = -30; //负限位
|
||||||
|
public static double YMinstrokesw = -10;
|
||||||
|
public static double ZMinstrokesw = -280;
|
||||||
|
|
||||||
|
private bool _enableAcs; //读取配置,是否上电自动连接平台
|
||||||
|
|
||||||
|
private Point3D _mPoint3D; //定义一个3D点,存储当前平台位置
|
||||||
|
private Point3D _mPoint3DLast; //存储上一周期的位置
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
private void BtnEnable_Click(object sender, EventArgs e) //使能所有轴
|
private void BtnEnable_Click(object sender, EventArgs e) //使能所有轴
|
||||||
{
|
{
|
||||||
if (_mAcsConnected)
|
if (_mAcsConnected)
|
||||||
{
|
{
|
||||||
//!!!! Important !! Must insert '-1' at the last
|
//!!!! Important !! Must insert '-1' at the last
|
||||||
_acs.EnableM(USE_AXIS);
|
_acs.EnableM(UseAxis);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -562,6 +592,36 @@ namespace HexcalMC
|
|||||||
_acs.DisableAll();
|
_acs.DisableAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool IsMotionInPose()
|
||||||
|
{
|
||||||
|
bool x_inpose = false, y_inpose = false, z_inpose = false;
|
||||||
|
|
||||||
|
_mNMotorState = _acs.GetMotorState(Axis.ACSC_AXIS_1);
|
||||||
|
if ((_mNMotorState & MotorStates.ACSC_MST_INPOS) != 0)
|
||||||
|
{
|
||||||
|
x_inpose = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
_mNMotorState = _acs.GetMotorState(Axis.ACSC_AXIS_0);
|
||||||
|
if ((_mNMotorState & MotorStates.ACSC_MST_INPOS) != 0)
|
||||||
|
{
|
||||||
|
y_inpose = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
_mNMotorState = _acs.GetMotorState(Axis.ACSC_AXIS_8);
|
||||||
|
if ((_mNMotorState & MotorStates.ACSC_MST_INPOS) != 0)
|
||||||
|
{
|
||||||
|
z_inpose = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (x_inpose && y_inpose && z_inpose)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private void TmrMonitor_Tick(object sender, EventArgs e) //用于刷新状态
|
private void TmrMonitor_Tick(object sender, EventArgs e) //用于刷新状态
|
||||||
{
|
{
|
||||||
int iAxisNo = cboAxisNo.SelectedIndex;
|
int iAxisNo = cboAxisNo.SelectedIndex;
|
||||||
@@ -569,6 +629,9 @@ namespace HexcalMC
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
//获取平台当前位置
|
||||||
|
_mPoint3D = GetPositionXyz();
|
||||||
|
|
||||||
// Get Motor State ACSPL+ Variable : MST (integer)
|
// Get Motor State ACSPL+ Variable : MST (integer)
|
||||||
_mNMotorState = _acs.GetMotorState((Axis)iAxisNo);
|
_mNMotorState = _acs.GetMotorState((Axis)iAxisNo);
|
||||||
|
|
||||||
@@ -589,7 +652,7 @@ namespace HexcalMC
|
|||||||
if ((_mNMotorState & MotorStates.ACSC_MST_INPOS) != 0)
|
if ((_mNMotorState & MotorStates.ACSC_MST_INPOS) != 0)
|
||||||
{
|
{
|
||||||
lblInPos.Image = Resources.On;
|
lblInPos.Image = Resources.On;
|
||||||
_currentMotionState = MotionStates.InPos;
|
//_currentMotionState = MotionStates.InPos;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -622,6 +685,17 @@ namespace HexcalMC
|
|||||||
MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (IsMotionInPose())
|
||||||
|
{
|
||||||
|
_currentMotionState = MotionStates.InPos;
|
||||||
|
DebugDfn.AddLogText("运动到位");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_currentMotionState = MotionStates.Moving;
|
||||||
|
DebugDfn.AddLogText("运动中");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Btn_ACSStart_Click(object sender, EventArgs e) //连接
|
private void Btn_ACSStart_Click(object sender, EventArgs e) //连接
|
||||||
@@ -722,9 +796,9 @@ namespace HexcalMC
|
|||||||
DebugDfn.AddLogText("回家运动中");
|
DebugDfn.AddLogText("回家运动中");
|
||||||
|
|
||||||
//等待回家完成
|
//等待回家完成
|
||||||
for (int i = 0; i < USE_AXIS.Length; i++)
|
for (int i = 0; i < UseAxis.Length; i++)
|
||||||
{
|
{
|
||||||
_acs.WaitMotionEnd(USE_AXIS[i], _motionTimeout); //等待回家完成
|
_acs.WaitMotionEnd(UseAxis[i], _motionTimeout); //等待回家完成
|
||||||
}
|
}
|
||||||
|
|
||||||
_homeStates = HomeStates.Homed;
|
_homeStates = HomeStates.Homed;
|
||||||
@@ -759,10 +833,10 @@ namespace HexcalMC
|
|||||||
}
|
}
|
||||||
|
|
||||||
//轴启用,加电
|
//轴启用,加电
|
||||||
_acs.EnableM(USE_AXIS);
|
_acs.EnableM(UseAxis);
|
||||||
for (int i = 0; i < USE_AXIS.Length; i++)
|
for (int i = 0; i < UseAxis.Length; i++)
|
||||||
{
|
{
|
||||||
_acs.WaitMotorEnabled(USE_AXIS[i], 1, _motionTimeout); //等待电机使能
|
_acs.WaitMotorEnabled(UseAxis[i], 1, _motionTimeout); //等待电机使能
|
||||||
}
|
}
|
||||||
|
|
||||||
DebugDfn.AddLogText("电机已启用");
|
DebugDfn.AddLogText("电机已启用");
|
||||||
@@ -773,42 +847,47 @@ namespace HexcalMC
|
|||||||
SetSpeedXyz();
|
SetSpeedXyz();
|
||||||
|
|
||||||
//注册到位事件
|
//注册到位事件
|
||||||
_acs.PHYSICALMOTIONEND += ACS_PHYSICALMOTIONEND;
|
//_acs.PHYSICALMOTIONEND += ACS_PHYSICALMOTIONEND;
|
||||||
_acs.EnableEvent(Interrupts.ACSC_INTR_PHYSICAL_MOTION_END);
|
_acs.EnableEvent(Interrupts.ACSC_INTR_PHYSICAL_MOTION_END);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ACS_PHYSICALMOTIONEND(AxisMasks axis)
|
private void ACS_PHYSICALMOTIONEND(AxisMasks axis)
|
||||||
{
|
{
|
||||||
int bit = 0x01;
|
//int bit = 0x01;
|
||||||
int axisNo = 0;
|
//int axisNo = 0;
|
||||||
// Param value is bit number
|
|
||||||
// Bit Number = Axis Number
|
//for (int i = 0; i < 64; i++)
|
||||||
for (int i = 0; i < 64; i++)
|
//{
|
||||||
|
// if ((int)axis == bit)
|
||||||
|
// {
|
||||||
|
// axisNo = i;
|
||||||
|
// axisFinished[axisNo] = true; // 将对应轴的完成情况标记为 true
|
||||||
|
// Console.WriteLine($" %d %d",axisNo, axisFinished[axisNo]);
|
||||||
|
// break;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// bit = bit << 1;
|
||||||
|
//}
|
||||||
|
//打印数组 axisFinished
|
||||||
|
|
||||||
|
|
||||||
|
// 检查轴0、1和8是否全部完成
|
||||||
|
//if (axisFinished[0] && axisFinished[1] && axisFinished[8])
|
||||||
{
|
{
|
||||||
if ((int)axis == bit)
|
// 三个轴均完成后的操作
|
||||||
|
Invoke((MethodInvoker)delegate
|
||||||
{
|
{
|
||||||
axisNo = i;
|
_currentMotionState = MotionStates.InPos;
|
||||||
break;
|
//DebugDfn.AddLogText("运动到位");
|
||||||
}
|
});
|
||||||
|
|
||||||
bit = bit << 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add log to ListBox
|
|
||||||
Invoke((MethodInvoker)delegate
|
|
||||||
{
|
|
||||||
DebugDfn.AddLogText("运动到位");
|
|
||||||
_currentMotionState = MotionStates.InPos;
|
|
||||||
DebugDfn.AddLogText("运动到位");
|
|
||||||
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool IsWithinStrokes(Point3D point) //判断点是否在行程范围内
|
private bool IsWithinStrokes(Point3D point) //判断点是否在行程范围内
|
||||||
{
|
{
|
||||||
if (point.X >= X_MINSTROKESW && point.X <= X_MAXSTROKESW &&
|
if (point.X >= XMinstrokesw && point.X <= XMaxstrokesw &&
|
||||||
point.Y >= Y_MINSTROKESW && point.Y <= Y_MAXSTROKESW &&
|
point.Y >= YMinstrokesw && point.Y <= YMaxstrokesw &&
|
||||||
point.Z >= Z_MINSTROKESW && point.Z <= Z_MAXSTROKESW)
|
point.Z >= ZMinstrokesw && point.Z <= ZMaxstrokesw)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -841,7 +920,7 @@ namespace HexcalMC
|
|||||||
};
|
};
|
||||||
|
|
||||||
//执行运动指令
|
//执行运动指令
|
||||||
_acs.ToPointM(MotionFlags.ACSC_NONE, USE_AXIS, pointsArray); //多轴运动到指定位置
|
_acs.ToPointM(MotionFlags.ACSC_NONE, UseAxis, pointsArray); //多轴运动到指定位置
|
||||||
|
|
||||||
////等待运动完成
|
////等待运动完成
|
||||||
//for (int i = 0; i < USE_AXIS.Length; i++)
|
//for (int i = 0; i < USE_AXIS.Length; i++)
|
||||||
@@ -881,17 +960,17 @@ namespace HexcalMC
|
|||||||
if (positionMode == 1)
|
if (positionMode == 1)
|
||||||
{
|
{
|
||||||
//获取反馈位置 Feedback position (Encoder value) ACSPL+ Variable : FPO (real)
|
//获取反馈位置 Feedback position (Encoder value) ACSPL+ Variable : FPO (real)
|
||||||
xPosition = _acs.GetFPosition(USE_AXIS[0]);
|
xPosition = _acs.GetFPosition(UseAxis[0]);
|
||||||
yPosition = _acs.GetFPosition(USE_AXIS[1]);
|
yPosition = _acs.GetFPosition(UseAxis[1]);
|
||||||
zPosition = _acs.GetFPosition(USE_AXIS[2]);
|
zPosition = _acs.GetFPosition(UseAxis[2]);
|
||||||
DebugDfn.AddLogText("反馈位置: " + xPosition + " " + yPosition + " " + zPosition);
|
//DebugDfn.AddLogText("反馈位置: " + xPosition + " " + yPosition + " " + zPosition);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//获取参考位置 ACSPL+ Variable : RPOS (real)
|
//获取参考位置 ACSPL+ Variable : RPOS (real)
|
||||||
xPosition = _acs.GetRPosition(USE_AXIS[0]);
|
xPosition = _acs.GetRPosition(UseAxis[0]);
|
||||||
yPosition = _acs.GetRPosition(USE_AXIS[1]);
|
yPosition = _acs.GetRPosition(UseAxis[1]);
|
||||||
zPosition = _acs.GetRPosition(USE_AXIS[2]);
|
zPosition = _acs.GetRPosition(UseAxis[2]);
|
||||||
DebugDfn.AddLogText("参考位置: " + xPosition + " " + yPosition + " " + zPosition);
|
DebugDfn.AddLogText("参考位置: " + xPosition + " " + yPosition + " " + zPosition);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -909,20 +988,19 @@ namespace HexcalMC
|
|||||||
DebugDfn.AddLogText("实际速度: " + feedbackVelocity);
|
DebugDfn.AddLogText("实际速度: " + feedbackVelocity);
|
||||||
|
|
||||||
//设置Y轴 速度参数
|
//设置Y轴 速度参数
|
||||||
_acs.SetVelocity(Axis.ACSC_AXIS_0, MOTION_SPEED);
|
_acs.SetVelocity(Axis.ACSC_AXIS_0, MotionSpeed);
|
||||||
_acs.SetAcceleration(Axis.ACSC_AXIS_0,MOTION_SPEED*10);
|
_acs.SetAcceleration(Axis.ACSC_AXIS_0, MotionSpeed * 10);
|
||||||
_acs.SetDeceleration(Axis.ACSC_AXIS_0,MOTION_SPEED*10);
|
_acs.SetDeceleration(Axis.ACSC_AXIS_0, MotionSpeed * 10);
|
||||||
|
|
||||||
//设置X轴速度参数
|
//设置X轴速度参数
|
||||||
_acs.SetVelocity(Axis.ACSC_AXIS_1, MOTION_SPEED);
|
_acs.SetVelocity(Axis.ACSC_AXIS_1, MotionSpeed);
|
||||||
_acs.SetAcceleration(Axis.ACSC_AXIS_1, MOTION_SPEED * 10);
|
_acs.SetAcceleration(Axis.ACSC_AXIS_1, MotionSpeed * 10);
|
||||||
_acs.SetDeceleration(Axis.ACSC_AXIS_1, MOTION_SPEED * 10);
|
_acs.SetDeceleration(Axis.ACSC_AXIS_1, MotionSpeed * 10);
|
||||||
|
|
||||||
//设置Z轴速度参数
|
//设置Z轴速度参数
|
||||||
_acs.SetVelocity(Axis.ACSC_AXIS_8, MOTION_SPEED);
|
_acs.SetVelocity(Axis.ACSC_AXIS_8, MotionSpeed);
|
||||||
_acs.SetAcceleration(Axis.ACSC_AXIS_8, MOTION_SPEED * 10);
|
_acs.SetAcceleration(Axis.ACSC_AXIS_8, MotionSpeed * 10);
|
||||||
_acs.SetDeceleration(Axis.ACSC_AXIS_8, MOTION_SPEED * 10);
|
_acs.SetDeceleration(Axis.ACSC_AXIS_8, MotionSpeed * 10);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void openGLControl1_OpenGLDraw(object sender, RenderEventArgs args)
|
private void openGLControl1_OpenGLDraw(object sender, RenderEventArgs args)
|
||||||
@@ -974,15 +1052,13 @@ namespace HexcalMC
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endregion ACS平台相关
|
#endregion ACS平台相关
|
||||||
|
|
||||||
#region 菜单栏
|
#region 菜单栏
|
||||||
|
|
||||||
private void Rtb_motion_Click(object sender, EventArgs e) //ACS调试页面
|
private void btn_motion_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Motion motion = new Motion();
|
Motion motion = new Motion(_acs);
|
||||||
motion.Show();
|
motion.Show();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -993,6 +1069,13 @@ namespace HexcalMC
|
|||||||
mAboutBox.Show();
|
mAboutBox.Show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void rtb_demo_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
DemoShow demoShow = new DemoShow(_acs);
|
||||||
|
demoShow.Show();
|
||||||
|
demoShow.BringToFront();
|
||||||
|
}
|
||||||
|
|
||||||
private void Timer_RefreshUI_Tick(object sender, EventArgs e) //UI刷新
|
private void Timer_RefreshUI_Tick(object sender, EventArgs e) //UI刷新
|
||||||
{
|
{
|
||||||
//状态灯刷新
|
//状态灯刷新
|
||||||
@@ -1004,6 +1087,14 @@ namespace HexcalMC
|
|||||||
rle_timer.Text = "当前时间: " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
rle_timer.Text = "当前时间: " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||||
|
|
||||||
Plot2D(_pointCloud); //绘图
|
Plot2D(_pointCloud); //绘图
|
||||||
|
|
||||||
|
//更新位置
|
||||||
|
if (_mPoint3D != null)
|
||||||
|
{
|
||||||
|
rtb_xPos.Text = _mPoint3D.X.ToString("F3");
|
||||||
|
rtb_yPos.Text = _mPoint3D.Y.ToString("F3");
|
||||||
|
rtb_zPos.Text = _mPoint3D.Z.ToString("F3");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion 菜单栏
|
#endregion 菜单栏
|
||||||
|
|||||||
Generated
+121
-137
@@ -37,8 +37,6 @@
|
|||||||
this.btnOpen = new System.Windows.Forms.Button();
|
this.btnOpen = new System.Windows.Forms.Button();
|
||||||
this.label2 = new System.Windows.Forms.Label();
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
this.label1 = new System.Windows.Forms.Label();
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
this.rdoTCP = new System.Windows.Forms.RadioButton();
|
|
||||||
this.rdoSimu = new System.Windows.Forms.RadioButton();
|
|
||||||
this.tmrMonitor = new System.Windows.Forms.Timer(this.components);
|
this.tmrMonitor = new System.Windows.Forms.Timer(this.components);
|
||||||
this.grpMotionTest = new System.Windows.Forms.GroupBox();
|
this.grpMotionTest = new System.Windows.Forms.GroupBox();
|
||||||
this.btnHallAll = new System.Windows.Forms.Button();
|
this.btnHallAll = new System.Windows.Forms.Button();
|
||||||
@@ -185,7 +183,7 @@
|
|||||||
this.label49 = new System.Windows.Forms.Label();
|
this.label49 = new System.Windows.Forms.Label();
|
||||||
this.label47 = new System.Windows.Forms.Label();
|
this.label47 = new System.Windows.Forms.Label();
|
||||||
this.groupBox8 = new System.Windows.Forms.GroupBox();
|
this.groupBox8 = new System.Windows.Forms.GroupBox();
|
||||||
this.button8 = new System.Windows.Forms.Button();
|
this.btn_movepose = new System.Windows.Forms.Button();
|
||||||
this.checkBox1 = new System.Windows.Forms.CheckBox();
|
this.checkBox1 = new System.Windows.Forms.CheckBox();
|
||||||
this.textBox3 = new System.Windows.Forms.TextBox();
|
this.textBox3 = new System.Windows.Forms.TextBox();
|
||||||
this.textBox2 = new System.Windows.Forms.TextBox();
|
this.textBox2 = new System.Windows.Forms.TextBox();
|
||||||
@@ -194,19 +192,19 @@
|
|||||||
this.label45 = new System.Windows.Forms.Label();
|
this.label45 = new System.Windows.Forms.Label();
|
||||||
this.label44 = new System.Windows.Forms.Label();
|
this.label44 = new System.Windows.Forms.Label();
|
||||||
this.groupBox7 = new System.Windows.Forms.GroupBox();
|
this.groupBox7 = new System.Windows.Forms.GroupBox();
|
||||||
this.button7 = new System.Windows.Forms.Button();
|
this.btn_Y_Back = new System.Windows.Forms.Button();
|
||||||
this.button6 = new System.Windows.Forms.Button();
|
this.btn_X_right = new System.Windows.Forms.Button();
|
||||||
this.button5 = new System.Windows.Forms.Button();
|
this.btn_X_left = new System.Windows.Forms.Button();
|
||||||
this.button4 = new System.Windows.Forms.Button();
|
this.btn_Y_Forward = new System.Windows.Forms.Button();
|
||||||
this.groupBox6 = new System.Windows.Forms.GroupBox();
|
this.groupBox6 = new System.Windows.Forms.GroupBox();
|
||||||
this.button3 = new System.Windows.Forms.Button();
|
this.btn_home = new System.Windows.Forms.Button();
|
||||||
this.button2 = new System.Windows.Forms.Button();
|
this.btn_stop = new System.Windows.Forms.Button();
|
||||||
this.button1 = new System.Windows.Forms.Button();
|
this.btn_start = new System.Windows.Forms.Button();
|
||||||
this.groupBox10 = new System.Windows.Forms.GroupBox();
|
this.groupBox10 = new System.Windows.Forms.GroupBox();
|
||||||
this.label48 = new System.Windows.Forms.Label();
|
this.label48 = new System.Windows.Forms.Label();
|
||||||
this.textBox4 = new System.Windows.Forms.TextBox();
|
this.textBox4 = new System.Windows.Forms.TextBox();
|
||||||
this.button10 = new System.Windows.Forms.Button();
|
this.btn_halt = new System.Windows.Forms.Button();
|
||||||
this.button9 = new System.Windows.Forms.Button();
|
this.btn_run = new System.Windows.Forms.Button();
|
||||||
this.checkBox4 = new System.Windows.Forms.CheckBox();
|
this.checkBox4 = new System.Windows.Forms.CheckBox();
|
||||||
this.checkBox3 = new System.Windows.Forms.CheckBox();
|
this.checkBox3 = new System.Windows.Forms.CheckBox();
|
||||||
this.checkBox2 = new System.Windows.Forms.CheckBox();
|
this.checkBox2 = new System.Windows.Forms.CheckBox();
|
||||||
@@ -238,8 +236,6 @@
|
|||||||
this.groupBox1.Controls.Add(this.btnOpen);
|
this.groupBox1.Controls.Add(this.btnOpen);
|
||||||
this.groupBox1.Controls.Add(this.label2);
|
this.groupBox1.Controls.Add(this.label2);
|
||||||
this.groupBox1.Controls.Add(this.label1);
|
this.groupBox1.Controls.Add(this.label1);
|
||||||
this.groupBox1.Controls.Add(this.rdoTCP);
|
|
||||||
this.groupBox1.Controls.Add(this.rdoSimu);
|
|
||||||
this.groupBox1.Location = new System.Drawing.Point(12, 12);
|
this.groupBox1.Location = new System.Drawing.Point(12, 12);
|
||||||
this.groupBox1.Name = "groupBox1";
|
this.groupBox1.Name = "groupBox1";
|
||||||
this.groupBox1.Size = new System.Drawing.Size(273, 94);
|
this.groupBox1.Size = new System.Drawing.Size(273, 94);
|
||||||
@@ -249,7 +245,7 @@
|
|||||||
//
|
//
|
||||||
// txtPort
|
// txtPort
|
||||||
//
|
//
|
||||||
this.txtPort.Location = new System.Drawing.Point(171, 40);
|
this.txtPort.Location = new System.Drawing.Point(103, 37);
|
||||||
this.txtPort.Name = "txtPort";
|
this.txtPort.Name = "txtPort";
|
||||||
this.txtPort.Size = new System.Drawing.Size(91, 21);
|
this.txtPort.Size = new System.Drawing.Size(91, 21);
|
||||||
this.txtPort.TabIndex = 15;
|
this.txtPort.TabIndex = 15;
|
||||||
@@ -257,15 +253,15 @@
|
|||||||
//
|
//
|
||||||
// txtIP
|
// txtIP
|
||||||
//
|
//
|
||||||
this.txtIP.Location = new System.Drawing.Point(171, 17);
|
this.txtIP.Location = new System.Drawing.Point(103, 14);
|
||||||
this.txtIP.Name = "txtIP";
|
this.txtIP.Name = "txtIP";
|
||||||
this.txtIP.Size = new System.Drawing.Size(91, 21);
|
this.txtIP.Size = new System.Drawing.Size(91, 21);
|
||||||
this.txtIP.TabIndex = 16;
|
this.txtIP.TabIndex = 16;
|
||||||
this.txtIP.Text = "10.0.0.100";
|
this.txtIP.Text = "100.0.0.100";
|
||||||
//
|
//
|
||||||
// btnClose
|
// btnClose
|
||||||
//
|
//
|
||||||
this.btnClose.Location = new System.Drawing.Point(181, 65);
|
this.btnClose.Location = new System.Drawing.Point(113, 62);
|
||||||
this.btnClose.Name = "btnClose";
|
this.btnClose.Name = "btnClose";
|
||||||
this.btnClose.Size = new System.Drawing.Size(81, 23);
|
this.btnClose.Size = new System.Drawing.Size(81, 23);
|
||||||
this.btnClose.TabIndex = 14;
|
this.btnClose.TabIndex = 14;
|
||||||
@@ -275,7 +271,7 @@
|
|||||||
//
|
//
|
||||||
// btnOpen
|
// btnOpen
|
||||||
//
|
//
|
||||||
this.btnOpen.Location = new System.Drawing.Point(94, 65);
|
this.btnOpen.Location = new System.Drawing.Point(7, 62);
|
||||||
this.btnOpen.Name = "btnOpen";
|
this.btnOpen.Name = "btnOpen";
|
||||||
this.btnOpen.Size = new System.Drawing.Size(81, 23);
|
this.btnOpen.Size = new System.Drawing.Size(81, 23);
|
||||||
this.btnOpen.TabIndex = 13;
|
this.btnOpen.TabIndex = 13;
|
||||||
@@ -286,7 +282,7 @@
|
|||||||
// label2
|
// label2
|
||||||
//
|
//
|
||||||
this.label2.AutoSize = true;
|
this.label2.AutoSize = true;
|
||||||
this.label2.Location = new System.Drawing.Point(102, 44);
|
this.label2.Location = new System.Drawing.Point(15, 41);
|
||||||
this.label2.Name = "label2";
|
this.label2.Name = "label2";
|
||||||
this.label2.Size = new System.Drawing.Size(29, 12);
|
this.label2.Size = new System.Drawing.Size(29, 12);
|
||||||
this.label2.TabIndex = 11;
|
this.label2.TabIndex = 11;
|
||||||
@@ -295,36 +291,12 @@
|
|||||||
// label1
|
// label1
|
||||||
//
|
//
|
||||||
this.label1.AutoSize = true;
|
this.label1.AutoSize = true;
|
||||||
this.label1.Location = new System.Drawing.Point(102, 21);
|
this.label1.Location = new System.Drawing.Point(15, 18);
|
||||||
this.label1.Name = "label1";
|
this.label1.Name = "label1";
|
||||||
this.label1.Size = new System.Drawing.Size(71, 12);
|
this.label1.Size = new System.Drawing.Size(71, 12);
|
||||||
this.label1.TabIndex = 12;
|
this.label1.TabIndex = 12;
|
||||||
this.label1.Text = "目标设备 IP";
|
this.label1.Text = "目标设备 IP";
|
||||||
//
|
//
|
||||||
// rdoTCP
|
|
||||||
//
|
|
||||||
this.rdoTCP.AutoSize = true;
|
|
||||||
this.rdoTCP.Location = new System.Drawing.Point(6, 19);
|
|
||||||
this.rdoTCP.Name = "rdoTCP";
|
|
||||||
this.rdoTCP.Size = new System.Drawing.Size(41, 16);
|
|
||||||
this.rdoTCP.TabIndex = 10;
|
|
||||||
this.rdoTCP.TabStop = true;
|
|
||||||
this.rdoTCP.Text = "TCP";
|
|
||||||
this.rdoTCP.UseVisualStyleBackColor = true;
|
|
||||||
this.rdoTCP.CheckedChanged += new System.EventHandler(this.RdoTCP_CheckedChanged);
|
|
||||||
//
|
|
||||||
// rdoSimu
|
|
||||||
//
|
|
||||||
this.rdoSimu.AutoSize = true;
|
|
||||||
this.rdoSimu.Location = new System.Drawing.Point(6, 42);
|
|
||||||
this.rdoSimu.Name = "rdoSimu";
|
|
||||||
this.rdoSimu.Size = new System.Drawing.Size(59, 16);
|
|
||||||
this.rdoSimu.TabIndex = 9;
|
|
||||||
this.rdoSimu.TabStop = true;
|
|
||||||
this.rdoSimu.Text = "模拟器";
|
|
||||||
this.rdoSimu.UseVisualStyleBackColor = true;
|
|
||||||
this.rdoSimu.CheckedChanged += new System.EventHandler(this.RdoSimu_CheckedChanged);
|
|
||||||
//
|
|
||||||
// tmrMonitor
|
// tmrMonitor
|
||||||
//
|
//
|
||||||
this.tmrMonitor.Interval = 50;
|
this.tmrMonitor.Interval = 50;
|
||||||
@@ -584,6 +556,10 @@
|
|||||||
//
|
//
|
||||||
this.cboAxisNo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
this.cboAxisNo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
this.cboAxisNo.FormattingEnabled = true;
|
this.cboAxisNo.FormattingEnabled = true;
|
||||||
|
this.cboAxisNo.Items.AddRange(new object[] {
|
||||||
|
"1",
|
||||||
|
"0",
|
||||||
|
"8"});
|
||||||
this.cboAxisNo.Location = new System.Drawing.Point(115, 20);
|
this.cboAxisNo.Location = new System.Drawing.Point(115, 20);
|
||||||
this.cboAxisNo.Name = "cboAxisNo";
|
this.cboAxisNo.Name = "cboAxisNo";
|
||||||
this.cboAxisNo.Size = new System.Drawing.Size(60, 20);
|
this.cboAxisNo.Size = new System.Drawing.Size(60, 20);
|
||||||
@@ -1814,7 +1790,7 @@
|
|||||||
//
|
//
|
||||||
// groupBox8
|
// groupBox8
|
||||||
//
|
//
|
||||||
this.groupBox8.Controls.Add(this.button8);
|
this.groupBox8.Controls.Add(this.btn_movepose);
|
||||||
this.groupBox8.Controls.Add(this.checkBox1);
|
this.groupBox8.Controls.Add(this.checkBox1);
|
||||||
this.groupBox8.Controls.Add(this.textBox3);
|
this.groupBox8.Controls.Add(this.textBox3);
|
||||||
this.groupBox8.Controls.Add(this.textBox2);
|
this.groupBox8.Controls.Add(this.textBox2);
|
||||||
@@ -1829,14 +1805,15 @@
|
|||||||
this.groupBox8.TabStop = false;
|
this.groupBox8.TabStop = false;
|
||||||
this.groupBox8.Text = "定位";
|
this.groupBox8.Text = "定位";
|
||||||
//
|
//
|
||||||
// button8
|
// btn_movepose
|
||||||
//
|
//
|
||||||
this.button8.Location = new System.Drawing.Point(129, 122);
|
this.btn_movepose.Location = new System.Drawing.Point(129, 122);
|
||||||
this.button8.Name = "button8";
|
this.btn_movepose.Name = "btn_movepose";
|
||||||
this.button8.Size = new System.Drawing.Size(120, 37);
|
this.btn_movepose.Size = new System.Drawing.Size(120, 37);
|
||||||
this.button8.TabIndex = 7;
|
this.btn_movepose.TabIndex = 7;
|
||||||
this.button8.Text = "移动到目标位置";
|
this.btn_movepose.Text = "移动到目标位置";
|
||||||
this.button8.UseVisualStyleBackColor = true;
|
this.btn_movepose.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_movepose.Click += new System.EventHandler(this.btn_movepose_Click);
|
||||||
//
|
//
|
||||||
// checkBox1
|
// checkBox1
|
||||||
//
|
//
|
||||||
@@ -1898,10 +1875,10 @@
|
|||||||
//
|
//
|
||||||
// groupBox7
|
// groupBox7
|
||||||
//
|
//
|
||||||
this.groupBox7.Controls.Add(this.button7);
|
this.groupBox7.Controls.Add(this.btn_Y_Back);
|
||||||
this.groupBox7.Controls.Add(this.button6);
|
this.groupBox7.Controls.Add(this.btn_X_right);
|
||||||
this.groupBox7.Controls.Add(this.button5);
|
this.groupBox7.Controls.Add(this.btn_X_left);
|
||||||
this.groupBox7.Controls.Add(this.button4);
|
this.groupBox7.Controls.Add(this.btn_Y_Forward);
|
||||||
this.groupBox7.Location = new System.Drawing.Point(6, 100);
|
this.groupBox7.Location = new System.Drawing.Point(6, 100);
|
||||||
this.groupBox7.Name = "groupBox7";
|
this.groupBox7.Name = "groupBox7";
|
||||||
this.groupBox7.Size = new System.Drawing.Size(283, 160);
|
this.groupBox7.Size = new System.Drawing.Size(283, 160);
|
||||||
@@ -1909,47 +1886,51 @@
|
|||||||
this.groupBox7.TabStop = false;
|
this.groupBox7.TabStop = false;
|
||||||
this.groupBox7.Text = "Jog";
|
this.groupBox7.Text = "Jog";
|
||||||
//
|
//
|
||||||
// button7
|
// btn_Y_Back
|
||||||
//
|
//
|
||||||
this.button7.Location = new System.Drawing.Point(104, 107);
|
this.btn_Y_Back.Location = new System.Drawing.Point(104, 107);
|
||||||
this.button7.Name = "button7";
|
this.btn_Y_Back.Name = "btn_Y_Back";
|
||||||
this.button7.Size = new System.Drawing.Size(75, 35);
|
this.btn_Y_Back.Size = new System.Drawing.Size(75, 35);
|
||||||
this.button7.TabIndex = 3;
|
this.btn_Y_Back.TabIndex = 3;
|
||||||
this.button7.Text = "Y后退";
|
this.btn_Y_Back.Text = "Y后退";
|
||||||
this.button7.UseVisualStyleBackColor = true;
|
this.btn_Y_Back.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_Y_Back.Click += new System.EventHandler(this.btn_Y_Back_Click);
|
||||||
//
|
//
|
||||||
// button6
|
// btn_X_right
|
||||||
//
|
//
|
||||||
this.button6.Location = new System.Drawing.Point(198, 61);
|
this.btn_X_right.Location = new System.Drawing.Point(198, 61);
|
||||||
this.button6.Name = "button6";
|
this.btn_X_right.Name = "btn_X_right";
|
||||||
this.button6.Size = new System.Drawing.Size(75, 35);
|
this.btn_X_right.Size = new System.Drawing.Size(75, 35);
|
||||||
this.button6.TabIndex = 2;
|
this.btn_X_right.TabIndex = 2;
|
||||||
this.button6.Text = "X右移";
|
this.btn_X_right.Text = "X右移";
|
||||||
this.button6.UseVisualStyleBackColor = true;
|
this.btn_X_right.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_X_right.Click += new System.EventHandler(this.btn_X_right_Click);
|
||||||
//
|
//
|
||||||
// button5
|
// btn_X_left
|
||||||
//
|
//
|
||||||
this.button5.Location = new System.Drawing.Point(10, 61);
|
this.btn_X_left.Location = new System.Drawing.Point(10, 61);
|
||||||
this.button5.Name = "button5";
|
this.btn_X_left.Name = "btn_X_left";
|
||||||
this.button5.Size = new System.Drawing.Size(75, 35);
|
this.btn_X_left.Size = new System.Drawing.Size(75, 35);
|
||||||
this.button5.TabIndex = 1;
|
this.btn_X_left.TabIndex = 1;
|
||||||
this.button5.Text = "X左移";
|
this.btn_X_left.Text = "X左移";
|
||||||
this.button5.UseVisualStyleBackColor = true;
|
this.btn_X_left.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_X_left.Click += new System.EventHandler(this.btn_X_left_Click);
|
||||||
//
|
//
|
||||||
// button4
|
// btn_Y_Forward
|
||||||
//
|
//
|
||||||
this.button4.Location = new System.Drawing.Point(104, 12);
|
this.btn_Y_Forward.Location = new System.Drawing.Point(104, 12);
|
||||||
this.button4.Name = "button4";
|
this.btn_Y_Forward.Name = "btn_Y_Forward";
|
||||||
this.button4.Size = new System.Drawing.Size(75, 35);
|
this.btn_Y_Forward.Size = new System.Drawing.Size(75, 35);
|
||||||
this.button4.TabIndex = 0;
|
this.btn_Y_Forward.TabIndex = 0;
|
||||||
this.button4.Text = "Y前进";
|
this.btn_Y_Forward.Text = "Y前进";
|
||||||
this.button4.UseVisualStyleBackColor = true;
|
this.btn_Y_Forward.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_Y_Forward.Click += new System.EventHandler(this.btn_Y_Forward_Click);
|
||||||
//
|
//
|
||||||
// groupBox6
|
// groupBox6
|
||||||
//
|
//
|
||||||
this.groupBox6.Controls.Add(this.button3);
|
this.groupBox6.Controls.Add(this.btn_home);
|
||||||
this.groupBox6.Controls.Add(this.button2);
|
this.groupBox6.Controls.Add(this.btn_stop);
|
||||||
this.groupBox6.Controls.Add(this.button1);
|
this.groupBox6.Controls.Add(this.btn_start);
|
||||||
this.groupBox6.Location = new System.Drawing.Point(6, 24);
|
this.groupBox6.Location = new System.Drawing.Point(6, 24);
|
||||||
this.groupBox6.Name = "groupBox6";
|
this.groupBox6.Name = "groupBox6";
|
||||||
this.groupBox6.Size = new System.Drawing.Size(283, 70);
|
this.groupBox6.Size = new System.Drawing.Size(283, 70);
|
||||||
@@ -1957,39 +1938,42 @@
|
|||||||
this.groupBox6.TabStop = false;
|
this.groupBox6.TabStop = false;
|
||||||
this.groupBox6.Text = "动作";
|
this.groupBox6.Text = "动作";
|
||||||
//
|
//
|
||||||
// button3
|
// btn_home
|
||||||
//
|
//
|
||||||
this.button3.Location = new System.Drawing.Point(198, 24);
|
this.btn_home.Location = new System.Drawing.Point(198, 24);
|
||||||
this.button3.Name = "button3";
|
this.btn_home.Name = "btn_home";
|
||||||
this.button3.Size = new System.Drawing.Size(75, 30);
|
this.btn_home.Size = new System.Drawing.Size(75, 30);
|
||||||
this.button3.TabIndex = 2;
|
this.btn_home.TabIndex = 2;
|
||||||
this.button3.Text = "回原点";
|
this.btn_home.Text = "回原点";
|
||||||
this.button3.UseVisualStyleBackColor = true;
|
this.btn_home.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_home.Click += new System.EventHandler(this.btn_home_Click);
|
||||||
//
|
//
|
||||||
// button2
|
// btn_stop
|
||||||
//
|
//
|
||||||
this.button2.Location = new System.Drawing.Point(104, 24);
|
this.btn_stop.Location = new System.Drawing.Point(104, 24);
|
||||||
this.button2.Name = "button2";
|
this.btn_stop.Name = "btn_stop";
|
||||||
this.button2.Size = new System.Drawing.Size(75, 30);
|
this.btn_stop.Size = new System.Drawing.Size(75, 30);
|
||||||
this.button2.TabIndex = 1;
|
this.btn_stop.TabIndex = 1;
|
||||||
this.button2.Text = "停止";
|
this.btn_stop.Text = "停止";
|
||||||
this.button2.UseVisualStyleBackColor = true;
|
this.btn_stop.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_stop.Click += new System.EventHandler(this.btn_stop_Click);
|
||||||
//
|
//
|
||||||
// button1
|
// btn_start
|
||||||
//
|
//
|
||||||
this.button1.Location = new System.Drawing.Point(10, 24);
|
this.btn_start.Location = new System.Drawing.Point(10, 24);
|
||||||
this.button1.Name = "button1";
|
this.btn_start.Name = "btn_start";
|
||||||
this.button1.Size = new System.Drawing.Size(75, 30);
|
this.btn_start.Size = new System.Drawing.Size(75, 30);
|
||||||
this.button1.TabIndex = 0;
|
this.btn_start.TabIndex = 0;
|
||||||
this.button1.Text = "开始";
|
this.btn_start.Text = "开始";
|
||||||
this.button1.UseVisualStyleBackColor = true;
|
this.btn_start.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_start.Click += new System.EventHandler(this.btn_start_Click);
|
||||||
//
|
//
|
||||||
// groupBox10
|
// groupBox10
|
||||||
//
|
//
|
||||||
this.groupBox10.Controls.Add(this.label48);
|
this.groupBox10.Controls.Add(this.label48);
|
||||||
this.groupBox10.Controls.Add(this.textBox4);
|
this.groupBox10.Controls.Add(this.textBox4);
|
||||||
this.groupBox10.Controls.Add(this.button10);
|
this.groupBox10.Controls.Add(this.btn_halt);
|
||||||
this.groupBox10.Controls.Add(this.button9);
|
this.groupBox10.Controls.Add(this.btn_run);
|
||||||
this.groupBox10.Controls.Add(this.checkBox4);
|
this.groupBox10.Controls.Add(this.checkBox4);
|
||||||
this.groupBox10.Controls.Add(this.checkBox3);
|
this.groupBox10.Controls.Add(this.checkBox3);
|
||||||
this.groupBox10.Controls.Add(this.checkBox2);
|
this.groupBox10.Controls.Add(this.checkBox2);
|
||||||
@@ -2016,23 +2000,25 @@
|
|||||||
this.textBox4.Size = new System.Drawing.Size(35, 21);
|
this.textBox4.Size = new System.Drawing.Size(35, 21);
|
||||||
this.textBox4.TabIndex = 5;
|
this.textBox4.TabIndex = 5;
|
||||||
//
|
//
|
||||||
// button10
|
// btn_halt
|
||||||
//
|
//
|
||||||
this.button10.Location = new System.Drawing.Point(94, 60);
|
this.btn_halt.Location = new System.Drawing.Point(94, 60);
|
||||||
this.button10.Name = "button10";
|
this.btn_halt.Name = "btn_halt";
|
||||||
this.button10.Size = new System.Drawing.Size(60, 23);
|
this.btn_halt.Size = new System.Drawing.Size(60, 23);
|
||||||
this.button10.TabIndex = 4;
|
this.btn_halt.TabIndex = 4;
|
||||||
this.button10.Text = "停止";
|
this.btn_halt.Text = "停止";
|
||||||
this.button10.UseVisualStyleBackColor = true;
|
this.btn_halt.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_halt.Click += new System.EventHandler(this.btn_halt_Click);
|
||||||
//
|
//
|
||||||
// button9
|
// btn_run
|
||||||
//
|
//
|
||||||
this.button9.Location = new System.Drawing.Point(13, 60);
|
this.btn_run.Location = new System.Drawing.Point(13, 60);
|
||||||
this.button9.Name = "button9";
|
this.btn_run.Name = "btn_run";
|
||||||
this.button9.Size = new System.Drawing.Size(60, 23);
|
this.btn_run.Size = new System.Drawing.Size(60, 23);
|
||||||
this.button9.TabIndex = 3;
|
this.btn_run.TabIndex = 3;
|
||||||
this.button9.Text = "运行";
|
this.btn_run.Text = "运行";
|
||||||
this.button9.UseVisualStyleBackColor = true;
|
this.btn_run.UseVisualStyleBackColor = true;
|
||||||
|
this.btn_run.Click += new System.EventHandler(this.btn_run_Click);
|
||||||
//
|
//
|
||||||
// checkBox4
|
// checkBox4
|
||||||
//
|
//
|
||||||
@@ -2154,8 +2140,6 @@
|
|||||||
private System.Windows.Forms.Button btnOpen;
|
private System.Windows.Forms.Button btnOpen;
|
||||||
private System.Windows.Forms.Label label2;
|
private System.Windows.Forms.Label label2;
|
||||||
private System.Windows.Forms.Label label1;
|
private System.Windows.Forms.Label label1;
|
||||||
private System.Windows.Forms.RadioButton rdoTCP;
|
|
||||||
private System.Windows.Forms.RadioButton rdoSimu;
|
|
||||||
private System.Windows.Forms.Button btnHalt;
|
private System.Windows.Forms.Button btnHalt;
|
||||||
private System.Windows.Forms.GroupBox grpMst;
|
private System.Windows.Forms.GroupBox grpMst;
|
||||||
private System.Windows.Forms.Label label16;
|
private System.Windows.Forms.Label label16;
|
||||||
@@ -2266,7 +2250,7 @@
|
|||||||
private System.Windows.Forms.GroupBox groupBox5;
|
private System.Windows.Forms.GroupBox groupBox5;
|
||||||
private System.Windows.Forms.GroupBox groupBox9;
|
private System.Windows.Forms.GroupBox groupBox9;
|
||||||
private System.Windows.Forms.GroupBox groupBox8;
|
private System.Windows.Forms.GroupBox groupBox8;
|
||||||
private System.Windows.Forms.Button button8;
|
private System.Windows.Forms.Button btn_movepose;
|
||||||
private System.Windows.Forms.CheckBox checkBox1;
|
private System.Windows.Forms.CheckBox checkBox1;
|
||||||
private System.Windows.Forms.TextBox textBox3;
|
private System.Windows.Forms.TextBox textBox3;
|
||||||
private System.Windows.Forms.TextBox textBox2;
|
private System.Windows.Forms.TextBox textBox2;
|
||||||
@@ -2275,19 +2259,19 @@
|
|||||||
private System.Windows.Forms.Label label45;
|
private System.Windows.Forms.Label label45;
|
||||||
private System.Windows.Forms.Label label44;
|
private System.Windows.Forms.Label label44;
|
||||||
private System.Windows.Forms.GroupBox groupBox7;
|
private System.Windows.Forms.GroupBox groupBox7;
|
||||||
private System.Windows.Forms.Button button7;
|
private System.Windows.Forms.Button btn_Y_Back;
|
||||||
private System.Windows.Forms.Button button6;
|
private System.Windows.Forms.Button btn_X_right;
|
||||||
private System.Windows.Forms.Button button5;
|
private System.Windows.Forms.Button btn_X_left;
|
||||||
private System.Windows.Forms.Button button4;
|
private System.Windows.Forms.Button btn_Y_Forward;
|
||||||
private System.Windows.Forms.GroupBox groupBox6;
|
private System.Windows.Forms.GroupBox groupBox6;
|
||||||
private System.Windows.Forms.Button button3;
|
private System.Windows.Forms.Button btn_home;
|
||||||
private System.Windows.Forms.Button button2;
|
private System.Windows.Forms.Button btn_stop;
|
||||||
private System.Windows.Forms.Button button1;
|
private System.Windows.Forms.Button btn_start;
|
||||||
private System.Windows.Forms.GroupBox groupBox10;
|
private System.Windows.Forms.GroupBox groupBox10;
|
||||||
private System.Windows.Forms.Label label48;
|
private System.Windows.Forms.Label label48;
|
||||||
private System.Windows.Forms.TextBox textBox4;
|
private System.Windows.Forms.TextBox textBox4;
|
||||||
private System.Windows.Forms.Button button10;
|
private System.Windows.Forms.Button btn_halt;
|
||||||
private System.Windows.Forms.Button button9;
|
private System.Windows.Forms.Button btn_run;
|
||||||
private System.Windows.Forms.CheckBox checkBox4;
|
private System.Windows.Forms.CheckBox checkBox4;
|
||||||
private System.Windows.Forms.CheckBox checkBox3;
|
private System.Windows.Forms.CheckBox checkBox3;
|
||||||
private System.Windows.Forms.CheckBox checkBox2;
|
private System.Windows.Forms.CheckBox checkBox2;
|
||||||
|
|||||||
+57
-16
@@ -3,7 +3,9 @@ using System.Diagnostics;
|
|||||||
using System.Runtime.InteropServices;
|
using System.Runtime.InteropServices;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using ACS.SPiiPlusNET;
|
using ACS.SPiiPlusNET;
|
||||||
|
using HexcalMC.Base;
|
||||||
using HexcalMC.Properties;
|
using HexcalMC.Properties;
|
||||||
|
|
||||||
// ACS .NET Library
|
// ACS .NET Library
|
||||||
|
|
||||||
namespace HexcalMC
|
namespace HexcalMC
|
||||||
@@ -38,11 +40,11 @@ namespace HexcalMC
|
|||||||
private int _mNValues, _mNOutputState;
|
private int _mNValues, _mNOutputState;
|
||||||
private object _mObjReadVar;
|
private object _mObjReadVar;
|
||||||
|
|
||||||
public Motion()
|
public Motion(Api api)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
_acs = new Api(); //初始化 ACS运动控制类
|
_acs = api; //初始化 ACS运动控制类
|
||||||
|
|
||||||
// Register Event 注册时间
|
// Register Event 注册时间
|
||||||
_acs.PHYSICALMOTIONEND += ACS_PHYSICALMOTIONEND;
|
_acs.PHYSICALMOTIONEND += ACS_PHYSICALMOTIONEND;
|
||||||
@@ -129,7 +131,6 @@ namespace HexcalMC
|
|||||||
|
|
||||||
private void Form1_Load(object sender, EventArgs e)
|
private void Form1_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
rdoTCP.Checked = true;
|
|
||||||
btnOpen.Enabled = true;
|
btnOpen.Enabled = true;
|
||||||
btnClose.Enabled = false;
|
btnClose.Enabled = false;
|
||||||
|
|
||||||
@@ -237,18 +238,17 @@ namespace HexcalMC
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (rdoTCP.Checked)
|
if (_acs.IsConnected)
|
||||||
|
{
|
||||||
|
DebugDfn.AddLogText("运动平台已连接");
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
// TCP/IP (Ethernet)
|
// TCP/IP (Ethernet)
|
||||||
_acs.OpenCommEthernetTCP(
|
_acs.OpenCommEthernetTCP(
|
||||||
txtIP.Text, // IP Address (Default : 10.0.0.100)
|
txtIP.Text, // IP Address (Default : 10.0.0.100)
|
||||||
Convert.ToInt32(txtPort.Text.Trim())); // TCP/IP Port nubmer (default : 701)
|
Convert.ToInt32(txtPort.Text.Trim())); // TCP/IP Port nubmer (default : 701)
|
||||||
}
|
}
|
||||||
else if (rdoSimu.Checked)
|
|
||||||
{
|
|
||||||
// Simmulation mode
|
|
||||||
_acs.OpenCommSimulator();
|
|
||||||
}
|
|
||||||
|
|
||||||
_mBConnected = true;
|
_mBConnected = true;
|
||||||
|
|
||||||
@@ -263,11 +263,11 @@ namespace HexcalMC
|
|||||||
// When we are using multi axes command (ex) ToPointM, HaltM, ...), we need to allocate the array size more 1.
|
// When we are using multi axes command (ex) ToPointM, HaltM, ...), we need to allocate the array size more 1.
|
||||||
// Because of the last delimeter (-1)
|
// Because of the last delimeter (-1)
|
||||||
_mArrAxisList = new Axis[_mNTotalAxis + 1];
|
_mArrAxisList = new Axis[_mNTotalAxis + 1];
|
||||||
for (i = 0; i < _mNTotalAxis; i++)
|
//for (i = 0; i < _mNTotalAxis; i++)
|
||||||
{
|
//{
|
||||||
cboAxisNo.Items.Add(i.ToString());
|
// cboAxisNo.Items.Add(i.ToString());
|
||||||
_mArrAxisList[i] = (Axis)i;
|
// _mArrAxisList[i] = (Axis)i;
|
||||||
}
|
//}
|
||||||
|
|
||||||
// Insert '-1' at the last
|
// Insert '-1' at the last
|
||||||
_mArrAxisList[_mNTotalAxis] = Axis.ACSC_NONE;
|
_mArrAxisList[_mNTotalAxis] = Axis.ACSC_NONE;
|
||||||
@@ -664,7 +664,7 @@ namespace HexcalMC
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 정방향 이동 동작
|
|
||||||
private void BtnJogPos_MouseDown(object sender, MouseEventArgs e)
|
private void BtnJogPos_MouseDown(object sender, MouseEventArgs e)
|
||||||
{
|
{
|
||||||
double lfVelocity = 0.0f;
|
double lfVelocity = 0.0f;
|
||||||
@@ -852,7 +852,7 @@ namespace HexcalMC
|
|||||||
|
|
||||||
private void BtnEventMotionEnd_Click(object sender, EventArgs e)
|
private void BtnEventMotionEnd_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
_acs.PHYSICALMOTIONEND +=ACS_PHYSICALMOTIONEND;
|
_acs.PHYSICALMOTIONEND += ACS_PHYSICALMOTIONEND;
|
||||||
_acs.EnableEvent(Interrupts.ACSC_INTR_PHYSICAL_MOTION_END);
|
_acs.EnableEvent(Interrupts.ACSC_INTR_PHYSICAL_MOTION_END);
|
||||||
lstLog.Items.Add("PHYSICAL_MOTION_END event enabled");
|
lstLog.Items.Add("PHYSICAL_MOTION_END event enabled");
|
||||||
}
|
}
|
||||||
@@ -889,6 +889,47 @@ namespace HexcalMC
|
|||||||
lstLog.Items.Add("PROGRAM_END event enabled");
|
lstLog.Items.Add("PROGRAM_END event enabled");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void btn_movepose_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btn_start_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btn_stop_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btn_home_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btn_X_left_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btn_X_right_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btn_Y_Forward_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btn_Y_Back_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btn_run_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
private void btn_halt_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
private void ACS_PROGRAMEND(BufferMasks buffer)
|
private void ACS_PROGRAMEND(BufferMasks buffer)
|
||||||
{
|
{
|
||||||
int bit = 0x01;
|
int bit = 0x01;
|
||||||
|
|||||||
@@ -1148,7 +1148,7 @@
|
|||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>176</value>
|
<value>77</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
|
|||||||
+9
-6
@@ -9,18 +9,21 @@ using static Telerik.WinControls.UI.Export.ExportSettings;
|
|||||||
//
|
//
|
||||||
//
|
//
|
||||||
//开发说明
|
//开发说明
|
||||||
// V0.1 2023/04/10
|
// V0.1 2024/03/1
|
||||||
//---------------------------------------
|
//---------------------------------------
|
||||||
//1、初版构建
|
//1、初版构建
|
||||||
//2、调用流程: 开启TCP服务端、连接到平台轴启用—》hexcal软件连接,开启校准通讯流程—》移动至到位后反馈—》hexcal逻辑处理—》hexcal校准完成关系—》软件关闭
|
//2、调用流程: 开启TCP服务端、连接到平台轴启用—》hexcal软件连接,开启校准通讯流程—》移动至到位后反馈—》hexcal逻辑处理—》hexcal校准完成关系—》软件关闭
|
||||||
//
|
//
|
||||||
|
// V0.2 2024/03/7
|
||||||
|
//---------------------------------------
|
||||||
|
//1、取消上电自动连接
|
||||||
|
//2、优化运动窗体间传递 运动平台对象
|
||||||
|
//3、增加平台位置动态显示
|
||||||
|
//4、修复运动到位判断逻辑
|
||||||
|
//5、增加演示模式按钮
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//
|
//6、点击停止报错,运动测试界面问题?
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("Hexagon HMI")]
|
[assembly: AssemblyCompany("Hexagon HMI")]
|
||||||
[assembly: AssemblyProduct("直线电机平台补偿软件(HexcalMC)")]
|
[assembly: AssemblyProduct("直线电机平台补偿软件(HexcalMC)")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2023 Hexagon,Inc")]
|
[assembly: AssemblyCopyright("Copyright © 2024 Hexagon,Inc")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
@@ -19,5 +19,5 @@ using System.Runtime.InteropServices;
|
|||||||
[assembly: Guid("6215eb36-92d3-4f96-9331-1e8cbda161f4")]
|
[assembly: Guid("6215eb36-92d3-4f96-9331-1e8cbda161f4")]
|
||||||
|
|
||||||
|
|
||||||
[assembly: AssemblyVersion("1.0.0.0")]
|
[assembly: AssemblyVersion("0.0.2")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
[assembly: AssemblyFileVersion("0.0.2")]
|
||||||
|
|||||||
+30
@@ -70,6 +70,26 @@ namespace HexcalMC.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap demo_show {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("demo_show", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap demo_show_128 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("demo_show_128", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -110,6 +130,16 @@ namespace HexcalMC.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap mothion_64 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("mothion_64", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -112,35 +112,43 @@
|
|||||||
<value>2.0</value>
|
<value>2.0</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<resheader name="reader">
|
<resheader name="reader">
|
||||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<data name="HexagonNew" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="HexagonNew" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Images\HexagonNew.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Images\HexagonNew.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</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>
|
||||||
<data name="On" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="On" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Images\On.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Images\On.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</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="Error" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="Error" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Images\Error.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Images\Error.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<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="demo_show_128" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\demo_show_128.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
<data name="Off" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="Off" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Images\Off.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Images\Off.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="motion" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="motion" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\motion.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\motion.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="about" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="help" 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>
|
<value>..\Resources\help.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
<data name="demo_show" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<data name="Hexagon" 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>
|
||||||
<value>..\Resources\Hexagon.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
</data>
|
||||||
|
<data name="mothion_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\mothion_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
||||||
Reference in New Issue
Block a user