零基础无实物一步一步学PLCS7-1200仿真(八)-按键控制数码管显示

这篇具有很好参考价值的文章主要介绍了零基础无实物一步一步学PLCS7-1200仿真(八)-按键控制数码管显示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目要求:按照项目的功能完成按键控制数码管的技术显示。

项目目的:学习比较指令、数学函数指令和加减计数指令和数码管的显示原理。

项目功能:数码管可以显示两位数00-99,然后可通过四个按键完成数码管的技术显示。其中四个按键功能如下:ESC按键为取消按钮,按下它之后计数器清零,回车按钮,按下它之后计数器直接装载为99。UP按键为加计数按钮,按下之后计数器加一,相应的DOWN按键为减计数按钮,按下之后计数器减一。

本期项目给大家带来的是数码管显示的实验,之前学习的项目仅仅是点亮单个的灯。这个过程是非常简单的,然我们先回顾一下。

 一、知识回顾

零基础无实物一步一步学PLCS7-1200仿真(八)-按键控制数码管显示

 只需要4个步骤即可完成HMI的灯的编程。

1.在HMI界面的右侧基本对象中选择一个圆形。

2.将基本对象中的圆形直接拖拽到编程的主界面中。

3.点击属性对话框,然后添加新动画后,在外观--变量处点击后面的三个点,选择想关联的变量。

4.选中变量后,在下面的对画框中选择想要HMI最终显示效果。例如上图中的设置为,当“motor”变量为0是,我们选择的圆形显示红色;当“motor”变量为1是,我们选择的圆形显示绿色。

这样就可以,我们来看一下仿真效果,见下图。刚开始仿真时,初始显示“motor”变量为0,则对应HMI画面显示为红色,待“motor”变量为1时,则对应的HMI画面显示为绿色。

零基础无实物一步一步学PLCS7-1200仿真(八)-按键控制数码管显示

 所以说无论博途的PLC编程还是HMI编程均不需要编写任何代码,熟悉软件的操作和一般流程后,只需要进行相应的规划设置之后,即可以完成一定的功能。这就是PLC上手简单,不需要C语言基础的好处。当然做到一定的复杂的程序,还需要具备一定的程序思维比较好一些,好在这些都可以通过教程一步一步锻炼出来。

二、数码管原理

在嵌入式的章节我们介绍过数码管的基本原理。但是考虑到大部分玩PLC的同学和嵌入式的同学一般是两个领域的,所以说这里我们还是当大家不知道,重复介绍一下数码管的原理。或者说如何从一个圆形的灯过渡到数码管的显示。本质上数码管就是多个灯通过不同的形状排列成数字和字母的样子,再通过程序展示给用户。

 LED数码显示器价格低廉、体积小、功耗低、而且可靠性好,因此得到广泛使用。它其实是张这个样子,细心的同学其实在街边的小店的广告牌中随处可见。

零基础无实物一步一步学PLCS7-1200仿真(八)-按键控制数码管显示
数码管的结构和工作原理
数码管内部是由八个LED(简称位段)组成,其中有七个条形LED和一个小圆点LED。
LED导通时,相应的线段或点发光,将这些LED排成一定图形,常用来显示数字0~9、字符A~G,还可以显示H、L、P、R、U、Y、符号“—”及小数点“.”等。通常来说,我们那个小数点用的时候比较少。故我们一般用常用的7段来显示数字和字母,故这个数码管又俗称7段数码管。

正常来说一个数码管里的一个LED有两个引脚,我们通常称之为阴极和阳极,就是可以理解为正和负。阳极通入正向的电压可以导通,因此称之为单向导电性。那么当7个LED二极管放在一起的话,我们正常应该有14个引脚。为了方便集成,让产品更小型化一些,我们可以把7个LED的阴极或者阳极分别捆在一起方便使用。这样就形成了市面上常见的LED数码管,也就是说共阴极和共阳极两种结构,即共阴极(阴极捆一起)数码管和共阳极(阳极捆一起)数码管。

零基础无实物一步一步学PLCS7-1200仿真(八)-按键控制数码管显示

 千言万语汇成一句话,LED数码管本质就是多个led灯摆成了数码的形状而已。

那么写HMI程序的时候我们可以直接做成上图的样子,并按照他们的标记将A-G都标识好。方便在程序引用,且读起来也方便一些。

接下来看一下硬件电路,以接单个数码管为例,两个数码管大家自行扩展一下。

零基础无实物一步一步学PLCS7-1200仿真(八)-按键控制数码管显示

 其中每一段的串联电阻R为限流电阻,要根据具体的数码管型号和电源进行选择,此处仅为示意。

三、PLC程序

1.HMI中制作数码管显示

趁热打铁,我们先来介绍一下HMI部分如何操作的。本次要做的是显示两位的数码管。那么我们照猫画虎,按照上面介绍的原理,依次制作多个矩形的图形到HMI的编程界面上。并将a-g全部标记到对应的数码管的图形上,方便编程使用。

