真正的可同时读取多个变量的BCB版OPC程序
这是我刚接触OPC时的启蒙程序,那时也是C++(BCB)入门的水平,连指针都还迷迷糊糊的,偏偏这个程序也是同时只能操作一个变量,所以拿到手后很是头痛,既要学C++、《COM内幕》,又要搞OPC,一直在网上想找个可以同时操作多变量的案例,可是实在是稀罕,要么就是VC++的,包括还看到一个叫叶帆的(网名yefanqiu,好像真名刘洪峰)的高手发过一个VC的类,也针对opc技术发过一番经典的牢骚:
好像技术一沾上工业,便有了很高的价值,大家三缄其口,谁都不点破这层窗户纸……
后出差时一个自动化开发公司的技术人员给了我KepWare4.0版的服务器版程序,告诉我其附带有VB、VC的开源程序如果嫌VC难看懂,看VB就很容易。当然也给了KEygen.exe文件,便如获至宝拿来研究。本想从VB开始的,后想到自己终究以BCB为主,就硬啃了一个多月把VC给抽丝剥茧般地给吃下来了,当然中途有另一个做过中国版C++串口类的高手指点。终于完成了VC-BC的换代,陆续的工业项目中便应用了扩展的版本,并经受了工业级强度的考验。
不久前看到网上还有好多BCB的菜鸟寻求opc的开源代码,有人说老妖的ccrun里就有,我下载下来发现就是我的入门程序。也不断碰到要"操作多变量"的BCB程序的帖子,觉得好多人正在走我的老路,为这些连C++的指针与数组都搞不清的"程序员"感到汗颜,但本着共享技术,也想为工控后来人做些什么,于是回头再看这个程序,便动手修改成了可多变量操作的改进版,而且不但改成了读取多变量,还用了listview来显示变量结果;同时使用了防止程序启动两次的小技术,菜鸟可以学习。
本改进程序只作为BCB的opc入门菜鸟学习用,并未经过工业强度的测试,不对应用中出现的问题负责,BCB6.0下调试通过。
可同时读所有变量(同步读一次后异步即开始了),不好做同时写多个变量,留于后续者加工。增加了变量读写属性。
删除了atlvcl.h文件,因为include中已包含,删除了atlprj.cpp,里面就两句#include,转移出去了。
顺便把叶帆的那个VC类COPCClient.cpp 也放在bin文件夹里面(原本就没有.h文件,别问我索要,建议也别找作者索要,其CSDN论坛里索要的人多了,好像还没有人能要得到)供大家参考,另外该.cpp也不能直接引用的,其有个数据结构或是类未公布,还要自己摸透了补充进去,我觉得不算太难。
为尊重源程序开发者(应该是一老外吧),大量的英文注释仍保留着。
自认为该原程序比较值得学习的有几点:
1. 初始化环境使用了一个结构SOLEINIT,程序退出时自动释放
2. 将异步回调函数巧妙地引用到主程序中
3. 变量转换,一个Variant2Str轻松搞定
4. 枚举服务器
希望有后续加工者自认为加工得更好的给我发一份:chench78@126.com
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
OPClient.rar (21个子文件)
Main.cpp 23KB
OPClient.cpp 970B
DataCallbackSink.h 5KB
bin
OPClient.exe 660KB
COPCClient.cpp 12KB
OPClient.tlb 1KB
deltemp.bat 436B
Main.dfm 2KB
opc
OpcError.h 4KB
OPCDA.H 91KB
OPCCOMN.H 15KB
Opccomn_i.c 1KB
Opcda_i.c 2KB
Main.h 6KB
DataCallbackSink.cpp 2KB
OPClient_TLB.cpp 2KB
多余的话.txt 2KB
OPClient_TLB.h 4KB
OPClient.res 3KB
CustomSinks.h 5KB
OPClient.bpr 9KB
共 21 条
- 1
华山沦贱
- 粉丝: 13
- 资源: 24
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页