LabVIEW DSC 2011 / OPC Client IO Server / Write by OPC Group...

Hi
I am using LabVIEW DSC module as a OPC client. My Shared Variables are binded to automation system OPC Server via "OPC Client IO Server".
On the OPC Server side it seems that the every write commands comes like one item at time, not like grouped.
Now I have tested this with the NI OPC Server as server and KepServer and LabVIEW DSC IO Server as OPC Clients.
When I use the NI OPC Server : OPC Diagnostics there are different events messages when the update request comes from KepServer or LabVIEW DSC.
There are log files on attachements for both write events.
Attachments:
Data from the KepServer.txt ‏6 KB
Data from the LabVIEW DSC OPC Client.txt ‏18 KB

Hello Pentsi,
I have received confirmation (from the PSE in the US) that DSC doesn't support group writes
There however work-arounds that might provide a solution:
- The first solution I had in mind was like this. Update the 50 OPC items as fast as possible.
Then use a 51st item as synchronization OPC item to check/indicate if new data has arrived/has been set/is available.
So LabVIEW sets 50 OPC values as fast as possible. The 51st value becomes goes from false to true when the first 50 values are written.
When this (51st) value is true on the OPC server you can read out the first 50 values (from the non-LabVIEW side). When you've read out these values, then you can set the 51st value back to false (from the non-LabVIEW side).
In the meanwhile at the LabVIEW side you wait until the 51st value goes back from true to false.
When it becomes false, then you write again those 50 values and afterwards set the 51st synchronization value from false to true.
And this keeps on going...
Note: Keep in mind that you only have to monitor one event at the side of the Automation System OPC Server in this case (the 51st) and based on an event occuring over there you can just do a group read of the 50 others. Also keep in mind that the maximum rate (6500 updates per second) from inside LabVIEW with the DSC Module OPC client I/O server was also mentioned in this document (http://digital.ni.com/public.nsf/allkb/63C043359F1​E12538625726E005BCD0C?OpenDocument).
Could this be a possible solution for your problem?
If you're using one of the OPC servers in this list (http://zone.ni.com/devzone/cda/tut/p/id/6417#toc19), then you can also use NI OPC Servers to update tags instead, which supports a faster update rate.
Kind Regards,
Thierry C - Applications Engineering Specialist Northern European Region - National Instruments
CLD, CTA
If someone helped you, let them know. Mark as solved and/or give a kudo.

Similar Messages

  • LabVIEW DSC 2011 / OPC Client IO Server / Can I write to the OPC Server using OPC Groups?

    Hi
    I am using LabVIEW DSC module as a OPC client. My Shared Variables are binded to automation system OPC Server via "OPC Client IO Server".
    On the OPC Server side it seems that the every write commands comes like one item at time, not like grouped.
    Now I have tested this with the NI OPC Server as server and KepServer and LabVIEW DSC IO Server as OPC Clients.
    When I use the NI OPC Server : OPC Diagnostics there are different events messages when the update request comes from KepServer or LabVIEW DSC.
    There are log files on attachements for both write events.
    Attachments:
    Data from the KepServer.txt ‏6 KB
    Data from the LabVIEW DSC OPC Client.txt ‏18 KB

    Hello Pentsi,
    I have received confirmation (from the PSE in the US) that DSC doesn't support group writes
    There however work-arounds that might provide a solution:
    - The first solution I had in mind was like this. Update the 50 OPC items as fast as possible.
    Then use a 51st item as synchronization OPC item to check/indicate if new data has arrived/has been set/is available.
    So LabVIEW sets 50 OPC values as fast as possible. The 51st value becomes goes from false to true when the first 50 values are written.
    When this (51st) value is true on the OPC server you can read out the first 50 values (from the non-LabVIEW side). When you've read out these values, then you can set the 51st value back to false (from the non-LabVIEW side).
    In the meanwhile at the LabVIEW side you wait until the 51st value goes back from true to false.
    When it becomes false, then you write again those 50 values and afterwards set the 51st synchronization value from false to true.
    And this keeps on going...
    Note: Keep in mind that you only have to monitor one event at the side of the Automation System OPC Server in this case (the 51st) and based on an event occuring over there you can just do a group read of the 50 others. Also keep in mind that the maximum rate (6500 updates per second) from inside LabVIEW with the DSC Module OPC client I/O server was also mentioned in this document (http://digital.ni.com/public.nsf/allkb/63C043359F1​E12538625726E005BCD0C?OpenDocument).
    Could this be a possible solution for your problem?
    If you're using one of the OPC servers in this list (http://zone.ni.com/devzone/cda/tut/p/id/6417#toc19), then you can also use NI OPC Servers to update tags instead, which supports a faster update rate.
    Kind Regards,
    Thierry C - Applications Engineering Specialist Northern European Region - National Instruments
    CLD, CTA
    If someone helped you, let them know. Mark as solved and/or give a kudo.

  • Does LabVIEW DSC 8.5 support Windows Server 2008?

    Hi,
    I am developing a SCADA system using LabVIEW DSC 8.5. Apparently, customer wants the Server Computer to be latest Windows Server 2008 operating System.
    But the Release and Upgrade note specify that DSC Module does not support Windows NT/Me/98/95/Server 2003. (System Requirement section)
    Does it support Windows server 2008?
    Any feedback most appreciated.
    Message Edited by Vsh on 09-28-2009 08:56 AM

    Hi Vsh
    Sadly no version of LabVIEW (and therefor no modules like DSC either) officially supports Server 2008. That has however not stopped people from trying and I've seen both cases were it has worked fine and cases were it has not worked. This thread might be of interest to you.
    Best Regards
    David
    NISW

  • How to handle when Client and server write to the socket at the same time

    Hi all,
    I'm writing a socket communication when client and server may write information the the socket at the same time. I look every where but the samples from the internet only shows example of server replies to client after receiving requests from clients.
    Let's say that:
    Client 1 ->Socket 1 -> Server 1
    Now if there are two threads in the server, one blocked waiting for the input from client on socket 1, the second one write something on the socket to client 1, is it possible?
    And if it's possible, if at the time Server 1 writes information to Client 1, Client 1 writes some information to Server 1 too, will there be any conflict problem or the socket could handle that two ways communication simultaneously?
    It's critical questions for me. Thanks for your help.

    I really use Server Client paradigm. However, beside the request, response mechanism, there is also an additional mechanism called update which server periodically send information update to client without the need for a request from client.
    So you suggest client should initiate 2 sockets, one for request and response, one for receiving update from the server? Will this work?

  • Crash with labview DSC

    LabVIEW 7.1
    LabVIEW DSC 7.1
    Citadel 5
    Hi,
    I've developed an application with Labview 7.1... I'm using a customer/server structure.
    I'm using a fieldPoint to acquire analog values trough labview DSC.
    When only the server runs, i've no problem. I can read and display all the tags i want in historical graphs.
    On the Computer "customer", I imported network tags through the "Tag Configuration Editor".
    Sometimes, when i want to read historical datas, Windows (XPSP2) kills my application on the customer. (I'm using the VI "read traces" ).
    I saw errors in the "windows events viewer" : wrong execution of nicitmid.dll
    I don't know how to solve this problem. Any help ?
    (sorry for my poor english )
    regards,
    Alexis de La Fontaine

    Bonjour,
    Je constate que vous êtes de NI france donc je me permet de m'exprimer dans ma langue...
    Oui, cette dll est installée avec Labview DSC.
    Ce que j'ai pu constater :
    J'ai un PC serveur qui tourne et qui centralise toutes les données reçues d'un fieldpoint. Ces données sont stockées dans la base de données gérée par citadel. Lorsque je demande des courbes d'historique de mes voies de mesures depuis le PC serveur, je n'ai aucun problème (j'utilise les Vis NI pour obtenir ces historiques).
    Par contre j'ai un deuxième logiciel utilisé en tant que client sur des postes distants. Lorsque je fais des demandes d'historiques de données.... le client va chercher ces données sur le poste serveur... Dans la très grande majorité des cas, celà fonctionne très bien ! par contre, dans certains cas (aléatoires à mon sens), l'application cliente OU maitre plante avec une erreur windows. C'est alors que la dll nicitmid.dll est mise en cause par windows.
    D'après moi, cette erreur est peut-être dûe au fait de demander simultanement des courbes d'historique à la fois depuis un poste client et depuis le poste maitre....
    Avez-vous des idées, des suggestions ?
    Cordialement,
    Alexis de La Fontaine
    ASSYSTEM FRANCE.

  • Help!!!! copy a file of client at server

    Must copy a file of client at server, write code plsql. Exist of the instruction at concern.....
    thanks
    Giovanni
    P.S. excuse for write english evil!!!
    email: [email protected]

    This is a hello!. Please do not post the same question more than once. It makes the threads hard to follow.
    Your future co-operation is appreciated.
    Cheers, APC

  • Interfacing PLC siemens S7_300 and LabVIEW DSC using siemens OPC server

    Does anyone already interface Siemens PLC S7_315-2-DP with LabVIEW DSC using Siemens OPC server?
    Is that a good solution? Are there any hidden problems?

    The use of an OPC Server is the way to go when dealing with LV. If you already have Siemens OPC Server then use that. Otherwise, NI has a product called IA Severs/Lookout Protocol Drivers (LPD), which has a large selection of drivers for PLC's. After configuring the driver, LPD is the OPC Server for the device.

  • Are there any example vi's for implementing a circular buffer between a plc, opc server, and labview dsc??

    I am storing a block of data inside plc registers and reading this group into labview as a continuous set of datapoints. I am counting the number of scans in the plc and sometimes the number of points collected inside labview doesn't match.

    To explain a a little bit about tag updating:
    The LabVIEW DSC tag engine is not just updated on any change of the value within the plc. There are, in fact, several "deadbands" that must be crossed before those tags are updated:
    1) The OPC Server has a deadband - where the plc register value has to change a certain % before it is recorded.
    2) In the LabVIEW DSC moduel, there is an I/O Group Deadband that determines when the tag engine is actually updated.
    Both of these deadbands must be satisfied before a new "value" is recorded in the LabVIEW DSC tag engine.
    Therefore, I would check your OPC Server's deadband (configurable in the OPC Server configuration utility) and also the I/O Group deadband for those tags (configurable in the tag configuration
    editor).
    If this doesn't resolve the issue, please let me know. Thanks.

  • Labview dsc client server

    Hi,
    I use LV7 and labview dsc.
    I would like to read historical traces from a client PC. my database is saved on a server PC. I'm using "Read Traces.vi". It works well but i have to wait 10 or 20 seconds to have results (for only 100 points).
    I have no problem for reading tags in real time but it is very too slow for reading historical data.
    I would like to know if there is a solution to minimise time for echanging historical data.
    Thanks.
    Alexis de la fontaine
    SECMAI

    Hi Alexis,
    Are you observing the same delay with Read Traces.vi when you read traces locally? 100 points means 100 I/O points (tags) ?
    Remzi A.
    Applications Engineering
    National Instruments

  • LabVIEW DSC Client\Ser​ver applicatio​n. How to install executable on client.

    Hello all,
    I'm currently programming a Client\Server application.  The server application should host shared variables and the client application should read them.  The client application reads the shared variable in the indicator by binding them with the indicator properties.  I started the programming, and the client and server application are in the same project.  In the client application I'm binding the indicator to the library in my project which has the "My Computer" as the address.  My question is how I will tell the executable installed on any computer I desired to used the shared variables on the server?  I have LabVIEW DSC 2009.
    Thanks,
    Solved!
    Go to Solution.

    Hi, since we are talking about executables...all targets require both LabVIEW (which includes the shared variable engine)and DSC (a bit more complicated, here is an insight) Run-Time engines, otherwise the stand alone application won't run. Now, assuming that everything is on the same network and all executables are suppose to clients, or at least access the already created variables hosted on your PC, I believe it would be easier to find programmatically the available resources than create/deploy new libraries. If you find your self in troubles here is a guide to troubleshoot applications that uses shared variables.
    Alejandro | Academic Program Engineer | National Instruments

  • Where in Labview does a ODBC client write data?

    I trying to Interface Labview with a ODBC client. Where do you specify the path that it will write the Information into? Is it the Path that you asign when you create the Database table?

    What I usually do is use a *.udl file, a special file that ODBC stores information on connecting to a database. to create a file is very easy under windows (XP) create a new file, right click on desktop, select new and either select text or Microsoft data link.  if you choose a text file remane it <name of link>.udl this extension will change it to a data link.  The icon will change, double click on the file and it will walk you through connecting with a database file (I have only done this with access and I am by no means a database expert), you can test the connection.  Use this file location to pass to the open database connection vi from the toolkit. Good luck,
    Paul
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA

  • LabView DSC, RSLinx, SLC505 and Data transfer (Best way for large blocks of data?)

    I am currently programming in Labview 6.1 with the Datalogging and
    Supervisory Control module to transfer 720 floating point numbers to a
    SLC505 Allen Bradley PLC (with ethernet) using RSLinx as an OPC server. I
    have found that using the Datasocket Write takes about 30 - 40 seconds, and
    making the tags and writing to them takes about the same amount of time. Is
    it possible to transfer this data faster?
    Thanks,
    Michael Thomson (Surcher)

    Cyril,
    I was just experimenting with different ways to transfer the data from the
    computer to the PLC. In the past I have built large tag databases with
    specific tag names. This made the code rather cumbersome when you wanted to
    write to a large group of tags with descriptive names. I was just using
    datasocket write as a way to transfer the data to the plc using code to
    build the url and without having the DSC engine running. I have found that
    importing the tags right from the tag configuration editor with the names
    being simply the PLC addresses and then accessing them with the tag write is
    considerably faster (under 5 seconds). I can then build the names in an
    embedded for/next loop and change them to a tag name before I write to each
    one. The appli
    cation is a user interface that allows the machine operator
    to pick what kind of arch to put on cabinet door part. With the selections
    chosen I calculate the servo moves and download the data to the PLC.
    Thanks for the link!
    Michael Thomson
    "Cyril" wrote in message
    news:[email protected]..
    > Michael,
    >
    > I am a little bit confused about the configuration here and the
    > programming here: why are you using Datasocket Write if you are using
    > tags? Are the 720 floating numbers written to 720 different I/O
    > Points(registers). If so this shouldn't be that slow especially with
    > DSC
    > I would strongly encourage you contact the support at National
    > Instruments for LabVIEW DSC, either by phone or e-mail and give a
    > detailed description of the issue:
    > www.ni.com/ask, and communication method phone NI or e-mail NI.

  • Has somebody already used Applicom PCI2000ETH Card or Applicom SW1000ETH software to communicat​e with ETHERNET bewteen siemens s7-300 and LabVIEW DSC ?

    I want to use ETHERNET and not PROFIBUS to communicate and I think you can do that with only the applicom software SW-1000ETH. You must just have an ethernet card on your PC. So, you could use a notebook with an
    ethernet card. You can also use Applicom PCI2000ETH for better performance.

    Hi,
    You might be able to get the configuration listed above working as long as you can get from Siemens/Applicom or any other third party provider a OPC Server that communicates with the S7-300. Since LabVIEW DSC is a OPC client, you would be able to establish connection.
    The National Instruments driver for the S7-300 (Containnned in the product called "IA OPC Server CD") does not support communication through ethernet directly, you would either have to have a Profibus board or use a serial port with a Siemens HMI Adapter.
    I hope it helps
    Best Regards
    Andre Oliveira

  • Possible to use Labview DSC to Modbus over Lantronix using ethernet encapsulation?

    Hi,
    I'm currently evaluating LabView DSC 2009. I want to connect to a Modbus PLC system, which is rs232, connected via a Lantronix box. I have the Lantronix software installed for com port redirection. I set up a serial Modbus I/O server, and every works great.
    I was also playing around with the demo of LabView OPC Servers, and noticed that instead of selection com2, I was able to select ethernet encapsulation, and directly type in the IP address & port of the Lantronix box, and it worked great as well.
    However, I noticed that when I close things out using the serial connection, it still leaves the port open & the computer connected to the serial port (verified using the Lantronix Manager). If I use the ethernet encapsulation route, it closes everything completely (since it doesn't use the installed Lantronix software redirector).
    I have another user who will occasionally need to connect to the PLC using ProWorx, over the same Lantronix box, using a different computer. This often requires me to manually close out & disconnect the port, unless using the encapsulation method.
    My question is: Using the DSC Module (over Modbus I/O server), can I use ethernet encapsulation instead of having to manually/force close the com port?
    Thanks,
    Jacob

    Hi,
    As you noticed, there are differences between Modbus RTU, Modbus RTU/IP (encapsulated) and Modbus TCP. The first involves the use of a Com port on your computer and on the PLC. The second involves the use of a Device Sever (TCP Server) without using a Com port on your computer and not on the PLC. The third involves Ethernet media only.
    Using Modbus RTU encapsulated, your computer keeps com ports free. So, you don't have to open and close the com ports. This task is performed by the Device Server (between PLC and PC).
    I have been using Share variables to read/write from/to an array of singles with success, and definetly it's better than doing it at single read/write.
    You will find tha NI OPC Servers and KepServer are the same software.
    Now you can read/write from/to an array
    All this process is performed without using PC's Com Ports

  • How to convert labview data into opc tag

    Hi all,
    Can any one please tell me how i can convert the labview data global into a OPC tag? I have some data globals reading and writing data to the globals. Now i wanted to use a PLC device to send its outputs to the field.
    The PLC device will supports the OPC tags so i wanted t create OPC recognised tags in my labview. Is it possible. I saw that labview also having OPC functinalities. Please any one guide me in doing this.
    I will be very thankful to them
    Ramme..

    As I said, I believe you can do this for globals as well by opening its front panel (double click the global) and using a DS connection for the control that represents that specific global.
    As for other alternatives:
    NI sells the DSC module which comes with an OPC server and with better tags.
    You can use a common protocol like Modbus to interact with the PLC.
    You can use the custom protocol used by the PLC.
    The last two would require that you would change your program structure, so you would only want to use them under certain conditions.
    I believe the practical limit for OPC tags with DS is a few hundred tags, but I never used it myself so I didn't run into it. You can try searching the forums to find out more.
    Try to take over the world!

Maybe you are looking for