Memory register in labview

How to create the registers in labview..Not shift register, but a similar micro controller kind of register for memory.
for example register based data conversion, where we need to have registers to hold data to be converted and to store..
can we use arrays..?
Srinivas

This is still no reason to don't use shift-registers, with an array datatype.
It is more important that you specifiy where and how you want to access the data. With shif-registers you could create Action Engines (FGV) to access the data.
I'm sure you will get lot's of other suggestions wihtin the next couple of hours.
Christian

Similar Messages

  • I want to read the settings (time/div,​Volt/div,d​elay,etc..​.)from a waveform that is saved into a memory register of a FLUKE PM3394A Combiscope​.

    Dear all,
    I am writing a labview application for a Fluke PM3394A Combiscope. I want to read the settings (time/div,Volt/div,delay,etc...)from a waveform that is saved into a memory register. Can somebody help me on this? The Labview driver library I found on NI.com doesn't support this.
    Greetings
    Davy

    Unless you've used some sort of "auto-setup" for the scope, all of the settings are what your program commands the scope to use. Once you've acquired a waveform, typically all that is contained is the raw data. If you need the settings later in the program, you'll have to save them by putting them into a shift register/local variable/plain old wire. If you do use an "auto-setup" (I don't remember if the scope has this feature) and the driver has no query functions, then you'll probably have to write your own. These are usually pretty simple to do and are usually similar to the settings commands with the addition of a "?" at the end. For example, if the command to set coupling of channel 1 is ":INP 1:COU AC", then to query it the command might be "INP 1:COU?"
    and you would do a read and get "AC". The instrument programming manual should explain all of the command/query syntax.

  • How to map one modbus register to another modbus register in labview?

    How to map one modbus register to another modbus register in labview? For example, let 40001 equal to 30001. Thank you.
    Steven

    Hello Steven,
    Sorry, I was under the impression that you were using the complete Lookout development software (as opposed to just the Lookout Protocol Drivers). You cannot do any development (connections, mapping, etc.) with the Lookout Protocol Drivers (LPD). So, you were right. We have to do this in LabVIEW.
    I ain't sure how exactly the Modicon floats work, but assuming what you're saying is correct, in your LabVIEW VI(s) you would read the DataSocket item corresponding to 40yyy+1 first, and then write this value back to the DataSocket item corresponding to 40xxx. Similarly, you would read the DataSocket item corresponding to 40yyy and then write the value read back to the DataSocket item corresponding to 40xxx+1.
    A tip: I wou
    ld at first make sure I have the OPC communication between LabVIEW and LPD working. Make sure you can read and write to the LPD registers via their DataSocket/OPC equivalents in LabVIEW. You can then implement the mapping as described above.
    Hope this helps,
    Khalid

  • Memory Management in LabView / DLL

    Hi all,
    I have a problem concerning the memory management of LabView. If my data is bigger than 1 GB, LabView crashes with an error message "Out of Memory" (As LabView passes Data only by value and not by reference, 1 GB can be easily achieved). My idee is to divide the data structure into smaller structures and stream them from Hard Disk as they are needed. To do so, i have to get access to a DLL which reads this data from disk. As a hard disk is very slow in comparison to RAM, the LabView program gets very slow.
    Another approach was to allocate memory in the DLL and pass the pointer back to LabView...like creating a Ramdisk and reading the data from this disk. But memory is allocated in the context of Labview...so LabView crashes because the memory was corrupted by C++. Allocating memory with LabView-h-Files included doesnt help because memory is still allocated in the LabView context. So does anybody know if it's possible to allocate memory in a C++-DLL outside the LabView context, so that i can read my Data with a DLL by passing the pointer to this DLL by LabView? It should work the following way:
    -Start LabView program--> allocate an amount of memory for the data, get pointer back to labview
    -Work with the program and the data. If some data is needed, a DLL reads from the memory space the pointer is pointing at
    -Stop LabView program-->Memory is freed
    Remember: The data structure should be used like a global variable in a DLL or like a ramdisk!
    Hope you can understand my problem
    Thanks in advance
    Christian
    THINK G!! ;-)
    Using LabView 2010 and 2011 on Mac and Win
    Programming in Microsoft Visual C++ (Win), XCode (Mac)

    If you have multiple subvis grabbing 200MB each you might try using the "Request Deallocation" function so that once a vi is done processing it releases the memory.
    LabVIEW Help: "When a top-level VI calls a subVI, LabVIEW allocates a data space
    of memory in which that subVI runs. When the subVI finishes running, LabVIEW
    usually does not deallocate the data space until the top-level VI finishes
    running or until the entire application stops, which can result in out-of-memory
    conditions and degradation of performance. Use this function to deallocate the
    data space immediately after the VI completes execution."
    Programming >> Application Control >> Memory Control >> Request Deallocation
    I think it first appeared in LabVIEW 7.1.
    Message Edited by Troy K on 07-14-2008 09:36 AM
    Troy
    CLDEach snowflake in an avalanche pleads not guilty. - Stanislaw J. Lec
    I haven't failed, I've found 10,000 ways that don't work - Thomas Edison
    Beware of the man who won't be bothered with details. - William Feather
    The greatest of faults is to be conscious of none. - Thomas Carlyle

  • How can one use the physical memory of our system rather than virtual memory while running Labview?

    We have a Windows NT system with 2 Gb of physical memory and would like to utilize the RAM fully using Labview. What usually occurs is that Labview uses a tremendous amount of page file space while a majority of the physical memory is unused. Is there a way to configure Labview (or our system) to overcome this problem? It seems that our processes would be much faster if they were mainly using the physical memory. Is it possible to trick the system, by creating a RAM disk and allocating this as virtual memory space?

    > We have a Windows NT system with 2 Gb of physical memory and would
    > like to utilize the RAM fully using Labview. What usually occurs is
    > that Labview uses a tremendous amount of page file space while a
    > majority of the physical memory is unused. Is there a way to
    > configure Labview (or our system) to overcome this problem? It seems
    > that our processes would be much faster if they were mainly using the
    > physical memory. Is it possible to trick the system, by creating a
    > RAM disk and allocating this as virtual memory space?
    LabVIEW the application doesn't know anything about physical versus
    virtual memory. LV asks the OS for general purpose memory and goes
    from there.
    Drivers like DAQ and IMAQ will have a combination of general user
    memory and page lo
    cked physical buffers.
    I'm not up on the details, but this is something that the OS is in
    control of, so that is where you need to look for the solution. One
    of the things to look at is the disk cache. By default, I think that
    NT takes a percentage of the RAM to use for disk cache. With that
    much RAM, this is probably unnecessary and is using too much.
    Similarly, the OS may be attempting to keep the working set size
    to a fraction of the total RAM to reserve space for other things.
    It doesn't make sense to me, but then I don't work for MS.
    Greg McKaskle

  • Memory Footprint for LabVIEW 7.1 Full Development System

    Hello,
             I would like to know the memory footprint for LabVIEW 7.1 Full Development System.Both during the installtion and for developing applications later.
    Can someone help.Thank you.
    Solved!
    Go to Solution.

    There isn't a single answer for that, as this varies considerably.
    As far as disk space goes, if memory serves, the basic 7.x takes up a few hundred MB, but that could inflate considerably depending on which modules and drivers you add to it.
    For RAM, I believe 7.0 used to take up ~20-50 MB immediately after being loaded, but that number would then also change a lot over time depending on what you do. Loading, editing and running code all regularly change the amount of RAM used.
    Why are you asking? Also, are you aware that 7.1 is relatively old by now (came out 7 years ago)?
    Try to take over the world!

  • Looking for memory leak in labview 6.02

    dear all,
    my labview program needs an increasing amount of memory when running (at the time about 12k/s) which leads to swapping memory on my hdd.
    i have found out that calling cluster references like Controls[] or decos[] leads to this kind of memory leak and made a work around for that (simply calling it only once at runtime) but there are more memory leak(s)which i cannot find. The bugs that i have found searching the labview resources does not answer my problem.
    does anybody already found out more memory leak problems ?
    thanks

    I have been seeing similar behavior; I too have not found all the
    leaks. I think I have slowed the allocation by replacing some of my
    'build array' functions with the combination of 'initialize array'
    followed by 'replace array subset'. The drawback to doing it this way
    is that you have a fixed maximum number of elements allocated just once
    rather than allowing an array to grow incrementally. Please let me know
    if you try removing build arrays and if that helps.
    By the way, there is a checkbox under the options menu to deallocate
    memory as soon as possible - if you don't mind that your program runs
    more slowly, this may help to avoid the problem, at least temporarily.
    -vinny
    ciossek wrote:
    > dear all,
    > my labview program needs an increasing amount of memo
    ry when running
    > (at the time about 12k/s) which leads to swapping memory on my hdd.
    > i have found out that calling cluster references like Controls[] or
    > decos[] leads to this kind of memory leak and made a work around for
    > that (simply calling it only once at runtime) but there are more
    > memory leak(s)which i cannot find. The bugs that i have found
    > searching the labview resources does not answer my problem.
    >
    > does anybody already found out more memory leak problems ?
    >
    > thanks

  • Finding Memory Leak in LabVIEW

    Hi NG,
    we wrote a sort of hugh application in labview that collaborates with our
    ..NET driven
    device framework and a variaty of unmanged c++ libs.
    As we are now close to the release we did performance testing and it showed
    up that
    the app is consuming more memory continously.
    We used prefomance counter to check whether the managed objects might not
    get garbage collected
    but this is done OK, since the handle count stays at a constant level.
    We tried to figure out whether one of the c++ libs is causing the problem
    but this is not the case either, since
    the memory leak exists even if the lib functions are just not being called.
    Even labview profiler is not detecting any inconvenient memory consumption
    of any of our vis but
    windows task manager notices a constant memory consumtion of the executable
    (or of labview.exe itselve when running in
    dev. environment).
    Does anybody know what this might be? Has anybody a clue what other tools we
    could use to figure out
    where the problem is?
    Any help is greatly appreciated.
    Thanks in advance, Sebastian Dau!

    "mfitzsimons" <[email protected]> wrote in message
    news:[email protected]..
    > Sebastian,
    > Memory leaks can be VERY hard to find.&nbsp; I use the divide and conquer
    > technique that involves chunking (make into smaller code segments) your
    > code into smaller pieces and running the smaller pieces until you find the
    > memory leak.&nbsp; It can take weeks to find the source.
    you accelerate this process by using the labview profiler.
    > The most common is arrays or any data that increases in size as the
    > program runs.&nbsp; To fix this you can use a FIFO that allows only so
    > many elements to be added before deleting data out of the array.&nbsp; The
    > second source is opening references repeatedly and not closing them.&nbsp;
    > Look closely at any VI that open anything.&nbsp; Do a search for "Memory
    > Leak" on the discussion forum and you will find about 60 postings that may
    > help.&nbsp;
    > Matt
    > If you are using DAQ-MX <a
    > href="http://digital.ni.com/public.nsf/allkb/BAF29EE03747EE4B86256E9700541436?OpenDocument"
    > target="_blank">http://digital.ni.com/public.nsf/allkb/BAF29EE03747EE4B86256E9700541436?OpenDocument</a>
    > &nbsp;
    >
    arrays and refs have already been checked.
    thanks, Sebastian

  • Subpanel problem & memory leak in Labview 8.0

    Hi,
    I just installed Labview 8.0 Evaluation package yesterday. I tried to
    code a user interface class using dqGOOP object oriented package. It
    seems that LV 8 behaves differently from LV 7.1 which is good. One can
    use same subvivi in multiple subpanels. I however run into problems
    with this new feature i.e. I cannot edit the subvi after it has been
    placed on two subpanels. Editing is possible after LV 8 restart.
    In my code I create two similar object instances from the panel class. I have a class method panel_run which puts itself on the subpanel defined by refence. I have two subpanels on the main vi, one for each of my panel_run instances. I do not stop the panel_run instances cleanly, instead I use the Labview stop button to stop the execution. Once the main vi has runned, the panel_run subvi cannot be edited any more. When one opens the panel_run
    subvi, a clone of the subvi is always opened instead. One cannot modify
    the clone. After a few runs, I also got a memory segmentation fault
    from labview, which then crashed. I was unable to repeat the crash.
    I attached the code. Use panel_test.vi to start the program. Is
    there any way to get around this problem of not being able to access a
    subvi after it has been placed on a subpanel?
    Regards,
    Tomi
    p.s. Sorry for the wrong category. This is Labview 8.0 problem. There
    was not however a category for labview 8, so I selected Labview 7.1.
    Tomi Maila
    Attachments:
    panel_test.zip ‏569 KB

    Open your panel_run VI --> you get a clone
    Press CTRL+M --> Will open your VI (Not the Clone)
    Close the Clone and work on the VI.
    PJM
    Got EasyXML?
    JKI.VIPM.EasyXML.OpenG.LAVA.Builder.blog

  • Solution on Memory Confliction in Labview

    Hello everyone, 
    I got some problems on the labview run-time memory confliction.
    I have finished serveral vi , for example,  A,B, C,D, and some of their sub vis have the same name (but not same content).
    Now I am planning to combine A,B,C,D together, each of them to be a Subvi of E, then whenever I loaded it together,  Labview would remind me memory confliction problem.
    I think that is a serious disadvantage in labview, which store vis in memory directly with their name.
    I would run A,B,C,D in sequential order, so is it any way I could handle that in labview besides changing all the names to be different ?
    I am thinking of only load Vis into memory when I need that, and delete that from memory when the module is done, but I am not sure whehter that could be realistic here.
    Any idea is well appreciated,
    Thanks,
    -Kunsheng

    Even if you dynamically load them, you'll still have an awful time if you have to do any more debugging and/or development.  You will eventually save things pointing to the wrong VI and make your life miserable.
    Sooner or later, you will have to give your VI's unique names.  I would vote for sooner.
    -Matt Bradley
    ************ kudos always appreciated, but only when deserved **************************

  • How to reduce page faults (virtual memory) usage in LabVIEW

    I am running LabVIEW 2010 on Windows Embedded Standard system 4G (3G usable) of RAM.
    The program (executable running on the Run-Time Engine) continuously samples from a USB-6251 at 1MS/sec (2 channels @ 500K) and scans the data stream for anomalous events, which are recorded to file.  The system is intended to run 24/7 for at least 2 months, and although everything is working fine (6% CPU, no memory leaks), it generates 6000 Page Faults / second.  I am concerned that I will kill the hard-drive at this rate, over long periods of time.  There is plenty of RAM available (LabVIEW is only using 200K, and there is over 2G free), but the program is choosing to rely on Virtual Memory instead.
    Is there a way to force (coerce) a LabVIEW application to consume more RAM and less VM?
    The code is heavy (2 independent routines to collect and process the data stream through a shared double buffer, lots of in-obvious logic...), but I will post if it would help to answer the question.

    Craig Akers wrote:
    I am running LabVIEW 2010 on Windows Embedded Standard system 4G (3G usable) of RAM.
    The program (executable running on the Run-Time Engine) continuously samples from a USB-6251 at 1MS/sec (2 channels @ 500K) and scans the data stream for anomalous events, which are recorded to file.  The system is intended to run 24/7 for at least 2 months, and although everything is working fine (6% CPU, no memory leaks), it generates 6000 Page Faults / second.  I am concerned that I will kill the hard-drive at this rate, over long periods of time.  There is plenty of RAM available (LabVIEW is only using 200K, and there is over 2G free), but the program is choosing to rely on Virtual Memory instead.
    Is there a way to force (coerce) a LabVIEW application to consume more RAM and less VM?
    The code is heavy (2 independent routines to collect and process the data stream through a shared double buffer, lots of in-obvious logic...), but I will post if it would help to answer the question.
    IIRC, the decision to move a page of memory from physical memory to disk is made at the OS level.  There probably isn't any setting you can change in LabVIEW to change this behavior.
    Keep in mind that not every page fault results in a page being loaded from disk.  If your program (or the LabVIEW run-time) is frequently allocating and freeing memory, you could get a lot of soft page faults as the physical memory pages are repeatedly allocated to your process and returned to the OS.  If you're only running at 6% CPU, this wouldn't be a problem.
    You could try disabling the page file altogether, if the machine has enough RAM, but I wouldn't do this unless you actually have a performance (or hard-disk durability) problem.  Having a page file to back up the physical memory is the difference between your program suffering from degraded performance vs. simply crashing if the machine runs out of physical memory.
    Mark Moss
    Electrical Validation Engineer
    GHSP

  • [Urgent]How can I write to physical memory by using LabVIEW 8.2??

    Hi everybody,
    I am dealing with a project related to micro-EDM. We feed the gap voltage back to a NI DAQ card (not quite sure about the series number, might not be important to this problem), and we want to use this voltage to determine the command position of the motor, which is controlled by a Delta Tau PMAC motion controller. Now the problem is, the NI DAQ card and Delta Tau PMAC controller cannot communicate directly with each other. Therefore, we want the LabVIEW to write the value of voltage to a certain physical memory address, and then let the PMAC controller read that address. Is this feasible by using LabVIEW and NI-DAQ card? Which block or library in LabVIEW shall I use to achieve that? Or is there any alternative way to do it? Thanks a million!
    I have to get this done by the end of this week....if you know how to do it, please let me know. I really appreciate it! You are my lifesavor! 
    Regards,
    Xiaofei

    Duplicate post: http://forums.ni.com/ni/board/message?board.id=170&thread.id=289539&jump=true
    LabVIEW Champion . Do more with less code and in less time .

  • Memory Management in Labview 5.1

    Hi, I program a vi program for some laboratory measurement. it allows the user select which measurement he/she wants to do by selecting from a popup dialog when the program starts. But it seems tat, the vi loads all the different measurement vis into memory. what I want is that, when the user choose to do measurement 1, only the measurement 1 vi in the memory, otherwise, it just wastes memory.how can I do that?
    Thank you!
    I've uploaded a sample bg.vi there, hope that you can help me modify them to realize my dream.
    Attachments:
    Bg.llb ‏53 KB

    Hello,
    Oleg's suggestion to use VI Server would most definitely save you a lot of memory. If you are not familiar with the VI Server programming model, you may find it easier to use property nodes and invoke nodes instead of the Call By Reference Node. Take a look at the VI Server examples that ship with LabVIEW for additional information. I've attached a simple VI that demonstrates the basic flow of the VI Server model.
    Regards,
    Kent Leung
    Applications Engineering
    National Instruments
    Attachments:
    Bgnew.vi ‏29 KB

  • I am wondering if there is some memory limit that labview has.

    Hello,
    I am currently using labview to capture multiple images from a camera.  The program acts like a line scanner for small bores.  My problem is that we just got a new camera that has approximately 4 times the resolution of the first camera and now we are running out of memory.  After scanning about 3/4 of what we need labview says there is not enough memory to copy more images.  We have 2 Gigs of RAM and if I look at the available physical memory under task manager while running my program there is never less that .5 Gigs of ram available.  If there is any limitations on the amount of memory labview can handle please let me know.  Thank you very much.

    Hi All
    Sorry about that. They were pointing to the internal database.I've linked the below post properly. It should work now.
    One of the main reasons for having memory issues is array size. I would suggest going through the following KnowledgeBase and the different links within it. This may also help. One more important question which may help is the operating system and the version of LabVIEW you are using. Hope this helps.

  • 求助:Memory Corrupted in LabVIEW?

    在做实验时程序突然出错,提示如下:
    "LabVIEW:An exception occured within the external code called by a Call Library Node. This may have corrupted LabVIEW´s memory. Save any work to a new location and restart LabVIEW.
    VI "Meas Ipr 14 & Risetime_AD .vi" was stopped at node 0xA10 of subVI "DAQmx Create AI Channel(sub).vi"
    为什么啊?以前没有碰到过,昨天一连出现了好几回。我试着重新启动LabVIEW甚至重启系统,有时候好使了,有时候又不行。
    附上我的程序,谢谢。
    =======================
    Windows XP SP2+LabVIEW 7.1
    附件:
    Meas Ipr 14 & Risetime_AD.vi ‏252 KB

    LipingZhao 写:
    你调用的是不是一些外部板卡的dll?
    会不会是这些dll和labview的兼容问题
    我用的都是NI的板卡,NI PXI-5122和PXI-6224
    =======================
    Windows XP SP2+LabVIEW 7.1

Maybe you are looking for

  • N8, Unable to check in or access check in settings...

    Hi, Have been unable to check in via ovi maps. I can not even access the check in settings as it just flashes a box with "system error!" and OK. Have tried factory reset, installed social again and nothing seems to help. Maps does not show in the ins

  • Permission problem while the install of printer's driver

    Guys, when i'm installing the driver (lpr and cupswrapper) of my brother, happening a thing. Report the error: [black@arch bin]$ sudo dpkg -i --force-all dcpj315wlpr-1.1.3-1.i386.debdpkg: warning: overriding problem because --force enabled: package a

  • I need to my adobe toolbar on Word 03

    How can I get my adobe toolbar to show on Microsoft Word 03 ??

  • Weird behaviour in the event browser

    I don't understand why, if I browse, say, a clip in the event browser (i.e. with 10s duration represented thumbnail) browsing on the clip with the mouse and going down in the display, if I move the mouse and accidentally get it close to the scrolling

  • List of languages disappears

    Dear Users and Support, the list of languages disappears from time to time in my settings. After restaring the device (Z10), the list is back. Any thoughs why does it happen? Any thoughs how to prevent it? Cheers, p.s. I wanted to attach a screenshot