LabVIEW 2010 local variable behavior

Hi -
I upgraded to LabVIEW 2010 from 2009SP1 and the attached sub VI no longer works correctly.  This is a state machine case structure that gets called inside a loop.  I'm setting a Boolean local variable true, then on the next call when the case changes the variable has been reset to false. It did not do this in LV2009.
Someone will immediately tell me I have a race condition, but these local variables are not being written anyplace else, just within these separate cases.
See the attached code, specifically, the local variable "Enable" is getting reset when going from case "Enable" to case "Turn on".
Anyone else seen this issue, or can shed any light?
I fixed the VI by writing the value in each case, but this different behavior makes me wonder what other issues are lurking in LV2010?
Thanks
Solved!
Go to Solution.
Attachments:
eq99_cycling.vi ‏42 KB

This code looks more like some sort of an Action Engine than a state machine, but not quite.  It gets called repeatedly from a state machine, and it decides what the next state will be depending upon the inputs.  Instead of using all those local variables, I would use uninitialized shift registers (nothing wired to the left side).  They hold their value from one call to the next.  One more case needs to be added in this case.  An unnamed, default case that would set the initial values of all the shift registers.  Make it the default case and don't even name it.  It will be called first automatically because the shift register is uninitialized so the default will be called.  Inside the default case, set all the shift registers to desired values.  Next time this subvi is called, those values will still be there.  That is as long as nothing is wired on the left side,  Whatever is wired to the state shift register will be the next case called.
See attached vi.  It is broken because I did not wire anything to the indicators.
- tbob
Inventor of the WORM Global
Attachments:
eq99_cycling-4[2].vi ‏33 KB

