Digital Input VI boolean indicator

I am using the Example VI Digital Input as part of Fieldpoint.
It works fine on its own.
That is, I can place a voltage across the terminals of the DI module and the respective Boolean LED lights up on the front panel.
I'd like to use the VI as a subVI for another program.
I wired the connectors of Digital Input.VI connector pane such that the Fieldpoint IO Input and Boolean indicator array have connectors.
I placed the Digital Input.VI in the block diagram of another VI and created an indicator on that VI to see the status of the array within the Digital Input.VI.
Running the higher level VI and the boolean array on it is disabled (greyed out) but the boolean array on the Digital Input.VI is working properly.
Any ideas?
I'm just looking for a way to obtain a status bit type response to be used elsewhere.
If one of the DI module channels is set high then the bit would be set (LED on) in my higher level VI.

Alright, found that if I just take out the guts (Fieldpoint IO, FP Read, Type, Boolean indicator) and use that in my VI all works well.
Now all I need to do is determine what bits are set and act on set bits.

Similar Messages

  • Boolean values from multiple Digital Inputs

    Hi guys,
    This should be really basic but I've looked around to find a solution with no succes...
    I have a Digital Input device with multiple inputs. 
    Eg, I'm reading 0-24VDC signals from pushbuttons and limit switches.
    I simply would like to be able to assign each input to a boolean variable to use throughout the code.
    Example: I've setup the DAQ Assist and get the usual "Data" output. I'm guessing this produces an array of boolean signals.
    How do I convert that array into an individual boolean DI signal for each input?
    Or better still, is there a VI I should be using that outputs individual signals?
    I've also got the same problem for Digital Outputs. I'm guessing I'll be able to apply the same principles to that problem though.
    Sorry if this is obvious and thanks for the help,
    Joel
    Solved!
    Go to Solution.

    Index Array will break apart an array into individual elements.
    Build Array does the reverse taking individual values and build them into an array.
    I would recommend looking at the online LabVIEW tutorials
    LabVIEW Introduction Course - Three Hours
    LabVIEW Introduction Course - Six Hours

  • How to use an Digital input as an Boolean?

    Dear all,
    I want to set up a digital input signal as a Boolean function. How can I do that?
    I also want to know how I can get Digital output lines which are all in DataAquisition box into different lines on my LabView screen? Is this possible with an array?
    Cheers

    We need more information before we can give you the info you need.
    What type of boolean function do you want (digital waveform, array of booleans)?  A boolean on the front panel can be programmed to do many things on the block diagram.  You will probably want more than one.  For example, one boolean to set a value, another to signal the program that you want to add a value.
    Getting data from a data acquisition device into LabVIEW can be either trivial or difficult depending on what the manufacturer of your data acquisition device provides in the way of drivers.  If the device is a National Instruments device and supports digital input, it should be pretty easy.  Look at the documentation and examples that came with the device.  If it from another manufacturer, look for a LabVIEW driver for it from the manufacturer.  If neither exist, you will need to write a driver yourself.  This is usually straightforward, but tedious.  It can get difficult if the manufacturer does not publish good interface specifications.  Once you have the data into your program as a digital waveform, displaying it on a digital graph is as simple as dropping the graph on the front panel and wiring the digital waveform to it on the block diagram.
    I would highly recommend you run through the LabVIEW tutorials on the main NI website.  There are several, depending upon how much time you have.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • How can an unconnected indicator read an FP digital input?

    SYSTEM DESCRIPTION:
    A Dell desk top computer with a Field Point system attached. There are a variety of modules including analog input, 2 digital inputs, relay out, Strain gage input, quadrature input. The system is running XP. The Labview program is written in v6.1.
    PROBLEM
    In an application written by others, I have found 4 front panel indicators that react to Field Point digital inputs. On the block diagram, the indicators are not wired to anything. They have no local variables and no global variables associated with them. How can they be reacting to the FP inputs? The problem is that one of the indicators reacts to the wrong input and I need to fix it.  See "In(Rescue)Limit, In(Cargo)Limit, 4067 Out Limit and EStop".
    Also, when the vi is launched, it starts up the FP system and the vi has no FP vi's in it and none of the sub-vi's have any FP vi's in them either. Any clues how this could be working?
    I have attached the vi. There are other vi's in this project, just too many to include unless more information is needed.
    Thanks,
    Chris Dreike
    Advantage Automation, Inc.
    [email protected]
    310-214-2175

    Chris,
    It doesn't look like you attached the VIs.
    You can use front panel DataSocket binding to link an indicator or control to a FieldPoint ethernet item. Right-click on the indicator and choose Data Operations>>DataSocket Connection.
    Regards,
    Aaron

  • Represent a digital input in labview

    Hello, i am reading with my module in compact rio ni9401 a input digital signal, how could i see all that digital signal in labview?
    thanks

    OK, it sounds like it's time for you to take some LabVIEW tutorials as these are very basic questions and you need to understand the basics before you can make good use of LabVIEW.  http://www.ni.com/academic/students/learnlabview/
    Now your questions:
    The waveform chart defaults to a history length of 1024.  Right-click the chart and change it to be longer if you need.  A long history will just cost you memory so you can make it pretty big.
    Of course you can have a BOOLEAN indicator.  Just drop an LED on the front panel and wire its terminal to the point you want to monitor like I already told you.
    WHY are you making your timed loop run SLOWER (4 < 7 < 10 < 13) if you want FASTER resolution???  Set it to 1mSec.  (Also, there are better ways to do this depending on your hardware but I'm not familiar with your DAQ.)
    You can INVERT a BOOLEAN with the INVERT function found in the BOOLEAN palette!  Again, if you don't know these basic things, you need to take some tutorials to use LabVIEW.
    Using LabVIEW: 7.1.1, 8.5.1 & 2013

  • Polling digital inputs

    I am trying to simulate an annunciator panel on a WIN_XP PC with LV7 and DAQMx hardware. This is part of a much larger machine control code.
    The number of digital input channels is 17.
    For those who wonder what an annunciator is :
    When an input becomes active I have to switch on a LED indicator on the PC screen and switch on an alarm. When the user presses the ACK push button, the alarm is silenced, but the LED remains lit till the relevant input becomes inactive.
    The response time for (reading) each input must be about 20ms.
    Question is, what would be the best possible way to code this without loading the CPU heavily ?
    I am not listing the possible options, lest the replies should end up discussing the pros and cons of my suggestions. In other words, I simply do not want to bias the replies...
    Thanks for your time, friends.
    Raghunathan
    Raghunathan
    LV2012 to Automate Hydraulic Test rigs.

    I am not familiar with DAQmx but here is a vi that shows the basic principle behind gathering data in one loop and processing it in another.  The data gathering loop puts the data in a queue.  The processing loop reads the queue and acts on the data.  I have also added an alarm LED and an ACK button to show you how that could work.  You will have to figure how to get data from your DI and put it into the queue.  If you get an array of data at a time, create a loop to index the array and stuff each element into the queue.  This loop would go into your data gathering loop.  The best thing to do is to program the DAQ to get one value at a time.  If you are using a DI and your data is boolean, change the queue element from a DBL to a boolean at the beginning of the vi at the Obtain Queue function.  You would also have to change the alarm condition code.
    - tbob
    Inventor of the WORM Global
    Attachments:
    DaqAck.vi ‏42 KB

  • Usb 6009 digital input

    Dear All!!
    With the following vi. I'm trying to receive a 5V signal in a digital input, using a usb-6009 device.
    I would like to use the 5 VCC supply, available in pin 31 of the same device and send it to pin 17, representing line0 of port0. During execution, 'm physically connecting and disconnecting  these pins in order to see the difference in a led indicator. Unfortunatelly, the led is always on, even if both pins are disconnected.
    Could somebody help me? I would be very pleased.
    Thank you very much in advance,
    Miren
    Attachments:
    proof.vi ‏38 KB

    Hi Miren,
    "the led is always on, even if both pins are disconnected"
    RTFM?!
    They use open collector inputs with an internal pullup resistor of 4.7k, so you actively have to pull down the input to GND to see a difference...
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • I was given an assingment, but have no idea where to begin. The assingment is to create a text file using notepad with all of my digital inputs and some how make those imputs show up on my digital indicators on my control pannel

    I was given an assingment, but have no idea where to begin. The assingment is to create a text file using notepad with all of my digital inputs and some how make those imputs show up on my digital indicators on my control pannel.
    When it was explained to me it didn't sound to hard of a task, I have no LabVIEW experience and the tutortial sucks.

    StevenD: FYI, I did NOT give you the one star rating. I would never do that!
    StevenD wrote:
    Ow. Someone is grumpy today.
    Well, this is an assignment, so it is probably homework.
    Why else would anyone give HIM such an assigment, after all he has no LabVIEW experience and the tutorials are too hard for him?
    This would make no sense unless all of it was just covered in class!
    This is not a free homework service with instant gratification.
    OK! Let's do it step by step. I assume you already have a VI with the digital indicators.
    "...but have no idea where to begin".
    open notepad.
    decide on a format, possibly one line per indicator.
    type the document.
    close notepad.
    open LabVIEW.
    Open the existing VI with all the indicators.
    (are you still following?)
    look at the diagram.
    Who made the program?
    Does the code make sense so far?
    Is it a statemachine or just a bunch of crisscrossed wires?
    Where do you want to add the file read?
    How should the file be read (after pressing a read button, at the start of the program ,etc.)
    See how far you get!
    Message Edited by altenbach on 06-24-2008 11:23 AM
    LabVIEW Champion . Do more with less code and in less time .

  • Comparing digital input and output from two different DAQs

    I want to create this program where the digital output lights up LEDs at random and push buttons are the digital input part of another DAQ are pushed. When the correct button is pushed, the score will increase by 1. My code doesn't work though. Can someone point my errors to me? Both the DAQs i'm using are USB-6008 DAQs. thanks
    Attachments:
    Untitled 1.vi ‏41 KB

    Let's start with the digital output
    What is this code all about?
    Do you want only one of the 8 led's to lit randomly or are multiple led's also ok?
    The two possible codes are in attached file SNAG-003.jpg
    Connect the output of the "Scale by power of 2" function or the "Multiply" output directly to the Write DAQmx vi
    I don't understand the purpose of the "Boolean Value" and "Replace subset array" thing, so I skipped it
    Attachments:
    SNAG-002.jpg ‏49 KB
    SNAG-003.jpg ‏22 KB

  • Pci1200 digital input output

    Hi,I'm a student using labview 6.1 for the first time. I use the digital input/output lines of a pci 1200 card. I use 8 digital input lines placed in one sequence, and 7 digital output lines placed in another sequence. The VI can read the input lines but the output lines give a voltage of 0.5 Volts instead of 5 VOLTS, how can I solve this problem?

    What are you writing to the digital output lines in LabVIEW? Writing a Boolean value of False to a digital line will write a TTL logic low voltage and writing a Boolean value of True to a digital line will write a TTL logic high voltage. Make sure you are writing a true Boolean value to the lines you want to output 5 V.
    Also, make sure you are not loading down the digital outputs. The digital lines can source 13 mA of current. If you are connecting a small resistance load across the digital outputs, you might be loading down the digital ouputs. I hope this helps.
    Regards,
    Todd D.
    Applications Engineer
    National Instruments

  • Daqmx simulated digital input

    I'm having trouble using the simulated digital input feature.
    I create a simulated digital input in MAX - a simulated NI PCI-6534, single channel, port 0/line 0, acquisition mode is 1 Sample (On Demand)
    When I click the "run" button I see the indicator flash on and off as I would expect.
    However, when I bring this task in to LbView, I can't get the indicator to flash no matter what I've tried.
    No doubt I've missed some basic concept. Can anyone tell me what I'm doing wrong?
    (VI attached).
    Solved!
    Go to Solution.
    Attachments:
    digItst.vi ‏11 KB

    You do not have N channels, you have 1 channel.  Use the appropriate DAQmx Read version.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines
    Attachments:
    digItst_BD.png ‏16 KB

  • How can i measure the time between two successive rising edges ,using digital input ..

    Hello
    I'm trying to measure the time in seconds between each two successive rising edges on a digital input .
    Till now I have managed to detect the rising edge ,increment a counter with each rising edge ,and snap the time at which the rising edge happenned
    all I need now is to subtract the current rising edge time from the previous rising edge time in order to calculate (T) which can be 1/frequency and display it in realtime to the user.
    but I don't know how to do this
    Can somebody please help me !!!
    note: the time that I'm measuring ranges between 200 ms - 2 seconds
    Solved!
    Go to Solution.
    Attachments:
    Counter without time.vi ‏11 KB

    Cheers for that. It's always a good idea to post your SubVIs as well - the problem could be in one of those.
    To help you out:
    You already know how to use shift registers so why not use one again for time? Create a new shift register for  the time then simply compare the "rising edge time" to the the previous time stored in the shift register and then write the new time to the shift register.
    Just a few other pointers:
    1. You'll want to initialise your shift registers ie wire a constant to the left hand register outside of the loop. This will cause the register to be reset each time the program is run. This is so that your counter will start from zero each time you run your code.
    2. You don't need to use the "greater than?" compare function with boolean as they can only be true or false (1 or 0)! The "Equal?" function is what you should use here.
    3. Lastly, it's a small thing but you can use the same tunnel that feeds into a case structure in each of the cases - no need to create two tunnels for the true and false cases, use the same one.
    -CC
    "If anyone needs me, I'll be in the Angry Dome!"

  • How can I measure the time between each two successive rising edges ,using Digital Input ?

    Hello
    I'm trying two measure the time in seconds between each two successive rising edges on a digital input .
    Till now I have managed to detect the rising edge ,increment a counter with each rising edge ,and snap the time at which the rising edge happenned
    all I need now is to subtract the current rising edge time from the previous rising edge time in order to calculate (T) which can be 1/frequency and display it in realtime to the user.
    but I don't know how to do this
    Can somebody please help me !!!
    Solved!
    Go to Solution.
    Attachments:
    Counter without time.vi ‏11 KB

    Woah!  
    Sorry Apok, but your code is becoming way too complicated/messy. I don't think that all of those shift registers or boolean conversion/operators are needed at all.
    If you want to measure the timing between two button presses then this is a different (much less complicated) way. It simply records the timing of the button press into a shift register then compares the two.
    Spoiler (Highlight to read)
    Of course this is a very quick and basic solution just to show you that it can be much simpler than you are making it (remember to use the mechanical actions of the buttons to get the behaviour you want).
    A better way would be to use an event structure looking at value changes of the buttons to determine the timings between clicks.
    -CC
    "If anyone needs me, I'll be in the Angry Dome!"
    Attachments:
    Time between clicks.vi ‏9 KB

  • Virtual digital input problem

    Hello,
    I am trying to learn DAQ on labview. So, I made a basic digital input vi, with a virtual digital input device. For some reason I cannot get it to output anything other then zero, but when I run the daq assistant (when setting up daq assistant) the boolean values toggle between 0 and 1. But, in my VI I cannot get any input other then zero.
    I have attached my VI.
    Thank you
    Solved!
    Go to Solution.
    Attachments:
    ReadDigitalInputs_11-3.vi ‏46 KB

    You should wire up your stop button to the Stop input on the DAQ Assistant.  You are openening and closing the task each time when you do not do that.  I think that is also resetting the toggling of the simulated device.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines
    Attachments:
    ReadDigitalInputs_11-3.png ‏58 KB

  • How to acquire serial data on a digital input line with good performance?

    Hello,
    we have a performance problem with our realtime controller. Our objective is, to read a 24-bit long digital waveform from a digital input line. To do this, we supply a clock signal (236 KHz)  to the PFI1 Line of our DAQ Board. On each rising edge of the clock, a new bit is set on the digital input DI0.
    Our hardware which transmits the data, is triggered through a digital output from our realtime controller. On each edge on this output, the hardware starts a serial transmission of 24-Bits.
    Everything works fine except the bad performance of our realtime controller. We want to acquire the 24-Bits in a 1ms timed loop. To measure performance we wrote a test program. In that, we only triggered the hardware and transfered the data to the realtime controller. The task which is doing this job, has a approx. CPU-Load of 30%, which is, in my humble opinion, very high. The task is not waiting for data or anything else! We have earlier implemented a control which is also using a 1ms timed loop. This control is sampling 2 analog input signals, 2 counters. Futhermore it's sending telegrams with CAN and doing many calculations. The strange thing is, this much huger program has a CPU-Load of 25%. Does anybody know where the problem is?
    For the better understandig I attached our test-program to this text.
    We're using:
    PXI-8175 realtime controler
    PXI-6221 Multifunction DAQ
    Thanks!
    Regards, 
       Crest!
    Attachments:
    dig_test.zip ‏51 KB

    Hello,
    First of all 30% CPU-Load is normal because the DAQmx-driver needs a lot of resources.
    In your programm you should place a wait (for example with 1ms) into the while-loop which causes
    lower CPU-Load.
    If this is not enough you should build your vi like in the following example.
    Regards,
    Christian
    Attachments:
    Read Dig Port.vi ‏51 KB

Maybe you are looking for

  • How can I display some OrdImages using a Applet in html or Jsp?

    hi I want to use a applet to display some images retrieved from intermedia OrdImage Object. Now ,I know that a applet can display some image objects or some images with their own filepaths. But we can get ordimag objects from Oracle database.And we c

  • Error while posting with Segment

    Hi, I am trying to post an entry using t- code f-02.. and i am assigning a profit center to the line item. I have also assigned a segment to my profit center.... But while posting the document i am getting the following error.. <i><b>You do not have

  • 7.01 to 7.3 Upgrade - Masthead - Yellow/Brown bars occuring after upgrade

    Hi We have upgrade our ABAP and JAVA stacks from NW 7.01 to NW 7.3. The upgrade has had a little impact on the portal. In the portal masthead have we got two yellow or brown bars. A bar left of the Design bar and a bar between the Design Bar and the

  • What to put in the action tag of an HTML form

    hi everyone, I would like to use a standard html form (not htmlb) in my jsp page.  I need to call back the component, but I don't know how to build the url and put it in the action tag.  Thank you Mariana

  • HTML DB - LOV is empty at the start of the application

    Hi everybody, Is it usual when we open our application (the first one with HTML-DB) that our lov are empty. Is it a problem with my application ? Is a problem with oracle database ? (I know they stop the Database for backup but the restart is made at