我们正在尝试用特定的对象结构实现OPC Server,如下面的示例所示:
但是,由于一些奇怪的原因,在几个OPC客户端中,项目显示如下:
我们的主要问题是对列表中的项目进行排序。正如您在屏幕截图中看到的,项目没有在OPC客户机中显示,我们已经尝试过几个OPC客户端,其中一些客户端有一个特殊的选项来以排序的方式显示项目,而另一些则没有。
问题是..。如果我们要为市场上所有现有的OPC客户端创建通用OPC服务器.服务器有责任为排序的项目提供服务,对吗?或者..。这是客户的责任吗?
从概念上讲,哪种方法是正确的?
我的感觉是,OPC应该给出所有的项目排序,但我不确定它是否可能和标准。
否则,世界上有很多SCADA系统,当然,试图在屏幕上显示项目列表会显示它们没有排序,就像提供的示例中一样,当列表中有大约300项时,这是一个大问题。
谢谢你的合作!
发布于 2014-10-13 14:44:10
项目的顺序在OPC规范中没有任何意义。此外,OPC不“告诉”服务器应该以什么顺序枚举项目,也不“告诉”客户端应该以什么顺序显示它们。
如果您想要查看以特定方式排序的项目,最好的方法是开发OPC服务器,以便它确实按该顺序枚举它们。这样做时,不以任何方式对传入项进行排序的OPC客户端将按照您所选择的顺序列出它们。如果OPC客户端决定以某种方式对项目进行排序,那么您就不走运了--他们总是会按自己的方式进行排序。我认为,向用户展示项目的优秀OPC客户端应该允许他们影响订单,但这取决于他们。
此外,您提供的示例顺序与使用“哑”排序对字符串进行排序时所发生的情况有些相似,而不是在其中查找自然数顺序。这就导致了数字排序,其中数字较少的数字被分散在有更多数字的数字中,而不是将数字作为其数值。但是,如果是这样的话,你的例子会更像这样:
- Node Y这不是你要得到的吗?(但无论如何,答案的第一部分还是适用的)。
https://stackoverflow.com/questions/26341994
复制相似问题