研选课堂
HOME
研选课堂
正文内容
数码plc程序编程图 聊一聊PLC中的7段数码管指令
发布时间 : 2026-01-20
作者 : 小编
访问数量 : 23
扫码分享至微信

聊一聊PLC中的7段数码管指令

引言: 昨天的文章讲了SWAP字节交换指令的作用和使用注意,但是没有讲清楚什么时候要用SWAP指令。今天结合7段码指令的讲解,会让大家对SWAP的使用条件或者说使用环境有一个更直观的认识。

正文:

7段数码管也或者叫7段码显示器,它们的共性就是存在7个显示段,在西门子200PLC中,对这7个显示段的顺序做了如下的规定,请看图:

7段数码管显示的显示管编号

这个图片大家看到了对数码管显示的编号,进一步说就是这7个数码管要被7个DO点分别激活,然后才能组合成一个数字显示出来,所以如果真有使用的朋友在接线的时候需要注意引脚的对应关系!

上边是对数码管的硬件进行了一点简述,下边来看一下7段码指令,也就是SEG指令:

SEG指令的梯形图表示符号

SEG指令也是很简单的一个指令,就是将IN处的字节中的值生成一个点阵并存入到OUT指定的变量中。这里要求IN/OUT的格式为字节,当然像AC0这样的累加器可以自适应。至于OUT处生成的点阵,接下来通过触摸屏演示时我们可以看看!还有一点需要说明的是西门子200PLC中的SEG指令,输出的段码点阵的组合,只能显示0-9-A-F这样的16进制字符!

到这里,数码管的引脚和7段码指令都介绍完了,我并没有7段码显示器的硬件,但是我又触摸屏的软件,可以把电脑模拟成触摸屏,因此我将在触摸屏上绘制出来一个7段码!

一直关注和观看我文章的小伙伴,应该记得我前边多次说过台达的触摸屏软件DOPsoft是可以把电脑模拟成触摸屏和西门子200PLC的硬件在线模拟的。所以,今天我还是在这个软件上做画面!

先来看一下画面的变量关联:

台达触摸屏软件上组态元素的关联变量

7段数码管的图形就是M0.0-M0.6这样的7个点,在实际工程中应该使用的是Q点,比如Q0.0-Q0.7。下边的一排指示灯是M0.0到M0.7每个位的状态指示灯。

需要特别说明的是VW0这个数值输入框:

台达数值输入框的变量中没有字节类型

从这个图片上可以看到,我用这个数值输入框去关联西门子200PLC中的变量时候,台达这里只提供了VW/VD这样的字或者双字类型的选项,而没有字节类型的。上边我说7段码指令SEG的输入是要求输入字节型变量,所以问题就来了,我想在触摸屏上输入一个值最好是能关联到字节型变量,比如VB0,可是偏偏台达的软件中没有VB0这样的选项,我只能选VW0或者VD0,那么想要继续使用台达的触摸屏就只能在程序中像办法,把VW0和VB0建立一个联系!

来看一下我最终的程序吧:

在台达触摸屏上演示7段码指令的最终程序

这个图片就是最终的程序,因为触摸屏上只能输入VW0,而我下边的程序是使用VB0去连接SEG指令,所以就要把VW0中的高低字节进行一个交换。(结合我昨天的文章,向VW0中写1的时候,其实是向VB1中写1,V1.0=1,所以这里如果不使用SWAP指令的话,那么SEG的输入处应该写VB1,这样程序就很简单了!)

再来看一下这个程序运行时对应的画面动态图:

7段数码管在触摸屏画面上的运行动态图

从这个动态图可以看到,当值为0的时候,M0.0-M0.5这6个点全部输出了,只有M0.6也就是最中间的那根横线没有接通,这样图形就围合成一个0的图形。

当输入值1时,图形显示为1,但是数值输入框那里还是显示的VW0的值,它很快就又变为256,这是为何?? --原因是我输入1是向VW0写入1,它本应该显示1的,而且这里的写入1,其实是向VB1中写入的1。因为最初VB1=VB0=0,当想VW0中写入1,即VB1=1,此时VB=0,这样VB1和VB0就不相等了,就触发上升沿,让SWAP指令执行了一次。SWAP执行一次后,VB1=0,VB0=1,这样VW0=256了。--如果这段话,看的不明白,就要结合昨天文章中的表格,多看两遍,应该就可以明白了!

其实到这里该讲述的基本都差不多了,但是为了让大家更清楚,还是来看一下我上边说的直接用VB1去关联SEG指令的情况,程序如下:

利用VB1去连接SEG指令的最终程序

