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

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

3天内不再提示

PLC实现LED数码管动态扫描数据显示

姚小熊27 来源:xx 作者:中国传动网 2019-10-13 14:37 次阅读

PLC的数据显现功用一直是困扰PLC运用的难题。在PLC的应用中,常常要监测一些重要数据,但PLC的数据显现通常是运用外部显现设备,如显现屏或触摸屏,而这些显现设备的价格一般比较昂贵,对一些小型体系来说更浪费。因而,怎么显现PLC的数据,并尽可能做到高效率、高稳定性、抗干扰能力强、硬件投资少,是许多规划中需求考虑的问题。笔者运用的西门子S7-200PLC中有专门的指令操控LED数码管显现,SEGIN,OUT指令就是将IN端输入字节的低4位确定的16进制数主动转换为相对应的7段LED数码管各段的代码,并送到输出字节OUT端显现。若采用静态LED数码显现,PLC显现一位十进制数据需求7个输出点予以操控,如果要显现n位数据,则需求7n个输出点。所以,运用这种办法对于显现数据的位数较多时,需求很多的输出点,而PLC的价格是以输入输出点数来计算的,这直接导致硬件本钱的上升,鉴于此种原因,寻找一种廉价的显现技术就显得尤为必要。提出学习单片机的LED数码管动态扫捕显现原理,结合PLC周期性扫捕的特色,采用PLC直接输出数字量驱动数码管,将PLC开关量输出分为两部分,一部分用作数据输出,另一部分用作操控数码管公共端信号的输出。运用人眼的余辉效应,循环点亮每个数码管,本办法操作简略、本钱低廉。

1规划完成

所谓动态扫描就是运用PLC周期性扫描的特色,在编程时要做到每个周期只有一个数码管能够形成通电回路,然后得电点亮,因为一个扫描周期的时间过短,只有几十ms,所以人眼感觉每个数码管都是均匀通电亮着的,一起没有拖尾现象。

1.1硬件规划

规划办法的硬件电路完成是一个起动按钮SB1和一个中止按钮SB2,两个数码管的a、b、c、d、e、f、g段别离连在一起,再与PLC的输出端Q0.0~Q0.7经过限流电阻衔接,两个数码管的公共端com1和com2别离经过三极管由PLC的输出端Q1.0和Q1.1操控,其接线原理如图1所示。

PLC实现LED数码管动态扫描数据显示

由PLC输出端Q1.0和Q1.1的凹凸电平操控处于开关工作状况的三极管,使数码管com1和com2端循环与PLC公共端M导通输出,分时选中不同的数码管,由PLC输出端Q0.0~Q0.7输出相应的数据再依据公共端信号使相应的数码管a、b、c、d、e、f、g段显现。经过软件编程可完成用一组起停按钮操控两组数码管显现相应的数据。

1.2软件规划

经过两个软件规划完成同一硬件电路不同功用的实例来阐述设汁的软件完成。

1.2.1软件规划实例1

此程序完成0~99s反复计数功用,按动SB1起动计数,按动SB2使计数停在计数所停方位,再按动发动按钮从头从0开端计数,计数到99后从头从0开端计数。该程序梯形图如图2所示。

PLC实现LED数码管动态扫描数据显示

以上软件对特殊存储器位SM0.5发生的1s的时钟脉冲计数,运用PLC数据运算、传送、转换的功用指令传送、处理改变的计数数据,然后用段译码SEG指令驱动7段数码管,由两个定时器别离发生周期为200ms、彼此反相的时钟脉冲操控显现改变的计数数据。

1.2.2软件规划实例2

此程序完成50s倒计时功用,按动SB1起动计时,按动SB2中止计时,一起数码管熄灭,再按动发动按钮从头50s倒计时,计时到0s时,数码管主动熄灭。

2结束语

规划主要是将一个两位数分成两组数据别离在十位和个位数码管上显现,程序采用循环操控办法,则一个扫描周期显现一组数据,即两组数据循环显现。假设程序扫描周期为100ms,定时器定时100ms,那么每组数据的更新周期为100×2=200ms,这样的显现频率足可以达到一般的工业操控要求,彻底可以用作实时显现。同样,若显现多组数据,其数据线接法是一样的,只需增加操控数码管公共端信号的PLC输出点,PLC输出点数为7+n,n为数码管个数;软件稍加改动即可。笔者介绍的办法软、硬件规划均在实验室调试成功,彻底满足规划要求,并且降低了硬件本钱,取得了较好的作用。

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

    关注

    4971

    文章

    12206

    浏览量

    454508
  • led数码管
    +关注

    关注

    2

    文章

    65

    浏览量

    21751
