Online Forums
Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.
Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.
Do not use the Contact page for technical issues.
- Forum
- Discussions
- QuickOPC-UA in COM
- Alarms and Conditions
- UA Alarms&Conditions in FreePascal (Lazarus)
UA Alarms&Conditions in FreePascal (Lazarus)
have you tried to reimport the type libraries, using the procedure described on kb.opclabs.com/First_experiences_using_QuickOPC_with_Free_Pascal_(Lazarus) (basically similar to what you have done earlier yourself)?
The readme.txt file that goes with the examples says "We do not regularly update examples in this folder with new versions. You may have to modify the code to use newer versions.". Basically every change to our APIs may require a reimport of the TLBs, and in absence of an automated tool do that, it is not worth to do that manually for a rarely used set of examples.
If re-importing does not fix the issue, let me know.
Regards
Please Log in or Create an account to join the conversation.
- Joachim@FreePascal
- Offline
- Premium Member
- Posts: 8
- Thank you received: 0
now I tried the version 2016.2.
The examples are fine for me. They compiles without error, but they won't run.
When I try to read from server it crashes
J
Please Log in or Create an account to join the conversation.
Can you please send me your project (zipped), so that I can start easily?
Thank you
Please Log in or Create an account to join the conversation.
I have downloaded and installed IndraWorkds Ds. But I have no idea how to make it work - can you give me step-by-step instructions?
Also, there is no uaconfig.cfg, neither have I found the \plc\ folder on the whole system.
In the meantime, I will be downloading and experimenting with Lazarus Pascal.
Best regards
Please Log in or Create an account to join the conversation.
Regards
Please Log in or Create an account to join the conversation.
- Joachim@FreePascal
- Offline
- Premium Member
- Posts: 8
- Thank you received: 0
a trial version of the Rexroth Indraworks Engineering is free for download :
www.boschrexroth.com/dcc/xMediaApplications/Download.cfc?met...14%5FP1%2Ezip&Variant=internet
It includes an emulation for the control including the OPC-UA server. May I can show you how to make it run.
There is a very good help included, but maybe takes more than one try to make it run.
The Server is configured in the file uaconfig.cfg, in the folder \plc\.
You have to adjust the TcpPort and the discoveryURL.
Please Log in or Create an account to join the conversation.
A. I do not think the problem is that much in the use of Lazarus Pascal itself. You certainly know how to develop with it, and the issue you are seeing doesn't seem to be related to the language.
This said, I am willing to give it a try here.
B. On my side, it would be easiest if I had access to the server you are working with - either a) obtain a trial version of it for us to install here, or b) a remote access (open endpoint) to its test installation somewhere on Internet. Is a) or b) feasible?
C. Unfortunately, we do not currently have examples of how to use UA event filtering in any of the COM-based tools (only in C#/VB, but it's done a bit differently there, because the methods can have many overloads and thus we could provide functions that make it easier).
I will prepare some example for UA event filtering.
The example will be for our standard "demo" server only, unless we obtain access to the server of yours.
D. The above (C) explains why SubscribeEvent does not have a parameter for filtering. It is meant for the simplest case only. What is actually needed, if you want event filtering, is to use SubscribeMonitoredItem (or SubscribeMultipleMonitoredItems), and construct an event filter for that. This will be covered by the example I want to do.
Best regards
Please Log in or Create an account to join the conversation.
Sent: Tuesday, September 20, 2016 8:14 AM
...
Subject: AW: OPC Labs Download Follow-up Form
Hello,
I would like to experiment with filters, but I don't know how.
There are a lot of options in the OpcLabs.EasyOpcUA.dll, but I have not found the right way to set filters for the events. Sorry.
The declaration for Subscription is:
function SubscribeEvent(endpointDescriptorString:WideString;nodeDescriptorString:WideString;SamplingInterval:Integer):Integer;safecall;
Best regards
J.
Please Log in or Create an account to join the conversation.
- Joachim@FreePascal
- Offline
- Premium Member
- Posts: 8
- Thank you received: 0
Can you show me how to set a filter, I can send you my sources. Lazarus is free and easy to install. I don't even know how to set additional parameters for "SubscribeEvent". It accepts only three parameters and I found no overload function with more parameters for setting a "UAEventFilter" as a you shown in #4254
Maybe the pascal version from the "OpcLabs_EasyOpcUA_5_40_TLB" is not complete.
I use the 64 bit version.
Best Regards
J
Please Log in or Create an account to join the conversation.
The server reports an error, BadMonitoredItemFilterInvalid . Currently I do not know what is causing it. It could be something on the client side (a truly invalid filter), or on the server side (a valid filter that is incorrectly being rejected by the server).
Here are some things that can be done:
1. Ask the server vendor to provide information about when the server reports this error, or how to obtain the precise reason for it (i.e. what is invalid about the filter).
2. Experiment with actually adding some non-empty event filter (because right now, a "minimal" filter is being used, which is kind of unusual).
3. Analyze the communication between the server and the client using Wireshark - and then try to see either something invalid being issued by the client, or - if nothing like that is found - send that analysis to the server vendor for them to explain/resolve.
Best regards
Please Log in or Create an account to join the conversation.
- Forum
- Discussions
- QuickOPC-UA in COM
- Alarms and Conditions
- UA Alarms&Conditions in FreePascal (Lazarus)