public int Close() { int nRet = XWin32Hilscher.DevSetHostState(0, XWin32Hilscher.HOST_NOT_READY, 0); if (nRet != XWin32Hilscher.DRV_NO_ERROR) { LogTextOut(String.Format("DeviceNet, DevSetHostState() Error({0})", nRet)); return(nRet); } nRet = XWin32Hilscher.DevExitBoard(0); if (nRet != XWin32Hilscher.DRV_NO_ERROR) { LogTextOut(String.Format("DeviceNet, DevExitBoard() Error({0})", nRet)); return(nRet); } nRet = XWin32Hilscher.DevCloseDriver(0); if (nRet != XWin32Hilscher.DRV_NO_ERROR) { LogTextOut(String.Format("DeviceNet, DevCloseDriver() Error({0})", nRet)); return(nRet); } // Set Open Flag bOpen = false; return(1); }
public int Open(ushort usMaxInputAddress, ushort usMaxOutputAddress) { if (IsOpen()) { LogTextOut("DeviceNet, Open(), Already, Board is Opened"); return(-1000); } int nRet = -2000; try { nRet = XWin32Hilscher.DevOpenDriver(0); if (nRet != XWin32Hilscher.DRV_NO_ERROR) { LogTextOut(String.Format("DeviceNet, DevOpenDriver() Error({0})", nRet)); return(nRet); } XWin32Hilscher.BOARD_INFO tBoardInfo = new XWin32Hilscher.BOARD_INFO(); nRet = XWin32Hilscher.DevGetBoardInfo(0, (ushort)Marshal.SizeOf(tBoardInfo), out tBoardInfo); if (nRet != XWin32Hilscher.DRV_NO_ERROR) { LogTextOut(String.Format("DeviceNet, DevGetBoardInfo() Error({0})", nRet)); return(nRet); } XWin32Hilscher.BOARD[] tBoardList = new XWin32Hilscher.BOARD[XWin32Hilscher.MAX_DEV_BOARDS] { tBoardInfo.tBoard0, tBoardInfo.tBoard1, tBoardInfo.tBoard2, tBoardInfo.tBoard3 }; for (int i = 0; i < XWin32Hilscher.MAX_DEV_BOARDS; i++) { if (tBoardList[i].usAvailable != 0) { nRet = XWin32Hilscher.DevInitBoard(tBoardList[i].usBoardNumber, IntPtr.Zero); if (nRet != XWin32Hilscher.DRV_NO_ERROR) { LogTextOut(String.Format("DeviceNet, DevInitBoard() Error(){0}", nRet)); return(nRet); } } } } catch (Exception ex) { LogTextOut(String.Format("DeviceNet, DevInitBoard() Error(){0}", ex.Message)); return(nRet); } #region аж╪╝ nRet = XWin32Hilscher.DevReset(0, XWin32Hilscher.COLDSTART, 8000); if (nRet != XWin32Hilscher.DRV_NO_ERROR) { MessageBox.Show("DeviceNet, Open(), DevReset() Error"); return(nRet); } nRet = XWin32Hilscher.DevSetHostState(0, XWin32Hilscher.HOST_READY, 0); if (nRet != XWin32Hilscher.DRV_NO_ERROR) { MessageBox.Show("DeviceNet, Open(), DevSetHostState() Error"); return(nRet); } #endregion this.usMaxInputAddress = usMaxInputAddress; usInputBuffer = new ushort[usMaxInputAddress / 2 + 1]; this.usMaxOutputAddress = usMaxOutputAddress; usOutputBuffer = new ushort[usMaxOutputAddress / 2 + 1]; bOpen = true; return(1); }