Pointer of Array in die Middel of an Array

i have a 30mb large Array of Byte A, i need 10Mb from this Array in an new one B.
But a dont want to copy the Data.
I want that in my prog: Array B is 10MB and start at Index x of array A.
Is this possiple? or i have to copy it?
thaks for help.
CU
Christian

im sure that this works for me:
i need it for:
byte[] audioBytes;  //myArray
line.write(audioBytes, b, byteCount); //SourceDataLine line = (SourceDataLine)AudioSystem.getLine(info);line.write want an Array no "virtual Array" ;-(
Any idee?

Similar Messages

  • Programmatically create array from common cluster items inside array of clusters

    I have seen many questions and responses on dealing with arrays of clusters, but none that discuss quite what I am looking for. I am trying to programmatically create an array from common cluster items inside array of clusters. I have a working solution but looking for a cleaner approach.  I have an array of clusters representing channels of data.  Each cluster contains a mixture of control data types, i.e.. names, types, range, values, units, etc. The entire cluster is a typedef made up of other typedefs such as the type, range and units and native controls like numeric and boolean. One array is a “block” or module. One cluster is a channel of data. I wrote a small vi to extract all the data with the same units and “pipe” them into another array so that I can process all the data from all the channels of the same units together.  It consists of a loop to iterate through the array, in which there is an unbundle by name and a case structure with a case for each unit.  Within a specific case, there is a build array for that unit and all the other non-relevant shift registers pass through.  As you can see from the attached snapshots, the effort to add an additional unit grows as each non-relevant case must be wired through.  It is important to note that there is no default case.  My question:  Is there a cleaner, more efficient and elegant way to do this?
    Thanks in advance!
    Solved!
    Go to Solution.
    Attachments:
    NI_Chan units to array_1.png ‏35 KB
    NI_Chan units to array_2.png ‏50 KB

    nathand wrote:
    Your comments made me curious, so I put together a quick test. Maybe there's an error in the code (below as a snippet, and attached as a VI) or maybe it's been fixed in LabVIEW 2013, but I'm consistently getting faster times from the IPE (2-3 ms versus 5-6ms for unbundle/index). See if you get the same results. For fun I flipped the order of the test and got the same results (this is why the snippet and the VI execute the tests in opposite order).
    This seems like a poster child for using the IPES!  We can look at the index array + replace subset and recognize that it is in place, but the compiler is not so clever (yet!).  The bundle/unbundle is a well-known "magic pattern" so it should be roughly equivalent to the IPES, with a tiny penalty due to overhead.
    Replace only the array operation with an IPES and leave the bundle/unbundle alone and I wager the times will be roughly the same as using the nested IPES.  Maybe even a slight lean toward the magic pattern now if I recall correctly.
    If you instantly recognize all combinations which the compiler will optimize and not optimize, or you want to exhaustively benchmark all of your code then pick and choose between the two to avoid the slight overhead.  Otherwise I think the IPES looks better, at best works MUCH better, and at worst works ever-so-slightly worse.  And as a not-so-gentle reminder to all:  if you really care about performance at this level of detail: TURN OFF DEBUGGING!

  • Is there an example vi for converting an array of boolean to list an array of Int based on a selected T/F state?

    I would like to use arrays to minimize code.
    I am trying to generate an array of int base on an array of boolean randomly selected.

    You can try using 'Boolean to 0,1.vi', found in the Boolean palette: this vi converts a scalar, array or cluster of booleans to a scalar, array or cluster of word (I16 integers).
    To use it, simply wire an array of booleans (indicator) to its left, and an array of integers (control) to its right et voilà.
    Roberto
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • Search given string array and replace with another string array using Regex

    Hi All,
    I want to search the given string array and replace with another string array using regex in java
    for example,
    String news = "If you wish to search for any of these characters, they must be preceded by the character to be interpreted"
    String fromValue[] = {"you", "search", "for", "any"}
    String toValue[] = {"me", "dont search", "never", "trip"}
    so the string "you" needs to be converted to "me" i.e you --> me. Similarly
    you --> me
    search --> don't search
    for --> never
    any --> trip
    I want a SINGLE Regular Expression with search and replaces and returns a SINGLE String after replacing all.
    I don't like to iterate one by one and applying regex for each from and to value. Instead i want to iterate the array and form a SINGLE Regulare expression and use to replace the contents of the Entire String.
    One Single regular expression which matches the pattern and solve the issue.
    the output should be as:
    If me wish to don't search never trip etc...,
    Please help me to resolve this.
    Thanks In Advance,
    Kathir

    As stated, no, it can't be done. But that doesn't mean you have to make a separate pass over the input for each word you want to replace. You can employ a regex that matches any word, then use the lower-level Matcher methods to replace the word or not depending on what was matched. Here's an example: import java.util.*;
    import java.util.regex.*;
    public class Test
      static final List<String> oldWords =
          Arrays.asList("you", "search", "for", "any");
      static final List<String> newWords =
          Arrays.asList("me", "dont search", "never", "trip");
      public static void main(String[] args) throws Exception
        String str = "If you wish to search for any of these characters, "
            + "they must be preceded by the character to be interpreted";
        System.out.println(doReplace(str));
      public static String doReplace(String str)
        Pattern p = Pattern.compile("\\b\\w+\\b");
        Matcher m = p.matcher(str);
        StringBuffer sb = new StringBuffer();
        while (m.find())
          int pos = oldWords.indexOf(m.group());
          if (pos > -1)
            m.appendReplacement(sb, "");
            sb.append(newWords.get(pos));
        m.appendTail(sb);
        return sb.toString();
    } This is just a demonstration of the technique; a real-world solution would require a more complicated regex, and I would probably use a Map instead of the two Lists (or arrays).

  • Array-elem​ents depending on which array-elem​ent one choose before

    Hello!
    Now we have perhaps an easy problem... we have from the beginning a text-file that we pick out some of the columns that we display on the frontpanel. This forms an array of cluster with the different columns in. Then one is able to choose one of these elements of the array. There are moore values that belongs to each elements but these we do not want to display, so that is why we picked them out from the array and put them in another array that we thought we could connect in some way to the first array... now the problem: when one choose an element of the first array we want the other array to pick out the value with the same index. I should mension that we build an array of the choosen elements too...
    Any tip or help would be nice :-) best regards!

    First, you must change your K-value array to a control so you can read from it. Then you must make your Array of Signals into a 2D array to hold the signal and the value in separate columns. Now look at the attached vi. It will put the signal in column 0 and the K-value in column 1 for each signal selected from Signallist.
    - tbob
    Inventor of the WORM Global
    Attachments:
    array-element[1].vi ‏47 KB

  • Can you parse an array of string characters into separate arrays?

    Hello,
    I didn't see anything directly related to my question, so I'll go ahead and post it.  I'm looking to parse an array of hex characters into three separate arrays for parallel Color to RGB conversion in LabView.  Ideally, after importing an image, I would have liked to use the Color to RGB conversion for the 24-bit pixmap (in hex digit format), but apparently, you can only do this for single number conversions...not arrays.  Another way is what I have mentioned above, which would be to parse each element's red, green, and blue # into three separate arrays as shown below:
    Original Array:   aa11ff     225599
                              cc4488   bbcc11
    Array 1: aa  22
                 cc   bb
    Array 2: 11   55
                  44   cc
    Array 3:  ff    99
                  88   11
    I could then do a parallel conversion of these arrays from hex to numeric and get the desired result.  However, I'm having trouble finding a function that will do this.  So I would like to ask if a function like this does exist and if so, what is it?  I should note that I'm trying to avoid using two while loops because of time constraints (using the program for in-situ measurements), and we do not own, nor are we looking to purchase the $$$ vision/video package that NI makes.

    Nevermind.  I found an adequate way.

  • Wait for all threads in a array to die

    I everyone. I'm from Portugal and I have some experience in JAVA programming (approximately five years) but this is the first the first time that i'm trying to use threads. I'm trying to learn writing some simpler code that does almost exactly at the basic level the same stuff that a complex application that I need to write for my work.
    What I'm trying to do is execute a counter that counts all operations in threads belonging to the same array (an array of n threads).
    A static variable in the Thread class (implementing Runnable) counts all operations performed by all threads and sums them all and shoud display the total of operations after all threads terminate, but this exactly what I don't know how to do:
    This is my example code:
    public class TT1 implements Runnable {
         int id;
         double last_number;
         static int threads_counter = 0;
         static int total_threads = 4;
         static long total_numbers;
         int total_randoms = 1000;
         public void run() {
              for (int i=0;i<total_randoms;i++)
                   total_numbers++;
                   // does some stuff, in this case, generate a random number!
                   last_number = Math.random();
              System.out.printf("Thread %d:%f(%d)\n",id,last_number,total_numbers);
         public TT1() {
              id = threads_counter++;
              new Thread(this).start();
         public static void main(String[] args) {
              // TODO Auto-generated method stub
              Thread [] threads = new Thread[total_threads];
              for (int i=0;i<threads.length;i++)
                   threads[i] = new Thread(new TT1());
              /* commented code using join(), is not working or I don't know
              how to use it! */
              for (int i=0;i<threads.length;i++)
                   try {
                        threads.join();
                   } catch (InterruptedException e) {
                        e.printStackTrace();
              try {
                   threads[total_threads-1].join();
              } catch (InterruptedException e) {
                   e.printStackTrace();
              // this line should be executed ONLY after ALL threads have died!
              System.out.println("******GENERATED NUMBERS TOTAL:" + total_numbers);
    Somebody can give me a hint how to solve this ?

    Thanks for your replies.
    Actually, i've corrected the code, now i'm starting the threads outside the constructor. Originally I thought this could be a simpler way to create the threads: launching them at same time I'm creating them! Is this wrong ? :) Well, watching the results.
    I changed my code:
    public class TT1 implements Runnable {
         int id;
         double last_number;
         static int threads_counter = 0;
         static int total_threads = 4;
         static long total_numbers;
         int total_randoms = 1000;
         public void run() {
              for (int i=0;i<total_randoms;i++)
                   total_numbers++;
                   // does some stuff, in this case, generate a random number!
                   last_number = Math.random();
              System.out.printf("Thread %d:%f(%d)\n",id,last_number,total_numbers);
         public TT1() {
              id = threads_counter++;
         public static void main(String[] args) {
              // TODO Auto-generated method stub
              Thread [] threads = new Thread[total_threads];
              /* create individual threads */
              for (int i=0;i<threads.length;i++)
                   threads[i] = new Thread(new TT1());
              /* launch the threads (NEW CODE) */
              for (int i=0;i<threads.length;i++)
                   threads.start();
              /* commented code using join(), is not working or I don't know
              how to use it! */
              for (int i=0;i<threads.length;i++)
                   try {
                        threads[i].join();
                   } catch (InterruptedException e) {
                        e.printStackTrace();
              // this line should be executed ONLY after ALL threads have died!
              System.out.println("******GENERATED NUMBERS TOTAL:" + total_numbers);
    And I obtain the output:
    $ java TT1
    Thread 0:0,191546(1000)
    Thread 1:0,937476(2000)
    Thread 2:0,825079(3000)
    Thread 3:0,451367(4000)
    ******GENERATED NUMBERS TOTAL:4000Exactly as I want it!
    All is good when it works good ;)
    Best regards

  • Measuring Point for Tools and Die Maintenance

    Dear All,
    I am trying to map the following process:-
    My client has 10 press machines and around 250 Dies for punching. Dies are assembled to press machines and they produce jobs by punching.
    Client has an Preventive Maintenance plan for each Die in terms of number of strokes punched by an Die. for e.g PM is done after every 300000, 600000, 900000, 1200000 strokes. Estimated life is 1200000.
    What they want is when production person confirms the production order say for 10000 jobs the counter of the die should increase by 10000.......and so on. When the counter reaches 300000 preventive maintenance call should be scheduled.
    What i have done is created an Die as an Equipment with PRT as equipment category. Created an measuring point for that Die, assined Usage formula etc.
    I have created an Maintenance plan for that die in which i have assigned the strategy (IP11) which contains the stroke cycles 300000, 600000.........etc.
    Assigned the Die as a PRT to the material which is to be produced in the Routing.
    When i confirm the production order the counter of the PRT increases which i can check IK13.
    What i am expecting is that in IP10 system should update the counter automatically so that when the counter reaches to 300000 maintenance call wil be scheduled and order will be generated.
    I would request you to please give me some input on this.
    Thanks and Regards,
    Rashmi

    Hello Rashmi;
    I have seen the screen shots & there are problems with the following:
    1) Counter overflow reading
    You have entered 130;  keep it as- 999999 (it is the reading after which system starts counting from 0 value)
    2) Formula that you have used;
    You have used the formula- SAPF02; do not use this. Create you own formula with following details: SAPF99 (new formula)  = SAP_20 * SAP_09
    3) You have manually entered the reading for the measuring point; do not use it. System will calculate the measurement reading from PRT usage value.
    CREATE a single measuring document with reading as '0'.
    4) Also in CA01; you need to assign this PRT in routing with "EQUIPMENT" & not material. Also make sure that in the same screen (assignment of PRT- basic data) maintain usage value as 1 (if this is not maintained, measuring doc. will NOT be updated).
    5) Now when you confirm the production order, based on number of units created; system will automatically create the measuring doc.
    If there is any problem with CA01, CO01 or CO11n; ask your PP consultant to assist.
    Do let me know if there is any problem in this.
    Regards
    Hemant

  • Using new computer, existing mailbox user Outlook 2010 Auto-configuration points to the Mailbox Server rather than CAS Array ?

    People,
    I'm having a problem with the current AD user account & mailbox user where they cannot get the Outlook 2010 automatically configured to point into the CAS array ?
    This is happening when the existing user get new computer replaced or login to the Terminal Server where their account never set before, it always points to the Mailbox Server instead of the Client Access Server array virtual name. 
    The work around that I provided is typing the Client Access Array address and then specify Outlook.domain.com to match the Windows NLB name (and Get-ClientAccessArray result).
    Single AD Domain forest
    AD Site DataCenter contains:
    Domain Controllers: PRODDC01-VM, PRODDC02-VM, PRODDC03-VM
    Exchange Server 2010 SP3 - CAS&HT: PRODMAIL01-VM and PRODMAIL01-VM (Configured with WNLB as outlook.domain.com)
    Exchange Server 2010 SP3 - Mailbox: PRODMAILBOX01-VM and PRODMAILBOX01-VM (no DAG is set)
    Terminal Server (RDSH 2008 R2): PRODTS01-VM ... PRODTS60-VM (when user logged in to new TS, it got the same error).
    AD Site HQ contains - This site has no issue:
    Domain Controllers: HQDC01 and HQDC02
    Workstations using Outlook 2010 and 2013
    AD Site SiteOffice1 contains - This site has problem:
    Domain Controllers: none but the majority of the workstations LOGONSERVER is pointing to PRODDC03-VM
    Workstations using Outlook 2010 and 2013
    All of the Exchange environment here is using Exchange Server 2010 SP3 for all server roles.
    Any help would be greatly appreciated.
    Thanks
    /* Server Support Specialist */

    Hi,
    Yes, the RPCClientAccessServer should point to the CAS array. What's more, I would like to clarify the following things:
    1. Run the Get-ClientAccessServer | fl AutoDiscoverServiceInternalUri cmdlet to make sure that it displays the correct Uri.
    2. Run the Get-WebServicesVirtualDirectory | fl Identity,*auth*,*URL to ensure that URL for EWS points to the CAS array.
    Hope this can be helpful to you.
    Best regards,
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact [email protected].
    Amy Wang
    TechNet Community Support
    Here's the result:
    [PS] C:\>Get-ClientAccessServer | fl AutoDiscoverServiceInternalUri
    AutoDiscoverServiceInternalUri : https://PRODMAIL02-VM.domain.com/Autodiscover/Autodiscover.xml
    AutoDiscoverServiceInternalUri : https://PRODMAIL01-VM.domain.com/Autodiscover/Autodiscover.xml
    [PS] C:\>Get-WebServicesVirtualDirectory | fl Identity,*auth*,*URL
    Identity : PRODMAIL01-VM\EWS (Default Web Site)
    CertificateAuthentication :
    InternalAuthenticationMethods : {Ntlm, WindowsIntegrated, WSSecurity}
    ExternalAuthenticationMethods : {Ntlm, WindowsIntegrated, WSSecurity}
    LiveIdSpNegoAuthentication : False
    WSSecurityAuthentication : True
    LiveIdBasicAuthentication : False
    BasicAuthentication : False
    DigestAuthentication : False
    WindowsAuthentication : True
    InternalNLBBypassUrl : https://PRODMAIL01-VM.domain.com/ews/exchange.asmx
    InternalUrl : https://PRODMAIL01-VM.domain.com/EWS/Exchange.asmx
    ExternalUrl : https://email.domain.com/ews/exchange.asmx
    Identity : PRODMAIL02-VM\EWS (Default Web Site)
    CertificateAuthentication :
    InternalAuthenticationMethods : {Ntlm, WindowsIntegrated, WSSecurity}
    ExternalAuthenticationMethods : {Ntlm, WindowsIntegrated, WSSecurity}
    LiveIdSpNegoAuthentication : False
    WSSecurityAuthentication : True
    LiveIdBasicAuthentication : False
    BasicAuthentication : False
    DigestAuthentication : False
    WindowsAuthentication : True
    InternalNLBBypassUrl : https://PRODMAIL02-VM.domain.com/ews/exchange.asmx
    InternalUrl : https://PRODMAIL02-VM.domain.com/EWS/Exchange.asmx
    ExternalUrl : https://email.domain.com/ews/exchange.asmx
    The IP address of email.domain.com and outlook.domain.com are the same IP address, this IP address is servec by WNLB.
    /* Server Support Specialist */

  • Pointer Manipulation: Wrap Around/Rollover/Rotation of LabVIEW Arrays and Waveforms???

    I know we can't use pointers in LabVIEW, but I was wondering if there's any way we can do wrap-around [or "rollover," or "rotation"] of Array [or Waveform] values without having to make copies of the Array [or Waveform]?
    For instance, suppose I'm reading one second's worth of data into a five second buffer. After the first five seconds, I've got
    1st (1/5)th: 1st second's worth of data
    2nd (1/5)th: 2nd second's worth of data
    3rd (1/5)th: 3rd second's worth of data
    4th (1/5)th: 4th second's worth of data
    5th (1/5)th: 5th second's worth of data
    Now I read the sixth second's worth of data, and overwrite the [original] first second, so that I have
    1st (1/5)th: 6th second's worth of data
    2nd (1/5)th: 2nd second's worth of data
    3rd (1/5)th: 3rd second's worth of data
    4th (1/5)th: 4th second's worth of data
    5th (1/5)th: 5th second's worth of data
    and in C, or C++, I'd just move the pointer up to the second (1/5)th of data, and start from there.
    The LabVIEW Complex FFT is another place where this would be really useful. The Help File for the Complex FFT is in
    Help | VI and Function Reference | Analyze VIs | Signal Processing VIs | Frequency Domain VIs | Complex FFT.
    If you read the Help File, you see that LabVIEW returns an FFT with values in the range
    [0, 2n - 1)
    rather than the standard
    [-n, n - 1)
    i.e. LabVIEW takes the negative frequencies and tacks them on at the end, after the positive frequencies.
    I'd like to be able to view my FFTs with the negative frequencies where they're supposed to be [i.e to the left of zero], and this would be SO easy if I could just move the underlying data pointer of the Waveform forward to the halfway point.
    But, of course, in LabVIEW, I don't have pointers, so I was wondering: Are there any built-in VIs for Array [or Waveform] manipulation that will perform this sort of wrap-around [or "rollover," or "rotation"] of the data? If so, I couldn't find them. Ideally, such a VI would have two inputs: {old Array, new starting point}, and one output: {new Array}. Similarly with Waveforms, only you'd need to manipulate t0 as well.
    Or do I have to copy the entire data set to a new Array [or Waveform] each time I reach the end of the buffer?
    Thanks!

    > Ideally, such a VI would have two inputs: {old Array, new starting point}, and one output: {new Array}.
    Have a look at "rotate 1D array" in the array palette (second row, fourth column).
    (Sorry, I dont use waveform data).
    LabVIEW Champion . Do more with less code and in less time .

  • How can I copy Captivate 6.x document array data into a new Javascript array

    I'd like to copy an array from my captivate document variables to a variable within a script my project runs.  I attempted to use objCP.cpEIGetValue("m_VarHandle.Array.slice(0)") but that didnt seem to work.

    One the primary things I learnt at Uni is the Object Oriented Modal of design and Development, MVC etc.
    Seperation of the function, display, data being a fundemental point to develop and all the benifits of that.
    Also, Your HTML code will weigh more, i.e. a web page riddled with similar code will have a kb size that is a lot larger than necessary. The inline script and css will make the source more dense, search engines have to sift through it to find your actual content.
    Your HTML code will never be truely cached but the external dependencies, such as the CSS and JavaScript files, will be cached by the visitor’s web browser after the first visit – this means that instead of loading a lot of superfluous HTML code for every page in your web site the visitor visits, it will quickly retrieve all style and interaction locally from the web browser cache and thus improve perfomance further.
    No fall back interaction, and harder to manage, correct and update along with poor attrinbute accessability. Having your scripting in one central location makes your development time more effecient, working on new aspects of the site has no effect on the live site, functions can be wrote once called many times and only when needed. Object coding in Javascript improves performance, management, use and more also.
    With these in mind the page load is just longer with inline scripting and the event handling is poorer and then coupled with the other elments mentioned above.
    Just better done right BC has runs gzip, you can optimise your code and the server caching of css, script, image files and the browser it just all leads to better perfomance of your site which is also increasingly something google wants to see to rank you well.

  • How do I lope through array, delete clip and remove from array

    I have a function that creates an instance of a movieClip and
    adds it to an array.
    In my gameloop I loop through the array and change some
    values. Now I want a cleanup function that loops through the array,
    and if the y value exceeds a certain value, I want to delete the
    clip instance and remove the record in the Array.
    Could someone please help me with the syntax for that? I will
    lay the code out below.
    Thankyou

    I still haven't gotten an answer on this one, and my client
    is starting to push me to fix the bug.
    I have created a number of instances of a movie clip, and I
    have also pushed references to each clip into an array.
    Then I loop through the array and do things.
    At some point I want to loop through the array and delete the
    original clips (removeChild).
    I don't know the syntax for that.
    for (var n:int = 0; n<myClipArray.length; n++){
    removeChild (myClipArray[n])
    // I WANT THE LINE ABOVE TO DELETE THE MOVIE CLIP
    I'd like to think there is some way to do that.

  • Array - return greatest value in the array

    I am trying to write a program that for the method 'greatest' it will return the greates value in the array between the elements beginning and end.
    Below is my code. No errors but I am not getting the desired results.
    My output:
    2
    4
    1
    5
    3
    6
    My code:
    public class Test {
         public void printArray(int x[]){
              for (int i=0; i < x.length; i++)
                   System.out.println(x[i] + "");
                  System.out.println("\n");
         public static int greatest(int x[], int beginning, int end){
              int i;
              int index = 0;
              int largest = 0;
              for(int z = 0; z < x.length; z++)
                 if(largest < x[z])
                    largest = x[z];
                    index = z;
              return index;
         public static void main(String[] args){
              Test program = new Test();
              int a[] = {2,4,1,5,3,6};
              int val = greatest(a,0,a.length-1);
              program.printArray(a);
    }Please, I just would like someone to point out where I need to focus. I do not want anyone to write this. Yes - its for college.
    Please and Thank you

    Kayaman - once again you have been helpful. Thank you.
    So I went to the paper and thought about the logic and rewrote what I had in the method greatest.
    * I am passing to the method, successfully calculating the greatest value, but not returning a varialble so the variable val is still not used. Or if I am returning a value I dont see it. *
    So, I need to return the value and then call the printArray method to print the outcome.
    What line needs to be addressed - remember anyone else reading this, please do not write it for me :-)
         public static int greatest(int x[], int beginning, int end){
               int max = x[0];
                 for (int i = 0; i < x.length; i++)
                  if (max < x)
         max = x[i];
         System.out.println("The greatest: " + max);
         return max;
    Please and Thank you :-)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Missing FP READ (Float Array-IO).vi & FP WRITE (Float Array-IO).vi

    I am a complete newbie. I am trying to use the Field Point Express vi to collect data from some Field Point modules. When I go to past the Field Point Express VI into my sheet, the applications starts looking for a couple of sub-vi's. It is missing the FP Read (Float Array-IO).vi and the FP Write (Float Array-IO).vi. I am not sure if I erased these accidentally or what. Is there a way to replace these missing VIs?

    These vi's are usually located in C:\Program Files\National Instruments\LabVIEW XX\vi.lib\FieldPoint\Polymorphic Read.llb. First, check if they are present and try to manually link them when the LV is trying to load them. Otherwise, you can try to uninstall your FP drivers and then perform a re-install. The FieldPoint drivers are located in your Device Drivers CD.
    Hope this helps.

  • Is it better to make multiple arrays of data or one big array and access it many times?.

    I am going to acquire up to 5 samples per second of 50 channels over 30 minutes then average ten of the channels and generate a report.  There are other bits of information needed to complete my task and graphs.  Would it be "faster" for the PC to have one large 4d array with all the information or faster to make several separate arrays?  Would it be more reliable to have one or many(fewer code lockups)?
    Also,
    Yes, I do mean to be using labview.  I expected this crowd to have a different perspective (and I could not find LV blog).
    For each channel, I want to scale per 6 other variables per channel(nominal high, mid, low, and reading high, mid low)  So there is the channels and time, then there is the calibration values, then there is the calibrated readings.  If I put all that along with my test information in one large matrix, it would be simpler for me to remember where in the matrix each item is, but if it is in several matrixies then the "active" matrix is smaller while the other information is not used.
    The sales rep for NI was indicating the computer power is much higher than I am used to.  (I have not started programming yet, I am preparing for a huge project on a "new"(2 year old)PC.)  I am trying to understand just how much power I am missing from my days of gwbasic, Q-basic and our current Visual Basic 6.0 running on XP.  This matrix question is new to me.
    Solved!
    Go to Solution.

    I don't see where you are getting 4 dimentions for your array.  I only see 2: channel and sample.
    From what you are describing, I would put any "support" information for a channel into a cluster.  So you should have an array of clusters to contain your support data.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

Maybe you are looking for