public void Homing(ushort nodeid, ushort home_mode) //home_mode=1,以负限位为原点,2,为正限为原点,7以原点遇正限位反转 { ResetAlarm(nodeid); if (CardNo.Count == 0) { return; } if (!GetPara(nodeid).IsServoMotor) { //ManHoming(nodeid, home_mode); double acc = 0.1; ushort StrVel = 100; CPCI_DMC.CS_DMC_01_set_home_config(CardNo[0], nodeid, 0, 17, 0, StrVel, (ushort)GetPara(nodeid).HomeSpeed, acc); CPCI_DMC.CS_DMC_01_set_home_move(CardNo[0], nodeid, 0); Thread.Sleep(motionCmdDly); } else { double acc = 0.1; ushort StrVel = 100; CPCI_DMC.CS_DMC_01_set_home_config(CardNo[0], nodeid, 0, home_mode, 0, StrVel, (ushort)GetPara(nodeid).HomeSpeed, acc); CPCI_DMC.CS_DMC_01_set_home_move(CardNo[0], nodeid, 0); Thread.Sleep(motionCmdDly); } }
public void VGohome(ushort CardNo, ushort nodeid, ushort home_mode, ushort speed) //home_mode=1,以负限位为原点,2,为正限为原点,7以原点遇正限位反转 { double acc = 0.1; //double Tdec =0.1; ushort StrVel = 100; short rc; CPCI_DMC.CS_DMC_01_set_home_config(CardNo, nodeid, 0, home_mode, 0, StrVel, speed, acc); rc = CPCI_DMC.CS_DMC_01_set_home_move(CardNo, nodeid, 0); }