零基础无实物一步一步学PLCS7-1200仿真(八)-按键控制数码管显示

至此,我们可以放心的编写PLC程序了,然后再到HMI画面这里按照第一节介绍的方法关联PLC程序的变量就可以完成数码管的显示了。

2.数码管显示程序编写

接下来开始回到PLC的编程界面,根据本次项目的需求需要完成按键操作控制数码管的显示。按照之前的模块化的思维,我们至少可以把这个项目的程序分解成按键子程序和数码管显示子程序。延续之前的思路,我们先把数码管子程序做了,打下一个良好的基础。

数码管的显示无非是显示数字的时候,自己要清楚对应上面的图中a-g中哪些为1,哪些为0。

零基础无实物一步一步学PLCS7-1200仿真(八)-按键控制数码管显示

 通过上图可以看出,当显示数字0的时候a,b,c,,d,e,f应该置1,g应该置0。当显示数字1的时候,b,c应该置1,a,d,e,f,g应该置0。根据以上描述,我们可以通过两种方法实现编程。

方法一:

零基础无实物一步一步学PLCS7-1200仿真(八)-按键控制数码管显示

 第一个指令很简单就是比较指令中的等于,当你要显示1的时候,也就是当数值等于1的时候,直接输出多路分别给到a-g,然后根据实际b,c应该置1,a,d,e,f,g应该置0,具体如图设置。然后分别当数值等于0-9时候,对应的程序都写出来。

方法二:

零基础无实物一步一步学PLCS7-1200仿真(八)-按键控制数码管显示

相对于方法一,此方法正好相反,就是在哪几个数字显示时候LED数码管对应的a段会点亮。上图中的比较指令为不等于指令,即当数字不等于1和4的时候数码管理的段a需要点亮。同学们可以依此法将其他的情况总结出来,写成自己的程序。

本例程中使用的是方法一,那么根据需求我们要分别做出来个位和十位的数码管显示程序,如下。

零基础无实物一步一步学PLCS7-1200仿真(八)-按键控制数码管显示

3.按键PLC程序编写。

在完成了数码管显示后,整个项目我们完成了一半的工作,剩下的就是按键部分的PLC程序了。

根据项目要求,我们需要完成按键控制数码管的显示和增加计数和减少计数等功能。那么这里我们就要学习的新指令就是计数器中的指令了。计数器里的指令有加计数指令,减计数指令和加减计数指令。这里我们使用的是加减计数指令,它相当于将加计数和减计数合在一起。

零基础无实物一步一步学PLCS7-1200仿真(八)-按键控制数码管显示

分别解释一下各个引脚的作用。首先介绍PV--计数终值,你想计数到多少就写多少。而CU--加指令,与它对应的是R--清零,即当你一直加的时候加到计数终值之后,QU输出端将输出置1。此时需要控制R端对计数进行清零,否则QU端将持续置1。而CD--减指令,与它对应的是LD--重新装载PV值,即当你一直减的当减到0的时候,QD输出端将输出置1。此时需要控制LD端重新装载PV值,本例为99,否则QD端将持续置1。CV--计数值为当前操作后的实时计数值。

通过上面的介绍得知了各个引脚的作用之后,我分别将四个按钮,上按钮为加计数,下按钮为减计数,取消按钮为清零按钮,确定按钮为装载按钮连接到CTUD指令的对应引脚中。

零基础无实物一步一步学PLCS7-1200仿真(八)-按键控制数码管显示

 在完成了对计数的控制之后,我们需要将我们计数的数值通过数码管显示出来。那么如何将其连接起来呢?我们需要控制两个数码管的显示,也就是一个显示十位,一个显示个位。那么我们用到了PLC的数学函数指令的DIV和MOD。他们分别为除法指令和取余指令,这里跟C语言单片机的编程是一样的操作。通过这两个指令,我们分别可以得到当前计数值的十位和计数值的个位数值。那么,我们就可以直接调用之前做好的数码管显示子程序直接进行显示操作了。

四、PLC和HMI联动仿真效果

零基础无实物一步一步学PLCS7-1200仿真(八)-按键控制数码管显示

 经过上面的仿真效果,大家可以看到,ESC按键为取消按钮,按下它之后计数器清零,回车按钮,按下它之后计数器直接装载为99。UP按键为加计数按钮,按下之后计数器加一,相应的DOWN按键为减计数按钮,按下之后计数器减一。功能来说非常的简单,但是整个开发过程的程序思维大家需要好好学习,建立起自己的项目开发思维,为以后的其他项目打下基础。

 程序使用说明:下载压缩包后,直接打开程序按照如下步骤操作,按照下面的截图,双击打开main主程序,然后鼠标拖拽主程序下方任意的子程序(绿的那个),直接拖到主程序的程序段中。两个子程序只能拖拽一个,然后再点击仿真,从新下载程序,即可生效。 

