Open GoogleCodeExporter opened 8 years ago
Sorry, i forgot it:
using frl_8.12_r167.exe on Win7 SP1 (x86) and Boost 1.55 / compiled with VS2012
Express
Original comment by christia...@gmail.com
on 7 Jan 2014 at 5:45
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?
Original comment by dethero...@gmail.com
on 17 Oct 2014 at 8:23
@detheroc54 For this purpose your client must implement IOPCSyncIO or
IOPCAsyncIO2 interfaces
Original comment by serg.bab...@gmail.com
on 17 Oct 2014 at 8:50
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??
Original comment by dethero...@gmail.com
on 17 Oct 2014 at 1:31
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.
Original comment by serg.bab...@gmail.com
on 17 Oct 2014 at 8:39
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?
Original comment by dethero...@gmail.com
on 21 Oct 2014 at 3:12
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<int, frl::String>(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);
}
Original comment by serg.bab...@gmail.com
on 21 Oct 2014 at 9:52
Original issue reported on code.google.com by
christia...@gmail.com
on 7 Jan 2014 at 5:40