Quantcast
Viewing all 1794 articles
Browse latest View live

Programmatically deploy license file - by: trimurarisingh

I recently bought a "single developer + free runtime" QuickOPC license, Application is getting fails after two hours with "Run time is over the limit in license "Multipurpose".

After deployment on IIS , by default it running well ( trial period mode) and communication with PLC but when ever apply the license copy it giving error message.

I have tried in both way:
1.installed the License by License manger UI ,application is not reading this license , after running same time it's stop the communication with PLC data.
2.Embed the License with Application dll then below error message is coming.

1. Exception Type
TypeInitializationException

Message
The type initializer for 'OpcLabs.EasyOpc.UA.Toolkit.ClientServer.UAClientEngineBase' threw an exception.


2. Exception Type
ArgumentException

Message
Attempt to add existing key into a dictionary.


Code snippet:


Please resolve this issue.

Thanks,
TM

OPC XML-DA. There are many sockets open in subscription mode - by: Andriy

Hello,

Vendor info:
Nordex OPC XML-DA Gateway

The number of open sockets ramping up to 20 + 12 in "time wait" state and is stable.
They open and close very often

Best regards

Programmatically deploy license file - by: trimurarisingh

I recently bought a "single developer + free runtime" QuickOPC license, Application is getting fails after two hours with "Run time is over the limit in license "Multipurpose".

After deployment on IIS , by default it running well ( trial period mode) and communication with PLC but when ever apply the license copy it giving error message.

I have tried in both way:
1.installed the License by License manger UI ,application is not reading this license , after running same time it's stop the communication with PLC data.
2.Embed the License with Application dll then below error message is coming.

1. Exception Type
TypeInitializationException

Message
The type initializer for 'OpcLabs.EasyOpc.UA.Toolkit.ClientServer.UAClientEngineBase' threw an exception.


2. Exception Type
ArgumentException

Message
Attempt to add existing key into a dictionary.


Code snippet:


Please resolve this issue.

Thanks,
TM

"SubscribeDataChange" using the read function - by: Moien

Dear all,


I am reading more than 300 different variables with different node IDs from the OPC UA Server. My application is runing 24/7 and I am getting always new variables on the OPC UA Server. I used the "SubscribeDataChange" function (every 1000 milliseconds) to get the new values every second, otherwise the values won't be updated in my Delphi application.
Using "SubscribeDataChange" in a for loop (shown in the following) put lot of load on the CPU! is there any posibility to update all the variables at the same time, something like "Multipple DataChange"?

for I := NoV_DB100 to Length(OPCServerItemArray)-1 do begin
Name := OPCServerItemArray.Source + '.' + OPCServerItemArray.ItemName;
NodeID := 'nsu='+ nsu + ';s=Local Items.' + Name;
OPCUAClientRead.SubscribeDataChange(Url_String,NodeID, 1000);
end;


Best regards,
Moien

Self-Signed Certificate not Trusted Error When Deploying CPP Application - by: Holbach

We are seeing the following error when deploying a C++ application on some machines. This does not happen on all machines this application is deployed to:

+ The SDK action called was "ApplicationInstance.CheckApplicationInstanceCertificate".
+ Following (5) events were gathered during the action on activity ID [1], in the order of first occurrence:
SDK trace: Checking application instance certificate.
SDK trace: Checking application instance certificate. CN=Station_Service, DC=L4OP-SP
Exception: {Opc.Ua.ServiceResultException} Self Signed Certificate is not trusted. IssuerName: CN=Station_Service, DC=L4OP-SP
SDK trace: Certificate 'CN=Station_Service, DC=L4OP-SP' rejected. Reason=BadCertificateUntrusted
SDK trace: Writing rejected certificate to directory: [Directory]ommonApplicationData\OPC Foundation\CertificateStores\RejectedCertificates
+ The error occurred while creating or checking the (client) application instance certificate. Check event log entries for errors and warnings.
+ The certificate generator path was "C:\ClydeInline\Station\Opc.Ua.CertificateGenerator.exe".
+ This is an engine-level error.DataChangeNotification Exception OpcLabs.EasyOpc.UA.UAServiceException: OPC-UA service result - Self Signed Certificate is not trusted.
IssuerName: CN=Station_Service, DC=L4OP-SP = BadCertificateUntrusted.

The application certificate is being generated as expected but being moved to the RejectedCertificates directory (as the error suggests). Code wise there is no difference between systems where the certificate is accepted, and machines where the certificate is not accepted.

Version in use here is 5.54.1156.1. I have attached the content of the log file generated when hooking into the UAClient LogEntry Event Handler.

Is there something obvious that I am missing here?

Excel RTD - Data Refreshing stops for 5 seconds - by: Enrico

Hi,

we work with the excel option, which is really cool, because one can use all the powerful functions of Excel.

There is one thing which is a bit annoying. Every now and then the data refreshing in Excel stops for about 5 seconds.

The throttle rate in Excel for the RTD is already properly set, thus that we can receive and display data, with an acquisition rate of 5 Hz.

