0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用定时器实现的走马灯程序

AGk5_ZLG_zhiyua 来源:ZLG致远电子 作者:ZLG开发者社区 2022-10-19 11:56 次阅读

AWPLC 是 ZLG 自主研发的 PLC 系统(兼容 IEC61131-3),本文用一个用定时器实现的走马灯程序,来演示如何用 AWTK 和 AWPLC 快速开发嵌入式应用程序。

背景

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 中低代码开发方法引入到嵌入式软件,从而提高嵌入式软件的开发效率和可靠性。

简介

之前我们用 AWPLC 实现了一个手动的走马灯(用AWTK和AWPLC快速开发嵌入式应用程序(2)-走马灯),按下一次按钮就点亮下一个灯,能不能做到让程序自动切换呢?当然是可以的。下面我们就用定时器来自动切换的走马灯。

PLC 里有 3 种标准的定时器:

996360b8-4f60-11ed-a3b6-dac502259ad0.png

TON 通电延时定时器。输入为高电平时启动定时器;

TOFF 断电延时定时器。输入为低电平时启动定时器;

TP 脉冲延时定时器。输入为脉冲时启动定时器。

AWPLC 实现了这三种定时器,但是这几种定时器本身没有循环定时的功能。要实现循环定时,需要额外的重置逻辑和计数器。 幸好 AWPLC 扩展了一个循环计数的定时器 ZTIMER,它在定时时间到达时,重新开始计时,并增加计数器的值,这让实现自动切换变得非常简单。

* ZTIMER 中开头的字母 Z 表示是 ZLG 扩展的功能块,AWPLC 的重要特色之一就是高度可扩展,而且会内置 ZLG 多年在嵌入式系统开发中积累的功能块,包括各种算法、协议和实用功能,这将大大简化嵌入式软件的开发。

1. 系统组成

该系统包括:

两个按钮。一个用于启动系统,一个用于停止系统。

8 个 LED。轮流点亮,实现走马灯效果。

2. 软件模拟

按钮和 LED 都用软件模拟。

PLC程序

1.变量定义

在本系统中,需要定义几个变量:

START 按钮。映射到第一个数字输入(%IX0.0);

STOP 按钮。映射到第二个数字输入(%IX0.1);

RUNNING 系统运行状态指示;

LEDS 8 个 LED 灯。映射到前 8 个数字(即一个字节)输出(%QB0.0)。

具体配置如下图所示: 997eb6ec-4f60-11ed-a3b6-dac502259ad0.png

2.功能块图

基本工作原理

按下 START 按钮,将 RUNNING 标志设置为 TRUE;

按下 STOP 按钮,将 RUNNING 标志设置为 FALSE;

RUNNING 为 TRUE 时,定时器开始计时,时间到,计数增加 1,移位器移位,点亮下一个灯,如此循环实现走马灯的效果;

RUNNING 为 FALSE 时,定时器停止计时。

* 注意常量 1 的数据类型一定要指定为 USINT(即 8 位无符号数),才能保证按 8 位进行循环。

具体实现如下图所示:

9996617a-4f60-11ed-a3b6-dac502259ad0.png

用户界面

应用程序不需要编程,用 AWTK Designer 设计好界面,将控件与模型进行绑定即可。下面介绍一下控件与模型的绑定方法。这里用的是 AWTK-MVVM,数据绑定规则与 AWTK-MVVM 是完全一样的。

模型可以用 io、plc 或者 io+plc。io 可以用来绑定 IO 变量,plc 可以用来绑定程序 PLC 内部变量。

示例:

由于符号%在程序里具有特殊功能,所以在绑定 IO 变量时,把%换成_。比如:将%QX0.0写作_QX0.0。

示例:

程序界面如下所示(为了方便理解,我们把功能块图和变量定义,都放到了界面上):

99d11c70-4f60-11ed-a3b6-dac502259ad0.png

运行效果:点击 START 按钮,8 个 LED 灯会循环点亮。点击 STOP 按钮系统停止运行。

