是否有任何轻量级OPC服务器可以在同一台机器上运行多个实例?

时间:2014-06-11 09:43:37

标签: opc

我想将OPC客户端的性能测试运行到100台服务器,但我不想运行100台机器

有没有办法将其设置为测试目的?

1 个答案:

答案 0 :(得分:0)

如果它们是OPC-DA(或A& E,HDA)服务器,并且您真的对客户端部分的性能感兴趣,并且不介意实际使用仅仅"看起来& #34;像其中的100个,你有可能使用以下技巧:

  1. 使用REGEDIT,在HKEY_CLASSES_ROOT下,找到包含服务器ProgID的条目。其目的是指向服务器的CLSID。
  2. 制作100个此条目的副本,每次给它一个不同的ProgID,但仍指向相同的CLSID。
  3. 使用您创建的ProgID将客户端配置为连接到100个不同的OPC服务器。
  4. 如果您的客户只使用ProgID来识别"身份"对于服务器,它会认为它连接到100个不同的服务器,它会将它们视为这样,即创建100个单独的连接。但是,如果客户端首先将ProgID转换为CLSID,它将看到相同的CLSID,并且它不会起作用。显然,即使这样做,性能测试也会在服务器方面受到影响,因为只有1个服务器进程,而不是100个。

    请注意,不能以这种方式更改CLSID,因为它也在服务器内的COM类工厂中进行了硬编码。

    我想到的另一个疯狂想法是使用OPC Tunneler等产品(例如MatrikonOPC)。在本产品中,您可以创建任意数量的服务器",实际上通过隧道连接到其他地方的真实OPC服务器。因此,您可以配置100个隧道(看起来像单独的服务器),所有隧道都连接到1个目标OPC服务器。