• 用 AWTK 和 AWPLC 快速开发嵌入式应用程序 (6)-在线调试


    AWPLC 目前还处于开发阶段的早期,写这个系列文章的目的,除了用来验证目前所做的工作外,还希望得到大家的指点和反馈。如果您有任何疑问和建议,请在评论区留言。

    1. 背景

    AWTK 全称 Toolkit AnyWhere,是 ZLG 开发的开源 GUI 引擎,旨在为嵌入式系统、WEB、各种小程序、手机和 PC 打造的通用 GUI 引擎,为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的 GUI 引擎

    AWPLC 是 ZLG 自主研发的 PLC 系统(兼容 IEC61131-3),其中 AWPLC 的运行时库 (Runtime) 基于 ZLG TKC 开发,可以移植到到任何主流 RTOS 和 嵌入式系统。AWPLC 的集成开发环境 (IDE) 基于 AWTK 开发,可以运行在 Windows、MacOS 和 Linux 系统之上。AWPLC 的主要目标之一是把 PLC 中 低代码开发方法 引入到嵌入式软件,从而提高嵌入式软件的开发效率和可靠性。

    2. 简介

    在线调试功能对程序员来说非常重要的,没有调试功能就像被人蒙上了眼睛。AWPLC 除了提供打印日志的调试方式外,还提供了在线调试的功能,在线调试不仅支持源码级的断点,还支持功能块级的断点。本文用我们之前讲过的定时器例子,来演示如何使用在线调试功能。

    3. 在线调试

    3.1 运行被调试的程序

    到目前为止,我们都是在 PC 上模拟运行的,runPLC 是 AWPLC 的模拟程序。按下面的方式,可以运行 ztimer 例子。

    ./bin/runPLC ztimer
    
    • 1

    3.2 准备调试

    在 designer 中打开 ztimer 项目,点击"调试"按钮,可以打开调试界面。

    debug_prepare.png

    3.2 设置断点

    双击功能块可以在对应的功能块上设置断点,设置断点后,功能块上会显示一个小红点表示已经设置了断点。再次双击可以取消该断点。

    debug_set_unset_bp.png

    3.3 开始调试

    点击调试界面上的“开始“按钮,开始调试:

    debug_start.png

    当程序运行到指定断点时,对应的代码会高亮,对应的功能块也会有箭头指示。

    debug_bp.png

    3.4 查看变量

    在线调试最方便的的地方,就是可以查看系统实时的状态,在 AWPLC 中可查看局部变量 (temp 变量),成员变量 (local) 和全局变量 (global)。

    debug_vars.png

    这里还需完善,以后将功能块的输入/输出变量直接显示到图上。

    4. 总结

    AWPLC 调试功能和界面还需要完善,不过总的来说,还是挺方便的。目前 AWPLC 还是一个独立 AWTK 的控件,上面是该控件的演示程序,等成熟后会集成到 AWStudio 里去。

  • 相关阅读:
    Spring Boot layered(分层) jar 构建docker镜像
    KNN算法与SVM支持向量机
    【经验分享】恋爱中出现了中间人怎么办?
    您真的了解Java中的锁吗?这7种不同维度下的锁知道吗?
    Jmeter性能测试之分布式压测
    Windows 安装Redis(图文详解)
    P3853 [TJOI2007]路标设置——二分答案
    Zip Slip漏洞审计实战
    使用新的 NVIDIA Isaac Foundation 模型和工作流程创建、设计和部署机器人应用程序
    Window 安装多个版本的 java 并按需切换
  • 原文地址:https://blog.csdn.net/absurd/article/details/128175703