Question about Val(Sgnl) property

Hello,
I am reading data from a telnet connection as 16-bit binary values.  I strip individual bits of that 16-bit word to light up indicators.  For each indicator that I light up, I want to have an associated 'history' indicator, that would show if it lit up, then went dark at some point (i.e. like an overnight test).
To achieve this, when I assign a value to a given indicator, I send that same value to that indicator's Val(Sngl) property.  Then I have an event structure that simply sets the 'history indicator' true whenever there's a Value Change in that Val(Sngl) field.
OK so my problem is that I must not be understanding what constitutes a value change, because what's happening is that when there is an error on any indicator, ALL of the history indicators are lighting up.  The VI is large and complex, so instead I attached a picture that shows the important parts.  Notice on the left I mask out individual bits, then on the right is where I light up the indicator based on the Value Change property.  I've only shown one here because they are discrete but the code is identical...if the respective error bit changes value (low-to-high or high-to-low), then light the history.
So as an example...if G_LOL Summ goes active, the history bits for all 5 indicators goes active.
I put probes on the signals that I don't expect to light up (i.e. probe #18 at the bottom of the picture on the left)...it stays "false" the whole time (i.e. value doesn't change), yet it's history indicator comes on.
Any thoughts?  Thank you
Solved!
Go to Solution.
Attachments:
labview.png ‏63 KB

bmishoe wrote:
that's an excellent idea because the event structure 'value change' options by default include New Value and Old Value...I can just check to see if they are = and if not then set the history bit true.  Great idea!
Or, to avoid extra code, you could check to see if they are NOT true equal and use that output as the value for your history bit. 
Bill
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.

