线下实训
HOME
线下实训
正文内容
plc脉冲编程教程视频 PLC产生脉冲信号的两种方法
发布时间 : 2024-11-25
作者 : 小编
访问数量 : 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://lf6-cdn-tos.bytescm.com/obj/cdn-static-resource/pgc/v2/pgc_tpl/static/image/commodity_buy_f2b4d1a.png); } S7-200 SMART PLC应用技术 ¥88 购买

脉冲输出指令,三菱入门必学知识点

相信大家对脉冲都有所耳闻,那么,脉冲是什么?说到脉冲,我们很容易就联想到人的脉搏。心跳有快有慢,例如看到心动的美人,心跳可能飙升到120。而脉冲,简单来说,就是类似心电图上脉搏跳动的电压或电流波形。

能产生脉冲信号的器件或设备有很多,而PLC更是个中翘楚,它可以产生不同频率、不同周期、甚至不同脉宽的脉冲信号。而这些信号的输出离不开脉冲输出指令的驱动。

在分享脉冲输出指令之前,我们先来了解一下脉冲输出的波形吧!

脉冲输出波形

如下图22-1所示为脉冲输出信号的波形及相关变量。脉冲输出是一个连续的周期性信号,其中t为每个脉冲导通时间,即脉冲宽度;T为脉冲周期;频率f为周期的倒数,含义是每秒产生的脉冲个数,所以1/T中的分子1其实是指1秒钟,而1/T就是指1秒含有多少个周期;占空比是指脉宽占周期的比例。

图22-1

PLC的高速脉冲输出信号按脉宽分有两种,一种是占空比为50%的固定脉宽的脉冲串,另一种是脉宽可调的脉冲串。显然,D=50%的脉冲信号,其ON导通时间(t)与OFF关闭时间相等,而脉宽可调,其实就是所谓的PWM。本文所讲述的脉冲输出指的是第一种。

另外,脉冲输出信号还有一个变量就是平均值,PLC输出的脉冲是电压波,其平均值与脉冲高电平、占空比有关,如下图22-2所示。

图22-2

PLC的脉冲输出一般用于控制步进电机或伺服电机的运转,在FX 2N中,其高速脉冲输出口规定只能为Y0、Y1,这些高速脉冲的输出由指令控制,然后直接控制驱动器,进而控制电机的运行,如下图所示,最终实现位置的控制。

另外,想要实现高速脉冲输出,就必须得选择晶体管型输出的PLC型号。而且PLC的脉冲输出是以中断方式输出的,不受扫描周期的影响,如相关指令的驱动条件断开,其脉冲的输出也会立即停止,直到驱动条件再次接通。

其实,PLC的脉冲输出与电机的定位控制还有其他方式,在这里我也就不展开讲解啦,大家感兴趣的自行搜索相关资料或直接观看课程视频哟。

了解了脉冲输出信号后,我们接下来继续看脉冲输出指令。

脉冲输出指令PLSY

几个脉冲输出指令中最简单的就是PLSY,其编程手册截图如下图22-3所示。PLSY指令可用于16位,也可用于32位,具体可根据脉冲数进行选择。这里要注意的是,该指令没有脉冲执行型。

图22-3

PLSY指令的梯形图形式亦如图22-3所示,其操作数有3个,源址S1、S2分别为输出脉冲频率或其存储地址、输出脉冲个数或其存储地址。终址D为指定的脉冲输出口,只能为Y0或Y1。当驱动条件成立时,执行PLSY指令,PLC从输出口D输出一个频率为S1、个数为S2,占空比为50%的高速脉冲。例如图22-3中的例子,当X0接通,PLC的Y0输出口输出频率为1000Hz、个数存储在寄存器D0中的脉冲波。

PLSY指令比较简单,三有一点值得注意的是,若脉冲个数为K0,不是指输出脉冲个数为0(S2=0),而是指脉冲的连续输出,即驱动条件接通,脉冲就一直输出,不计个数,直到驱动条件断开,如执行指令PLSY K1000 K0 Y1。

