面向对象的范式
您在
FactoryTalk Optix Studio
中创建的项目基于面向对象的范式。会话和 UI
在设计时定义 UI 元素时,从
FactoryTalk Optix 应用程序
的角度来看,这些 UI 元素实际上是对象类型。在运行时,FactoryTalk Optix
创建独立的会话。本地画面引擎根据在设计时定义的类型创建一个 UI 实例。Web 画面引擎根据在设计时为每个 Web 客户端定义的类型创建 UI 实例。这些会话彼此完全独立,无法与其他会话交互。会话中的对象只能与该会话中的其他对象和全局对象(如报警、模型变量或控制器中的标签)进行交互。
销毁会话实例时,会话中的更改将被丢弃。例如,如果从某个画面刷新或导航并返回该画面,则该画面中的更改将丢失。
会话和 NetLogic
可以在两个作用域中创建 NetLogic:
- 全局作用域
- 在项目信息模型中的任意位置创建 NetLogic。使用Project.Current.Get操作 UI 对象。请记住销毁并重新创建会话实例,以在运行时继承和显示更改。例如,导航到另一个画面,然后返回或刷新该画面。
- 会话作用域
- 将 NetLogic 创建为会话 UI 对象(例如画面或数据网格)的子对象,然后使用Owner.get修改会话 UI 对象。对 UI 进行的任何更改都会在运行时立即显示。此类 NetLogic 只能与同一会话中的对象和全局对象进行交互。
请考虑以下示例:
- 刷新数据网格。数据网格是一个会话对象,用于刷新数据的 NetLogic 必须是数据网格的子项才能按预期运行。
- 创建报警。报警是全局对象,用于创建报警的 NetLogic 可以放在会话级别或全局级别。
提供反馈