Similar Messages

  • Having Trouble Copy and Pasteing Local Variable in LabVIEW 2010

    I am Having Trouble Copy and Pasteing Local Variable in LabVIEW 2010 in s subVI.
    I have a VI that has a Local Variable called "Node Addr". I can select it OK, and it appears to Copy OK, But when I go to paste it, nothing appears. It doesn't matter if I use Cntrl-C Cntrl-V or the Copy and Paste from the Edit menu, I get the same results. I tried many times and got the same results. I made sure that I had click a paste location. I can insert the Local Variable if I use the Data Communication panel.
    On one of the Paste, I got an error in the error list that said that a Local Variable was not connected to anything. When I clicked on the error, it took me to an insible item in the lower right corner of the block diagram that had nothing but a select box around it. I couldn't select the invisible item, but I could delete it.
    Why does the copy and paste of this local variable not work?
    Why does the paste cause the insertion of an invisible item?

    dbaechtel wrote:
     My VI is fairly complicated. In several places in the VI, I am either reading or writing to this variable which is an numeric Indicator on the Front Panel. Using local variables seems to be the best way to handle this situation rather that using wiring all over the VI. Since the VI is mainly a State Machine and there are only 2 Writes to the local variable, I am not afraid of race conditions in this case.  NO!! While you may think that using Locals is your solution to wiring, it is not!  The fact that you are writing and reading, most likely from several places, will most definitely contribute to a race condition.  Depending on your implemetation, you should ALWAYS use wires.  The wires are the variable.  If you are using a loop (While, For), then using shift registers are appropriate means for routing values so that they are used by other sections of the code, later.  One thing you must respect with LabVIEW is the dataflow.  That's where Locals often fail.
    I am not copying the Local Variable from one VI to another.
    I am not copying the Local Variable from one VI to another.
    The Data Communication panel is one of the panels that shows up in the Functions pop up list when editing the Block Diagram. It is the panel that includes the Local Variable function.
    I don't know if the invisible item that was inserted in my block diagram was hidden or not. All I know is that the Errors List said that it was a Local Variable and that it was not connected to anything. I couldn't select it to get more information. All I could do was delete it.
    You did not address my questions about why the Copy and Paste does not work properly for my Local Variable.  Maybe it's a sign from the Software Gods not to use them LOL!..
    So if I understand correctly, you are trying to copy & paste the Local Variable from within the same VI.  How large is your block diagram?  Did you try right-click on the variable and select "Find > Local Variables"?  If it's a block diagram larger than 1 single screen (which it shouldn't), then it is possible that the Local is hiding beyond the screen.  You should find it as I described earlier.
    See my comments in red above.

  • How can I use local variable in LabVIEW-Action?

    Hi All!
    There is local variable (for example "MyVariable") in local scope of project. There is Action-step, created by LabVIEW. One of input terminals step is "Sequence Context".
    How can I access to MyVariable by Sequence Context? Unbundle? It does't work.
    Thank you.

    On the TestStand palette there is a VI called TestStand - Get Property Value.vi.  Use that.  Attached is an image showing how to use it.  The trick is making it produce the correct data type.  Do that by right clicking on the VI and selecting Select Type.  Then you can choose the type.  I think in LV 2010 and TS 2010 it is a polymorphic VI and you can just change it.  I wrote an example here for Chaz: http://forums.ni.com/t5/NI-TestStand/How-to-execute-two-steps-in-parallel/td-p/1449874
    It's the second example that's attached.
    Hope this helps,
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~
    Attachments:
    AccessLocalVar.JPG ‏67 KB

  • Labview FPGA: Why not have local variable without indicator?

    In Labview FPGA, to transfer data among parallel loops, there are three ways or maybe more, local variable, global variable and block memory. The problem with local variable is that it needs an indicator along with, not like global variable. I was thinking why Labview doesn't make a kind of local variable not need indicator? I guess local variable itself doesn't cost resource much compared to global variable, however when it comes into indicator, it will cost more. Just an idea, though. I guess there is a reason NI doesn't do that. 

    As in Labview document, global variable can be used for transfer data among VIs, which local variable isn't capable of. 
    Global variable is not always a better solution. From my experience, it is still unclear among different compilations using local vs global in terms of resources. A thread here http://forums.ni.com/t5/LabVIEW/FPGA-global-variables-vs-front-panel-items/td-p/1407282 talks about that too.
    Stephen, is there any documents say that global makes timing worse? I didn't see this noticeable.

  • Create local variable using labview scripting

    I am trying to use labview scripting to create a control and a local variable for that control.  I want both the local variable and the control contained inside a case structure.  My problems are twofold:
    1. the local variable is left blank/unnamed
    2. the local variable is wired outside of the case structure, even though I set it's owner to be the same as the owner for the control (which is placed inside the case structure).
    The flat panel is there because I thought that my problem might be a result of the local var being created before the actual control, so this just forces the control to be created first.  The other thing I wonder about is the VI Object Class for the local variable.  I have tried 'Node' and Control->Boolean, but neither worked.
    I have attached a jpg of the code I'm talking about.  The picture on thetop is of the code in question.  The picture on the bottom is of the resulting code that's created....
    Can anyone offer any help?
    Thank you...
    Attachments:
    vi_scripting_lv.png ‏95 KB

    The reason your locals aren't tied to a control, is because you didn't make a local variable from any control.  Use the Boolean reference wire and wire it to an Invoke Node and select the Create >> Local Variable method.
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

  • Labview local variables not always renamed

    Hello,
    I might be missing something, but it seems that sometimes the local variables in my VIs are not always updated when I rename the Front Panel control associated with it.
    I have an example where I right click on the terminal of a control named "RxConfigTest", create local variable.  The local variable that gets created is named with the old name "RxConfig1".
    Have you ever seen that behavior?  I'm using LV 7.1.1.
    Thank you,
    Mathieu

    Hi,
    Thanks for the response, but I was actually displaying the label.  I know that this sounds like a newbie question, but I'm not.
    I noticed that by closing and re-openning my VI after the rename, the variables were updated.  It looks like a refresh that was not done.  Even the local variable in the block diagram was not resized to the new text of the variable name.
    I'll try to grab a screen shot if it happens again.

  • Convert local variable to global - labView

    I have a sequence with a VI that contains a local variable array. Now I need that data saved for use by a VI in a later sequence. Can locals be converted to globals or must it be re-created and all references to it changed?
    Thanks,
    jvh 

    Hi,
    If you are using the SequenceContext as the reference, then your lookup string to your variable would need to change.
    eg "Locals.MyArray" would become "StationGlobals.MyArray"
    Does this help
    Regards
    Ray Farmer
    Regards
    Ray Farmer

  • Create a Locals variable that remains after run completed (LabVIEW)

    I am trying to create a Locals variable that remains after a sequence run is completed.  When I use the PropertyObject to create a Locals variable, its scope is available only when the sequence is running.
    Respectfully,
    Robert

    The locals you see at runtime are a copy of the default locals in the file. Each instance of a running sequence needs its own copy of the locals because their values can vary in different running instances of the same sequence.
    The edit time definition of the sequence local variables has a property path such as:
    RunState.SequenceFile.Data.Seq["MainSequence"].Locals
    If you modify these locals and you want the file to be marked as modified so that the user is prompted to save, then you should also call:
    RunState.SequenceFile.AsPropertyObjectFile().IncChangeCount()
    Note that changing the edit time locals only affects new executions. You might need to modify both the edit time and runtime locals depending on what you are trying to accomplish.

  • Application crashes in Windows 7 64bit made in Labview 2010 sp1 f2 with Fault module name%3A lvrt.dll%2C version 10.0.0.4033 and exception code c0000005

    I build an application exe and then its installer along with run time environment.
    The installers instals the application correctly but when I try to execute the application, I get an error that application has crashed and Windows must close it down or search for solutions online with this additional information for the crash. 
    Problem signature:
    Problem Event Name: APPCRASH
    Application Name: AGMS.exe
    Application Version: 1.3.0.0
    Application Timestamp: 4c24e8f5
    Fault Module Name: lvrt.dll
    Fault Module Version: 10.0.0.4033
    Fault Module Timestamp: 4c9273f4
    Exception Code: c0000005
    Exception Offset: 00005310
    OS Version: 6.1.7601.2.1.0.256.1
    Locale ID: 1033
    Additional Information 1: 0a9e
    Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
    Additional Information 3: 0a9e
    Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
    Read our privacy statement online:
    http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409
    If the online privacy statement is not available, please read our privacy statement offline:
    C:\Windows\system32\en-US\erofflps.txt
    I am using labview 2010 sp1 32 bit on a 64-bit machine, with the following specs
    Operating System: Windows 7 Home Premium 64-bit (6.1, Build 7601) Service Pack 1 (7601.win7sp1_gdr.130318-1533)
    Language: English (Regional Setting: English)
    System Manufacturer: Dell Inc.
    System Model: Dell System XPS L502X
    BIOS: Default System BIOS
    Processor: Intel(R) Core(TM) i7-2630QM CPU @ 2.00GHz (8 CPUs), ~2.0GHz
    Memory: 8192MB RAM
    Available OS Memory: 8106MB RAM
    Page File: 3457MB used, 12753MB available
    Windows Dir: C:\Windows
    DirectX Version: DirectX 11
    DX Setup Parameters: Not found
    User DPI Setting: Using System DPI
    System DPI Setting: 96 DPI (100 percent)
    DWM DPI Scaling: Disabled
    DxDiag Version: 6.01.7601.17514 32bit Unicode
    The exe /application runs fine on my PC but when I try to run it on another PC it crashes. The other PC has similar specs as given below
    Operating System: Windows 7 Ultimate 64-bit (6.1, Build 7601) Service Pack 1 (7601.win7sp1_gdr.140303-2144)
    Language: English (Regional Setting: English)
    System Manufacturer: LENOVO
    System Model: HuronRiver Platform
    BIOS: Default System BIOS
    Processor: Intel(R) Core(TM) i3-2330M CPU @ 2.20GHz (4 CPUs), ~2.2GHz
    Memory: 4096MB RAM
    Available OS Memory: 4010MB RAM
    Page File: 1359MB used, 6658MB available
    Windows Dir: C:\Windows
    DirectX Version: DirectX 11
    DX Setup Parameters: Not found
    User DPI Setting: Using System DPI
    System DPI Setting: 96 DPI (100 percent)
    DWM DPI Scaling: Disabled
    DxDiag Version: 6.01.7601.17514 32bit Unicode
    I tried another machine, 64 bit of course, as I want to deploy my application on a 64bit PC, but still got the same problem.
    This other machine was from HP, iCore 3 (4 CPUs) 2.2GHz, 4GB RAM and running Windows Professional 64 bit.
    Now as I see it, it could be a Run-time environment mis-match error.
    For this I tried installing a 64 bit LVRTE from NI, but still no sucess.
    I checked DEP, for all 3 PCs and it was set to the following
    Turn on DEP for essential Windows programs and services only (first option).
    I am confused. I can not find a solution for this and it is really frustrating.

    But I am assuming that when I make the installer, the 32-bit Run Time Engine is appened with the installer, as show below
    Since from the picture you can see its including the support installers from '\Program Files (x86)\'
    The application runs queries to fetch data from database in SQL server 2008, and for that I am using a Microsoft SQL Native Client 2008 R2 64 bit ( this is the only version that installs on either PC, even the one on which I developed my LV Application).
    I am not using any driver, only toolkits for reports - and for that I un-checked the "Remove unused polymorphic VI instances" when making the executable, otherwise LV throws up an exception that share variable are not being included.
    Yes I did reboot every time after I ran the installation.
    Still getting the same error.

  • How can I Change data in a type def control containing a Xcontrol with a local variable

    Hello
    I made a Xcontrol and I inserted this control in a type def.
    When I want to change the control's data with a local variable in a VI, the VI change nothing. The change of data isn't perform
    How can I correct this issue?
    Thanks for your help
    Solved!
    Go to Solution.

    Hello,
    What's your LabVIEW version ? Do you have a simple example program which demonstrates this behavior ?
    I found another discussions related to your issues with Xcontrols:
    updating type defs in Xcontrol Facade
    No Data Change event generated for a XControl in a Type Def
    XControl facede.vi 
    Hope this helps.
    Regards, 
    Steve M.
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    >> Vidéo-t'chats de l'été : présentations techniques et ingénieurs pour répondre à vos questions

  • How to configure LabVIEW 2010 to communicat​e with GE Speedtroni​c Mark VI ethernet global data (EGD)

    We want to use LabVIEW 2010 to send/receive floating points from LabVIEW 2010 to/from a network (192.168.101.xxx) that utilizes GE ethernet global data protocol (EGD).
    The network has several HMI's running Cimplicity Plant Edition 4.01.
    We can configure Cimplicity to read modbus points from LabVIEW using LabVIEW's multi-variable editor and a modbus slave library.
    However, we cannot get the points from LabVIEW to read/write to the EGD protocol.  Anyone ever run into this?

    EGD is a UDP message (port 4746h) with a special header.See below for header structure (32 Bytes). Send UDP at constant rate. Limit user data to 1400 bytes. If you want to receive EGD data don't forget to increase the MaxSize connector on UDP receive to 1500. Are you using the a csv file or SDB Server to get tag names? Or manually entering tag names in cimplicity? This works much better than OPC because all parameters are contained in your labview executable. If you have a redundant cimplicity HMi Server send as Broadcast to the local subnet. All consumers will get the EGD telegram.  Example IPA of 192.168.0.255.  Server 1 IPA 192.168.0.1 and Server 2 IPA 192.168.0.2
    Maybe to late for this project but would be a good upgrade or the next project.

  • Problem using local variable in event loop

    I have a state machine from which I want to monitor various controls, including "Start" and "Stop" buttons.  Not every state needs to monitor the controls.  At present, most states run timed loops.  In the first state that reads the front panel, I have an Event structure (inside a While loop) that monitors the various controls' Change Value events.  For numeric controls, I update variables (in shift registers) as needed.  The "Start" button is used to end the While loop controlling the Event structure, allowing the State to exit to the next state.
    My problem comes in subsequent states that employ this same idea.  Here, I put a Local Variable bound to the Start button and use the same code, but it frequently happens that when I enter this particular state, I cannot "turn on" the control -- I push the button, but it stays off.  Curiously, if it was On when I enter, I can turn it off, but then I'm stuck not being able to turn it on.
    I mocked up a very simply routine that illustrates this.  There are two sequences (corresponding to the two states).  Both use an Event loop with a local variable bound to my Stop button (really this is an LED control with custom colors).  I've deliberately moved the "initialization" (the declaration of the control in the block diagram) out of the Event loops -- putting it inside the first loop modifies the behavior in another strange way.
    Here's my thinking on how I would expect this to work:  The code outside Event Loop 1 should have little effect.  Assume the Stop button is initially Off.  You will "sit" in Event Loop 1 until you push the Stop button, changing its value to True; this value will be passed out of the Event case and cause the first While loop to exit.  You now enter the second sequence.  As I understand the Exit tunnel, it defaults to "False", so I'd expect to stay in the second Event loop until I turn the Stop button from On to Off, which will pass out a False, and keep me in the While for one more button push.  However, this doesn't happen -- I immediately exit, as though the "True" value of the Stop local variable is being seen and recognized by the Event loop (even though it hasn't changed, at least not in the context of this second loop).
    An even more curious thing occurs if I start this routine with the Stop button turned on.  Now I start in my Event loop waiting for a change, but this time the change will be from On to Off, which won't cause an exit from the frame.  This will be reflected by having the While loop count increment.  We should now be in the state of the example above, i.e. in an Event loop waiting for the control to be pushed again, and turned On.  However, clicking the control has no effect -- I cannot get it to "turn on".
    Where am I going astray in my thinking?  What is it about this method of doing things that violates the Labview paradigm?  As far as I can tell, what I'm doing is "legal", and I don't see the flaw in my reasoning, above (of course not -- otherwise I'd have fixed it myself!).  Note that because I'm using local variables inside Event loops (and I'm doing this because there are two places in my code where I want to do such testing), the Stop control is not latching (as required).  Is there something that gets triggered/set when one reads a latched control?  Do I need to do this "manually" using my local variable?
    I'll try to attach the simple VI that illustrates this behavior.
    Bob Schor
    Attachments:
    Simple Stop Conundrum.vi ‏14 KB

    altenbach wrote:
    Ravens Fan wrote:
    NEVER have multiple event structures that share the same events. 
    Actually, that's OK.  NOT OK is having multiple event structures in the same sequence structure.
    See also: http://forums.ni.com/ni/board/message?board.id=170&message.id=278981#M278981
    That's interesting.  I had always thought I read more messages discouraging such a thing rather than saying it was okay.  Your link lead me to another thread with this message. http://forums.ni.com/ni/board/message?board.id=170&message.id=245793#M245793.  Now that thread was mainly concentrating on registered user events which would be a different, but related animal. 
    So if you have 2 event structures they each have their own event queue?  So if you have a common event, one structure pulls it off its event queue and it does not affect the other structure's event queue?  I guess the inherent problem with this particular VI was that the second event structure locked the front panel.  Since the code never got to that 2nd event structure because the  first loop never stopped because the change was from true to false.  After reading your post and the others, I did some experimentation and turned off the Lock front panel on the 2nd structure, and that prevented the lockup of the program.
    Overall, the example VI still shows problems with the architecture and I think your answer should put the original poster on the right track.  I think as a rule I would probably never put the same event in multiple structures, I feel there are better ways to communicate the same event between different parts of a program,  but I learned something by reading your reply and about how the event structures work in the background.  Thanks.

  • RE: local variable cross-talk?

    Jeff
    A global can be considered as a variable to the entire code, where lots of
    different vi's can operate it. Locals only have any meaning within their
    own vi, or instances of their own vi.
    If anything writes to a particular global, whether in reenterent vi's or
    not, it's available everywhere in the code.
    What you were asking was about locals though. If a vi is non-renentrant
    (i.e. as they come out of the box) then the values in the locals are vi
    specific, no matter where the vi is, where it was last used, it retains the
    data from it's last operation. If it is re-entrant, then the values in the
    locals for each occurance of the vi are its own for EACH instance, i.e. just
    like different locals in different vi's, it doesn't matter where else the vi
    is used, the data held is that from the last operation of that specific
    instance.
    Simple way to demonstrate this. Make a vi that has one numeric control,
    then code in +1 and get it to write to a local variable for that control.
    Throw in an indicator to wire out the result of what is written to the local
    for the control.
    Then take this vi, put it in a for loop, then put another copy in the for
    loop as well. Wire the indicators to the side of the for loop and create
    indicator arrays for them. Get the loop to run 6 times say. Now try
    running this with the vi in the for loop non-reentrant and then reenterrant.
    One way the arrays will contain either all the odd no.s 1,3,5,7,9,11 and
    then the other array 2,4,6,8,10,12 (don't know which array will be which,
    depends which executes first in the for loop of this example). The other
    way they will both be 1,2,3,4,5,6. In the first example, the same vi has
    run 12 times, i.e. one copy of the vi which retains its info and is called
    in many places and therefore only has one set of values, and the other with
    two re-enterant copies where they have their information specific to that
    instance of them i.e. effectively they are different vi's. Both ways are
    useful, depends what you want.
    If you're looking for a use for non-reenterant vi's then consider this:-
    For instance. Supposing you get many things to try to write to a global
    array of numbers, and you have two vi's one "A" writes to the first element
    in the array and the other "B" writes to the second element. Because in LV
    you have to read a global first and then write to it to perform a change,
    these independant vi's "A" and "B" (be they re-enterant versions of the same
    vi, or different vi's), can be performing the tasks simultaneously in the
    code. I.e. "A" reads, "B" reads, "A" writes, and "B" writes over the top
    with a modified version of what it read, and "A"'s changes are lost. This
    is what's known as a "race condition" as "A" hadn't finished and "B" needed
    to know what "A" was going to write before "B" performed "A" read. Try it,
    hours of fun if you code this kind of thing in inadvertantly!
    If the same vi is used, and is not re enterant, it can only run in one
    instance at a time, hence two read / write operations cannot be performed
    together, problem solved. Unless that gives you timing issues of course,
    waiting for one to finish, to write the other......but that's another whole
    can of worms.
    cheers
    Tim Price
    This e-mail, its content and any files transmitted with it are intended
    solely for the addressee(s) and are confidential and may be legally
    privileged. Access by any other party is unauthorised without the express
    prior written permission of the sender. If you have received this e-mail in
    error you may not copy, disclose to any third party or use the contents,
    attachments or information in any way.
    -----Original Message-----
    From: [email protected]
    [mailto:[email protected]]On Behalf Of Jeffrey W Percival
    Sent: 29 November 2001 21:12
    To: [email protected]
    Subject: Re: local variable cross-talk?
    Another useful reply! What a great news group this is.
    One last thing I wanted to ask about, though, is global vs. local. I see
    you talk about globals, but in fact the variables in my subVI's were locals.
    I can easily understand the behavior I observed accompanying the use of
    global variables, But I guess the use of the word "local" stumped me.
    Should I interpret "local" in LabVIEW's sense to mean "local to all
    instances of this VI"? And global to mean "visible to all instances of this
    VI as well as other VI's"?
    -Jeff
    Tim Price wrote:
    This facility is actually very useful, for instances where you want to
    encapsulate some code so that it can only run in one place at a time,
    i.e.
    global arrays that are written to in more than one place. This method
    can
    eradicate race conditions completely for example when used like this.
    There
    are multiple other uses as well.
    However, using a vi as a module of code, to run in more than one
    instance at
    a time simultaneously, re-entrant is the way to go. Just make sure you
    debug it first!!!
    Remember though, just because a vi may be re-eneterant, doesn't mean
    that
    everything inside is; sub-vi's, Globals etc. The classic one I've seen
    is
    where people think that a re-enterant vi is talking to it's own copy of
    any
    Globals used within it, i.e. counters etc., where in actual fact of
    course,
    they are all using the same Globals.
    Worth playing with a few examples to get familiar with it.
    Tim Price
    Jeffrey W Percival, Senior Scientist and Associate Director
    Space Astronomy Laboratory, University of Wisconsin - Madison
    1150 University Ave, Madison, WI 53706 USA
    608-262-8686 (fax 608-263-0361) [email protected]
    http://www.sal.wisc.edu/~jwp

    Tim Price wrote:
    Tim, thanks very much. I'll try the experiment you suggest.
    Thanks for taking the time.
    -Jeff
    Jeffrey W Percival, Senior Scientist and Associate Director
    Space Astronomy Laboratory, University of Wisconsin - Madison
    1150 University Ave, Madison, WI 53706 USA
    608-262-8686 (fax 608-263-0361) [email protected] http://www.sal.wisc.edu/~jwp

  • Labview 2010 randomly restarts computer - windows event viewer points to nap agent

    When running my current VI that I am working on, the computer will ranomly reboot. There is no freeze, or blue screen, just a reboot. When examining the windows event viewer after the reboot, the following warning is listed immediately preceding the reboot:
    Event ID 39
    The Network Access Protection Agent was unable to determine which HRAs to request a health certificate from.
    A network change or if GP is configured, a configuration change will prompt further attempts to acquire a health certificate. Otherwise no further attempts will be made.
    Contact the HRA administrator for more information.
    Previous to getting this warning before a reboot, I was getting the following error:
    Event ID 10016
    The application-specific permission settings do not grant Local Launch permission for the COM Server application with CLSID
    {24FF4FDC-1D9F-4195-8C79-0DA39248FF48}
     to the user NT AUTHORITY\SYSTEM SID (S-1-5-18).  This security permission can be modified using the Component Services administrative tool.
    This is a DCOM service eror and the CLSID is referring to NAPAGENT. So I configured DCOM to allow the NAPAGENT to start and now I get the Event ID 39 warning and still get the reboot.
    I am not sure why labview is even asking for DCOM or NAPAGENT to start at all. My VI is simply reading information from two serial instruments.
    This reboot behavior does not occur when the computer is not running labview.
    I am attaching a copy of the main VI, if it will be helpful I can post the sub VI's as well.
    Thanks in advance for your help.
    -Justin Lee
    Attachments:
    testscan10.8.vi ‏179 KB

    Hi Joe,
    Thanks for the reply.
    I am running windows XP pro service pack 3.
    I am running a standard instal of labview 2010 with the latest VISA drivers, no other modules or options installed.
    I am only reading and writing to the serial ports (com) in my code. I don't believe that virus/spyware/malware is to blame for several reasons.
    1. This only occurs when running this VI in labview.
    2. I have replicated this problem on another computer.
    3. I am behind a government (DOE) firewall and virus scans and checks are performed constantly.
    4. If I take out the serial portion of my code via a T/F case structure, it will not crash.
    The code will run fine for sevetral hours sometimes and then crash, other times it will crash after only a few minutes.
    Please let me know what other information you require.
    Thanks!
    Justin Lee

  • LabVIEW 2010 F2 - Crash - Localization issue ?

    Hi fellows !
    I am using LabVIEW 2010 F2 (French localized version) and I am facing this strange behavior. Can you confirm that this is a bug and / or this is because I am using a localized version of LabVIEW ?
    When using the Modifications:VI property node  (CTRL+SHIFT+B) and connecting its output to a case structure everything works fine (it looks like that).
    But now if I change the Modifications:VI property to Modifications:Front Panel and let the output of the property node connected to the case structure, LabVIEW crashes or the broken arrow appears.
    If I click on the broken arrow or try to save the VI (CTRL+S), I get the following error message :
    Fpsane.cpp line 442
    Thanks for your help.
    Regards,
    Da Helmut
    Attachments:
    err.PNG ‏11 KB
    test.png ‏14 KB
    test.vi ‏7 KB

    Hi,
    Thanks for the answer.
    There is another bug with LabVIEW 2010 (F4 this time).
    To reproduce it you have to create a (strict) type definition that consists of a cluster and put a constant which is linked to this typedef on the BD (just select the .ctl file in the BD) and then delete the type definition from the hard drive.
    Close the VI that has the constant in the BD.
    Re-open the VI, and in the BD, right click on the cluster constant and select "View as Icon". Now you get LabVIEW crashed. (ok it is useless doing that on a non existing typedef but this is crashing LabVIEW, so I thought this should be reported).
    Keep me informed if you have any further informations about that.
    Regards,
    Da Helmut

Maybe you are looking for

  • Data Type on report is different than Data Source

    Hi Everyone i have createad a simple daily status report  using SQL Server 2008R2 DB & SSRS. My data source is simple table which has  one column & its datatype is date. But when i pull this column on report in preview it shows date & time.  i just w

  • TS3999 iPhone 5 v 7.0.4 and icloud calendar issue

    I have an iPhone 5 v 7.0.4 and all of a sudden entries I make on my calendar are not appearing when I log into icloud.  I can make an entry via my laptop or pc and it will appear on my iPhone but not vice versa. I have tried deleting the account from

  • Sending an excel file as an attachment to email

    Hi,    I am using FM 'SO_DOCUMENT_SEND_API1' to send an excel file to an email ID.But the mail is going to the SAP inbox and it is posting not to the external mail ID like ([email protected]). Please suggest me on this. Regards' Ved.

  • Rendering issues

    I am currently rendering a 2 minute movie in professional quality, but nothing seems to be happening at all- if I switch to best performance it is rendered in about 3 minutes- am I doing something wrong- I know it takes longer, but there's longer and

  • W2K server w/PCI CAN cards freezes. Any ideas?

    We are running a pick-to-light system on the CANbus and the server locks up for no reason. Only recovery is to restart.