我想要的是:
我在真实系统上有一个变量isWorking(boolean)
的传感器。现在,我希望有一个查看器向我显示传感器是否在工作。例如,传感器节点是绿色或红色。
我有的:
我在CoDeSys上有一个变量isWorking
的softSPS程序。使用JEasyOPC,我可以读取/覆盖此变量并将其打印到Eclipse控制台中。
正如我发现的所有Sirius教程中所示,我还在日食运行时为系统创建了Sirius模型。我看到可以使用条件样式更改节点的颜色。
所以我有一个节点Sensor
和一个变量isWorking
,但是我不知道如何连接它们。
我在Sirius文档中找到了有关“外部Java动作”的信息。 Sirius论坛中也有一个示例(https://www.eclipse.org/forums/index.php/t/764175/),但我不知道它是否可以解决我的问题以及如何与他们一起使用JEasyOPC。
我发现的另一种方法是JFace数据绑定,但是我只找到了一个适用于EMF模型而不适用于Sirius图(http://www.vogella.com/tutorials/EclipseDataBindingEMF/article.html)的教程。我不想更改我的元模型。
最佳答案
我认识Eclipse和Sirius。如果我对您的理解正确,那么您就有一个可用的变量,您想根据变量值用不同的颜色显示一个节点。
要做到这一点,您必须忙于等待[1],这不是最好的做法,最好的做法是将可变值更改的侦听器通知给您。
然后,按照您选择的策略,忙于等待(使用一个循环读取变量的线程)或侦听器,您需要更新EMF模型,以使Sirius对您的EMF模型更改做出反应并使其更改节点的颜色。
最好的祝福。
[1] http://en.wikipedia.org/wiki/Busy_waiting