ADIO32 LabVIEW Driver Software AMPLICON ADIO32 LabVIEW DRIVER SOFTWARE GUIDE TO AMPLICON ADIO32 LABVIEW DRIVER SOFTWARE This Instruction Manual is supplied with Amplicon ADIO32 LabVIEW Driver Software to provide the user with sufficient information to utilise the purchased product in a proper and efficient manner. The information contained has been reviewed and is believed to be accurate and reliable, however MEV Limited and Amplicon Liveline Limited accept no responsibility for any problems caused by errors or omissions. Specifications and instructions are subject to change without notice. © MEV Ltd. Manual Part No 85032767 iss B7 Prepared by N. Stubbs. Checked by J Hayward ADIO32 LabVIEW Driver Software ADIO32 LabVIEW Software LIST OF CONTENTS SECTION SUBJECT PAGE 1 1.1 1.1.1 1.1.2 1.2 INTRODUCTION Installing Amplicon ADIO32 LabVIEW software Customising the Functions Palette (LabVIEW versions 6 to 7) Customising the Functions Palette (LabVIEW 8.0) Uninstalling Amplicon ADIO32 LabVIEW software 4 4 5 6 6 2 2.1 2.2 2.2.1 2.2.2 2.2.3 2.2.4 GETTING STARTED Device Resources Ready-to-use Examples Analogue Input Examples Analogue Output Examples Digital I/O Examples Counter Timer Examples 7 7 7 7 7 8 8 3 LabVIEW 8.0 Example Finder 9 4 4.1 4.2 4.2.1 4.2.2 4.2.3 4.3 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 USING LABVIEW SOLUTIONS Device ID Channels Analogue Input Channels / Analogue Output Channels Digital I/O Channels Counter Timer Channels The LabVIEW DAQ Solution Wizard Replacement Sub Vis Replacing LabVIEW Sub Vis Loading ADIO32LV.DLL Replace All Necessary Vis Unsupported Features Error Codes 9 9 10 10 10 11 12 12 13 13 13 14 14 5 5.1 5.2 SUPPORT Technical Support Driver Updates 14 14 14 Page 2 ADIO32 LabVIEW Driver Software LIST OF FIGURES SECTION CONTENT PAGE Figure 1.1 Figure 1.2 Figure 1.3 Figure 2.1 Figure 2.2 Figure 2.3 Figure 2.4 Figure 2.5 Figure 2.6 Figure 2.7 Figure 2.8 Figure 2.9 Figure 2.10 Figure 2.11 Figure 2.12 Figure 2.13 Figure 2.14 Figure 2.15 Figure 4.1 Figure 4.2 Options button.................................................................................................................5 Function Browser Options ...............................................................................................5 LabVIEW 8.0 Function Palette.........................................................................................6 AmpADIO32 System Information .....................................................................................7 Getting Started (Scope)...................................................................................................7 Getting Started (Scope with Trigger)................................................................................7 Getting Started (Chart Recorder) .....................................................................................7 Getting Started (Meter)....................................................................................................7 Getting Started (Function Generator)...............................................................................7 Getting Started (In Out) ...................................................................................................8 Count Events...................................................................................................................8 32 bit Count Events .........................................................................................................8 Generate Pulse ...............................................................................................................8 Generate Frequency........................................................................................................8 Generate Strobes............................................................................................................8 Simple Measure Frequency.............................................................................................8 Pulse Width Modulation Pulse Train ................................................................................8 Pulse Width Pulse ...........................................................................................................8 System Information .........................................................................................................9 LabVIEW Sub VI and Amplicon ADIO32 replacement ....................................................13 LIST OF TABLES SECTION CONTENT PAGE Table 4.1 LabVIEW VIs and Their Amplicon ADIO32 Replacements .............................................13 Page 3 ADIO32 LabVIEW Driver Software 1 INTRODUCTION The Amplicon ADIO32 LabVIEW driver software has been developed to combine the data acquisition functions of the Amplicon ADIO32 PCI230 and PCI260 boards with a number of the solutions and applications supplied with National Instrument’s LabVIEW software. The driver has been extended to support digital IO functions of the PCI272, PCI263 and PCI236 boards. The driver has been extended to support digital IO functions and counter timer functions of the PCI215. The driver also supports the Counter Timer functions of the PCI230 and PCI260. These functions may not be available for use with the PCI230 and PCI260 cards if the cards are engaged in Analogue Acquisition tasks. In this case the PCI230 and PCI260 Counter Timer logic is dedicated to analogue acquisition tasks and therefore not available for use with counter timer functions. The driver has been extended to support analogue output functions of the PCI223 and PCI224 boards. This manual is intended to provide a guide to Amplicon ADIO32 LabVIEW driver software installation and the configuration of LabVIEW virtual instruments to work with the Amplicon ADIO32 boards. It is aimed at users who are already familiar with LabVIEW. 1.1 Installing Amplicon ADIO32 LabVIEW software In order to use the Amplicon AmpADIO32 Driver for LabVIEW, please ensure that the following software is also installed: • a supported version of LabVIEW (currently 6.0, 6.1, 7.0 or 8.0); • the Amplicon AmpDIO software package (in particular, the dynamic link library DLL, DIO_TC.DLL); • a Windows device driver for the Amplicon card. The drivers are included in the AmpDIO package, but need to be installed by Windows Device Manager, except for Windows NT 4.0. (For Windows NT 4.0, the AmpDIO control panel applet is used to configure the card instead.) • The National instrument NI-DAQ Data Acquisition Drivers for Windows. This driver is required in order that the error messages returned by the Amplicon AmpADIO32 VIs can be correctly interpreted. If this driver is not installed the requisite error data base library is not present and errors are reported as unknown. This absence of this driver will not prevent the Amplicon AmpADIO32 Driver operating normally 1. To install the Amplicon AmpADIO32 Driver for LabVIEW from the CD ROM you will first need to decompress it on to your hard disk. 2. From the start/run menu browse the Amplicon “SOFTMAN” CD. From the software directory run AmpADIO_LV.EXE and follow the on screen instructions. 3. Once the software has been decompressed onto your hard drive, if the setup program does not run automatically, run the installation program C:\AMPLICON\LABVIEW\SETUP.EXE. 4. The driver will have then been installed in the appropriate LabVIEW directory. Page 4 ADIO32 LabVIEW Driver Software 1.1.1 Customising the Functions Palette (LabVIEW versions 6 to 7) 1. Open the block diagram for any VI and bring up the Functions Palette if it is not already displayed. 2. Select Options on the Functions Palette Options button Figure 1.1 Options button 3. Select “Amplicon Data Acquisition” from the “Function Browser Options” dialogue’s “Palette View” dropdown menu. Figure 1.2 Function Browser Options 4. Click OK Amplicon Data Acquisition menu An icon representing the Amplicon Data Acquisition menu system should now be present on the Functions palette. This menu system provides access to all the VIs required to modify LabVIEW solutions to run with Amplicon ADIO32 cards. Page 5 ADIO32 LabVIEW Driver Software 1.1.2 Customising the Functions Palette (LabVIEW 8.0) There is no need to customise the palette on LabVIEW 8.0 as the install program does this for you. Once installed the functions palette for the AmpADIO32 Drivers for LabVIEW can be found under "Instrument IO->Instr Drivers->Amplicon Data Acquisition" Figure 1.3 1.2 LabVIEW 8.0 Function Palette Uninstalling Amplicon ADIO32 LabVIEW software To uninstall Amplicon AmpADIO32 Driver for LabVIEW, open Start, Settings, Control Panel, Add/Remove Programs. Select the Amplicon AmpADIO32 Driver for LabVIEW item and press OK. Page 6 ADIO32 LabVIEW Driver Software 2 GETTING STARTED This section covers the VIs provided with the Amplicon ADIO32 LabVIEW driver software. They do not need any modification to work with Amplicon ADIO32 boards. 2.1 Device Resources Figure 2.1 AmpADIO32 System Information The AmpADIO32 System Information VI provides details of all installed Amplicon ADIO32 boards. The first column shows the Device ID of each board. 2.2 Ready-to-use Examples The AmpADIO32 LabVIEW driver software is supplied with ready-to-use application VIs. They appear on the ADIO32 top level palette. 2.2.1 Analogue Input Examples Figure 2.2 Getting Started (Scope) This is an oscilloscope style VI that acquires repeated buffers of data for 1 or 2 channels and displays them on an oscilloscope style panel. Figure 2.3 Getting Started (Scope with Trigger) This is an oscilloscope style VI that acquires repeated buffers of data for 1 or 2 channels and displays them on an oscilloscope style panel. It has been extended to support hardware triggering on the PCI230+ and PCI260+ boards. Figure 2.4 Getting Started (Chart Recorder) Chart recorder acquires multiple buffers of data and plots them sequentially. Use the scroll bar to scroll through the acquired data. Figure 2.5 Getting Started (Meter) This is a meter style VI that reads voltages from a number of channels. 2.2.2 Analogue Output Examples Figure 2.6 Getting Started (Function Generator) This is a bench top Function Generator that generate a variety of signals at various frequencies. This example VI works with the PCI224, PCI234 and PCI230+ revision 2 hardware. Page 7 ADIO32 LabVIEW Driver Software 2.2.3 Digital I/O Examples Figure 2.7 Getting Started (In Out) This VI allows the digital IO to be set or read in the appropriate bit groups. 2.2.4 Counter Timer Examples Figure 2.8 Count Events This configures one counter to count external events or elapsed time. Figure 2.9 32 bit Count Events This configures two counters to count external events or elapsed time to give a 32 bit counter. Figure 2.10 Generate Pulse This VI generates a single pulse of specified duration. Figure 2.11 Generate Frequency This VI generates a frequency using a single counter. Figure 2.12 Generate Strobes This VI generates a number of strobes of a specified frequency. If continuous mode is selected then one counter timer is set up as a rate generator. Figure 2.13 Simple Measure Frequency This VI measures the frequency of a TTL signal on the specified counter's SOURCE pin by counting positive edges of the signal during a period of time. Figure 2.14 Pulse Width Modulation Pulse Train This VI generates a pulse width modulated pulse train where the frequency and duty cycle of the pulses can be altered on the fly. Figure 2.15 Pulse Width Pulse This VI generates a single pulse of specified duration. The pulse can be configured to be retriggerable and the frequency and duty cycle of the pulses can be altered on the fly Page 8 ADIO32 LabVIEW Driver Software 3 LabVIEW 8.0 Example Finder The Amplicon getting started example VIs have been published into LabVIEW’s Example finder. This is a tool that allows examples to be found by searching for key words. To find Amplicon examples either use “Amplicon” as a keyword or a keyword appropriate for the example you are looking for such as “scopes”. Labview Example Finder can be accessed from the LabVIEW start up screen or via the “Help>Find Examples…” menu option. 4 USING LABVIEW SOLUTIONS LabVIEW uses the “Measurement and Automation Explorer” to define devices, analogue input / output and digital I/O channels. National Instruments do not publish the interface for this tool for use by third party manufacturers. It is therefore necessary to manually specify the devices and channels used on Amplicon boards. 4.1 Device ID Each PCI board has a PCI Device ID to identify the card. To find the device ID of Amplicon boards, run the AmpADIO32 System Information VI. Figure 4.1 System Information The Device ID is used by LabVIEW to access installed I/O boards and must be specified manually for Amplicon ADIO32 cards. When a LabVIEW solution is opened, check the device ID is set correctly. Some solutions default to an ID of 1. To specify Device ID 0, in some solutions, it is necessary to change the control’s “Data Range” minimum value, which is accessible via the right-click menu. Page 9 ADIO32 LabVIEW Driver Software 4.2 Channels 4.2.1 Analogue Input Channels / Analogue Output Channels The PCI 230 and PCI 260 each have 16 multiplexed analogue input channels. The PCI 230 has two analogue output channels. The PCI234 analogue output card has 4 analogue output channels and the PCI224 has 16 analogue output channels. Refer to the Amplicon manual for the board to determine the relationship between channel number and I/O connector pins. The channels are identified by channel number. 0 and 1 for analogue output channels, 0 to 15 for analogue input channels. It is possible to specify the channel(s) required in a number of formats allowing the use of meaningful names. The number before a delimiter is used to specify the channel. Valid delimiters are comma (,), colon(:), Double periods (..) or <RET>. Double periods or colons specify upper and lower values of a discrete range. For example: User Input 3 0,2 Channel 15 Temperature 8 Ch0,Ch1,Ch4 Channel1:Channel3 Ch0,Ch2..Ch4 Selected Channels 3 0, 2 15 8 0, 1, 4 1, 2, 3 0, 2, 3, 4 Ensure the required channel(s) to be used are selected by typing their name into the DAQ Channel Name Control. 4.2.2 Digital I/O Channels The supported Amplicon ADIO32 boards mainly use 82C55 based digital I/O resource. The PCI236 and PCI 230 support one 82C55, the PCI215 supports two 82C55s, and the PCI272 supports three 82C55s. Each 82C55 consists of 24 lines of digital I/O divided into three 8-bit ports, A, B, and C. The I/O direction of Ports A and B must be set as a whole across all 8 bits of the port, however port C can be treated as two independent 4 bit ports. The PCI263 relay board is not based around the 82C55 it supports 8 lines of digital output. There are two ways to address the digital I/O ports. 4.2.2.1 Named Digital Channels The driver supports a number of keywords in the channel name. The channel name can be an arbitrary string constructed from these keywords. The following keywords are supported. Keyword X, Y, Z A, B or C U or L Description Indicates whether PPI resource X, Y or Z should be used. The only PPI resource supported on PCI 230, PCI 236 and PCI 263 is PPIX. The PCI 215 supports PPI X and Y. The PCI 272 supports PPI X, Y and Z. Determines the I/O port to use. Inclusion of one of these keywords is mandatory for named channels Indicates the upper or lower 4 bits of the port is to be used. Default is 8 bits. Page 10 ADIO32 LabVIEW Driver Software I or O Indicates the port is INPUT or OUTPUT. Default is INPUT. The first instance of a keyword is significant. Port Width and Line Direction parameters are ignored except if I or O is omitted, in which case the line direction is taken from the Line Direction parameter. Some examples of valid channel names include: A Z BLO X CU I Port A of the first digital IO resource (8 bits) Lower half of Port B of the third digital IO resource (4 bits) Upper half of Port C of the first digital IO resource (4 bits) Note the PCI 263 relay card does not support Port C. 4.2.2.2 Numbered DIO Channels Alternatively, the digital I/O channel can be specified as a number. The digital I/O channels will be assigned from the first available PPI resource, PPIX port A through to the last. The number of channels will be determined by the user supplied “Port Width” parameter. The default port width is 8 bits. The Port Width can be set to 1, 4, 8, 12, 16, or 24. Note the PCI 263 only supports Port Widths of 1, 4, 8 and 16. The channel argument then refers to the group of bits of width “Port Width”, starting at Port A Bit 0. Note, for a channel width of 12 the two channels are assigned as PORTA and PORT C Upper, and PORTB and PORT C Lower, respectively. The direction (input / output) of the channel will be determined by the user supplied “Line Direction” parameter. The parameter is qualified against the capabilities of the 82C55 chip. 4.2.3 Counter Timer Channels The CT channels can be specified as named channels or as channel numbers. 4.2.3.1 Named Counter Timer Channels The driver supports a number of keywords in the channel name. The channel name can be an arbitrary string constructed from these keywords. The following keywords are supported. Keyword X1,Y1, Z1 or X2,Y2, Z2 Description Indicates which resource block should be used. The letters indicate which resource block to use X, Y or Z. The number immediately following indicates which chip to use. ∇0, ∇1,∇2 The Counter / Timer Channel to use The first instance of a keyword is significant. If two counters are needed the ids must be separated by commas. Some examples of valid channel names include X1 0 Channel 0 of first Counter in X Block Z2 3 Channel 3 of last counter in Z Block Z2 3, X1 0 Specifies two channels Page 11 ADIO32 LabVIEW Driver Software 4.2.3.2 Numbered Counter Timer Channels Alternatively the channel can be specified as a number. The channels will be assigned from the first available CT resource, X1 0 through to the last, Z2 2. If two counters are needed the ids must be separated by commas. Examples of valid channel numbers include: 0 Channel 0 of first Counter in X Block 9 Channel 3 of last counter in Z Block 0,9 Specifies two channels 4.3 The LabVIEW DAQ Solution Wizard The LabVIEW DAQ Solution wizard is available with LabVIEW 6 but not LabVIEW 7. It provides a number of pre-developed virtual instrument solutions for NI DAQ cards. To use these with Amplicon boards, open the DAQ Solution wizard either through the LabVIEW start screen, or via Tools > Data Acquisition > DAQ Solution Wizard. Ensure that the “Program the input scaling and conversion myself” option on the “Welcome to the DAQ Solution Wizard” window is selected. Choose between the “Solutions Gallery” which contains pre-configured VIs or “Custom DAQ Applications” where the user specifies what combination of features is required in the virtual instrument and appropriate solutions are displayed. 4.3.1 Replacement Sub VIs To run any of the LabVIEW solutions in conjunction with Amplicon ADIO32 boards, certain subVIs contained within the solutions need to be replaced. See Table 4.1 for details. LabVIEW Sub VI Amplicon ADIO32 Replacement AI Sample Channel (scaled value).vi AI Sample Channels (scaled array).vi AmpADIO32 AI Sample Channel (scaled value).vi AmpADIO32 AI Sample Channels (Scaled Array).vi AmpADIO32 AI Config.vi AmpADIO32 AI Start.vi AmpADIO32 AI Read (Scaled & Binary Arrays).vi AI Config.vi AI Start.vi AI Read (binary array).vi AI Read (scaled array).vi AI Read (waveform).vi AI Clear.vi AI Read One Scan (scaled array).vi AI Waveform Scan (scaled array).vi AI Clock Config.vi AO Generate Waveform (scaled array).vi AO Generate Waveforms (scaled array).vi AO Update Channel(Scaled Value).vi AO Update Channels(Scaled Value).vi AO Config.vi AO Write (scaled array).vi AO Start.vi AO Wait.vi AmpADIO32 AI Read (waveform).vi AmpADIO32 AI Clear.vi AmpADIO32 AI Read One Scan (scaled array).vi AmpADIO32 AI Waveform Scan (scaled array).vi AmpADIO32 Clock Config.vi AmpADIO32 AO Generate Waveform (scaled array).vi AmpADIO32 AO Generate Waveforms (scaled array).vi AmpADIO32 AO Update Channel(Scaled Value).vi AmpADIO32 AO Update Channels (Scaled Value).vi AmpADIO32 AO Config.vi AmpADIO32 AO Write (scaled array).vi AmpADIO32 AO Start.vi AmpADIO32 AO Wait.vi Page 12 ADIO32 LabVIEW Driver Software AO Clear.vi AO Write One Update (Scaled Array).vi AO Continuous Gen (waveform).vi AO Buffer Write (scaled array).vi AmpADIO32 AO Clear.vi AmpADIO32 AO Write One Update (Scaled Array).vi AmpADIO32 AO Waveform Gen (scaled array).vi AmpADIO32 AO Waveform Gen (waveform).vi AmpADIO32 AO Continuous Gen (scaled array).vi AmpADIO32 AO Continuous Gen (waveform).vi AmpADIO32 AO Buffer Write (scaled array).vi Read From Digital Line.vi Read From Digital Port.vi Write to Digital Line.vi Write to Digital Port.vi DIO Port Config.vi DIO Port Read.vi DIO port Write.vi AmpADIO32 Read From Digital Line.vi AmpADIO32 Read From Digital Port.vi AmpADIO32 Write to Digital Line.vi AmpADIO32 Write to Digital Port.vi AmpADIO32 DIO Port Config.vi AmpADIO32 DIO Port Read.vi AmpADIO32DIO Port Write.vi AO Waveform Gen (scaled array).vi AO Waveform Gen (waveform).vi AO Continuous Gen (scaled array).vi Table 4.1 LabVIEW VIs and Their Amplicon ADIO32 Replacements 4.3.2 Replacing LabVIEW Sub VIs To replace a VI, right-click on the VI you need to replace and select Replace, an instance of the Functions palette appears. Locating the mouse over the Amplicon Data Acquisition icon opens a submenu. Navigate the submenus to find the Amplicon ADIO32 replacement for the original LabVIEW VI as indicated in Table 4.1. The Amplicon Data Acquisition menu structure on the Functions Palette and the palette icons for the Amplicon ADIO32 VIs as far as possible follows that of LabVIEW’s Data Acquisition menu and icons. This is intended to assist in selecting the correct AmpADIO32 VI replacement. AI Sample Channel (scaled value).vi Figure 4.2 AmpADIO32 Sample Channel (scaled value).vi LabVIEW Sub VI and Amplicon ADIO32 replacement See section 1.1.1 for details on how to add the Amplicon Data Acquisition menu to the Functions palette 4.3.3 Loading ADIO32LV.DLL The first time a LabVIEW VI is replaced by an Amplicon ADIO32 within a particular virtual instrument, the user is occasionally required to open ADIO32LV.DLL and a browse window opens for that purpose. The DLL is located in the AmpADIO32 sub folder which can be found in the installation directory for Nation Instruments LabVIEW. 4.3.4 Replace All Necessary VIs Some of the Sub VIs requiring replacement may themselves be contained within Sub VIs. Once a Sub VI has been edited, save it under a different name. Page 13 ADIO32 LabVIEW Driver Software 4.3.5 Unsupported Features There are features provided for in the LabVIEW examples that are not supported by Amplicon Cards. 4.3.5.1 Polymorphic VIs The Amplicon ADIO driver does not support polymorphic VIs, where one icon may represent one of a number of functions. For example, an icon labelled “AI Read” could represent an AI Read (binary array) function, an AI Read (scaled array) function, or an AI Read (waveform) function. The binary array icon is unique, but to identify the other two versions of the AI Read function, the block diagram function icon must be opened to note down the heading on the title bar. It is necessary to replace these icons with their equivalent type. 4.3.5.2 Triggering The Amplicon PCI230+ and PCI260+ cards now support hardware triggering. For earlier versions of the PCI230 and PCI260 boards, that do not support triggering, the gallery solutions such as the 2 Channel Oscilloscope and Spectrum Analyser can be used if “no trigger” is selected. 4.3.5.3 Digital I/O Handshaking PCI 230 Digital IO is restricted to 82C55 Mode 0 operation. Digital I/O handshaking is not available. 4.3.5.4 Card Specific Functions Some of the solutions use features specific to certain NI DAQ cards such as “DAQ Occurrences”. The Amplicon ADIO32 LabVIEW driver does not support these features. 4.3.6 Error Codes See the LabVIEW documentation for an explanation of reported error codes. 5 SUPPORT 5.1 Technical Support Technical support for the Amplicon ADIO32 LabVIEW driver can be obtained from MEV Ltd. Telephone: Email: Website: 5.2 0161 477 1898 info@mev.co.uk www.mev.co.uk Driver Updates Driver updates can be obtained from Amplicon Liveline Limited. Website: www.amplicon.co.uk Page 14