伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【產品應用】用 AWTK 和 AWPLC 快速開發嵌入式應用程序 (3)- 定時器

ZLG致遠電子 ? 2022-11-02 10:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

AWPLC 是 ZLG 自主研發的 PLC 系統(兼容 IEC61131-3),本文用一個用定時器實現的走馬燈程序,來演示如何用 AWTK 和 AWPLC 快速開發嵌入式應用程序。

9b7a695e-5790-11ed-b116-dac502259ad0.jpg ?背景

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 中低代碼開發方法引入到嵌入式軟件,從而提高嵌入式軟件的開發效率和可靠性。

9b7a695e-5790-11ed-b116-dac502259ad0.jpg ?簡介

之前我們用 AWPLC 實現了一個手動的走馬燈(用AWTK和AWPLC快速開發嵌入式應用程序(2)-走馬燈),按下一次按鈕就點亮下一個燈,能不能做到讓程序自動切換呢?當然是可以的。下面我們就用定時器來自動切換的走馬燈。

PLC 里有 3 種標準的定時器:

9b8cb050-5790-11ed-b116-dac502259ad0.png

TON 通電延時定時器。輸入為高電平時啟動定時器;

TOFF 斷電延時定時器。輸入為低電平時啟動定時器;

TP 脈沖延時定時器。輸入為脈沖時啟動定時器。

AWPLC 實現了這三種定時器,但是這幾種定時器本身沒有循環定時的功能。要實現循環定時,需要額外的重置邏輯和計數器。幸好 AWPLC 擴展了一個循環計數的定時器 ZTIMER,它在定時時間到達時,重新開始計時,并增加計數器的值,這讓實現自動切換變得非常簡單。

* ZTIMER 中開頭的字母 Z 表示是 ZLG 擴展的功能塊,AWPLC 的重要特色之一就是高度可擴展,而且會內置 ZLG 多年在嵌入式系統開發中積累的功能塊,包括各種算法、協議和實用功能,這將大大簡化嵌入式軟件的開發。

1. 系統組成

該系統包括:

  • 兩個按鈕。一個用于啟動系統,一個用于停止系統。
  • 8 個 LED。輪流點亮,實現走馬燈效果。

2. 軟件模擬

  • 按鈕和 LED 都用軟件模擬。


9b7a695e-5790-11ed-b116-dac502259ad0.jpg ?PLC程序

1.變量定義

在本系統中,需要定義幾個變量:

START 按鈕。映射到第一個數字輸入(%IX0.0);

STOP 按鈕。映射到第二個數字輸入(%IX0.1);

RUNNING 系統運行狀態指示;

LEDS 8 個 LED 燈。映射到前 8 個數字(即一個字節)輸出(%QB0.0)。

具體配置如下圖所示:9bbbb8a0-5790-11ed-b116-dac502259ad0.png

2.功能塊圖

基本工作原理

  • 按下 START 按鈕,將 RUNNING 標志設置為 TRUE;
  • 按下 STOP 按鈕,將 RUNNING 標志設置為 FALSE;
  • RUNNING 為 TRUE 時,定時器開始計時,時間到,計數增加 1,移位器移位,點亮下一個燈,如此循環實現走馬燈的效果;
  • RUNNING 為 FALSE 時,定時器停止計時。

* 注意常量 1 的數據類型一定要指定為 USINT(即 8 位無符號數),才能保證按 8 位進行循環。

具體實現如下圖所示:

9be06754-5790-11ed-b116-dac502259ad0.png


9b7a695e-5790-11ed-b116-dac502259ad0.jpg ?用戶界面

應用程序不需要編程,用 AWTK Designer 設計好界面,將控件與模型進行綁定即可。下面介紹一下控件與模型的綁定方法。這里用的是 AWTK-MVVM,數據綁定規則與 AWTK-MVVM 是完全一樣的。

模型可以用 io、plc 或者 io+plc。io 可以用來綁定 IO 變量,plc 可以用來綁定程序 PLC 內部變量。

示例:

由于符號%在程序里具有特殊功能,所以在綁定 IO 變量時,把%換成_。比如:將%QX0.0寫作_QX0.0。

示例:

v-data:pressed="{_IX0.0,mode=TwoWay}"style="push_button"/>

children_layout="default(r=1,c=8)">

程序界面如下所示(為了方便理解,我們把功能塊圖和變量定義,都放到了界面上):

9bff874c-5790-11ed-b116-dac502259ad0.png

運行效果:點擊 START 按鈕,8 個 LED 燈會循環點亮。點擊 STOP 按鈕系統停止運行。

由此可見,在 AWPLC 功能塊圖的幫助下,我們不要寫 C 代碼或腳本,即可完成應用程序的開發。AWPLC 用低代碼降低了開發的門檻,提高了開發的效率。AWPLC 等您來玩!

