C# OPC Client遇到了个问题,怎么也解决不了

sinat_34248511 2016-03-21 04:29:09
创建组出现错误:无法将类型为“OPCAutomation.OPCServerClass”的对象强制转换为类型“OPCAutomation.IOPCGrpoups”
...全文
858 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲娇的蝎子 2017-04-10
  • 打赏
  • 举报
回复
原因是使用的OPCDAAuto.dll文件的版本太低,.NET必须使用V2.02及以上版本才行。可以从OPC基金会官网下载新版本的dll,并且重新注册,然后重新添加引用(注册与添加引用的方法在下面)。 OPC客户端开发中经常遇到的问题及解决方法: 1.编译时弹出21号错误,提示未声明名称“OPCAutomation” 是因为没有添加OPCAutomation引用,解决办法点击菜单“项目”--“添加引用”--“COM”,选中“OPC DA Automation Wrapper 2.02”,点确定。 2.连接服务器时弹出“OPC server connect failed with exception: 检索COM类工厂中CLSID为{28E68F9A-8D75-11D1-8DC3-3C302A000000}的组件时失败,出现下列错误:80040154” 原因是OPC组件注册失败,解决方法: 第一步:注册OPC组件 将OPC开发中用到的几个dll(可以从OPC基金会官方网站免费下载)copy到C:\WINDOWS\system32,然后点击“开始”--“运行”,输入 REGSVR32 %WINDIR%\System32\OPC_AEPS.DLL点击确定,会提示OPC_AEPS.DLL注册成功。 需要复制和注册的dll有: OPC_AEPS.DLL opccomn_ps.dll OPCDAAuto.dll opchda_ps.dll OPCPROXY.DLL OpcRcw.Comn.dll 注:可将copy和REGSVR32命令写成bat文件,与dll文件一起生成一个工具包,客户只需运行bat就会自动完成dll文件的复制与注册。 第二步:注册MagicWorks OPC Server的CLSID 安装MagicWorks OPC Server,并成功启动一次,软件会自动注册。 3.客户端在winXP上运行正常,在Windows 2008 64位系统上安装后,点服务器连接时提示出错 解决方法:把opc客户端源码打开,点“属性”--“编译”--“平台”,将“AnyCPU”选为x86,再重新生成exe就好了。 4.客户端程序创建组时出现错误,提示:无法将类型为"OPCAutomation.OPCServerClass"的对象强制转换为类型"OPCAutomation.IOPCGroups"。 原因是使用的OPCDAAuto.dll文件的版本太低,.NET必须使用V2.02及以上版本才行。可以从OPC基金会官网下载新版本的dll,并且按上述问题2的方法重新注册,然后按照问题1的方法重新添加引用。 5.VB.NET工程中添加引用时只有OPC Automation 2.0,找不到OPC DA Automation Wrapper 2.02,原因及解决方法同上述问题4。
sinat_34248511 2016-03-22
  • 打赏
  • 举报
回复
sinat_34248511 2016-03-21
  • 打赏
  • 举报
回复
private bool CreateGroup() { try { KepGroups = KepServer.OPCGroups; KepGroup = KepGroups.Add("OPCDOTNETGROUP"); SetGroupProperty(); KepGroup.DataChange += new DIOPCGroupEvent_DataChangeEventHandler(KepGroup_DataChange); KepGroup.AsyncWriteComplete += new DIOPCGroupEvent_AsyncWriteCompleteEventHandler(KepGroup_AsyncWriteComplete); KepItems = KepGroup.OPCItems; } catch (Exception err) { MessageBox.Show("创建组出现错误:"+err.Message,"提示信息",MessageBoxButtons.OK,MessageBoxIcon.Warning); return false; } return true; }

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