我正在尝试将 .NET(C# 或 VB 无关紧要)与西门子 PLC S7 200 连接起来。但是我无法建立连接。我在 Win7 64 位机器上工作,但似乎也无法在 32 位机器上工作。我有两个文件:
Interop.OPCSiemensDAAutomation.dll Siemens_s7-200.dll
从我试图迁移到较新系统的另一个项目。但是我总是遇到 com 异常。
Retrieving the COM class factory for component with CLSID {01704EBD-44B5-11D3-9C09-00105A3DD3AC} failed due to the following error: 80040154.
我已经尝试过 libnodave,但似乎也无法正常工作。有人可以为我提供一些指示(请不要在那个上使用 XKCD 幽默)去哪里看吗?
我无法在这台机器上安装 Siemens PC-Access,稍后将在 WinXP 32 位上尝试。我读到一些关于我需要 OPC 服务器或机器上的东西?
请耐心等待,第一次与 PLC 接口(interface):/
最佳答案
COM 异常是一种相当普遍的错误,表示无法加载 COM 库本身或其依赖项。我要检查的一些事情是:
- 计算机上是否注册了 COM 库?您可以使用 regsvr32注册 COM dll。
- COM 库是否需要机器上可能不存在的其他依赖项?您可以使用 dumpbin /dependents弄清楚这一点。
- 是否必须在机器上安装 Siemens PC-Access 软件?你说你无法安装它,这可能解释了为什么无法加载 COM 库。
不幸的是,这是关于我在解决您的具体问题时可以提供的所有帮助。但是,我可以指出,您可以使用以下产品作为 OPC 服务器并具有与 Siemens S7 兼容的驱动程序。这些将是使用西门子 OPC 服务器的替代方法。
我过去使用过这两种产品,我很确定我使用了其中一种(我不记得是哪一种)与 Siemens S7 通话。
还有 here是一个非常好的网站,提供有关在 .NET 中使用 OPC 的信息。
关于c# - .NET 与西门子 PLC S7 200 的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6818451/