OPCDAAuto的一个坑
最近项目需要对SCADA系统的下位机采集实时数据,常见做法是两种,一种采用ModBus RTU/TCP协议直接通过支持ModBus的下位机通信,一种是通过OPC规范,使用厂商提供的OPC Server进行中转读取下位机数据。
这里的坑就是在开发连接OPC Server的客户端工具时遇到的。
使用.Net开发,最关键的是使用OPCDAAuto.dll,而且几乎只需要它即可实现最基本的数据访问功能。但是这里遇到个坑,配置OPC Server的同事告诉我PC Access SMART 配置到跨PC(俩PC应该通过TCP协议能够互访, 即同局域网或vpn等形式)可访问,说是防火墙等等需要配置,win7似乎比XP麻烦所以需要我直接在OPC Server运行的机器上开发调试。这里开发没问题,dll顺利的引用了。之后准备测试跨pc访问的时候,把代码工程搬到我的机器上了,结果发现这个OPCDAAuto的引用死活添加不上,提示检查是否有访问权限或者是否为.Net类库或已注册的COM。
说实话第一次遇到这种问题,非常懵逼。同事看了也说没遇到过,只好自己研究。显然regsvr注册也不成功。一度我怀疑是不是因为vs版本或者win10不支持这个dll。。
最后是运气好,决定看看搜索条目最多的关于这个dll注册的事情,才发现原来这个COM是个32位的,64位系统直接注册无效。
【解决方案】
首先将这个dll拷贝到C:\windows\SysWow64 下,再使用regsvr32 进行注册。
这样之后vs里就可以正常引用了,当然需要在添加引用时选择COM组件里找到这个类库。
【经验总结】
排错时应该加上对系统位数的考虑,因为忽略32位和64位的区别造成一度开发停滞也是醉了。。
【最后是吐槽】
西门子的工业技术支持网站做的真挫啊。。。。。
还有那亲爱的OPC 基金会的官网,好多bug连资源页面都进不去。。。
不知道工业自控这个领域是太封闭了导致网上几乎没什么资料还是什么原因,感觉获取靠谱信息太难了。
最新文章
- android 控件在不同状态下的内容样式与背景样式
- File类-文件基本操作
- Add listitem with javascript 分类: Sharepoint 2015-07-16 20:23 4人阅读 评论(0) 收藏
- SVO实时全局光照:中等规模场景的GI实现
- 转:【工欲善其事必先利其器】—Entity Framework实例详解
- 【风马一族_C】c语言版,在2到n中寻找出所有的素数
- 百度地图之POI
- 【JDBC】预编译SQL与防注入式攻击
- [Angular 2] More on *ngFor, @ContentChildren &; QueryList<;>;
- Apache multiple domains setup
- readonly 与 const
- vim实用技巧总结
- PHP5.4 for Apache, php 5.4.0安装过程、方法、配置 ; Apache2.2支持php5.4的配置方法
- 设置tableView的分割线填满cell的方式总结
- HDU3389 Game
- 使用FreeHttp强制登出微信公众号登陆状态(实现~原理)
- 小奶狗给小喵咪上CSS课程
- PHP超精简文章管理系统 Summer Article
- pro.antd.design
- 23.纯 CSS 创作一个菜单反色填充特效