java - Eclipse Sirius 如何与其他系统交互?

标签 java eclipse jeasyopc eclipse-sirius

我想要什么:

我在真实系统上有一个带有变量isWorking(boolean)的传感器。现在我想要一个查看器来显示传感器是否正常工作。例如传感器节点是绿色或红色。

我拥有的:

我在 CoDeSys 上有一个带有变量 isWorking 的 softSPS 程序。使用 JEasyOPC,我可以读取/覆盖这个变量并将其打印到 Eclipse 控制台中。 我还在 eclipse 运行时为我的系统创建了一个 Sirius 模型,如我发现的所有 Sirius 教程所示。我发现我可以使用条件样式更改节点的颜色。

所以我有一个节点 Sensor 和一个变量 isWorking 但我不知道如何连接它们。

我在 Sirius 文档中找到了有关“外部 Java 操作”的内容。 Sirius 论坛中也有一个示例( https://www.eclipse.org/forums/index.php/t/764175/ ),但我不知道它是否适用于我的问题以及如何将 JEasyOPC 与它们一起使用。

我发现的另一种方法是 JFace 数据绑定(bind),但我只找到了一个适用于 EMF 模型而不适用于 Sirius 图的教程 ( http://www.vogella.com/tutorials/EclipseDataBindingEMF/article.html )。我不想更改我的元模型。

最佳答案

我认识 Eclipse 和 Sirius。如果我理解正确,您有一个可用的变量,您希望根据变量值显示具有不同颜色的节点。 为此,您必须忙于等待 [1],这不是最佳实践,最佳实践是使用监听器通知变量值更改。

然后按照您选择的策略,忙于等待(使用循环读取变量的线程)或监听器,您需要更新您的 EMF 模型,以使 Sirius 对您的 EMF 模型更改使用react并更改节点的颜色。

最诚挚的问候。

[1] http://en.wikipedia.org/wiki/Busy_waiting

关于java - Eclipse Sirius 如何与其他系统交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25969791/

相关文章:

java - 如何在 Ant 中将 java 项目转换为插件项目?

java - Eclipse 构建 - 从 jar 包中排除但包含在最终产品中

java - 我不知道如何在Java中安装JEasyOPC

java - 如何处理 "java.lang.OutOfMemoryError: Java heap space"错误?

java - 向其他人授予对生成的 HeapDumpOnOutOfMemoryError 文件 .hprof 的读取权限

java - 如何获取索引别名的映射

java - USB 调试 Android 时出现运行时错误

eclipse - 无法访问 ActiveMQ Web 控制台