I wonder if you have an idea, in which direction I could take a closer look to identify the problem. I was thinking, some component tries to establish a network connection, and than after a time out, continuous with nominal operation. The RTD Server, Excel? Did you have a similar problem before?

Kind regards

"SubscribeDataChange" using the read function - by: Moien

Dear all,


I am reading more than 300 different variables with different node IDs from the OPC UA Server. My application is runing 24/7 and I am getting always new variables on the OPC UA Server. I used the "SubscribeDataChange" function (every 1000 milliseconds) to get the new values every second, otherwise the values won't be updated in my Delphi application.
Using "SubscribeDataChange" in a for loop (shown in the following) put lot of load on the CPU! is there any posibility to update all the variables at the same time, something like "Multipple DataChange"?

for I := NoV_DB100 to Length(OPCServerItemArray)-1 do begin
Name := OPCServerItemArray.Source + '.' + OPCServerItemArray.ItemName;
NodeID := 'nsu='+ nsu + ';s=Local Items.' + Name;
OPCUAClientRead.SubscribeDataChange(Url_String,NodeID, 1000);
end;


Best regards,
Moien

"SubscribeDataChange" using the read function - by: Moien

Dear all,


I am reading more than 300 different variables with different node IDs from the OPC UA Server. My application is runing 24/7 and I am getting always new variables on the OPC UA Server. I used the "SubscribeDataChange" function (every 1000 milliseconds) to get the new values every second, otherwise the values won't be updated in my Delphi application.
Using "SubscribeDataChange" in a for loop (shown in the following) put lot of load on the CPU! is there any posibility to update all the variables at the same time, something like "Multipple DataChange"?

for I := NoV_DB100 to Length(OPCServerItemArray)-1 do begin
Name := OPCServerItemArray.Source + '.' + OPCServerItemArray.ItemName;
NodeID := 'nsu='+ nsu + ';s=Local Items.' + Name;
OPCUAClientRead.SubscribeDataChange(Url_String,NodeID, 1000);
end;


Best regards,
Moien

Programmatically deploy license file - by: trimurarisingh

I recently bought a "single developer + free runtime" QuickOPC license, Application is getting fails after two hours with "Run time is over the limit in license "Multipurpose".

After deployment on IIS , by default it running well ( trial period mode) and communication with PLC but when ever apply the license copy it giving error message.

I have tried in both way:
1.installed the License by License manger UI ,application is not reading this license , after running same time it's stop the communication with PLC data.
2.Embed the License with Application dll then below error message is coming.

1. Exception Type
TypeInitializationException

Message
The type initializer for 'OpcLabs.EasyOpc.UA.Toolkit.ClientServer.UAClientEngineBase' threw an exception.


2. Exception Type
ArgumentException

Message
Attempt to add existing key into a dictionary.


Code snippet:


Please resolve this issue.

Thanks,
TM

Update frequency with subscription - by: CHRDEI

Hello,
i write supervisors in Visual Studio C# and use OpC Ua connections with Schneider Motion control opc server. I started one year ago to use OpcLabs product but i have two questions:

1) If values of subscripted items change frequently (e.g. two times in 20msec) i loose the last change with Subscription. I can understand the meaning but i don't know how to solve; has anyone come across this problem and can you give me any suggestions?

2) If i have to write an array of 50 rows, i have to use multiple write and insert all the rows like different items? I've done it and it runs but it doesn't seems the best way in programming.

Thanks a lot in advance for your answer

Christian

How can i connect read data from analyzer to opc ? - by: anoop0085

I have Analyzer which connects to a computer with cat5 cables . This Computer reads the data through a software called ComVisioner .ComVisioner has two Modes, one is Server Mode and Other is Client Mode A Server software acts as the engine in the system, providing one or more clients with information.

Server version is installed on a this computer . Server version will collects data, performs calculations, produce reports a from analyzer

The ComVisioner client runs in the same computer as the server. Other clients can access the same single server through a network, providing that the software license allows more than one client at the same time

so there is Two client computers who access the as mentioned above .this all connection is done by Network cables . This part is fine

As License of Client is very expensive our company, they wants to add a OPC software so that more user can acquire data .As i have no knowledge on Opc part please suggest me How can i do it ?. what sort of software should i use ?

There is also one more software installed in that computer which pushes the data as Modbus protocol

if you any documents regarding above

Need to force Sycrounous device read and writes to device, using Powerbulder - by: spaxman

I have created a client using PowerBuilder and can read and write tags.

The way my client works is as follows.
1. read one tag and this tags tells the client what type of message the device is sending. Bascially tells me which tags I now need to get data from.
2. We then read the needed tags we want from the device. We must do this synchronously, to the device to get the list of accurate tags that are populated from the device.

I set up my client using

g_opclabs.ConnectToNewObject("OpcLabs.EasyOpc.DataAccess.EasyDAClient")
g_opclabs.InstanceParameters.Mode.AllowAsynchronousMethod = false // only do sync reds
g_opclabs.InstanceParameters.Mode.AllowSynchronousMethod= true
g_opclabs.InstanceParameters.Mode.DesiredMethod = 0