这个程序就非常简单了,这是建立在对VW0,VB0,VB1的关系非常了解的基础上的。如果,这里的程序不注释,那么其他人看程序和画面的时候就会有点疑惑,画面上是VW0,而程序中是VB1,所以这种情况最好是备注一下。

来看一下这个简单程序的运行画面:

使用VB1连接SEG指令时运行画面

这个画面的显示就是一对一了,非常直观了,证明利用VB1去关联SEG指令是一个更好的方法。

文章到此就结束了,通过今天文章的两个程序和在画面上的显示,我想朋友们应该对SWAP指令和SEG指令有了更深入的认识,同时也说明了基础知识的重要性。实现同样的功能,有的程序就更简洁,而有的就稍显复杂,且理解起来也有点费神,再简单的指令也会造成一些难于理解的情形,所以大家还是需要在编程的时候多思考,同时还应该重视每个指令和每个基础知识的研究和记忆!

希望朋友们能喜欢,如果有问题请关注+留言,谢谢!

119、用PLC控制数码管显示数字

设计用PLC控制数码管循环显示数字0-9,控制要求如下

(1)按下启动按钮后,数码管从0开始显示,1s后显示1,再过1s后显示2,…,显示9,1s后再重新屏示0.如此循环。

(2)当按下停止孩钮后,数码管烟灭。

7段数码营实际上是由7只发光二极管组成,要显示0-9数字,首先确定数字与7只发光管(即PC的输出控制点)的关系。如要易示数字0,则需要a、b、c、d、e

f管亮,则对应的PLC的需驱动的输出点为Q0.0,Q0.1,Q0.2,Q0.3,Q0.4,Q0.5。

I/O分配如下: 启动按钮SB1,I0.0;停止按钮 SB1,I0.1;Q0.0—Q0.6,数码管a—g。

控制程序如图所示:

相关问答

求助,三菱PLC两位数的七段数码管显示的程序?

这是一个基本的三菱plc两位数的七段数码管显示的程序示例:```ldk4//k4为数据保存器,存储需要显示的十进制数值movk0d7100//将需要显示的十进制...

PLC与数码管怎么相连?

PLC与数码管可以通过接口板或者D/A(数字模拟转换器)实现相连。因为PLC作为一种常用的工控系统,需要进行数字信号的输入和输出,而数码管则是一种可以显示数字...

AB的PLC编程软件Logix5000中,怎么实现计时器功能?-ZOL问答

数码相机尼康尼康5000讨论回答(4)计时器可分两类:1、一般型:计时不可累计...此类定时器的线圈被驱动时定时器以增计数方式对PLC内的时钟脉冲进行累计计时...

三菱FX2NPLC编程软件怎么输入T0啊~时间的那种-ZOL问答

数码相机松下松下FX2GK讨论回答(6)先按F7,再输入T0K10,T0和K10他们之间必须要空格一次哈.在创建新工程时,程序类型选SFC。如果你是FX指令,那么就是...

如何用PLC实现七段数码管显示电路?

看你驱动的数码管多不多?如只有一个的话就用PLC的七段数码管显示指令来实现(晶体管继电器的都行)如果几个以上数码显示时还是建议你使用PLC外加锁存IC一起来...

在PLC的编程中怎样用两个定时器实现振荡电路?

要通过步进或伺服电机实现。这里面用到插补的知识。宏观上画的是圆,微观上画的是折线。一个至少有两路脉冲输出的plc控制x,y方向上的两台伺服电机。一会儿控制...

西门子plc300用数码管怎么实现0到99计数?

要使用西门子PLC300实现0到99计数,可以通过以下步骤使用数码管显示结果:选择合适的PLC模块和CPU型号,并配置好相应的输入输出端口和通信参数。连接一个数码...

用plc控制一个七段数码管,分别按下四个按钮,数码管分别显示1234,但是其PLC输出口不能是七个?

完全可以用输出三位来实现,但是你要用一种芯片74LS47驱动七段数码管,这样PLC只要对应输出001,010,011,100,七段数码管就会显示1,2,3,4,而不需要去单独...

如何学习PLC?

如何学习PLC我来分享一下之前自己学习PLC的经历。读书的时候没有接触过PLC实物,看看书了解了一下梯形图。但具体怎么样,系统架构和工作原理怎样都不懂。后来参...

西门子PLCS7-200编程软件V4.0STEP7MicroWIN,使用时(不超...

首页排行新品问答下载论坛手机笔记本数码相机主板显卡平板电脑更多...喜欢摄影,需要修图。附加:纠结要不要带数字键盘区。预算最多8000。尽量便...

 天马风驰SUV  世界环球小姐 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2026  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部