• 用 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 里去。

  • 相关阅读:
    保姆级fastDFS安装教程
    php字符串的截取方式
    【go微服务】protobuf中oneof、WrapValue和FieldMask的使用
    成功转行软件测试感受,一个从业3年的过来人告诉你
    JavaEE——传输层_UDP
    Matlab中的导入类
    Python与Scrapy:构建强大的网络爬虫
    Gitee Pages个人简历部署(下)
    一篇打通架构设计,Java设计模式9,模板方法模式
    同态加密简介HE
  • 原文地址:https://blog.csdn.net/absurd/article/details/128175703