Choice for multiple VISA input

Hi everyone!
I'm quite new to LabView, but now I have to make an instrument for working with laser sensor. I've managed it myself, by there's one problem I still can't solve. I need to make some buttons for sending most common commands to my sensor, and also a field for manual input. I can't get to how to make it.
I suppose that switchers should be in boolean and send some string when they return TRUE, but how to join them three together with a possibility of manual input?
I've attached my VI and a fragment of a scheme I was talking about.
Hope you understand my poor English, thanks in advance.
Solved!
Go to Solution.
Attachments:
LS5.vi ‏55 KB

Its just an example to read buttons and do action related to them
Labview user
Attachments:
Alex_test.vi ‏10 KB

Similar Messages

  • Best practice for multiple VIs talking to same PXI

    I am looking for a reccomended practice for my use case, which I feel has to be what a lot of people do/need.
    I have a NI-SCOPE PXI device, but this applies to most instruments on some level.  I have multiple VIs that do simple things, such as one VI that changes the horizontal settings, one VI that changes trigger settings, one VI that reads the current trace from the scope.  How can I have multiple VIs talk to the same instrument, some of them might even be called at the same time.
    Some more specifics about my use case is that I am calling these VIs from a web service, and the trace VI is called very frequently and streamed to the user (via the web service).  
    I was thinking of implementing a VI that would give me the VISA connection for the instrument and a semephore.  I would then have the VI doing the work aquire the semephore, make the instrument calls and then release the semephore.  Are there better or different ways?  Maybe something I am over looking with the semephore implementation?

    Typically for this sort of thing I would have a device handler VI which contains your VIs for talking to the instrument. This VI acts like a 'server' and does your device communications and then you can send commands to the device handler VI (e.g. via a queue/event) and it will return the result.
    I would implement this as a state machine (normally using queues) - states for initialising the device, a state for each action you want to perform and a close/shutdown state when your application finishes.
    Certified LabVIEW Architect, Certified TestStand Developer
    NI Days (and A&DF): 2010, 2011, 2013, 2014
    NI Week: 2012, 2014
    Knowledgeable in all things Giant Tetris and WebSockets

  • One user interface for multiple VIs

    I searched and searched for an answer to this so if it's out there please direct me to it.
    I have an application that has roughly 10 different VIs.  These VIs are virtually the same.  All they are doing is monitoring data for the operator for instance: Temperatures, Pressures, Vibrations, etc.,.  I would like to implement a user interface where the operator could click on a button at the bottom of the screen that would take them to the temperature screen.  Once the temperature screen is displayed, I would like to be able to click on a different button that goes to the Pressure screen.  In other words, I want the operator to be able to access any screen they want from any screen they are currently viewing.  So all the buttons would be at the bottom of every screen.  And any screen would be able to access any other screen.  I just have not found a good way to do this.  Every thing I've tried always ends up coming back to a "main.vi".  
    Multiple answers are welcome!  Thanks.  

    Ben wrote:
    DSC has a feature that lets you assign protection levels to each FP control.
    Good to know, having never used DSC. Maybe something to add to my "toolbox" in the future.
    CLA, LabVIEW Versions 2010-2013

  • Error check for multiple ranges input

    Hi,
    I have coded a report with the following select options:
    SELECT-OPTIONS:
       S_PONUM FOR EKKO-EBELN NO INTERVALS,
       S_PODAT FOR EKKO-BEDAT NO-EXTENSION,
       S_LCNUM FOR EIKP-VORNU NO-EXTENSION NO INTERVALS,
       S_VENDR FOR EKKO-LIFNR NO-EXTENSION NO INTERVALS.
    I want that a check should be applied at the selection screen level that at least one field should contain a value, i.e. report cannot be run with all blank selection fields.
    I am using this code:
    AT SELECTION-SCREEN.
    IF S_PONUM-LOW IS INITIAL AND
        S_PODAT-LOW IS INITIAL AND
        S_LCNUM-LOW IS INITIAL AND
        S_VENDR-LOW IS INITIAL.
        MESSAGE I007(ZSH_MSGC) WITH 'All selection fields cannot be blank'.
    ENDIF.
    This works fine, but the problem is that when entering multiple ranges for S_PONUM, when the button on the right of the field is clicked to input range values the message pops up. I want that the check should be applied on execute (F8). Any suggestions? Help is appreciated.
    Regards,

    Hello,
    check the sy-ucomm when the button on the right of the field is clicked keep the condition which i have kept it.
    before the if statement keep this condition also
    SELECT-OPTIONS:
    S_PONUM FOR EKKO-EBELN NO INTERVALS,
    S_PODAT FOR EKKO-BEDAT NO-EXTENSION,
    S_LCNUM FOR EIKP-VORNU NO-EXTENSION NO INTERVALS,
    S_VENDR FOR EKKO-LIFNR NO-EXTENSION NO INTERVALS.
    AT SELECTION-SCREEN.
    if sy-ucomm ne 'find the sy-ucomm'.
    IF S_PONUM-LOW IS INITIAL AND
    S_PODAT-LOW IS INITIAL AND
    S_LCNUM-LOW IS INITIAL AND
    S_VENDR-LOW IS INITIAL.
    MESSAGE  'All selection fields cannot be blank' type 'E'.
    ENDIF.
    endif.
    Edited by: Santosh Marupally on Apr 22, 2009 9:41 AM

  • Using MainStage/Logic live as effects/processor for multiple audio inputs in PA application

    I have a Mackie Onyx desk with firewire and Mackie control surface that I use for recording. Could I use either Logic or MainStage in a live application with the Mackie as audio input/output but using Logic processor/fx inserts on each audio channel?
    Effectively using the software to replicate digital mixing desk processing
    I can use either my iMac or Macbook pro
    Has anybody done this (I'm sure you have), good points/bad points "don't even think of it!" comments appreciated
    Thanks
    Tim
    BTW, now using Mavericks OS but haven't updated my signature :-)

    should work fine.  Hopefully your machine can handle low-latency (like a 128 setting in the audio prefs).  The lower the better, but you don't want to over-stress your machine, so experiment with those settings.

  • How can multiple vis share input from a DAQ simutaneously

    How can multiple vis share data input from a DAQ simutaneously?
    Recently I am building a EMG measurement platform and somehow DAQ data need to be shared by several vis at the same  time.
    Are there any ideas?

    If you may need to add/delete tasks that will need th edata you may want to consider a publich/subscribe pattern. Basically your DAQ task will post a message to a single queue. The process listening on this queue (message broker) will determine if there are other processes registered to receive this message. When a device registers for a message it provides a queue to receive it on. The message broker will then post the message to all interested processes. The nice thing about this pattern is that you have dedicated code to handle broadcasting the message and it is very easy at run time to change the number of processes that get the message. The DAQ task will always send the message and will not care how many processes are listening.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot

  • The file size of selected file in input file control is shown as 0 for multiple file selection in Safari 5.1

    The file size of selected file in input file control is shown as 0 for multiple file selection in Safari 5.1. If you select single file, then it is able to return file size correctly. However, if you select multiple files, then the file size of each of the selected file is always returned as 0 from javascript. This works correctly in Safari 4.0 but it does not work in Safari 5.1.
    How do I get the correct file size in Safari 5.1 ?

    If you want to post (or send me) a link to the lrcat file, I'd take a look at it for you, and give you a break-down what's consuming all the bytes. But it might be fun to learn how to do that yourself (e.g. using SQL). I use SQLiteSpy, but other people have their favorites.. (or you can use a command-line client if you prefer..). One way: just run "drop table "{table-name}" on each table then look at filesize (do this to a copy, not the real thing).
    Anyway, it's hard to imagine keywords and captions etc. taking much of the space, since even if you had 1000 10-character words of text metadata per photo average that still only adds up to 117MB, which isn't a substantial portion of that 8G you're seeing occupied.
    Anyway, if you've painted the heck out of most of them and not cleared dev history, that'll do it - that's where I'd put my money too...
    One thing to consider to keep file-size down:
    ===================================
    * After reaching a milestone in your editing, take a snapshot then clear edit history, or the top part of it anyway (e.g. leave the import step), using a preset like:
    Clear Edit History.lrtemplate
    s = {
        id = "E36E8CB3-B52B-41AC-8FA9-1989FAFD5223",
        internalName = "No Edit",
        title = "Clear Edit History",
        type = "Develop",
        value = {
            settings = {
                NoEdit = true,
            uuid = "34402820-B470-4D5B-9369-0502F2176B7F",
        version = 0,
    (that's my most frequently used preset, by far ;-})
    PS - I've written a plugin called DevHistoryEditor, which can auto-consolidate steps and reduce catalog size - it's a bit cumbersome to use a.t.m. but in case you're interested...
    Rob

  • An you tell me how to add an advanced action to the TEB so you can check for multiple lines of input

    an you tell me how to add an advanced action to the TEB so you can check for multiple lines of input? How do you add the advanced action?

    Can you elaborate your requirement?
    If you want to have a text wrapped around and enable a scroller for the same, you can achieve it by TEB properties and check the scroll bar option,
    Is this what you are looking to achieve?
    Thanks,
    Anjaneai

  • How can i add multiple validations for a single input box in adf?

    hi,
    i want to add multiple validation for a single input text control in adf like number validation and its existence in database.
    MY JDEV VERSION IS 11.1.1.5.0
    pls help !!!!

    Hi,
    1.I want to validate if the value entered is pure integer
    Option 1-
    select the component and in the Property Inspector, in the "Core" category select a "Converter" format, select javax.faces.Number, if the user put a string, adf show a dialog error or message error...
    Option 2-
    or use the Regular expression:-
    http://jdevadf.oracle.com/adf-richclient-demo/docs/tagdoc/af_validateRegExp.html
    https://blogs.oracle.com/shay/entry/regular_expression_validation
    Also check this:-
    http://docs.oracle.com/cd/E15523_01/web.1111/b31973/af_validate.htm#BABHAHEI
    Option 3-
    Frank in his great book 'Oracle Fusion Developer Guide' shows a example using a javascript for input which is allowed only for numbers. You can manipulate for your requirement.
    Here is the code:
    function filterForNumbers(evt) {
        //get ADF Faces event source, InputText.js
        var inputField = evt.getSource();
        var oldValue = inputField.getValue();
        var ignoredControlKeys = new Array(AdfKeyStroke.BACKSPACE_KEY, AdfKeyStroke.TAB_KEY, AdfKeyStroke.ARROWLEFT_KEY, AdfKeyStroke.ARROWRIGHT_KEY, AdfKeyStroke.ESC_KEY, AdfKeyStroke.ENTER_KEY, AdfKeyStroke.DELETE_KEY);
        //define the key range to exclude from field input
        var minNumberKeyCode = 48;
        var maxNumberKeyCode = 57;
        var minNumberPadKeyCode = 96;
        var maxNumberPadKeyCode = 105;
        //key pressed by the user
        var keyCodePressed = evt.getKeyCode();
        //if it is a control key, don't suppress it
        var ignoreKey = false;
        for (keyPos in ignoredControlKeys) {
            if (keyCodePressed == ignoredControlKeys[keyPos]) {
                ignoreKey = true;
                break;
        //return if key should be ignored
        if (ignoreKey == true) {
            return true;
        //filter keyboard input
        if (keyCodePressed < minNumberKeyCode || keyCodePressed > maxNumberPadKeyCode) {
            //set value back to previous value
            inputField.setValue(oldValue);
            //no need for the event to propagate to the server, so cancel
            //it
            evt.cancel();
            return true;
        if (keyCodePressed > maxNumberKeyCode && keyCodePressed < minNumberPadKeyCode) {
            //set value back to previous value
            inputField.setValue(oldValue);
            evt.cancel();
            return true;
    2.I want to check if the value exists in my respective DB You must be having EO or VO if you want to validate with database in that case use the solution suggested by Timo.
    Thanks
    --NavinK                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Create multiple VIs using a for loop

    Hi,
    I'm still pretty new to LabVIEW, so this question might be easy for you guys here..
    I'll simplify what I'm trying to do.
    I've got two numeric controllers that act as the rows and columns of a matrix.
    I'd like to take those numbers from these two controllers and use them to create a matrix of a certain picture.
    Example:
    The rows controller is given 3, and the columns controller is given 4.
    Using these numbers I would like the end result to show a certain image (let's say, a cube) multiplied on a 3 by 4 matrix.
    Let's say the picture is an X, then the end result should be:
    XXXX
    XXXX
    XXXX 
    I think I should be using a double for loop (one inside the other obviously), and I should also create the "position" property in order to display each picture of the cube in it's right place.
    The problem is that I don't know how to CREATE the pictures over and over again, while being able to control each one's position property.
    Any help would be GREATLY appreciated!
    Solved!
    Go to Solution.

    1) By "multiple VIs" I meant that I think that I need to create express VIs on the fly while running the for loop. I might be totally wrong here.
    2) Yes, by "numeric controllers" I meant numeric controls in the front panel.
    3) The matrix I'm referring too isn't an object nor a VI in LabVIEW but a virtual matrix that is the end result. I used the term "matrix" because the end result is actually a matrix (of rows and columns) of pictures..
    I'll try to elaborate and even simplify it more:
    Let's say I want to display one picture. That's easy, no problem there.
    Now let's say that I'd like to display n pictures on a one dimensional array. Just one row.
    What I think I need to do is to read from the numeric control in the front panel the number (n) of pictures, and then create them in a for loop, while using the "position" property to set the distance between each picture (using coordinates).
    My original question was just like the above, but for a two dimensional matrix/array. So I guess we can even simplify it even more, by saying it's only one dimensional.
    My way of action here might be totally wrong, and there might be an easier way or another way to go about this...
    Thanks for the quick answer!!  

  • Multiple choices for User's Profile& Preferences System Code for GSM ?

      Hello,
    I’m LauraJ and I have a question regarding users being able to see in GSM the item codes for specifications entered by other business units users.
    When this user is making a generic search in GSM for the common specifications shared by multiple facilities, on the search page he/she is seeing only the system code from its facility; the codes entered by sister facilities users for the same specification are visible only if he/she opens the spec.
    I tried to change this into User’s Profile& Preferences System Code for GSM but I can choose only one option. How can I select multiple choices for System code?
    thanks in advance!

    In GSM and SCRM, you can only select one preferred System Code. But you can create an Enhancement Request for use to allow multiple.

  • Reporting / inputting data for multiple GAAPs

    In the past we would setup BPC to include reporting for multiple GAAPs (like IFRS, USGAAP and a local GAAP) by means of adding an extra datasource where you would be able to do remapping some of your entries from one GAAP to another.
    SO for instance if you had pensions in IFRS on your IFRS pension account, you would then, in the USGAAP datasource that sits above TOTAL IFRS, remap that amount to the USGAAP account in this way leaving all others the same but just having the USGAAP changes reflected in a total datasource that includes all of your input according to IFRS plus the remaps for USGAAP to give you USGAAP in an alternative hierarchy for exmaple.
    That is how it was done, but i was wondering if there were any other ideas, expecvially if you have more than 2 or 3 GAAPs
    LEt me know if you have other ideas,
    best regards,
    Edwin

    Hello - Using datasource would be a solution based on dimensionality u2013 this makes sense to me.  Other options with dimensionality may include duplicate accounts per GAAP.   I think there many possible ways to use dimensionality to achieve thisu2026.creating new user dim, categories, and surely others. 
    Another option would be to look at modeling this in separate applications. 
    Maybe using one application as the base then writing to others via destination app/look up type functionality.  You might consider handling different apps per GAAP in the ETL phase.  In modeling I would be hesitant to jump towards separate applications unless the complexity and or data volumes warranted thisu2026..shoot for the most simple elegant design when possible. 
    So depending on the complexity of the business case (what type of ASSETS alone could lead to a longer requirement discussion) and the data volumes look decide on the dimensionality vs. application approach.   I would start with dimensional design until my prototype forced me to consider something else. 
    Hope this helps. 
    Cheers

  • Single input for multiple queries

    how can we have single input form for multiple queries in visual composer?

    Hi Amol,
    check this Wiki page:
    [https://www.sdn.sap.com/irj/sdn/wiki?path=/display/vc/connectingmultipleinputportstoonesingleform&|https://www.sdn.sap.com/irj/sdn/wiki?path=/display/vc/connectingmultipleinputportstoonesingleform&]
    For connecting a form with multiple queries you can create several transitions from your form to the input ports of the queries. You need a button in your form with the submit event. Select each transition from your form to the queries and rename the event to *submit. You need the asterisk for sending the data to all queries.
    Best Regards,
    Marcel

  • Is there a way to make an exam for for multiple choice that would give you an automatic score?

    s there a way to make an exam for for multiple choice that would give you an automatic score?

    http://support.apple.com/kb/ht2493

  • How to use single web form for multiple secure zone signup?

    I have multiple secure zones in my website. I want to sell membership of secure zones to users of my website. I want, users signup for multiple secure zone of their choice and submit payment. Is it possible if can you please explain a bit or refer me to an doc about it.
    Thanks a lot for your time,

    I realize this isn't likely, but do you know of a way to allow the user to select the secure zone to be registered (e.g. from a list of multiple secure zones or entering ID of one sz into a text input) from within a single web form? I wonder if this can be passed in through a parameter in the action URL or through a special system field.
    Thanks

Maybe you are looking for

  • ABAP Report to HTML in BSP

    Hi, I have read the very interesting posts about calling ABAP reports from BSP applications. Nevertheless, I noticed 2 constraints in order for a Report to be called : - the <b>sap/bc/report</b> must be active in Transaction SICF - the report must ha

  • Mac connected on internet through router on PC

    My Mac (g4, tiger 10.4.4) is connected to the internet with an Ethernet cable that goes into a router connected on a PC (Windows XP). The PC is next door. The PC receives Internet and sends it to me afterwards through the router. Now, I'm planning to

  • LV 2009 SP1 corrupts front panel VI during 'save' operation

    My best guess is that corruption happens during 'save' operation. Steps: 1. Slightly modify vi. 2. Run it, then stop and exit with saving of changes. (Saving takes unusual big amount time and cpu/memory resources) 3. Try to open vi and get the messag

  • Unable to export Webforms

    Hi All, I am trying to export Webforms from Planning App. Hyperion Planning is installed on Linux. The command that I am trying to execute is: FormDefUtil export -all servername username password app_name I am trying this from the same directory wher

  • Is there a way I can superimpose an image?

    I would like to be able to add a logo in the corner, or to blot out part of the image in a clip. Can this be done?