Timing of DAQmx Acquisition Vi and data write

I am acquiring data from a DAQ rack, using a 6251 PCI card. after acquiring a data set, i write it to a binary file. afterwards, i do a small calculation on one channel value and apply a condition on this value. the outcome of which is connected to the while loop surrounding the acquisition. So i (1.)grab 100 points, (2.) write, calc. and cond., and (3.) start over again. I stuck millisecond timers in between steps 1, 2, and 3 to determine if i was incurring much delay. So, if i have no delay, and i'm sampling at 100 Hz, the differences between the millisecond timing values (stuck into an array) should be
1000
0
0
1000
0
0
1000
0
0
etc.
This is usually the case. However, sometimes i get something like this
900
100
0
900
100
0
or
980
20
0
980
20
0
So if i measure a delay as a result of the writing/calculations/conditing, this time is subtracted from the acquisition time interval. I don't really understand this at all. Why a delay after the acquisition would speed up the acquisition, i have no idea. My only guess is that i start writing/calculating/conditioning before acquision has finished, but why would it do that? I've attached basically the setup. Any help would be great.
Attachments:
Concept.vi ‏61 KB

...what is the "hw?"
That's short for "hardware." Specificially, in a buffered acquisition the data is sent into your memory buffer at regular times regulated by a hardware clock found in your data acq board. Your software interacts with this memory buffer via 'Read' calls.
...worry about delay?
That'll depend on your app. As you've described it, you Read 1 second worth of data all at once then do some processing and storage. As long as you can do that processing and get back around the loop in less than one second, then the processing is not a bottleneck. The speed is being regulated by the amount of data you request and the time it takes to acquire it.
If this behavior is sufficient for you, then no, you don't have to worry about the delay.
Other apps may need to read smaller amounts of data and make decisions more quickly than once per second. Or they may need to instantly read the most recent data without waiting for any and then quickly make a decision. These sorts of apps might cause you to worry about the processing time.
-Kevin P.

