基于NI-VISA的PCI板卡驱动程序开发
基于Labview的PCI1240编程
![基于Labview的PCI1240编程](https://img.taocdn.com/s3/m/369726a7c77da26925c5b06c.png)
1、独立4轴步进 / 脉冲型伺服电机控制四轴即四个转动轴:X、Y、Z、U两种控制类型:步进、脉冲型步进式:脉冲有下列三种方式:(1) 双脉冲模式 (CW/CCW)CW有脉冲,CCW为电平时表示正向运动,反之为反向运动;个数由CW或CCW脉冲的上升沿的个数确定。
图9 双脉冲模式(2)单脉冲模式 (Pulse/Dir)方向由Dir信号确定,距离就由Pulse信号表示。
图10 单脉冲模式(3)A/B相位脉冲模式 (A/B Phase)方向可定义为当A相先于B相90度为正向运动,A相落后于B相90度反向运动;个数可由A相的上升沿确定。
图11 A/B相位脉冲模式如图所示有几个关键地方需要我们掌握:(1)BoardIDID就是他的唯一地址,如果用户需要许多板子一起工作,则每块板子需要有一个ID,这样用户在操作时,先选择地址,确定操作哪块板子。
板子上提供了一个拨码开关,用户可以拨动开关(四个开关,每个开关可以是0或1总共可以表示16种状态)选择ID如下图所示:(2)(3)PCI引脚定义介绍(均以X轴举例,其他Y、Z、U轴都是一样的)输出引脚:1、脉冲输出引脚:双脉冲输出方式+P +N单脉冲输出方式-P -N2、通用输出引脚输入引脚:1、编码器输入信号编码器就是用来检测电机转速的,板卡自带检测功能可以检测外部电机的脉冲【模块介绍】1、初始化硬件【BoardSelection】如下图为Board的初始化面板首先选择板卡0-15(共16个),选择相应模块然后点击OK程序讲解:1、首先是一个DevAvai函数,检测当前硬件存在的板卡地址,然后输出一个状态值BoardStatus此值为32位二进制D0代表Board0是否存在,若存在则这位为1不存在为0以此类推到D15,D16-D31无效返回的状态值也会显示再面板上,再者若值不等于零,也就是存在有效地板卡,则进入IF 语句里,IF语句中是一个层叠式顺序语句,就是说先执行0再执行1…在语句1中是对Status状态位进行移位,分别进行检测每一位是否为1若为1则把面板中的该选项变为可选项!!在语句23相对较复杂,是用来选择板卡的。
一种PCI运动控制卡驱动的开发方法[发明专利]
![一种PCI运动控制卡驱动的开发方法[发明专利]](https://img.taocdn.com/s3/m/cde10e7cff4733687e21af45b307e87100f6f863.png)
(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 201810630085.X(22)申请日 2018.06.19(71)申请人 深圳众为兴技术股份有限公司地址 518051 广东省深圳市南山区艺园路马家龙田厦产业园(原27栋-29栋)5-001室(72)发明人 袁林 艾小云 张任甦 刘鹏 曾逸 (74)专利代理机构 广州华进联合专利商标代理有限公司 44224代理人 石佩(51)Int.Cl.G06F 8/20(2018.01)G06F 8/30(2018.01)(54)发明名称一种PCI运动控制卡驱动的开发方法(57)摘要本发明公开了一种PCI运动控制卡驱动的开发方法。
该方法为:使用微软的M i c r o s o f t Driver Foundation(WDF)驱动模型,在驱动初始化阶段,识别运动控制卡的硬件资源,获取PCI总线数据通信地址;在WDF驱动的事件响应模块内,注册读写事件,根据事件类型和通信地址,进行数据的读写;根据不同的卡类型,通过随机码和卡号的组合,注册特定的全局唯一标识符(GUID)以区分不同的运动控制卡,并供电脑识别;应用软件通过调用微软的标准驱动通信接口DeviecIoControl,发送数据读写事件至驱动以实现和驱动的交互。
使用该方法制作的驱动,集识别和通信与一体,安装更简单,并且相对于传统的WDM式驱动开发,代码更简洁、高效。
权利要求书1页 说明书2页 附图1页CN 108897529 A 2018.11.27C N 108897529A1.一种PCI运动控制卡驱动开发方法,其特征在于,包括下列步骤:在WDF初始化阶段的EvtDevicePrepareHardware回调函数内,识别运动控制卡的硬件资源,并记录PCI的硬件通信地址;在WDF的队列消息模块,定义输入输出控制代码,并在回调函数EvtIoDeviceControl 内,识别该控制代码,同时根据获取的通信地址偏移和记录的PCI通信地址,与运动控制卡的PCI总线进行通信;在WDF驱动的注册过程中,通过随机码和卡类型组合GUID码,标记每种运动控制卡驱动的唯一识别名称,并可以在应用程序中,通过该GUID码找到控制卡驱动程序。
国家仪器(National Instruments)企业的NIVISA API使用指南说明书
![国家仪器(National Instruments)企业的NIVISA API使用指南说明书](https://img.taocdn.com/s3/m/a00c1351fd4ffe4733687e21af45b307e871f9e7.png)
CVI ™, LabVIEW ™, NI-488.2 ™, NI-VISA ™, NI-VXI ™, and VXIpc ™ are trademarks of National Instruments Corporation. Product and company names are trademarks or trade names of their respective companies.321217E-01© Copyright 1996, 1998 National Instruments Corp. All rights reserved.November 1998NI-VISA ™ FOR W INDOWS NT/95/98:WINNT, GWINNT, WIN95, AND GWIN95 F RAMEWORKSNI-VISA is a standard I/O Application Programming Interface (API) for instrumentation programming.NI-VISA can control VXI/VME, PXI, GPIB, or Serial instruments, making the appropriate driver calls depending on the type of instrument being used. NI-VISA uses the same operations to communicate with instruments regardless of the interface type. For example, the NI-VISA command to write an ASCII string to a message-based instrument is the same whether the instrument is Serial, GPIB, or VXI. As a result, NI-VISA gives you interface independence. This makes it easier to switch bus interfaces and means that users who must program instruments for multiple interfaces need learn only one API.Another advantage of NI-VISA is that it is an object-oriented API that will easily adapt to new instrumentation interfaces as they evolve, making application migration to the new interfaces easy.VISA is the industry standard for developing instrument drivers. Most current drivers written by National Instruments use NI-VISA and support Windows NT/95/98, Solaris 2, HP-UX, VxWorks, and Macintosh, as long as the appropriate system -level drivers are available for that platform.ContentsWhat Do You Have? (2)Software (2)Acrobat (Online) Documentation (3)Utilities (3)Supported Application Development Environments (4)Where Do You Start? (4)Step 1. Install LabVIEW and/or LabWindows/CVI (4)Step 2. Install Your NI-VXI/NI-488.2 Driver Software (4)Step 3. Install Your NI-VISA Software (5)Start the Setup Program (5)Updating the NI-VISA Setup (6)Step 4. Check the Read-Me File (6)Using NI-VISA with PXI (7)Start the PXI Setup Wizard (7)Configure NI-VISA for PXI Interrupts (8)Step 1: Detecting an Interrupt (8)Step 2: Acknowledging an Interruptfrom Your PXI Device (9)Example (10)Device Manager Settings (11)Complete the PXI Device Registration (13)Using PXI Resources in your VISA Application (13)Resource Manager Operations (13)What Do You Have?Your kit contains the following software and documentation.SoftwareThe VXI plug&play disks are labeled NI-VISA for Windows NT/95/98Version 2.0 and contain the following software components.•VISA Dynamic Link Library•VISA Microsoft C and Borland C Import Libraries•VISA Microsoft Visual Basic Support Files•VISA GPIB-VXI Component•VPP-6 Compliant Windows NT/95/98 InstallerThe NI-VISA software in this kit is compatible with the WIN95/GWIN95and WINNT/GWINNT frameworks (the WIN95/GWIN95 frameworksinclude support for Windows 98). With NI-VISA installed on yourcomputer, you can run any VXI plug&play software compatible with these NI-VISA for WIndows NT/95/982© National Instruments Corporationframeworks. This includes instrument drivers and executable soft frontpanel software included with VXI plug&play-compatible instruments froma variety of vendors.Acrobat (Online) DocumentationYour kit includes online manuals in the form of Adobe Acrobat version 3.0portable document format (PDF) files. The Acrobat manuals and theirinstalled locations are as follows.•The NI-VISA User Manual describes how to program using NI-VISA:Start»Programs»VXIpnp»NI-VISA User Manual•The NI-VISA Programmer Reference Manual describes in detail theattributes, events, and operations you use in NI-VISA:Start»Programs»VXIpnp»NI-VISA ProgrammerReference ManualIf you do not have Adobe Acrobat Reader 3.0, you can download a copyfrom the Adobe Web site at /. UtilitiesThis release of NI-VISA for Windows NT/95/98 includes utilities to helpyou configure, develop, and debug your system quickly: T&M Explorerand NI Spy.You can use T&M Explorer to view your entire T&M system and configurevarious components. When you launch T&M Explorer, a list of your VXI,PXI, GPIB, and Serial devices appears on your screen. To view theproperties of each device (such as logical address, address space used, andprimary address), right-click on the device in the list. When you view theproperties of a National Instruments device, you can configure thehardware settings directly from the properties list.T&M Explorer replaces many earlier utilities, such as VXIedit andVISAconf, and integrates with the NI-DAQ Configuration Utility(for VXI-DAQ instruments). T&M Explorer also has new features, suchas an option to run Resource Manager at startup, and troubleshooting toguide you through configuration conflicts and errors.NI Spy tracks the calls your application makes to National InstrumentsT&M drivers, including NI-VXI, NI-VISA, and NI-488.2. It highlightsfunctions that return errors, so you can quickly determine which functionsfailed during your development. NI Spy can also log your program’s callsto these drivers, so you can check them for errors at your convenience.© National Instruments Corporation3NI-VISA for WIndows NT/95/98NI-VISA for WIndows NT/95/984© National Instruments CorporationFor PXI instruments, you must register device information with NI-VISA.See the section Using NI-VISA with PXI for information on how to do this, along with a description of the PXI functionality NI-VISA supports.Supported Application Development EnvironmentsThis release of NI-VISA for Windows NT/95/98 supports the followingApplication Development Environments (ADEs):•LabVIEW version 4.x , 5.x •LabWindows ™/CVI version 4.x , 5.x •Borland C/C++ version 4.5.x •Microsoft Visual C/C++ version 4.x , 5.x , 6.x •Microsoft Visual Basic version 4.x , 5.x Note Although NI-VISA has been tested and found to work with these ADEs, other ADEs or higher versions of the ADEs listed above may also work.Where Do You Start?Step 1. Install LabVIEW and/or LabWindows/CVIIf you want to use LabVIEW and/or LabWindows/CVI as VISAapplication development environments, install them first. The NI-VISAinstaller will detect them and install the appropriate support filesautomatically.If you install LabVIEW and/or LabWindows CVI after you install VISA,rerun the NI-VISA installer to get the latest VISA support files installedcorrectly.Step 2. Install Your NI-VXI/NI-488.2 Driver SoftwareThe installation method varies depending on the type of controller youpurchased, as shown in the following table. Refer to the documentationthat came with your controller for detailed installation instructions.ControllerInstallation VXI-PCI8000 MXI ControllerVXIpc 800/700/600 SeriesVXI-1394 ControllerThe NI-VXI/VISA kit installs both the NI-VXI and NI-VISA driver software. You do not need to install this package separately, unless this is an upgrade. Refer to the NI-VXI/VISA Read Me First document for more information.VXIpc-486 embedded controller NI-VXI and NI-488.2 are already installed on your hard drive.© National Instruments Corporation 5NI-VISA for WIndows NT/95/98You can also use a National Instruments serial board that works along withthe serial ports on your computer. If you are using only serial I/O, you donot need to install NI-VXI or NI-488.2.Note Because this implementation of VISA is a 32-bit driver, it looks for 32-bit versionsof NI-VXI and/or NI-488.2. If you are installing NI-VISA on Windows 95 andhave only 16-bit drivers, please contact National Instruments to request theNI-VXI Upgrade for Windows 95 or the Compatibility Release for NI-488.2.Step 3. Install Your NI-VISA SoftwareStart the Setup ProgramInsert the NI-VISA diskette into your disk drive. You can run SETUP.EXEeither from a DOS prompt or from the Start»Run menu.The installer prompts you for the desired installation type. If you choose anoption other than Express , the installer guides you with a series of promptsfor additional information, including the components you want to installand the target directory.VXI-AT2010 MXI ControllerInstall the NI-VXI for Windows 3.x /NT software. See Note.VXI-AT4000 MXI ControllerInstall the NI-VXI for Windows 3.x software. See Note.GPIB-VXI/C controller or anyNational Instruments GPIBboard that has a WindowsNT/95/98 driver Install the NI-488.2 for Windows NT/95/98 software.ControllerInstallation VXIpc embedded controller New VXIpc controllers —NI-VISA is already installed onyour hard drive. The remainder of this document applies onlyif you want to use the Setup program to make changes to yoursoftware.Upgrades —If you received this kit to upgrade your VXIpc,continue with the remainder of this document to install theNI-VISA software.All other cases Install the NI-VISA software. The remainder of this documentdescribes how to use the Setup program to install yoursoftware.ControllerInstallationAfter the installation completes successfully, if any system file has beenmodified, the following screen appears.Figure 1. Setup Completion Dialog BoxYou can either reboot the computer now so that the changes take effectimmediately, or you can reboot the computer at a later time. However,do not use the NI-VISA software until you reboot your computer.Updating the NI-VISA SetupYou can run the Setup program again to make changes to your software.The same screens and messages are displayed as when you installed thesoftware. Select the Custom option to configure any changes.Step 4. Check the Read-Me FileRefer to the readme.txt file included with your software for the mostup-to-date information about this release of NI-VISA.NI-VISA for WIndows NT/95/986© National Instruments Corporation© National Instruments Corporation 7NI-VISA for WIndows NT/95/98Using NI-VISA with PXINote Read this section only if you intend to use NI-VISA with PXI. Skip this section ifyou are not running a PXI system.This section explains how to begin developing PXI-based applications with NI-VISA. Versions of NI-VISA prior to NI-VISA 2.0 detected PXI devices automatically, and gave users access to all PCI-based devices in the system. This created a potential stability risk by exposing core system components to unintentional access. With NI-VISA 2.0, you must register PXI device information using the PXI Setup Wizard.Start the PXI Setup WizardRun VXIpnp \os \NIVisa\PXISWiz.EXE to start the PXI Setup Wizard. (VXIpnp refers to the directory in which you installed NI-VISA, and os refers to the operating system directory, either WinNT or Win95.) Thewizard first prompts you for basic information NI-VISA needs in order to properly locate and create sessions for your PXI instrument.Required setup information for PXI instruments includes:•Instrument Prefix —The VXI plug&play compliant instrument prefix for the device.•PXI Manufacturer ID —This 16-bit value is vendor-specific, and isunique among PCI-based device providers. The vendor ID number forNational Instruments Corporation, for example, is 0x1093.•PXI Model Code —The 16-bit device ID value is device-specific,defined by the instrument provider, and required for PCI-baseddevices.•Generates interrupts —Checking this box informs NI-VISA that youwish to use the VISA event-handling model in response to hardwareinterrupts your PXI instrument generates. If you check this box, thewizard will prompt you for more information in later steps.Note In text boxes where numerical information is required, preceding the numberwith “0x” informs the wizard that the number entered is a hexadecimal value. The wizard assumes all other numeric entries are decimal values.When you have finished entering basic device information, choose Next to continue.Note If you did not check the Generates interrupts box, skip ahead to the DeviceManager Settingssection.Configure NI-VISA for PXI InterruptsEnabling PXI interrupt handling within NI-VISA is a two step process.First, you must specify how your device detects a pending interrupt, andsecond, you must specify how to acknowledge an interrupt if one wasfound to be pending. The PXI Setup Wizard guides you through each ofthese steps.Step 1: Detecting an InterruptBecause PCI-based devices share one of four physical interrupt lines, VISAneeds a way to query your device to find out if it requires service when thesoftware detects a hardware interrupt. The wizard prompts you for thesequence of register accesses with which VISA makes this determination.Types of Register AccessesRegister accesses assume the form of Reads, Writes, or Compares:•Read—Performs a register read (of specified width) from a givenoffset relative to a given address space.•Write—Performs a register write of a given value (of specified width)to a given offset relative to a given address space.•Compare—Applies a user-supplied mask to the result of a Readoperation, and compares the masked result with another user-suppliedvalue.For the purposes of determining whether or not your device is generatingan interrupt, the Compare operation has an associated return value of Trueor False, dependent on the result of the compare. NI-VISA makes theassumption that the device is interrupting if and only if the result of allCompare operations is True. Because NI-VISA relies on the result of theCompare operation in making this assumption, at least one Compareoperation must be present in an interrupt detection sequence for thesequence to be valid.Create Register OperationsThe Interrupt Detection Info dialog box prompts you to add, edit, orremove register operations.When you click on the Add a step before, Add a step after, or Edit a stepbutton, the PXI-VISA Interrupt Information (Register Operation) dialogbox appears, as shown in Figure2. Use the dropdown menus to specify thetype of operation, its width, and the address space the operation applies to.Enter all other values directly into the text boxes. The relevance of eachvalue is dependent on the operation as described in the previous section,Types of Register Accesses.NI-VISA for WIndows NT/95/988© National Instruments CorporationFigure 2. Register Operation Dialog BoxAdding a Register OperationTo add a register operation, choose either Add a step before or Add a stepafter, depending on where you want the new step to be placed relative tothe currently selected step.Editing a Register OperationTo edit an existing register operation, double-click on the entry (orhighlight the entry and choose Edit a step).Removing a Register OperationTo remove a register operation, highlight the entry and chooseRemove a step.When you finish entering the sequence of register operations, choose Nextto continue.Step 2: Acknowledging an Interruptfrom Your PXI DeviceIn addition to the interrupt detection sequence, NI-VISA also needs thesequence of register operations required to acknowledge an interruptcondition for your device. At interrupt time, if NI-VISA determines thatyour device is interrupting (via the sequence of accesses specified inStep1), this sequence should do whatever is necessary to quell the interruptcondition. This sequence is constructed using the same Read, Write, andCompare operations discussed in Step 1, and individual operations areentered in an identical manner.Because this sequence should consist of the minimum operations necessaryto turn off an interrupt condition for your device, the result of any Compareoperations, while still valid, are irrelevant to interrupt acknowledgment.© National Instruments Corporation9NI-VISA for WIndows NT/95/98NI-VISA for WIndows NT/95/9810© National Instruments Corporation Note If your device uses ROAK (Release on Interrupt Acknowledge) interrupts, and theROAK register was accessed in the sequence specified by Step 1, this sequence can be left blank.ExampleThe hypothetical xyzScope is programmed to generate an interrupt when it finishes acquiring a waveform. The xyzScope defines an interrupt-enable register (INTEN), a generic status register (STATUS), and aninterrupt-acknowledge register (INTACK). The xyzScope maps its register set to BAR0. The registers are defined as follows:•INTEN (8 bit, offset 0x00)—Reading the register results in 0x1 if interrupts are enabled for the device, 0x0 otherwise.•STATUS (32 bit, offset 0x04)—Writing the register with 0xABCDcauses the device to update this register with the current device status.Reading the register returns this status. Suppose that reading a value of0x0080 indicates a pending interrupt, while 0x0000 means no interruptis pending.•INTACK (16-bit, offset 0x08)—Writing the register with a non-zerovalue acknowledges a pending interrupt condition.To configure NI-VISA to detect interrupts from the xyzScope, you would enter information into the PXI Setup Wizard as shown in Figures 3 and 4.Figure 3.Interrupt Detection Information for xyzScopeFigure 4. Interrupt Removal Information for xyzScopeIn this example, you would choose Next to continue when you finishedentering the sequence of register operations.Device Manager SettingsThe PXI Setup Wizard allows you to customize how your device shouldappear under Windows Device Manager on Windows 95/98 systems. Thisinformation includes the following:•Model Name—The name of the device.•Manufacturer Name—The manufacturer of the device.•Device Classification—The category of the device in the WindowsDevice Manager tree view.These settings are cosmetic and do not affect NI-VISA’s ability torecognize and control your PXI instrument. They are provided as aconvenience, allowing you to more fully customize your instrument driverpackage.© National Instruments Corporation11NI-VISA for WIndows NT/95/98NI-VISA for WIndows NT/95/9812© National Instruments CorporationRefer to Figures 5 and 6 for an example of how these Device Manager settings would appear on your system.Figure 5. Model Name and Device ClassificationFigure 6. Manufacturer NameWhen you finish entering the Device Manager settings, choose Next to continue.Device Classification Model Name Manufacturer Name© National Instruments Corporation 13NI-VISA for WIndows NT/95/98Complete the PXI Device RegistrationTo make your PXI device available for use, NI-VISA must store the previously collected information in the system registry. You use the PXI Setup Wizard to specify a Windows Setup Information (.inf) file the operating system can use to configure NI-VISA for use with your device. You can distribute this file with any PXI application developed with NI-VISA. Refer to the README.TXT file for information on how to incorporate the .inf files into your installation package.After choosing the format and storage location appropriate for your application, choose Finish .Note NI-VISA cannot locate your PXI device until you have updated your systemregistry using the .inf file.Using PXI Resources in your VISA ApplicationWhen you finish configuring NI-VISA for use with your PXI device, you are ready to begin application development. This section describes PXI-specific additions to NI-VISA.Note To make use of PXI functionality in your application, you must define the macroNIVISA_PXI before including the visa.h header file.Resource Manager OperationsPXI supports a single resource type: INSTR. The following VISA operations apply when using PXI:•viFindRsrc()Basic Operation: Use either of the following strings to locate your PXI devices:•*INSTR •PXI?*INSTRAdvanced Operation: Beginning with VISA 2.0, you can use complex queries to find instruments matching a more precise specification. For example, you can use the following description string to find all National Instruments PXI devices:PXI?*INSTR{VI_ATTR_MANF_ID == 0x1093}Refer to the viFindRsrc topic in the NI-VISA help file for more information.•viOpen()Resource strings assume the form:PXI[bus]::deviceNumber[::functionNumber][::INSTR]•viGetAttribute(),viSetAttribute()NI-VISA for WIndows NT/95/9814© National Instruments CorporationThe following attributes are specific to PXI:The following attributes are common among all device classes but have special meaning in PXI:AttributeDescription VI_ATTR_PXI_DEV_NUMDevice number (same as in viOpen )VI_ATTR_PXI_FUNC_NUMFunction number (same as in viOpen )VI_ATTR_PXI_SUB_MANF_ID Subsystem manufacturer ID VI_ATTR_PXI_SUB_MODEL_CODE Subsystem model code VI_ATTR_PXI_MEM_TYPE_BAR0 throughVI_ATTR_PXI_MEM_TYPE_BAR5Memory type used in the specified BAR. Valid values include: VI_PXI_ADDR_NONEVI_PXI_ADDR_MEMVI_PXI_ADDR_IOVI_ATTR_PXI_MEM_BASE_BAR0throughVI_ATTR_PXI_MEM_BASE_BAR5Memory base address assigned to the specified BAR (if applicable).VI_ATTR_PXI_MEM_SIZE_BAR0 throughVI_ATTR_PXI_MEM_SIZE_BAR5Memory size used by the device inthe specified BAR (if applicable).AttributeDescription VI_ATTR_MANF_IDThe PCI vendor ID for this device.VI_ATTR_MODEL_CODEThe PCI device ID for this device.VI_ATTR_INTF_TYPE Always has a value ofVI_INTF_PXI for PXIinstruments.VI_ATTR_INTF_NUMThe bus number for the device, asspecified in viOpen().The following attributes are common to all device classes. Refer to theNI-VISA Programmer Reference Manual for more information onthese attributes:•VI_ATTR_TMO_VALUE•VI_ATTR_RSRC_NAME•VI_ATTR_RSRC_SPEC_VERSION•VI_ATTR_RSRC_IMPL_VERSION•VI_ATTR_RSRC_MANF_NAME•VI_ATTR_INTF_INST_NAME•VI_ATTR_INTF_NUM•VI_ATTR_WIN_BASE_ADDR•VI_ATTR_WIN_SIZE•VI_ATTR_WIN_ACCESSEvent OperationsThe standard VISA event operations support the following event typesfor PXI:•VI_EVENT_IO_COMPLETION—for asynchronous block moves•VI_EVENT_PXI_INTR—for PXI hardware interrupt handlingLow-Level and High-Level Register OperationsThe standard VISA register operations use the following address spacesfor PXI:•VI_PXI_BAR0_SPACE through VI_PXI_BAR5_SPACE—spaceparameter for memory or I/O cycles•VI_PXI_CFG_SPACE—for configuration cycles© National Instruments Corporation15NI-VISA for WIndows NT/95/98。
基于PCI总线数据采集卡驱动程序的开发
![基于PCI总线数据采集卡驱动程序的开发](https://img.taocdn.com/s3/m/aa67c6240812a21614791711cc7931b765ce7b4c.png)
基于PCI总线数据采集卡驱动程序的开发
王长清
【期刊名称】《河南机电高等专科学校学报》
【年(卷),期】2002(010)003
【摘要】针对Windows操作系统,利用驱动程序开发工具WinDriver,实现了基于PCI总线数据采集卡驱动程序的开发.
【总页数】3页(P31-33)
【作者】王长清
【作者单位】河南师范大学,物理与信息工程学院,河南,新乡,453002
【正文语种】中文
【中图分类】TP311.1
【相关文献】
1.PCI总线数据采集卡Windows NT驱动程序的设计 [J], 袁晓兵;张新;王沛;王国辉
2.基于PCI总线的数据采集卡WDM驱动程序开发 [J], 孙健;贾民平;许飞云;胡建中
3.基于WinDriver的PCI数据采集卡的设备驱动程序开发 [J], 张思博;董春;李宗帅
4.用WinDriVer开发ISA总线数据采集卡驱动程序 [J], 潘伟峰;江渝;刘和平;魏宇平
5.基于PCI的红外图像采集卡设备驱动程序开发 [J], 孙茂阳;李坡;聂镭
因版权原因,仅展示原文概要,查看原文内容请购买。
NI-VXI NI-VISA fu
![NI-VXI NI-VISA fu](https://img.taocdn.com/s3/m/c434f87fb80d6c85ec3a87c24028915f804d8425.png)
INSTALLATION GUIDENI-VXI/NI-VISA for the™™PCI-MXI-2 for LinuxThis installation guide describes system requirements, gives installationinstructions, and includes support information for NI-VXI/NI-VISA for thePCI-MXI-2 interface for the Linux operating system.System RequirementsNI-VXI for Linux requires the following system components:•Linux kernel 2.4.x or 2.6.x for the Intel x86 architecture•Support for building kernel modules (included with all major Linuxdistributions)Recommended Linux distributions are:•RedHat Enterprise Linux•SuSE Linux•Mandrake LinuxInstallation InstructionsBefore you begin, you may need to install Linux on your computer.Refer to your Linux distribution documentation for instructions. Installthe PCI-MXI-2 as described in the Getting Started with YourVXI/VME-PCI8026 and the NI-VXI/NI-VISA Software for Linux manual.After your computer is booted into Linux, you are ready to install theNI-VXI/NI-VISA software.To install NI-VXI/NI-VISA for the PCI-MXI-2 for Linux, perform thefollowing steps:1.Insert the NI-VXI/NI-VISA for Linux CD.2.Log in to your system as root.National Instruments, NI, , and LabVIEW are trademarks of National Instruments Corporation. Refer to the Terms of Use section on /legal for more information about NationalInstruments trademarks. Other product and company names mentioned herein are trademarks or trade names of their respective companies. For patents covering National Instruments products, refer to the appropriate location: Help»Patents in your software, the patents.txt file on your CD, or /patents .© 2002–2005 National Instruments Corporation. All rights reserved. 371689A-01Oct053.Mount the CD-ROM.4.To change the current directory to the mounted CD-ROM, type thefollowing command:cd /media/cdromNote This command may vary depending on your Linux distribution.5.To run the installation script, type the following command:./INSTALLThe INSTALL script places NI-VXI and NI-VISA in their default locations in /usr/local . The script uses rpm to install the packages. The script also optionally installs support for NI-VXI in LabVIEW.Note There are two versions of the driver. Version 2.0.x supports Linux kernel 2.4.x , and version 2.1.x supports Linux kernel 2.6.x . The INSTALL script autodetects which version to install.See the README file on the CD-ROM for additional important information and instructions, including how to compile and load the driver.Technical SupportTechnical support for Linux-specific problems is available via email and phone. Send your questions to ************** or call (512) 795-8248. See /support/vxisupp.htm for additional information and resources related to NI-VXI/NI-VISA for the PCI-MXI-2 for Linux.For more information, visit the KnowledgeBase, a searchable online database of common questions and support issues. You canaccess the KnowledgeBase at /support by clicking the KnowledgeBaselink.。
PCI总线论文:PCI总线 驱动程序 加密卡 ARM
![PCI总线论文:PCI总线 驱动程序 加密卡 ARM](https://img.taocdn.com/s3/m/18fca3313968011ca30091d4.png)
PCI总线论文:基于PCI总线的嵌入式加密卡设计【中文摘要】当今世界计算机蓬勃发展,软件业日益更新,然而盗版软件随之而来。
面对软件的大量盗版,软件制造商门也采取了对策,那就是反盗版,怎样反盗版呢?方法就是对软件系统进行加密。
软件系统加密的手段有两种,一种是软件加密,一种是硬件加密。
目前,比较安全的加密方法是硬件加密,硬件加密技术也随着硬件技术的发展而发展。
市场上的硬件加密设备多种多样,各具特色。
只有采用最先进的技术才能设计出最安全、最可靠的硬件加密设备。
为此,我们研究了“基于PCI总线的嵌入式加密卡”本课题设计的“基于PCI总线的嵌入式加密卡”来源于泳池监控系统,采用PCI总线技术和嵌入式ARM 技术相结合,利用“代码移植”的加密原理,能够对软件系统的关键数据进行加密处理,并能配合软件系统实现其完整的功能,对防止软件盗版有着重要的意义。
本论文内容分四部分:第一部分介绍了本课题的研究意义、课题的来源、理论基础以及当前加密卡的发展状况;第二部分介绍了本加密卡的硬件设计,包括硬件电路的总体设计和三大电路模块的设计,三大分模块是:ARM处理器电路的设计、PCI总线电路的设计和双端口RAM电路的设计,这一部分详细的介绍了各个模块的外围电路设计;...【英文摘要】Recently, with the rapid development of computer technology, software industry is also developing, while it is occurred to pirate others software. In the face ofsuch phenome-non, software manufacturers take the corresponding countermeasures that is anti-piracy. How to avoid pirating? The only method is to encrypt for software system. These are two kinds of methods to encrypt software system, one is software encryption, and another is hardware encryption which is safer method. Hardware encryption technology...【关键词】PCI总线驱动程序加密卡 ARM【英文关键词】PCI Bus Driver program Encryption Card ARM【索购全文】联系Q1:138113721 Q2:139938848同时提供论文写作一对一辅导和论文发表服务.保过包发【目录】基于PCI总线的嵌入式加密卡设计摘要5-6ABSTRACT6-7第1章绪论10-17 1.1 课题意义10-11 1.2 课题来源11-13 1.3 课题理论基础13-16 1.3.1 加密卡的加密原理13 1.3.2 加密卡的发展13-14 1.3.3 PCI局部总线技术的发展14-15 1.3.4 嵌入式ARM技术的发展15-16 1.4 课题的研究任务16-17第2章加密卡的硬件电路设计17-38 2.1 加密卡硬件总体结构设计17-18 2.2 ARM处理器电路的设计18-21 2.2.1 Nano2410V2板简介19 2.2.2 ARM核心板外围电路的设计19-21 2.3 PCI总线电路的设计21-31 2.3.1 PCI总线和PCI9052接口芯片21-23 2.3.2PCI硬件电路的设计23-31 2.4 双端口RAM电路的设计31-36 2.4.1 CY7C133简介31-33 2.4.2 CY7C133外围电路的设计33-36 2.5 电路设计注意事项36-38第3章加密卡的软件设计38-57 3.1 加密卡软件总体结构设计38 3.2 PCI驱动程序的开发38-47 3.2.1 驱动工具的选取38-39 3.2.2 利用DriverStudio开发PCI驱动程序39-47 3.3 ARM核心板应用程序的开发47-52 3.3.1 Linux系统运行平台的搭建47-50 3.3.2 ARM应用程序的开发50-52 3.4 PC机应用程序的开发52-57 3.4.1 应用程序开发的基本思想52-53 3.4.2 应用程序与驱动程序之间的数据传输53-57第4章加密卡软件和硬件的综合调试57-66 4.1 PCI总线和双端口RAM通信的调试57-59 4.1.1 PCI驱动程序的安装与调试57 4.1.2 EEPROM配置信息的烧写57-58 4.1.3 PCI9052和双端口RAM间控制逻辑的调试58-59 4.2 ARM处理器和双端口RAM通信的调试59-64 4.3 PC机通过PCI总线和ARM处理器之间通信的调试64-66结论66-67参考文献67-69附录基于PCI总线的嵌入式加密卡实物图69-71致谢71。
ni visa库用法 -回复
![ni visa库用法 -回复](https://img.taocdn.com/s3/m/4d8ee293185f312b3169a45177232f60ddcce786.png)
ni visa库用法-回复题目:Ni Visa库的用法引言:Ni Visa库(National Instruments Virtual Instrument Software Architecture)是一款功能强大的开发工具,用于与各种设备进行通信和控制。
本文将以Ni Visa库的用法为主题,详细介绍Ni Visa库的安装、配置和应用实例,并逐步回答相关问题,以帮助读者更好地理解和使用Ni Visa库。
第一部分:Ni Visa库的安装和配置(500字左右)1. 下载和安装:访问National Instruments官方网站,下载Ni Visa 库的最新版本,并按照安装向导提示进行安装。
2. 配置设备和驱动程序:安装完成后,打开Visa Configuraton Assistant工具,选择和配置支持的设备和驱动程序。
这个工具将帮助用户快速设置通信参数和驱动程序的连接选项。
第二部分:Ni Visa库的应用实例(1000字左右)1. 连接设备:使用Visa自带的函数库,编写简单的代码连接设备。
以连接GPIB设备为例,首先使用viopen进行连接,然后使用viclose关闭连接(使用低级通信接口函数)。
2. 读写数据:使用visawriter(viopen的一个变体函数)可以向设备发送命令,并使用visareader(viclose的一个变体函数)接收设备返回的数据。
此外,可以使用visawriteline和visareadline,实现与设备的交互。
第三部分:Ni Visa库常见问题及解决方法(500字左右)1. 无法找到设备:检查设备是否正确连接,确保驱动程序已正确安装。
2. 读写错误:检查设备的通信参数是否正确设置,尝试更改波特率和数据位数等配置选项。
3. 程序崩溃:检查代码中是否有潜在的错误,如资源泄漏和指针问题。
使用适当的异常处理机制。
结论:本文详细介绍了Ni Visa库的安装、配置和应用实例,并对常见问题进行了解答。
ni visa库用法 -回复
![ni visa库用法 -回复](https://img.taocdn.com/s3/m/fd2ec744a7c30c22590102020740be1e650ecc26.png)
ni visa库用法-回复主题:NI-VISA库的用法引言:NI-VISA(National Instruments Virtual Instrument Software Architecture)是一款用于通信与控制领域的库,它提供了一组功能强大的API和工具,用于实现计算机与各种外部设备的通信和控制。
无论是使用GPIB、串行口、以太网、USB等任何通信接口,NI-VISA都能提供统一的编程接口,简化设备通信与控制的开发过程。
本文将以NI-VISA库的用法为主题,详细介绍如何使用NI-VISA进行设备通信与控制。
一、NI-VISA库的安装与配置1. 下载和安装NI-VISA库。
2. 安装设备驱动程序。
3. 配置VISA资源管理器。
二、创建VISA会话1. 引入NI-VISA库。
2. 初始化VISA库。
3. 打开与设备的通信连接。
4. 创建VISA会话对象。
三、查询和设置设备属性1. 查询设备的身份信息。
2. 查询和设置设备的状态。
3. 查询和设置设备的控制参数。
四、读写设备数据1. 使用VISA会话对象进行数据读取和写入。
2. 选择适当的读写方式。
3. 处理读写数据的错误和超时。
五、关闭VISA会话和释放资源1. 关闭VISA会话对象。
2. 清空VISA会话缓冲区。
3. 释放VISA资源。
六、示例代码和应用场景1. 使用NI-VISA库控制GPIB设备。
2. 使用NI-VISA库与串行设备进行通信。
3. 使用NI-VISA库进行网络通信。
七、NI-VISA库的优势和应用实例1. 统一的编程接口。
2. 广泛的通信接口支持。
3. NI-VISA在自动化测试、仪器控制等领域的应用实例。
八、总结NI-VISA库作为一款用于通信与控制领域的库,提供了丰富的功能和灵活的接口,方便了设备通信与控制的开发。
通过一系列的步骤,我们可以完成NI-VISA库的安装与配置、创建VISA会话、查询和设置设备属性、读写设备数据、关闭VISA会话和释放资源等操作。
基于NI-VISA的野外靶场设备远程控制系统软件开发设计
![基于NI-VISA的野外靶场设备远程控制系统软件开发设计](https://img.taocdn.com/s3/m/a2c868420a1c59eef8c75fbfc77da26924c59656.png)
!计算机测量与控制!"#""!$#!%"!!"#$%&'()'*+%('#',&-!",&(".!#&$1!#收稿日期 "#"&&"#-$!修回日期"#""#&&$%基金项目 陕西省教育厅"#&-年度专项科学研究计划!&-0)##1'"%作者简介 吴宗卓!&-1."&男&陕西西安人&硕士&讲师&主要从事软件技术方向的研究%引用格式 吴宗卓!基于A 4]=4M >的野外靶场设备远程控制系统软件开发设计(0)!计算机测量与控制&"#""&$#!%"*&$1&/$!文章编号 &%.&/'-1 "#"" #%#&$1#%!!234 &#!&%'"% 5!6789!&&]/.%" ;<!"#""!#%!#"&!!中图分类号 Z *"-文献标识码 >基于Y J X T J 87的野外靶场设备远程控制系统软件开发设计吴宗卓!陕西国防工业职业技术学院计算机与软件学院&西安!.&#$##"摘要 为实现远程控制野外靶场所有靶机设备的同时&实时显示靶机的状态与射击成绩&开发基于A 4]=4M >的野外靶场设备远程控制系统$根据所选取的开发平台和语言&划分上位机工作模式&再借助三层控制架构&规范数据库表的连接形式&从而干预通讯模块的实时连接形式&完成远程控制系统的上位机软件设计$在此基础上&利用A 4]=4M >编程接口定义串口字节的数量级水平&通过配置远程串口方式&处理已导入的数据信息&联合程序框图体系&实现基于A 4]=4M >的远程控制程序设计&结合关键的上位机应用结构&完成野外靶场设备远程控制系统软件的开发与设计$实验结果表明&基于A 4]=4M >的应用软件提供了多种工作模式&能够同时控制重武器靶机'轻武器精度靶机'轻武器应用靶机设备&使其显示出真实射击成绩&体现了控制系统好好的准确性和稳定性&可以较好适应多种不同的射击训练需求%关键词 A 4]=4M >接口$野外靶场设备$远程控制$应用软件$数据库表$通讯模块/'0'."$#',&*,1/'+2I ,"4O '#"&'!",&(".89+&'#8"4&6*('4"(P 2'.1O *,I 'L M %2$#',&H *+'1",Y J X T J 87@K+E 7I`J L E !M 6J E E V E RU E W <L ;H Q M 69H 76H D 7TM E R ;\D Q H &M J D D 7^947S ;9;L ;H E RZ H 6J 7E V E I N&,9i D 7!.&#$##&U J 97D "7=+&(*3&*47E Q T H Q ;E Q H D V 9`H ;J H Q H W E ;H 6E 7;Q E V E R D V V ;J H ;D Q I H ;T Q E 7H H _L 9<W H 7;97;J H R 9H V T &D 7TT 9S <V D N ;J H S ;D ;L S D 7T S J E E ;97I Q H S L V ;S E R ;J H ;D Q I H ;97Q H D V ;9W H &D Q H W E ;H 6E 7;Q E V S N S ;H WP D S H T E 7A 4]=4M >9S T H [H V E <H T !>66E Q T 97I ;E ;J H S H V H 6;H T T H [H V E <W H 7;<V D ;]R E Q WD 7T V D 7I L D I H &T 9[9T H S 97;J H\E Q 897I W E T H E R ;J H J E S ;6E W <L ;H Q &D 7T ;J H 7;J H ;J Q H H ]V D N H Q 6E 7;Q E V S ;Q L 6;L Q H 9S L S H T ;E S ;D 7T D Q T 9`H ;J H6E 77H 6;9E 7R E Q W E R ;J HT D ;D P D S H ;D P V H &;J H Q H P N 97;H Q [H 797I 97;J HQ H D V ];9W H6E 77H 6;9E 7R E Q W E R ;J H6E W W L 796D ;9E 7W E T L V H &D 7T 6E W <V H ;H S ;J HJ E S ;6E W <L ;H Q S E R ;\D Q H T H S 9I 7E R ;J H Q H W E ;H 6E 7;Q E V S N S ;H W!37;J 9S P D S 9S &;J HA 4]=4M ><Q E I Q D W W 97I 97;H Q R D 6H 9S L S H T ;ET H R 97H ;J H E Q T H Q E RW D I 79;L T H E R ;J H S H Q 9D V <E Q ;P N ;H S &;J H 9W <E Q ;H TT D ;D 97R E Q W D ;9E 79S <Q E 6H S S H TP N 6E 7R 9I L Q 97I ;J H Q H W E ;H S H Q 9D V <E Q ;&D 7T ;J H <Q E I Q D WP V E 68T 9D I Q D WS N S ;H W9S 6E W P 97H T ;E Q H D V 9`H ;J HA 4]=4M >]P D S H T Q H W E ;H 6E 7;Q E V <Q E I Q D WT H S 9I 7!4;J D S 6E W <V H ];H T ;J H T H [H V E <W H 7;D 7TT H S 9I 7E R Q H W E ;H 6E 7;Q E V S N S ;H WS E R ;\D Q H R E Q ;J H R 9H V TS J E E ;97I Q D 7I HH _L 9<W H 7;!Z J HH ^<H Q 9W H 7;D V Q H S L V ;S S J E \;J D ;;J HD <<V 96D ;9E 7S E R ;\D Q HP D S H TE 7A 4]=4M ><Q E [9T H SD[D Q 9H ;N E R\E Q 897I W E T H S &\J 96J6D 7S 9W L V ;D 7H E L S V N 6E 7;Q E V ;J H J H D [N \H D <E 7;D Q IH ;T Q E 7H &;J H V 9I J ;\H D <E 7<Q H 69S 9E 7;D Q I H ;T Q E 7H &D 7T ;J H V 9I J ;\H D <E 7S D <<V 96D ;9E 7;D Q I H ;T Q E 7H H _L 9<W H 7;&S E ;J D ;9;6D 7S J E \Q H D V S J E E ;97I Q H S L V ;S &Q H R V H 6;97I ;J H I E E T 6E 7;Q E V S N S ;H W!Z J H D 66L Q D 6N D 7T S ;D P 9V 9;N 6D 7P H P H ;;H Q D T D <;H T ;E D [D Q 9H ;N E R T 9R R H Q H 7;S J E E ;97I ;Q D 9797I 7H H T S !>'96"(1+*A 4]=4M >97;H Q R D 6H $R 9H V T Q D 7I H H _L 9<W H 7;$Q H W E ;H 6E 7;Q E V $D <<V 96D ;9E 7S E R ;\D Q H $T D ;D P D S H ;D P V H $6E W W L 796D ;9E 7W E T ]L V H!引言A 4]=4M >是以仪器编程标准为基础开发的高级应用编程接口&同时受到*,4仪器'=,4仪器'可控制B *4Y '以太网'K M Y 串口等多个硬件设备结构的作用影响&可在同类型驱动程序的作用下&建立用户主机与各级仪器仪表之间的协议连接关系(&)%在实际应用过程中&A 4]=4M >编程接口不受平台'总线及背景编码环境的限制&能够同步配置所有网关串口&不但能够干扰与控制传输信息&也可以避免互联网环境中出现明显的数据堆积行为%与传统=4M >接口相比&A 4]=4M >接口对传输数据始终保持自下而上的处理原则&一方面能够整合信息资源使其形成完整的数据函数集合&另一方面也可为后台应用程序提供完整的数据链接支持&从而使其具备更强的信息处理能力(")%在军事化技能训练中&实弹野外打靶是一项必不可少的实践内容%由于枪支型号'靶机位置等外在因素的不同&野外靶场的网络化与信息化建设规模也会随之改变&这些!投稿网址 \\\!5S 56V N8`!6E W第%期吴宗卓*基于A 4]=4M >""""""""""""""""""""""""""""""""""""""""""""""""""""的野外靶场设备远程控制系统软件开发设计#&$-!#都会对实际训练的质量与效率造成影响($)%近年来&随着训练需求的不断转变&实弹打靶的内容也从单一科目训练&转化为多类型'多兵种武器的综合性科目训练%近年来已有相关领域研究学者对野外靶场设备远程控制做出了研究&文献(/)提出一体化航天外测测试发射控制系统设计&通过对系统测试需求'流程和系统构成的分析&设计开发一体化的航天外试发射控制系统&实现靶场发射控制%该方法对野外靶场设备远程控制效率较好&但该方法对不同的射击训练的需求适应性较差%文献(')提出靶场试验训练指挥控制系统设计%以M Z a $"芯片为核心应用设备&利用振动传感器进行自动报靶检测&将所有数据信息文件反馈至训练指挥中心的*U 端主机中%然而该系统注重监测重武器靶机&对轻武器精度靶机'轻武器应用靶机的实际控制能力有限&导致了其工作模式过于单一&并不能较好适应多种不同的射击训练需求%为解决上述问题&设计并开发一种基于A 4]=4M >的野外靶场设备远程控制系统软件开发程序%设计上位机软件&包括开发平台与语言的设计'工作模式的划分'三层控制架构及数据库的设计&并基于A 4]=4M >编程接口设计通讯模块&保障野外靶场设备远程控制系统的数据通信及传输%基于A 4]=4M >的远程控制程序&按照串口字节数定义'远程串口配置'数据信息导入'程序框图连接的处理流程&实现野外靶场设备远程控制系统软件的设计与开发%@!上位机软件设计野外靶场设备远程控制系统的上位机软件设计包含开发语言定义'工作模式划分'三层控制架构搭建'数据库表连接等多个处理流程&具体设计流程如下%@A @!开发平台与语言为实现野外靶场设备的远程控制&上位机软件开发平台以A G ZF Q D W H \E Q 8作为编程语言&同时联合传输信息的公共运行库与数据库主机&在整理远程源代码文件的同时&对下级运行指令进行译码处理(%)%由于编码与转码操作的同步进行&远程控制系统软件不但能够同时调度所有靶机设备&也可直观反映真实的射击成绩与射击状态%设+')表示两个不同的控制指令编程系数&2+J )表示在+')取值不相等情况下的数据信息定义项&%+表示编程系数为+时的控制指令译码向量&%)表示编程系数为)时的控制指令译码向量&3&表示打靶环数为&时的靶机震动系数&3V 表示打靶环数为V 时的靶机震动系数&通常情况下&V 的取值属于(&&&#)的物理区间之内&<K 表示单次打靶任务中的命中环数均值%联立上述物理量&可将野外靶场设备远程控制系统开发平台的设备控制原则表示为*3)2+J )!%+J %)""8!3&J 3V <K ""槡"!&"!!由于AG ZF Q D W H \E Q 8编程语言属于@97T E \S 控件库中的可更改型编码文件&因此满足设备控制原则的靶数信息可被直接写入远程控制系统的数据库主机之中%@A B !工作模式划分野外靶场设备远程控制系统有$种基本应用架构&且不同架构形式之下&控制主机所表现出来的数据处理能力也有所不同(.)%为使上位机软件的通用性需求得到满足&应将控制系统软件体系划分为如下/种工作模式*网口独立型工作模式'串口独立型工作模式'客户端工作模式'主机工作模式%&?"?&!网口独立型工作模式图&反映了网口独立型工作模式的连接原理&在远程控制主机的作用下&A 4]=4M >编程接口可以同时管控多台靶机设备&由于数据库主机的加入&核心控制元件能够准确记录靶机状态'射击成绩与靶数信息&并可借助传输信道&对这些数据文件进行二次整合与处理(1)%图&!网口独立型工作模式示意图&?"?"!串口独立型工作模式串口独立型工作模式是一种最简单的上位机软件连接形式&能够同时适应近程武器射击训练'重武器射击训练等多种实用需求&其具体连接方式如图"所示%由于靶机状态'射击成绩'靶数信息的存储过程不需要数据库主机的配合&因此A 4]=4M >编程接口的数据信息参量可直接借助X M "$"组织进入系统核心控制主机中(-)%图"!串口独立型工作模式示意图&?"?$!客户端工作模式在野外靶场设备远程控制系统上位机软件的客户端工作模式中!如图$所示"&中心主机的*U 端设备可直接存储靶机状态'射击成绩与靶数信息&并可在A 4]=4M >编程接口的作用下&生成大量的虚拟信息文件&以供远程控制主机的直接调取与利用(&#)%!投稿网址 \\\!5S 56V N8`!6E W!!计算机测量与控制!第$#""""""""""""""""""""""""""""""""""""""""""""""""""""卷#&/#!#图$!客户端工作模式示意图&?"?/!主机工作模式与客户端工作模式相比&主机工作模式增设了数据库设备&且所有已生成的虚拟信息文件都可被数据库主机完全存储&如图/所示%图/!主机工作模式示意图根据靶机设备工作需求的不同&远程控制可根据A 4]=4M >编程接口的连接形式&选择最为合适的主机网络工作模式%@A C !三层控制架构远程控制系统的上位机软件采取三层架构的搭建模式&其结构体系从上到下依次为K 4O !用户界面层"'Y O O !业务逻辑层"'2>O !数据访问层"&如图'所示%图'!上位机软件的三层控制架构示意图图'中&用户界面层逻辑结构对应野外靶场设备的实际靶数信息&作为整个控制架构的顶层连接单元&主要负责筛查A 4]=4M >编程接口的连接能力&并可将所得数据信息汇总&反馈回核心控制主机中(&&)%业务逻辑层结构对应个人射击成绩&在控制架构体系中&该结构起到承上启下的连接作用&二次加工与处理已存储的数据信息文件%数据访问层结构与野外靶场设备直接对应&能够在上位机软件的作用下&将靶数信息文件再次拆分成多个独立的传输个体&以供数据源单位的调取%一般情况下&上位机软件与数据源单位同时负载于远程控制系统的架构模式外部&可在准确记录靶数信息等文件参量的同时&对野外靶场设备的实时连接状态进行调试%@A D !数据库表在野外靶场设备远程控制系统中&数据库表始终与靶数信息参量保持对应存在关系&即每一类靶场设备都会有一个完全独立的数据库表结构与之对应(&")%在实际设计过程中&数据库表结构主要涉及U V D S SZ D Q I H ;'U V D S SB Q D T H 'U V D S SO D L E L ;等多种字段命名形式&具体标准如表&所示%表&!数据库表设计标准字段名类型说明长度默认值U V D S SZ D Q I H ;V 7[D Q 6J D Q 数据库目标&"17H \9T U V D S SB Q D T H T D ;H ;9W H 数据库级别%17H \9T U V D S SO D L 8E L ;V 7[D Q 6J D Q数据库布局&"17H \9T Z Q D 97Z N <H 97;训练类型$"7H \9T Z Q D 97A L W V 7[D Q 6J D Q 训练编号&"17H \9T Z Q D 972D ;HK 79_L H 9T H 7;9R 9H Q 训练日期'#7H \9T其中&+V 7[D Q 6J D Q,表示满足该字段要求的靶数信息长度值等于+&"1,&且可被上位机软件的数据库设备直接读取出来&+7H \9T ,表示该类型字段的取值范围为(&&."&+T D ;H ;9W H ,表示满足该字段要求的靶数信息长度值等于+%1,&通常为射击成绩的数据文件记录形式&+97;,表示靶数信息的常规输出形式&+K 79_L H 9T H 7;9R 9H Q ,表示可在远程控制系统上位机软件中自由传输的靶数信息参量%@A E !通讯模块上位机软件的通讯模块以A 4]=4M >编程接口作为起始结构&支持U V D S S Z D Q I H ;字段'U V D S S B Q D T H 字段'U V D S S O D L 8E L ;字段等多个数据信息文件的同时接入&对于野外靶场设备而言&该类型应用设备可同步处理原生的通讯文件&一方面满足了远程控制主机的感应时效性需求&另一方面也可将原有的封装文件全部打散&并按需传输至既定的硬件应用体系之中(&$)%一般来说&通讯模块中传输的靶数信息参量必须同时满足端口需求与编程接口需求%所谓端口需求是指在单位时间之内&由野外靶场设备震动行为引发的信号变动量必须保持为定值$编程接口需求则是指所有靶数信息都必须在经过A 4]=4M >原则的编码处理后&才能继续向着其目标位置传输(&/)%设\2表示上位机软件的端口需求向量&B 4表示单位时间之内的靶数信息字段传输均值&<E 表示靶数信息字段的传输特征值&&表示野外靶场设备的单位震动权限&b 表示定向化指标系数%联立公式!&"&可将野外靶场设备远程控制系统的通讯模块连接行为定义为*!投稿网址 \\\!5S 56V N8`!6E W第%期吴宗卓*基于A 4]=4M >""""""""""""""""""""""""""""""""""""""""""""""""""""的野外靶场设备远程控制系统软件开发设计#&/&!#')3\2"1%S V B !"4"<E &&J b !""!!由于通讯模块始终与数据库表保持一一对应关系&所以在野外靶场设备远程控制系统的上位机软件中&待传输的靶数信息参量越多&通讯模块的实际作用能力也就越强&反之则越弱(&')%B !基于Y J X T J 87的远程控制程序在上位机软件体系的支持下&按照串口字节数定义'远程串口配置'数据信息导入'程序框图连接的处理流程&完成基于A 4]=4M >的远程控制程序设计&两相结合&实现野外靶场设备远程控制系统软件的设计与开发%B A @!YJ X T J 87为实现野外靶场设备远程控制系统软件开发&应用A 4]=4M >编程接口来与各种仪器总线进行通信&为远程控制系统的通信提供保障%A 4]=4M >总线4-3软件是一套与平台'总线'环境独立出来的集成软件&可用于K M Y &B *4Y &串行&=,4&*,4&G ;J H Q 7H ;的配置与调试%A 4]=4M >建立在自底向上的架构模式基础上&建立了一套4-3的统一控制系统%=4M >的应用程序很简单&另外&A 4]=4M >还提供了很好的工具控制和资源管理能力%A 4]=4M >用于串行通信或B *4Y 传输数据%A 4]=4M >可以以一致的方式操作各种接口&并且具有很强的兼容性%B A B !串口字节数定义串口字节数是指靶数信息在单位时间内通过A 4]=4M >编程接口的数量级水平&以P 9;-S 作为衡量单位%对于野外靶场设备远程控制系统的上位机软件而言&串口字节的数量级水平越高&就表示靶机设备中待显示的靶数信息量越多%在实际应用过程中&靶机设备显示一个靶数信息和多个靶数信息所需的串口字节数量水平也有所不同(&%)%简单来说&就是在靶机设备中的所有靶数信息&都有且仅有一个串口字节与之保持独立映射关系&随着数据信息传输量的增大&同时存在的映射集合数量也会不断增大&在此情况下的最大串口字节数量&也就是野外靶场设备远程控制系统中的显示信息最大值%设*&'*"表示A4]=4M >接口中两个不同的靶数信息编码源向量&5&'5"表示两个不同的靶数信息源码文本特征值&联立公式!""&可将基于A 4]=4M >的靶数信息串口字节数定义条件定义为*U W D ^)#4#槡W D^!*&5&8&""!*"5"8&""'"!$"式中&#表示既定的源码系数拆分项&4表示A4]=4M >编程接口中的数据参量编码系数&\表示已存储数据中靶数信息参量的最大分辨值结果%对野外靶场设备远程控制系统来说&串口字节数定义结果直接决定了靶数信息在A 4]=4M >编程接口中的实时传输能力%B AC !远程串口配置远程串口配置是野外靶场设备远程控制系统软件开发的重要设计环节&可在A 4]=4M >编程主机元件的作用下&制定野外靶场设备远程控制主机的终止与启用程序&并可以对已获取的靶数信息进行分析与处理&再将其中满足串口字节数定义标准的数据参量&反馈到既定应用结构之中&从而生成完整的上位机控制程序(&.)%具体配置原理如图%所示%图%!远程串口配置原理在实际应用过程中&A 4]=4M >编程节点控制主机具备较强的适应性能力&可在记录野外靶场设备震动行为分析结果的同时&对上位机控制程序进行初步修改&一方面判断现有的串口字节数定义标准是否能够满足靶数信息的实时传输需求&另一方面也能够对数据信息参量的输出流量水平进行严格把控(&1)%为使上位机软件能够准确显示野外靶场设备中的靶机状态与射击成绩&远程串口的实时配置能力必须与A 4]=4]M >接口所具备的数据信息编程能力完全匹配%B A D !数据信息导入数据信息导入是指将靶数信息参量导入远程控制系统上位机软件的实时处理过程&由于A 4]=4M >编程接口的存在&与靶机状态和射击成绩相关的信息参量可在缓冲区组织中暂时存储&并可根据远程串口配置原理&将符合字节数编码原则的靶数信息反馈至核心控制主机中(&-"#)%详细的导入处理流程如图.所示%对于野外靶场设备而言&由于A 4]=4M >编程接口的存在&所有导入的靶数信息都可被数据库主机直接记录&这也是靶机状态与射击成绩能够完全符合实际射击训练需求的主要原因("&"$)%B A E !程序框图在野外靶场设备远程控制系统的上位机软件执行环境中&程序框图决定了已导入靶数信息是否具有继续存储的价值&若考虑A 4]=4M >编程接口的作用能力&则可认为框图体系越完善&远程控制系统的实时存储能力也就越强("/"%)%设#&'#"表示两个不同的靶数信息程序向量&F 表示基于A 4]=4M >的远程控制程序迭代系数&联立公式!$"&可!投稿网址 \\\!5S 56V N8`!6E W!!计算机测量与控制!第$#""""""""""""""""""""""""""""""""""""""""""""""""""""卷#&/"!#图.!靶数信息导入流程图将野外靶场设备远程控制系统的传输程序标度结果表示为*)U W D ^"F "8H #"J #&H"!/"式中&5表示远程控制系统上位机软件中的框图信息的导入系数&联立公式!/"&可将基于A 4]=4M >的靶数信息程序框图标准定义条件表示为*D )&5槡!'"!!根据程序框图定义标准&处理已导入的靶数信息&实现基于A 4]=4M >的野外靶场设备远程控制系统软件的顺利应用%C !实验分析本次实验测试平台的野外靶场设备包含重武器靶机'轻武器精度靶机'轻武器应用靶机$种类型%软件应用程序对于野外靶场靶机设备的控制能力&表现在靶机示数与真实射击成绩之间的差值情况&一般来说&靶机示数越贴近真实射击成绩&则表示软件应用程序对于野外靶场靶机设备的控制能力越强&反之则越弱%设置串口字节数为"'%&野外靶场设备远程控制系统的传输程序标度结果为&#环%程序框图处理已导入的靶数信息&为#!&#环%表"记录了某人在重武器靶机'轻武器精度靶机'轻武器应用靶机三类设备中的真实射击成绩%表"!真实射击成绩序号重武器靶机-环轻武器精度靶机-环轻武器应用靶机-环&%11"1-&#$1../.1-''.-图1反映了实验组'对照组靶数信息的实际显示情况&其中实验组主机输入基于A 4]=4M >的远程控制系统软件程序&对照组主机输入常规控制程序%图1!重武器靶机中的靶数信息分析图1可知&对于重武器靶机设备而言&实验组'对照组靶数信息均与真实射击成绩保持一致%这就表示基于A 4]=4M >的远程控制系统软件程序'常规控制方法&均能较好满足重武器射击训练需求%图-!轻武器精度靶机中的靶数信息分析图-可知&对于轻武器精度靶机而言&实验组靶数信息与真实射击成绩保持一致&显示结果分别为1环'-环'.环'1环'.环&而对照组靶数信息显示结果则为1环'1环'.环'1环'.环&与表"中的真实射击成绩相比&并不能准确显示第二次射击+-环,的结果%图&#!轻武器应用靶机中的靶数信息分析图&#可知&对于轻武器应用靶机而言&实验组靶!投稿网址 \\\!5S 56V N8`!6E W第%期吴宗卓*基于A 4]=4M >""""""""""""""""""""""""""""""""""""""""""""""""""""的野外靶场设备远程控制系统软件开发设计#&/$!#数信息依然能够与真实射击成绩保持一致&对照组靶数信息显示结果为1环'1环'1环'-环'&#环&与真实射击成绩1环'&#环'.环'-环'-环相比&缺少一次+.环,显示结果和一次+-环,显示结果%综上可知&对于重武器靶机'轻武器精度靶机'轻武器应用靶机来说&应用基于A 4]=4M >的远程控制系统软件后&所显示靶数信息都能与真实射击成绩完全保持一致%与常规控制程序相比&这种新型控制软件可根据靶机设备的具体类型&为其提供最为适宜的工作模式&使其在显示出真实射击成绩的同时&满足各种不同的射击训练需求&在军事化技能训练中&具备较强的实际应用价值%D !结束语在A 4]=4M >编程接口的作用下&野外靶场设备远程控制系统软件从规范开发语言的角度着手&通过构建三层架构体系的方式&对数据库表与通讯模块结构的连接能力进行完善&根据已知的串口字节数定义标准&可利用远程串口组织&将靶数信息导入数据库体系之中&从而实现对程序框图的规划与完善%从实用性角度来看&这种软件应用程序可同时适应重武器型'轻武器精度型'轻武器应用型三类靶机结构&不但能够实时显示靶机的状态与射击成绩&也可以较好满足多种不同的射击训练需求%参考文献(&)荀家宝&左湘文&胡!斌&等?基于*O U 的新一代天气雷达远程控制系统设计与实现(0)!气象科技&"#&-&/.!/"*.&/.&1?(")冯亚丽&李!敏&张玉华?采摘机器人>B =控制系统研究0基于云平台分布式远程监控技术(0)!农机化研究&"#"#&/"!1"*"/-"'$?($)郭耀武&高德恒&韩!锴&等?双光子0]U 模型实现非定域双原子系统量子特性的远程控制(0)!原子与分子物理学报&"#&-&$%!'"*1&11"$?(/)冷建明&丁栋威&李!军?一体化航天外测测试发射控制系统设计(0)!测控技术&"#&1&$.!Y #-"*$1-$-"?(')常兴华?指控系统运行管理软件的设计(0)!自动化技术与应用&"#"&&/#!'"*///.?(%)陆斯悦&及洪泉&徐!蕙&等?基于需求侧调峰的农村电采暖设备负荷优化控制策略(0)!农业工程学报&"#"#&$%!-"*""-"$/?(.)戴耀南&陈绪兵&郑宇琪?基于物联网的中波发射机房远程监控系统智能优化策略分析(0)!电视技术&"#&-&/$!/"*./.1?(1)黄景光&于!楠&林湘宁&等?远程备用智能保护一体化中心架构通信系统连通可靠性研究(0)!电力系统保护与控制&"#&-&/.!"/"*%'.'?(-)王新刚&朱彬若&赵!舫?基于消息中间件的用电信息采集系统远程停复电可靠性方案(0)!电测与仪表&"#"#&'.!"&"*&"%&$"&&/%?(&#)肖海伟&孙久严&李章溢&等?基于综合储能设备的工业园区联络线功率实时a *U 控制方法(0)!电力建设&"#&-&/#!1"*$//"?(&&)解五一&高!霄&何思宇&等?面向复合材料自动铺放设备的输带速度与张力协同解耦控制(0)!浙江大学学报!工学版"&"#&-&'$!$"*/''/%"?(&")夏!鹏&刘文颖&朱丹丹&等?基于模型预测控制的多时间尺度无功电压优化控制方法(0)!电力自动化设备&"#&-&$-!$"*%/.#?(&$)黄战华&刘! &王!敏&等?基于X Z ,%/的激光目标模拟系统实时控制软件设计(0)!应用光学&"#&-&/#!""*&1%&-"?(&/)何琪文&林叶锦&张均东&等?嵌入式油水分离器控制模块的软硬件设计(0)!上海海事大学学报&"#&-&/#!&"*1'1-?(&')高航航&王!翔&赵尚弘&等?基于时延的软件定义航空网络控制器部署策略(0)!火力与指挥控制&"#&-&//!&&"*%.."?(&%)吴言穗&王瑶为&俞!立&等?多轴运动控制系统的非线性*42交叉耦合控制(0)!控制工程&"#"#&".!'"*1$#1$/?(&.)夏华猛&李!红&陈!超&等?溶解混施水肥一体化装置自动控制系统研制(0)!排灌机械工程学报&"#&-&$.!&"*1#1'?(&1)王昆玉&韦琳楠&田恩刚&等?2E M 攻击下网络控制系统的记忆型事件触发控制(0)!信息与控制&"#&-&/1!'"*'"1'$'?(&-)李海芸&邱荣斌&林辉煌&等?多规格木板自动码垛机控制系统设计与实现(0)!中南林业科技大学学报&"#&-&$-!""*&&"?("#)王正家&吕召雄&翟中生&等?一种用于样品前处理的加液仪控制系统设计(0)!食品与机械&"#"#&$%!/"*&&#&&/?("&)杜开元&袁!俊&卢旭坤?基于A 4]=4M >的晶圆测试探针台远程控制软件的设计与实现(0)!计算机测量与控制&"#"&&"-!&"*&$'&$-&&--?("")王!凯&陈德军&范光华&等?基于a F U 的航空电子系统综合自动检测设备客户端软件设计与实现(0)!计算机测量与控制&"#"#&"1!""*&"%&$#?("$)高!晋&田慕琴&许春雨&等?基于双U >A 总线的薄煤层液压支架电液控制系统研究(0)!煤炭工程&"#"#&'"!&"*&/$&/.?("/)聂!佳&琚长江&陈淑芳?用于电机生产线的低成本远程调试系统的开发与应用(0)!电机与控制应用&"#&-&/%!$"*-#-/?("')于国栋&王春阳&张!月?陆地靶场声定位系统布站图形优化方法(0)!声学技术&"#"&&/#!""*".'"1&?("%)刘宏建&王明孝&蔡中祥&等?一种基于自适应遗传算法的测控设备布站优化方法(0)!测绘科学技术学报&"#"#&$.!$"*$"'$$#?!投稿网址 \\\!5S 56V N8`!6E W。
基于NI-VISA的测控设备远程自动化测试系统的设计与实现
![基于NI-VISA的测控设备远程自动化测试系统的设计与实现](https://img.taocdn.com/s3/m/078b8d2482c4bb4cf7ec4afe04a1b0717fd5b36c.png)
基于NI-VISA的测控设备远程自动化测试系统的设计与实现王晓; 白玲; 刘德佳【期刊名称】《《计算机科学与应用》》【年(卷),期】2018(008)012【总页数】8页(P1906-1913)【关键词】Measurement Studio; 指标测试; 测量仪器; 自动化测试【作者】王晓; 白玲; 刘德佳【作者单位】[1]63726部队宁夏银川【正文语种】中文【中图分类】P21.引言近年来,随着作为靶场测控系统骨干力量的机动测控部队装备的不断升级换代,在新类型、新型号具备新质作战性能的高信息化测控设备逐步列装[1],与部分接近服役年限的老一代设备及在寿命中期的骨干设备形成三代设备并存的测控设备体系。
指标测试工作是衡量测控设备各系统性能参数的核心工作,其确保测控设备各分系统及全系统性能的可用性、可靠性及指标参数的数字化为统计分析提供支撑。
机动测控设备高机动、高分散、远距离部署的实际,使得其指标参数集中统一管理必须依托网络进行管理,否则各设备的指标参数不能形成集中统一管理,无法发挥指标集中分析进而达到故障规律统计的目标。
指标测试的基础是各类测试测量仪器,如频谱测试仪、示波器、网络测试仪等,由于三代测控设备共存的现实情况,导致测量仪器新老型号并存、接口繁多,使得建设远程自动化测试系统存在以下难题:1)多型号测试测量仪器接口繁多,GPIB、USB、LAN 等接口并存,需开发兼容多接口的指标采集系统;2)部分老型号测试测量仪器不支持网络接口,实现远程网络化指标测试管理系统必须进行接口协议转换;3)系统软件配置项过多,维护复杂。
NI-VISA 是美国国家仪器NI 公司开发的一种用来与各种仪器总线进行通信的高级应用编程接口。
NI-VISA 是一个驱动程序软件架构,不受平台、总线和环境的限制,GPIB、串口、以太网/LAN、IEEE 1394和USB 仪器的通信,并简化仪器的控制应用,通过VISA API 以相同的方法与仪器进行通信,而不考虑其接口类型[2]。
VISA 协议 USB硬件连接PLC
![VISA 协议 USB硬件连接PLC](https://img.taocdn.com/s3/m/f6529cca4028915f804dc275.png)
:文件类型技术指南每款USB设备都有 着各自的指令集。
您可通过“NI- VISA读写”函数 将这些指令发送给仪 器并从仪器上读取响 应。
您可以和仪器 制造商确认,获得关 于自身仪器的有效指 令列表。
1. 打开 DDW,选择 。
图1显示了打开 的屏幕。
开始»程序» National Instruments» VISA»VISA 驱动开发者向导图1. VISA DDW硬件总线窗口您可以通过该向导 为PXI/PCI、 USB或火线设备, 创建INF文件。
由于是为USB设备 创建驱动,请您单 击 和 。
图2显示了打开 的“VISA DDW基本设备信 息”窗口。
USB下一步图2. VISA DDW基本设备信息 窗口2. 在本步骤 中,您必须获知自身 USB仪器的厂商 ID和产品ID。
当您安装USB设 备、标注设备地址, 并希望与设备通信 时,这些数字可识别 出您的USB设 备。
依照USB规 范,两组数字均为16位十六进制数 字,且由设备制造商 提供。
若您想获知USB 的厂商ID和产品 ID,可将USB设 备插入计算机,令其 辨识新设备。
取消 并退出可能开启的 “发现新硬件向 导”。
通过“控制 面板”打开“设备管 理器 (Device Manager)”,从列表中找出USB 设备;其位置通常在 “其它设备”之 下。
若该USB属 于未知设备,会出现 一个黄色的感叹 号。
双击该设备, 打开属性。
选择 “详细情况”标签, 确保属性下拉式列表中显示“设备实例 ID”。
图3近似 显示了一串字符。
" VID_"和" PID_"右边的4 个字符分别代表您的 厂商ID和产品 ID。
请您记下这 2组设备字符,关闭 “设备管理器 (Device Manager)”,并从计算机上拔去设 备。
或者,您也可 以联系设备制造商获 取该信息。
基于VISA库的任意波形发生器驱动程序的开发设计说明
![基于VISA库的任意波形发生器驱动程序的开发设计说明](https://img.taocdn.com/s3/m/209f751c78563c1ec5da50e2524de518964bd36a.png)
基于VISA库的任意波形发⽣器驱动程序的开发设计说明第三章基于VISA库的驱动程序的研究本章简介:VXI总线以其良好的测控性能成为虚拟仪器的⼀个重要发展⽅向,作为⼀个开放式的测控系统,虚拟仪器软件结构(VISA)为不同⼚商的VXI器件的驱动程序提供了统⼀的软件基础。
本⽂通过对VISA库及VXIplug &play规的介绍来阐述仪器驱动程序的开发,并描述了VXI总线寄存器基器件任意波形发⽣器驱动程序的设计与实现。
3.1 VISA简介随着VXI仪器的⼴泛使⽤,出现了相应的的I/O控制软件,由于不同⼚商的硬件提供的I/O库不同,仪器驱动程序不兼容,仪器之间很难集成。
VXIplug&play联盟的宗旨是通过开放的、不同⼚商的VXI系统使得VXI技术的最终⽤户可简便使⽤VXI仪器。
联盟制定了Virtual Instrument Software Architecture,即虚拟软件结构(VISA)。
VISA是⼀个标准的独⽴于硬件设备、接⼝、操作系统、编程语⾔和⽹络环境的I/O控制库,⽬的是处理计算机与仪器间物理连接的通信细节。
通过VISA,由不同硬件接⼝(如GPIB、VXI或RS232等)连接的设备可以集成到⼀个系统中,由⼀个软件完成所有仪器设备的控制。
因此,VISA是⽣成虚拟仪器驱动程序的软件基础。
本⽂所介绍的仪器驱动程序是在LabWindows/CVI环境下开发的。
LabWindows/CVI为基于C语⾔的应⽤程序开发环境(ADE)。
ADE通过驱动程序头⽂件,获得有关仪器驱动程序函数的必要信息。
LabWindows/CVI提供了VISA 库的各类函数,⽤户在开发驱动程序时可⽅便的调⽤其中的函数。
3.1.1 VISA资源模板上⼀页下⼀页。
支持NI Labview的Profibus板卡
![支持NI Labview的Profibus板卡](https://img.taocdn.com/s3/m/969e56ab284ac850ad024266.png)
《支持NI Labview的Profibus板卡简介》简介名称: DF PROFI II类型: PROFIBUS DP/DPV1 接口板功能: PCI/PCIe/CPCI/PC104+高性能PROFIBUS DP/DPV1接口描述: DF PROFI II:智能快速和轻松实现PROFIBUS连接今天,比任何时候,快速和灵活性在自动化行业的各个应用领域都变得更迫切。
DF PROFI II,这款高性能PROFIBUS DP/DPV1接口板,完全超越这些要求。
作为PCI、PCI-Express、CompactPCI和PC104+接口板卡,DF PROFI II特别适合于广泛的各种应用领域。
因为提供5 V和3.3 V电源,因此该板卡适合于快速服务器PC以及工作站。
DF PROFI II接口板卡可用作DP主站或DP从站。
除了标准的PROFIBUS DP/DPV1服务,该板卡还提供一个看门狗功能,含物理PROFIBUS线路断开,符合主站class 1冗余思想。
如果运作的PC系统出故障,一个无缝开关切换到一个冗余的备用系统。
另外,过程数据图像提供一个基于毫秒的相对时间戳数值。
PROFIBUS配置数据被保存在一个故障安全的闪存内。
我们的CONFIGURATOR II可用于编译和下载PROFIBUS配置。
这款方便舒服又全面的图形工具使配置工作量最小化。
广泛的下载、分析和控制功能可有效检查所配置的PROFIBUS DP网络。
所编译的配置可存储为XML格式。
因此可轻松集成到第三方应用程序中。
用于所有当前操作系统的驱动都包含在DF PROFI II接口板发货清单中。
附加软件包,例如OPC Server、LabVIEW PROFIBUS VISA Driver或FDT-1.2 COM DTM 可极大扩展该接口板的应用领域。
冗余OPC ServerData Access OPC Server基于自由线程-/多线程观念,以实现最佳性能,支持DPV0 Master class 1 和 DPV1 Master class 2 服务。
基于LabVIEW PCI
![基于LabVIEW PCI](https://img.taocdn.com/s3/m/26ab23124531b90d6c85ec3a87c24028915f85e4.png)
基于LabVIEW PCI
当前国内对电力的性能测试基本上仍处于手工测量的阶段,每项性能指标都由专用的仪器举行测量,无数测试项目仍采纳一些指针式仪表,存在读数误差大、费工、耗时,功能容易等问题,测量的重复性、可信度较差。
的浮现有效的解决了这一问题,所谓虚拟仪器就是利用现有的计算机,加上特别设计的仪器硬件和专用软件,形成既有一般仪器的基本功能,又有普通仪器所没有的特别功能的高档低价的新型仪器。
在虚拟仪器系统中,硬件仅仅是为了解决信号的输入输出,软件才是囫囵仪器系统的关键。
软件对硬件采集的数字信号举行加工、分析,得到各种所需要的信息。
本文采纳研华公司的PCI-1712L高速数据采集卡及其为定制的Advantech DA&C工具包,结合LabVIEW胜利地开发出一套变压器测试系统。
1变压器测试系统
1.1系统原理及功能用于变压器空载/带载的输入/输出、的测试,可以完成变压器常规试验系统,可以实现自调压、数据测量、分析、实时显示、保存及打印功能。
电流、电压信号经过互感器后转换为标准信号,通过数据采集卡采集后,系统推断其区间范围,通过串口与举行通信来挑选具有合适量程的电流和电压互感器,从而提高系统的测量精度。
1.2系统结构
测试系统的结构框图1所示。
2测试系统的硬件设计
电压互感器:采纳VSM型系列霍尔电压,能在电隔离条件下测量沟通,脉冲以及各种不规章波形的电压。
电流互感器:采纳6个不同量程的CSM系列霍尔电压传感器,CSM025B、CSM050B、CSM100B、CSM200B、CSM300B。
数据采集卡:PCI-1712L是研华公司的一款功能强大的高速多功能PCI
第1页共4页。
使用NI-VISA软件控制USB设备
![使用NI-VISA软件控制USB设备](https://img.taocdn.com/s3/m/ee4ccd1bc5da50e2524d7f25.png)
VISA(Virtual Instrument Software Architecture,/visa)是一个用来与各种仪器总线进行通讯的高级应用编程接口(API)。
它不受平台、总线和环境的限制。
换言之,与GPIB 设备进行通讯的程序,无论是在运行Windows 2000的机器上用LabVIEW开发出来的,还是在运行 Mac OS X的机器上用C语言编写的,都可以使用同一个API。
通用串行总线(USB)是一个基于信息的通讯总线。
这表示PC机与USB设备通过发送指令和数据进行通讯,而这些指令和数据是通过总线以文本或二进制数据的形式发送的。
每个USB设备都有各自的指令集。
您可以使用NI-VISA 的读写功能向仪器发送这些指令,并读取仪器的反馈。
可向仪器制造商索要仪器的有效指令清单。
NI-VISA 从3.0版开始支持USB通讯,它有两种VISA类函数 (Resource Class) ,可以控制两类USB设备:USB INSTR设备与USB RAW设备。
符合USB测试和测量类 (USBTMC)协议的USB设备可以通过使用USB INSTR类函数控制。
USBTMC设备符合VISA USB INSTR类函数能够理解的协议。
与USBTMC设备进行通讯不需要进行配置。
与USBTMC仪器的通讯,请参看第3节。
如果要了解更多有关USBTMC 规格的信息,请参看下面链接的USB应用者论坛(USB Imlem enters Forum)网页。
USB RAW 仪器是指除了明确符合USBTMC 规格的仪器之外的任何USB仪器。
如果您正在使用USB RAW 设备,请按照第2节的说明来配置NI-VISA 以控制您的设备。
请与仪器制造商联系,以获取通讯协议与仪器所用指令集的详细资料。
如果要了解有关NI-VISA API的具体信息,请参考《NI-VISA 用户手册》与《NI-VISA程序员参考手册》。
NI-VISA中附有这两个文件,通过本指南最后的链接也可以获得这两个文件。
c调用visa编程实例
![c调用visa编程实例](https://img.taocdn.com/s3/m/7a84405dc4da50e2524de518964bcf84b8d52d44.png)
c调用visa编程实例C调用VISA编程实例引言:VISA(Virtual Instrument Software Architecture)是一种用于编程与控制仪器的开放式标准,它提供了一套通用的应用程序接口(API),用于与各种不同类型的仪器进行通信和控制。
通过使用C 语言调用VISA库函数,我们可以实现对仪器的控制和数据获取,本文将介绍基于C语言调用VISA库函数的实例。
一、安装VISA驱动和库在开始编程之前,我们需要先安装VISA驱动和库。
VISA驱动程序可以从仪器制造商的官方网站或NI(National Instruments)官方网站下载并安装。
安装完成后,我们可以在系统中找到VISA库文件,通常是一个.dll文件。
二、创建C语言项目在开始编程之前,我们需要创建一个C语言项目。
可以使用任何C 语言开发环境,如Visual Studio、Code::Blocks等。
创建项目后,我们需要将VISA库文件添加到项目中,以便在编程时可以调用其中的函数。
三、初始化VISA库在开始使用VISA库进行通信之前,我们需要先初始化VISA库。
可以通过调用viOpenDefaultRM函数来实现。
该函数会返回一个资源管理器的句柄,我们可以通过该句柄来进行后续的操作。
四、打开仪器在初始化VISA库后,我们可以使用viOpen函数来打开具体的仪器。
需要提供仪器的地址或者资源名。
仪器的地址可以在仪器的手册中找到,一般是一个字符串。
打开仪器后,会返回一个仪器的句柄,我们可以通过该句柄与仪器进行通信和控制。
五、发送和接收数据通过调用viWrite函数,我们可以向仪器发送指令或者数据。
该函数需要提供仪器的句柄、发送的数据以及数据的长度。
发送数据后,我们可以通过调用viRead函数来接收仪器返回的数据。
该函数需要提供仪器的句柄、接收数据的缓冲区以及期望接收的数据长度。
六、关闭仪器和释放资源在使用完仪器后,我们需要关闭仪器并释放资源。
基于NI-VISA的PCI卡驱动程序设计
![基于NI-VISA的PCI卡驱动程序设计](https://img.taocdn.com/s3/m/3f2b81d3bb0d4a7302768e9951e79b89680268b8.png)
基于NI-VISA的PCI卡驱动程序设计
吕笛;范红旗;卢再奇
【期刊名称】《微处理机》
【年(卷),期】2009(30)5
【摘要】基于VISA(Virtual Instrument Software Architecture)开发驱动程序,开发过程简单,界面友好,程序可移植性强,是一种开发驱动程序的理想方案.以一种PCI数据传输卡的驱动程序开发为例,介绍了基于VISA的驱动程序设计过程.【总页数】4页(P112-115)
【作者】吕笛;范红旗;卢再奇
【作者单位】国防科学技术大学ATR实验室,长沙,410073;国防科学技术大学ATR 实验室,长沙,410073;国防科学技术大学ATR实验室,长沙,410073
【正文语种】中文
【中图分类】TP316
【相关文献】
1.基于cPCI的一次性指令通信卡驱动程序设计 [J], 王煊
2.基于WDM的CPCI多串口数据通信卡驱动程序设计 [J], 龚俊;张京;王璐
3.基于DM642的PCI加密卡驱动程序设计 [J], 陈静;章喜才;张金果;周广禄
4.Linux下基于PCI-E时统卡的驱动程序设计 [J], 刘凯;胡爱兰
5.基于WDM的CPCI多串口数据通信卡驱动程序设计 [J], 龚俊;张京;王璐
因版权原因,仅展示原文概要,查看原文内容请购买。
VISA标准仪器驱动程序的编程
![VISA标准仪器驱动程序的编程](https://img.taocdn.com/s3/m/80417ce8db38376baf1ffc4ffe4733687e21fc17.png)
VISA标准仪器驱动程序的编程
陈溯;王思华
【期刊名称】《计算机工程》
【年(卷),期】1998(024)011
【摘要】在LabVIEW图形编程环境下,采用VISA标准,研究面向用户级的仪器驱动程序的编程方法.
【总页数】4页(P50-53)
【作者】陈溯;王思华
【作者单位】暨南大学电子工程系,广州,510632;暨南大学电子工程系,广
州,510632
【正文语种】中文
【中图分类】TP3
【相关文献】
1.Delphi编程实现仪器驱动程序的安装和维护 [J], 方晓颖;冉隆奎
2.虚拟仪器编程基础——VISA标准与应用 [J], 陈兵舫;杨乐平
3.基于VISA标准的仪器驱动器设计 [J], 肖风云;马廷卫;唐义清
bVIEW语言仪器驱动程序的编程 [J], 陈溯;王思华
5.利用NI-VISA通过EXCEL VBA实现对仪器设备的编程 [J], 何晓旻;梁世江因版权原因,仅展示原文概要,查看原文内容请购买。
NI推出首款基于PCI Express的图像采集板卡
![NI推出首款基于PCI Express的图像采集板卡](https://img.taocdn.com/s3/m/1e63de3cfbd6195f312b3169a45177232f60e4e7.png)
NI推出首款基于PCI Express的图像采集板卡
佚名
【期刊名称】《世界仪表与自动化》
【年(卷),期】2004(008)011
【摘要】NI推出业界首款基于PCI Express的图像采集板卡,适用于高吞吐量的视觉应用。
NIPCIe-1429图像采集卡,可在Camera Link摄像头高速度、高分辨率和高像素深度的情况下采集图像,执行复杂的图像采集应用,例如同步数据和图像采集、错误分析和高级运动跟踪等。
随着Intel推出了PCI Express技术以及NI PCIe-1429图像采集卡的问世,工程师们可以通过标准的PC总线,轻松进行高速数据采集。
【总页数】1页(P70)
【正文语种】中文
【中图分类】TH753.4
【相关文献】
1.NI推出业界首款基于PCI Express的图像采集板卡 [J],
2.NI推出基于PCI Express的图像采集板卡NI PCIe-1429 [J], 无
3.NI推出业界首款基于PCI Express的图像采集板卡 [J], 无
4.首款基于PCI Express的NI图像采集板卡速度高达680MBps [J],
5.NI推出业界首款基于PCI Express的图像采集板卡——全新NI PCIe-1429图像采集板卡可以连接所有CameraLink摄像头,采集速度高达680MB/s [J],
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于NI-VISA的PCI板卡驱动程序开发
张艳华科
0引言
驱动程序是计算机与设备通讯的特殊程序,操作系统只有通过这个接口,才能控制硬件设备的工作并实时、准确的将信息传递给主机。
PCI总线是PC机广泛采用的外设总线架构,在构建基于PC的信息处理系统中,常常被选择为数据传输通道。
传统的PCI设备驱动程序开发平台有WDM、VC、Linux等,但在这种平台上进行驱动程序的开发,需要设计人员熟知操作系统的内核结构,且操作起来比较繁琐,对缺少驱动开发经验者显得比较困难。
本文介绍一种简单、快速的PCI接口驱动程序开发方法。
使用NI-VISA的Driver Wizard 向导可以方便的生成具有产生中断功能的驱动程序,在NI Labwindows/CVI环境下,可对中断事件进行检测和处理。
1基于NI-VISA的驱动程序
1.1NI-VISA概述
NI-VISA(Virtual Instrument Software Architecture,以下简称为"VISA")是美国国家仪器NI(National1nstrLlrnent)公司开发的一种用来与各种仪器总线进行通信的高级应用编程接口。
VISA总线I/0软件是一个综合软件包,它不受平台、总线和环境的限制,可用来对USB、GPIB、串口、VXI、PXI和以太网系统进行配置、编程和调试。
VISA是虚拟仪器系统I/O接口软件,基于自底向上结构模型的VISA创造了一个统一形式的I/O控制函数集,并且对于初学者来说这些函数集是简单易用的。
1.2基于VISA的驱动程序开发架构
“驱动程序”通常是指安装于操作系统上,供应用程序调用以操作硬件设备的一组函数。
驱动程序提供面向应用程序的API接口函数,把应用程序对API函数的调用翻译成硬件可以理解的底层寄存器操作。
驱动程序封装了具体的硬件操作,软件设计者不需要了解具体的操作细节就可以开发基于硬件的应用程序。
基于VISA的驱动又称为“仪器驱动”,这是由于VISA广泛应用于虚拟仪器的开发。
VISA提供了一套标准的VISA API函数集,封装了驱动设计的底层细节,使得基于VISA的驱动运行于操作系统的用户层,它通过调用VISA API函数来实现对硬件的操作。
基于VISA的仪器驱动的架构如图1所示。
图1基于VISA的驱动架构
Fig.1Driver architecture based on VISA
从图1中可以看出,基于VISA的板卡驱动运行在用户模式,通过VISA提供的API函数功能,用户可方便的实现基于VISA规范的应用层驱动程序开发。
1.3VISA的内部结构
VISA的结构模型如图2所示。
图1VISA的结构模型
Fig.1Structure model of VISA
位于模型最底层的是资源管理器,它负责管理与控制不同种类的仪器并对其进行标准化处理;I/O资源层负责对仪器实现各种具体的读写等操作;仪器资源层负责将I/O资源层中的各种操作按仪器类型进行分类;用户资源层则是用户利用VISA资源而实现的应用程序。
位于金字塔结构模型的上层程序可以调用位于其层次下直到最底层程序的所有功能;最顶端是虚拟仪器应用程序,它拥有VISA标准的开放性、兼容性和可移植性,并可直接调用VISA函数。
VISA采用这种金字塔型的结构模型,为各种虚拟仪器系统软件提供了一个形式统一的I/O 操作函数库,以此将不同厂商的仪器软件统一于同一平台。
1.4INF文件创建
使用NI-VISA Driver Wizard向导创建并配置PCI卡的INF文件,开发者只需要按照提示填入对应的参数,如设备ID、厂商ID等。
如果所设计的PCI使用了中断,则要在向导开始时勾选产生设备中断一项,后续还需进行中断检测和中断移除的配置。
向导开始时的配置信息如图3所示。
图3PCI驱动板卡的信息配置
Fig.3Configuration information of PCI drive card
中断的检测与移除过程如图4所示。
图4中断的检测与移除过程
Fig.4Process of detecting or removing an interrupt
2PCI板卡与VISA间的通讯实现
2.1PCI板卡与VISA建立会话
(1)查询与指定的PCI板卡接口连接
通过status=viFindRsrc(defaultRM,"PXI?*INSTR",&fList,iNum,strRsrc)找到指定的PCI板卡。
(2)打开PCI设备
通过status=viOpen(defaultRM,rsrcName,VI_NULL,VI_NULL,vi)与PCI设备建立会话。
2.2基本的I/O函数
通过viIn()和viOut()函数对寄存器进行读写访问。
还可以通过例如viMapAddress、
viPeek8/viPeek16/viPeek32、viMoveOut8/viMoveOut16/viMoveOut32等函数实现其他形式的读写访问。
2.3VISA中断事件处理分析
VISA处理一个来自设备的中断使用事件处理模式。
处理事件有两种机制,即排队机制和函数回调机制。
两种执行机制都可以根据需要被挂起,程序执行过程中随时都可以调用ViDisableEvent()来挂起或终止事件的接受。
当用ViEnableEvent()重新定义VIHNDLR时,系统立即触发回调函数处理队列中被挂起的所有事件。
2.3.1排队法
所有发生的指定的事件被放置在一个队列中。
程序会定期询问队列获取事件的信息或暂停程序直到放置在队列里的某一事件发生。
排队机制一般对不重要的或不需要立即引起注意的事件有用。
使用排队处理机制,程序开发者必须手动调查队列中的事件,以确定哪些事件的发生。
使用函数viWaitOnEvent()可以完成此功能。
viWaitOnEvent()函数使程序暂停,等待指定的事件发生。
当指定的事件发生时,有关该事件的具体信息便通过此函数传递回来。
2.3.2回调函数法
回调函数法是在一个特定事件发生时,由VISA驱动程序自动调用代码段。
回调机制适用于需要立即响应的应用请求,一个应用请求可以同时使用队列和回调。
采用回调函数法,在使用viEnableEvent()使能事件之前,必须将一个中断处理和一个特定的事件相关联。
将中断处理和事件关联的函数是viInstallHandle(),调用此函数,然后使能事件。
当中断发生时,使用viInstallHandle()指定的功能被异步调用。
回调函数处理事件的代码例程如下:
status=viInstallHandler(vi,VI_EVENT_PXI_INTR,Mic0ReadPimStatusCallback,PimStatusBuffer);
//安装回调函数句柄将事件VI_EVENT_PXI_INTR与回调函数Mic0ReadPimStatusCallback关联,数据存放在PimStatusBuffer,PimStatusBuffer为临时申请的空间
status=viEnableEvent(vi,VI_EVENT_PXI_INTR,VI_HNDLR,VI_NULL);//使能检测事件类型,采用的处理机制为VI_HNDLR
if(status!=VI_SUCCESS)
{
free(PimStatusBuffer);
return-1;
}
PimStatus=*PimStatusBuffer;//获取缓冲区地址内的数据
free(PimStatusBuffer);//释放申请的缓冲区
//使句柄失效并卸载
status=viDisableEvent(vi,VI_EVENT_PXI_INTR,VI_HNDLR);//关闭中断
status=viUninstallHandler(vi,VI_EVENT_PXI_INTR,Mic0ReadPimStatusCallback,PimStatusBuffer);
3结论
本文给出了利用NI-VISA的Driver Wizard工具进行快速开发PCI设备驱动程序的设计过程,对VISA的事件处理机制进行了详细分析。
利用函数回调的方法实现PCI中断的事件处理,使得中断事件可以得到及时快速的响应。