解决OpenOPC报错: Dispatch: invalid class string
如果已经确保了装好了32位的python环境,且安装好了OpenOPC,运行OpenOPC的时候出现了下面的错误,很有可能是缺了链接库。
Traceback (most recent call last):
File "main.py", line 15, in <module>
opc = OpenOPC.client()
File "D:\Program Files\anaconda3\envs\py37_32\lib\site-packages\OpenOPC.py", line 173, in __init__
raise OPCError(error_msg)
OpenOPC.OPCError: Dispatch: 无效的类字符串
原回答链接如下,其中包含了很多问题的详细回答:
https://sourceforge.net/p/openopc/discussion/709251/thread/219327d9/
其中一个对我有效的解决办法是:
- 下载这个链接的内容。
http://www.gray-box.net/download_daawrapper.php
- 使用管理员权限运行:
C:\Windows\System32\regsvr32 D:\python环境\graybox_opc_automation_wrapper\x64\gbda_aut.dll
- 使用管理员权限运行:
C:\Windows\SysWOW64\regsvr32 D:\python环境\graybox_opc_automation_wrapper\x86\gbda_aut.dll
使用的exe应该都是上面的路径,但是加载进入的dll文件每个人都是不一样的。如果dll文件加载成功,应该是会弹窗加载成功的。如果没有,请核对一下是不是使用的管理员权限运行的命令窗口。