c# – .NET与西门子PLC S7 200连接

我正在尝试使用西门子PLC S7 200连接.NET(C#或VB无关紧要).但是我无法建立连接.我正在使用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幽默放在那里)到哪里看?

我无法让西门子PC-Access安装在这台机器上,稍后会尝试使用WinXP 32bit.我读过一些关于机器上需要OPC服务器的东西吗?

请耐心等待,第一次与PLC接口:/

解决方法:

COM异常是一个相当普遍的错误,表示无法加载COM库本身或其依赖项.我要检查的一些事情是:

> COM库是否已在机器上注册?您可以使用regsvr32注册COM dll.
> COM库是否需要其他可能不在计算机上的依赖项?您可以使用dumpbin /dependents来解决这个问题.
>是否必须在机器上安装Siemens PC-Access软件?你说你无法安装它,这可能解释了为什么无法加载COM库.

不幸的是,这可以解决您的具体问题.但是,我可以指出,您可以使用以下产品作为OPC服务器,并具有与西门子S7兼容的驱动程序.这些将是使用西门子OPC服务器的替代方案.

> Matrikon
> Kepware

我过去使用过这两种产品,我很确定我使用其中一种产品(我记不起哪一款)与西门子S7对话.

此外,here是一个非常好的网站,其中包含有关在.NET中使用OPC的信息.

上一篇:【转】理解qemu对设备的模拟机制


下一篇:HAMX