
OPC 2.0 in VB6 - advice needed
Dave,
Please, also forward your replies on replies to the newsgroup. In this vb
COM newsgroup not that many people will be working on OPC, but some may find
the discussion interesting. It is just the way newsgroups are being used.
Anyway, on toolkits: I do not know about an open source Light-OPC project. I
do know a little about commercial toolkits. For our company OPC servers
should not only support the Data Access specification, but the Alarms &
Events specification as well. At the time we were searching for a toolkit
only two of the commercial toolkits supported both these specs, namely
Iconix and FactorySoft.
Unfortunately, the distributor of Iconix products in the Netherlands kept
(and still keeps) sending information on the Iconix Genesis SCADA-tool, but
I never got any decent info on the OPC toolkit (and I definitely believe I
clearly asked for that). So, that one was written off. The distributor of
FactorySoft did a better job and in the end we decided to buy a single user
license for their toolkit.
Ultimately, we are very sorry we did. It is not worth the (lot of) money you
have to pay for it. The quality of the software is very, very poor to the
extent that I definitely would not want to have the programmer(s) of it work
on my R&D software departement (which I am currently managing). Besides the
poor quality, it is strictly based on use of MFC and I hate MFC (lacks use
of common sense design patterns, sticks to old-style C++ programming with a
lot of pointers instead of references and is full of incomprehensible
macros).
Currently, we are working on our own (of course very good) toolkit.
Unfortunately, my company has no interest in making the end product
(commercially) available, because selling standard products (with matching
support) falls outside of our core business. It will be for internal use
only.
If you do not need the Alarms & Events specification, but only the Data
Access part, other commercial toolkits besides the ones I have mentioned
above may be suitable to your needs. I believe you can find some reviews on
several of such toolkits on the CERN web-site (just use Google and search
for CERN and OPC; that should lead to into the right direction, although I
have not tried this).
On the other hand, if you need to build an OPC server only once, why use a
toolkit at all. An OPC server is nothing more than an ordinary COM server
with (a lot of) OPC specific interfaces to implement. It is not that hard to
build one, that is, if you know your way around when it comes to COM
programming. And I think there is your real challenge. If you want to make
the step from vb to C++ you may not find this to be an easy step. I can tell
from what I see in my departement where one of the very good vb programmers,
with reasonable knowledge of plain 'C' as well, currently has a very hard
time understanding C++ code I have produced sometime in the past.
Once you think you can manage C++ a bit, the next step is learning COM
programming, which requires you to mix C and C++ programming styles a bit,
plus most likely requires you to dive into Windows multi-threading, requires
at least a little knowledge of IDL and requires a basic understanding of
concepts such as COM apartments and marshalling.
I am not trying to talk you out of trying it. I am simply telling you that
whatever way you choose, you may not find it an easy job. Anyway, I hope all
of this helps a bit.
Good luck,
Rens Segaar
senior software engineer
Trend Technology Systems BV, The Netherlands
www.trendtts.nl
Quote:
> Rens,
> Bad news, but thank you for clarifying it - I couldn't tell before if VB
> just wasn't the language of choice for OPC or if it was actually
technically
> impossible. I've never had the time to fully learn C++, but I guess this
> will be the motivation I need.
> Do you have any opinion on the commercial development toolkits vs. the
free
> code from the open source Light-OPC project? The cost of the commercial
kits
> is somewhat high given that I'll only be using it for one project.
> Thanks,
> Dave