AWTK 全稱 Toolkit AnyWhere,是 ZLG 開發(fā)的開源 GUI 引擎,旨在為嵌入式系統(tǒng)、WEB、各種小程序、手機(jī)和 PC 打造的通用 GUI 引擎,為用戶提供一個(gè)功能強(qiáng)大、高效可靠、簡單易用、可輕松做出炫酷效果的 GUI 引擎。
AWPLC 是 ZLG 自主研發(fā)的 PLC 系統(tǒng)(兼容 IEC61131-3),其中 AWPLC 的運(yùn)行時(shí)庫 (Runtime) 基于 ZLG TKC 開發(fā),可以移植到到任何主流 RTOS 和 嵌入式系統(tǒng)。AWPLC 的集成開發(fā)環(huán)境 (IDE) 基于 AWTK 開發(fā),可以運(yùn)行在 Windows、MacOS 和 Linux 系統(tǒng)之上。AWPLC 的主要目標(biāo)之一是把 PLC 中低代碼開發(fā)方法引入到嵌入式軟件,從而提高嵌入式軟件的開發(fā)效率和可靠性。
在線調(diào)試功能對程序員來說非常重要的,沒有調(diào)試功能就像被人蒙上了眼睛。AWPLC 除了提供打印日志的調(diào)試方式外,還提供了在線調(diào)試的功能,在線調(diào)試不僅支持源碼級(jí)的斷點(diǎn),還支持功能塊級(jí)的斷點(diǎn)。本文用我們之前講過的定時(shí)器例子,來演示如何使用在線調(diào)試功能。

1. 運(yùn)行被調(diào)試的程序
到目前為止,我們都是在 PC 上模擬運(yùn)行的,runPLC 是 AWPLC 的模擬程序。按下面的方式,可以運(yùn)行 ztimer 例子。
./bin/runPLC ztimer
2. 準(zhǔn)備調(diào)試
在 designer 中打開 ztimer 項(xiàng)目,點(diǎn)擊"調(diào)試"按鈕,可以打開調(diào)試界面。
3. 設(shè)置斷點(diǎn)
雙擊功能塊可以在對應(yīng)的功能塊上設(shè)置斷點(diǎn),設(shè)置斷點(diǎn)后,功能塊上會(huì)顯示一個(gè)小紅點(diǎn)表示已經(jīng)設(shè)置了斷點(diǎn),再次雙擊可以取消該斷點(diǎn)。
4. 開始調(diào)試
點(diǎn)擊調(diào)試界面上的“開始“按鈕,開始調(diào)試:
當(dāng)程序運(yùn)行到指定斷點(diǎn)時(shí),對應(yīng)的代碼會(huì)高亮,對應(yīng)的功能塊也會(huì)有箭頭指示。
5. 查看變量
在線調(diào)試最方便的的地方,就是可以查看系統(tǒng)實(shí)時(shí)的狀態(tài),在 AWPLC 中可查看局部變量 (temp 變量),成員變量 (local) 和全局變量 (global)。
* 這里還需完善,以后將功能塊的輸入/輸出變量直接顯示到圖上。
AWPLC 調(diào)試功能和界面還需要完善,不過總的來說,還是挺方便的。目前 AWPLC 還是一個(gè)獨(dú)立 AWTK 的控件,上面是該控件的演示程序,等成熟后會(huì)集成到 AWStudio 里去。