コード例 #1
0
 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)));
 }
コード例 #2
0
        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);
            }
        }
コード例 #3
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);
        }
コード例 #4
0
 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);
 }
コード例 #5
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);
            }
        }
コード例 #6
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));
        }
コード例 #7
0
 private void button5_Click(object sender, EventArgs e)
 {
     for (ushort q = 0; q < 4; q++)
     {
         Dmc2410.d2410_set_encoder(q, 0);
     }                                       //清空计数器
 }
コード例 #8
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));
        }
コード例 #9
0
 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));
 }
コード例 #10
0
 private void Form1_Load(object sender, EventArgs e)
 {
     int n;
     n = Dmc2410.d2410_board_init();   //初始化控制卡
     if (n < 1 || n > 8)
     {
         MessageBox.Show("未找到控制卡", "出错");
     }
 }
コード例 #11
0
        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);
        }
コード例 #12
0
 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负向运动
     }
 }
コード例 #13
0
 public void StopAxis(ushort uAxis)
 {
     try
     {
         //readWrite.AcquireWriterLock (50);
         Dmc2410.d2410_imd_stop(uAxis);
         //readWrite.ReleaseWriterLock ();
     }
     catch { }
 }
コード例 #14
0
 public void SevoOn(ushort uAxis, ushort on_off)
 {
     try
     {
         readWrite.AcquireWriterLock(50);
         Dmc2410.d2410_write_SEVON_PIN(uAxis, on_off);
         readWrite.ReleaseWriterLock();
     }
     catch { }
 }
コード例 #15
0
 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
 }
コード例 #16
0
 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 { }
 }
コード例 #17
0
 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 { }
 }
コード例 #18
0
 public bool CheckDone()
 {
     if (Dmc2410.d2410_check_done(usAxisMark) == 1)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
コード例 #19
0
 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);
 }
コード例 #20
0
 public void SetAxisSevon(bool status)//使能
 {
     if (status)
     {
         Dmc2410.d2410_write_SEVON_PIN(usAxisMark, (ushort)0);
     }
     else
     {
         Dmc2410.d2410_write_SEVON_PIN(usAxisMark, (ushort)1);
     }
 }
コード例 #21
0
        public ushort  CheckAxisDone(ushort uAxis)
        {
            ushort iValue = 0;

            try
            {
                readWrite.AcquireReaderLock(50);
                iValue = Dmc2410.d2410_check_done(uAxis);
                readWrite.ReleaseReaderLock();
            }
            catch { }
            return(iValue);
        }
コード例 #22
0
 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:低电平";
     }
 }
コード例 #23
0
 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";
     }
 }
コード例 #24
0
ファイル: BasicMove.cs プロジェクト: AbelLi23/LeadShineCard
 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));
     }
 }
コード例 #25
0
        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);
        }
コード例 #26
0
        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);
        }
コード例 #27
0
        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);
        }
コード例 #28
0
        public uint E_Stop()
        {
            uint iValue = 0;

            try
            {
                //readWrite.AcquireReaderLock(50);
                iValue = Dmc2410.d2410_emg_stop();
                //readWrite.ReleaseReaderLock();
            }
            catch { }
            return(iValue);
        }
コード例 #29
0
        public int GetSevoOn(ushort axis)
        {
            int iValue = 0;

            try
            {
                readWrite.AcquireReaderLock(50);
                iValue = Dmc2410.d2410_read_SEVON_PIN(axis);
                readWrite.ReleaseReaderLock();
            }
            catch { }
            return(iValue);
        }
コード例 #30
0
        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);
        }