Real-time TCP/IP communication

Hello

I use the following materials:

SMU-1062 q

SMU-8108

OR PXI-5600 (02 card for 40 MHz of bandwidth)

SMU-5641R (two entries are used; one for each NI PXI-5600)

PMA-1115

LabVIEW 2009

I use the mode of the instrument to detect the signal to jump and write in a spreadsheet in real time.

My question is that how can I transfer data on LAN in real-time to create a waveform in software on a remote computer before writing it to the worksheet.  I'm looking for something like the time communication real TCP/IP. I enclose my VI. Kindly guide me that how can I do this?

Thank you and best regards,

Rashid

Hey Rashid,.

Check out this tutorial with examples and let me know if it helps.

Tags: NI Software

Similar Questions

  • Real-time using RS232 communication

    Hi all

    I want to read a serial port at all times. Transmission speed is 2400. All the 1 sec 5 data packets are sent by the transmitter (hardware). Data package consists of 4-byte ASCII character as-A, d1, d2, d3. . Where A is used for synchronization of the data set, because d1, d2, and d3 are random and should be isolated for furthur v.f.. Here I am attachng my VI.

    Problem:-instead of get 5 packs in 1 second I'm receiving only 2 packages in a second.

    Questions:-ground for above problem? Y at - it another way to do it in real time. ? improvements to the VI Suggetions.

    Please answer for above post your answers will be a great help for me. Please do not hesitate to ask any necessary clarification.

    Thank you!

    @smercurio: Thnak you for your response. You are correct that globle variables were used to transmit the data received from other loops. As you say I will use local variables instead of globle variable.

    In addition, I would like to indicate more clearly that I forgot to mention that each byte 4 data are transmitted in the interval of 200ms. This 200ms includes the time required to transmit also the 4 bytes.

    Earlier, my second loop has been integrated into the 1st loop itself. But since I was getting only 2 packages instead of 5 in one second, I removed this reflection to loop 1st form it might take time for the loop iteration. But stil problem is not solved.

    Do you not assign data received by globle variable is taken on time?

    Note * I have varified 5 packet rate / sec using Terminal Server.

  • [fpga] Faster communication between FPGA and host in real-time

    Hi all

    I received a card FPGA NI FlexRIO (SMU-7965R) installed on a chassis PXI (SMU-8135 embedded controller). I have an FPGA program to 40 MHz, and I use a real-time program to read a particular variable of FPGA on a regular basis. I do not stream. All I need is to get the most recent value during each execution of the loop of the program in real time (hence, DMA FIFO is not a good option). I am aware that you can read the FPGA indicators in the host program (real time) using the FPGA read/write control function. I used this feature to read a certain variable of indicator FPGA, as shown in the screenshot. The RT program takes 100 micro-seconds (10 kHz), which is not fast enough for my application.

    Is there a faster method to read the latest FPGA data, or the program shown in the screenshot can be modified to reduce the time of loop RT? Any help would be greatly appreciated.

    You're talking about an RT target a sitting in the RT himself FPGA card? If so, have you tried without the IP address of the target. See this thread to see why that would make a difference.

  • Real-time communication between PHP and Flex application

    My client wants to replace the buttons 'Refresh' in their Flex/PHP app with updating in real time, so as to data changes, it is pushed to the client.

    I came across a few articles which cover this topic, but I'm hard-pressed to find the best approach. Can someone suggest possible solutions?

    Any help would be appreciated. Thanks in advance.

    If your server supports K 100 simultaneous connections with push (permanent connection)

    It can be used 100K users simultaneous apps. With polling stations, it can serve more

    100 k because it opens a connection and then it closes once the answer has

    been sent, so until this client polls again it can handle other requests of

    other customers...

    C

  • Real time

    Hello world

    I write here because I have a problem using a controller real-time (OR 3100 RT) in my application.

    The controller is used to send a TCP/IP packet to a Robot SCARA controller that needs to receive an update every 8ms (this is the reason why I used the RT controller) and read the package of the robot. A PC is connected by a cable ethernet on the RT controller, so that the user can select the final position, speed, etc. and view the position of the controller and the values some of load cells.

    If the PC and the RT controller share a few global variables (final-effector position, the value of the normal force,...).

    The application works very well. The problem is that, after a few minutes, the RT controller loses connection with the robot and the robot, I get the error message related to a package delayed; so I guess that the VI had some problem to send the update of position to 8 ms.

    If I run just the VI on the RT controller, without launching the VI on the host PC, everything works fine. When the RT communicates with the PC, I get the error of timing.

    What can I do to fix this? In the RT vi controller I made two loops, a high priority one, to send packets to the robot and a low priority for communication with the PC, but the problem is still there. I also tried to change the settings associated to the timed loop (timeout, take time, missed periods, maintain the phases initial), but no good result (but if I uncheck the 'Discard without rules', the problem occurs less frequently).

    I have attached a few screenshots related to the target.vi, in particular the options related to the synchronization of the two loops, and how I implemented the loop of low priority.

    Another question: are there options in the global variables section that can help me solve the problem?

    Any suggestions would be great,

    Thank you very much to all the world.

    Carmine


  • Debugging on a real-time target - deployment issues

    Dear community,

    After RT my 9651 sbRIO module wiring code, I do tests to check the intended functionality. For this I start my main VI who deploys the code on my SoM and I can happily move forward with my debugging session.

    Sometimes, however, while in the process of deployment, I get an error saying:

    [VI - name] .vi loaded with errors on the target and was closed

    When I open the VI it has no errors and the VI should work a fine might think.

    My solution was so far of the VI, just open move the wires and terminals round, re - save the VI and this is the deployment works.

    This trick worked for a while, because deployment error ca occur arbitrarily on different VI making debugging quite cumbersome.

    I then went ahead and just run the wrong VI in RT mode by moving terminals and structures around to get the VI runs in mode debugging, but it is very time consuming.

    Given that 3 people working on this project and we use git-subversioning I also do not want to "touch" each time just screws for the debugging session will without actually modifying the feature.

    Has anyone encountered a similar experience or perhaps found a magical setting to avoid this subject a lot of time?

    Hello

    If solutions already present Spex does not do the trick for you, clearing the cache of the compiled object can help.

    For more information, take a look at the following link:

    Why my screws are loaded with errors when it is deployed at my target in real time? -National Instruments
    http://digital.NI.com/public.nsf/allkb/7F6502FF0560FA9086257EB3005B13BA

    Concerning

    Alex

  • Real-time execution trace toolkit to optimize the Labwindows/CVI code

    Hello

    I am trying to optimize a code in real-time in LabWindows/CVI by minimizing the time of each section of the code is taking and find bottlenecks in the code. I check this time using the real-time execution trace toolkit.

    However, I just found it seems to be a constant error when you use the tool of real-time execution trace.

    When I put the traceviewer 'start' and 'stop' right after the other, I get around shift schedule 9us. It seems that the CPU will in some "idle" after the start of the trace mode, or maybe it's the time of communication or something.

    I'd appreciate it if someone could give me an idea of why this is happening. The time of real-time application window is very limited and I'm trying to minimize the time as much as possible. Even the United States 9 error is difficult to resell.

    I used the following code:

    TraceConfigure (1, 1, 0, 25000, NULL);
    TraceStart ();
    TraceStopAndSend (HOST_ADDRESS);

    and there is a photo in the toolkit of real-time execution trace.

    Thank you.

    Generally, you might be better off picking off the clock at the beginning and end of what you want to track. RTETT my introduce overhead that becomes difficult to quantify... Which is what you probably already see. The debug mode will also implement a ton of overhead. Then... Destemming of the clock in release mode will probably give you you the best estimate.

  • Problem using USB-6356 on target in real time

    I try to use the NI USB-6356 on a SBC I converted to a target for LabVIEW RT. I created a LabVIEW RT project with the Architecture of Communication continuous model. However, when I select target RT > New > NOR-DAQmx channel, the wizard says "no device found support.

    Here's what I've done so far:

    1. Installed Support in real time on the host computer.
    2. Installed OR-DAQmx 15.5.1 on RT target (it is visible when I develop the 'software' under the lens of RT in MAX). See Fig1.png and Fig2.png.
    3. Verified that the NI USB-6356 appears in max under target RT > devices and Interfaces. See Fig3.png.

    Even if the NI USB-6356 appears in MAX, it seems suspicious that it appears as a USB device generic (like the keyboard and mouse that are connected to the target RT). Maybe it appears that way because it is connected to a goal of RT, but it seems that it is not recognized as a DAQmx device. I don't know how get the target RT to recognize as a device DAQmx, given that the appropriate drivers, etc are installed on the computer host and target RT.

    Thanks in advance for any help!

    Sorry to be the bearer of bad news, but the devices USB DAQ (other than the USB cDAQs) are not supported on PharLap targets at the moment. The documentation could certainly be clearer, so I'll update soon to reduce the confusion on this topic.  This white paper, last updated in 2014 is clearer than we currently have.  It is also explained in this KBQ5, but the wording is certainly a little bit clear here.

    I'm not sure of any other solution that exchanging your 6356 for cDAQ USB system, or the displacement of a BONE no - RT.

  • Control software for real-time Applications

    Hi all

    We develop products based on the platform or sbRIO and deploy applications to the target in real time. We need to get these what UL listed products and part of the procedure test requires that the software be locked and not changed while the test is in progress. For this I need a way to get and display the checksum (or some other signature) of the currently deployed on the target real-time application.

    Is there a way to do this? Please let me know if you need more information.

    Thank you

    Hi LabVIEWingToday

    On the first link in the previous post, there is a section that explains what is the checksum and they recommend a community tool or a LabVIEW VI, you could use programmatically.

    To calculate a checksum on the key files, consider using the File.VI MD5Checksum, which is built...

    Concerning

    R. Esteban

  • Starting process in real time

    I have 2 questions related to LabVIEW Real-time. I'm using LabVIEW 2010 Service Pack 1. We have a PXI-8186 controller running the embedded real-time.

    (1) I have my software written to communicate using TCP/IP. The real time software runs the listener 'TCP create' then the 'wait on TCP listener"to look for the connections of the computer. This works well in the LabVIEW project. I then build the executable and deploy it in the system in real time, set up to run during startup. I put the target name to be my program name "Test program.rtexe" rather than "startup.rtexe". I don't know if that makes a difference. I saw the other files in the startup folder of the system in real time that have been named something else. My questions are: the name possible no matter what name we want and the system in real time all programs contained in the startup folder is running or is there another method to specify the programs to be executed?

    (2) is there a way to monitor or to see what programs are running on the system in real time? As the the Task Manager on a windows system. The reason I ask, is that after I restart the PXI system and without using the program of project, I can't connect to my test program running on the system in real time. I don't know if the software is running on the system in real time, is it established that the network interface which it was assumed, etc. to determine why I can not connect with him. Any help on various methods to determine if the software actually runs would be useful.

    Thanks for any help you can give.

    Bill

    Finally found the problem.

    It would seem that, at least in the 2 controllers shipped we have there, controllers have a flag in the BIOS that allows you to disable the file to begin execution on the system in real time. Once I put the flag on the 'NO', everything works. The flag is named:

    'Disable the boot VI' tab 'LabVIEW RT"in the BIOS.

    It is a good option if the boot VI is damaged or was not debugged prior to deployment.

  • Why is-Web application server on a target at a distance in real time is not start?

    Hi, I need help urgent please

    I was wondering why the Web application server on a target at a distance in real time is not start?

    The target is 9014 real-time and its connected to a local network abroad, I have a public IP address port forwarded to the local IP address of the device (Network Address Translation) with all open TCP/UDP ports. I can log on remotely over the internet using the public IP address to the device configuration page and change many settings. Whenever I have activate the Server Web applications and made port 8080, worth defaults to 0 after the reboot of the target.

    The admin login I use has all permissions to control the unit.

    For this reason, I have a problem, deploy web services remotely through the project after building it as it happens with the following error.

    "Web Services deployment failed. You must start the application Web server OR before you deploy a web service.

     

    I have attached a few screenshots

     

    Thanks for the help

    I had someone to plug his laptop to the same network as the cRIO, logmein used to connect remotely to the laptop, I had to download labview and the software needed for the cRIO in the computer, and then with the help of MAX, I reinstalled the software on the cRIO. The port of the web server application 8080 is now activated and I was able to deploy services web ok.

    I wonder why I can't use MAX distance to reinstall the software on the cRIO.

    The cRIO is installed on a private overseas network (192.x.x.x), then I have a public internet IP address (67.x.x.x) mapped to the private IP address of the cRIO (Network Address Translation). I can connect to the cRIO config page using the address 67.x.x.x, but not via MAX

    If I find target real tiem using the Ip address of 67.x.x.x, sometimes with the private static IP (192.x.x.x) located on the cRIO but it shows disconnected status

    I wonder if someone has an idea how to go about using MAX to reach the target in real time on the internet

    Thank you

  • Debugging of Modbus slave on tatger in real time

    Hello!

    I have problems when you debug an application that contains a slave modbus on a real-time target.

    The connection is lost when I run the program.

    Change the port from 502 (default value) to other values seems to solve the problem.

    LabVIEW uses the same port to connect to the target RT?

    THA same problem notified here, but I received no response:

    http://forums.NI.com/T5/LabVIEW/NI-Modbus-TCP-slave-on-LabVIEW-RT/m-p/1565842#M575497

    Kind regards

    Marco

    p.s., We use the libray modbus labview (http://zone.ni.com/devzone/cda/epd/p/id/4756)

    Hi Marco,.

    as far as I know the port 502 is used only by the Modbus Slave Servers (Ethernet) i/o to connect with e/s Modbus master servers so you should not see any conflict using this port.

    (no other LabVIEW service is using this port).

    You can check if you have deployed Modbus Slave (Ethernet) i/o duplicate servers. Modbus Slave (Ethernet) i/o duplicate servers cause errors when these I/O servers listen on port 502.

    Hope this helps

    Clara

  • Can I download a background on the system in real time and run it?

    Hi, I would like to take advantage of some tools in the system in real time.

    I thought that I could download it by file transfer,

    and then did something like this in the system in real time.

    Probably it is not...

    However, there is other ways to achieve my thought in the system in real time?

    Do you mean the exe was built for windows, so that it is not allowed to run in time real system?

    Fix.

    I have to communicate between CompactRIO and servers through an ethernet cable...

    so... you write a program runs on the cRIO and bring it to your servers over TCP.

  • using NI USB 9201 with LabVIEW Real-time

    Hello

    I try to use a USB of NI 9201 on a remote real-time target. Here's what I did: 1) tricked out of a desktop PC to serve as target RT using the instructions provided on the Web site of NOR. He now starts in an RTOS with LabView RTOS 9.0. (2) I communicated successfully with the help of a host computer that has a windows with LabView 2009 BONE and I installed the software from the computer remote RT target host using ethernet. However, my problem is when I plug NI 9201 USB on the target RT that I do not see the material listed on the devices tab in MAX and interfaces on remote systems. I tried to get the manuals for the HW 9201, but it seems not much explained here, or maybe I'm looking in the wrong places. Any help is greatly appreciated.

    PS: I am attaching 2 JPEGs for additional explanations (tab network settings and the settings of the system).

    Thanks in advance,

    Benoit.

    AVS,

    9201 USB is not supported on RTPCs please visit this link. Currently no usb-DAQ devices do not support an environment CRPC. Only the PCI DAQ devices are supported.

    http://zone.NI.com/DevZone/CDA/tut/p/ID/6913

  • Structure of the timed real-time event loop does not work

    I'm a new user for LabVIEW. And I've encountered a problem that frastre really me! Hope someone can help out me. Thanks in advance!

    I just want to use the structure of the event under timed loop, which is important in my extrmely design.

    However, this works very well in my computer (without connecting to the FPGA).

    Once I connect it to the FPGA, then I can still run but there is no response!

    My file is attached. Please someone help me!

    Looking forward to your answers!

    The FPGA runs headless. Structures of the event won't work. What you need to do is to have an application on your host computer when the user presses a button, changes a value, etc.. This event should send a message via TCP/IP for code that runs in real-time environment. Then the real time environment should attribute to the desired value a control on the FPGA.

    As a general rule, programming real-time with FPGA has several layers.

    (1) host-> handles interactions with the user code and communicates the code in real-time via TCP, UDP, etc.. Displays the user sent by RT controller data.

    (2) code in real-time-> tracks headlessly. Manages host code messages, processes the data of FPGA, communicates with FPGA much as the host code communicates with the code in real-time

    (3) FPGA-> no acquistion and passes through PEP in the RT

    The first thing you need to do is to understand the architecture and how all these pieces of the puzzle work together before you throw things down on a diagram.

Maybe you are looking for