OPC client using DataSocket - Error 0x80040154

hi everyone,
i am setting up OPC comm between LabVIEW 2010 and SMA OPC Server. they are in the same machine. i have followed all DCOM settings there, and i can view and write data of SMA OPC through MatrikonOPC. 
then i start using DataSocket Select in LabVIEW. while i run the vi I can see a pop up window showing all running OPC servers in that PC. but while i double-click my SMA OPC server or other OPC servers, i always get this error -
error code - 0x80040154,
Class not registered
The server is not properly registered on the machine.
Try running <server>.exe /RegServer for an executable server, or RegSvr32.exe <server>.dll for an inproc server.
i tried following the instruction of last line, but never succeed. 
Looking for any kind of help. Thank you very much. 

Hi Daniel,
Thanks for submitting your question. This error occurs because your OPC server is not registered. For example, here is an article that explains how you can register our FieldPoint servers:
How Do I Register an OPC Server Without LabVIEW?
http://digital.ni.com/public.nsf/allkb/662939B4C756729286256C24005530B9?OpenDocument
Yours might require a different method so it is worth contacting the manufacturer of your OPC server and ask them how you can register your server. Uninstalling and reinstalling the OPC software will sometimes take care of any registration issues.
I also thought you would find these links useful:
http://zone.ni.com/devzone/cda/tut/p/id/3978
http://digital.ni.com/public.nsf/allkb/E9887094890516EB862570A700486F0E?OpenDocument
http://zone.ni.com/devzone/cda/tut/p/id/7450
Hope this helps.
Thanks
Mahdieh G
Applications Engineer
National Instruments UK&Ireland

