Server of LabVIEW

Hello.

I have a project to use LabVIEW as a server to do many tasks. What I want is:

LabView receive data remotely from the internet on an ECG.

LabView is also running a MatLab/Octave script to the data analysis.

These data will be available, remote (internet) access.

This site must be a username/password to base name.

In this site, you can view all the data of each patient ECG and also to make a complete analysis of all patients (a basic statistically analysis on all the date).

I know it's a complex task, but I just want to know what I need to study and see the for. Is it possible to do just in LabView or I need another software? What I should watch more, what do you recommend?

I don't know if it will help you understand what I want, but I've done a quick summary to painting. Thank you!

Yes it is possible and it is involved. I think about 3 of my men to do the way I envision.

Start by brealing are you request down into its various parts and serach LV help files for the examples that correspond to these parts.

You would be well served using NI LV courses through and including connectivity and architectures.

You should asl olearn on databases and use of LV

Ben

Tags: NI Software

Similar Questions

  • CSV file - server and Labview

    Hello

    I save my data from a Vision image analysis results to a CSV file. Works great! Now, I want to read the CSV file automatically by a server application. I need some tips or tricks to avoid access by the server or labview violations if the two programs want to read / write to the file at the same time.

    What I want to do:

    The server application read the output file every 30 seconds:

    Read the data and delete thereafter - so no duplicate data should return.

    LabVIEW writes the data to the file:

    If the file does not exist: (deleted) create a new

    If the file is in use: try it next time again (to lose one or two sets of data is not important)

    I want to use the function "write to the spreadsheet", but maybe someone can give me a tip on how to use this or that to do a better job!

    Best regards

    Paul

    Hi Paul,.

    couldn't you just try it (see attachment):

    5 error the file is already open.

    Is this OK for you?

    Best regards

    Christoph

  • Python client for the received string of the server TCP Labview unflatten

    How do decode you, unzip a string flattened in Python which was sent by a LabVIEW TCP server?

    I want to Exchange data via loopback. That's why I take a sine wave and flatten it to string and sent on the network through ServerSine.vi. So I have to decode the incoming data in a way that I have good numerical values as when I draw in LabVIEW. I did so far in python_client.py, but the values are wrong.

    Does anyone know how to decode this correctly?


  • TCPiP betwenn QT-Server und Labview-Client communication

    Hello all,.

    IAM new in network programming with LabVIEW.

    I have a problem of communication of data via the TCP/IP protocol. I created a simple Client.vi that connect to the QT C++ server. If the connection is established, Client.vi sent a simple string "Hello" to Qt-server.

    the problem is: Qt-Server receives an empty string with size 0!

    Client.VI

    QT-Server

    QT-feature receive data :

    Help, please

    Of a possible problem you have, is that you look for a size of qint16. I'm not familiar with QT or used in the syntax of C++, but the duration of LabVIEW is an int32 and so 4 bytes. LabVIEW Typecast also creates big endian data stream, which means that the length of the string will be-> LSB MSB ordered, do the first 3 bytes in the flow of a 0 byte, causing your routine determine that there are 0 bytes to read.

    You have read 4 bytes for the length parameter, change the byte order for your local boutien, more likely to have to share the big endian to little endian number and think of it as the number of bytes to read for the string.

  • Is it possible to apply a compression as gzip with the web server of labview?

    I am currently implementing a web page will be provided by the NOR sbRIO 9636.  I was able to get the html, css and js served very well.  I'm curious to know if there is a way to implement gzip compression to help with page load times?

    OK, a few points:

    1. I heard that he discussed that you can theoretically install a Web server on the Linux based cRIO. But there's a great big disadvantage: I've never done or spoken to someone who did it I don't know how it actually works.
    2. Given the cheap price of the hardware of today a safer alternative would be to include a separate computer, whose only function is to host the web interface. There are many small computers that would be ideal for this application - which many were initially designed for use in home theater applications.

    The point of my post was that there are some limitations in the LV Web server you have to find your way around.

    Mike...

  • Missing link in the file write Key.vi LabView after switching LV development system server to RTE

    Hello

    TS4.2 LV8.6.1

    I have a strange behavior of TS. All of the code works well under the development system. But when I pass the server of LabView runtime LabVIEW development system then, during the call one of my screws (action step calling the LV adapter), I have the window 'vi search' open looking for the Key.vi to write (one of the interns LV VI). Finally, is the write file Key.vi and TS is happy, however, I don't want it to happen on the production floor.

    Is this a bug or I have some sort of option or something?

    Why this does not happen under the development environment? What is the mechanism?

    K.

    (1) more complex nodes in LabVIEW are stored in vi.lib.  This is not uncommon.  Are not only very basic items (add, subtract, table functions, etc...).  They are usually yellow and you can not open them.

    (2) they need to go somewhere, and vi.lib is the standard location for all built-in screws

    (3) instr.lib is very similar to vi.lib, just a different location.  LabVIEW stores a relative path for the screws here called in.  This path does not exist with the runtime, although TestStand will add it in the search directories if you installed LabVIEW Development.

    (4) if it is possible to use LabVIEW to do this, there are more ways to get into trouble, because doing it this way would never update your sequence or find problems that would be specific to TestStand.  Is there a reason why you don't want to use the TestStand deployment utility?  Behind the scenes, TestStand calls in the same frame as LabVIEW for the deployment, but do it with more knowledge that LabVIEW alone would have.  This can be done, but there are more considerations, and you can meet potential problems.  Unless you have a good reason for this, it is generally not advisable.

    I recommend reading the chapter on deployment in the handbook here (Chapter 14):

    http://www.NI.com/PDF/manuals/373435d.PDF

  • TCP - LabVIEW (Client) to Arduino (server)

    Hello LabVIEW community.  I had considered this ad in the Arduino community, but I thought that LabVIEW community most likely to know the answer.  Sure... copy paste really not difficult.  in any case...
    I am wanting to create a VI that will allow me to stream my Arduino via the network.  My thoughts: the Arduino have be a TCP server and LabVIEW client.  I've got code Server Arduino.  I advanced and tried to use the Client of TCP data (and other examples of LabVIEW TCP) in an attempt to connect to the Arduino just to prove that he was capable b4 moving this project.  No luck.  IP is correct as well as the port.  So I'm clearly something wrong.  Questions: Is it possible?  Is there a better (or just another in general) to do exactly what I want to do?  Are there examples out there (I looked vigorously) who could help me get started in the way of debugging?  Why the sky is blue?  Any help would be greatly appreciated.

    I guess it comes from (and this is my limited knowledge of networking and TCP) is that you don't broadcast data from the Arduino.  You basically take momentary shots.  So I have also attached my TCP on the Arduino code.  Note: The TCP code must be independent from the rest of your code.  As you can see, it's an If statement.  Available in the code samples use a while.  I have put code in place to just ping 10ms for the data.  You will need to make some changes, I'm sure.  I cut a lot of my code out of it because it doesn't make any sense.  But this should really help.

    PS: I had to put the code in a .txt file, because this forum knows what a .ino is.

  • Web of LabVIEW Server ActiveX controls

    I'm developing an application that needs to display the video in its interface.  I use the Windows Media Player for this ActiveX control.

    This works correctly when the application is run since in LabVIEW - I can tell the command to open a file, and he plays with happiness.

    However, my application must run from a web page.  I use the built-in web server of LabVIEW.  Problem is, while any other control/indicator works fine, the Media Player control.  It appears, but it neither charges nor plays the files when they are requested.

    What this kind of abuse in ActiveX-ActiveX simply not taken in charge, or I do something wrong?  Is there another way to view media (JPEG and MPEG), or another way to manage the VI of a web page, which could work around the problem?

    LabVIEW 8.2, Win XP SP2, WMP 10.

    Thank you

    To answer your questions:

    (1) hosting an ActiveX control in a façade that is displayed as a remote façade is not supported.

    (2) there is no other mechanism to control a VI from in a web page working around this problem and display.

    What you're trying to do is by nature very complicated. You can approach the problem is to embed the video in the web page separated from the face before of the VI. This would make it difficult to have control of VI the video but it would make it possible to display the video on the page. The video could be simply uploaded to the web server of the 8.2 or the 8.6 it can be released from a web service VI.

    Another alternative is to use the IMAQ vision control. This works well on distance signs and there are screws to read the data of image files avi. With a good card WLAN, this control can be a framerate of 10-15 fps. It will help with audio if this is a requirement.

    Sorry I don't have a quick fix for you. Let me know what you decide to do - it is an interesting problem.

    Nathan

  • Dashboard of the LabVIEW data recover indicators of the poll

    Hello

    I have attached my entire project, including the error messages that I receive. I have my labview VI to put in place to have 3 different screws. My entries, my global entries and my "side". I created my web server and all the controls and indicators that I linked. However, when I try and run the dashboard of data project, all my indicators have error signals indicating that he "could not connect to the server. I have no idea what I'm doing wrong. Any ideas?

    The reason why this does not work, it's that your web service code is not quite structured reason. When you call a web method in LabVIEW it does is run the VI related to this method. In your case you have mapped to the URL http://host:8080/FINALCOAST/COAST.vi SIDE, and then you have a poller to web service linked to this URL. When you run your dashboard the poller accesses this URL, which causes the web server of LabVIEW run COAST.vi. If you look at COAST.vi, however, you will notice that what he does is run a loop that runs until the stop button is pressed. Is not supposed for a web method. He has no one to press the stop button. In fact, there is no user interface for anyone to interact with at all. This means that COAST.vi will work forever. Finally, data dashboard gave up and closes the connection because it should not take long for the web server that responds.

    So what is the correct way? It depends on what you're trying to do. In your case, it seems that you take just a bunch of inputs, do some calculcations and producing a bunch of outputs. You could do that in a VI with the method of a web that has just a bunch a bunch of outputs and inputs. In this case, you use just a web service calling (button) connected to one of the methods. Because this method has two inputs and outputs, you will get two entry and exit of Terminal ornaments around the button that you can use to connect to your commands (entered) and indicators (outputs). When you press the button it brings together the current values of the controls and those on the server to use as inputs to call your VI sends, and then he retrieves the results from the server and puts them in your indicators. In my example attached (see the file updated the dashboard) I show you how to do this. Note that I also modified the code of VI to create a Subvi for calculation of Basic code, and it is this VI which is used for the web service. This VI has no loop in him, so he just runs once with data values and returns the results.

    If you want to rather than having a continuous process that is continually measures your system in real time you need another way to access this data from a web service. It seems that that's what you were trying to do here, even if you use data in real time. Suppose that you were, however. In this case, you were a little close, but we need to make some changes. First of all, the running process doesn't have to be part of your web service. It may be, but it's a little more complicated. Instead of this, your process running (COAST.vi) can be just a regular VI running in LabVIEW. You just open and press run as usual. However, you want to only change VI to share its data with other processes. You have tried to do by using globals. Globals allow you to share data between the screws running in the same process, but web services actually run in a process completely separate (in the web server), so you'll need something else. A drop-in substitute would be shared network Variables. You'll see that in annex changed code I replaced your globals with shared variables. Then in your web service if you just use the same shared variables. Network shared Variables allow you to share data between processes (even on machines on the network) so that you can easily access the same data to both your VI running and your web service screw I modified your COAST.vi for this (and he calls the same Subvi from the calculation of the kernel).

    In this case, you could do just a single method "inputs" and only one "exits" method, but it might be better to break up to the less distinct modes which include the strongly bound values just to make things a little neater. It can be tedious to deal with a large number of terminals.

    Alternatively, once you use shared variables you has actually connect your controls and indicators on the dashboard of data directly to these shared variables. This has the disadvantage of requiring more ports to be open through your firewall (and you can not use security as you can do with web services), but for the use of internal network, it is easier to implement. To do this, just run your VI as before, and then as soon as it runs you can select each control or indicator in the dashboard of data, press the small button below, choose 'Shared Variables' and look for your variables on your machine. In this case, each control is directly bound to the variable, and so there is no need of a button. Changes that you make in the dashboard data are immediately placed on the server through the variable sared, and your VI (which is still running until you press stop) will see the new value, update the outputs and then repel these new values to the dashboard of data via other shared variables.

    I did not create a dashboard for the last two approaches, but if you may not know what I'm talking about, then I can create examples for those as well. The screw and the project must be configured to work in any case, if the only difference is in the configuration of the dashboard.

  • How to connect Labview to PLC Modicon Quantum (140 CPU 311 10) with Modbus

    I was wondering if someone could give some tips on how to connect Labview to Modicon Quantum plc (the card is 140 CPU 10 311).  I am eager to serve a Labview HMI to control the controller that is used to implement the control PID with a VFD.  Currently I can communicate via Modbus to the API for programming using UnityPro XL, but I have no idea how to connect Labview.  I read the article on place OR "connect Labview to any PLC via Modbus", but I don't know yet.  Any help will be greatly appreciated.

    Hey Greener.

    Communicate with the PLC via Modbus usually requires the Datalogging and Supervisory Control (DSC) Module to have this feature available in LabVIEW. The white paper which indicated you using this module, which may explain why you can't get the communication at work. If this is something you don't have, and purchasing a license is not an option, then you might be able to use Modbus unofficial libraries to get the functionality you need. I have included a link below to a Modbus for LabVIEW library that you can try.

    DSC module:

    http://sine.NI.com/NIPs/CDs/view/p/lang/en/NID/209851

    Modbus Library:

    http://www.NI.com/example/29756/en/

    Kind regards

    Ryan

  • LabVIEW - Arduino TCP/IP, connecting multiple Clients

    Hello

    I'm working on a connection TCP/IP between an Arduino shield WIFI control with several sensors and a LabVIEW program. You use a router, I set up a wireless network without internet that allows me to transmit the readings from the sensor of the MCU and send commands to control LabVIEW program. Currently, the Arduino is the server with the program LabVIEW connects to it as a customer and I would like the opportunity to add other clients such as a smartphone application at the same time. I am not able to connect several clients for my server Arduino based and wonder if and how this would be possible if the server was created on my computer using LabVIEW instead.

    I searched for help on the Arduino forums (http://forum.arduino.cc/index.php?topic=268578) and comments ranged from "Arduino can support multiple clients" to "Arduino can support multiple clients but it is full of errors. While it would be easier to achieve my goals by having the server on the MCU, as much data would be sent directly to each poll, the client I plan to switch to a server on computer using LabVIEW. My question is whether it would be possible to have multiple clients access to my new server, and if so, how it would be difficult to relay data from the sensor? The old plant requires the same data string for each client connected to my server. The new configuration appears as it would take the server to treat customers differently; Send commands to the MCU customer and data of the sensor of the MCU customer to everyone. Another layer of complexity is that I would need to relay controls of other clients in the same way, as the phone app smart sends a stop test command, to the Arduino via the LabVIEW program.

    Would be very grateful of entry to the community.

    Best,

    Yusif Nurizade

    You can create a server in LabVIEW that accepts connections from several clients. There are examples of different approaches to this in examples of shipment of LabVIEW and on this forum. As for the challenge of sorting where to send the data and how to transmit orders, it is-there is nothing that would make whether easier or harder in LabVIEW that in any other environment.

  • What is the best method to implement the communication client-server TCP/IP of multiples?

    I want to make a customer network and multiple server using the TCP/IP protocol.

    I have 30 remote wireless sensors to send data to a server with LabView.  This problem is corrected.

    The server has a router that communicates with the sensors and is connected to the PC via cable net.

    I want to find the way the most effective communication from the point of view of resources and, above all, the response speed of the system, because I want to update the screen as quickly as possible, to send more data per second of the sensors.

    I think I have (only?) two options:

    (* 1) open 30 simultaneous ports and process them in parallel to decode and display the data from each sensor.
    (* 2) using two loops: one to listen to new connections and the other to take the floor, placing them in the 'tail' and decoding and then each of them separately in order to display the data from each sensor. See http://www.ni.com/white-paper/3982/en/

    NOTE: at the moment I have only 4 sensors tested with method 1: it takes about 3 minutes to establish communication (why?), and then it works properly.

    What method would you recommend? Why?

    Thank you all in advance!

    I assume you mean to "Start Asynchronous Call. Which has been added to LV2011. If you are using an older version the method I posted above works fine. In fact, we always use this VI (Manager Spawn of connection, which is the one we wrote) in LV 2011 and 2012 LV.

    In fact I posted this library recently. You can find the code here. That the code implements a queue-based network. You can watch as an example of a server that generates handlers for each client that connects.

  • connection client bluetooth (Android phone) to the server of VI

    Hello, I try to find a solution to be able to retrieve data from my LabView (laptop) on my Android device. (Win7 x 64, LV2014 pro, Motorola MotoX Android 4.4.4)

    I found the tutorial with source AppInventor2 example:

    http://puravidaapps.com/btchat.php

    It is a cat of BT base between two Android devices. The code seems pretty simple, but I'm not 100%... In any case, I've compiled an apk from this source and I tested it and it works between two android devices (Nexus7 tablet) and Motorola MotoX, all two a 4.4.4 Android.

    OK, very nice, so now that I'm trying to "mimic" the behavior of the server Android, use LabView BT server, I have attached my test VI.

    My Android phone is BT customer, I need to connect to the LV server with it.

    So I start the server BT LabView VI to run it, and I have 10 seconds timeout, during this time I click "connect" on my Android app and select the address of my laptop BT (the laptop computer and the Android device have been previously matched, and the connection has been successfully tested with file transfer). However, the connection is not established, I get the error timeout 56 of the VI listener code (LabVIEW: the functioning of the network exceeded the time limit specified by the user or system.)

    Maybe there is someone with more experience with BT / AppInventor and could help me how to connect and send strings to my Android phone?

    Thank you

    Best regards

    new info:

    I installed a terminal program series for my laptop Win7 and I put a serial port entering for my BT (COM 13) adapter.

    I have also reinstalled the driver BT on my laptop. "Now I can finally connect my Android phone to the laptop and I see the message"User_xxxx"is connected" in the window of the terminal of the laptop. Also, I can send strings to the laptop of the android...

    However, I am still not able to send strings from LabView...

    Maybe I should try VI series? But I could only assign a serial port entering the laptop for BT, outgoing series is not possible...

    EDIT:

    I'm really a noob here, but I managed to make it work

    I connect via BT, the laptop and the phone, and I connect to the laptop with the Android app that precedes.

    I used the example LabView "continuous series write and Read.VI", and I am able to send and receive channels via a serial port COM13

  • The interface of LabVIEW and matlab

    Hello, I want to interface LabVIEW with MATLAB using the TCP/IP protocol for data transfer. Can anyone, please give me an instruction step by step how to do this? If not, can point out you where I can get them? Thank you.

    Hi Gilles,.

    TCP/IP is a generic protocol then you should easily be able to build enough interfaces TCP/IP for your LabVIEW and Matlab code and data transfer on ASCII or variants, etc., depending on what kind of data you are trying to transfer. I'm not too familiar with Matlab, but on the end of LabVIEW, there are a few examples of server and client very good TCP/IP provided with LabVIEW.

    Another option you may want to, and the reason why I answer it is that I did recently a project through which we took some legacy code MATLAB which we wanted to transpose into LabVIEW, so that we can automate then completely a test system that we use TestStand. A big part of it, we have been able to derive equivalent LabVIEW, but some functions where LabVIEW does not have an equivalent appropriate, or where it was simply more effective, simply copy us and paste Matlab code in any event in the first instance MathScript nodes (not dependant on Matlab) or Matlab script nodes (which will return if all goes well at a later date to transpose in full) LabVIEW for that is no longer dependent on a Matlab license).

    In both cases, the facility to do this was very impressive, and we were able to wrap huge amounts of code Matlab LabVIEW with very few problems. As an idea, have you considered your functionality of Matlab of packaging in this way and keeping all the customer TCP/IP and comms server in LabVIEW?

    Note: If you have not found it pick up the palette "Matlab Script.

    Good luck

    David

  • Conversion/appeal of an application created with CVI in Labview

    Hello

    I have a third-party application code created with labwindows CVI (attachment: scissor lift CVI code.rar) which is used for our control of movement of CT scans. I want to serve the Labview 8.6 my main software for data acquisition and software interface for my development. My idea is to create a dll from this CVI code and called the dll with Labview library import function is shared.

    My problem is that I am no expert in CVI programming if anyone can help me how to create a dll from this code? or any other suggestions to implement this conversion?

    Code CVI attached for reference.

    Thank you

    Lojius

    A starting point can be found here

Maybe you are looking for