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 CatSorry, 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 BearHi, 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 Bearim 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 HippoMy 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 Beari 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 HippoIn general, all right. Minimal code looks like https://github.com/gmist/frl/blob/master/test/opc_server/main.cpp
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