我一直在寻找关于如何面对我将要解释的问题的信息,但不幸的是,我无法解决这个问题。
我想要创建一个对象CommandType. 程序-- ObjectType ProgrammType 的,其中包含一个ObjectType的实例数组这些命令对象在程序对象中的顺序是相关的。
我正在使用ModelDesign XML文件创建信息模型。关于我想要实现的目标的信息建模,我已经看到了在ProgrammType定义中使用ModellingRule "OptionalPlaceholder“的可能性,尽管老实说,这个ModellingRule的用法对我来说并不完全清楚。
因此,到目前为止,我所做的是将一个带有ModellingRule "OptionalPlaceholder“的”OptionalPlaceholder“类型的对象作为子对象添加到ProgrammType定义中。然后,在实例化部分,我将创建命令对象,最后我将使用来自Programm对象的"HasOrderedComponent“引用它们。我不确定这种方法是否真的有意义,它正在提升以前在OptionalPlaceholder定义中定义的“ProgrammType”。如果这不是他们做这件事的正确方法,请告诉我该怎么做。。
据我所理解,"HasOrderedComponent“引用意味着服务器总是以相同的顺序返回元素。
我正在从一个ModelDesign XML文件生成UANodeSet XML文件,然后使用这个NodeSet创建一个Open62541服务器。
所以我的问题是:
1.)这是我的建模方法对吗?有没有更好的方法来模拟我描述的乞丐?
2.)当我从基于Open62541的客户端检索到Open62541服务器中的Programm对象中的"HasOrderedComponent“引用的命令时。
中添加引用的顺序。
非常感谢您提前!顺便说一句,一旦我成功地建模了我正在做的工作,我就可以准备一个关于如何在OPC中建模的详细说明,如果您认为它可能相关的话,可以用来扩展Open62541文档。
诚挚的问候
发布于 2020-11-16 13:48:07
如果提前知道程序将引用哪些命令对象和它们中的多少,那么根本不需要OptionalPlaceholder规则,只需将HasComponent从Programm引用到每个命令对象即可。
OptionalPlaceHolder用于在建模时不知道实例及其浏览名称的时候。在这种情况下,您将添加一个带有HasComponent引用的命令对象,然后向该“占位符”对象添加一个HasModellingRule of OptionalPlaceholder。
这一点在OPC UA第3部分中有更详细的解释。
https://stackoverflow.com/questions/64858845
复制相似问题