Proper functioing of Data Sockets

Hello,
I'm using Data Sockets to transfer waveform data from one computer to another
over a network. This is a test for a future application where the data
acquisition computer well be inaccessible. The basics of the program are that
the acquisition computer well do all the acquisition and then pipe the data to
the other computer which well use some ppl and some other math on it to extract
a signal. They are both running the same program. I have built in a single
switch which allows the user to designate which computer is sending and which
is receiving. And it all works fine. Accept for one thing. It only works when I
run the Data Socket server on one of the computers. I've tried testing it with
the DS reader/Writer programs in the example code and have found it works the
same. Regardless of which computer I setup to send the data, the server must be
running on one of the computers. If it runs on the other one, I get a network
error. To me, this seams wrong. I would have thought that the sending computer
would have to run the server. Can someone please help me understand data
sockets better?
Regards,
Blair

Consider: A class, EventClass, that holds the unique key String plus an ArrayList<String> to hold the other Strings. Store objects of this class in another ArrayList<EventClass>.

Similar Messages

  • What is the purpose of open/close connection data socket?

    Hello everyone,
    I am writing and reading values in OPC Server through data socket. What is the purpose of open/close connection data socket when writing /reading a value?  Without the open/close connection element, it still work correctly. I am writing values in the server thru event stucture.I do not need any buffered reading or writing. What will happen if I didnt not use the open/close connection? Maybe it may cause some problems in my program which i didnt realise? 
    And I have attached an example of my program. Thanks
    Yehchia
    Attachments:
    Test Event.vi ‏11 KB

    Hi YehChia,
    I was talking about something like that:
    1. Not good. since with every iteration the DS connection needs to be opened and closed.
    2. Good. Since you open the connection only once then do the reads and close it afterwords.
    Christian

  • Can I send data from a PC to another PC using Data Socket Servers?

    I need to send an array to a computer. Both computers use LabVIEW. The computer that writes the information also runs the Data Socket Server. What I want to do is read that array from another computer via internet. So the main issue is: Can I read from a Data Socket Server via internet?
    I'm writting the array using the dstp where I'm supposed to type the URL.

    Integrating the Internet into Your Measurement System – DataSocket™ Technical Overview
    Found using a simple search.

  • Data socket problems with LVRT 8.2

     I am in the process of migrating to LV 8.2 from LV7.1.1. My system has 18 RT targets which send data to a Host PC through data socket (DS). The Host PC runs LV on Windows XP Pro.  With LV7.1.1 on both host and RT targets DS works perfectly. The RT targets update the host every 500 ms.
    I've taken a three-step process in the migration. First tests were done with the host migrated to LV8.2 while keeping the RTs at LV7.1.1. Result: the system worked perfect. Then I changed one RT to 8.2 keeping the rest the rest at LV7.1.1. Result: DS timed out before all the data could be sent to Host. Finally, all RTs were migrated to LVRT 8.2. Result: Only about 5 out of the 18 RTs report to the Host before DS times out. However, if only one RT target is used, i.e., the other 17 RTs are diasbled, communication is very fast. Is there a special setting that I need to make? Btw, the roughly 5 RTs that report vary randomly from test to test, i.e., there is no bias towards any particular RTs.
    I am using the same source code developed under LV7.1.1, so the only changes made are the ones that take place when one opens LV7.1.1 code in LV8.2. Some VIs get converted in the process.
    Any ideas?
    Chatonda Mtika
    Algis Corp
    Vancouver, Canada

    Ben,
    I must say I am very surprised by Nadim's email. His point, which I must say I don't agree with, was made quite clear to me yesterday during a conference call between my team and the NI team comprising Chris, Nadim, and Avinash. So I don't know what purpose this morning's email is supposed to serve. Be that as it may, I think NI has gotten it wrong here. I do not think it should be one or the other. The discussion forum is a much wider forum comprised of people with varying experiences - not just NI employees. That is precisely why I posted my problem to the forum: to tap into the vast experiences of the discussants. But when I did not get any responses after I had posted answers to Nadim's questions, I decided to make a formal service request to NI, all perfectly legal. So I was really surprised when I was being blamed for tying up NI resources on one problem. I believe the resource allocation issue should be NI's to solve, not mine. I have no way of knowing that NI had formally assigned somebody to my problem. What if nobody from NI responds, am I allowed to make a service request to NI? My feeling is that NI's logic is flawed here, assuming Nadim's views are NI's views.
    Thanks,
    Chatonda Mtika
    Algis Corporation
    Vancouver, Canada

  • How can I read realtime data from a data socket using DIAdem

    I am currently routing data from an instrument using LabView 7.1 to a data socket. I was trying to figure out how to access that data in real time in DIAdem through the data socket. Another option would be to use the downloaded LabView/DIAdem VI package, but I haven't figured out how to get that to work either, despite the forums here. I would prefer to access it through the data socket, if possible, as the amount of information being transferred is negligable (a string and a double).
    Thank you,
    Sinan Sutcu

    You have to use one of the ScriptDAC blocks. In your case, as you would like to fetch data from a LabVIEW vi, choose the out of the driver input palette. Inside the configuration dialog you can generate a sample script, which is then copied to the windows clipboard. It contains a lot of function prototypes which will be automatically called later during the measurement.
    Basically, the init functions are called during the start of the measurement - here you should connect to the activeX server, the deinit functions are called when stopping the measurement - disconnect from the server here.
    Then there is the function SFD_Readchannel, which is called once for eych tact and each channel you configured. Here, you should exchange the data with your VI.
    I am attatching an example I wrote to control a LabVIEW vi (doing a counter output operation)- that is why the data exchange works the other way around, but I hope it explains the principle.
    Additionally I am adding documentation about the ScriptDAC driver interface.
    Regards
    Ingo Schumacher
    Systems Engineer Sound&VibrationNational Instruments Germany
    Attachments:
    MultiCounterOut.zip ‏995 KB
    Script DAC Driver.zip ‏734 KB

  • Create OPC I/O server and front panel data socket problem

    Hi all!
    I installed the NI OPC server. When I try to create a new server I/O in a LabVIEW project I don't see the "OPC client" possibility.
    Is something software missing? 
    Other question: I tryed to connect to OPC server using front panel data socket but my problem is same. When I click the numeric control and I go to the "data operation" menu there is no possibility to make data socket connection. 
    I don't know what is the problem.
    I attached two pictures about my problem. 
    Solved!
    Go to Solution.

    Dear vajasgeri1,
    do you have LabVIEW DSC module installed? Without it you will not have the OPC client funtionality.
    And to configure DataSocket binding you need to go to the Data Binding tab in the Properties of a control.
    BR,
    Mateusz Stokłosa
    Applications Engineer
    National Instruments

  • Data socket port

    I want to serve data sockets over the internet. I can get them to work over our local network (all the computers are 192.168.1.100, etc), but they're not working beyond our local network. Do I need to forward port requests on our router to enable this (we just have a simple DSL modem and a router)? In Labview, looked under Tools >> Options >> Vi Server Configuration and see Port 3363 listed. Is this the port that data sockets work on? If so, do I just need to configure the router to forward port 3363 requests to my computer that is running the data socket server?
    Alex

    Hi Alex,
    It sounds like you have the right idea. Datasocket uses port 3015, so you should be able to forward requests to this port to a certain local IP address. The links below might be of some help to you:
    Error 63 When Using DataSocket
    http://digital.ni.com/public.nsf/websearch/CE62D869535D602F86256D330060F5F1?OpenDocument
    What Ports Do I Need to Open on My Firewall for National Instruments Software Products?
    http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/fe6a63983ac8289e86256b22005a067a?OpenDocument
    Hope this helps,
    Travis H.
    LabVIEW R&D
    National Instruments

  • Data Socket related Crash

    Greetings,
    I have an LV 8.6 HMI that performs Data Socket reads
    from Network Shared Variables. I am finding that it works well until I
    try to shut down and close all the DS references. I can usually get
    away with this
    once, but if I try to restart the application I often
    will not be able to reopen the DS reference and it will always crash
    when I try to shutdown again. I have narrowed it down to just DS opens
    and closes
    and the problem persists. Attached is the error message
    that pops up when LV crashes, not much to go on but any ideas would be
    greatly appreciated.
    Attachments:
    DS Related Error.PNG ‏10 KB

    Hello,
    Which version of Windows are using? There are some cases in the past with NT that relate to this error because windows was updated. A Microsoft KB explains that here.
    This also may be an issue with the Shared Variable Engine having a conflict with the firewall or antivirus software. You may need to go through this document to configure your windows firewall if you already have not.
    National Instruments
    RIO Embedded Hardware PSE
    CompactRIO Developers Guide

  • Data Socket

    I am reposting this message and hope someone can help me....
    I have been using Data Socket to pass information from a control computer
    to two
    remote computers. At various times throughout the day the connections, between
    the control computer and the remote computers, are being dropped (the number
    of connections drops from 3 to 1). The remote computers still believe that
    they are connected to Data Socket, however they are no longer receiving updated
    data. Has anyone else experienced this? Does this seem like a "network
    traffic" issue?
    Any help is appreciated.
    Thanks,
    Ari

    I got this answer from another question posted on the NI website. I don't know if it will help but it seems like this may be the same problem.
    Jeff M. on 8/8/2001 answered:
    "There isn't a limit to the number of packets that the datasocket server can handle. What I surmise is happening (had this happen to me) is that the power savings features on your system are turning on (system goes to standby) and this basically disables the ability for the server to function and kills datasockets."

  • Data socket buffer overflow detection

    Hello,
    I plan to use data socket to access SharedVariables. I started with the example Buffering.vi from the Shared_Variable_Buffering.lvproj shipped with LabVIEW 2009 SP1 (DSC-Module).
    This example leads to a read buffer overflow caused by the high speed write loop and low speed read loops. The interesting part is, that reading the SharedVariable values using a SharedVariable-Node delivers a warning for that buffer overflow situation. But, the DataSocket-Read doesn't deliver any warning or error and I didn't find a way to detect the overflow. Does someone know how to get this done?
    Thanks for your help.
    Thomas

    Hello Maria,
    thank you for your reply.
    It took a while, but today I checked out the Variable Client - Server.lvproj example shipped with the newest LabVIEW. And I was surprised to find even another possibility to interact with Shared-Variables: the new VI's contained in the DataComunication/SharedVariables palette (used by the Variable Refnum API Client.vi in the example).
    And with the DSC-Module, another possibility is available: the also new VI's contained in the DSC Module/Tags palette (try the DSC Tag API.lvproj example, but don't forget to manually deploy the libs before starting the VI's).
    So, plenty of possibilities available. It will take some time to realize the advantages (or disadvantages) of each one, especially for the new VI's.
    Let's see what possibilities we gain with LabVIEW 2010...
    Regards,
    Thomas

  • Data Socket Connections Dropped

    I am using Data Socket to pass information from a control computer to two
    remote computers. At various times throughout the day the connections, between
    the control computer and the remote computers, are being dropped (the number
    of connections drops from 3 to 1). The remote computers still believe that
    they are connected to Data Socket, however they are no longer receiving updated
    data. Has anyone else experienced this? Does this seem like a "network
    traffic" issue?
    Any help is appreciated.
    Thanks,
    Ari

    Hey Rick, 
    This is a bit of a labor-intensive answer, but it will help you with any future DataSocket programming you want to do. Read through this DataSocket Tutorial to get started. You will probably also need some information on configuring a DataSocket server after you read through the tutorial. Hope this helps! 
    Cheers,
    kgarrett

  • Data socket communication protocol

    I am using the Data Socket protocol to communicate between two computers. And it works great. But the customer is asking for names and functions of the signals. I have looked at the NI website and I haven't found anything that explains what happens between the data sockets. I basically need to know what they are sending back and forth between each other. Can someone please help me with this?
    Regards

    Hi B@front,
    DataSockets use quite a few protocols behind the scenes.  Here is a link that talks about the protocols:
    http://zone.ni.com/devzone/cda/tut/p/id/3224
    When you say "names and functions of signals" is he asking for the protocols?
    Brian K.

  • Data Socket Documentation

    Could someone please help me find detail Data Socket documentation regarding allowed urls and Timouts..  For example what expressions are not allowed for making connections(.html)?  And what is the maximum Timeout (seems to be limited to ~20secs)?  -SS

    Unfortunately, there isn't a single source that I would call the "definitive" data connection resource for LC Designer. I would suggest using information from the following resources at your disposal:
    These forums. There are lots of examples here on data connections and some Adobe personnel along with many other very knowledgeable customers providing answers.
    The
    Working with Data Sources help topic in LC Designer Help.
    Data Connection samples found on the
    Adobe LiveCycle Designer Samples page.
    My personal favorite: Looking at the JavaScript code in the Initialize event of the Data List Box object found in the Library palette's Custom tab (drag one on to a form and look through it's Initialize event code using the Script Editor).
    If you have a specific question about a problem you're trying to solve using Data Connections in LC Designer, please post to a thread in this forum. We'll be happy to help you solve it.
    Stefan
    Adobe Systems

  • Data socket open?

    I have one computer with a data socket that I write some waveforms to
    at ~ 1Hz.  I have another computer that reads out that data, and
    logs it.  My problem is that sometimes, I have to stop the vi on
    the data socket server machine, at which point, the second machine
    running the "data socket read vi" stops and gives an error, since the
    datasocket no longer exists.  Is there some way for the reader
    machine to test to see if the datasocket exists, and if not, I'll just
    write zeros or keep testing until it's open again?  I don't want
    to have to go over to the other machine and restart the vi every time
    this happens.
    thanks.
    Jesse Wodin

    Hello,
    One way to do it would be to simply check for that error in your loop.  If it occurs, you know the connection was lost, otherwise you're receiving data!
    Will this work for your application?
    Thank you,
    JLS
    Best,
    JLS
    Sixclear

  • Data Socket fails if built in DLL and called by Labview

    I've placed a Data Socket Connection Open in a SubVi and tested this by running the VI. -> No Problems.
    Then i've compiled a DLL from this Vi and started it from Visual C. -> No problems
    Now, i've included this DLL in another VI and started this.  Now i receive an Error.
    All Information is hardcoded in the DLL so there are no possiblities with parametrization.
    Does anyone have an Idea regarding this?
    Best regards
    Hacky

    Hello Carsten_S.....
    my collegue, who found this behaviour made a little package to
    show the environment. Since he uses a camera system there is no
    possibility to get it running. But it should be easy to create a LV based
    server.
    Our Environment is:
    LV 7.1
    Windows XPSR2
    Regards, Hacky
    Attachments:
    DLL.zip ‏76 KB

Maybe you are looking for