public double DReadcurrentencodePos(ushort CardNo, ushort NodeID) { int pos = 0; double codepos = 0.0; CPCI_DMC.CS_DMC_01_get_position(gCardNo, NodeID, 0, ref pos); codepos = (double)pos / ScaleAxis[NodeID]; return(codepos); }
private void showMotorState() { rc = CPCI_DMC.CS_DMC_01_get_command(gCardNo, node1, 0, ref cmd1); rc = CPCI_DMC.CS_DMC_01_get_command(gCardNo, node2, 0, ref cmd2); //Command if (rc == 0) { txtcommand1.Text = cmd1.ToString(); txtcommand2.Text = cmd2.ToString(); } //Feedback rc = CPCI_DMC.CS_DMC_01_get_position(gCardNo, node1, 0, ref pos1); rc = CPCI_DMC.CS_DMC_01_get_position(gCardNo, node2, 0, ref pos2); if (rc == 0) { txtfeedback1.Text = pos1.ToString(); txtfeedback2.Text = pos2.ToString(); } //Speed rc = CPCI_DMC.CS_DMC_01_get_rpm(gCardNo, node1, 0, ref spd1); rc = CPCI_DMC.CS_DMC_01_get_rpm(gCardNo, node2, 0, ref spd2); if (rc == 0) { txtspeed1.Text = spd1.ToString(); txtspeed2.Text = spd2.ToString(); } //Torque rc = CPCI_DMC.CS_DMC_01_get_torque(gCardNo, node1, 0, ref toe1); rc = CPCI_DMC.CS_DMC_01_get_torque(gCardNo, node2, 0, ref toe2); if (rc == 0) { //扭矩是千分比 txtTorque1.Text = ((double)toe1 / 1000 * 7.16).ToString(); txtTorque2.Text = ((double)toe2 / 1000 * 7.16).ToString(); } //err rc = CPCI_DMC.CS_DMC_01_get_alm_code(gCardNo, node1, 0, ref err1); rc = CPCI_DMC.CS_DMC_01_get_alm_code(gCardNo, node1, 0, ref err2); if (rc == 0) { txtERR1.Text = err1.ToString(); txtERR2.Text = err2.ToString(); } }
public double GetPos(ushort NodeID) { if (CardNo.Count == 0) { return(0.0); } int pos = 0; double codepos = 0.0; if (!GetPara(NodeID).IsServoMotor) { CPCI_DMC.CS_DMC_01_get_command(CardNo[0], NodeID, 0, ref pos); } else { CPCI_DMC.CS_DMC_01_get_position(CardNo[0], NodeID, 0, ref pos); } codepos = (double)pos / GetPara(NodeID).MotorScale; return(codepos); }
private void timer1_Tick(object sender, EventArgs e) { //Motion status int cmd = 0, pos = 0; short spd = 0; ushort i, MC_done = 0; uint MC_status = 0, err = 0; gnodeid = ushort.Parse(cmbNodeID.Text); if (chktimer.Checked) { //Status rc = CPCI_DMC.CS_DMC_01_get_command(gCardNo, gnodeid, 0, ref cmd); //Command if (rc == 0) { txtcommand.Text = cmd.ToString(); } rc = CPCI_DMC.CS_DMC_01_get_position(gCardNo, gnodeid, 0, ref pos); //Feedback if (rc == 0) { txtfeedback.Text = pos.ToString(); } rc = CPCI_DMC.CS_DMC_01_get_rpm(gCardNo, gnodeid, 0, ref spd); //Speed if (rc == 0) { txtspeed.Text = spd.ToString(); } rc = CPCI_DMC.CS_DMC_01_motion_status(gCardNo, gnodeid, 0, ref MC_status); //Motion done if (rc == 0) { txtmotion.Text = "&H" + Convert.ToString(MC_status, 16); } rc = CPCI_DMC.CS_DMC_01_get_alm_code(gCardNo, gnodeid, 0, ref err); if (rc == 0) { txtERR.Text = err.ToString(); } } }