AWPLC 目前還處于開發階段的早期,寫這個系列文章的目的,除了用來驗證目前所做的工作外,還希望得到大家的指點和反饋。如果您有任何疑問和建議,請在評論區留言。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5204

    文章

    20561

    瀏覽量

    335941
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    LuatOS 框架的嵌入式系統架構設計原理

    LuatOS 重新定義了嵌入式系統的開發范式——將 Lua 腳本作為主程序語言,構建起完整的系統架構。其設計原理圍繞“腳本主導、C 層支撐”展開,通過在固件中嵌入 Lua 解釋
    的頭像 發表于 02-03 15:57 ?206次閱讀
    LuatOS 框架的<b class='flag-5'>嵌入式</b>系統架構設計原理

    嵌入式驅動開發,需要掌握哪些技能?

    嵌入式驅動開發中,方便設備管理、驅動移植等,所以,需要掌握一定的數據結構。 3、 操作系統知識如果基于Linux、RTOS等操作系統設計驅動開發,我們還需要對操作系統的的原理有一
    發表于 01-20 16:46

    嵌入式開發常用函數速查表

    、定時器、串口、ADC/DAC、PWM等核心模塊,讓你查得快、用得順。一、GPIO函數GPIO(通用輸入輸出)是嵌入式系統最基礎的外設接口。常用函數包括:函數功能示例
    的頭像 發表于 01-19 09:06 ?387次閱讀
    <b class='flag-5'>嵌入式開發</b>常用函數速查表

    什么是嵌入式應用開發

    。 · ?醫療設備?:如心電圖儀、血壓計等。 開發工具和技術 嵌入式開發過程中常用的工具包括: · ?集成開發環境(IDE)?:用于編寫、編譯和調試代碼。 · ?編譯?:將高級
    發表于 01-12 16:13

    中斷還是輪詢?嵌入式外設驅動的最佳實踐!

    剛入門做嵌入式開發時,很多人經常糾結:定時器采集傳感數據,是直接while循環里輪詢標志位,還是寫個中斷函數?串口收發數據時,是whi
    的頭像 發表于 01-04 09:15 ?509次閱讀
    中斷還是輪詢?<b class='flag-5'>嵌入式</b>外設驅動的最佳實踐!

    實現一個嵌入式的軟件定時器

    1.什么是軟件定時器 軟件定時器程序模擬出來的定時器,可以由一個硬件定時器模擬出成千上萬個軟
    發表于 12-10 08:29

    什么是嵌入式操作系統?

    用 FreeRTOS/UCOS?,核心差異在資源適配和實時性: 舉個嵌入式開發中的實際例子: STM32F4 做一個智能小車,需要同時做 3 件事:① 讀取超聲波傳感數據(避
    發表于 12-09 10:33

    一個面向單片機、事件驅動的嵌入式開發平臺介紹

    、功能強大的軟定時器,以時間事件的形式,對軟定時器功能,進行優雅且功能強大的實現。 6、API的設計,更加簡明,更加符合本土嵌入式工程師的習慣。 7、移植方便,只需實現少數幾個接口函數即可。 未來
    發表于 12-05 06:26

    分享一個嵌入式開發學習路線

    法,這些語法在嵌入式開發中至關重要。 2. 技能進階期(2-3個月) 從51單片機過渡到主流的ARM Cortex-M系列(嵌入式就業核心平臺),學會使用STM32單片機,掌握嵌入式開發
    發表于 12-04 11:01

    PWM、定時器、SysTick 區別及應用場景

    在單片機和嵌入式開發中,經常會遇到PWM(脈寬調制)、定時器、SysTick(系統滴答定時器)這幾個詞。很多初學者容易把它們混為一談,以為都是“定時相關的東西”。其實,它們在本質和應用
    的頭像 發表于 11-17 10:53 ?616次閱讀
    PWM、<b class='flag-5'>定時器</b>、SysTick 區別及應用場景

    看門狗定時器、復位源、異常處理機制科普

    嵌入式開發中,系統一旦“跑飛”,工程師最怕的不是bug,而是程序卡死無人知。這時,芯片自身的自我保護機制就至關重要??撮T狗、復位源和異常處理機制,是保證系統可靠性的三大基石。本文帶你梳理清楚它們
    的頭像 發表于 11-17 10:53 ?1524次閱讀
    看門狗<b class='flag-5'>定時器</b>、復位源、異常處理機制科普

    嵌入式從入門到進階,怎么學?

    庫 + CubeMX 快速開發,再反查寄存理解底層(庫函數 + 寄存交叉學習)。 3、RTOS 銜接層 學習內容選 FreeRTOS(
    發表于 09-02 09:44

    死機克星:嵌入式系統中看門狗定時器的關鍵作用與配置

    嵌入式系統因軟件漏洞或干擾導致的死機問題,可通過看門狗定時器高效化解。該機制通過定時“心跳檢測”識別程序停滯,并在超時后強制系統重啟,其參數配置與部署策略直接影響防護效果。 本文將分享
    的頭像 發表于 08-15 13:22 ?807次閱讀
    死機克星:<b class='flag-5'>嵌入式</b>系統中看門狗<b class='flag-5'>定時器</b>的關鍵作用與配置

    瑞薩RA MCU眾測寶典 SysTick之RA0E1定時器點燈

    嵌入式小百科將和大家一起,基于【RA-Eco-RA0E1-32PIN-V1.0】開發板,一步步實現用 SysTick定時器點燈,感受時間控制在嵌入式開發中的奇妙作用。 開啟寶典 #Sy
    的頭像 發表于 08-05 14:50 ?3516次閱讀
    瑞薩RA MCU眾測寶典  SysTick之RA0E1<b class='flag-5'>定時器</b>點燈

    Linux嵌入式和單片機嵌入式的區別?

    新的應用程序和驅動程序來擴展功能。 6. 開發難度 : 單片機嵌入式開發難度相對較低,適合初學者入門。 Linux
    發表于 06-20 09:46