零基础无实物一步一步学PLCS7-1200仿真(八)-按键控制数码管显示

后续的步骤就跟之前的项目一样了:

零基础无实物一步一步学PLCS7-1200仿真(八)-按键控制数码管显示零基础无实物一步一步学PLCS7-1200仿真(八)-按键控制数码管显示

 分别在PLC程序和HMI程序上右键点击启动仿真,即可在弹出的仿真界面点击按钮查看仿真效果。

仿真程序下载请点击下方链接:

https://download.csdn.net/download/m0_57441179/87352687文章来源地址https://www.toymoban.com/news/detail-454818.html

到了这里,关于零基础无实物一步一步学PLCS7-1200仿真(八)-按键控制数码管显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一步一步学OAK之二: RGB相机控制

    今天我们来实现 RGB相机的控制程序,用来控制彩色相机的曝光、灵敏度、白平衡、亮度/色度降噪、 设备端裁剪、相机触发器等。 创建新建2-rgb-camera-control文件夹 用vscode打开该文件夹 新建一个main.py 文件 安装依赖前需要先创建和激活虚拟环境,我这里已经创建了虚拟环境O

    2024年02月11日
    浏览(46)
  • 一步一步学OAK之三:实现RGB相机场景切换

    创建新建3-rgb-scene文件夹 用vscode打开该文件夹 新建一个main.py 文件 安装依赖前需要先创建和激活虚拟环境,我这里已经创建了虚拟环境OAKenv,在终端中输入cd…退回到OAKenv的根目录,输入 OAKenvScriptsactivate 激活虚拟环境 安装pip依赖项: 在main.py中导入项目需要的包

    2024年02月11日
    浏览(40)
  • 一步一步学OAK之六:通过OAK相机实现特征检测

    特征检测是指在数字图像中自动寻找并定位具有特定特征的图像区域或图像点。这些特征可以是在图像中具有独特外观、结构或统计特性的对象、边缘、角点、纹理等。 特征检测在计算机视觉中起到至关重要的作用,它是许多计算机视觉任务的基础,如目标检测、跟踪、姿态

    2024年02月11日
    浏览(34)
  • 一步一步学OAK之五:通过OAK相机实现边缘检测

    边缘检测是计算机视觉和图像处理中的一种基本技术,用于识别图像中物体和图像中不同区域之间的边界或轮廓。边缘是图像中具有明显灰度或强度变化的区域,通常表示不同物体、纹理或形状之间的边界。 边缘检测算法通过分析图像中像素的灰度值或强度变化情况,以找到

    2024年02月12日
    浏览(35)
  • 一步一步学OAK之七:通过OAK相机实现特征跟踪

    特征跟踪,也称为目标跟踪或点跟踪,是指在序列图像中追踪物体或者场景中的特定特征点的过程。特征点可以是具有独特性质的像素,如角点、边缘、纹理等。通过跟踪这些特征点,可以在连续图像帧中确定它们的位置、速度和运动轨迹。 在计算机视觉和图像处理中,特征

    2024年02月12日
    浏览(36)
  • 一步一步学OAK之十一:实现在RGB相机上进行对象跟踪

    这里我们用到了mobilenet-ssd_openvino_2021.4_6shave.blob模型文件,需要下载并存储到本地文件夹,不会下载的小伙伴可以看我前面的博客,里面有介绍,这里直接使用,不介绍下载过程了。 创建新建13-object-tracker-on-rgb文件夹 用vscode打开该文件夹 新建一个main.py 文件 安装依赖前需要

    2024年02月13日
    浏览(40)
  • 一步一步学OAK之十三:实现RGB相机上的空间对象跟踪

    前面我们实现了在RGB相机上进行物体的对象跟踪,能够实时跟踪我们想要追踪的物探,但是,如果我们要想知道这个物体的三维空间坐标,该如何实现呢?要想实现这个功能,我们需要用到DepthAI API提供的MobileNetSpatialDetectionNetwork节点和ObjectTracker节点,现在我们来实现它。 这

    2024年02月12日
    浏览(29)
  • 一步一步学习 Stable Diffusion

    网上看了很多 Stable Diffusion 的视频,还有一些网站的资料之后,决定自己整理一份一步一步学习 Stable Diffusion 的学习资料。 请参照 Windows 11 本地部署 Stable Diffusion web UI 或者 Windows 11 上从零开始基于 wsl-ubuntu 搭建 AI 学习环境及部署多种私有 ChatGPT 进行部署。 访问 Extensions =

    2024年02月09日
    浏览(57)
  • 算法是如何一步一步优化的?

    英雄算法联盟 - 七月集训 已经开始 6 天,八月算法集训 将于 08月01日 正式开始,目前已经提前开始报名,报名方式参见(八月算法集训报名),想要参加的同学,建议提早报名,因为对于算法零基础的同学,会有一些提前的准备工作,比如需要 1 - 5 天的时间完成预训练 和

    2024年02月12日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包