public override bool Open() { int boardIdInBits = 0; int ret = APS168.APS_register_virtual_board(1, 1); // Card(Board) initial,mode bit0(0:By system assigned, 1:By dip switch) ret = APS168.APS_initial(ref boardIdInBits, m_cardIdMode); if (ret >= 0) { APS168.APS_get_first_axisId(m_cardId, ref m_startAxisIndex, ref m_totalAxisCount); int CardName = 0; APS168.APS_get_card_name(m_cardId, ref CardName); if (CardName != (Int32)APS_Define.DEVICE_NAME_ENET_EMX100) { throw new Exception("运动控制是型号不是EMX100!"); } } else { throw new Exception("运动控制卡初始化失败,请检查驱动是否装好或者MotionCreatePro已经开启!"); } m_isInitialed = true; return(true); }
public override bool Initialize() { int boardBits = 0; var ret = APS168.APS_initial(ref boardBits, 0); return(ret == 0); }
/// <summary> /// Initials the specified axis identifier. /// </summary> /// <param name="Axis_ID">The axis identifier.</param> /// <returns>System.Int32.</returns> public override int InitialAxis(Int32 Axis_ID) { int err = -1; err = APS168.APS_initial(ref mCardPara.boardID_InBits, mCardPara.mode); mCardPara.AxisID = Axis_ID; this.currentDirection = MotionDirection.Initial; return(err); }
private void InitializeCard() { var boardBits = 0; var ret = APS168.APS_initial(ref boardBits, 0); if (ret == 0) { foreach (var cardNo in _cardNos) { if (((boardBits >> cardNo) & 1) == 0) { throw new SystemException("Board Id search error !"); } var cardName = 0; ret = APS168.APS_get_card_name(cardNo, ref cardName); var innerMsg = ""; innerMsg = GetErrorCodeDesc((APS_Define)ret); if (innerMsg != "No Error") { MessageBox.Show(string.Format("APS_get_card_name Error:{0}", innerMsg)); } //ThrowIfResultError(ret, "Initial"); if ((cardName == (int)APS_Define.DEVICE_NAME_PCI_825458) || (cardName == (int)APS_Define.DEVICE_NAME_AMP_20408C)) { var startAxisId = 0; var totalAxisNum = 0; APS168.APS_get_first_axisId(cardNo, ref startAxisId, ref totalAxisNum); for (var index = 0; index < totalAxisNum; ++index) { _axises.Add(startAxisId + index); } APS168.APS_load_parameter_from_flash(cardNo); } else { MessageBox.Show("Board type not matching!"); //throw new ApsException("Board type not matching!"); } } } else { var innerMsg = ""; innerMsg = GetErrorCodeDesc((APS_Define)ret); if (innerMsg != "No Error") { MessageBox.Show(string.Format("板卡初始化错误:{0}", innerMsg)); } //ThrowIfResultError(ret, "APS_initial"); } }
public override int Initial() { lock (obj) { int boardId = 0; int mode = 0; int ret = APS168.APS_initial(ref boardId, mode); if (ret != 0) { return(ret); } return(boardId); } }
public void Initial(int cardId, int mode) { CardId = cardId; var boardIdInBits = 0; // Card(Board) initial,mode bit0(0:By system assigned, 1:By dip switch) var ret = APS168.APS_initial(ref boardIdInBits, mode); if (ret >= 0) { IsInitialed = true; APS168.APS_get_first_axisId(cardId, ref StartAxisId, ref TotalAxis); APS168.APS_get_card_name(cardId, ref CardName); if (CardName != (int)APS_Define.DEVICE_NAME_PCI_825458 && CardName != (int)APS_Define.DEVICE_NAME_AMP_20408C) { MessageBox.Show("运动控制是型号不是204C或208C!"); } } else { MessageBox.Show("运动控制卡初始化失败,请检查驱动是否装好或者MotionCreatePro已经开启!"); } }
public bool InitialFixture(int cardId, int mode) { CardId = cardId; int boardIdInBits = 0; // Card(Board) initial,mode bit0(0:By system assigned, 1:By dip switch) int ret = APS168.APS_initial(ref boardIdInBits, mode); if (ret >= 0) { APS168.APS_get_first_axisId(cardId, ref StartAxisId, ref TotalAxis); APS168.APS_get_card_name(cardId, ref CardName); if (CardName != (Int32)APS_Define.DEVICE_NAME_PCI_825458 && CardName != (Int32)APS_Define.DEVICE_NAME_AMP_20408C) { //MessageBox.Show("运动控制是型号不是204C或208C!"); return(false); } } else { //MessageBox.Show("运动控制卡初始化失败,请检查驱动是否装好或者MotionCreatePro已经开启!"); return(false); } //判断配置文件是否存在 if (File.Exists(txtXmlFilename)) { if (LoadParamFromFile(txtXmlFilename) == false) { return(false); } } IsInitialed = true; return(true); }
public int OpenDevice() { if (!IsInitOK) return (int)ErrorDef.InitFailedWhenOpenCard; if (IsDeviceOpen) return (int)ErrorDef.Success; // Card(Board) initial,mode bit0(0:By system assigned, 1:By dip switch) int ret = 0; lock (SDKLocker) { if (!IsSDKInitialized) { ret = APS168.APS_initial(ref BoardBitsLinked, 0); //可以获取已连接计算机的控制卡的bits if (ret != 0) return (int)ErrorDef.InvokeFailed; IsSDKInitialized = true; } bool isBoardIDExist = false; //检查总线中是否连接有指定BoardID的卡 for (int i = 0; i < 32; i++) if ((BoardBitsLinked & (1 << i)) != 0 && _boardID == (i)) { isBoardIDExist = true; break; } if (!isBoardIDExist) return (int)ErrorDef.BoardIDNotExist; if ((BoardBitsLoaded & (1 << (_boardID ))) == 0) //从Flash中载入参数 { ret = APS168.APS_load_parameter_from_flash(_boardID); //从Flash中载入参数 if (0 != ret) return (int)ErrorDef.InvokeFailed; BoardBitsLoaded |= (1 << (_boardID )); } BoardOpened++; //if(!mdCfg.ContainsItem("Card_" + _boardID)) // mdCfg.AddItem("Card"+ _boardID ,new JFXM) dio = new JFAps168DIO(_boardID); mc = new JFAps168MC(_boardID, mdCfg,this); cmpTrigs = new JFAps168CompareTrigger(_boardID, mdCfg, this); dio.Open(); mc.Open(); cmpTrigs.Open(); AioCount = 0; McCount = 1; DioCount = 1; CompareTriggerCount = 1; IsInitOK = true; IsDeviceOpen = true; } return (int)ErrorDef.Success; }