Need TCP Write Stream. vi to run fp_ftp.vi

Hi,
I my application, I want a Fieldpoint RT module to put files on a ftp server on our network. The ft_ftp.vi could be helpful, but while loading it stops claiming that the TCP Write Stream.vi is lacking on my system. I did not find this vi, neither on my PC or elsewhere on the internet.
Please help me to locate this vi,
Thanks,
Frederik

Dear sir,
To use the TCP Write Stream VI you need to have the LabVIEW Internet Toolkit installed.
This toolkit is an additional function librabry for LabVIEW which need to be bought seperately.
Please refer to following article for more info.
Additional information and pricing about the LabVIEW Internet Toolkit is available here.
If you LabVIEW license is part of a Developer Suite, than the Internet Toolkit is included with this software bundle.
Best regards,
Joeri
Best regards,
Joeri
National Instruments
Applications Engineering
http://www.ni.com/ask
Make our forums great:
If you like the answer, don't forget to "Kudos!".
"Accept the Solution" if your question is answered!

Similar Messages

  • Failure modes in TCP WRITE?

    I need help diagnosing an issue where TCP communications breaks down between my host (Windows) and a PXI (LabVIEW RT 2010).
    The bottom-line questions are these:
    1...Are there circumstances in which TCP WRITE, given a string of say, 10 characters, will write more than zero and fewer than 10 characters to the connection? If so, what are those circumstances?
    2...Is it risky to use a timeout value of 1 mSec?  Further thought seems to say that I won't get a 1000 uSec timeout if we're using a 1-mSec timebase, but I don't know if that's true in the PXI.
    Background:
    On the PXI, I'm running a 100-Hz PID loop, controlling an engine.  I measure the speed and torque, and control the speed and throttle.  Along the way, I'm measuring 200 channels of misc stuff (analog, CAN, TCP instruments) at 10 Hz and sending gobs of info to the host (200 chans * 8 = 1600 bytes every 0.1 sec)
    The host sends commands, the PXI responds.
    The message protocol is a fixed-header, variable payload type: a message is a fixed 3-byte header, consisting of a U8 OpCode, and a U16 PAYLOAD SIZE field. I flatten some structure to a string, measure its size, and prepend the header and send it as one TCP WRITE.  I receive in two TCP READs: one for the header, then I unflatten the header, read the PAYLOAD SIZE and then another read for that many more bytes.
      The payload can thus be zero bytes: a TCP READ with a byte count of zero is legal and will succeed without error.
    A test starts with establishing a connection, some configuration stuff, and then sampling starts. The 10-Hz data stream is shown on the host screen at 2-Hz as numeric indicators, or maybe selected channels in a chart.
    At some point the user starts RECORDING, and the 10-Hz data goes into a queue for later writing to a file. This is while the engine is being driven thru a prescribed cycle of speed/torque target points.
    The recording lasts for 20 or in some cases 40 minutes (24000 samples) and then recording stops, but sampling doesn't.  Data is still coming in and charted. The user can then do some special operations, related to calibration checks and leak checks, and those results are remembered.  Finally, they hit the DONE button, and the whole mess gets written to a file.
    All of this has worked fine for several years, but as the system is growing (more devices, more channels, more code), a problem has cropped up: the two ends are occasionally getting out of synch. 
    The test itself, and all the configuration stuff before, is working perfectly. The measurement immediately after the test is good.  At some point after that, it goes south.  The log shows the PXI sending results for operations that were not requested. The data in those results is garbage; 1.92648920e-299 and such numbers, resulting from interpreting random stuff as a DBL.
    After I write the file, the connection is broken, the next test re-establishes it, and all is well again.
    In chasing all this, I've triple-checked that all my SENDs are MEASURING the size of the payload before sending it.  Two possibilities have come up:
    1... There is a message with a payload over 64k.  If my sender were presented with a string of length 65537, it would convert that to a U16 of value 1, and the receiver would expect 1 byte. The receiver would then expect another header, but this data comes instead, and we're off the rails.
      I don't believe that's happening. Most of the messages are fewer than 20 bytes payload, the data block is 1600 or so, I see no evidence for such a thing to happen.
    2... The PXI is failing, under certain circumstances, to send the whole message given to TCP WRITE.  If it sent out a header promising 20 more bytes, but only delivered 10, then the receiver would see the header and expect 20 more. 10 would come immediately, but whatever the NEXT message was, it's header would be construed as part of the payload of the first message, and we're off the rails.
    Unfortunately, I am not checking the error return from TCP write, since it never failed in my testing here (I know, twenty lashes for me).
    It also occurs to me that I am giving it a 1-mSec timeout value, since I'm in a 100-Hz loop. Perhaps I should have separated the TCP stuff into a separate thread.  In any case, maybe I don't get a full 1000 uSec, due to clock resolution issues.
    That means that TCP WRITE cannot get the data written before the TIMEOUT expires, but it has written part of it.
    I suspect, but the logs don't prove, that the point of failure is when they hit the DONE button.  The general CPU usage on the PXI is 2-5% but at that point there are 12-15 DAQ domain managers to be shutting down, so the instantaneous CPU load is high.  If that happens to coincide with a message going out, well, maybe the problem crops up.  It doesn't happen every time.
    So I repeat the two questions:
    1...Are there circumstances in which TCP WRITE, given a string of say, 10 characters, will write more than zero and fewer than 10 characters to the connection? If so, what are those circumstances?
    2...Is it risky to use a timeout value of 1 mSec?  Further thought seems to say that I won't get a 1000 uSec timeout if we're using a 1-mSec timebase, but I don't know if that's true in the PXI.
    Thanks,
    Steve Bird
    Culverson Software - Elegant software that is a pleasure to use.
    Culverson.com
    Blog for (mostly LabVIEW) programmers: Tips And Tricks
    Solved!
    Go to Solution.

    There are a couple of issues at play here, and both are working together to cause your issue(s).
    1) LV RT will suspend the TCP thread when your CPU utilization goes up to 100%. When this happens, your connection to the outside world simply goes away and your communications can get pretty screwed up. (More here)
    Unless you create some form of very robust resend and timeout strategy your only other solution would be to find a way to keep your CPU from maxing out. This may be through the use of some scheduler to limit how many processes are running at a particular time or other code optimization. Any way you look at it, 100% CPU = Loss of TCP comms.
    2) The standard method of TCP communication shown in all examples I have seen to date uses a similar method to transfer data where a header is sent with the data payload size to follow.
    <packet 1 payload size (2 bytes)><packet 1 payload..........><packet 2 payload size (2 bytes)><packet 2 payload.......................>
    On the Rx side, the header is read, the payload size extracted then a TCP read is set with the desired size. Under normal circumstances this works very well and is a particularly efficent method of transferring data. When you suspend the TCP thread during a Rx operation, this header can get corrupted and pass the TCP Read a bad payload size due to a timeout on the previous read. As an example the header read expects 20 bytes but due to the TCP thread suspension only gets 10 before the timeout. The TCP Read returns only those 10 bytes, leaving the other 10 bytes in the Rx buffer for the next read operation. The subsequent TCP Read now gets the first 2 bytes from the remaining data payload (10 bytes) still in the buffer. This gives you a further bad payload read size and the process continues OR if you happen to get a huge number back, when you try to allocate a gigantic TCP receive buffer, you get an out of memory error.
     The issue now is that your communications are out of sync. The Rx end is not interpeting the correct bytes as the header thus this timeout or bad data payload behavior can continue for quite a long time. I have found that occasionally (although very rare) the system will fall back into sync however it really is a crap shoot at this point.
    I more robust way of dealing with the communication issue is to change your TCP read to terminate on a CRLF as opposed to the number of bytes or timeout (The TCP Read has an enum selctor for switching the mode. In this instance, whenever a CRLF is seen, the TCP Read will immediately terminate and return data. If the payload is corrupted, then it will fail to be parsed correctly or would encounter a checksum failure and be discarded or a resend request issued. In either case, the communications link will automatically fall back into sync between the Tx and Rx side. The one other thing that you must do is to encode your data to ensure that no CRLF characters exist in the payload. Base64 encode/decode works well. You do give up some bandwith due to the B64 strings being longer, however the fact that the comm link is now self syncing is normally a worthwhile sacrifice.
    When running on any other platform other than RT, the <header><payload> method of transmitting data works fine as TCP guarantees transmission of the data, however on RT platforms due to the suspension of the TCP thread on high CPU excursions this method fails miserably.

  • What i need to write when i buy with VISA - ( country - ? AAO? or .... ) in Kazakhstan ????

    What i need to write when i buy with VISA - ( country - ? AAO? or .... ) in Kazakhstan ????

    Well, then your question is a different one: "What do I need to make a web application with ERP data".
    In NetWeaver everything is contained that you need technology wise, but no business applications (almost, there is a grey zone coming from the ABAP world).
    If you want to access also business data there are two ways:
    1. You can access existing R/3 environments from there via RFC and BAPI
    2. You will have to wait for mySAP ERP to run it directly on NetWeaver 04
    Regards,
    Benny

  • Can you convert from Writer stream to String ?

    Hi all !
    I'd like to know if it's possible to convert a Writer stream to a String Object....
    FileWriter writer = new FileWriter("book.xml");
    Marshaller.marshal(book, writer); // I would need to convert writer to StringI've inspected the StringWriter class but I couldn't still get anything from it.....
    any clue ?
    thanks a lot
    francesco

    What do you mean that you couldn't get anything out of StringWriter? What was wrong with "toString()"?
    Another way would be to wrap an OutputStreamWriter around a ByteArrayOutputStream then create a String with the byte array backing the ByteArrayOutputStream.
    The real question, however, is why?
    Edit: Man-o-man-o-man am I slow today, or what? And didn't this guy get jumped on quickly. ;-)

  • Write a Dbms_scheduler to run a job frequently

    Hi,
    I need to write dbms_scheduler to run the job on monthly basis which would delete data from database which are of 2 year old from sysdate.
    For Eg: I have 50000 records in my table which are of differetn dates stored in database since 3 years.
    If I run the job today, records which are created before today's date 2 years back should be deleted.
    Can any one help me in step by step process as how can I do it as I am new in writing jobs.
    Thanks in advance.

    HI, thx for the info.
    I want to run this job from front end application code (calling as a procedure within java or oracle bpm programming) instead of running from database level.
    How can I do that. How can I pass arguments for this as I have parameter for my procedure. Below given are my procedure and job.
    create or replace
    procedure requests_delete_proc(p_request_date string)
    as
    request_count number;
    nodatafound exception;
    begin
    select count(request_id) into request_count from max_request_dtls
    where requested_date < to_date(p_request_date,'dd/mm/yyyy') - (2*365);
    if request_count <> 0 then
    delete from max_req_history_dtls
    where request_id in
    (select request_id from max_request_dtls
    where requested_date < add_months(to_date(p_request_date,'dd-MON-yyyy'),-(2 * 365))
    delete from max_request_dtls
    where requested_date < add_months(to_date(p_request_date,'dd-MON-yyyy'),-(2 * 365));
    dbms_output.put_line('requests deleted');
    commit;
    else
    raise nodatafound;
    end if;
    exception
    when nodatafound then
    dbms_output.put_line('no records found for mentioned requested date');
    end requests_delete_proc;
    BEGIN
    DBMS_SCHEDULER.create_job (
    job_name => 'JOB_DELETEOLD',
    job_type => 'STORED_PROCEDURE',
    job_action => 'requests_delete_proc',
    number_of_arguments => 1,
    start_date => SYSTIMESTAMP,
    repeat_interval => 'freq=MONTHLY; BYMONTHDAY=1; byhour=1; byminute=0',
    end_date => NULL,
    enabled => TRUE,
    comments => 'JOB_DELETEOLD');
    END;
    BEGIN
    DBMS_SCHEDULER.SET_JOB_ARGUMENT_VALUE (
    job_name => 'JOB_DELETEOLD',
    argument_name => 'requested_date',
    argument_value => sysdate);
    END;
    Can I club these 2 and put them in a package and call the same in code.
    pls suggest.

  • Need to write object to database but can't find useful examples

    Hi,
    Within one servlet I need to write an Attributes object to a database to be retrieved sometime later by a second servlet. All the examples of serialization code that I can find are for writing to serial or file streams. What I need is to be able to be able to write the Attributes object to a MySQL database. How do I get it into a form that I can write to the database and how do I once again turn in back into an object? I've not been able to answer those question from the examples I've found so far.
    Any help would be greatly appreciated.
    -- Rob

    There are at least two choices.
    1. Serialize to a ByteArrayOutputStream, base-64-encode that data, and save as a string in the database.
    2. Serialize directly to a database blob.

  • TCP Write loosing packages

    Dear,
    When I use TCP Write in fast succession (immediate one after the other) TCP packages are lost.
    When I program 3 time TCP Write just one after the other the 3rd packages is lost.
    Doing it in the same way with a timed loop of 1ms it works propperly.
    So what is going on in LabVIEW?
    Any Ideas?
    Kind regards
    Martin
    Attachments:
    TCP.png ‏47 KB

    Are you running wireshark on the sender or in the receiver end?
    TCP is designed to run un unreliable networks, and packet loss always occurs at some level, at which case the missing packet is retransmitted.
    A TCP connection is initiated with a threeway handshake and both sides keep track of every single packet. Packets can arrive out of order, some missing, even some in duplicate, and the receiver will make sense of it, reassemble, and request retransmissions.
    Your third message is part of the same TCP connection so it is difficult to image it go missing unless one of the sides resets the connection prematurely.
    Kunze wrote:
    The receiver is allwas ready since it is a peer to peer with 100Mbit/s
    What does network speed have to do with readiness? What program is receiving the packets and who wrote it?
    Did you update the network drivers?
    Can you attach filtered wireshark traces, one recorded on each side, showing all communication between these two nodes?
    LabVIEW Champion . Do more with less code and in less time .

  • From PLSQL - Need to write a text file

    Hello
    I need to write a text file from data retrieved from many tables in PLSQL to the UNIX box.
    Thanks
    Paul
    null

    You can use package UTL_FILE to write out to a file. Your DBA has to make initialization changes to support this. They might already have it setup. Run this query:
    SELECT value
    FROM v$parameter
    WHERE name = 'utl_file_dir';
    To see whether it has been configured properly. The value is the directory where you can create and write files.
    null

  • Help needed in writting Customer exit - ABAP Code

    Hi Friends,
    I have a scenario in one of the query and need to write a customer exit for the same. Here is the scenario:
    I am using one input variable XXX to get input from user which feeds value to one of the charateristic  lets say "CHAR1" in query. I have one more characteristic "CHAR2" which has to get the value from the same variable XXX. This is not allowed in BI7.0 as the variable is Hierarchy Node type. It gives error that "Variable XXX is used for two different characteristics."
    So i need to create one more vaiable YYY which will get the value from XXX and then YYY will feed value to CHAR2.  I would appreciate if some one could tell me step by step how to write customer exit and give me the piece of ABAP code i need to write in my case.
    Your help will be appreciated in terms of points.
    Thanks,
    manmit

    Hi Arun,
    1. What should CHAR2 take - Hierarchy node variable or something else ?
    --> CHAR2 is a simple charateristic
    2. In your scenario - why have CHAR1 and CHAR2 ? why not have the user enter values against CHAR2 ??
    --> We dont want user to enter two input as the input values for both Chars are same.
    3. Did you try using a replacement path variable with the CHAR2 variable taking values from Variable on CHAR1 ?
    --> In BI7.0 replacement path variable only take values from Query results. So not able to do the same.
    Thanks

  • I need to use my iMac to run some Windows software and was thinking of using Parallels Desktop 9 to help with this. Do you still have to partition your drive with Parallels and does this leave you open to viruses?

    I need to use my iMac to run some Windows software not available for Mac and was thinking of obtaining Parrallels Desktop 9 to help with this. If I use Parrallels do you still have to partitian your drive and does this leave you open to viruses?

    You do not have to partition your drive - Parallels creates a disk image which contains your Windows installation. You do have to exercise anti-virus measures in the Windows partition, although such malware cannot affect the Mac filesystem.
    Matt

  • I need to back up my imac running Tiger (no time machine) so that we can upgrade OS. It is set up for multiple accounts.  How do I capture all files in each account using newly purchased USB external hard drive?

    I need to back up my imac running Tiger (no time machine) so that we can upgrade OS. It is set up for multiple accounts.  How do I capture all files in each account using newly purchased USB external hard drive?  Thanks!

    Backup Software Recommendations
    Carbon Copy Cloner
    Data Backup
    Deja Vu
    SuperDuper!
    Synk Pro
    Tri-Backup
    Others may be found at VersionTracker or MacUpdate.
    Visit The XLab FAQs and read the FAQ on backup and restore.  Also read How to Back Up and Restore Your Files.
    Or you can simply use the Restore option of Disk Utility to clone the drive to the backup:
    Clone using Restore Option of Disk Utility
    Open Disk Utility from the Utilities folder.
    Select the destination volume from the left side list.
    Click on the Restore tab in the DU main window.
    Check the box labeled Erase destination.
    Select the destination volume from the left side list and drag it to the Destination entry field.
    Select the source volume from the left side list and drag it to the Source entry field.
    Double-check you got it right, then click on the Restore button.
    Destination means the external backup drive. Source means the internal startup drive.

  • When trying to install iTunes I get an error saying "a program needed to install itunes cannot be run".  Any ideas what that program is?

    My computer would not let me update my version of itunes so I was advised to uninstall and start fresh.  I still get the same error..."a program needed to complete the installation cannot run".  Can any one tell me what program they are referring to or if anyone has a fix for this?
    Mandee

    I'd start with the following user tip with that one:
    "There is a problem with this Windows Installer package ..." error messages when installing iTunes for Windows

  • Today is April 10, 2013. I try to login to iTunes connect and I keep getting the message "An error has occurred processing your request. Please try again later or send an email for assistance." It never tells us what email address we need to write to.

    Today is April 10, 2013. I try to login to iTunes connect and I keep getting the message "An error has occurred processing your request. Please try again later or send an email for assistance." It never tells us what email address we need to write to.

    The problem was solved by Apple Technical Help. The process is as flollows:
    1. Open Safari
    2. Menu item Safari-Reset Safari - remove all website data - reset
    3. Now if you try to login on iTunes connect it will work.

  • HT1338 when i try to open itunes on my macbook, it says it needs quicktime 7.5.5 to run. how do i update quicktime so i can run itunes?

    when i try to open itunes on my macbook, it says it needs quicktime 7.5.5 to run. how do i update quicktime so i can run itunes?

    QuickTime 7.5.5 for Leopard - http://support.apple.com/kb/DL27
    QuickTime 7.7 for Leopard - http://support.apple.com/kb/dl761
    = New version of Quicktime installed but application reports it needs to have that version installed =
    Open Application > Utilities > System Profiler and check the Quicktime version in Frameworks vs. the version in Applications.  One person had re-installed their operating system.  It had kept the newer Player application but had reverted to an earlier version of the underlying support framework files which many applications utilize.  Re-installing Quicktime 7.7 took care of the problem.  Do this manually, not with Software Update.
    Installation get stuck at "configuring installation" - https://discussions.apple.com/thread/2592979?threadID=2592979  - uninstall Quicktime before installing.

  • Need to write a report to show who is using SAP and to what extent

    Hi Experts,
    I need to write a report which should display who are using SAP and to what extent to forcast future SAP license needs...
    and to ensure the compliance by allocating license types correctly.
    My report should helpfull to organization to reduce the current license requirements and costs.
    Actually my problem is where can i get all these details in SAP, means from which tables.
    in which table can we get the sap user ids using mail id...
    Thanks in advance........
    Ram

    Hi gajeramesh ,
    Goto transaction 'SU10'
    Here you have all the data selection regarding a particular user id, so what you can do is do F1 on any of the fields and see the technical help in that for the table names.
    some of the tables are :
                                     1) 'USUSERS'(User: Transfer structure for lists of users),
                                     2) 'USER_ADDR' (Users by address data)
                                     3) 'USUSERALL' (Users with All Data for List Output)
    I hope this helps you  !!

