Search the Community
Showing results for tags 'tcp'.
-
Hello everyone, I have a development PC with labview community edition installed. On that PC an arduino uno is plugged with some sensors. I'm trying to get some data from a sensor attached to a raspberry pi. I saw a guy on the web that connected the pi to the PC using mobile hotspot on windows and loading the makerhub firmware and getting the IP that way. I managed to connect the pi to labVIEW and get it deploy any VI or control the GPIOs (i.e Untitled 2.vi). The thing is that I need to run a more broad VI from my main development PC (let's say Untitled 4.vi). Now I want not only to initialize a connection to the arduino uno, but also to the pi remotely. I've been trying to initialize the pi with the LINX (makerhub) open module and from the drop down menu choosing the remote I/O-TCP, but coudn't get it to work. Do I need to make any configuration to the raspberry pi from the properties meny on the Web-Server or the VI-Server tab? Or run a server from the raspberry itself? Which port to enter? I dont even know if what I'm trying to achieve is possible, can anyone help me out? Thank you.
- 1 reply
-
- linx
- raspberrypi
-
(and 2 more)
Tagged with:
-
Hi, I have written two programs client and server. The general idea is to make it a simple communicator on a local network to send three types of data string, 2 dimensional matrix and image + null message. For now the server sends data and the client receives. Ideally the two programs should be able to both receive and send data. However, I am most concerned about error 91 (Error 91 occurred at Variant To Data in CLIENT.vi). This may be related to the fact that when a timeout occurs, data is sent that the client does not know how to handle. How to maintain communication between the two applications? Probably this is something trivial that I can't see. I would appreciate your help. Programs are in this zip file. tcp_communicator.zip
-
I am implementing a TCP connection between MyRio(client) and Python(server). The goal is to send data from the server to the client, perform some calculations, and send the result to the server. I need to keep changing the data being sent to the client. I noticed the first data works fine and the result returned to the server, but the client could not read subsequent data. I debugged and was able to detect that the error is coming from the first read function is the "Reading values subvi" but I don't know how to correct it. How do I go about it? I have attached the files below. Reading Unknown Bytes from TCP.vi Second_client.vi SimpleServer.py
-
Hello all, I am currently trying to create an HTTPS server with LabVIEW. I have been using the built in TCP VI's for communication with the server and client, however I would like to use SSL or TLS in order to encrypt the data that is being sent across the connection. I know that I can point to either the self-signed cert that comes packaged with LabVIEW, or the certificate that we have for our server on-site. I'm fairly certain that I can achieve this by building an assembly in .NET, and then using it in LabVIEW. I have looked around for TCP with TLS libraries for LabVIEW but could only found some out-of-date ones that didn't work with the newest version of LabVIEW. Do these libraries exist somewhere? And if not, is the .NET approach a solid idea? Thanks, Brandon Jones
-
Hello, I'm trying to send data from my RPI b+ to labview and store the information in a spreadsheet, right now the data I'm using is just a sawtooth generated in the python code but eventually it will be sensor data adquired via spi, the data comes at =~ 6-7khz but the time it takes to send the data to labview is much greater, I fear the circular buffer I intended to use to store the data before sending it via tcp will get filled pretty fast. I'm not very experienced in either python nor Labview, I was wondering if i could get some advice in the optimization of the code. I attached the VI of the client and a VI that graphs the data on the spreadsheet, also the python code. Thanks in advance, sorry for the mess. Waveform Grapher.vi Client.vi serverSerial.py
-
I am working with a Universal Robot arm. I believe it is a UR-5. I was under the assumption that it could be controlled via Modbus, but I found that was incorrect. I need to use URScript commands. I am having a hard time getting started with this. I was wondering if anyone has written a VI that would control the movement of one of these robot arms. Thanks.
-
- tcp
- script commands
-
(and 3 more)
Tagged with:
-
Hi everybody, I'm actually running on a problem with a TCP connection between 2 cRIOS. One cRIO is a server which writes 76 bytes long messages every 10ms (today, but can be anything between 1ms and 1s) using STM Write VI (so at the end it pushes 82 bytes long message in the TCP write function). I want that message to be sent only if the client as time to read it, so I set the timeout to 0. The other cRIO is a the client with tries to read on the TCP link at a speed of 1000Hz (1ms, Wait next Multiple used to ensure that the loop is not running faster). I use the STM Read VI to get the data sent from the other cRIO. The read function has a timeout of 100ms. What I was expected is that the client loop would actually runs at 10ms rate (server writing rate) due to the 100ms timeout. And if the server writes faster, it would follow the server rate. If the server rate is greater that 100ms, error 56 would be fired, and I would handle it. What happens is that the server writes the 82 bytes every 10ms. But the client loop is always getting data and runs at 1ms ; which means that the timeout is not respected ! I disabled Nagel algorithm on the server side to be sure that the message is sent when requested, but it didn't help. The client acts like there is always data in the read buffer. Even if it can be right for the first iterations, I would expect that running at 1ms rate, the client would empty the buffer rapidly, but it seems that it never ends... Moreover, the longer the server writes, the longer it takes for the client to see empty buffer (timeout reached again and error 56) when the server is stopped (but connection not closed). Does somebody already ran into this issue ? Any idea on how I can solve this ? Server code is attached to the post. 2 TCP connections are established between the server and client (so same IP address, but different ports), but only one is used (upper loop). The other opens and close immediately because EnableStream boolean is always false.
-
Hi. Im working on this prosjekt where I have a TCP communication between two computers (Server & Klient). I have managed to get communication between those two. (Sending and reciving one cluster.) But I want to send and recive more than one. I looked at det Topic "Passing Cluster and Datatype Through TCP" on how to use the OpenG, but I have a problem with "the Variant to Data". What am I doing wrong? Or is there another way to send more data? The Klient side: The Server side:
-
How do you decode, unpack a flattened string in python which was sent by a LabVIEW TCP server? I want to exchange data via loopback. Therefore I take a sine wave and flatten it to string and sent over the network Simple TCP - ServerSINE.viSimple TCP - ServerSINE.vi. Then I have to decode the incoming data in a way that I have the correct numerical values like when I plot them in LabVIEW. I did this so far in python_client.py but the values are wrong. Does anyone know how to work with the transferred Data in python?
-
I have a small LV code library that wraps the STM and VISA/TCP APIs to make a "network actor". My library dynamically launches a reentrant VI using the ACBR node that establishes a TCP connection as client or server, then uses the connection to poll for inbound messages and send outbound ones. When I try to establish a connection using my Windows 7 PC as the client and my sbRIO (VxWorks) as the server, it connects and pushes 100 messages from the client if the server was listening first. If the client spins up first, sometimes it works and sometimes I get error 56 from the "TCP Open Connection" primitive repeatedly. Other times I've seen error 66. When I try to make Windows act as the server, the sbRIO client connects without error, but it returns error 56 from "TCP Read" on the first call thereafter (inside "STM.lvlib:Read Meta Data (TCP Clst).vi"). This happens in whichever order I run them. This test, and all others I've written for the API, works just fine when both client and server are on the local machine. ------------------------------- I'm tearing my hair out trying to get a reliable connection-establishment routine going. What don't I know? What am I missing? Is there a "standard" way to code the server and client so they'll establish a connection reliably between an RT and a non-RT peer?
-
I am using Labview 8.0, trying to makie a client that constantly reads in string data from a linux-pc that ends with Line Feed Characters. Also I need to be able to send command strings to linux-pc at any given time, keeping the connection active until I want to close it. The Linux-server will respond "OK" if the command is valid, and "ERROR" if it is not. The messages are variable length and not fixed length. My vi sends the command to the server when I first run the VI, but if I try to send another command, it doesn't send, nor does it receive any new data from the server. Any help is appreciated! TCP_TESTER.vi
-
tcp Sending Labview data via TCP
Skeggy88 posted a topic in Remote Control, Monitoring and the Internet
Hi, I'm building an application that allow to control a DAQ. This DAQ acquires data and turn on and off a light. Labview and Java communicates, but I read wrong data. The DAQ acquires double samples that are converted in String format and sent via tcp. Numbers are like 0,00006 ; 1, 50000043 etc... In Java i receive data like 54; 42 etc... What's wrong? I also tried the big-endian/little-endian conversione without results. Can someone help me? In labview I can write only Strings, but if I try to use a buffered reader with the instrucion br.readLine() the program doesn't work. Thanks and sorry for my english, Veronica -
I've been scratching my head with this one and am hoping someone has dealt with it before. My physical setup is a PC, CAT5 cables, a couple of switches, an Eaton HMI, and an Eaton PLC. I'm talking Modbus TCP to the PLC using the library on NI's website. I'm using Wireshark to troubleshoot other problems and found the PLC retransmitting the response to the PC very frequently (not every time). The PC is reads and writes 32 words to the PLC every 100 msec, but only performs a write when the data changes. The PLC transmits a response within 6 msec of a read message (function 3 in Modbus). The PC never responds with an acknowledgement of the message from the PLC. The PLC retransmits 50 msec later and the PC acknowledges that message. The write messages occur about every 1 second (my heartbeat to the PLC). I've tried switching to the second port on the PC, which goes to a second card in the PLC. That network has four drives, two air manifolds, a remote I/O block and an RFID system on it that are all talking to the PLC. The PLC sequences through all the remote devices, including the PC, so the response to the PC can take 75 - 150+ msec. The PC always acknowledges the first message with that network. Anyone have some thoughts as to what's going on? Tim Forgot to mention that I'm using LabVIEW 8.6.1 and have swapped all of the network components.
- 13 replies