private short MoveHSpeedSearch(int nAxisNo, bool bPositive) { nAxisNo += 1; short sRtn = 0; sRtn |= gts.mc.GT_Stop((short)m_nCardIndex, 1 << (nAxisNo - 1), 0); sRtn |= gts.mc.GT_PrfTrap((short)m_nCardIndex, (short)nAxisNo); gts.mc.TTrapPrm trap = new gts.mc.TTrapPrm(); trap.acc = m_HomePrm[nAxisNo - 1].AccH; //3; trap.dec = m_HomePrm[nAxisNo - 1].DccH; //3; trap.velStart = 0; trap.smoothTime = 20; //20; gts.mc.GT_SetTrapPrm((short)m_nCardIndex, (short)nAxisNo, ref trap); sRtn |= gts.mc.GT_SetVel((short)m_nCardIndex, (short)nAxisNo, m_HomePrm[nAxisNo - 1].VelH); int extPos = 0; gts.mc.GT_GetPos((short)m_nCardIndex, (short)nAxisNo, out extPos); if (bPositive)//m_HomePrm[nAxisNo - 1]._bHomeDir { sRtn |= gts.mc.GT_SetPos((short)m_nCardIndex, (short)nAxisNo, extPos + (int)m_HomePrm[nAxisNo - 1]._iSeachDistancePluse); } else { sRtn |= gts.mc.GT_SetPos((short)m_nCardIndex, (short)nAxisNo, extPos - (int)m_HomePrm[nAxisNo - 1]._iSeachDistancePluse); } sRtn |= gts.mc.GT_Update((short)m_nCardIndex, 1 << (nAxisNo - 1)); return(sRtn); }
public override bool AbsMove(int nAxisNo, double nPos, double nSpeed) { short rtn = 0; nAxisNo += 1; uint axisMark = (uint)1 << (nAxisNo - 1); rtn |= gts.mc.GT_SetAxisBand((short)m_nCardIndex, (short)nAxisNo, 20, 10);// 5); gts.mc.TTrapPrm trap = new gts.mc.TTrapPrm(); double speed = nSpeed; double Acc = 0; double Dcc = 0; TranMMToPluse(nAxisNo, ref speed, ref Acc, ref Dcc); trap.acc = Acc; //3; trap.dec = Dcc; //3; trap.velStart = 0; trap.smoothTime = (short)m_nSmoothTimes[nAxisNo - 1]; //20; rtn |= gts.mc.GT_ClrSts((short)m_nCardIndex, (short)nAxisNo, 8); rtn |= gts.mc.GT_PrfTrap((short)m_nCardIndex, (short)nAxisNo); rtn |= gts.mc.GT_SetTrapPrm((short)m_nCardIndex, (short)nAxisNo, ref trap); rtn |= gts.mc.GT_SetVel((short)m_nCardIndex, (short)nAxisNo, (double)nSpeed); rtn |= gts.mc.GT_SetPos((short)m_nCardIndex, (short)nAxisNo, (int)nPos); rtn |= gts.mc.GT_Update((short)m_nCardIndex, 1 << (nAxisNo - 1)); if (rtn == 0) { return(true); } else { return(false); } }
public override bool RelativeMove(int nAxisNo, double nPos, double nSpeed) { nAxisNo += 1; uint axisMark = (uint)1 << (nAxisNo - 1); short nRtn = 0; uint clk = 0; double dAxisCurPos = 0; // nRtn |= gts.mc.GT_GetEncPos((short)m_nCardIndex, (short)nAxisNo, out dAxisCurPos, 1, out clk);s gts.mc.GT_SetAxisBand((short)m_nCardIndex, (short)nAxisNo, 20, 10);// 5); double speed = nSpeed; double Acc = m_MovePrm[nAxisNo - 1].AccH; double Dcc = m_MovePrm[nAxisNo - 1].AccL; switch (nSpeed) { case 0: Acc = m_MovePrm[nAxisNo - 1].AccH; Dcc = m_MovePrm[nAxisNo - 1].DccH; speed = m_MovePrm[nAxisNo - 1].VelH; break; case 1: Acc = m_MovePrm[nAxisNo - 1].AccM; Dcc = m_MovePrm[nAxisNo - 1].DccM; speed = m_MovePrm[nAxisNo - 1].VelM; break; case 2: Acc = m_MovePrm[nAxisNo - 1].AccL; Dcc = m_MovePrm[nAxisNo - 1].DccL; speed = m_MovePrm[nAxisNo - 1].VelL; break; break; } gts.mc.TTrapPrm trap = new gts.mc.TTrapPrm(); trap.acc = Acc; //3; trap.dec = Dcc; //3; trap.velStart = 0; trap.smoothTime = (short)m_nSmoothTimes[nAxisNo - 1]; //20; int extPos = 0; if (0 == gts.mc.GT_ClrSts((short)m_nCardIndex, (short)nAxisNo, 8) && 0 == gts.mc.GT_PrfTrap((short)m_nCardIndex, (short)nAxisNo) && 0 == gts.mc.GT_SetTrapPrm((short)m_nCardIndex, (short)nAxisNo, ref trap) && 0 == gts.mc.GT_SetVel((short)m_nCardIndex, (short)nAxisNo, (double)speed) && 0 == gts.mc.GT_GetPos((short)m_nCardIndex, (short)nAxisNo, out extPos) && 0 == gts.mc.GT_SetPos((short)m_nCardIndex, (short)nAxisNo, extPos + (int)nPos) && 0 == gts.mc.GT_Update((short)m_nCardIndex, 1 << (nAxisNo - 1)) ) { return(true); } return(false); }
public override bool AbsMove(int nAxisNo, double nPos, double nSpeed) { short rtn = 0; nAxisNo += 1; uint axisMark = (uint)1 << (nAxisNo - 1); rtn |= gts.mc.GT_SetAxisBand((short)m_nCardIndex, (short)nAxisNo, 20, 10);// 5); gts.mc.TTrapPrm trap = new gts.mc.TTrapPrm(); double speed = nSpeed; double Acc = m_MovePrm[nAxisNo - 1].AccH; double Dcc = m_MovePrm[nAxisNo - 1].AccL; switch (nSpeed) { case 0: Acc = m_MovePrm[nAxisNo - 1].AccH; Dcc = m_MovePrm[nAxisNo - 1].DccH; speed = m_MovePrm[nAxisNo - 1].VelH; break; case 1: Acc = m_MovePrm[nAxisNo - 1].AccM; Dcc = m_MovePrm[nAxisNo - 1].DccM; speed = m_MovePrm[nAxisNo - 1].VelM; break; case 2: Acc = m_MovePrm[nAxisNo - 1].AccL; Dcc = m_MovePrm[nAxisNo - 1].DccL; speed = m_MovePrm[nAxisNo - 1].VelL; break; } trap.acc = Acc; //3; trap.dec = Dcc; //3; trap.velStart = 0; trap.smoothTime = (short)m_nSmoothTimes[nAxisNo - 1]; //20; rtn |= gts.mc.GT_ClrSts((short)m_nCardIndex, (short)nAxisNo, 8); rtn |= gts.mc.GT_PrfTrap((short)m_nCardIndex, (short)nAxisNo); rtn |= gts.mc.GT_SetTrapPrm((short)m_nCardIndex, (short)nAxisNo, ref trap); rtn |= gts.mc.GT_SetVel((short)m_nCardIndex, (short)nAxisNo, (double)nSpeed); rtn |= gts.mc.GT_SetPos((short)m_nCardIndex, (short)nAxisNo, (int)nPos); rtn |= gts.mc.GT_Update((short)m_nCardIndex, 1 << (nAxisNo - 1)); if (rtn == 0) { return(true); } else { return(false); } }
public override bool RelativeMove(int nAxisNo, double nPos, double nSpeed) { nAxisNo += 1; uint axisMark = (uint)1 << (nAxisNo - 1); short nRtn = 0; uint clk = 0; double dAxisCurPos = 0; // nRtn |= gts.mc.GT_GetEncPos((short)m_nCardIndex, (short)nAxisNo, out dAxisCurPos, 1, out clk);s gts.mc.GT_SetAxisBand((short)m_nCardIndex, (short)nAxisNo, 20, 10);// 5); double speed = nSpeed; double Acc = 0; double Dcc = 0; TranMMToPluse(nAxisNo, ref speed, ref Acc, ref Dcc); gts.mc.TTrapPrm trap = new gts.mc.TTrapPrm(); speed = (1 * speed / m_MovePrm[nAxisNo - 1].AxisLeadRange) * m_MovePrm[nAxisNo - 1].PlusePerRote / 1000; Acc = (1 * Acc / m_MovePrm[nAxisNo - 1].AxisLeadRange) * m_MovePrm[nAxisNo - 1].PlusePerRote / 1000000; Dcc = (1 * Dcc / m_MovePrm[nAxisNo - 1].AxisLeadRange) * m_MovePrm[nAxisNo - 1].PlusePerRote / 1000000; trap.acc = Acc; //3; trap.dec = Dcc; //3; trap.velStart = 0; trap.smoothTime = (short)m_nSmoothTimes[nAxisNo - 1]; //20; int extPos = 0; if (0 == gts.mc.GT_ClrSts((short)m_nCardIndex, (short)nAxisNo, 8) && 0 == gts.mc.GT_PrfTrap((short)m_nCardIndex, (short)nAxisNo) && 0 == gts.mc.GT_SetTrapPrm((short)m_nCardIndex, (short)nAxisNo, ref trap) && 0 == gts.mc.GT_SetVel((short)m_nCardIndex, (short)nAxisNo, (double)speed) && 0 == gts.mc.GT_GetPos((short)m_nCardIndex, (short)nAxisNo, out extPos) && 0 == gts.mc.GT_SetPos((short)m_nCardIndex, (short)nAxisNo, extPos + (int)nPos) && 0 == gts.mc.GT_Update((short)m_nCardIndex, 1 << (nAxisNo - 1)) ) { return(true); } return(false); }