线下实训
HOME
线下实训
正文内容
plc编程hz PLC产生脉冲信号的两种方法
发布时间 : 2025-02-21
作者 : 小编
访问数量 : 23
扫码分享至微信

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的速度检测指令,脉宽调制等指令的使用方法

本文通过实际案列与指令格式来为大家介绍,速度检测指令,脉冲输出,脉宽调制指令的使用方法,如果各位朋友有不懂的地方可以关注私信小编噢!

速度检测指令:

该指令的助记符,指令代码,操作数,如下表:

指令格式:

在这里X0表示接收脉冲的个数,K100表示的是接受脉冲的时间是100个毫秒,D0表示的接收的脉冲存放的位置。

下面我们用一个图来说明这个指令的作用:

如图为一个码盘,当这个码盘旋转的时候,X0这里为一个接触开关,当码盘经过这个接触开关的时候可以输出一个脉冲信号。然后计数K100ms后,再把数据放在D0 中

转数计数公式:

D表示记得脉冲个数,n为编码器转一周所产生的脉冲数,S2为记录的时间。为什么要乘于10的3次方呢?因为我们使用的时间为毫秒,需要化成秒。然后乘于60的作用是把这个时间化成小时。

程序示例:

用旋转编码器测试电动机的转数,编码器每转输出360个脉冲,写出PLC的控制程序。

分析:

可以用SPD指令测出100ms所得到的脉冲数为DO,然后带到公式中进行计算:公式中有乘除运算,我们可以对公式中的常数进行约分,然后再进行计算。设编码器输出的脉冲输入到PLC的X0点。D10为电动机的转速。

梯形图:

脉冲输出指令:

该指令的助记符,指令代码,操作数,如下表:

指令格式:

K1000表示的是脉冲的频率1000HZ,D0表示的是产生的脉冲个数,Y0为输出点。如果为16位操作那么D0的范围就为1~32767,如果32位操作的时候,D0的范围就为1~2147483677.所以这个数非常大,如果D0的值等于0,那么就表示产生无穷多的脉冲。

对于FX2N系列晶体管式的,那么脉冲的频率最高可以达到20000Hz。在这里我们需要注意的是,比如我们设定的脉冲个数为10000个,脉冲频率为1000,那么10S后脉冲产生完毕后有一个标记,M8029会自动置1。如果在产生脉冲的过程中开关断开,那么脉冲停止产生,然后再接通的话,脉冲从新开始产生。如果X10在接通的过程中,我们改变频率那么可以得到快速的响应,如果改变脉冲的个数就需要X10断开再次接通。 另外在使用这个指令中还需要注意一点,在整个程序中这条指令只能用一次。

脉宽调制指令:

该指令的助记符,指令代码,操作数,如下表:

指令格式:

D10表示的是产生脉冲的宽度,K50表示的是产生的脉冲的周期。在16位操作的时候D10的范围是0~32767,K50的范围是1~32767.脉冲的宽度不能超过周期,也不能等于0。所以说这条指令也是用来产生脉冲的,只不过这个脉冲的宽度是可调的,也就是占空比不一定是50%。但是这条指令产生的频率是有限的,最高为500Hz。

喜欢更多PLC知识,关注小编不迷路噢!

相关问答

plc怎么写10万hz脉冲程序?

编写PLC的10万Hz脉冲程序需要经过几个关键步骤。首先,配置适当的输入和输出模块以接收和发送脉冲信号。然后,使用PLC的编程软件创建一个计数器,将其设置为适...

plc编程2hz闪烁怎么编写?

回答如下:以下是一个PLC编程2Hz闪烁的示例程序:1.首先,声明一个计时器(Timer)和一个输出(Output)变量:TimerT1;OutputQ1;2.在主程序中,设置计时.....

300plc一个脉冲周期有几个脉冲信号?

根据您提供的信息,"300plc"可能是指PLC(可编程逻辑控制器)的脉冲输出频率。PLC的输出脉冲频率通常以赫兹(Hz)为单位来衡量,表示每秒脉冲的数量。如果一个P...

怎么样用西门子PLC做个脉冲初始是30HZ,然后以0.5S/1HZ上升,至100HZ停止?

PLC可以输出脉冲么?如不能请安装一个检测仪器检测30HZ输出一个信号PLCPLC给变频器一个信号启动变频器调整为0.5S/1HZ上升当检测到100HZ时再次给PLC一...

【简单plc的题目频率变送器的量程为45~55HZ,输出信号为DC0~1...

[最佳回答]这个太简单了把,线性变换呗,N/32000就是一个0-1的标准量,55-45Hz全量程为10Hz,那么得到的频率值就是45+(10*N/32000)Hz吧,以0.01Hz为单位再乘以100...

【三菱FX2N-48MRplc中1pls等于多少Hz?】作业帮

[最佳回答]PLS的动作过程是PLC内部CPU扫描的一个周期,具体时间是多少,你要参考该PLC的一个扫描周期是多长.

在三菱plc中如何用闪烁指令?

在三菱plc中用闪烁指令1、LDM80132、OUTY00003、END要让指示灯闪烁的话,将控制指示灯的Y点由定时器定时置ON/OFF就可以了,这样闪烁频率可调。或者使用内...

plc最高输出200khz是什么意思?

根据频率计算公式:f=1/Tf:频率:物质在1s内完成周期性变化的次数叫做频率,常用f表示。T:周期PLC最高输出200KHZ的意思是说,每秒输出200x1000HZ,也就...

plc脉冲输出频率最少多少?

关于PLC输出频率,不同品牌的PLC是不相同的。一般常用的三菱的FX1S、FX1N为100KHz,FX10GM、FX20GM是200KHzPLC的脉冲输出一般是用来控制伺服、变频器或步进...

变频器plc编程怎么样?多长时间能学会?

变频器现在应用已经非常普遍了,小到风机调速,恒压供水,复杂到恒张力控制,起重提升。变频器的主要功能就是通过调节输出供电频率(Hz)达到调节负载电机的转速功...

 清分机支票  coolmax面料 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

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

热线

188-0000-0000
专属服务热线

微信

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