由此可见,在 AWPLC 功能块图的帮助下,我们不要写 C 代码或脚本,即可完成应用程序的开发。AWPLC 用低代码降低了开发的门槛,提高了开发的效率。AWPLC 等您来玩!

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

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    4975

    文章

    12255

    浏览量

    454919
  • 定时器
    +关注

    关注

    23

    文章

    3147

    浏览量

    112038
  • 程序
    +关注

    关注

    114

    文章

    3631

    浏览量

    79543
  • zlg
    zlg
    +关注

    关注

    1

    文章

    57

    浏览量

    38025
  • 走马灯
    +关注

    关注

    0

    文章

    12

    浏览量

    7679

原文标题:【产品应用】用 AWTK 和 AWPLC 快速开发嵌入式应用程序 (3)- 定时器

文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    可以调控的走马灯

    本帖最后由 eehome 于 2013-1-5 09:44 编辑 可以调控的走马灯
    发表于 07-14 21:14

    基于lpc2124的走马灯电路

    本帖最后由 eehome 于 2013-1-5 09:44 编辑 基于LPC2124的走马灯仿真原理图及仿真程序
    发表于 12-09 09:57

    左右走马灯的问题

    本人是菜鸟一名,来这里是求助各位大神的。以下是一个走马灯程序,但我想到的是只是亮一个灯去走马灯,不是像程序一样是灭一个灯来走马灯。求助各位
    发表于 02-27 17:03

    基于GPIOA的走马灯设计实现

    STM单片机是非常节约能到量的芯片,当我们用到哪一个功能需要将相应的时钟开通,就好像水渠的阀门,打开之后就可以有水流过来,可以使用了。我们用的走马灯是基于GPIOA,所以我们要把GPIOA的时钟打开
    发表于 01-26 07:28

    基于单片机的走马灯电路具有哪些功能呢

    基于单片机的走马灯电路是怎样构成的?基于单片机的走马灯电路具有哪些功能呢?
    发表于 03-01 06:10

    可以调控的走马灯(基于8051+Proteus仿真)

    单片机C语言程序设计实训—基于8051+Proteus仿真案例:可以调控的走马灯
    发表于 11-02 14:42 160次下载

    PLC可编程控制器之走马灯程序设计

    西门子PLC可编程控制器之走马灯程序设计,感兴趣的小伙伴们可以看看。
    发表于 07-26 14:09 0次下载

    基于8051的Proteus仿真-可以调控的走马灯

    基于8051的Proteus仿真-可以调控的走马灯
    发表于 09-01 23:36 13次下载

    可以调控的走马灯(基于8051+Proteus仿真)

    可以调控的走马灯(基于8051+Proteus仿真)
    发表于 01-04 12:31 3次下载

    可以调控的走马灯Proteus仿真电路图免费下载

    本文档的主要内容详细介绍的是可以调控的走马灯Proteus仿真电路图免费下载
    发表于 01-03 11:59 16次下载
    可以调控的<b class='flag-5'>走马灯</b>Proteus仿真电路图免费下载

    可以调控的走马灯C语言程序和电路图免费下载

    本文档的主要内容详细介绍的是可以调控的走马灯C语言程序和电路图免费下载。
    发表于 06-18 17:29 30次下载
    可以调控的<b class='flag-5'>走马灯</b>C语言<b class='flag-5'>程序</b>和电路图免费下载

    使用LabVIEW实现计算器和扫雷小游戏与走马灯等实验资料合集免费下载

    本文档的主要内容详细介绍的是使用LabVIEW实现计算器和扫雷小游戏与走马灯等实验资料合集免费下载。
    发表于 08-31 08:00 91次下载
    使用LabVIEW<b class='flag-5'>实现</b>计算器和扫雷小游戏与<b class='flag-5'>走马灯</b>等实验资料合集免费下载

    基于AWTK和AWPLC开发走马灯程序

    AWPLC 是 ZLG 自主研发的 PLC 系统(兼容 IEC61131-3),本文用一个简单的走马灯程序,来演示如何用 AWTK 和 AWPLC 快速开发嵌入式应用程序
    的头像 发表于 10-12 11:48 735次阅读

    基于AT89C51单片机的流水灯走马灯

    方案介绍AT89C51单片机流水灯走马灯_可调速+模式通过按键调速,可加减;通过按键切换模式,有0-7种模式,共8种。
    发表于 12-15 17:07 1次下载

    基于51单片机的走马灯Proteus仿真程序

    基于51单片机的走马灯Proteus仿真设计资料
    发表于 05-22 15:58 3次下载