鑫通态HMI编译器基于C++11标准,因此支持所有C++11版本的语法操作。这一特性使得开发者能够充分利用现代C++的强大功能,如智能指针、Lambda表达式、类型推导等,从而提高代码的可读性、可靠性和开发效率。
鑫通态HMI应用程序的核心架构由两部分组成:组态生成代码和用户自定义代码。其中:
• 组态生成代码: 通过图形化界面设计工具完成页面布局、控件配置等操作,自动生成基础代码。
• 用户自定义代码: 允许开发者在组态生成代码的基础上进行扩展,实现复杂逻辑或特定功能。
这种架构的优势在于:
为了方便用户的调试与开发,鑫通态HMI提供了两套编译系统:Windows编译器和Linux编译器。
• 用途: 主要用于模拟运行环境,便于开发者在本地计算机上测试程序逻辑和界面效果。
• 特点:
1)支持快速迭代开发,无需将程序部署到实际设备即可完成初步测试。
2) 提供丰富的调试工具,如断点调试、日志输出等,帮助开发者快速定位问题。
3)应用场景:适用于开发初期的功能验证和界面优化阶段。
• 用途: 用于生成可在实际硬件设备上运行的程序。
• 特点:
整个鑫通态HMI应用程序依赖于全局类 HmiApp,该类负责管理UI控制和程序运行流程。HmiApp 类是HMI用户程序的主入口,类似于C/C++中的 main() 函数。
1) 页面管理:
◦ HmiApp 类通过动态创建和销毁页面类实例来实现页面切换。每个页面对应一个独立的类,这些类继承自基类并实现特定的页面逻辑。
◦ 页面之间的切换通过事件触发,例如按钮点击、定时器到期等。
2) 生命周期管理:
◦ 程序运行时,HmiApp 类会依次执行以下方法:
■ onInit():初始化阶段,用于加载全局配置、初始化外部资源。
■ construct():构造阶段,用于创建初始页面和其他必要的对象。
■ onReady():准备就绪阶段,用于其他关键任务。
以下是 HmiApp 类的生命周期执行顺序图: