Export to GitHub

frl - issue #13

Compatibility with Win7 ? / Problems with OPC Client


Posted on Jan 7, 2014 by Massive Cat

Hey, i`m testing fatrat library on a Win7 (VS2012 Express) environment.

There are no problems to get some values with a OPC Client on the machine holding the "fatrat"-powered application.

I`ve some troubles to get values from a "remote" OPC Client (other machine). The "access denied" failure comes up. After changing the DCOM settings the problems are still there.

Did you test the remote OPC-Client constellation ? (Application on server, OPC Client on other machine) Are there a chance to get this running (server and client on Win7) ?

Thanks.

Chris

Comment #1

Posted on Jan 7, 2014 by Massive Cat

Sorry, i forgot it:

using frl_8.12_r167.exe on Win7 SP1 (x86) and Boost 1.55 / compiled with VS2012 Express

Comment #2

Posted on Oct 17, 2014 by Happy Bear

Hi, i have a question, because i see that you know how to do this about which function i must use to read/write data from client to server?

Comment #3

Posted on Oct 17, 2014 by Quick Hippo

@detheroc54 For this purpose your client must implement IOPCSyncIO or IOPCAsyncIO2 interfaces

Comment #4

Posted on Oct 17, 2014 by Happy Bear

im using OPC server from this library so i have branches and leafs. With Your client example i connect to server and i want to read with IOPCSyncIO, but i dont know how to implement. I try but only error appears on my screen. Could you please show me a little example??

Comment #5

Posted on Oct 17, 2014 by Quick Hippo

My client example? Hmm... but I did not implement client code in this library. It is OPC server and nothing more. Try to use any free OPC clients (http://www.opcconnect.com/freecli.php), for example - Matrikon OPC Explorer (very good tool, in my experience). Or try to connect via SCADA with supporting of OPC DA. Unfortunately I'll hardly be able to help you, because I wrote this code more than 5 years ago and since then I wasn't developed OPC servers.

Comment #6

Posted on Oct 21, 2014 by Happy Bear

i have a few question, because i dont understand something. Maybe You can help me:

On server site i think that I only need to do is give parameter about server like clsid, description, version and create branches and leafs, am I wrong? I dont know either if branch means group and leaf item?

If i want to get from PLC data for example 10 000 Real and 10 000 Bool values, that means i must create 10 000 leafs for real and 10 000 leafs for bool?

Comment #7

Posted on Oct 21, 2014 by Quick Hippo
  1. In general, all right. Minimal code looks like https://github.com/gmist/frl/blob/master/test/opc_server/main.cpp

  2. Yes, it is. Something like

frl:String bool_name = FRL_STR("bool_"); frl:String real_name = FRL_STR("real_");

// create leafs for( frl::UInt i = 0; i < 10000; i++) { frl:String i_ = lexicalCast(i); frl:String b_name = bool_name + i_; opcAddressSpace::getInstance(). addLeaf(b_name); b_tag = opc::opcAddressSpace::getInstance().getLeaf(b_name); b_tag->setCanonicalDataType(VT_BOOL); b_tag->write(true);

frl:String r_name = real_name + i_; opcAddressSpace::getInstance(). addLeaf(r_name); r_tag = opc::opcAddressSpace::getInstance().getLeaf(r_name); r_tag->setCanonicalDataType(VT_R4); r_tag->write(0.1); }

Status: New

Labels:
Type-Defect Priority-Medium