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"); } }
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)); //} }
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); }
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; } } } }