收藏 人收藏

    评论

    相关推荐

    LED-并行LED数码管动态扫描显示电路(共阴)

    LED-并行LED数码管动态扫描显示电路(共阴) 
    发表于 05-23 16:16

    C语言实现数码管动态扫描

    需要2个或者4个数码管,按这样推理1个数码管需要8个用户引脚、2个数码管需要16个用户引脚、4个数码管就需要32个用户引脚。考虑到单片机引脚的限制所以我们决定学习
    发表于 03-04 16:03

    多位数码管动态扫描原理分析

    视频更清晰哦。一位数码管显示无需进行扫描,只要给定显示数据就可以,那多位的显示原理呢?请听Mai
    发表于 09-11 09:15

    单片机是如何实现数码管动态扫描

    在单片机作品中,我们常常能看到数码管的身影。现在通过这篇文章来介绍数码管的工作原理,单片机是如何实现数码管动态
    发表于 11-18 06:38

    基于51单片机的LED数码管动态显示的设计资料

    51的单片机的数码管显示基于51单片机的LED数码管动态显示LED
    发表于 11-19 06:56

    8位7段LED数码管动态扫描显示

    8位7段LED数码管动态扫描显示一、实验目的二、实验内容三、实验步骤四、C代码如下五、实验结果六、实验体会一、实验目的掌握
    发表于 11-23 07:29

    数码管动态扫描显示数字的有关知识

    今天恰好学到了按键这部分!所以结合之前编写数码管动态扫描显示数字的有关知识编了代码实现了一个小功能~功能:按一下按键,
    发表于 01-06 07:57

    如何实现数码管动态显示

    实现功能:按下按键时,数码管动态显示‘ 键值-扫描值 ’按键松开时,数码管动态显示‘ 0-00
    发表于 01-07 06:22

    数码管动态显示的基本原理与实现思路

    及发光二极的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,
    发表于 01-11 06:32

    并行LED数码管动态扫描显示电路(共阳 共阴)

    并行LED数码管动态扫描显示电路(共阴) 并行LED
    发表于 06-09 09:33 3717次阅读
    并行<b class='flag-5'>LED</b><b class='flag-5'>数码管</b><b class='flag-5'>动态</b><b class='flag-5'>扫描</b><b class='flag-5'>显示</b>电路(共阳 共阴)

    LESSON4_数码管动态扫描显示

    LESSON4_数码管动态扫描显示 LESSON4_数码管动态
    发表于 02-18 18:20 0次下载

    LESSON4_数码管动态扫描显示

    LESSON4_数码管动态扫描显示 单片机的。
    发表于 04-29 16:50 2次下载

    LESSON4_数码管动态扫描显示

    数码管动态显示,51系列单片机控制LED数码管动态显示
    发表于 05-20 15:37 8次下载

    基于PLCLED数码管动态扫描数据显示设计浅析

    来说更浪费。因此,如何显示PLC数据,并尽可能做到高效率、高稳定性、抗干扰能力强、硬件投资少,是许多设计中需要考虑的问题。笔者使用的西门子S7-200PLC中有专门的指令控制
    发表于 04-03 10:49 5004次阅读
    基于<b class='flag-5'>PLC</b>的<b class='flag-5'>LED</b><b class='flag-5'>数码管</b><b class='flag-5'>动态</b><b class='flag-5'>扫描</b><b class='flag-5'>数据</b><b class='flag-5'>显示</b>设计浅析

    单片机应用系统设计技术——8位7段LED数码管动态扫描显示

    8位7段LED数码管动态扫描显示一、实验目的二、实验内容三、实验步骤四、C代码如下五、实验结果六、实验体会一、实验目的掌握
    发表于 11-15 10:51 7次下载
    单片机应用系统设计技术——8位7段<b class='flag-5'>LED</b><b class='flag-5'>数码管</b><b class='flag-5'>动态</b><b class='flag-5'>扫描</b><b class='flag-5'>显示</b>