private void InitAxises() { if (!VsmdController.GetVsmdController().IsInitialized()) { StatusBar.DisplayMessage(MessageType.Error, "设备未连接!"); DisableAllControls(); return; } VsmdInfoSync ax = VsmdController.GetVsmdController().GetAxis(VsmdAxis.X); txtCidX.Text = ax.Cid.ToString(); txtPosX.Text = ax.curPos.ToString(); txtSpeedX.Text = ax.GetAttributeValue(VsmdAttribute.Spd).ToString(); txtZsdX.Text = ax.GetAttributeValue(VsmdAttribute.Zsd).ToString(); VsmdInfoSync ay = VsmdController.GetVsmdController().GetAxis(VsmdAxis.Y); txtCidY.Text = ay.Cid.ToString(); txtPosY.Text = ay.curPos.ToString(); txtSpeedY.Text = ay.GetAttributeValue(VsmdAttribute.Spd).ToString(); txtZsdY.Text = ay.GetAttributeValue(VsmdAttribute.Zsd).ToString(); VsmdInfoSync az = VsmdController.GetVsmdController().GetAxis(VsmdAxis.Z); txtCidZ.Text = az.Cid.ToString(); txtPosZ.Text = az.curPos.ToString(); txtSpeedZ.Text = az.GetAttributeValue(VsmdAttribute.Spd).ToString(); txtZsdZ.Text = az.GetAttributeValue(VsmdAttribute.Zsd).ToString(); }
private async void GoHome() { VsmdInfoSync ax = VsmdController.GetVsmdController().GetAxis(VsmdAxis.X); var speedX = ax.GetAttributeValue(VsmdAttribute.Spd); var zsdX = ax.GetAttributeValue(VsmdAttribute.Zsd); VsmdInfoSync ay = VsmdController.GetVsmdController().GetAxis(VsmdAxis.Y); var speedY = ay.GetAttributeValue(VsmdAttribute.Spd); var zsdY = ay.GetAttributeValue(VsmdAttribute.Zsd); VsmdInfoSync az = VsmdController.GetVsmdController().GetAxis(VsmdAxis.Z); var speedZ = az.GetAttributeValue(VsmdAttribute.Spd); var zsdZ = az.GetAttributeValue(VsmdAttribute.Zsd); await VsmdController.GetVsmdController().SetZsd(VsmdAxis.Z, zsdZ); await VsmdController.GetVsmdController().ZeroStart(VsmdAxis.Z); await VsmdController.GetVsmdController().SetZsd(VsmdAxis.X, zsdX); VsmdController.GetVsmdController().ZeroStart(VsmdAxis.X); await VsmdController.GetVsmdController().SetZsd(VsmdAxis.Y, zsdY); await VsmdController.GetVsmdController().ZeroStart(VsmdAxis.Y); //set positive limit register ax.cfgPsr(3); ay.cfgPsr(3); az.cfgPsr(3); }
public void Dispose() { if (m_vsmd != null) { m_axisX = null; m_axisY = null; m_axisZ = null; m_vsmd.closeSerialPort(); m_initialized = false; } }
public VsmdInfoSync GetAxis(VsmdAxis axis) { VsmdInfoSync ret = null; switch (axis) { case VsmdAxis.X: ret = m_axisX; break; case VsmdAxis.Y: ret = m_axisY; break; case VsmdAxis.Z: ret = m_axisZ; break; default: break; } return(ret); }
public async Task <InitResult> Init(string port, int baudrate) { if (m_initialized && port == m_port && baudrate == m_baudrate) { return(new InitResult() { Message = "设备连接成功!", IsSuccess = true }); } m_port = port; m_baudrate = baudrate; if (m_initialized) { m_vsmd.closeSerialPort(); } m_vsmd = new VsmdSync(); bool ret = m_vsmd.openSerialPort(port, baudrate); if (!ret) { return(new InitResult() { Message = "打开串口失败!", IsSuccess = false }); } m_vsmd.OutputCommandLog = GeneralSettings.GetInstance().OutputCommandLog; m_vsmd.OutputStsCommandLog = GeneralSettings.GetInstance().OutputStsCommandLog; List <string> errAxis = new List <string>(); m_axisX = m_vsmd.createVsmdInfo(1); await m_axisX.CheckAxisIsOnline(); if (m_axisX.isOnline) { await m_axisX.enable(); m_axisX.flgAutoUpdate = true; await m_axisX.cfg(); } else { errAxis.Add("X"); } m_axisY = m_vsmd.createVsmdInfo(2); await m_axisY.CheckAxisIsOnline(); if (m_axisY.isOnline) { await m_axisY.enable(); m_axisY.flgAutoUpdate = true; await m_axisY.cfg(); } else { errAxis.Add("Y"); } m_axisZ = m_vsmd.createVsmdInfo(3); await m_axisZ.CheckAxisIsOnline(); if (m_axisY.isOnline) { await m_axisZ.enable(); m_axisZ.flgAutoUpdate = true; m_axisZ.SetMaxWaitTimeForMove(3); await m_axisZ.cfg(); } else { errAxis.Add("Z"); } if (errAxis.Count <= 0) { m_initialized = true; } string errMsg = ""; if (errAxis.Count > 0) { errMsg = "设备 "; for (int i = 0; i < errAxis.Count; i++) { if (i > 0) { errMsg += ", "; } errMsg += errAxis[i]; } errMsg += "连接失败!"; } if (!m_initialized) { m_vsmd.closeSerialPort(); m_vsmd = null; } return(new InitResult() { IsSuccess = m_initialized, Message = errMsg }); }