VIs for using UNIX pipes?

We're going to start working on an application that will eventually run on
a UNIX machine, but in the meantime we'll develop on NT, which is what we're
familiar with. One requirement is to communicate with another process through
a UNIX pipe. Are there VIs built into the UNIX versions of LabVIEW for this?
Or do we just use file I/O VIs? Or is there some other way to accomplish
this?
If there are VIs built in, where is the documentation? I checked the LabVIEW
manuals, but I didn't find anything.
Russell Davoli

Russell Davoli wrote:
> We're going to start working on an application that will eventually run on
> a UNIX machine, but in the meantime we'll develop on NT, which is what we're
> familiar with. One requirement is to communicate with another process through
> a UNIX pipe. Are there VIs built into the UNIX versions of LabVIEW for this?
> Or do we just use file I/O VIs? Or is there some other way to accomplish
> this?
>
> If there are VIs built in, where is the documentation? I checked the LabVIEW
> manuals, but I didn't find anything.
>
> Russell Davoli
Yes there are VIs for named pipes in UNIX, Open, Close, Read, and Write
They are under the communication palette. Check the online manual in the comm
section.
Kevin (my email is down)

Similar Messages

  • Expdb using Unix pipe command for max compression

    I think the answer to this is NO, but I thought I'd ask the questions anyway, in case some of the Oracle geniuses on this site have figured out a way around this.
    We have been using the existing exp/imp commands for years, due to the fact that we can pipe the output through a pre-setup file that will compress the data as it is written. Since we have moved onto the 10g and now the v11 software, we are starting to what to utilize the parallelism that is afforded in expdp, but don't want to deal with the space required for non-fully compressed exports that occurs with expdp.
    So the question is, has anyone figured out a way to use expdp and using 'on the fly' compression like you could do with the old exp utility on Unix boxes??
    Any help would be appreciated....

    Unfortunately, no--it has to do with the parallel nature of the file ops that prevents compression through a pipe. However, if you buy the Compression option in 11--you can compress on the fly.
    See this white paper.
    http://www.oracle.com/technology/products/database/utilities/pdf/datapump11g2007_quickstart.pdf
    Edited by: jdanton on Sep 2, 2008 3:12 PM

  • Has anybody here designed their own server VIs for use w/ DSC?

    I've been browsing viserver.pdf and the DSC documentation to understand what needs to be done to implement a server VI for DSC... but I'm finding the documentation difficult to understand.
    I understand the basic 3 tiered layering of DSC with a GUI VI on top, the Tag Engine in the middle and the server VI on the bottom aquiring data directly from the device in question.
    Is this server VI supposed to be programmed as if its a driver - sending low level(GPIB in this case) commands to the device to write and read info? I guess where I'm hung up is here: I've already written a driver for my temperature controller device and w/ this taken care of, I'm confused about the roll of the server VI
    . Should the server VI use the driver to aquire data from the temp controller or should the server VI itself be the driver and server combined?
    I've looked at some of the server VI examples that come w/ LV but I'm relatively new to LV and have almost no time w/ DSC... so the examples aren't helping much.
    Any direction or tips for a DSC beginner using a server VI would be great.
    Thanks,
    Jim

    Perhaps a simpler solution for you at this time would be to use the driver VI that you have already created to serve data to DSC. This is done by writing your data to memory tags. Once your data is stored in a memory tag, all of the functionality of DSC will then be available (logging, alarming, security, trending, etc).
    National Instruments offers basic skills training courses for many of it's products, including DSC. I recommend that you attend the LabVIEW Basics I and DSC Basics courses. All of the information that you need to perform the above operation are covered in these courses.
    Chad Pelletier
    Applications Engineer
    National Instruments

  • Converting VIs for use in Linux

    Hi everyone,
    I have a couple of VIs that simultaneously handle a USRP-2920 and a vesa serial port, where a transmitting device is connected. The idea is to ensure synchronisation, by triggering both devices through labview. 
    However, I am in the process of transferring all my work in a linux enviroment. From what I understand, labview works fine in linux, and the USRP should work fine by using the UHD and Gnuradio. However, that will mean that the USRP won't be triggered by labview, and therefore there won't by synchronisation. Is there anyway to overcome this obstacle?

    Ha! That is funny!
    MPEG was quick on that batch, too. (my first time.)
    And smart move with those little cams, following guys with cams does sound dangerous. Reminds me whenever I see shows of guys struggling and whining as they climb Everest or whatever, I always think, "Yea, and what about the cameraman." Those guys must be supermen!
    Top of the mornin' to yuh, bud!

  • How to write to stdout and read from stdin using unix pipe = '|'

    Hi,
    How can I read the output written by 1 program to stdout as the input
    (from stdin) to another program?
    Example:
    $java pgm1 | pgm2
    pgm1's output is of multiple lines with tab delimited words in each line. I need to know when each line ends as well.
    Thanks,
    -Ambika

    I tried reading from System.in - using a Buffered reader and the readline() method as follows:
    BufferedReader buffIn = new BufferedReader(new InputStreamReader(System.in));
    while(!(get= buffIn.readLine()).equalsIgnoreCase("")){
    System.out.println("get:<"+get+">");
    but unless I explicitly use the keyboard (type), it doesn't seem to be able to read input.
    I also tried to use
    Properties.load(System.in) - which is really what I'd love to be able to do to reduce processing on my end - but no luck there either!
    Is there anything I need to set the System.in or something?

  • Using utl_file and unix pipes

    Hi,
    I'm trying to use utl_file and unix pipes to communicate with a unix process.
    Basically I want the unix process to read off one pipe and give me back the result on a different pipe.
    In the example below the unix process is a dummy one just copying the input to the output.
    I cant get this to work for a single plsql block writing and reading to/from the pipes - it hangs on the first read of the return pipe.
    Any ideas?
    ======== TEST CASE 1 ===============
    create directory tmp as '/tmp';
    on unix:
    cd /tmp
    mknod outpip p
    mknod inpip p
    cat < inpip > outpip
    drop table res;
    create table res (m varchar2(200));
    declare
    l_filehandle_rec UTL_FILE.file_type;
    l_filehandle_send UTL_FILE.file_type;
    l_char VARCHAR2(200);
    begin
    insert into res values ('starting');commit;
    l_filehandle_send := UTL_FILE.fopen ('TMP', 'inpip', 'A', 32000);
    insert into res values ('opened inpip ');commit;
    l_filehandle_rec := UTL_FILE.fopen ('TMP', 'outpip', 'R', 32000);
    insert into res values ('opened outpip ');commit;
    FOR i in 1..10 LOOP
    utl_file.put_line(l_filehandle_send,'line '||i);
    insert into res values ('written line '||i); commit;
    utl_file.get_line(l_filehandle_rec,l_char);
    insert into res values ('Read '||l_char);commit;
    END LOOP;
    utl_file.fclose(l_filehandle_send);
    utl_file.fclose(l_filehandle_rec);
    END;
    in a different sql session:
    select * from res:
    starting
    opened inpip
    opened outpip
    written line 1
    ============ TEST CASE 2 =================
    However If I use 2 different sql session (not what I want to do...), it works fine:
    1. unix start cat < inpip > outpip
    2. SQL session 1:
    set serveroutput on size 100000
    declare
    l_filehandle UTL_FILE.file_type;
    l_char VARCHAR2(200);
    begin
    l_filehandle := UTL_FILE.fopen ('TMP', 'outpip', 'R', 32000);
    FOR i in 1..10 LOOP
    utl_file.get_line(l_filehandle,l_char);
    dbms_output.put_line('Read '||l_char);
    END LOOP;
    utl_file.fclose(l_filehandle);
    END;
    3. SQL session 2:
    set serveroutput on size 100000
    declare
    l_filehandle UTL_FILE.file_type;
    begin
    l_filehandle := UTL_FILE.fopen ('TMP', 'inpip', 'A', 32000);
    FOR i in 1..10 LOOP
    utl_file.put_line(l_filehandle,'line '||i);
    --utl_lock.sleep(1);
    dbms_output.put_line('written line '||i);
    END LOOP;
    utl_file.fclose(l_filehandle);
    END;
    /

    > it hangs on the first read of the return pipe.
    Correct.
    A pipe is serialised I/O device. One process writes to the pipe. The write is blocked until a read (from another process or thread) is made on that pipe. Only when there is a reader for that data, the writer is unblocked and the actual write I/O occurs.
    The reverse is also true. A read on the pipe is blocked until another process/thread writes data into the pipe.
    Why? A pipe is a memory structure - not a file system file. If the write was not blocked the writer process can writes GBs of data into the pipe before a reader process starts to read that data. This will drastically knock memory consumption and performance.
    Thus the purpose of a pipe is to serve as a serialised blocking mechanism between a reader and a writer - allowing one to write data that is read by the other. With minimal memory overheads as the read must be serviced by a write and a write serviced by a read.
    If you're looking for something different, then you can open a standard file in share mode and write and read from it using two different file handles within the same process. However, the file will obviously have a file system footprint ito space (growing until the writer stops and the reader terminates and trashes the file) .
    OTOH a pipe's footprint is minimal.

  • How do I use the VIs for the Fluke Hydra Series 2620a multimeter?

    This message refers to the VIs found at this link:
    http://sine.ni.com/apps/we/niid_web_display.download_page?p_id_guid=E3B19B3E9468659CE034080020E74861
    How do I use the VIs for the Fluke Hydra Series 2620a multimeter? I am conducting a Senior Design Project at Temple University. It is a Control System where I need to read voltages from sensors and output voltages to different system components. I am trying to set up a VI using the VIs found above to make sure that I can successfully read and send voltages. There was no documentation given with the 2620a VIs.

    Unfortunately, you've got a very old driver for an old instrument. The only available help is to turn on Context Help and move your mouse over the VI icon. It doesn't appear to have any help for individual controls and indicators. The only good news is that it appears to be a simple instrument with only a few functions. There's some main ones line initialize (to set serial port), configure channel, configure instr, and read values. One main thing is whether you're using gpib or serial, Each front panel has a setting. If it's gpib, set the port to the gpib address. If it's serial, set the port to one number less than the com port you're connected to. For example, if you're using Com1, set the port to 0. For the other controls, I'm afraid that you're going to have to try and compare what's there with the controls and settings of the actual instrument. Having access to the instrument manual will be essential. I would engourage you to experiment a little. There's probably very little chance of damaging the instrument especially if nothing is hooked up to it. Send a command and see what happens or set the instrument up manually and see if you can reproduce that via remote control.

  • Best practice for using common VIs

    Hi,
    I have some projects, which use some common VIs (like open/close file format and similar). What is the best practice to use these common VIs? Now I copy these to the project folders, but now I have multiple copies of some VIs, which is difficult to maintian, if I need to modify something in these common files. 
    What sould i use? Still copy, or link the common folder to my project, or use a packed project, or something else?
    Thanks

    dont know if it is the best practice but with every new project, I create a new folder in my project (right click on my computer -> new -> virtual folder) and link that virtual folder to my folder that contains all my common code (vi/ctl/class) by right clicking on the newly created virtual folder and choosing "Convert to auto-populating folder".
    One downside is that if you modify one of those vis for your new application, it might break it for one of your older projects.
    I also use source code control (svn / git / mercurial / etc..) so if that happens, I can always go back to a previous working version.

  • I have an AT&T locked phone valid contract for another year. I am planning for India visit for 3 months and I want to unlock my phone to use for my purpose. Apple care can help on this? or AT&T Customer care?

    I have an AT&T locked phone valid contract for another year. I am planning for India visit for 3 months and I want to unlock my phone to use for my purpose. Apple care can help on this? or AT&T Customer care?

    It's not going to happen. Even a cursory reading of the forums would have revealed this fact.
    Apple can NOT help you. AT&T WILL NOT help you.
    Leave your iPhone at home or in airplane mode while you're in India and buy yourself a cheap disposable phone to use while you're in India. I believe AT&T still has a program where they will put your account "on hold" while you are gone for a small fee.

  • My Apple account was hacked,they've changed everything in my account,but I have a visa,I used this visa for my payment.would I return my acc ?

    My Apple account was hacked,they've changed everything in my account,but I have a visa,I used this visa for my payment.would I return my acc ?

    Contact Support in your country, as long as they can confirm your id and that it's your account then they should be able to get you access to it : Contact Apple for help with Apple ID account security
    If your country isn't on that page then try this form to contact Support : https://www.apple.com/emea/support/itunes/contact.html

  • Do I need labview drvier disc for using VISA?

    Hi,
      Do I need  to install the labview driver disc for using VISA (virtual serial port) function? I get the error as the picture? I have no clue what happen.
    thanks
    ====================
    =Labview 7.0 & 8.0 & 8.5=
    =====================
    Attachments:
    labview8.JPG ‏22 KB

    my aim is to use my bluetooth enable notebook (no serial port) to control a bluetooth serial port adapar on a circuit.
    That means "only a bluetooth serial port adapar" is in the whole project. I need to use my notebook bluetooth to control the bluetooth serial port adapar output in the independent circuit, any suggestion?
    I think I need to control a "virtual serial port" and then send the "virtual serial port" data via bluetooth, then use those bluetooth infromation to control the independent circuit        
    Message Edited by zmarcoz on 02-16-2008 03:05 PM
    ====================
    =Labview 7.0 & 8.0 & 8.5=
    =====================

  • HT1689 I don't want my visa being used for ITunes.  I have an ITunes card.  How do I prevent ITunes from using my Visa

    I don't want my visa being used for ITunes.  I have an ITunes card.  How do I prevent ITunes from using my Visa?

    It automatically uses the gift card balance first.

  • Hey! i am planning a visit to united states.I want to buy iphone 4s there for use in india.Can u please guide me?

    Hey! i am planning a visit to united states.I want to buy iphone 4s there for use in india.Can u please guide me?

    ED3K wrote:
    It was all said in the 2nd post. Buy it from the apple store. lol. Dont need to get into a long discussion about it guys
    Yet in the 3rd post the OP asked a question not covered by the 2nd post and discussed in subsequent posts...  Maybe instead of overlooking the details of the conversation and posting unsolicited "advice" to the rest of us, you should post something useful to the OP.

  • Initialize visa to use for all tests

    Does anyone know how to initialize VISA to use for all tests then close it at the end of the last test?
    Example:
    The test sequence starts with initialize instruments then testing starts until the last test is to close all instrument handles.
    Thanks in advance.

    Is this a LabVIEW question or a TestStand question?  It actually does make a difference in my answer.
    If you are strictly only in LabVIEW, then you just pass your reference wires around where they are needed.
    What I like to do for TestStand is make an Action Engine to control my reference to an instrument session.  This method also works well with strictly LabVIEW as well.  But is overkill for somewhat simple applications.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • How to move folders from one server to another serve using unix command

    Hi All,
    How to move the folders from one server to another server using unix command.
    scp -r armops@sjarmprd01:/ARM/scripts [email protected]:/ARM/scripts/
    but it is giving an error like not a regular file .. what it means .. please let me know if any one knows about it
    Thanks
    Sreedhar

    not a regular file .. what it meansProbably you have some fifo (named pipe) files...
    Said that this has nothing to do with database (you should post on some nix forum, for example http://forums.oracle.com/forums/forum.jspa?forumID=135), you may try rsync* command (man rsync).

Maybe you are looking for