But it seems not to be reading all the tags from the device(plc). I am getting some data from the previous message which means it sending data back from the server and not going to the device to get the latest data from the tags.

How can I force syncronous reads and writes to the device(plc)?

"SubscribeDataChange" using the read function - by: Moien

Dear all,


I am reading more than 300 different variables with different node IDs from the OPC UA Server. My application is runing 24/7 and I am getting always new variables on the OPC UA Server. I used the "SubscribeDataChange" function (every 1000 milliseconds) to get the new values every second, otherwise the values won't be updated in my Delphi application.
Using "SubscribeDataChange" in a for loop (shown in the following) put lot of load on the CPU! is there any posibility to update all the variables at the same time, something like "Multipple DataChange"?

for I := NoV_DB100 to Length(OPCServerItemArray)-1 do begin
Name := OPCServerItemArray.Source + '.' + OPCServerItemArray.ItemName;
NodeID := 'nsu='+ nsu + ';s=Local Items.' + Name;
OPCUAClientRead.SubscribeDataChange(Url_String,NodeID, 1000);
end;


Best regards,
Moien

Issue while retrieving data from OPC DA - by: Mohammed

Hey,

In some cases OPC DA return null values and types with quality as (DeviceFailure LimitOk (12)), but when i'm cheking with Matrikon value is not null.

Example :

03-DX-4997-5-N/JK1/EV.SQ, NullValue, DeviceFailure LimitOk (12), 12/16/2019 4:08:45 PM, NullType

Returning null value and type in some cases - by: Mohammed

Hey,

I'm facing an issue while using Quick OPC DA (EasyDAClient), some tags return null values and type with quality as 'DeviceFailure LimitLow (13)'

Response : 12-BF-132-CV/GH2/OI.CV, NullValue ,DeviceFailure LimitLow (13) ,12/16/2019 4:41:57 PM, NullType

But when i check tags in Matrikon values are set not null.

DA-XML: SubscribeItem with percentDeadBand causes COM exception - by: goosvanbeek

Hello support,

Windows 10 IOT Enterprise and Windows 10 Enterprise
QuickOPC 5.56.475.1
Visual Studio 2019
Exception: System.Runtime.InteropServices.COMException (0x800401F3): Invalid class string

I'm using code as the test example below (for years). Subscribing with the first method works well, the second one causes a COMexception. (test project attached)
This issue occurred after rebuilding my application. On every Win10 machine I test it on. I uninstalled the latest Windows security updates, without result.
Is there a solution to solve this issue?

Regards,
Goos van Beek

Slowly reading or timeout exception - by: denis

Hello,

I trying connection to Matrikon OPC Simulation (remote server) using QuickOPC-Classic in .NET and have some trouble:
1. Time for read tag value about 1 min (with ReadMultipleItems function, client.InstanceParameters.Mode.AllowAsynchronousMethod = false;).
2. Sometimse application getting error with timeout.

At the same time, Matrikon OPC Explorer read data very quickly.

How can I optimize .NET library?

Thanks.

Slowly reading or timeout exception - by: denis

Hi,

I trying connection to Matrikon OPC Simulation (remote server) using QuickOPC-Classic in .NET and have some trouble:
1. Time for read tag value about 1 min (with ReadMultipleItems function, client.InstanceParameters.Mode.AllowAsynchronousMethod = false;).
2. Sometimes application getting error with timeout.

At the same time, Matrikon OPC Explorer read data very quickly.

How can I optimize .NET library?

Thanks.

Getting 0x80070005 Error with OPC DA - by: maged.emara

We are trying to read data from OPC server hosted on separate server but in the same network, we're facing issue access denied issue (details below), The QuickOpc doesn't provide a way to pass username/password of the server (before we used Java-based library which allows that) we found some posts in QuickOPC online forums which mention that any credentials or access should be set and configured from outside the program.

Can you help me to find out what exactly should be configure outside the program and whether specific account needs to be created/configured on the client machine?

Error :
Error :An OPC operation failure with error code -2147024891 (0x80070005) occurred, originating from 'OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient' and with depth of 1. The inner exception contains details about the problem.

Code snippet:
EasyDAClient Client = new EasyDAClient();
EasyDAClient.SharedParameters.ClientParameters.UseCustomSecurity = false;
EasyDAClient.SharedParameters.ClientParameters.TurnOffActivationSecurity = true;
EasyDAClient.SharedParameters.ClientParameters.TurnOffCallSecurity = true;

//no paramters for passing the credentials, only hostname and progid
var resp = Client.ReadItem(new ServerDescriptor(myConfig["HOSTNAME"], myConfig["PROGID"]), new DAItemDescriptor(a));

Growing in memory with WriteMultipleValues - by: kristof2015

Hi,
I get the problem that each execution of WriteMultipleValues, the memory grow about 200kB.
This not happend with single WriteValue.
Is there some freememory function?

Thanks,
Krzysztof
Viewing all 1794 articles
Browse latest View live