02-02-2015 09:12 PM
I assume you use DSC module to develop it. On a clean machine, you need DSC Runtime System to run the built application.
02-04-2015 12:22 PM
Ryan.S,
The application I am working on reads results from a tester and then creates nine items inside a folder to be published as an OPC UA server. At first I was using the VI's inside the NI OPC UA.lvlib. I realised this library was not accessible after building an application on a non labview environment machine. Then I decided to create my own VI's calling the same dlls those VIs inside the OPC UA Pallete access. When in development mode everything works fine, but, after building an application and instaling it in other machine, I always get an error #42 trying to read function "Get Unique String" inside ni_opcua_server.dll. I have already tried to install DSC runtime, changed to support windows 7, but I still get the error #42.
02-06-2015 12:51 PM
For those who this information may interest, I am pleased to say that it's fixed!
OPC UA VI's access the following dll:
C:\Program Files (x86)\National Instruments\LabVIEW 2014\vi.lib\OPCUA\server\ni_opcua_server.dll
C:\Program Files (x86)\National Instruments\LabVIEW 2014\vi.lib\OPCUA\server\ni_opcua_server.dll
C:\Program Files (x86)\National Instruments\LabVIEW 2014\vi.lib\OPCUA\client\ni_opcua_client.dll
But it requires also two more dlls:
C:\Program Files (x86)\National Instruments\Shared\OPCUA\ni_opcua_base.dll
C:\Program Files (x86)\National Instruments\Shared\OPCUA\ni_opcua_uastack.dll
The above dlls are not called by any specific VI whithin block diagram. That why I could not figure out what was missing in my code. I assume that this two dlls are called by one (or more) of the above mentioned dlls (server, client or utilities) at the specific location. While in develpment mode, everything runs fine because Labview creates this folder hierachy at the installation. However, in a clean PC this path does not exist. so, it is necessary to create it whithin application builder and place the dlls inside. That's it!
02-08-2015 11:49 PM
Yes, you did find the trick to make the thing work. But actually the missing of those 2 dlls (ni_opcua.base.dll and ni_opcua_uastack.dll) in the built application by app builder is the desired behavior as those 2 dlls will be actually installed by DSC Runtime System like Ryan mentioned above.
12-16-2015 04:07 AM
dwisti wrote:
Data change user events on the server
Right now the server code is poll based. I would like to see the server had the ability to fire an event when the client writes data. I guess one could place a client on the server to have events but this seems to be extra work for the developer. I could see issues on large applications where you have too many localhost clients waiting for events.
It did not take us long after starting an OPC server project before we looking for this functionality...In our case the server is supposed to send writes from clients onwards to other systems, but it should only do so if in fact there are OPC clients writing anything...That would have been easy if writes actually could generate an even on the server side.
Is this functionality something NI is planning to implement?
12-16-2015 09:14 AM
Hi Mads,
Thank you for you comments. We are actually in the process of expanding of current implementation of the OPC UA API included in the LabVIEW Real-Time and DSC modules. This expansion entails the implementation of the full especification defined by the OPC Foundation to add the Historical Data Access (HDA) and Alarms & Conditions (A&C) facets. These additions to the OPC UA API are confirmed in the roadmap and will be included in future updates of this product.
Regards,
Carlos Pazos
Product Marketing Manager
Embedded Software
01-05-2016 09:17 PM
Hello,
When creating a client, we can specify the username+password to use: http://zone.ni.com/reference/en-XX/help/370622N-01/lvmve/opcua_connect/
However, I couldn't find a way to set a list of accepted usernames and passwords when creating a server. Is this functionality available currently?
01-05-2016 09:23 PM
No, server APIs currently don't support usernames and passwords.
01-05-2016 10:14 PM
01-05-2016 10:23 PM
Yes. That is on the roadmap, but I cannot tell more details.