Similar Messages

  • Connect Labwindows to third party OPC client by datasocket

    Hi
    I have a computer that collect RTUs data through GPRS with Labwindows (simple TCP socket) and aving them. I want to use this data in a third party SCADA application by using third party OPC client. Actually I want to use datasocket to send data to datasocket OPC server (publisher is labwindows) and third party OPC client read it by connecting to datasocket OPC server.
    1. The question is is it possible at all?
    2. Which OPC server in Datasocket I should choose? ( DaqOPC, OPCDemo, OPCFieldPoint,...)
    Sorry if they were basic questions.

    Naderus,
    While I dont know all of the caveats that may come with a few of the acronyms in there, in general, you absolutely can use datasockets via an OPC server. Probably the easiest to use are network shared variables (which are an OPC server). I did notice you had another thread going here. Did you have any luck with the examples and help files they forwarded you to there?
    Regards,
    Kyle Mozdzyn
    Applications Engineering
    National Instruments
    Regards,
    Kyle M.
    Applications Engineering
    National Instruments

  • Documentation on How to Develop an OPC Client Using LabWindows/CVI?

    What documentation is there on how to develop an OPC client application using LabWindows/CVI?  What tutorials, if any, are there?  What reference manuals, if any are there?
    I am completely new to LabWindows/CVI.  I will be starting soon with the tutorial, "Getting Started with LabWindows/CVI".  However, our application needs to communicate with an RSLinx OPC Server.  Any documentaiton on how to learn to do this would be very much appreciated.

    http://www.ni.com/white-paper/4626/en/  Just did a quick google and this came up, Labwindows CVI and Labview are quite different but I usually look at Labview examples then try take the general idea from the example and apply it in CVI, hope this helps

  • Unable to read "read/write" OPC tags through datasockets

    I am having problems reading tags from an OPC server that are "read/write" access. Reading "read-only" tags works good. I am using the Datasocket Open.vi and Datasocker Read.vi and I have tried to set the mode input of the Datasocket Open to "read/write" follow by a Datasocket Read without any success. I am constantly getting the 1179 error as return.  
    I have tried to read the same tags with an OPC Client software and it works fine.
    Anyone that have successfully read a "read/write" OPC tag using Datasockets?  

    Are you watching these variables in another program as well? I have seen this error pop up before when variables were on the watch list and variable manager was open.  Make sure you have nothing else grabbing the resource at the same time.
    Rob K
    Measurements Mechanical Engineer (C-Series, USB X-Series)
    National Instruments
    CompactRIO Developers Guide
    CompactRIO Out of the Box Video

  • How can I use LabVIEW as an OPC-client, without using datasockets ?

    I heared that would be possible with the newest edition.

    The Datalogging and Supervisory Control (DSC) add-on module makes LabVIEW an OPC Client (and a Server).

  • How to get the OPC Client (VC++ example program) to work? Having DataSocket problems...

    I'm trying to get our custom software (written in C++ by someone else) to talk with a NI FieldPoint device. The device works fine, and can communicate perfectly with the FieldPoint Explorer.
    Our software uses the ComponentWorks DataSocket ActiveX control (cwds.ocx) to talk with an OPC Server which in turn communicates with the FieldPoint device. (I think this is what happens, but my detective work is far from complete). The call to Create the datasocket results in an error:
    Can't connect to URL step 4 (0x800c000d)
    I think this error comes from our code and I believe that the URL is not the problem.
    This led me to investigate whether the DataSocket is working at all.
    I downloaded the sample application called OPC Client, compiled it into a Release version executable ran it on my client machine.
    I believe the Browse button is supposed to bring up a list of OPC servers, but instead i get the error message:
    OPC Client, Member not found.
    I have installed and registered every possibly related .dll and .ocx file I could find, but believe that I am still missing something. If anyone could help me get this example program working, I think it would go a long way towards solving my overall problem.
    Thanks,
    Eric
    Process Instruments, Inc.

    Another clue: In reading the KB article called "Redistributing a ComponentWorks Application Built with DataSocket" (Document ID: DIRECT-45GPQQ) I came across this line:
    "If you want to use OPC browsing, include BVOPCClient.dll."
    This seemed like the thing to do, but I couldn't find it on my client or development machine. However I did find it on an old development machine that was used to develop the original software that I am working on, and happens to be the only machine on which the OPC Client example program works. (I can't test my code on this machine because the instrument isn't connected to it.)
    I copied the file BVOPCClient.dll into the C:\WINDOWS\SYSTEM directory on my client machine and then tried to register it with regsvr32.exe. I go
    t the following error message:
    c:\windows\system\BVOPCClient.dll was loaded, but the DllRegisterServer entry point was not found. DllRegisterServer may not be exported, or a corrupt version of c:\windows\system\BVOPCClient.dll may be in memory. Consider using PView to detect and remove it.
    I then found a newer version of BVOPCClient.dll on your site and downloaded that with the same result.
    I then reinstalled FieldPoint Explorer 3.0 with all options checked AND ComponentWorks 2.01 with all options checked to see if the .dll would show up and be registered that way. No dice.
    Do you think this .dll may be the key to getting my OPC Server communicating? And if so, what is my problem with registration? I am a newbie when it comes to regsvr32.
    Thanks,
    Eric

  • OPC DataSocket error 42 in writing negative values

    I was playing around with OPC and using the DataSocket pallete. Although I've used it reliably for a while and am content, I was baffled by one error. I was hoping someone could explain why this error occurs or how to solve it.
    In the NI Distributed System Manager I've created an Shared Variable of the type single, with Read/Write access.
    Problem
    When writing a value less or equal to 0 to an OPC URL, I get an error 42. When using the equivalent PSP URL, I don't get it.
    Using this VI snippet code.
    I get these paths and errors:
    This error 42 comes for all values below zero and for zero. For all positive values I don't get this error. What's the reason for this behaviour? In my humble opinion this is not wanted behaviour, as OPC tags should accept the whole value range of the single.

    White spaces are allowed in OPC URLs, so that cannot be the issue.
    I've tested with another LV2013 computer and NI Distributed System Manager 2013 and got the same errors. However, when I tested it on a LV2012 and NI DSM 2012 it was all working. Quite strange.
    Now I'm wondering if it's something local or that the bug was introduced in the 2013 distribution and if it has been solved in the 2014 version ...
    Could someone test it on LV2013 and/or LV2014, just to check if the problem occurs for other installations in LV2013 and if the problem has been solved in LV2014? Please indicate LV version and DSM version.

  • XML Parser Error while creating Web service Client using JAX RPC

    hello evryone,
    Im facing XML Parser Error while creating web service client using JAX RPC. Im using Net Beans IDE for development purpose. I have wrote configuration file for client. Now i want to create Client stub. However i dont know how to do this in Net Beans. So i tried to do it from Command promt using command :
    wscompile -gen:client -d build -classpath build config-wsdl.xml
    here im getting Error:
    error parsing configuration file: XML parsing error: com.sun.xml.rpc.sp.ParseException:10: XML declaration may only begin entities
    Please help me out.
    Many thanks in advance,
    Kacee

    Can i use the client generated using jdeveloper 11g to import into the oracle forms 10g, i.e., form builder 10g. Currently this is the version we have in our office.

  • XML parser error while testing web service client using jdeveloper 10.1.2.1

    hi
    I have generated a web service stub/skeleton out of the wsdl file using jdeveloper 10.1.2.1.0. The client will return a complex type result, i.e., it will return an array of elements. When I try to run the client using jdeveloper 10.1.2.10 i am getting the following error:
    E:\oracle\DevSuiteHome_1\jdk\bin\javaw.exe -ojvm -classpath E:\oracle\DevSuiteHome_1\jdev\mywork\Application2\Project2\classes;E:\oracle\DevSuiteHome_1\jdev\lib\jdev-rt.jar;E:\oracle\DevSuiteHome_1\soap\lib\soap.jar;E:\oracle\DevSuiteHome_1\lib\xmlparserv2.jar;E:\oracle\DevSuiteHome_1\jlib\javax-ssl-1_2.jar;E:\oracle\DevSuiteHome_1\jlib\jssl-1_2.jar;E:\oracle\DevSuiteHome_1\j2ee\home\lib\activation.jar;E:\oracle\DevSuiteHome_1\j2ee\home\lib\mail.jar;E:\oracle\DevSuiteHome_1\j2ee\home\lib\http_client.jar;E:\oracle\DevSuiteHome_1\lib\xmlcomp.jar mypackage2.RESSelectionServiceStub
    oracle.xml.parser.v2.XMLElement@11
    java.lang.ClassCastException: oracle.xml.parser.v2.XMLText
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.getType(WrappedDocLiteralStub.java:877)
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.getType(WrappedDocLiteralStub.java:903)
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.getType(WrappedDocLiteralStub.java:928)
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.fromElement(WrappedDocLiteralStub.java:621)
         at mypackage2.RESSelectionServiceStub.selectParticipants(RESSelectionServiceStub.java:112)
         at mypackage2.RESSelectionServiceStub.main(RESSelectionServiceStub.java:43)
    java.lang.ClassCastException: oracle.xml.parser.v2.XMLText
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.getType(WrappedDocLiteralStub.java:877)
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.getType(WrappedDocLiteralStub.java:903)
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.getType(WrappedDocLiteralStub.java:928)
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.fromElement(WrappedDocLiteralStub.java:621)
         at mypackage2.RESSelectionServiceStub.selectParticipants(RESSelectionServiceStub.java:112)
         at mypackage2.RESSelectionServiceStub.main(RESSelectionServiceStub.java:43)
    java.lang.ClassCastException: oracle.xml.parser.v2.XMLText
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.getType(WrappedDocLiteralStub.java:877)
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.getType(WrappedDocLiteralStub.java:903)
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.getType(WrappedDocLiteralStub.java:928)
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.fromElement(WrappedDocLiteralStub.java:621)
         at mypackage2.RESSelectionServiceStub.selectParticipants(RESSelectionServiceStub.java:112)
         at mypackage2.RESSelectionServiceStub.main(RESSelectionServiceStub.java:43)
    [Lmypackage2.ProfiledClaimant;@18
    java.lang.ClassCastException: oracle.xml.parser.v2.XMLText
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.getType(WrappedDocLiteralStub.java:877)
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.getType(WrappedDocLiteralStub.java:903)
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.getType(WrappedDocLiteralStub.java:928)
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.fromElement(WrappedDocLiteralStub.java:621)
         at mypackage2.RESSelectionServiceStub.selectParticipants(RESSelectionServiceStub.java:113)
         at mypackage2.RESSelectionServiceStub.main(RESSelectionServiceStub.java:43)
    java.lang.ClassCastException: oracle.xml.parser.v2.XMLText
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.getType(WrappedDocLiteralStub.java:877)
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.getType(WrappedDocLiteralStub.java:903)
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.getType(WrappedDocLiteralStub.java:928)
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.fromElement(WrappedDocLiteralStub.java:621)
         at mypackage2.RESSelectionServiceStub.selectParticipants(RESSelectionServiceStub.java:113)
         at mypackage2.RESSelectionServiceStub.main(RESSelectionServiceStub.java:43)
    java.lang.ClassCastException: oracle.xml.parser.v2.XMLText
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.getType(WrappedDocLiteralStub.java:877)
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.getType(WrappedDocLiteralStub.java:903)
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.getType(WrappedDocLiteralStub.java:928)
         at oracle.jdeveloper.webservices.runtime.WrappedDocLiteralStub.fromElement(WrappedDocLiteralStub.java:621)
         at mypackage2.RESSelectionServiceStub.selectParticipants(RESSelectionServiceStub.java:113)
         at mypackage2.RESSelectionServiceStub.main(RESSelectionServiceStub.java:43)
    java.lang.ArrayIndexOutOfBoundsException: 1
         at mypackage2.RESSelectionServiceStub.main(RESSelectionServiceStub.java:55)
    Process exited with exit code 0.I have googled to see if i can get any solution , i got the following information:
    Cannot Generate a Stub or Skeleton for a WSDL that Uses Certain Types (3912349)
    JDeveloper 10.1.2 only understands a subset of all of the complexTypes that can be defined in a WSDL document. For example, if the following appear in the "types" section of the WSDL, any use of those types will cause JDeveloper to generate a reference to UnknownType in a stub or skeleton:
    •     Restrictions of simpleTypes
    •     complexTypes which define attributes Does that mean that the jdeveloper will not support complex types?Could anybody tell me how to resolve the above said issue? Is there any patch that i can run to resolve the issue?

    Can i use the client generated using jdeveloper 11g to import into the oracle forms 10g, i.e., form builder 10g. Currently this is the version we have in our office.

  • Oracle Database Web Service Client using UTL_DBWS :: ORA-29532 Error

    Hi,
    I have the Oracle Database 10.2.0.1.0 :-
    SQL> select * from v$version;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
    PL/SQL Release 10.2.0.1.0 - Production
    CORE    10.2.0.1.0      Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - ProductionI have written a simple Web Services Client using the classes gfrom the UTL_DBWS package. I loaded the JAR file dbwsclient.jar in the SYS Schema and I am trying to use it in the USF Schema.
    However, I have hit this error & I ma unable to proceed :-
    SQL>  select get_stock_price from dual;
    select get_stock_price from dual
    ERROR at line 1:
    ORA-29532: Java call terminated by uncaught Java exception:
    java.lang.IllegalAccessException: javax.xml.rpc.ServiceException:
    java.security.AccessControlException: the Permission
    (java.lang.RuntimePermission getClassLoader) has not been granted to USF. The
    PL/SQL to grant this is dbms_java.grant_permission( 'USF',
    'SYS:java.lang.RuntimePermission', 'getClassLoader', '' )
    ORA-06512: at "USF.UTL_DBWS", line 193
    ORA-06512: at "USF.UTL_DBWS", line 190
    ORA-06512: at "USF.GET_STOCK_PRICE", line 17Can you please help me with this ?
    Regards,
    Sandeep

    Hi,
    The error message said
    the Permission(java.lang.RuntimePermission getClassLoader) has not been granted to USF.
    I'd follow the suggestion
    The PL/SQL to grant this is dbms_java.grant_permission( 'USF','SYS:java.lang.RuntimePermission', 'getClassLoader', '' )
    In case you have not done so, consult the Callout Users Guide @
    http://www.oracle.com/technology/sample_code/tech/java/jsp/callout_users_guide.htm
    Kuassi http://db360.blogspot.com

  • Error using datasocket

    Hi,
    I am using datasocket with an Applicom card to communicate with a Siemens PLC. When I run the VI I get an error: -10734796672 I can find no mention of this error. Can you help?
    Thanks
    Tom

    take a look at the diagram , and see where the error is thrown. To do this, go to the block diagram >> turn on highlight execution >> run the VI >> watch to see where the error occurs.
    If the error comes out of a sub VI, then open stop the main VI, open the sub VI, place a breakpoint on the diagram of the sub VI, return to the main VI and run the main VI again (without highlight execution on). This time the code will pause at the break point, when you can turn on highlight execution, and unpuse the code. Watch to see where the error is thrown.
    Once you know where the error is thrown, you will know how to proceed. If the error comes out of a LabVIEW primative (a block diagram object with a yellow background that doesn't open when you double click on
    it - like DataSocket Read in LV 7), then have an application engineer take a alook. If it comes out of a call to the Applicom card (typically through a Call Reference Node) then you know that the card is having an issue, and you can look at stuff like board configuration (in devise manager), and what parameters you need to pass to the board via the provided driver.

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

  • Connection with OPC client

    Hi,
    I would like to access to my shared variables using an OPC client. (a free software called powerOPC or any other one)
    When I use it locally, everything goes well, I can access my shared variables, but when I try to access from a distantr PC, I cannot connect and get some errors. I've tried to open port 135 on the firewall, I've read the following post: http://forums.ni.com/t5/LabVIEW/opc-dcom-access-denied/m-p/822246/highlight/true#M373884
    But I still can't access my variables.
    The NI Distributed System Manager can access to the distant shared variables, so I don't know what's wrong with other clients.
    Does anyone knows how to do?
    Both PC are running win 7, one is 32 the other 64bit.
    LV2011
    Regards

    Hi toto26,
    thank you for using National Instruments discussion forum.
    Could you detail the way you use to communicate with your OPC server thanks share variable? Are you using datasocket like in this document or are you using DSC ?
    Could you tell us more about the errors you get? Have you already seen this KB document and its first related link?
    Thank you in advance
    Regards,
    Audrey_P
    National Instruments France
    #adMrkt{text-align: center;font-size:11px; font-weight: bold;} #adMrkt a {text-decoration: none;} #adMrkt a:hover{font-size: 9px;} #adMrkt a span{display: none;} #adMrkt a:hover span{display: block;}
    Journées techniques : des fondamentaux aux dernières technologies pour la mesure et le contrôle/comm...

  • Alternative OPC Client?

    Hello,
    I’m searching for an alternative OPC-Client.
    Is there someone out there who has developed a LabVIEW Interface for an OPC-Client (OPC-DA) from Softing, OPC Labs or another company? I did not found an OPC Client witch supports LabVIEW.
    Maybe you would sell your code or spend your code or give Information or help for the implementation?
    If you do not want to make your answer public you could send me a private message. Maybe I could return the favor with some code you would be interested in?
     I know that LabVIEW supports OPC with 2 different Clients (http://www.ni.com/white-paper/7451/en/).
    OPC via DataSocket
    OPC via LabVIEW Datalogging and Supervisory Control (DSC) Toolkit
    But the free OPC via Datasocket has limitations, and it does not work with the OPC-Server from IFM where other OPC-Clients work well (I think, the IFM OPC-Server Version 2 is not that well implemented).
    And the DSC Toolkit is too expensive because we need only the OPC-Client component and we are using it at some customers (a Runtime Licence is 800 €).
    Please help
    Sletrab

    I haven't worked too much with OPC, and I haven't tried this myself, but you could try looking for .NET or C implementations of an OPC client and call that.
    Try to take over the world!

  • CompactRIO DataSocket error 1181

    I have a cRIO 9073 and am trying to read from a web page using DataSocket. I have installed the datasocket for labview real time 5.0.0 to the cRIO but i get the error message 1181 occured at datasocket read Protocol not recognized by LabVIEW. I need to read the online file, I need to pass data to the cRIO. So either i need a fix or a different way to read the web page to a string or array. Thanks
    Solved!
    Go to Solution.

    DataSocket for Real Time only supports the protocols listed here, which unfortunately does not include http. You may want to look into using LabVIEW’s HTTP Client palette instead.

Maybe you are looking for