Maybe you are looking for

  • How to find out who deleted the archive logs

    Hi All, Recently some archive logs were deleted from one of our servers. Is there any way to find out which user has deleted the archive logs through OS or through database ? OS Version :- SunOS Generic_Virtual sun4u sparc SUNW,SPARC-Enterprise Datab

  • Opening and closing 3rd party applications ??

    Does opening and closing 3rd party applications with the click of the home button actually close the application, or, does it continue running in the back ground ? I noticed most of the 3rd party application don't have a close/exit option, and wonder

  • Error com.sap.aii.af.sdk.xi.util.URI$MalformedURIException: no scheme

    Hi, I am registering the following error in a SOAP Sender Communication Channel, it's very strange because of in the Development Environment everything worked fine. com.sap.aii.af.sdk.xi.util.URI$MalformedURIException: no scheme The Scenario is the f

  • Related to HR

    how can i add a field in Tcode like S_AHR_61016362.....and the field name is NETPAY.... Edited by: praveen bej on Mar 2, 2009 11:30 AM Edited by: praveen bej on Mar 2, 2009 12:04 PM

  • Amplitude of music in iTunes - gone in v11 ?

    In previous versions of iTunes (i.e. pre 11), one could toggle between progress of the song and the amplitude of the music in the small display at the top of the window. It seems to be gone. Clicking on the progress bar doesn't change it anymore to a