private void button_clear_Click(object sender, EventArgs e) { for (int i = 0; i < 4; i++) { Dmc1000_Dll.d1000_set_command_pos(i, 0); } }
private void button_stop_Click(object sender, EventArgs e) { if (Dmc1000_Dll.d1000_check_done(Model.XCH) == 0 || //在运行 Dmc1000_Dll.d1000_check_done(Model.YCH) == 0 || Dmc1000_Dll.d1000_check_done(Model.ZCH) == 0 || Dmc1000_Dll.d1000_check_done(Model.UCH) == 0) {//当减速时间为0时,为急停效果 Dmc1000_Dll.d1000_decel_stop(Model.XCH); Dmc1000_Dll.d1000_decel_stop(Model.YCH); Dmc1000_Dll.d1000_decel_stop(Model.ZCH); Dmc1000_Dll.d1000_decel_stop(Model.UCH); return; } }
public void UpdateControl() { checkBoxPMode.Text = (checkBoxPMode.Checked ? "脉冲+方向" : "脉冲+脉冲"); checkBoxPLog.Text = (checkBoxPLog.Checked ? "脉冲下降沿有效" : "脉冲上升沿有效"); checkBoxSD.Text = (checkBoxSD.Checked ? "减速:使能" : "减速:禁止"); checkBoxDir.Text = (checkBoxDir.Checked ? "驱动方向:正" : "驱动方向:负"); checkBoxOut1.Text = (checkBoxOut1.Checked ? "OUT1:高电平" : "OUT1:低电平"); Dmc1000_Dll.d1000_out_bit(1, checkBoxOut1.Checked ? 1 : 0); checkBoxOut2.Text = (checkBoxOut2.Checked ? "OUT2:高电平" : "OUT2:低电平"); Dmc1000_Dll.d1000_out_bit(2, checkBoxOut2.Checked ? 1 : 0); checkBoxOut3.Text = (checkBoxOut3.Checked ? "OUT3:高电平" : "OUT3:低电平"); Dmc1000_Dll.d1000_out_bit(3, checkBoxOut3.Checked ? 1 : 0); checkBoxOut4.Text = (checkBoxOut4.Checked ? "OUT4:高电平" : "OUT4:低电平"); Dmc1000_Dll.d1000_out_bit(4, checkBoxOut4.Checked ? 1 : 0); }
private void button_start_Click(object sender, EventArgs e) { UpdateControl(); if (Dmc1000_Dll.d1000_check_done(Model.nAxis) == 0) { return; //若在运行,则返回 } Dmc1000_Dll.d1000_set_sd(Model.nAxis, checkBoxSD.Checked ? 1 : 0); int nDir = checkBoxDir.Checked ? 1 : -1; int nStart = Convert.ToInt16(textBoxOSpd.Text); int nMSpeed = Convert.ToInt16(textBoxMSpd.Text); double nTAcc = Convert.ToDouble(textBoxTAcc.Text); int nPulse = Convert.ToInt16(textBoxPulse.Text); if (checkBoxPMode.Checked) //脉冲+方向 { Dmc1000_Dll.d1000_set_pls_outmode(Model.nAxis, checkBoxPLog.Checked ? 1 : 0); //1-pulse/dir 模式,脉冲下降沿有效;0-pulse/dir 模式,脉冲上升沿有效 } else//脉冲+脉冲 { Dmc1000_Dll.d1000_set_pls_outmode(Model.nAxis, checkBoxPLog.Checked ? 3 : 2);//3-CW/CCW 模式,脉冲下降沿有效;2-CW/CCW 模式,脉冲上升沿有效 } if (radioButtonM.Checked)//定长运动 { if (radioButtonS.Checked) { Dmc1000_Dll.d1000_start_s_move(Model.nAxis, nPulse * nDir, nStart, nMSpeed, nTAcc);//S形 } else if (radioButtonT.Checked) { Dmc1000_Dll.d1000_start_t_move(Model.nAxis, nPulse * nDir, nStart, nMSpeed, nTAcc);//T形 } } }
//动态更新UI private void DynamicUI(object sender, EventArgs e) { string ReadContent = bll.BLL_GetDalLayer().IniFile.ReadString(Model.m_szAutoMachineName + "_AccessControl", "AccessEnable", "", Directory.GetCurrentDirectory() + "/Setting.ini"); if (Model.m_ProgramStatus == "2")//打开 { this.ProductProject_textBox.Text = Model.m_szProjectName; bll.BLL_LoadProjectInfo(); if (Model.m_szProjectDatabasePath == string.Empty) { MessageBox.Show("加载程式ROI坐标失败,请先打开机种!"); return; } } if (Model.m_ProgramStatus == "3")//修改 { this.ProductProject_textBox.Text = Model.m_szProjectName; bll.BLL_LoadProjectInfo(); if (Model.m_szProjectDatabasePath == string.Empty) { MessageBox.Show("加载程式ROI坐标失败,请先打开机种!"); return; } } Model.m_ProgramStatus = "-1"; /////////////////////////////////////////////////////////////////////////////////////////////////////////// label_position.Text = "状态:" + Convert.ToString(Dmc1000_Dll.d1000_get_axis_status(Model.XCH)); label_position.Text = label_position.Text + "," + Convert.ToString(Dmc1000_Dll.d1000_get_axis_status(Model.YCH)); label_position.Text = label_position.Text + "," + Convert.ToString(Dmc1000_Dll.d1000_get_axis_status(Model.ZCH)); label_position.Text = label_position.Text + "," + Convert.ToString(Dmc1000_Dll.d1000_get_axis_status(Model.UCH)); label_position.Text = label_position.Text + " 位置:" + Convert.ToString(Dmc1000_Dll.d1000_get_command_pos(Model.XCH)); label_position.Text = label_position.Text + "," + Convert.ToString(Dmc1000_Dll.d1000_get_command_pos(Model.YCH)); label_position.Text = label_position.Text + "," + Convert.ToString(Dmc1000_Dll.d1000_get_command_pos(Model.ZCH)); label_position.Text = label_position.Text + "," + Convert.ToString(Dmc1000_Dll.d1000_get_command_pos(Model.UCH)); label_input.Text = "IN1:" + Convert.ToString(Dmc1000_Dll.d1000_in_bit(1)) + ", IN2:" + Convert.ToString(Dmc1000_Dll.d1000_in_bit(2)) + ", IN3:" + Convert.ToString(Dmc1000_Dll.d1000_in_bit(3)) + ", IN4:" + Convert.ToString(Dmc1000_Dll.d1000_in_bit(4)); //光标处的图像坐标 Point LocalMousePosition = new Point(); Point ZoomLocalMousePosition = new Point(); LocalMousePosition = VideoWindow_pictureBox.PointToClient(Cursor.Position); // toolStripStatusLabel1.Text = "X=" + LocalMousePosition.X + "," + "Y=" + LocalMousePosition.Y; ZoomLocalMousePosition = TranslateZoomMousePosition(LocalMousePosition); ImgPosition_toolStripStatusLabel.Text = "图像坐标: ( " + ZoomLocalMousePosition.Y + " , " + ZoomLocalMousePosition.X + " )"; }