Professional OPC
Development Tools

logos

Can Develop OPC XML DA C++ client in Visual Studio 2015?

More
27 Sep 2016 17:27 #4395 by Vasanth
Hi,

I am using version 5.40 only, Let me try your steps and get back to you.

Thanks a lot.

Please Log in or Create an account to join the conversation.

More
27 Sep 2016 15:37 #4394 by support
I was able to reproduce the problem with version 5.40. With that version, you can work around/resolve the issue as follows:

0. Make sure you back-up the source code changes you have made, just in case they get overwritten.

1. Re-run the QuickOPC installation.

2. On the 2nd page of the wizard ("Installation Dashboard"), select "Custom install".

3. On the next page ("Select Components"), select "Full installation" (or any other installation that includes what you need).

4. On the "Select Additional Tasks" page, check the box next to "Install component assemblies into the GAC. ...".

5. Finalize the installation.

This should help
Best regards
The following user(s) said Thank You: Vasanth

Please Log in or Create an account to join the conversation.

More
27 Sep 2016 15:04 #4393 by support
Which QuickOPC version are you using please ?
The following user(s) said Thank You: Vasanth

Please Log in or Create an account to join the conversation.

More
27 Sep 2016 12:02 #4389 by Vasanth
Thanks for the update,Still I have confident that we can do it in C++.

Is there any specific third party frameworks and libraries are required to be installed in my dev environment, because in dependency walker I could see lot of dll's are missing for Opclabs.baselib.dll?

I have .NET Framework 4.6 SDk, 4.5.1 SDKs installed. Let me know if any other .NET Framework is required.
Or I can develop this VS 2012 as you always ship in that environment.

Is it feasible to do that, since if sample is ready I need to support Reading, Subscribing and Event & Alarms?

Please let me know the updates asap and awaiting for your reply. If possible can you commit on ETA, just for management perspective.

And also is there any other paid version which could help me to do this, if it so we are ready to buy.

Thanks for understanding.

Please Log in or Create an account to join the conversation.

More
27 Sep 2016 10:03 #4387 by support
This can be something installation-related, or a problem on our side. The COM-based ReadMultipleItems works because on the lower, it loads assemblies that are different from those that are needed when OPC XML-DA is involved.

I will investigate here and let you know. And I am quite confident that we can make this work. But I cannot give you a result immediately right now - please bear with me.

Regards
The following user(s) said Thank You: Vasanth

Please Log in or Create an account to join the conversation.

More
27 Sep 2016 09:15 #4386 by Vasanth
Hi, Any updates i need to report management if C++ XML DA client is possible or not? let me know your inputs please. BTW no clues from my side.

Please Log in or Create an account to join the conversation.

More
27 Sep 2016 06:40 #4385 by Vasanth
Hi,

I just checked with OPC DA sample of ReadMultipleItems and its working fine, In that case assemblies are loaded properly right? Please refer attached image.

Thanks.
Attachments:

Please Log in or Create an account to join the conversation.

More
27 Sep 2016 06:05 #4384 by Vasanth
Hi,

Attached error image and please let me know your inputs.

Mean time I also will try to debug the issue.

Thanks.
Attachments:

Please Log in or Create an account to join the conversation.

More
26 Sep 2016 13:09 - 26 Sep 2016 13:10 #4383 by support
Please change the loop in the example to include displaying of the error, like this:
for (int i = ResultArray.GetLowerBound(0); i <= ResultArray.GetUpperBound(0); i++)
    {
        _DAVtqResultPtr DAVtqResultPtr(ResultArray[i]);
 
	_ExceptionPtr ExceptionPtr(DAVtqResultPtr->Exception);
	if (ExceptionPtr != NULL)
	{
	    _variant_t exceptionAsString(ExceptionPtr->ToString);
	    _tprintf(_T("results(%d).Exception.ToString(): %s\n"), i, exceptionAsString.bstrVal);
		continue;
	}
 
        _DAVtqPtr DAVtqPtr(DAVtqResultPtr->Vtq);
        _variant_t vtqAsString(DAVtqPtr->ToString);
        _tprintf(_T("results(%d).Vtq.ToString(): %s\n"), i, vtqAsString.bstrVal);
    }

Then, report to me the output of the program.
Best regards
Last edit: 26 Sep 2016 13:10 by support.
The following user(s) said Thank You: Vasanth

Please Log in or Create an account to join the conversation.

More
26 Sep 2016 12:00 #4382 by Vasanth
Hi,

DAVtqResultPtr->Vtq is coming empty only, I also tried with ReadItem, ReadItemValue api by passing required parameters but its failing. And the same ReadItem function in C# takes only 2 parameters and returns, infact, we have 4 overloaded function for same name in C#.

ClientPtr->ReadItem(L"",L" opcxml.demo-this.com/XmlDaSampleServer/Service.asmx ", L"Dynamic / Analog Types / Double");
ClientPtr->ReadItemValue(L"", L" opcxml.demo-this.com/XmlDaSampleServer/Service.asmx ", L"Dynamic / Analog Types / Double");

Please help me to address this issue.

Please Log in or Create an account to join the conversation.

Moderators: support
Time to create page: 0.282 seconds

      

 Recommend this on Google