在PLC 2N中,脉冲频率和个数都是有相关规定的,PLSY指令所能指定的脉冲频率为2~20000Hz,脉冲个数用于16位时为1~32767,用于32位时为1~2147483647。

带加减速的脉冲输出指令PLSR

PLSR指令和PLSY指令的最大区别在于是否带加减速,所谓“加减速”,其实就是频率的加减,因为频率代表的就是速度的快慢,频率越大,脉冲周期就越短,每秒输出的脉冲个数就越多,控制电机的转速就越快。

PLSR指令的编程手册截图和梯形图形式如下图2-4所示。PLSR的操作数有4个,比PLSY多出一个S3,为加减速时间,单位是ms;而S1为脉冲的最高频率;S2为总的脉冲个数;D依然是输出口地址,只能为Y0或Y1。

图22-4

S1输出频率与频率个数的规定,于PLSR指令而言是10~20000Hz,而且设定值必须是10的整数倍,例如500Hz、1000Hz等,而不能是501Hz、1001Hz等。总输出脉冲数用于16位时为110~32767,用于32位时为110~2147483647,若(S2)<110,脉冲将不能正常输出。以图22-4为例,当驱动条件X10接通时,PLC将在Y0输出口输出最高频率为500Hz、脉冲总数为(D0)、加减速时间为3600ms、占空比为50%的脉冲串。

那么,S1的设定为什么是10的整数倍呢?这是因为在加减速期间,指令将频率设定值分为10个阶梯加减,每个阶梯对应频率增量为1/10×(S1)Hz,所以S1的值为10的整数倍才能够被10整除,如图22-5所示。

图22-5

从图22-5可以看到,加速时间和减速时间是相等的,均是由S3设定,而S3的设定并不是随意的,它也有相关的规定,如下图22-6所示。

图22-6

既然有了PLSY指令,为什么还要开发PLSR指令呢?也就是说,为什么要增加“加减速”这个功能?这就和步进电机的工作原理有关了。步进电机是将脉冲信号转变为角位移或线位移的开环控制元步进电机件,若PLC的输出脉冲很大,直接以该大频率脉冲驱动电机,电机在起动之初,其转速为0,不能一下子达到大的转速,从而造成失步现象。同理,电机在停转的时候若速度很快,也不能一下子就停止,很可能会造成过冲现象。所以,增加加减速时间可以让电机避免失步和过冲现象。

可变速脉冲输出指令PLSV

图22-7

PLSV指令的编程手册截图如上图22-7所示,有3个操作数,源址S为输出脉冲频率或其存储地址,用于16位时的取值范围为1~32767Hz和-1~-32767Hz,用于32位时的取值范围为1~100000Hz和-1~-100000Hz。D1为脉冲输出口,仍然是只能为Y0或Y1。D2为旋转方向信号输出地址,当D2=ON时为正转,D2=OFF时为反转。

以图22-7的梯形图为例,当驱动条件M0接通,PLC将在Y0输出口输出频率为10000Hz的脉冲串,若Y4=ON,表示输出频率为正值,若Y4=OFF,表示输出频率为负值。

和PLSY、PLSR指令不同,PLSV指令不能设定脉冲个数,所以它不能用于定位。虽然PLSV指令不能用于精确定位,但它在脉冲输出的过程中,可以自由改变输出脉冲的频率(S),用于电机控制时,就可以随时控制电机的转速和转向。

这里要注意的一点是,若脉冲频率S的值为0,脉冲输出将停止,而且是直接停止,而不是像PLSR那样有减速时间。

PLSY指令、PLSR指令或者是PLSV指令都是脉冲输出指令,它们的执行会涉及到几个特殊辅助继电器和特殊数据寄存器。

相关特殊软元件

如下图22-8所示为相关特殊辅助继电器列表。