Similar Messages

  • Does anyone know how to display (in LabVIEW) the memory use during execution of an image and data acquisition VI to predict when it is time to cease the acquisition to prevent the program crashing?

    Does anyone know how to display (in LabVIEW) the memory use during execution of an image and data acquisition VI to predict when it is time to cease the acquisition to prevent the program crashing?
    I am acquiring images and data to a buffer on the edge of the while loop, and am finding that the crashing of the program is unpredictable, but almost always due to a memory saturation when the buffers gets too big.
    I have attached the VI.
    Thanks for the help
    Attachments:
    new_control_and_acquisition_program.vi ‏946 KB

    Take a look at this document that discusses how to monitor IMAQ memory usage:
    http://digital.ni.com/public.nsf/websearch/8C6E405861C60DE786256DB400755957
    Hope this helps -
    Julie

  • Data source for deposit advice xml and check writer xml

    Could someone please tell me where I can find the data source for the Deposit Advice XML and Check Writer XML programs. Since these executables are now a spawned process (PYUGEN), I don't know how to get to the data source. I was able before to look at the queries in PAYUSPST.rdf and PAYUSCHK.rdf. Where are these queries located now? Any help is appreaciated.

    Hi All,
    I applyied the patch 6399100 and i got the seeded Check Writer (XML) and Deposit Advice (XML) programs.Im able to run the Check Writer (XML) with Parameter (Check Style :Seeded Archive Check Writer Template ) but where as the im unable to run the Deposit Advice (XML) due to Error msg: "No enties found for list of vales"for the 'Check Style' Parameter.
    And for the above (only for Deposit Advice) i am not able to ecexute the SQL script given in the Doc ID : 459306.1 due to the error msg : cannot insert NULL into ("HR"."PAY_REPORT_CATEGORIES"."REPORT_GROUP_ID") if i see query the select * from apps.pay_report_categories where short_name like 'ARCHIVE%' there is no record exixts for ARCHIVE_DEPOSIT....
    for this we required any other patch/setups.
    And is the "Third Pary Check" will support XML Publisher ??
    Any respose will be greatly appriciated.
    Thanks,
    Madhu
    Message was edited by:
    user589951

  • Free Report Writer for Oracle Database except Crystal Report and Data Vison

    Dear All,
    I want Free Report Writer for Oracle Database except Crystal Report and Data Vision software.
    Wr are working on Linux and windows both platform.
    Any one have direct link or website address for it ?
    Regards,
    Vipul Patel
    Ahmedabad

    Please check the following link -
    http://www.google.co.in/search?client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&channel=s&hl=en&q=open+source+report+writer+for+oracle&meta=&btnG=Google+Search
    Regards.
    Satyaki De.

  • Synchrosnised video and data acquisition

    I am a Labview user who would like to capture video and data (from one video
    camera and 4 strain gauges) simultaneously, then be able to play the video
    whilst being able to process the data streams. Is there a simple way to do
    this? - Thanks!

    I use Imaq for Labview to do the image acquisition, while using a traslation
    system. It works. The Motion controller is controlled by Labview too.
    (RS232)
    It doesnt seem u need syncronization from ur mail, maybe just a simultaneous
    acquisition. In this case it's very easy.
    Saint
    "Kevin Powell" ha scritto nel messaggio
    news:[email protected]..
    >
    > I am a Labview user who would like to capture video and data (from one
    video
    > camera and 4 strain gauges) simultaneously, then be able to play the video
    > whilst being able to process the data streams. Is there a simple way to do
    > this? - Thanks!

  • I have NI DAQmx 14.5 and running LV 2014, i am trying load some old project and i get the error of missing DAQmx Write VI

    I have NI DAQmx 14.5 and running LV 2014, i am trying load some old project and i get the error of missing DAQmx Write VI

    Can you attach an image of the error display? Did you install DAQmx after installing LabVIEW? Do you have the DAQmx palette?

  • Simultaneous analog output 1k sine wave and data acquisition

    Although many topics of simultaneous analog output and input can be found in NI Developer Zone, I have not found a case similar to my project. I'm trying to generate a 1kHz sine wave by using the analog output of NI DAQPad-6070E, and acquire one channel input signal simultaneously. I found most of the examples can not work properly above 100Hz. Any suggestions are welcome. Thank you.
    Jian

    I have sucessfully solve the problem when I observed the increase of
    scan backlog number. Simply increase the buffer size of AI/AO and you
    can make the 1kHz sine wave output and data acquired properly.
    On Tue, 3 Feb 2004 09:03:07 -0600 (CST), jujian wrote:
    >Although many topics of simultaneous analog output and input can be
    >found in NI Developer Zone, I have not found a case similar to my
    >project. I'm trying to generate a 1kHz sine wave by using the analog
    >output of NI DAQPad-6070E, and acquire one channel input signal
    >simultaneously. I found most of the examples can not work properly
    >above 100Hz. Any suggestions are welcome. Thank you.
    >
    >Jian

  • How record exact time and data

    Now I have labview and DAQ card E6251, I want to get data and exact time together and then write them to file. Would you like to give me some sample VI or suggestion?
    Thanks,

     Hi Sean,
     The place to start with data acquisition and LabVIEW is the NI Example Finder.
     This can be found by the following method:
       1. Run Labview
       2. Click the Help menu button
       3. Click the Find Examples button
       4. On the right hand side; Click Hardware Input/Output->DAQmx->Analog Measurement->Voltage->Cont Acq&Graph Voltage - Write Data to File (TDMS).VI
    When this example runs, click the Physical Channel drop down menu near the upper left hand corner on the front panel, select your
       physical channels to sample.
    Click the Run button to begin acquiring data, a dialog box will prompt you to enter a filename and location for saving the TDMS file.
    When you stop the acquisition the TDMS File Viewer will open the file for examination.
    After playing with this example for a bit, please re-read the comments that Dennis K. and others have made earlier in this thread, everything will make more sense at that point.
    Please post back to this thread if you do have further questions regarding your application.
    Best regards,
    MatthewW
    Applications Engineer
    National Instruments
    Message Edited by Matthew W on 08-29-2007 09:20 PM

  • NI DAQmx 8.3 and CPU usage

    I have similar problem as described on page http://forums.ni.com/ni/board/message?board.id=250&message.id=23831
    but have solution and some reflections.
    first of all, about system
    system use 2x PCI-6143 and take data from 16 channels with maximum rate (250 kS/s)
    program
    was created about year ago (with LV 7.1.1, DAQmx 7.4) and on PC with
    PIV (3.2 GHz) processor and 1 Gb of RAM work properly (CPU usage less
    30%).
    Now I've recompile program with LV8.2 and update drivers to DAQmx 8.3. now program can't work properly because CPU usage 100%
    I create test VI for research this problem.
    First version (daq_test1) - simple code - configure daqtask and get data.
    I found:
    if
    sample rate less or equal 90 kS/s (on PCI-6143) CPU usage less 5%, but
    when rate more 95 kS/s CPU usage jump to 60% (for one or more channels
    on one or two devises).
    Then I create simulated devise PCI-6143 in MAX and the same vi (daq_test1) require not more than 5-10% of CPU.
    also
    I have examine devise 16E-4 and find the same problem: if samle rate
    more than "boundary" rate, CPU usage is too much (50-70%).
    Then I add configure parameters (daq_test2) - add manualy DMA "on". There are no effects (CPU usage jump to 60% on "fast" rates)
    Then I  "play" with WaitMode (daq_test3). There are no effects (even if WaitMode=Sleep and SleepTime>1s CPU usage about 60%)
    Finally
    I create vi (daq_test4), where "manually" check
    AvailableSamplesPerChannel and call DAQmx Read only when bufer has more
    samples, that I need.
    So I'd wound solution, but think driver
    MUST check available samples carefully (also, why DAQmx 7.4 can fast
    scan, but  DAQmx 8.3 can't do it at least the same way as previous version).
    Attachments:
    daq_test.zip ‏78 KB

    Artem,
    Thank you for contacting National Instruments support.  This is expected behavior. When the wait mode is set to Sleep, DAQmx will only sleep if and only if there is no data available to process. So, for example,  at 200 kS/s, data is filling up the buffer fairly quickly and should always be available to read, which means that the process will not sleep at all. When data is always available, the CPU is going to handle it as quickly as possible and thus the CPU will appear to be running at near 100%.
    Specifying a wait mode of Sleep is really only beneficial when the acquisition is running slowly enough that a lot of time is spent in DAQmx Read waiting for the data to arrive. In the past, the CPu was maxed out even at extremely slow sampling rates.  Sleep mode alleviates this problem by putting the process to sleep when no data is ready for processing; however, if data is available, it will be handled immediately and no sleeping will occur. If data is constantly available for processing, the CPU is expected to deal with it right away and the usage will appear to be high.
    Regards,
    Kenn North
    Senior Product Manager - Search, Product Data
    http://ni.com/search

  • Compare daqmx event with dynamic data

    Good evening everyone!
    Our project is now facing a problem with LabView.
    For our project, we need to use daq to acquire current for our SOC. We want to use virtual channel so people can choose channels from the front panel directly. But when use DAQmx Virtual Channel, the task out is daqmx event which can be used for further calculation like multiple times to get our SOC, also can not compare with a constant.
    Could anybody help me  with this question? How can I extract the value inside the task out for DAQmx or convert daqmx event to dynamic data directly  ??

    So you changed your DAQ Assistant to attempt to use the DAQmx API.  Normally, I would say "Good for you".  But if the code was working, why change it?
    Mimic what I did with the Analog Output.  See how I configured before the loop, wrote inside the loop, and closed after the loop?  You should do the same thing with the Analog Input, except you do a DAQmx Read instead of a write.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Exporting time and date metadata onscreen in FCP 7

    Hi there
    Does anyone happen to know if i can display the time and date stamp onscreen when exporting to DVD in Final Cut Pro 7? I know that you can now capture the time/date metadata through log and transfer; i need to be able to show that onscreen the same way that you might use timecode when exporting to DVD.
    Additionally does anyone know of a plugin that might give me the same control over this as we already get over timecode?
    And finally, is it possible to print out a log inc: clip name, time and date from FCP7?
    Thanks
    Chris

    ProDateDV from Automatic Duck was a unfortunately mistimed one trick pony that did this ... but only for DV format footage unfortunately, and as such it totally missed the DV bus, as it was only released just about a year ago. It seems to have been pulled from their products page already. Shame. The problem is that every different acquisition format records and stores this data differently, and usually proprietarily, so the details of how and where to find it within the auxiliary data stream is not at all straightforward, nor the means to write a plugin that would work regardless of source media type.

  • Reading MS Project column names and data on the fly from a selected View

    Hi guys,
    I have several views on my project file (MSPROJECT 2010) and I want to build a macro so that;
    1. User can select any view ( Views can have diffrent columns and the user may add new columns as well)
    2. User runs the Macro and all the coulmns along with the tasks displayed in the view will be written to a excel file. ( I don't want to build several macro's for each view, I'm thinking of a common method which would work for any selected view)
    The problem I'm facing is that how will i read the column names and data for a particular view on the fly without hard coding them inside the vba code ?
    The solution needs to work on a master schedule as well.
    Appreciate your feedback.

    Just to get you started the following code writes the field name and data for the active task to the Immediate window.
    Sub CopyData()
    Dim fld As TableField
    For Each fld In ActiveProject.TaskTables(ActiveProject.CurrentTable).TableFields
    If fld.Field >= 0 Then
    Debug.Print Application.FieldConstantToFieldName(fld.Field), ActiveCell.Task.GetField(fld.Field)
    End If
    Next fld
    End Sub
    Rod Gill
    Author of the one and only Project VBA Book
    www.project-systems.co.nz

  • Qty and Date Variance using Purchasing InfoCube

    Using Purchasing Cube, I want to find out the Qty Variance and Date variance,
    Iu2019m calculating these using GR Posting date and Requested Delivery Date and GR Qty and Qty in UoM.
    Iu2019ve the following doubts:
    1.     In order to calculate the Variance, do we need to filter the data pertaining to any particular BW Transaction Key (0PROCESSKEY) since we donu2019t want Goods Issues (can be Purchase Returns or intra company Stock Transfers ), If so what are the values for the Process Key to be considered for filter.
    2.     Though the Qty key figure matches the Requested Qty, the PO status is u2018Openu2019. What could be the possible reasons?
    3.     The qty. and days variance for the POs already received can be calculated. But what should be done incase of POs for which Goods are not yet received? Again in that scenario, we can have two cases: Delivery Past Due and Delivery Date in Future. How to tackle these 2 cases. As per our Requirement, we have to calculate the difference between System date and Requested Delivery Date incase of Past Delivery Date so that we can have the variance as of System Date. Like If the Delivery Date is 25th Nov, if we run the Query on 28th, it should show 3 days late and if run on 29th, it has to be 4 days if still undelivered. Please give me the code to be written in Transformations.
    We have not yet decided what has to be done in the second case i.e. Future Delivery Date. Please guide me what is the best option in that case.
    Thanks,
    Aryaman

    Hi,
    1. In order to calculate the Variance, do we need to filter the data pertaining to any particular BW Transaction Key (0PROCESSKEY) since we donu2019t want Goods Issues (can be Purchase Returns or intra company Stock Transfers ), If so what are the values for the Process Key to be considered for filter.
    You need to add Z-Keyfigures and then write Routines based on Process Keys in Update Rules/Transformations and filter the required Process Keys, you need to find required Process Keys in ECC, SPRO-->Reference IMG an dthen search for BW Transactional Key and see it disuss with MM FUnctional COnsultant and Identify it.
    2. Though the Qty key figure matches the Requested Qty, the PO status is u2018Openu2019. What could be the possible reasons?
    I faced the problem with 2LIS_02_* datasources so I created new generic data source and used it.  Just take only one record with that you track in ECC. You must take MM Consultants help, they will guide you.
    3. The qty. and days variance for the POs already received can be calculated. But what should be done incase of POs for which Goods are not yet received? Again in that scenario, we can have two cases: Delivery Past Due and Delivery Date in Future. How to tackle these 2 cases. As per our Requirement, we have to calculate the difference between System date and Requested Delivery Date incase of Past Delivery Date so that we can have the variance as of System Date. Like If the Delivery Date is 25th Nov, if we run the Query on 28th, it should show 3 days late and if run on 29th, it has to be 4 days if still undelivered. Please give me the code to be written in Transformations.
    We have not yet decided what has to be done in the second case i.e. Future Delivery Date. Please guide me what is the best option in that case.
    Once you have Qty and Dates from Transactional Data then it is easy to calculate the Date Varience and Qty varience, see the follwoing URL it is having one article How to Calculate Meterial Aging whcih will give how to calculate the differnce..
    http://wiki.sdn.sap.com/wiki/display/profile/Surendra+Reddy
    Thanks
    Reddy

  • Current day and date

    I've created a fairly simple website in which I've inserted
    the day and date and want it to update automatically according to
    my location, which is the same as the server. Currently, it is in
    the following format: Friday, March 14, 2008. I've not been able to
    find a simple, clear, step by step answer in my online searches. I
    am not a programmer so if you tell me about code you may need to
    provide a little extra detail. Do I need to create an html or shtml
    page for this code instruction or can I simply insert some magic
    code into my current html page? Thanks for your time and help with
    this!

    DJenae wrote:
    > <script>
    > document.write(new Date());
    > </script>
    >
    > Mick
    >
    >
    > Thanks Mick but this didn't work either. It must be the
    placement. Please read
    > the 2 posts before yours to see how I inserted the code
    suggestions. This is
    > that section of code that includes what you sent me.
    >
    > <tr>
    > <td width="558" height="33" valign="middle"
    class="style1"><script><br />
    > document.write(new Date());<br />
    > </script></td>
    > </tr>
    >
    <tr>
    <td width="558" height="33" valign="middle"
    class="style1">
    <script>
    document.write(new Date());
    </script>
    </td>
    </tr>
    Note removal of breaks, and BTW "height" is an illegal
    attribute for <td>
    Another way:
    <script>
    Date.prototype.normal=function(){
    return
    ["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][this.getDay()]+
    ", "+
    ["Jan","Feb","Mar","Apr","May","Jun",
    "Jul","Aug","Sep","Oct","Nov","Dec"][this.getMonth()]+
    " "+
    this.getDate()+
    ", "+this.getFullYear();
    </script>
    <tr>
    <td width="558" height="33" valign="middle"
    class="style1">
    <script>
    document.write(new Date().normal());
    </script>
    </td>
    </tr>
    Mick

  • Difference b/w DATA TYPE and DATA OBJECT & differences b/w TYPE and LIKE

    hai
    can any one say the differences between Data type and Data Object.
    And also differences between TYPE and LIKE
    thanks
    Gani

    hi,
    _Data Types and Data Objects_
          Programs work with local program data – that is, with byte sequences in the working memory. Byte sequences that belong together are called fields and are characterized by a length, an identity (name), and – as a further attribute – by a data type. All programming languages have a concept that describes how the contents of a field are interpreted according to the data type.
          In the ABAP type concept, fields are called data objects. Each data object is thus an instance of an abstract data type. There are separate name spaces for data objects and data types. This means that a name can be the name of a data object as well as the name of a data type simultaneously.
    Data Types
       As well as occurring as attributes of a data object, data types can also be defined independently. You can then use them later on in conjunction with a data object. The definition of a user-defined data type is based on a set of predefined elementary data types. You can define data types either locally in the declaration part of a program using the TYPESstatement) or globally in the ABAP Dictionary. You can use your own data types to declare data objects or to check the types of parameters in generic operations.
         All programming languages distinguish between various types of data with various uses, such as ….. type data for storing or displaying values and numerical data for calculations. The attributes in question are described using data types. You can define, for example, how data is stored in the repository, and how the ABAP statements work with the data.
    Data types can be divided into elementary, reference, and complex types.
    a. Elementary Types
    These are data types of fixed or variable length that are not made up of other types.
    The difference between variable length data types and fixed length data types is that the length and the memory space required by data objects of variable length data types can change dynamically during runtime, and that these data types cannot be defined irreversibly while the data object is being declared.
    Predefined and User-Defined Elementary Data Types
    You can also define your own elementary data types in ABAP using the TYPES statement. You base these on the predefined data types. This determines all of the technical attributes of the new data type. For example, you could define a data type P_2 with two decimal places, based on the predefined data type P. You could then use this new type in your data declarations.
    b.  Reference Types
    Reference types are deep data types that describe reference variables, that is, data objects that contain references. A reference variable can be defined as a component of a complex data object such as a structure or internal table as well as a single field.
    c. Complex Data Types
    Complex data types are made up of other data types. A distinction is made here between structured types and table types.
    Data Objects
          Data objects are the physical units with which ABAP statements work at runtime. The contents of a data object occupy memory space in the program. ABAP statements access these contents by addressing the name of the data object and interpret them according to the data type.. For example, statements can write the contents of data objects in lists or in the database, they can pass them to and receive them from routines, they can change them by assigning new values, and they can compare them in logical expressions.
           Each ABAP data object has a set of technical attributes, which are fully defined at all times when an ABAP program is running (field length, number of decimal places, and data type). You declare data objects either statically in the declaration part of an ABAP program (the most important statement for this is DATA), or dynamically at runtime (for example, when you call procedures). As well as fields in the memory area of the program, the program also treats literals like data objects.
            A data object is a part of the repository whose content can be addressed and interpreted by the program. All data objects must be declared in the ABAP program and are not persistent, meaning that they only exist while the program is being executed. Before you can process persistent data (such as data from a database table or from a sequential file), you must read it into data objects first. Conversely, if you want to retain the contents of a data object beyond the end of the program, you must save it in a persistent form.
    Declaring Data Objects
          Apart from the interface parameters of procedures, you declare all of the data objects in an ABAP program or procedure in its declaration part. These declarative statements establish the data type of the object, along with any missing technical attributes. This takes place before the program is actually executed. The technical attributes can then be queried while the program is running.
         The interface parameters of procedures are generated as local data objects, but only when the procedure is actually called. You can define the technical attributes of the interface parameters in the procedure itself. If you do not, they adopt the attributes of the parameters from which they receive their values.
    ABAP contains the following kinds of data objects:
    a.  Literals
    Literals are not created by declarative statements. Instead, they exist in the program source code. Like all data objects, they have fixed technical attributes (field length, number of decimal places, data type), but no name. They are therefore referred to as unnamed data objects.
    b.  Named Data Objects
    Data objects that have a name that you can use to address the ABAP program are known as named objects. These can be objects of various types, including text symbols, variables and constants.
    Text symbols are pointers to texts in the text pool of the ABAP program. When the program starts, the corresponding data objects are generated from the texts stored in the text pool. They can be addressed using the name of the text symbol.
    Variables are data objects whose contents can be changed using ABAP statements. You declare variables using the DATA, CLASS-DATA, STATICS, PARAMETERS, SELECT-OPTIONS, and RANGESstatements.
    Constants are data objects whose contents cannot be changed. You declare constants using the CONSTANTSstatement.
    c.  Anonymous Data  Objects
    Data objects that cannot be addressed using a name are known as anonymous data objects. They are created using the CREATE DATAstatement and can be addressed using reference variables.
    d.  System-Defined Data Objects
    System-defined data objects do not have to be declared explicitly - they are always available at runtime.
    e.  Interface Work Areas
    Interface work areas are special variables that serve as interfaces between programs, screens, and logical databases. You declare interface work areas using the TABLES and NODESstatements.
    What is the difference between Type and Like?
    Answer1:
    TYPE, you assign datatype directly to the data object while declaring.
    LIKE,you assign the datatype of another object to the declaring data object. The datatype is referenced indirectly.
    Answer2:
    Type is a keyword used to refer to a data type whereas Like is a keyword used to copy the existing properties of already existing data object.
    Answer3:
    type refers the existing data type
    like refers the existing data object
    reward if useful
    thanks and regards
    suma sailaja pvn

Maybe you are looking for

  • How to add a check box

    Hi all, How can I add a check box in a interactive report???

  • How do I get a 23.98 sequence onto a dvd(29.97) without adding 3:2pulldown?

    Hello, I am having a hard time finding a process for burning 23.98 footage onto a DVD without having the method of 3:2 pulldown effecting the overall look. I have a sequence in Final Cut Pro that is 23.98. I'd like to burn it to a DVD but when the 3:

  • Mass cancellation of billing documents

    Hi Experts, I want to cancel around 1800 billing documents in one shot, is there any Tcode for the same, please suggest at the earliest.

  • Ipod preferences missing

    I'm manually updating my selected playlists but when I connect my ipod, I get an error message saying that the ipod preferences are missing and it can't update my ipod. Anybody else see this and have a solution? Thanks

  • External Hard Drive & Problems With Pro Tools LE

    Alright... my friend has the same computer as me, Powerbook G4, with the same specs and everything (OSX 10.3.9), and has a Digi 002 Rack with Pro Tools LE 6.2.2 He can record and playback everything perfectly through his Lacie 150 GB external HD. How