private void timer1_Tick_1(object sender, EventArgs e) { label1.Text = "X轴速度:" + Convert.ToString((Dmc2410.d2410_read_current_speed(0))) + " X轴位置:" + Convert.ToString((Dmc2410.d2410_get_position(0))) + "\r\n" + "Y轴速度:" + Convert.ToString((Dmc2410.d2410_read_current_speed(1))) + " Y轴位置:" + Convert.ToString((Dmc2410.d2410_get_position(1))) + "\r\n" + "Z轴速度:" + Convert.ToString((Dmc2410.d2410_read_current_speed(2))) + " Z轴位置:" + Convert.ToString((Dmc2410.d2410_get_position(2))) + "\r\n" + "U轴速度:" + Convert.ToString((Dmc2410.d2410_read_current_speed(3))) + " U轴位置:" + Convert.ToString((Dmc2410.d2410_get_position(3))); }
private void button1_Click(object sender, EventArgs e) { Min_Vel = Convert.ToDouble(Start_speed.Text); Max_Vel = Convert.ToDouble(Max_speed.Text); Tac = Convert.ToDouble(Tacc.Text); Dist = Convert.ToInt16(Dist_pos.Text); S_Tac = Convert.ToDouble(S_Tacc.Text); Dmc2410.d2410_set_pulse_outmode(0, 0); //设置控制卡轴的脉冲输出模式 Dmc2410.d2410_set_pulse_outmode(1, 0); //Dmc2410.d2410_set_profile(0, 200, 2000, Tac, Tac); //Dmc2410.d2410_t_pmove(0, 5000, 0); if (T_S == 0) //T型曲线运动 { Dmc2410.d2410_set_profile(nAxis, Min_Vel, Max_Vel, Tac, Tac); Dmc2410.d2410_t_pmove(nAxis, DIR * Dist, 0); } else { Dmc2410.d2410_set_st_profile(nAxis, Min_Vel, Max_Vel, Tac, Tac, S_Tac, S_Tac); Dmc2410.d2410_s_pmove(nAxis, DIR * Dist, 0); } }
private void button5_Click(object sender, EventArgs e) { double V = Convert.ToDouble(textBox1.Text); Dmc2410.d2410_variety_speed_range(nAxis, 1, 10000000); //变速使能 Dmc2410.d2410_change_speed(nAxis, V); }
private void button4_Click(object sender, EventArgs e) { Dmc2410.d2410_set_position(0, 0); Dmc2410.d2410_set_position(1, 0); Dmc2410.d2410_set_position(2, 0); Dmc2410.d2410_set_position(3, 0); }
private void button1_Click(object sender, EventArgs e) { int dist1, dist2, dist3, dist4; int nSpeed, mSpeed; double Tac, Tdc; nSpeed = Convert.ToInt16(Start_Speed.Text); mSpeed = int.Parse(Run_Speed.Text); Tac = double.Parse(Tacc.Text); Tdc = Convert.ToDouble(Tdec.Text); dist1 = int.Parse(Dist_X.Text); dist2 = int.Parse(Dist_Y.Text); dist3 = int.Parse(Dist_Z.Text); dist4 = int.Parse(Dist_U.Text); ushort[] Axis = { 0, 1, 2 }; Dmc2410.d2410_set_vector_profile(nSpeed, mSpeed, Tac, Tdc); if (XY.Checked) { Dmc2410.d2410_t_line2(0, dist1, 1, dist2, 0); } else if (XYZ.Checked) { Dmc2410.d2410_t_line3(ref Axis[0], dist1, dist2, dist3, 0); } else if (XYZU.Checked) { Dmc2410.d2410_t_line4(0, dist1, dist2, dist3, dist4, 0); } }
private void timer1_Tick(object sender, EventArgs e) { label1.Text = "输入1口:" + Convert.ToString(Dmc2410.d2410_read_inbit(0, 1)) + " 输入2口:" + Convert.ToString(Dmc2410.d2410_read_inbit(0, 2)) + " 输入3口:" + Convert.ToString(Dmc2410.d2410_read_inbit(0, 3)) + " 输入4口:" + Convert.ToString(Dmc2410.d2410_read_inbit(0, 4)); label2.Text = "X轴原点:" + Convert.ToString(Dmc2410.d2410_axis_io_status(0) & (2 ^ 14)); }
private void button5_Click(object sender, EventArgs e) { for (ushort q = 0; q < 4; q++) { Dmc2410.d2410_set_encoder(q, 0); } //清空计数器 }
private void timer1_Tick(object sender, EventArgs e) { int state = 256; temstate = Dmc2410.d2410_get_latch_flag(useCard); if ((state & temstate) == state) { textBox1.Text = textBox1.Text + "\r\n" + "X= " + Convert.ToString(Dmc2410.d2410_get_latch_value(0)) + " " + "Y= " + Convert.ToString(Dmc2410.d2410_get_latch_value(1)) + " " + "Z= " + Convert.ToString(Dmc2410.d2410_get_latch_value(2)) + " " + "U= " + Convert.ToString(Dmc2410.d2410_get_latch_value(3)); } Dmc2410.d2410_reset_latch_flag(0); //获取位置 POS1.Text = Convert.ToString(Dmc2410.d2410_get_position(0)); POS2.Text = Convert.ToString(Dmc2410.d2410_get_position(1)); POS3.Text = Convert.ToString(Dmc2410.d2410_get_position(2)); POS4.Text = Convert.ToString(Dmc2410.d2410_get_position(3)); ENCODER1.Text = Convert.ToString(Dmc2410.d2410_get_encoder(0)); ENCODER2.Text = Convert.ToString(Dmc2410.d2410_get_encoder(1)); ENCODER3.Text = Convert.ToString(Dmc2410.d2410_get_encoder(2)); ENCODER4.Text = Convert.ToString(Dmc2410.d2410_get_encoder(3)); V1.Text = Convert.ToString(Dmc2410.d2410_read_current_speed(0)); V2.Text = Convert.ToString(Dmc2410.d2410_read_current_speed(1)); V3.Text = Convert.ToString(Dmc2410.d2410_read_current_speed(2)); V4.Text = Convert.ToString(Dmc2410.d2410_read_current_speed(3)); }
private void timer1_Tick(object sender, EventArgs e) { label1.Text = "X轴速度:" + Convert.ToString((Dmc2410.d2410_read_current_speed(0))) + " X轴位置:" + Convert.ToString((Dmc2410.d2410_get_position(0))) + "\r\n" + "Y轴速度:" + Convert.ToString((Dmc2410.d2410_read_current_speed(1))) + " Y轴位置:" + Convert.ToString((Dmc2410.d2410_get_position(1))) + "\r\n" + "Z轴速度:" + Convert.ToString((Dmc2410.d2410_read_current_speed(2))) + " Z轴位置:" + Convert.ToString((Dmc2410.d2410_get_position(2))) + "\r\n" + "U轴速度:" + Convert.ToString((Dmc2410.d2410_read_current_speed(3))) + " U轴位置:" + Convert.ToString((Dmc2410.d2410_get_position(3))) + "\r\n" + "比较输出端口1状态:" + Convert.ToString(Dmc2410.d2410_read_CMP_PIN(nAxis)) + "\r\n" + "比较输出端口2状态:" + Convert.ToString(Dmc2410.d2410_read_outbit(0, 17)); }
private void Form1_Load(object sender, EventArgs e) { int n; n = Dmc2410.d2410_board_init(); //初始化控制卡 if (n < 1 || n > 8) { MessageBox.Show("未找到控制卡", "出错"); } }
private void button3_Click(object sender, EventArgs e) { double Tdc = Convert.ToDouble(Tdec.Text); Dmc2410.d2410_decel_stop(0, Tdc); Dmc2410.d2410_decel_stop(1, Tdc); Dmc2410.d2410_decel_stop(2, Tdc); Dmc2410.d2410_decel_stop(3, Tdc); }
private void button1_Click(object sender, EventArgs e) { for (ushort q = 0; q < 4; q++) { Dmc2410.d2410_counter_config(q, 0); Dmc2410.d2410_set_profile(q, 100, 1000, 0.1, 0.1); Dmc2410.d2410_t_vmove(q, 1); // 1正向运动,0负向运动 } }
public void StopAxis(ushort uAxis) { try { //readWrite.AcquireWriterLock (50); Dmc2410.d2410_imd_stop(uAxis); //readWrite.ReleaseWriterLock (); } catch { } }
public void SevoOn(ushort uAxis, ushort on_off) { try { readWrite.AcquireWriterLock(50); Dmc2410.d2410_write_SEVON_PIN(uAxis, on_off); readWrite.ReleaseWriterLock(); } catch { } }
public void Initialize() { Console.WriteLine("Initializing the DMC2410 motion control card...\n\n"); Dmc2410.d2410_set_pulse_outmode(usAxisMark, 5); //Set Low Level effective? Dmc2410.d2410_config_ALM_PIN(usAxisMark, 1, 0); //ALM signal setting Dmc2410.d2410_config_INP_PIN(usAxisMark, 1, 0); //INP signal setting Dmc2410.d2410_counter_config(usAxisMark, 3); //Input pulse counter Dmc2410.d2410_write_SEVON_PIN(usAxisMark, 0); //Enable axis Dmc2410.d2410_config_ERC_PIN(usAxisMark, 0, 0, 7, 0); //ERC signal setting }
public void Write_Out_Bit(ushort cardno, ushort bitno, ushort on_off) { try { readWrite.AcquireWriterLock(50); Dmc2410.d2410_write_outbit(cardno, bitno, on_off); readWrite.ReleaseWriterLock(); } catch { } }
public void Jog(ushort userAxis, double strspeed, double maxspeed, double tacc, double tdcc, ushort uDir) { try { readWrite.AcquireWriterLock(50); Dmc2410.d2410_set_st_profile(userAxis, strspeed, maxspeed, tacc, tdcc, 0.01, 0.01); Dmc2410.d2410_s_vmove(userAxis, uDir); readWrite.ReleaseWriterLock(); } catch { } }
public bool CheckDone() { if (Dmc2410.d2410_check_done(usAxisMark) == 1) { return(true); } else { return(false); } }
private void button1_Click(object sender, EventArgs e) { double SpeedLimit; ushort i; for ( i = 0; i < 4; i++) { Dmc2410.d2410_set_handwheel_inmode(i, InputMode, countdir); } SpeedLimit = Convert.ToDouble(textBox1.Text); Dmc2410.d2410_handwheel_move(i, SpeedLimit); }
public void SetAxisSevon(bool status)//使能 { if (status) { Dmc2410.d2410_write_SEVON_PIN(usAxisMark, (ushort)0); } else { Dmc2410.d2410_write_SEVON_PIN(usAxisMark, (ushort)1); } }
public ushort CheckAxisDone(ushort uAxis) { ushort iValue = 0; try { readWrite.AcquireReaderLock(50); iValue = Dmc2410.d2410_check_done(uAxis); readWrite.ReleaseReaderLock(); } catch { } return(iValue); }
private void checkBox4_CheckedChanged(object sender, EventArgs e) { if (checkBox4.CheckState == CheckState.Checked) { Dmc2410.d2410_write_outbit(0, 4, 0); checkBox4.Text = "输出口4:高电平"; } else { Dmc2410.d2410_write_outbit(0, 4, 1); checkBox4.Text = "输出口4:低电平"; } }
private void checkBox5_CheckedChanged(object sender, EventArgs e) { if (checkBox5.CheckState == CheckState.Checked) { Dmc2410.d2410_write_SEVON_PIN(0, 0); checkBox5.Text = "伺服使能:ON"; } else { Dmc2410.d2410_write_SEVON_PIN(0, 1); checkBox5.Text = "伺服使能:OFF"; } }
private void button_ChangeVel_Click(object sender, EventArgs e) { if (X_Enabled) { Dmc2410.d2410_variety_speed_range(X, 1, 10000000); Xdimension.ChangeSpeed(double.Parse(textBox_sspeed.Text)); } if (Y_Enabled) { Dmc2410.d2410_variety_speed_range(Y, 1, 10000000); Ydimension.ChangeSpeed(double.Parse(textBox_sspeed.Text)); } }
public int Read_Out_Bit(ushort cardno, ushort bitno) { int iValue = 0; try { readWrite.AcquireReaderLock(50); iValue = Dmc2410.d2410_read_outbit(cardno, bitno); readWrite.ReleaseReaderLock(); } catch { } return(iValue); }
public uint Relative_Move(ushort uAxis, int idist) { uint iValue = 0; try { readWrite.AcquireWriterLock(50); iValue = Dmc2410.d2410_s_pmove(uAxis, idist, 0); readWrite.ReleaseWriterLock(); } catch { } return(iValue); }
public int Get_Rsts(ushort uAxis) { int iValue = 0; try { readWrite.AcquireReaderLock(50); iValue = (int)Dmc2410.d2410_get_rsts(uAxis); readWrite.ReleaseReaderLock(); } catch { } return(iValue); }
public uint E_Stop() { uint iValue = 0; try { //readWrite.AcquireReaderLock(50); iValue = Dmc2410.d2410_emg_stop(); //readWrite.ReleaseReaderLock(); } catch { } return(iValue); }
public int GetSevoOn(ushort axis) { int iValue = 0; try { readWrite.AcquireReaderLock(50); iValue = Dmc2410.d2410_read_SEVON_PIN(axis); readWrite.ReleaseReaderLock(); } catch { } return(iValue); }
public ushort Axis_io_status(ushort axis) { ushort iValue = 0; try { readWrite.AcquireReaderLock(50); iValue = Dmc2410.d2410_axis_io_status(axis); readWrite.ReleaseReaderLock(); } catch { } return(iValue); }