0

我正在开发一个 OPC(DA) 服务器,该服务器创建一组服务器项并将它们发送到 OPC 客户端。每个项目都有一个“名称”值,用于确定项目的显示顺序。每个项目的名称结构如下:

Sites.<SiteID>.CurrentValue

所以数据可能看起来像:

Sites.0001.CurrentValue
Sites.0002.CurrentValue
Sites.0003.CurrentValue
Etc.

或以树格式:

Sites:
  0001:
    CurrentValue
  0002:
    CurrentValue
  0003:
    CurrentValue
  Etc.

由于项目是按名称排序的,并且项目名称的唯一可变部分是站点 ID,因此项目实际上是按站点 ID 排序的。当 OPC 客户端显示项目时会出现问题。它们的显示顺序完全不同:

Sites:
  6219
  13501
  13502
  4000
  4001
  626262
  4002
  4003
  4004
  4005
  4006
  4007
  4008
  0030
  4009
  0200
  79791
  Etc.

我一直在尝试推断出某种逻辑排序系统来给出这个结果,但我什么也没看到。我已经用几个 OPC 客户端(Matrikon、dOPC、KEP)进行了尝试,它们都始终按上述顺序呈现项目,这让我相信存在某种通用 OPC 订购系统,但我无法做到找到任何东西。

我的希望是,如果我能找出 OPC 是如何订购这些项目的,我可以在 OPC 服务器中订购这些项目,以便它们在 OPC 客户端中以逻辑顺序显示。

我的服务器是基于 Advosol 的(我没有足够的声誉来创建新标签)。

4

0 回答 0