public void SetServoOn(ushort NodeID, ushort svonON_OFF) { if (CardNo.Count == 0) { return; } CPCI_DMC.CS_DMC_01_ipo_set_svon(CardNo[0], NodeID, 0, svonON_OFF); }
public void VSetCard(ushort CardNo, ushort NodeID, ushort svonON_OFF) //设置脉冲模式及伺服是能 { //rc = CPCI_DMC.CS_DMC_01_set_rm_04pi_ipulser_mode(gCardNo, NodeID, 0, 1); //rc = CPCI_DMC.CS_DMC_01_set_rm_04pi_opulser_mode(gCardNo, NodeID, 0, 1); rc = CPCI_DMC.CS_DMC_01_ipo_set_svon(gCardNo, NodeID, 0, svonON_OFF); //1为伺服ON,0为伺服OFF //CPCI_DMC.CS_DMC_01_enable_soft_limit(gCardNo, NodeID, 0, 1); //设置轴的软限位是能,1为碰到限位立即停止,2为减数停止。 }
private void chksvon_CheckedChanged(object sender, EventArgs e) { gIsServoOn = chksvon.Checked; gnodeid = ushort.Parse(cmbNodeID.Text); rc = CPCI_DMC.CS_DMC_01_set_rm_04pi_ipulser_mode(gCardNo, gnodeid, 0, 1); rc = CPCI_DMC.CS_DMC_01_set_rm_04pi_opulser_mode(gCardNo, gnodeid, 0, 1); rc = CPCI_DMC.CS_DMC_01_ipo_set_svon(gCardNo, gnodeid, 0, (ushort)(gIsServoOn ? 1 : 0)); }
public void VSetAxisServo(ushort CardNo, ushort NodeID, ushort svonON_OFF) { try { rc = CPCI_DMC.CS_DMC_01_ipo_set_svon(gCardNo, NodeID, 0, svonON_OFF);//1为伺服ON,0为伺服OFF } catch { //return false; } }
private void btnexit_Click(object sender, EventArgs e) { ServoCon.Enabled = false; btnWork.Enabled = false; btnFinish.Enabled = false; btnSaveExcel.Enabled = false; LogOutput("關閉伺服馬達...."); rc = CPCI_DMC.CS_DMC_01_ipo_set_svon(gCardNo, node1, 0, 0); rc = CPCI_DMC.CS_DMC_01_reset_card(gCardNo); CPCI_DMC.CS_DMC_01_close(); LogOutput("Bye bye~~~"); Thread.Sleep(1500); Environment.Exit(Environment.ExitCode); }
public void ServoON(bool IsOn) { switch (IsOn) { case true: rc = CPCI_DMC.CS_DMC_01_ipo_set_svon(gCardNo, node1, 0, 1); LogOutput("伺服馬達已啟動"); break; case false: rc = CPCI_DMC.CS_DMC_01_ipo_set_svon(gCardNo, node1, 0, 0); LogOutput("伺服馬達已關閉"); break; } ServoWorking = IsOn; }