没有合适的资源?快使用搜索试试~ 我知道了~
OPC 7日 日记 OPC学习
需积分: 9 12 下载量 185 浏览量
2011-01-10
09:35:25
上传
评论
收藏 204KB DOC 举报
温馨提示
试读
17页
OPC 7日 日记在此之前基本上只是知道有OPC,在五月四日开始,我学了七天。
资源推荐
资源详情
资源评论
我从北京买了一本《OPC 应用程序入门》,在此之前基本上只是知道有 OPC,在五月四日开始,我学
了七天。其中有苦有甜。我写下来,权做休息或是练练打字。
第一天
安装了《入门》提供的东西,包括是下面几个文件。还有个批处理文件,是一个注册过程。
opccomn_ps.dll
opcproxy.dll
opcdaauto.dll
OPCTrend.ocx
OPCBar.ocx
OpcServer.exe
OPCJDADemoServer.exe
看了一阵书,知道了前三个是:通用接口,PROXY-STUB,自动化接口。不明白。
后面两个是 demo 服务器。
上网,用 GOOGLE,查 OPC,很自然就找到了 www.opcconnect.com.,又下了个 free
服务器。安装了(注册)。
到了工控网,看到有人在推荐 clienttools,就下了一个,叫 WXOPC。运行一下,
点击连接服务器图标,立即出现了三个:
OPCJ.SAMPLESERVER.1
OPCJ.DADEMOSERVER.1
HEXATEC.PCDATA
第三个是 opcconnect 上 download 的计算机基本情况的简单程序。
点击他们,还出现了一些“item”,“value"的内容还在变,有意思。我就想这
工具还真不错,不知我能不能做到,但一想,如果这些功能都做不到,这 OPC 就没多少
人敢学,也就没有市场。
有一段时间没用 VB 了,先热了热身,看了自己过去编过的 code。
第二日
今天先看书。
《OPC 应用程序入门》,40 元,我花了 48 元,从汇款到收到用了 12 天,拿到手上,感觉很单
薄。我的看书观点是:在看的过程中迷信书,看完后怀疑书,然后忘记书。尽管这本书上我立即就发现
有错误。我还是仔细地看下去。
这是一本教人们用 VB 编应用客户端程序的书,希望让一般工控技术员认识 OPC 其实不复杂,最起
码编用户程序(客户端)不难。
在这之前,我对 COM 和 DCOM 技术有所了解,也是很模糊的,OPC 以 COM 和 DCOM 技术为基
础,主要是在服务器端(server),而在用户端并不要很在意它们。
书上对 OPC 体系有描述,我画了个图。
OPCserver 是 COM 组件,如果安装(注册了)一个 OPCserver 后,利用 WINDOWS 的组件工具可
以看到,如果这个 server 安装在别的计算机上,不是本地机,那它就是个 DCOM 组件(分布式)。
OPC 基金会公布了通用接口(用户接口),用 C++访问 OPCserver 只要通过这个接口就可以,并没
有必要了解 OPCserver 是怎么工作的。
对于 VB、VBA、EXCEL、DELPHI 等编程软件或工具,不能直接访问通用接口,而要通过所谓的
自动化接口(automation interface),OPC 组织发布了 DATA ACESS 2.0,实际上已经有了 3.0 版。
而在通用接口和自动化接口之间还有一个东西,是成对使用的,有点象 MODEM,在两个接口之间起
数据传输作用,有个名字叫 PROXY_STUB(代理—占位,翻译还不如不翻译,反正不懂)。
我在第一天中安装的几个 DLL 中:
OPCcomn_ps.dll 通用接口
OPCdaAuto.dll 自动化接口
OPCProxy.dll PROXY-STUB
我们的任务是用 VB 编写客户端程序,只要知道怎样用自动化接口就行了。其他的不去钻了,要不
一年也搞不明白。
我运行 VB6.0,新建一个新工程,点击菜单中的“工程”.“引用”,选择”OPC AUTOMATION 2.0”,
就可以利用自动化接口。
《入门》没有建议将这些 DLL 安装在什么目录,我觉得放在 WINDOWS 的 SYSTEM 下是比较好
的。
按照书上的顺序,先了解 OPC 的数据组织。我也画了图。
我们要的就是 item,翻译成标签,这就是点,我们所谓的点,比如 PLC 的 I/O 点,仪表的数值等。
编客户端的开始就是找出数据。
根据书的介绍,要访问标签,还有其他工作要做。
我累了。明天再说。
第三天
昨天说到访问标签先要做些事。
首先要找出你要访问的 OPC 服务器的名字,连接它,建立一个组( GROUP)的集合,在下面建立
一个具体的 GROUP,在这个组中添加一个或多个标签。才可以访问。
我用第一天下载的 WXOPC 工具,看到了三个服务器,我选择了其中一个
hexatec.pcdata.1,是一个计算机基本情况的 DEMO 服务器,我发现服务器的名字都是这种格式。
按《入门》的样子,做了个客户端的架子,一个小时后完成了服务器的连接,新建组集合,建
立一个具体的组。下面有些不清楚。干脆拿《入门》的演示程序打开来研究。
直接运行,没问题,看到了数据的变化,决定看其原代码。
它用的是 OPCJ.SAMPLESERVER.1 这个服务器,没有实际意义,每个数据都可以读写。
我发现标签名可以任意编,好奇怪。但是我用 WXOPC 看到的标签,数据却不一样。
我在 FORM 上加了个 text 控件,叫 text1,我让服务器名等于 text1.text,这样我可以自由换服
务器,还不错,几个服务器都可以连接上。但是只有它自己的服务器才可以读出数据。是不是骗人。
试一下按服务器自己的 ItemID 去访问,我用 WXOPC 找出 hexatec.pcdata.1 的标签名,比如
“version”,发现还是出错。
我又到工控论坛上,问已知标签怎样才可以读出数据。没有人回答。
我给自己留下了两个问题:
1÷怎样获得本机上得所有 OPCserver,获得正确的名字。我看到 WXOPC 可以。论坛上也很多人在
问。
2÷如何访问 ITEM,取得其数据等。
又看了一会书,看了有关 OPCSERVERBROWSER 的内容,好像是有用。
今天到此为止,
休息
第四天
熟悉 OPCSERVERBROWSER 的用法。主要有 showbranchs,showleafs,movedown,movetoroot
等等。OPC 服务器,实际上是一棵树,有 brahchs 和 leafs 组成。我编了一个简单的 SUB,实现了两
层的树的 ITEM 的枚举,实现不了第三层。这实际上是树的遍历算法问题。我不知怎么做。我准备去问
别人。
从形式上所谓的 GROUP/ITEM 和 branch/leaf 是一样的,实际上并不是。GROUP 是用户自己添加
的,并不一定要和 OPC 服务器 Branchs 一样,每个 LEAF 是一个 Item,它们可以有用户任意放在哪个组
中,不必考虑在服务器中是在哪个 branch 下,也不必考虑在第几层。
既然我知道了每个 ITEM 的 ID,我想我可以得到各自的 SEEVERHANDLE(句柄),从而访问到实
剩余16页未读,继续阅读
资源评论
lengyinhan
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功