Ejemplo n.º 1
0
        public void VStepMove(ushort CardNo, ushort NodeID, double Dist, int speed)
        {
            double acc    = 0.2;
            double Tdec   = 0.2;
            int    StrVel = speed / 10;
            Int32  dist;

            dist = (Int32)(ScaleAxis[NodeID] * Dist);
            //rc = CPCI_DMC.CS_DMC_01_start_tr_move(0, 2, 0, -1280000, 0, 1280000, 0.3, 0.3);
            rc = CPCI_DMC.CS_DMC_01_start_tr_move(CardNo, NodeID, 0, dist, StrVel, speed, acc, Tdec);
            if (rc != 0)
            {
                MessageBox.Show("not ok");
            }
        }
Ejemplo n.º 2
0
        public void ManHoming(ushort nodeid, ushort home_mode)
        {
            ResetAlarm(nodeid);
            CPCI_DMC.CS_DMC_01_speed_continue(CardNo[0], nodeid, 0, (ushort)1);
            int   speed  = GetPara(nodeid).HomeSpeed;
            int   StrVel = speed / 10;
            Int32 dist   = (int)(GetPara(nodeid).MotorScale *0.005);//pulse

            if (dist < 5)
            {
                dist = 5;
            }
            //if (home_mode ==2)
            //{
            StepMove(nodeid, -10);
            WaitAxisStop(nodeid);
            CPCI_DMC.CS_DMC_01_speed_continue(CardNo[0], nodeid, 0, (ushort)0);
            do
            {
                ResetAlarm(nodeid);
                CPCI_DMC.CS_DMC_01_start_tr_move(CardNo[0], nodeid, 0, dist, StrVel, speed, 0.2, 0.2);
                WaitAxisStop(nodeid);
            } while (NEL(nodeid));
            //}
            //else
            //{
            //     StepMove(nodeid, 10);
            //     WaitAxisStop(nodeid);
            //     CPCI_DMC.CS_DMC_01_speed_continue(CardNo[0], nodeid, 0, (ushort)1);
            //     do
            //     {
            //         ResetAlarm(nodeid);
            //         CPCI_DMC.CS_DMC_01_start_tr_move(CardNo[0], nodeid, 0, -dist, StrVel, speed, 0.2, 0.2);
            //         WaitAxisStop(nodeid);
            //     } while (PEL(nodeid));
            //}
        }
Ejemplo n.º 3
0
        public int StepMove(ushort NodeID, double Dist)
        {
            ResetAlarm(NodeID);
            if (CardNo.Count == 0)
            {
                return((int)DM_ErrorList.NoCardFound);
            }
            double acc    = 0.2;
            double Tdec   = 0.2;
            int    speed  = GetPara(NodeID).RunSpeed;
            int    StrVel = speed / 10;
            Int32  dist;

            dist = (Int32)(GetPara(NodeID).MotorScale *Dist);
            short rc = CPCI_DMC.CS_DMC_01_start_tr_move(CardNo[0], NodeID, 0, dist, StrVel, speed, acc, Tdec);

            if (rc != 0)
            {
                return((int)DM_ErrorList.MotionError);
            }

            Thread.Sleep(motionCmdDly);
            return((int)DM_ErrorList.NoError);
        }
Ejemplo n.º 4
0
        public void working()
        {
            int Amount = Convert.ToInt32(txtAmount.Text);

            for (int i = 0; i < Amount; i++)
            {
                //ktrRpm1.Clear();
                //ktrRpm2.Clear();
                //ktrTorque1.Clear();
                //ktrTorque2.Clear();
                //motorRpm1.Clear();
                //motorRpm2.Clear();
                //motorTorque1.Clear();
                //motorTorque2.Clear();
                chart1.Series[0].Points.Clear();
                chart2.Series[0].Points.Clear();
                chart3.Series[0].Points.Clear();
                chart4.Series[0].Points.Clear();
                chart5.Series[0].Points.Clear();
                chart6.Series[0].Points.Clear();
                chart7.Series[0].Points.Clear();
                chart8.Series[0].Points.Clear();
                bool boolGo = true;
                newturn = true;
                rc      = CPCI_DMC.CS_DMC_01_get_command(gCardNo, node2, 0, ref cmd1);
                rc      = CPCI_DMC.CS_DMC_01_start_tr_move(gCardNo, node2, 0, (int)(OneCirclePluse * TransmissionRate), 0, Convert.ToInt32(2133.3333 * -Int16.Parse(txtRpm1.Text)), 0.1, 0.1);
                while (true)
                {
                    showMotorState();
                    saveMotorData();
                    showChart();
                    limitSend("000000000006" + "010204000001");
                    limitX0Listen();
                    limitSend("000000000006" + "010204010001");
                    limitX1Listen();
                    label30.Text = X0Message;
                    if (X1Message == "01-02-01-01" & boolGo)
                    {
                        rc = CPCI_DMC.CS_DMC_01_set_velocity_mode(gCardNo, node1, 0, 0.1, 0.1);
                        rc = CPCI_DMC.CS_DMC_01_set_velocity(gCardNo, node1, 0, Int32.Parse(txtRpm2.Text));
                    }
                    else if (X1Message == "01-02-01-00")
                    {
                        rc     = CPCI_DMC.CS_DMC_01_set_velocity_mode(gCardNo, node1, 0, 0.1, 0.1);
                        rc     = CPCI_DMC.CS_DMC_01_set_velocity(gCardNo, node1, 0, 0);
                        boolGo = false;
                    }
                    else if (X1Message == "01-02-01-01" & !boolGo & X0Message != "01-02-01-00")
                    {
                        rc = CPCI_DMC.CS_DMC_01_set_velocity_mode(gCardNo, node1, 0, 0.1, 0.1);
                        rc = CPCI_DMC.CS_DMC_01_set_velocity(gCardNo, node1, 0, -Int32.Parse(txtRpm2.Text));
                    }
                    else if (X0Message == "01-02-01-00" & !boolGo)
                    {
                        KtrBoolClear = true;
                        label29.Text = "in";
                        showMotorState();
                        rc = CPCI_DMC.CS_DMC_01_set_velocity_mode(gCardNo, node1, 0, 0.1, 0.1);
                        rc = CPCI_DMC.CS_DMC_01_set_velocity(gCardNo, node1, 0, 0);
                        Thread.Sleep(500);
                        CPCI_DMC.CS_DMC_01_set_position(gCardNo, node1, 0, 0);
                        CPCI_DMC.CS_DMC_01_set_command(gCardNo, node1, 0, 0);
                        //CPCI_DMC.CS_DMC_01_set_position(gCardNo, node2, 0, 0);
                        //CPCI_DMC.CS_DMC_01_set_command(gCardNo, node2, 0, 0);
                        break;
                    }
                }
            }
        }