Similar Messages

  • Val(sgnl) Property of a Button to Fire Event

    I'm trying to call a button value change event handler by using the Val(sgnl) property of a button control. Its not working. Ive done this with boolean controls and it works great. The boolean version takes a boolean input while the button version takes a variant - I'm not sure why there is a difference. I tried it by wiring a T/F directly into the property, and using a Data To Variant to convert the input, but neither works.
    Thanks,
    Bill F

    Bill,
    I think I have the answer for you. I knew I had done this before so I started to create the attached VI. Well I ran it and got an error, thus I think the answer.
    The button can not have a mechanical action of "Latching". If you change the button to switching it should work fine. I have attached a working VI.
    Evan
    National Instruments
    Attachments:
    button_event.vi ‏32 KB

  • Question about  ampool.timetolive property

    Hi, the question is what happens when ampool.timetolive property expires and the
    user continues to use the module in it’s session.
    I’m getting some suspicious null pointer exceptions caused by the framework and database connections lost and I’m wondering
    if these are related to the ampool.timetolive property or session timeout property in web.xml.
    Any comment will be helpful,
    Thanks

    Only inactive AM instances are removed from the pool according to the documentation. Try setting the jbo.ampool.monitorsleepinterval parameter to a high enough value so that the background clean-up process does not run for a long time. By default it runs every 10 minutes.
    Hope it helps,
    Nick

  • Question about the programming of a legend

    Hello everybody,
    I have a question about the programming of a waveform's legend. I
    already asked here in this forum about the legend programming (03)
    months ago.
    I went satisfied but I ve just noticed that this code
    (See Code old_legend_test.llb with main.vi as main function) operates a
    little different from my expectances.
    Therefore I have a new question and I want to know if it
    is possible by labview programming to plot and show, on a waveform
    chart, a signal with activ plot superior to zero (0) without to be
    obliged to plot and show a signal with activ plot equal to zero (0) or
    inferior to the desired activ plot.
    I give you an example
    of what I m meaning. I have by example 4 signals (Signal 0, 1, 2 and 3)
    and each signal corresponds respectively to a channel (Chan1, Chan2,
    Chan3, Chan4). I want to control the legend (activ plot, plot name and
    plot color) programmatically. Is it possible with labview to plot signal
    1 or 2 or 3 or (1, 3) or (2,3) or (1,2,3) or other possible combination
    without to active the signal with the corresponding activ plot zero
    (0)?
    Let see the labview attached data
    (new_legend_test.llb with main.vi as main function). When I try to
    control the input selected values again I get them back but I don't
    understand why they have no effect on the legend of my waveform chart.
    Could somebody explain me what I m doing wrong or show me how to get a
    correct legend with desired plots? Thank by advance for your assistance.
    N.B.
    The
    both attached data are saved with labview 2009.
    Sincerly,PrinceJack
    Attachments:
    old_legend_test.llb ‏65 KB
    new_legend_test.llb ‏65 KB

    Hi
    princejack,
    Thanks for
    posting on National Instruments forum.
    The behavior
    you have is completely normal. You can control the number of row displayed in
    the legend and this rows are linked to the data you send to your graph. Thus,
    if you have 3 arrays of data, let say chan1, chan2 and chan3, you can choose
    which data you want to display in your graph using the property node (Active
    plot and visible). But for the legend as you send 3 plots there is an array of
    the plot name [chan1, chan2, chan3] and you can display 0, 1, 2 or 3 rows of
    this array but you cannot control the order in this array! So, to be able to
    change this array you have to only send data you need to you graph. I'm not
    sure my explanations are clear so I have implemented a simple example doing
    that.
    Benjamin R.
    R&D Software Development Manager
    http://www.fluigent.com/
    Attachments:
    GraphLegend.vi ‏85 KB

  • Questions about supporting TLF with Halo components in Flex 4.1

    We recently decided to upgrade to the Flex 4.1 SDK after a year or so at 3.2.  We have been asked to not use the new SPARK components yet because our products would then have a mistmatch of Halo and Spark components in the UI.  We have built support for our Halo components to display html through the ".htmlText" property for the Text components.  For example, we can display strings such as "<p>Choose <b>one</b> option:</p>".  With the upgrade to Flex 4.1 a couple of questions about supporting bi-directional text have come up.  My understanding is that in order to support bi-directional text we need to use the Text Layout Framework.  Does anyone have a suggestion on how we can utilize the TLF with the Halo components in Flex 4.1?    Can we still use the ".htmlText" property somehow or is there a new property that understands the TextFormat markup?  We would love to still be able to use the limited html tags that are supported for the "htmlText" property.  Is there an option where that syntax is still understood?
    Thanks in advance!
    David

    The halo components use TextField, and the spark components use TLF. Both sets have support for some html markup to import and export text. To use bidi text, you have to use TLF; TextField won't work properly.
    It is possible to use TLF to build your own components, and this can work well particularly for applications with specialized needs. But if you need bidi support for advanced components like DataGrid and List, then you should use the spark components.
    Thanks!
    - robin

  • Question about "synchronized" and "wait"

    Hello, everyone!
    I have seen a piece of code like this,
    synchronized (lock)
    //do operation 1
    lock.wait();
    //do operation 2
    I think in the above piece of code, when a thead finished operation 1, it will release the lock and let other threads waiting for the lock have chance to run the same block of code. Am I correct?
    If I am correct, I have a further question, a "synchronized" block means a set of operations that can not be interrupted, but when invoke "wait" method, the thread running in the "synchronized" block will be terminated (interrupted) by release the lock and other threads will have chance to enter the "synchronized" block. In short, the execution inside the "synchronized" block will be interrupted. So, I wonder whether the above piece of code is correct and conforms to the principle of "synchronized". And what is its real use?
    Thanks in advance,
    George

    Thanks, pkwooster buddy!You're welcome
    I just wondered whether "wait inside a synchronized
    block" technology is thread safe. Please look at the
    following example,wait and synchronized are thread safe.
    public class Foo {
    int mVal= 0;
    public final Object mLock = ...;
    public void doIt() {
    synchronized(mLock) {
    mVal = ...;
    mLock.wait();
    if (mVal == ...) {
    // do something
    } else {
    // do something else
    }If we have two threads, T1 and T2, enter the block in
    their respective order, and T1 is woken up first, T2
    may have tampered with T1's execution path because T2
    changed mVal while T1 was asleep. So T2 manipulate
    instance field mVal is a side-effect.when you do the wait() you give up the lock and the other threads get a chance to run. When you exit the wait() you get the new value of the myVal variable which may have been changed. This is exactly what you want. To make that not thread save you could do
    int temp = myVal;
    wait();
    if(temp == ...)in this case the variable temp contains the old vale of myVal.
    >
    I think the most safest way is never wait inside a
    synchronized block, but it is less efficient. What do
    you think about the trick of wait inside a
    synchronized block? I think you are very experienced
    in thread field from your kind reply.
    Thanks in advance,
    Georgewait(), notify() and notifyAll() are very useful. You need them when you want threads to cooperate in an predictable manner. I recommend that you review the section on consumer and producer classes and wait and notify in the Threads Tutorial. It gives good examples. For a practical example of this you could also take a look at my Multithreaded Server Example. It implements a simple chat server that switches String messages. Look especially at the send(), doSend() and popMessage() methods in the StreamConnection class. These allow the receive thread of one user to send messages out using the send thread of another user. If you have questions about that example, please post the questions on that topic.
    Hope this helps.

  • Question about get web service result in actionscript and convert data format

    Hi, All
    I have question about how to get dataset from web services
    and put it in tree structure. I have 2 questions about this:
    1, How can I get data correctly in actionscript?
    I have no problem to get data by
    <mx:ArrayCollection id="acFolder"
    source="{mx.utils.ArrayUtil.toArray(MyGServices.getFolder.lastResult)}"
    />
    And display in datagrid.
    But when I try to use
    public function
    handleFolderContents(event:mx.rpc.events.ResultEvent):void{
    arData=mx.utils.ArrayUtil.toArray(event.result);
    acData=new ArrayCollection(arData);
    input.text=acData.getItemAt(0).id;
    Seems I can’t get data, it always say:
    TypeError: Error #1009: Cannot access a property or method of
    a null object reference.
    2, how to convert data format
    I get data from web service and want to convert it to tree
    structure, as mention below:
    I get:
    <Array>
    <id>111</id>
    <Name>Production1</Name>
    </Array>
    <Array>
    <id>222</id>
    <Name>Production2</Name>
    </Array>
    Convert to:
    <mx:XMLList id="treeData">
    <node>
    <node label="Production1" data="111">
    <node label="Production2" data="222"/>
    </node>
    </node>
    </mx:XMLList>
    Please help me.
    Thanks.

    First, don't specify the package path in the argument
    declaration. Instead import the event object:
    import mx.rpc.events.ResultEvent;
    The docs state this emphatically.
    Second, try "lastResult", in place of "result":
    arData=mx.utils.ArrayUtil.toArray(event.lastResult); // I am
    not positive about this. I maybe recall reading that result was ok
    for the event object, but maybe not.
    Finally, why do you want to convert the xml? You certainly
    could, but it would be a manual process, recursively reading the
    existing xml nodes and building the new structure, but again, why?
    Just use a labelFunction if necessary to display the nodes as
    you wish.
    Tracy

  • Urgent - Question about logging and debugging.

    Hi,
    I have a question about the logging and debugging supported by
    Weblogic 6.0. From what I understood by reading the documentation
    it has classes e.g. NotCatalogLogger class for logging the information.
    The class has one method callded
    debug() for writing the debugging information. I want to log the
    debug messages only in some situation. Can I control this using
    some property? Because the documentation says that the debug information
    is logged only if application is running in debug mode. Now how
    do I change the mode of an application??
    Thanks and Reagrds,
    Manoj

    Hi,
    I have a question about the logging and debugging supported by
    Weblogic 6.0. From what I understood by reading the documentation
    it has classes e.g. NotCatalogLogger class for logging the information.
    The class has one method callded
    debug() for writing the debugging information. I want to log the
    debug messages only in some situation. Can I control this using
    some property? Because the documentation says that the debug information
    is logged only if application is running in debug mode. Now how
    do I change the mode of an application??
    Thanks and Reagrds,
    Manoj

  • Question about Run-Time Shortcut Menus example

    I am looking at the Run-Time Shortcut Menus.vi that ships with LabVIEW2011. There is an event case "Test List":Mouse Down that does nothing but generate a Val(Sgnl) event for the "Test List" control if the right mouse button was pressed. There is no value change event for that control.
    Is there an obscure reason to do that? One thing I have learned about many of the examples is not to strictly use them as examples.
    =====================
    LabVIEW 2012
    Solved!
    Go to Solution.

    Nevermind - I found the obscure reason. Even though there is not a value change event, generating the value change event is required to change the value on right-click.
    At least NI could have documented this in the example
    =====================
    LabVIEW 2012

  • A question about AdvancedDatagridColumnGroup

    Hi guys,
         Just a quick question about AdvancedDatagridColumnGroup, is the children property only allowed to have an AdvancedDatagridColumn on it?
    Because what I'm trying to do is in my recursive function I'm trying to create a nested AdvancedDataGridColumnGroup, all good until I set the ADG's groupedColumns to a certain array which is a return array of the recursive function. It throws out an exception something in the groupedValidation function of ADG.
    Here's the code that does that
    var createColumnGroup:Function = function( group:Array, xml:* ) : Array
                                  var ret:Array = new Array;
                                  var colGroup:AdvancedDataGridColumnGroup = newAdvancedDataGridColumnGroup;
                                  for(var index:int = 0; index < 1; ++index){
                                        var parts:Array = String(group[index]).split(DELIMITER);
                                        if(parts.length){
                                              colGroup = new AdvancedDataGridColumnGroup;
                                              colGroup.headerText = parts[0];
                                              colGroup.children = [];
                                              var curHeader:String = parts[0];
                                              parts.splice(0,1);
                                                                                         //this is the part where I'm trying to nest the advancedDataGridColumnGroup
                                                                                         // what's to be replaced in this line to make a valid nest of ADGColumnGroup?
                                              if( parts.length > 0){
                                                    colGroup.children.push( createColumn([parts.join(DELIMITER)], xml));
                                                                                ret.push( colGroup )
                                  return ret;
    and I call it like this
    var gCols:Array = createColumn( colsArr, new XML(_xml.children()[0].toString()));
    adg.groupedColumns = gCols;
    Best Regards,
    jd

    Your problem is you have iDVD 4 or earlier. Such versions ONLY supported internal SuperDrives.
    PatchBurn at http://www.patchburn.de/faq.html may help you.

  • A question about Oracle 1g R2 Enterprise Edition license

    Dear all,
    I have a question about Oracle license and I would appreciate if you could kindly help me.
    I have installed an Oracle server (11g R2 Enterprise edition) on a linux virtual machine. The pc used for this purpose
    is my enterprise laptop (therefore a professional and not a personal Computer). However, I use the this Oracle Server
    only for learning purpose, that is, only for running the examples in my Oracle Press books (SQL, PL/SQL and some
    administration tasks) just for learning the stuff.
    There is absolutely no data related to my enterprise, stored or used on this server. Whenever I want to work with my
    enterprise data, I use the Oracle server of the enterprise which has of course the appropriate license. So as I said, I
    use this Enterprise server on the virtual machine only for running queries/programs in my Oracle Press books just for
    learning and I'm the sole person who uses this server (no remote connection for other users).
    The reason for which I needed to install this server on my PC was that our DBA couldn't provide a training environment
    for me with all required privileges and functionalities.
    Am I supposed to buy a license for this installed Enterprise server on my virtual machine?
    Thanks in advance,
    Dariyoosh

    drop.any wrote:
    From OTN license agreement:
    >
    LICENSE RIGHTS
    We grant you a nonexclusive, nontransferable limited license to use the programs only for the purpose of developing, testing, prototyping and demonstrating your application, and not for any other purpose. If you use the application you develop under this license for any internal data processing or for any commercial or production purposes, or you want to use the programs for any purpose other than as permitted under this agreement, you must obtain a production release version of the program by contacting us or an Oracle reseller to obtain the appropriate license. You acknowledge that we may not produce a production release version of the program and any development efforts undertaken by you are at your own risk. We may audit your use of the programs. Program documentation, if available, may accessed online at http://otn.oracle.com/docs.
    Ownership and Restrictions We retain all ownership and intellectual property rights in the programs. The programs may be installed on one computer only, and used by one person in the operating environment identified by us. You may make one copy of the programs for backup purposes.
    You may not:
    - use the programs for your own internal data processing or for any commercial or production purposes, or use the programs for any purpose except the development of your application;
    - use the application you develop with the programs for any internal data processing or commercial or production purposes without securing an appropriate license from us;
    - continue to develop your application after you have used it for any internal data processing, commercial or production purpose without securing an appropriate license from us, or an Oracle reseller;
    - remove or modify any program markings or any notice of our proprietary rights;
    - make the programs available in any manner to any third party;
    - use the programs to provide third party training;
    - assign this agreement or give or transfer the programs or an interest in them to another individual or entity; - cause or permit reverse engineering (unless required by law for interoperability), disassembly or decompilation of the programs;
    - disclose results of any program benchmark tests without our prior consent.
    >Hello again,
    Thank you both of you for your help. As it seems to me
    >
    We grant you a nonexclusive, nontransferable limited license to use the programs only for the purpose of developing, testing, prototyping and demonstrating your application, and not for any other purpose.
    >
    I think self training can be considered in this category, therefore I think there is no need to buy a license for that.
    Kind regards,
    Dariyoosh

  • Question about Local Variables (Multiple answers welcomed!)

    A couple of questions about Local Variables
    1. Programmers always say: “Do not abuse of Local Variables”. I’d like to know, when and where Local variable are most efficiently used?
    2. If I have to create a couple of local variables, is there anyway to “clone” them without going through the repetitive “create/local variables” mouse click each time? (When I try to copy and paste, it creates a new variables instead of the one that I am trying to reproduce)
    3. Which is faster in execution: Updating a variable through a) writing to property node/value or b) through local variable
    Everyone’s input is welcomed, so if this question is already answered, please
    feel free to add additional comments/answers!

    1. Use Local Variables in user interface code and no where else. The only exception is using a local variable of a cluster output to define the datatype for a bundle by name node.
    2. You can drag copy them then right click to get to a menu of all the currently defined controls and indicators on the VI.
    3. B. The problem with A is that it forces a thread switch to the user interface thread--which can take time if you aren't already in it, and it's a very convoluted process under the hood. NI's advice never update indicator values through a property node unless you absolutely, positively can't figure out some other way of doing it.
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • Question about child "windows"

    Hello Everyone,
    First, I want to thank everyone who's so graciously taken
    their time to answer my previous questions. Because of you, I am
    well on my way to developing my very first real world Flex
    application. I am consistently astounded at how helpful this
    community is and am very thankful to have you all here.
    Now, I do have one question about some code that works on the
    example but not in real life. I am trying to open a popup window
    from a class named composeScreen. In my CDATA section, I have the
    following code:
    function showWindow(modal) {
    var popup = mx.managers.PopUpManager.createPopUp(this,
    composeNewMessage, modal, {deferred: true});
    Yet, when I save the program, Flex Builder tells me:
    "Access of undefined property mx"
    Any idea why this is happening?
    I've even tried importing the mx.managers.popUpManager class
    and it makes no difference.
    Please help! This is driving me nuts!
    Thanks in Advance,
    Anthony

    Hi Anthony,
    You will have to use popup manager class for this.Here is the
    code to give you a lil bit of direction. Call init() function in
    the initilize event of the <mx: application> tag
    import mx.managers.PopUpManager;
    private function init():void{
    myWindow = PopUpManager.createPopUp(this, MyWindow, false);
    myWindow.visible = false;
    myWindow.x = 200;
    myWindow.y = 200;
    myWindow.height = 100;
    private function showWindow():void{
    myWindow.visible = true;
    myWindow.expand.play();
    <mx:Button id="btn" label="click me"
    click="showWindow()"/>
    When you click on the button your child window must pop
    up.

  • 2 questions about Dropdown Box Item

    Hi all,
    I just started using Design Studio and I have two questions about the Dropodown Box Item (well actually it's more about scripting...):
    - in the startup script of the application I want to populate one dropdown box with master data values of the infoobject 0FISCPER, how can I realize that? (if I use "DS_1.getMemberList...." I get only the values of 0FISCPER for which there is transaction data)
    - as a datasource I use a query with 2 variables:
         - Is it possible to populate these 2 variables with default values and skip the initial Variabile Initialization Screen?
         - I use 2 dropdown box items to set the values of these 2 variables. For one variable everything it's ok (I select the value in the dropdown and the      script populate the variable with that value and the data in the crosstable changes accordingly) but for the other variable associated to the 0FISCPER      infoobject when I select the value in the dropdown it's seem that nothing happens since the Variabile Initialization Screen pop-up and an error says that      I have to select a value for the variable. I did the same simple scripts for the these 2 variables, why does it work for one variable and not for the other?
    Thanks,
    Michele

    I answer myself about one question:
    "Is it possible to populate these 2 variables with default values and skip the initial Variabile Initialization Screen?"
    Yes, it's possible to create a script in order to populate the variables in the event "On Variable Initialization" of the Application and set false to the property "Force Prompts on Startup".

  • Question about DateChooser

    <mx:DateChooser id="dtReport" showToday="true"
    yearNavigationEnabled="true" initialize="initDC()"
    change="gochage(event)" />
    <mx:Script>
    <![CDATA[
    private function
    viewDayReport(eventObj:CalendarLayoutChangeEvent):void{
    Alert.show(eventObj.newDate.toString());
    Alert.show(eventObj.currentTarget.selectedDate.toString());
    ]]>
    </mx:Script>
    ===========
    when i click the same date in DateChooser , an error throwed
    "#1009:cannot access a property or method of a null object
    reference..."
    seems eventObj.newDate. is right ,
    eventObj.currentTarget.selectedDate is wrong?
    Thx a lot!

    HI, a question about he toedter JCalendar package.So why do you ask here?
    I have a dateChooser object on my form, but I need to
    do something everytime the date changes. What is the
    best way to implement an onDateChange() method? Is
    there a way of doing this easily?Probably by adding some listener. Would depend on the API which i don't know.

Maybe you are looking for

  • Location and size of hotspot in a packaged file

    Hi all, I'm working on a authorware program in which I want to use the location ans size of a clicked hotspot to draw a rectangle. Ultimately, I would like to be able to change the size/position of a hotspot, and when packaged, the rectangle should b

  • Swtiched from Pc to Mac but I have a question

    I dont know how to reformat a mac. I didnt get a cd or a dvd with the computer I dont how to create the disc so i can reformat my mac to its original factory form. can I get some help please ? Thank you. I think I have the latest software for with OS

  • [Solved] WPA connection problems - network was WEP encrypted.

    Hi all, and thanks in advance for reading. Tl;dr for the below: My card seems to work, but won't associate with the router using either netcfg or wpa_supplicant and I have no idea why. I have no graphical system to work from as yet. Basically, I've j

  • How can I uninstall Captivate license from a computer I am not using?

    I work at Tenaris and they have changed my computer installing Captivate on this one. Apparently license is also still on the old computer I am not using anymore, so a message about the license is appearing me, telling me that i will not be able to u

  • Mettre des musiques

    Quand je branche mon IPod a mon ordinateur pour mettre des chansons dessus, je peux ouvrir les photos mais quand je veux y mettre une chanson il me dise que l appareil n est ps connecté a mon ordinateur, comment faire ?