Proble with Data Socket.vi's

Hello NI,
                    I am using labview 7.1, i am reading data from OPC server using Data Socket.vi. i took my reference from Examples--> Multiple OPC Monitor. in that vi while running when i am minimise the vi suddenly get error from "data socket read".
suggest me how to resolve this problem....
Regards,
Balaji DP
Attachments:
Multiple OPC Items Monitor1.vi ‏91 KB

Hi,
Exactly what is the error you are getting? You can check the meaning and the remidies of the error code @ developer zone in www.ni.com. Can you check it out?
regards
Vaibhav
.......^___________________^
....../ '---_BOT ____________ ]
...../_==O;;;;;;;;_______.:/

Similar Messages

  • Problem with data socket server

    We have developed a program (from LabVIEW 6.1 running on Windows NT) consisting of a main executable and four other executables dedicated to collecting various i/o information. The four i/o executables convert raw data into process data and pass it on to the main executable using Data Sockets. The data is assembled as a cluster, then flattened into a string, which is published to a data socket variable. The data cluster contains a time stamp used by the main executable to verify i/o is being updated periodically (at least once a second). The main executable generates an alarm if the timestamp gets to be more than 5 to 15 seconds old, depending on the expected data. Typically, this alarm never happens, unless an i/o device is powered down o
    r disconnected, or an executable or Data Socket Server is terminated.
    The problem we are is experiencing is that false alarms are being generated, at precise intervals of exactly 5 days, 18 hours, 1 minute, and 1 second. The alarm condition occurs then clears immediately. The only thing I can think of is the data socket is somehow "cleared" for some reason at this interval, causing the main executable to momentarily read a time stamp of zero, and generate an alarm. Is there anything that might be corrupting the data sockets at a long interval like this? The worst thing is that the alarm horn gets falsely triggered, so we are trying to resolve this but can not see anything in any of the code to cause such an occurrence.
    Thanks in advance for your help.
    Brian Hajder
    Despatch Industries
    8860 207th Street West
    Lakeville, MN 55044
    Phone: 952.469.8111
    Fax: 952.469.4513
    [email protected]

    Hello Matt,
    Thank you for reading & responding. I should try to summarize this specific application in a little more detail.
    We have built a manufacturing tool for a customer that is controlled by a single Windows NT PC, for which we have developed 5 executables using LabView 6.1. The main executable provides the user interface. The other four executables are dedicated to control & monitoring of specific i/o devices (serial or IEEE-488). The i/o executables pass data to and receive commands from the main using data sockets. The PC is not on any type of network. The main executable supports an optional SEMI standard host link through its ethernet port, but that is not currently active or connected. A total of 13 data sockets are used, to implement si
    mple "one way" traffic through any socket, making buffering unnecessary. Some data sockets (i/o data to and from main) are updated a few times a second at most, commands from the main may only be updated a few times a day.
    Data from each of the i/o executables includes a time stamp indicating the last valid i/o hardware read time. The main uses this data from each i/o executable to determine whether i/o hardware is responding properly - if the timestamp gets to be anywhere from 5 to 15 seconds old (depending on which i/o is being checked), an i/o failure alarm for that device is raised.
    What seems to be happening is that, periodically, precisely every 496,861 seconds, two or more of the timestamps are found to be too old; I am assuming some external event is momentarily clearing socket data & the zero value timestamps look very old, thus triggering alarms at the exact same second. The alarm conditions clear up in less than one second.
    I wonder what you mean by "the datasocket
    server resetting"? Is this documented anywhere?
    Thanks for plowing through this wordy description, I appreciate any help you can suggest.
    Brian

  • Problems with data socket connection

    I have two computers on a network both running labview. I would like to
    exchange the value of a variable in both directions. For example
    computer A sets the variable to a certain value, computer B reacts and
    changes this variable. Computer A now reads the new value.
    So I tried this using (front panel) data sockets but I could not
    establish a connection the way I want it. Also I couldn't find answers
    here or in the labview help file, so I hope you can give me a short
    hint on how to do that (do I need to run socket server on both
    machines? What IP address do I need to enter in the front panel dialog?)
    Thank you very much,
    Michael

    Thanks for the Port number, I got it to work now.
    I will summarise what was necessary to establish a connetion in case other people are interested:
    If you need a bidirectional communication between computer A (IP:192.168.0.1)
    and B (IP: 192.168.0.2) the following steps may be necessary:
    - Run DataSocket Server on *both* computers before you start LabView
    For communication A to B:
    - Select a variable on computer A, and enter the following in the connect to field:
       "dstp://192.168.0.1/var1", click on "publish"
    - Create a variable of the same type on machine B and enter in the connect to field:
       "dstp://192.168.0.1/var1", click on "subscribe"
    For communication from B to A do the following:
    - Select a variable on computer B, and enter the following in the connect to field:
       "dstp://192.168.0.2/var2", click on "publish"
    - Create a variable of the same type on machine A and enter in the connect to field:
       "dstp://192.168.0.2/var2", click on "subscribe"
    Maybe this is not the most elegant way because I don't know how to use the "Publish and subscribe" field
    but at least it works this way.
    Michael

  • Dynamically create Variant Data Socket items with multiple writers

    I want to use variant or cluster items with data socket connection. I want to allow multiple writers.
    So far I can create these items dynamically but not set them to allow multiple writers.
    For numeric, string, and Boolean items I can set these properties by predefining them in the data socket server manager. I could not predefine a variant or cluster in the manager.
    I realize I can flatten to string the item needed but would prefer to do this in the cluster or variant formats.
    Any suggestions?

    unclebump wrote:
    Could you accomplish this using a functional global architecture??
    An interesting concept which might work and did just open up a new host of possibilities!
    When I get the time I might give this a try. I just did a quick test in another program.
    Through VI server I opened a reference to a remote machine. I then created strictly typed reference to a “functional global vi” that I knew would be in memory. It reads the functional global just fine!
    Thanks for the suggestion.
    Here is the work around I used for the data socket program.
    Here is the original problem.
    I needed to know on the server side when a new value was written to the message cluster, which consisted of a string and a variant. Checking the string portion of the cluster let me know what command to send the device being controlled on the server machine. The variant is used to hold the various parameters that accompanied the command. Since the same command type could be sent several times I needed to reset the string control after the server read the command. This required writing to the data socket from the client & server machine (multiple writers). Also since the client could be any PC in the subnet I needed to allow all these machines to have write access.
    I solved this by using a second data socket item for the new message flag. This item is a string value that could be pre-defined and set to allow multiple writers. I then used the cluster item to handle the commands and wrote to the string item a signal that a new command was ready. The server then recognizes a new command is ready, reads the command, and then flags the string message received.
    Thanks again for those who took the time to answer this.
    Randall

  • 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

  • Ni hypertrend with opc data socket

    hello,
    i am going to use ni hypertren with labview dsc 8.6 version. i am not using shared variable here but using opc server + data socket i am reading all the channels of data. currently i am reading 300 channels of data over modbus tcp/ip network. all are thermocouple inputs and each module has an 8 channels of array of data which i defined, i tried using shared variable but here i need to create 300 variable for each channel then only i can able to insert these data values to the data base. but using data socket with opc server i can able to group it 8 channels/ module the i can able readuce my data set also it will be traceble one. to inserting data base i am making programming.
    i checked the ni-hypertrend, i gone through the help, my question is can i plot the datas from opc data socket with out using shared variable...?
    Regards,
    Balaji DP

    SOLVED
    I just installed the runtime and copied the exe to the target. That doesn't work.
    After I build a distribution with NI DataSocket component and installing it the copied OpcClient works. Even after uninstalling said distribution...
    /* Nothing past this point should fail if the code is working as intended */

  • Data Socket Servers with LV RT

    I am trying to use LV RT on an embedded system to communicate with another system that is running LV RT.  I would like to use data socket communications in order to keep the code as simple as possible.  My question is if anyone has had experience with launching a data socket server on a LV RT platform.  Currently I am only aware of windows machines that can be data socket servers.  Any guidance would be greatly appreciated.  Thank you.
    David

    Hi David,
    I think this link can be of interest for you.
    When my feet touch the ground each morning the devil thinks "bloody hell... He's up again!"

  • How to establish data socket connection with remote computer

    hi am new to data socket subject, cau u guys guide me on this...
    i want to establish connection between system with lv and datasocket modem.... so i need to create vi to receive
    the data and insert into sql from modem(its having data socket option).
     Pls help me.........

    duplicate post -- continue here

  • How to establish data socket connection with remote unit

    hi am new to data socket subject, cau u guys guide me on this...
    i want to establish connection between system with lv and datasocket modem.... so i need to create vi to receive
    the data and insert into sql from modem(its having data socket option).
     Pls help me.........

    duplicate post -- continue here

  • Using Data Socket with LabView 7 Image Display

    I want to to connect the Image Display over the Data Socket, but its not working?

    Please be more specific. How are you trying to connect to the datasocket. is it over a network. same PC.
    Joe.
    "NOTHING IS EVER EASY"

  • Right way to communicate with a socket server (TCP/IP)

    Hi,
    I used to write data from my J2ME socket client to a J2EE socket server with writeUTF(). In this way I can send (and receive) directly Strings.
    When I need an XML file I ask the server with something like os.writeUTF(GIVE_ME_XML_FILE) and I use an XML parser with this socket InputStream.
    I was wondering if it's the right way to proceed ....?
    How do you guys communicate with a server when you need "to talk" a lot ? Do you use only HTTP requests or (if you are allowed to) do you use Socket with writeUTF ?
    Just to know if I'm completely wrong....and if I gonna have unsolicited issues ...
    Thanks..

    AdrienD wrote:
    When I need an XML file I ask the server with something like os.writeUTF(GIVE_ME_XML_FILE) and I use an XML parser with this socket InputStream.
    I was wondering if it's the right way to proceed ....?No, it is not. Read the writeUTF api docs, and you'll know why!
    How do you guys communicate with a server when you need "to talk" a lot ? Do you use only HTTP requests or (if you are allowed to) do you use Socket with writeUTF ?There is answer to this question. it al depends on what data gets send where, how often, and how large..

  • 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

  • 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

  • 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 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

Maybe you are looking for