private void buttonMoveStart_Click(object sender, EventArgs e) { if (Platform == null) { return; } buttonStartMove.Enabled = false; Cursor = Cursors.WaitCursor; try { var pos = Platform.Positions.FirstOrDefault(p => p.Name == comboBoxPos.Text.Split('-')[1]); if (pos != null) { //get obj pos var curpos = Platform.CurPos; var objpos = textBoxMovePos.Select(t => double.Parse(t.Text)).Take(curpos.Length).ToArray(); for (int i = 0; i < curpos.Length; i++) { if (!checkBoxEnable[i].Checked) { objpos[i] = curpos[i]; } } if (comboBoxMoveMode.Text == "MoveP") { if (MessageBox.Show($"开始 MoveP 运动 {string.Join(", ", curpos.Select(p => p.ToString("F3")))} 到 {string.Join(", ", objpos.Select(p => p.ToString("F3")))} ?", Platform.Name, MessageBoxButtons.YesNo) != DialogResult.Yes) { return; } var ret = Platform.ExitAuto().MoveAbs(objpos, timeout: 10000, checkLimit: checkBoxCheckLimit.Checked); if (!ret) { MessageBox.Show($"MoveP Error:{Platform.ShowStatus()}!", Platform.Name, MessageBoxButtons.OK, MessageBoxIcon.Error); } } else if (comboBoxMoveMode.Text == "Jump") { var jh = double.Parse(comboBoxJumpHeight.Text); if (MessageBox.Show($"开始 Jump 缩回高度 {jh:F3} 运动 {string.Join(", ", curpos.Select(p => p.ToString("F3")))} 到 {string.Join(", ", objpos.Select(p => p.ToString("F3")))} ?", Platform.Name, MessageBoxButtons.YesNo) != DialogResult.Yes) { return; } var ret = Platform.ExitAuto().Jump(objpos, jh, timeout: 10000, checkLimit: checkBoxCheckLimit.Checked); if (!ret) { MessageBox.Show($"Jump Error:{Platform.ShowStatus()}!", Platform.Name, MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show($"运动模式 Error:{comboBoxMoveMode.Text}!", Platform.Name, MessageBoxButtons.OK, MessageBoxIcon.Error); } } } catch (Exception ex) { MessageBox.Show($"{Platform.ShowStatus()}:{ex.Message}"); } finally { buttonStartMove.Enabled = true; Cursor = Cursors.Default; } }
private void buttonManual_Click(object sender, EventArgs e) { var btn = sender as Button; try { if (btn != null) { btn.Enabled = false; Cursor = Cursors.WaitCursor; if (btn.Text.Contains("+")) { var i = Array.IndexOf(buttonMovePlusName, btn.Text); if (i >= 0 && _platform.Axis[i] != null) { var axis = _platform.Axis[i]; var step = double.Parse(comboBox_Step[i].Text); bool isCheckLimit = true; if (step > 10 || axis.GetMel() || axis.GetPel()) { if (MessageBox.Show($"{axis.Name} 开始移动 {step} mm 正限位 {axis.GetPel()} 负限位 {axis.GetMel()}?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) { return; } isCheckLimit = false; } var ret = _platform.ExitAuto().MoveRel(i, step, 10000, isCheckLimit); if (!ret) { MessageBox.Show($"{axis.Name} 移动异常: {_platform.ShowStatus()} {axis.Error}!"); } } } else if (btn.Text.Contains("-")) { var i = Array.IndexOf(buttonMoveMinusName, btn.Text); if (i >= 0 && _platform.Axis[i] != null) { var axis = _platform.Axis[i]; var step = double.Parse(comboBox_Step[i].Text); var isCheckLimit = true; if (step > 10 || axis.GetMel() || axis.GetPel()) { if (MessageBox.Show($"{axis.Name} 开始移动 -{step} mm 正限位 {axis.GetPel()} 负限位 {axis.GetMel()}?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No) { return; } isCheckLimit = false; } var ret = _platform.ExitAuto().MoveRel(i, -step, 10000, isCheckLimit); if (!ret) { MessageBox.Show($"{axis.Name} 移动异常: {_platform.ShowStatus()} {axis.Error}!"); } } } } } catch (Exception ex) { Cursor = Cursors.Default; MessageBox.Show($"Move Error:{ex.Message}"); } finally { Cursor = Cursors.Default; if (btn != null) { btn.Enabled = true; } } }