图22-8

其中M8147、M8148为脉冲输出监控,若Y0或Y1有脉冲输出,对应辅助继电器将为ON。而M8145、M8146为脉冲输出停止,如果指令的驱动条件不能断开,就可以通过M8145、M8146来停止Y0或Y1的脉冲输出。M8029就不用我多说了,表格已经写明。

图22-9

上图22-9为相关特殊数据寄存器列表。各个数据寄存器的值不会自动更改,所以我们可以用DMOV指令进行清零。

PLSY指令、PLSR指令和PLSV指令的脉冲输出口都是Y0或Y1,所以,三个指令显然不可能同时使用,只能三选二或其中一个指令用两次,并在Y0和Y1输出口得到各自独立的脉冲输出。

以上就是这次所分享的学习内容了,内容比较多,虽然没有结合实际应用进行讲解,但总的来说还是比较简单,希望大家都能全部理解哟。

(来源:技成培训网原创,作者:杨思慧,未经授权不得转载,违者必究!)

相关问答

plc中如何自定义一个脉冲?

在PLC(可编程逻辑控制器)中,你可以通过编写程序来生成自定义脉冲。以下是一个基本的步骤指南:确定需求:首先,你需要明确你需要什么样的脉冲。脉冲的频率、...

plc脉冲定位编程实例?

PLC脉冲定位编程实例:1、脉冲定位编程:(1)首先配置脉冲定位模块,确定脉冲定位模块的通道号、脉冲定位方向、脉冲定位频率和脉冲定位位置等信息;(2)编...PL...

西门子PLC怎么编写脉冲程序?

编写西门子PLC的脉冲程序需要以下步骤:首先,确定所需的脉冲输入或输出模块,配置PLC的硬件连接。然后,使用编程软件(如Step7)创建新的程序。在程序中,...

在线可编程脉冲控制仪接线法?

在线可编程脉冲控制仪的接线方法如下:1.电源接线:将电源正极与控制仪的“+”正极相连,将电源负极与控制仪的“-”负极相连。2.信号接线:将控制仪的信号输出...

三菱PLCFXCPU脉冲发送编程办法?

输出指令步骤分析如下:1、在左母线右侧双击鼠标输入上升沿控制软元件X0,当X0接通时执行脉冲指令。2、在X0触点后输入前沿脉冲“PLSM0,前沿脉冲指当X0从关...

plc发脉冲途中中断了,如何继续发剩下的脉冲?

如果PLC发脉冲途中中断了,需要先确定中断的原因,然后进行故障排除。一旦问题得到解决,可以重新设置PLC,然后通过编程控制器继续发射剩下的脉冲。在重新设置P...

可编程脉冲控制仪运行控制怎么接?

可编程脉冲控制仪通常通过以下方式进行运行控制接口的连接:1.电源接口:将控制仪的电源接口连接到电源插座或电源供应器,确保供电充足和稳定。2.输入信号接口...

PLC编程脉冲是什么意思?又有什么意思?

在PLC(可编程逻辑控制器)编程中,"脉冲"通常指的是输入或输出信号中的脉冲信号。它表示一个短暂的电信号脉冲,通常用于传输信息或触发某些动作。脉冲信号在PLC...

三菱plc脉冲正反转编程实例?

回答如下:以下是一个三菱PLC脉冲正反转编程实例:1.确定PLC模型和IO点例如,使用FX3UPLC,需要确定脉冲输入和输出的IO点,例如脉冲输入为X0、脉冲输出为Y0...

请问三菱plc读脉冲数的程序怎么写?

可以利用高速计数器直接读取。例如:将两相旋转编码器的A、B分别接X0、X1;LDM8000OUTC251K10000DMOVC251K8Y0这样就可将脉冲数直接从Y0~Y37中显示出来。可以利...

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

QQ

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

热线

188-0000-0000
专属服务热线

微信

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