PLC产生脉冲信号的两种方法
脉冲信号在PLC编程中会经常用到,比如:通信过程中的心跳脉冲、蜂鸣器/指示灯的报警脉冲等等。这些脉冲信号可以来自硬件(组态),也可以来自软件(编程)。今天这篇文章,给大家介绍下两种产生脉冲信号的方法,包括:
CPU的时钟脉冲;扩展函数LGF_Frequency;1、CPU的时钟脉冲
CPU的时钟脉冲可以产生8个不同频率的脉冲信号(占空比1:1)。在CPU的硬件组态中找到【系统和时钟存储器】,勾选【启用时钟存储器字节】,在时钟存储器字节的地址中输入位存储器的地址(默认为MB0),那么CPU的硬件(严格来说是操作系统)会将相应频率的脉冲写入到该位存储器字节的相应位。比如下面这张图:M0.1是5Hz的时钟脉冲,M0.5是1Hz的时钟脉冲。
这种配置脉冲信号的方法很简单,不过其缺点在于会降低程序的通用性。比如:有的人使用MB0作为时钟存储器字节,有的人使用MB10或者其它的位存储区作为时钟存储器字节,这在不同的项目程序移植时会造成一些困难。为了提高程序的通用性,可以使用通用扩展函数库中的LGF_Frequency函数。
2、LGF_Frequency
扩展函数LGF_Frequency可以产生指定频率及占空比的脉冲信号,在全局库【信号发生器】中可以找到该函数,其初始添加状态如下图所示:
函数LGF_Frequency有两个输入参数和两个输出参数:
输入参数包括:
frequency:实数,发生器的输出频率,单位Hz;脉冲的周期为频率的倒数,假设频率设置为0.5,则该脉冲的周期为2s;PulsePauseRatio:实数,输出脉冲的占空比,即高电平持续时间与低电平持续时间的比值;假设占空比为3.0,则高电平持续时间/低电平持续时间=3/1;输出参数包括:
clock:布尔型,脉冲输出地址;countdown:TIME型,当前状态的剩余时间;使用LGF_Frequency函数可以产生与硬件无关的脉冲信号。比如,
下面的代码(FB2_ClockTest)分别产生一个1Hz、10Hz、0.5Hz且占空比为1:1的脉冲信号。
这些信号存放在全局数据块DB10_GlobalPulse的变量中:
执行该函数块的Trace数据如下图所示:
这种通过函数块和数据块实现的脉冲信号提高了程序的可读性,并且能产生任意需要的周期及占空比的脉冲信号,缺点是需要手动编程,相比CPU的脉冲信号复杂一点;
说明:其实之前介绍过LGF_Frequency及通用函数库,可以看看文章:博途扩展函数库LGF系列教程(1)-LGF_Frequency
好了,关于PLC产生脉冲信号的两种方法就先介绍到这里。
我的书《西门子S7-200 SMART PLC应用技术——编程、通信、装调、案例》已经出版,欢迎点击下面的链接查看:
#pgc-card .pgc-card-href { text-decoration: none; outline: none; display: block; width: 100%; height: 100%; } #pgc-card .pgc-card-href:hover { text-decoration: none; } /*pc 样式*/ .pgc-card { box-sizing: border-box; height: 164px; border: 1px solid #e8e8e8; position: relative; padding: 20px 94px 12px 180px; overflow: hidden; } .pgc-card::after { content: " "; display: block; border-left: 1px solid #e8e8e8; height: 120px; position: absolute; right: 76px; top: 20px; } .pgc-cover { position: absolute; width: 162px; height: 162px; top: 0; left: 0; background-size: cover; } .pgc-content { overflow: hidden; position: relative; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); } .pgc-content-title { font-size: 18px; color: #222; line-height: 1; font-weight: bold; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .pgc-content-desc { font-size: 14px; color: #444; overflow: hidden; text-overflow: ellipsis; padding-top: 9px; overflow: hidden; line-height: 1.2em; display: -webkit-inline-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } .pgc-content-price { font-size: 22px; color: #f85959; padding-top: 18px; line-height: 1em; } .pgc-card-buy { width: 75px; position: absolute; right: 0; top: 50px; color: #406599; font-size: 14px; text-align: center; } .pgc-buy-text { padding-top: 10px; } .pgc-icon-buy { height: 23px; width: 20px; display: inline-block; background: url(https://lf3-cdn-tos.bytescm.com/obj/cdn-static-resource/pgc/v2/pgc_tpl/static/image/commodity_buy_f2b4d1a.png); } S7-200 SMART PLC应用技术 ¥88 购买PLC编程入门级4,“脉冲型”指令其实就是这么简单
巩固基础知识,才能扩展应用,每天学一点。
“脉冲型”指令是什么?这也是我们经常需要用到的。
我们经常用他们到底是怎么回事呢?
上升沿下降沿脉冲指令
我们可以这样去想象一个信号的整个过程,从0---1----1---0,从0到1的时候 是需要一个过程。然后从1到0 也是需要一个过程。
从0---1----1---0
比如:
当我们用LDP (上升沿)指令时,程序则只会在(上图)上升沿段接通,其他时候都断开的。
同样当用LDF(下降沿)指令时,程序则只会在(上图)下降沿段 接通,其他时候都是断开的。
如果这个能理解它的时序段,那其他“脉冲型”指令就不难了。
脉冲型指令
我们在写PLC程序时,很多时候我们只需要这触点一瞬间信号来延续后面的动作,
这个时候我们可以用“脉冲型”指令去执行,
比如我们应用于产品的数据计算,计数,数据赋值等等。
当然我们值得注意的是“脉冲型”程序是在上升沿或下降沿接通,但该触点是完成了一个周期的动作,通俗的说 触点是OFF---ON 之间产生一个上升沿,触点是ON---OFF 之间产生一个下降沿。
过程
当我们在其他的也用到该触点时,就得注意,是否需要(RST)复位/(SET)置位等操作了。
巩固一下基础知识,才能灵活运用,这次只是简单讲了一下“脉冲型”指令的概念,
当然还有很多没讲到,当也差不多,有兴趣的小伙伴可以自己去测试练习,
在我们整个学习过程中只有不断的练习,熟悉各种指令的概念,用法才能提高自己
想学的小伙伴可以关注我一下,收藏转发,有任何问题可以评论或者私信,我会一一解答。
相关问答
plc编程一秒的脉冲怎么编?
一秒的脉冲周期,需要编写定时器来生成脉冲信号。在PLC编程中,通常使用计数器和定时器来实现定时控制和生成脉冲信号。对于一秒的脉冲信号,可以编写一个计数器...
西门子PLC肿么编写脉冲程序-ZOL问答
Y=X-6400/25600*100,你的程序就按照这条公式编程就行了。有用(0)回复baidu_chuiguoyan一般直接加上或者减去一个数即可,如果是个常数,直接在plc里编程。如.....
plc程序如何产生脉冲-懂得
下面是产生1秒的脉冲信号的方法:方法1:采用硬件组态中CPU属性下的MemoryClock,这样你会得到一个系统提供的定时脉冲.如果你设置的为MB100那么在程...
PLC脉冲如何输入?
回答如下:编程步骤如下:1.在程序中声明需要使用的输入点,例如I0.0表示使用I0口的0号输入点。2.在程序中设置需要使用的输入点的工作模式为脉冲输入模式,...
西门子PLC怎么编写脉冲程序?
编写西门子PLC的脉冲程序需要以下步骤:首先,确定所需的脉冲输入或输出模块,配置PLC的硬件连接。然后,使用编程软件(如Step7)创建新的程序。在程序中,...
plc程序如何产生脉冲-皇室米澜的回答-懂得
PLS与PLF是上升沿与下降沿检测指令,不能用于脉冲输出。三菱PLC用于脉冲输出的指令应用指令里的FNC55--FNC59。一般用PLSY指令输出,还需设置一些...
plc怎么写10万hz脉冲程序?
编写PLC的10万Hz脉冲程序需要经过几个关键步骤。首先,配置适当的输入和输出模块以接收和发送脉冲信号。然后,使用PLC的编程软件创建一个计数器,将其设置为适...
plc脉冲量输入编程实例?
控制脉冲紧急停止或者正常停止的程序脉冲输出的是Q0.0SM0.1触发脉冲使用包络0控制脉冲紧急停止或者正常停止的程序脉冲输出的是Q0.0SM0.1触发脉冲使用...
plc每分钟脉冲100个怎么编写程序?
编写程序需要根据PLC的型号和具体要求来确定。一般情况下,编写程序的步骤如下:可以编写程序实现每分钟100个脉冲。PLC编程主要包括输入输出定义、逻辑控制、定...
PLC多段脉冲怎么控制?
主要看被控的伺服电机的运动情况:如果是独立的多个电机,时间上没有冲突,可以一对多,用脉冲切换器去切换被控的伺服驱动器(占用数字量输出口);如果步进...主...