Update of the indicators of the tank (by sending a command in a while loop)

Hello

I'm slowly get a little more familiar with LabView and feel enough confidence to the code for an ISCO pump (model 100dx).

My pump has two needles, and I would like to display the amount of liquid contained in these pumps - without interruption.

So far, I tried what's on my (tank A & B) extract

In my view, there is a more elegant way to send a command to each loop. Thank you for your help

Flo


Tags: NI Software

Similar Questions

  • The use of registers at offset in a while loop that never loop

    Here's a picture of 'syslog_Device function Engine.vi. This isn't really a question specifically about this vi, but rather a technique I see here.

    First thing I noticed, it was a while loop always outputs, never loops. And shift registers. This serves for the VI can retain values between calls, almost like what I consider a local variable which are persistent between function calls in another language? It is an interesting way to accomplish what I have not looked at.

    Please tell me if I'm missing what is happening here.

    It is a driving force.

    It's a code construct that allows you to encapsulate data and features that are available in multiple threads.

    The nugget I linked above explains their operation the theory behind them and follow-up discussions in discussion on how to exploit them.

    Good questin incidentally!

    Ben

  • in what version of labview the ' stop if true ' condition become available for while loops?

    The answer to this question would mainly just my own curiosity, although it would also help to explain why some LabVIEW programs I have others that have been written in previous versions have strange as constructions invert a Boolean condition before it is wired to the 'continue if true' (when obviously they could have just wired the condition directly to a ' stop if true ').

    Not sure 100% but he could LV 6. I 6i on a virtual machine and it's there, and I don't remember having this feature available in LabVIEW 5.

  • or HOW the signal to timer front door stop in while loop?

    Good afternoon

    Could someone please help. I have a project that is very basic. It performs replication of the mastermind game in labview2009 VI. I have managed to do work, but as soon as all the conditions are true my last or door sends the signal for the moment stop button loop.

    In other words, there is no time for my 'congratulations chain' to show before the game resets. What I have to do is to put a timer between the final or gate and my stop button, but all the methods I've tried don't seem to work as the data types do not match.

    Please please please a little help

    Alex


  • ForEach: How to set the default value of a command link text while

    Hi all

    I use Jdev 11.1.1.7

    I have a page with 2 foreach

    <af:toolbar id="t1" inlineStyle="border:1px solid #bfc6c9;border-radius:2px;border-right:0px;">
                <af:forEach items="#{pageFlowScope.pbPagePovDetails}" var="page" varStatus="index">
                  <af:panelGroupLayout id="pgl5" layout="vertical">
                    <trh:tableLayout id="tl1" cellPadding="0" cellSpacing="0" halign="center">
                      <trh:rowLayout id="rl1">
                        <trh:cellFormat id="cf2" inlineStyle="border-right:1px solid #bfc6c9;padding:3px;height:38px;">
                          <af:panelGroupLayout id="pov_pgl3" layout="vertical" inlineStyle="padding:5px; border-color:ActiveCaption;min-width:125px;">
                            <af:panelGroupLayout id="dc_pgl6" layout="horizontal"
                                                 rendered='#{pageFlowScope.settingsDimLabel eq null or pageFlowScope.settingsDimLabel eq "Show Dimension Name"}'
                                                 inlineStyle="font-weight:bold;">
                              <af:commandLink text="#{page.dimName}" id="dc_cl1" actionListener="#{pageFlowScope.HspPovBarBean.openMSFromDimension}" rendered="#{page.axisType==3}"/>
                              <af:outputText value="#{page.dimName}" id="ot1" rendered="#{page.axisType==2}"/>
                            </af:panelGroupLayout>
                            <af:panelGroupLayout id="dc_pgl9" layout="horizontal" rendered='#{pageFlowScope.settingsDimLabel eq "Hide Dimension Name"}' inlineStyle="height:10.0px;">
                              <af:spacer width="10" height="11" id="dc_s5" inlineStyle="font-size:small;"/>
                            </af:panelGroupLayout>
                            <af:panelGroupLayout id="dc_pgl7" layout="horizontal">
                              <af:forEach items="#{page.memDetail}" var="mem">
                                <af:outputText value="#{mem.memName}" id="ot2" rendered="#{page.axisType==2}" inlineStyle="font-size:smaller;"/>
                                <af:commandLink id="dc_cl2" text="#{mem.memName}" actionListener="#{pageFlowScope.HspPovBarBean.openMS}" inlineStyle="font-size:smaller;"
                                                rendered="#{page.axisType==3}"/>
                              </af:forEach>
    
    
                              
                            </af:panelGroupLayout>
                          </af:panelGroupLayout>
                        </trh:cellFormat>
                      </trh:rowLayout>
                    </trh:tableLayout>
                  </af:panelGroupLayout>
                </af:forEach>
              </af:toolbar>
    

    His work as expected, but then the text is displayed in #{mem.memName} I want to manipulate this value.

    To do this, I created a variable at the bean

    public class HspPovBarBean{
    
    String memDisplay=null;
    
    
    public String getMemDisplay(){
    memDisplay = (String)resolveExpression("#{mem.memName}");
    memDisplay += ",";
    return memDisplay;
    
    }
    

    But I'm unable to get the value of memDisplay as its null.

    Please let me know if this isn't the correct way to this defect.

    Thank you

    ASHA as


    ASAS

    You can do it directly in the af: outputText

    or in the link or everywhere where you need to display the additional «»

    Timo

  • Change the values of the cluster in while loop and in the face at the same time

    Hello.

    I have a little problem in a test program, that I'm working on. I'll try to simplify as much as possible. I have a cluster control that contains two controls A and B. I want to:

    1. switch to update the value of the command A a while loop
    2. allow the user to change the value of the B control through the face, while the loop is running

    To change the value of order in the while loop, I first get the cluster control cluster, update the value of the control for a way to group by name and finally rewrite the cluster in the cluster control.

    The problem is that if the user changes the value of the B control while control that is in the middle of the update, the new value of B control is lost because it was read before updating in the face. Is there a way to get around this?

    DennisBengs wrote:

    1. switch to update the value of the command A a while loop
    2. allow the user to change the value of the B control through the face, while the loop is running

    Then they do not belong in the same cluster.  They are disconnected obviously enough that they do not go hand in hand.

    Where it can get really complicated, it is that you're talking about the user and code changing the same cluster.  It is very dangerous and very difficult to manage.  You might be able to get there with a driving force.  But walk slightly, my friend.

  • Update of the indicators of the façade is trolling in the test of the functions in the provider DLL

    I'm looking to see if someone can explain a behavior to display weird LabVIEW I see when to test some timeout works in a third party DLL. I have a work around in place but I would still like to know why, without the workaround, the information displayed by the indicators on the front panel are not synchronized with what is happening in the execution of the VI, even though I tried all sorts of things to impose the synchronization. Note that to run the VI in a useful way, you need to be able to communicate with a Galil axes via an Ethernet controller, and which, for the most part, limited this discussion to what the experts among you know happen under the hood of LabVIEW in situations like this.

    This is what looks like the VI when my work around (false wait added) is active. It's a small state machine that uses the elements of the array "Test Sequence" to tell him what to do in each step of its implementation. Here he plays a first time-out value, sets a new value of timeout, reading again, the timeout by asking a READING of the controller (without having first asked to say anything), followed by restoring the initial time-out and then tests to stop.  The two indicators in the red rectangle are there to show the current status of the execution, and it is this pair of indicators which are not synchronized with the State of the actual program.

    When execution completes, it is what we see.

    If the false timeout is too short, then the indicators are not synchronized with the State of the program, or in this case, with the other.  Note that the only time wherever the VI display is static enough for me to take a screenshot as it is during the period of "Test Timeout. When the time-out occurs Finally, things be synchronized and the same results are displayed.

    Here's the code.  I am also attaching a folder zipped with the code, just because I don't know if the extracts are smart enough to include all the dll referenced by library call nodes.

    Here on the left of the loop indicator 'State' and 'Index' terminals can be seen. The 'fake Wait' needed to make the indicators work synchronously appears below in the same area. Before coming with this 'fix' things I've tried, what has not worked, were:

    • addition of the structure of flat sequence seen here with the indicators in the first panel
    • Entrance to the 'value' property nodes using linked to two indicators with their outputs error Garland at the entrance of the error on the function 'G Read' (test timeout).
    • defining indicators for "synchronous display" (apparently this parameter actually only works with the multi-threaded code, which I don't believe it is)
    • setting false property to "postpone updates on the front panel.

    Another thing that worked linked a "probe" to any data path entrance side of the conditional structure. I thought that it causes also a few milliseconds of delay as the expectation.

    My best guess at what happens is that display updates are "launch and forget" actions that occur on parallel execution paths in the single execution thread and function on obtaining some of the main process to complete time slices. But when the main process is the name of an external library, which, outside the library can't share time with all other processes that can run in the same thread.  All this makes sense?

    This is because all these CFLN calls to the dll are set to run in the UI thread (to view the color orange on the top of the node).

    If they eat the cycles in the UI thread, they may not leave enough cycles to LabVIEW to make updates to the user interface of the front panel.

    What make these 3 part of the dll?  They need to run in the UI thread?  Is there a problem with the standby so that the DLLs are not pounding the UI thread?

  • What are the alternatives to the update of the indicators using nodes of property?

    Hello

    I'm building a VI that must update several controls/indicators in several points throughout its execution. It must also be able to accept the new values of the controls at any time.

    The problem is that all these controls and indicators on the face before of the VI another who called my VI. The current version of my program updates all these controls and indicators using references and property nodes (each indicator/control to be used has its own reference on my VI control, and these references are then sent to nodes of property), which makes it naturally slow.

    At the moment I plan to rebuild my VI so that the principal is able to recover data without the help of the references, but it is not only a lot of time but also difficult and impossible without my code turning into a massive pile of disorganized (especially since the lab computer is quite slow and the main big enough VI that by pressing the button "clean/re-organize block" causes a crash).

    Alternatives to this? Queues?

    This (my nugget events) is the best general solution, I came here.

    Felix

  • Progress bar not updated until the end of DLL fn

    I have a DLL that I am incorporating in a wrapper using LabVIEW 2011 SP1 Subvi.

    The exported DLL function updates the program on a PIC Microcontroller memory by creating an interface with the boot loader using only its own protocol CAN interface.

    The service takes about 20 seconds to write, read and check the operation succeeded, and I try to add an indication of progress.

    I have a LabVIEW test application vi which calls the Subvi dll and has a progress bar to provide feedback. Unfortunately I can't get the progress bar to update when the DLL is complete, but not when it does not, then he jumps just from 0% to 100%

    I made the assumption that the DLL is hogging the cpu and not allowing other indicators of labview to day or loops to run.

    The DLL includes calls to sleep briefly (3ms), and I upped half a second to see if that makes a difference

    It doesn't seem to be a way to get other items of LabVIEW to grab a slice of CPU.

    I tried to lower priority of Subvi to see if other threads in the code will preempt.

    I tried from the Subvi as an asynchronous call and collect the return status (with a waiting on asynchronous call) while a separate loop surveys trys to update the progress bar by calling a function exported in the same DLL accessor to get the value of the status property

    I've tried passing a blade refnum and update the property value directly from the DLL function from pointer to the value of parameter of function.

    I tried several variations and combinations.

    Is there a fundamental issue that prevents me from actively update the progress bar, while the DLL function runs, or am I missing a simple mechanism to achieve my goal.

    I look forward to suggestions of solutions or additional reading of the forum

    Thank you

    DLL called in the UI thread? If so, try switching to the call of Thread Safe (if DLL allow, of course)

  • Operation Subvi don't update in the main program

    Hi all

    I'm having trouble with a VI I put together for laboratory research. I try to use two of the Subvi: one writes nine analog outputs through a PCI-6723, the other sends the commands M Code to a linear positioner through COM 4. Both work individually, but when I put in another VI, it seems that the outer loop only runs once. If I set a post and hit run, the track moves to this post but does not meet the additional entries. The tension control is doing absolutely nothing, predefined or not. The goal is that the two Subvi to run in real time. In other words, change the enum of the piece will automatically update the position and moving the sliders of tension with voltage indicators in real time and updated. I tried a few configurations without luck. Maybe it's because I'm trying to use a serial port and a data acquisition?

    I have attached the main VI and Subvi for review. All advice is appreciated.

    'Is it maybe because I'm trying to use a serial port and an acquisition of data?'

    No, that would be a silly limitation of the language

    There are a lot of problems with your application (on the other hand, you use a LabVIEW project to your hand and subVIs), like crazy in the Subvi DAQmx structures.

    The real bug you see, that's the reason why you do not understand how a shift register stores the data: using shift registers initialized to the two subVIs, so overwrite you the values stored in each iteration. You should learn about Global Variables functional and motor action, so you can understand the problem. If you need work on your subVIs (also), you will need to change their behavior. In their recent form, they are not able to do what you want... Do not have a state machine for the subVIs, use actions: Init, check, change, close. Therefore, it is very important that your subVIs only perform one action at a time. Finally, when you stop your hand while loop in your main VI, you call the two subVIs with action command 'Close' to close and delete tasks properly.

    Here's some reading more: http://forums.ni.com/t5/LabVIEW/Community-Nugget-4-08-2007-Action-Engines/td-p/503801

  • I click on check for updates - message says "Windows Update cannot check the updates because the service is not running

    -You may need to restart the computer;

    The service runs - I rebooted - restarted - even still get message - if I click on update history - nothing shows... It's always worked before...

    Line 159 Char Code 4 0

    file:///C:program%20Files/common%20Files/InstallShield/updateservice/UI/UM.htm?strings=#CSS=

    If I click Yes - I get another error in script-

    tank line 132 5 - the rest is the same - if I click Yes on this - he asked me if he was running well - then he said to run with other parameters, which I did - program updates or windows update works

    If I click the program updates in the control panel I get errors - IE Script object doesn' manages this file or this method

    file

    rebooted - start and stop the service.

    Have you tried to use the Microsoft Fix It tool to reset the Windows Update components for you: http://support.microsoft.com/kb/971058?

    If this does not work, try to run the Microsoft OneCare safety scanner.  Sometimes it will solve problems of hidden registry, or can clear the virus that can prevent the installation of the patches: http://onecare.live.com/site/en-us/center/whatsnew.htm. Click full service scan, and then Quick scan (full scan takes a long time to complete). Try the patches.

    Barbara

  • Last update broke the audio playback.

    Everyone has had problems with their audio playback after updating to the new tools of gold 5.0?

    My game has roughly around 5 sound effects play.  I just did a player for each effect and then I have them prefetch at load time.   I keep track of what's currently playing and when I want to play another, I stop playing effect, if any, and start the next.

    Now all this code worked for my current game and 4 other games for 3 months.  The old 9550 beta Simulator 5.0 ran something comme.320 and this one is execute.535.  I am about to release my game, but now the testers reported, the game freezes when they improved a.607 ou.612.  So I installed the latest tools and the game will freeze now in the Simulator.  Everything works on my appareil.320

    I can solve the problem if I ever stop/interrupt an active player, but this reduces the quality of audio support still further.  The game freeze Player.start (calling).  He never returns back from this call.  It is stuck at MediaPlayer.transitionWait ().  I tried various fixes such as starts the new sound in the recall of playerUpdate at the end of the media or stopped event.

    I noticed this change.  If I break on exceptions, it appears on the stack.  It was not there en.320 is kind of fish.  Also, it is really hard to run with exceptions now and play the game as it keeps popping up.

    Object.wait(  ) 478
    MediaStreamingManagerImpl$StreamingSessionImpl$ReadThread.run(  ) 1259
    

    Here are the main battery for my thread to update when the deadlock occurs

    Object.wait(  ) 479
    BasicPlayerImpl$ReentrantLock.waitUntilLockAvailable(  ) 734
    BasicPlayerImpl.stop( boolean ) 374
    BasicPlayerImpl.stop(  ) 403
    AudioChannel.play( Player, int, int, boolean ) 201
    AudioEngine.playEffect( int, int, int, boolean ) 155
    Entity.playSoundEffect( int, float ) 320
    Entity.onExplode(  ) 839
    Bullet.onExplode(  ) 319
    Entity.onHitByBullet( Bullet, int ) 829
    Player.onHitByBullet( Bullet, int ) 349
    Bullet.onUpdate( int ) 282
    EntityList.update( int ) 180
    World.onUpdate( int ) 1233
    GameMode.onUpdate( int ) 392
    Game.run(  ) 629
    Thread.run(  ) 378
    

    Here is the thread for the PlayerListener

    MediaPlayer.transitionWait( int ) 540
    MediaPlayer.initialize( int, int, int, int, int, int, int, int, int, boolean, int, int, String, String, String, int, int ) 169
    StreamingMediaPlayer.initialize(  ) 615
    StreamingMediaPlayer.doPrefetch(  ) 535
    BasicPlayerImpl.prefetch(  ) 214
    PlayerImpl.start(  ) 366
    AudioChannel.playerUpdate( Player, String, Object ) 259
    BasicPlayerImpl.notifyListenersAsync( String, Object ) 195
    PlayerNotifyListenerThread.run(  ) 94
    

    Looks like I'll have to ship this game with special options.

    If you see swimming colours everywhere in the field because of the broken fog?  Select this check box.
    The tracks on the tanks move? Suppose your texture matrix support is not so hot. Select this check box.
    The game is sometimes crash when the sound effects are on?  It's true, check this box.

  • Don't update to the latest version of the apps

    Hey there,
    I borrowed an iMac to work on a larger project in first. The owner has also used creative cloud, but he had a version that was not editable? The iMac was running in a larger company. So I connected with my normal account and tried to the first update to the version of 2016, because I have to open my project and will not make the old version. It was impossible to update any recent version. 2015 kept reappearing. Deletion of everything and even using CC Cleaner and downloading everything new reboot afterwards, did not help at all. The 2015 Version guard reappear. What can I do?

    (Save my project to IDML works, too. When I save as on my MacBook, I can't pass the file format. "So if yo have an idea about it, I'd be more than happy, too!)

    Tanks lot!

    I don't think that a cc 2016 first pro again, released the latest version of first pro must be CC 2015.2

    Make sure you have the latest version 2015.2 installed (it will be available for Mac OS X 10.9 or later)

    to check the launch first pro version, then click first pro menu and choose first pro

  • Last update of the custom settings lost, extensions, etc.

    This week, through the opinion of the Manager to update, I've updated my Dreamweaver CS6 (and other products CS6).

    When then restart Dreamweaver, I noticed that I had lost my layout custom; all DW extensions have been listed as installed, but were not available. I had to remove and then add back to be available.

    Have not done enough to see so many losts otherwise customized. Although, noted that some indicators I had added code was gone and had to be redone.

    Disappointing because I lost time and not even sure exactly how I got the custom layout.

    Was there (or in the furture is) all what I could have done before the update to ensure would not have lost these precious settings?

    Has been a pain and make me hesitant to be updated in the future. I have not yet checked with Flash Pro to see if something similar occurred.

    Wanted to make users aware of this and perhaps warn people of DW of this behavior.

    Thank you

    Keith

    I guess that you do not see this discreet well disguised blog entry?

    http://blogs.Adobe.com/Dreamweaver/2012/09/Dreamweaver-update-for-creative-cloud-members.h tml

    "Note: " Before the upgrade, please follow some tips in the release notes to back up customizations and re-apply"

    12.1 release notes

    http://helpx.Adobe.com/Dreamweaver/release-note/DW-release-notes-092412.html

  • Canon MG7100 prints but will not scan after update of the iMac? How to fix?

    Canon MG7100 worked very well with the iMac - scanning and printing. After doing the updates of the iMac and installation Siri scanning does not work. Always printing. The printer/scanner Canon said - Set PC to start scanning - I have MG7100 added on the iMac. I opened (and re-locked) firewall to let in the Canon UJ utility. I deleted the all-in-one Hi - and added MG7100.

    http://support-Asia.Canon-Asia.com/contents/Asia/en/0100535401.html

    doesn't look like canon has a printer that takes in charge the newer versions of Mac OS x, if I were you I would take contact them to see if they plan on support of new versions, apple made no drivers for the hardware they don't and if hardware manufacturers does not provide a working driver head can group with the new version of Mac OS x We have to rely on manufacturing to have a download on their page

Maybe you are looking for