light opc解析

   有错误请大家指正!谢谢!

   OPC是软硬件之间的接口标准,C/S模式,基于微软的com/dcom等技术。。。。。。这到处都是,我整点没有的或者感觉很有用总结的、链接的。

    好的资料找不到,有人说是什么潜规则,暴露这些资料,好多公司,个人会。。。。我这不是牛B资料,自己的一些总结、体会,都是中国人吗,有福同享,有难你们也当不到(呵呵),就一个抛砖引玉的作用,希望opc的高手一起交流!

   opc开发方式: mfc 、atl、开发包或者足够牛B什么都不用。开发包相对来说简单,有好的开放源码,那就乐颠了。

   俄罗斯的一个团队(Lab43 team),乐于助人,在2000年9月到12月整了一个牛B的快速开发商业opc的开发工具包lightopc,免费又开源,我喜欢!有人说这开发包代码很乱,我觉得可能是文化差异。国内的是易用,易懂,但贵得。。。,本人太穷买不起。第一个版本在01年的3月8日发布。

  支持win32平台上开发opc1.0和2.0规范的自定义接口。

  现在的版本:(赖得翻译,翻译得也不好,反而没有英语看的舒服。)

  •  
    • bandwidth monitoring;
    • deadband calculations;
    • ARRAY type is allowed for the tags;
    • extensive logging;
    • application interface in pure "C";
    • BrowseServerAddressSpace is implemented;
    • both in-proc & out-of-proc server types supported;
    • "Free" & "Both" threading models.

Left unimplemented yet:

  •  
    • PublicGroups.

   什么都好就是开发包api说明只有俄语的,汉语不咋地,英语烂,俄语根本就没有概念,有个懂俄语的就好了!

    没有办法,想详细了解这个好东东,先了解怎么用,以后再深入了解这个开发包内部代码。

    半猜半翻译(有些是对原话进行总结或者。。。):

    1 序言

     没有什么很大用处!不翻译了!

    2 opc结构

    

Opc 客户端

       与服务器不相干,也就是说是适用所有服务器

Light opc

       Dll,支持opc-da接口

驱动程序

      就是连接硬件设备和light opc编写的。。。

Opc 服务器

      驱动程序加light opc编写的。。。

下面很多基础普及,感觉对opc高手没有太大意义的就略过。

    Light opc 有两个主要对象:loService loClient。

  3.2地址空间

    Opc服务器和客户端的通讯方式,通过调用共享变量也就是标签(项)。

共享变量(标签)由服务器规定,这就是所谓的地址空间(命名空间)服务器

对标签的添加是通过loAddrealtag()一族函数

    3.2.1

  参数意义

    LoTagid  *ti 返回指定服务器整数标识标签,他将在后续使用引用的驱动程序创建一个如loTagValue标记::tvTi 0值对应于不存在的标签。

 

  loRealTag rt “反馈”连接标签,参数将与一个标签,将转交给所有请求的驱动程序(例如,loTagPair::tpRt)。 (大概意思就是)loRealTag有一个指针类型,驱动程序也有一个指针把数据传递给loRealTag的指针。它与服务器穿件的这个标签关联,这样搞可以简化驱动程序对客户端请求的处理,取值可以为0这时表示标签不存在,。。。。。

   const char *tName

标签的名称,对指定loservice来说必须是唯一的,默认情况下,区分大小写,当然你也可以让它不搞过脸敏感,具体措施:loDF_IGNCASE loDriver标志::ldFlags / loServiceCreate()来初始化服务器操作。在注册表中注册的话,注册到哪里,有个扎标签的类别来确定具体函数是setLocale()。。。。。。。

tName可能是空字符串“”或空指针(0,空),将创建无标签在一个单独的组啊注册表理到

 

 

  loAddRealTag_a  简化版本OPC_ANALOG

  loAddRealTag_b  使用tValue, tEUtype tEUinfo,现在用个扎tBase可以节省空间创建超多超多的标签。节省30%,每个标签大概50扎字节。

 

  选项loAddRealTagW(),loAddRealTag_aW(),loAddRealTag_bW()相类似的描述,而是采取了广泛的标签名称。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
原创:这几天一直在研究OPCSERVER的开发.在网上找了好久,都没有C#成型的说明和源码.于是,自己拼凑,终于被我搞成功了.写了一个例子,不含PLC和组态通讯,只有opcserver和客户端之间通讯.客户端的代码大家可以再网上找找,有好多.OpcTools.exe是opc客户端工具.本压缩包中的所有资源均是免费的,可无限制使用.这个例子只写了opcserver的基础部分.大家可以自己修改和完善(重要的部分已经写在例子中了). 一、32位操作系统,执行 OPCdist 库文件\opcdist\ 目录下的setupxp.bat 如果是64位的系统,请自己修改setupxp.bat批处理文件,我的操作系统是win7X64,是可以成功的. 二、建立自己的C#工程.并将Wtopcsvr9.0\Wtopcsvr9.0\WtOPCSvr.dll拷贝到执行目录中. 经过以上两步骤,准备工作 已经完成. 三、打开压缩包中opcservertest工程.工程使用VS2005编写.支持VS更高版本. UpdateRegistry函数是注册服务,UnregisterServer函数是取消注册.多的就不说了,请大家参考文档 WTOPCSvr+使用手册.doc和WTOPCSVRDLL使用说明中文.doc 值得注意的地方是,C#生成的可执行文件必须是32位,否则无法正常加载DLL文件. 经常使用的函数在工程中已经定义并使用.WTOPCSVRDLL使用说明中文.doc中,介绍的是VB中WtOPCSvr的使用方法.大家可以把VB的转变成C#的.我的工程中,已经给大家做了示例. 所有的文件:源码,dll文件,说明文件,都包含在压缩包中.大部分都在CSDN网站上下的. WtOPCSvr.dll应该是注册版的,在SerialNumber.txt中有注册码.我不知道怎么注册,大家可以上网搜搜.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值