线下实训
HOME
线下实训
正文内容
plc双脉冲编程实例 PLC编程案例57 编写一段程序 实现分脉冲功能
发布时间 : 2025-06-19
作者 : 小编
访问数量 : 23
扫码分享至微信

PLC编程案例57 编写一段程序 实现分脉冲功能

一、PLC控制任务

要求用博图梯形图LAD语言编程,编写一段程序 实现分脉冲输出功能。自主编程不同频率的脉冲可以灵活应用于报警灯闪烁、指示灯闪烁,简单使用即可达到效果,具有实际应用意义。

二、创建PLC输入输出变量表如图一所示

图一

三、在PLC CPU属性里组态启用“系统和时钟存储器”的M0.5产生秒脉冲,无需手工编程即可使用如图二所示

图二

四、先用“系统和时钟存储器”的M0.5产生秒脉冲,再累计30个秒脉冲作为高电平,30个秒脉冲作为低电平,当计数值MW20累计60时,输出复位标识位复位计数值MW20如图三所示

图三

以上是自主编程实现分脉冲输出功能程序,普天之下,粉丝最大,如果感觉我的编程案例对你有用,点赞并关注我,是我编程的动力,会不定时分享博途程序案例给大家学习,谢谢!

S7-200脉冲输出指令做电机正反转控制

关注“PLC发烧友”,一起涨知识!

通过上次的学习,我们应该已经知道可以通过修改SM存储区(包括控制字节),然后执行PLS指令来改变PTO或PWM波形。除了前面学习的使用步骤和一些使用要点,我们还要知道的就是PTO状态字节的空闲位(SM66.7或SM76.7),它标志着脉冲输出完成。另外,在脉冲输出完成时,我们还可以利用脉冲发送完成中断,使程序跳转到中断服务程序进行执行。那么就补充这几点内容。下面我们做利用一个脉冲输出指令做电机正反转控制的例子。

主程序:

高速计数器子程序:

高速脉冲输出子程序:

中断程序:

我们首先先做一个高速计数子程序和脉冲输出子程序,在高速计数器子程序中,首先是定义控制字节,送16#F8到SMB37,定义为加计数更新当前值,传送0到SMD38写入初始值,定义的是高速计数器HSC0和HSC模式12,然后激活高速计数器,还做了高速计数器中断,PTO0完成中断的事件为中断事件号19,我们建立中断程序0和中断事件19的中断连接,并全局允许中断。

而在高速脉冲输出子程序里面,我们定义一下接口,定义周期io_time为LW0,为IN类型的,定义脉冲数io_NO为LD2,也是为IN类型的,然后写子程序。首先传送16#85到SMB67中定义控制字节,这里选择的是PTO模式、单段、1us/周期、装入周期和脉冲数的情况(控制字节的定义可以参考PTO/PWM控制字节表),并传送LW0到SMW68中写入周期值,传送LD2到SMD72中写入脉冲数,最后执行PLS指令。那么这样是做了一个带功能参数的子程序,之后在主程序中可以对这个带功能参数的子程序进行调用。

然后我们编写主程序,在主程序的网络一中,首先用SM0.1首次扫描驱动高速计数器子程序进行高速计数初始化,同时对Q0.0的过程映像区清零,同时也对高速脉冲输出进行初始化。在网络中,我们用I0.2的上升沿来驱动立即置位指令,立即置位Q0.2,同时调用高速脉冲输出子程序,周期设为100us,脉冲为10000个,同时还要传送16#F8到SMB37并执行HSC指令进行加计数并更新当前值。那么就就是说当我们接通I0.2时,会在I0.2的上升沿立即置位Q0.2,电机正转,100us发10000个脉冲,同时高速计数器进行加计数。因为建立了脉冲完成中断,那么当脉冲发生完成时,会进入到中断程序进行执行。

那么我们就可以在中断程序中编写反转的控制,因为原来是正转,那么Q0.2是接通的,那么我们就用Q0.2的常开触点来驱动立即复位指令,立即复位Q0.2,同时调用高速脉冲输出子程序,周期设为200us,脉冲为10000个,同时还要传送16#B0到SMB67并执行HSC指令进行减计数并不更新当前值。那么就是说进入中断时会立即复位Q0.2,电机反转,200us发10000个脉冲,同时高速计数器进行减计数。

那么对于这样一个例子,应用到了带参数的子程序调用、中断和高速计数器的内容,会不会比较难以理解呢,如果觉得有些模糊的话,可以回看一下前面中断和高速计数器的内容,这样可以加深印象呢。

来源:技成培训网,作者:蔡慧荥,未经授权请勿转载!回复:西门子全套 ,可领取西门子系列资料包!

相关问答

三菱FX2NPLC如何产生多个通道的脉冲(8组脉冲)?我想用一个PLC...

[最佳回答]如果采用FX2N内置脉冲输出功能,最多控制2台。如果采用FX2N带定位模块,可以控制8台,具体看连接的模块型号。有的能连接4个,有的8个。如果采用FX2N...

plc脉冲量输入编程实例?

控制脉冲紧急停止或者正常停止的程序脉冲输出的是Q0.0SM0.1触发脉冲使用包络0控制脉冲紧急停止或者正常停止的程序脉冲输出的是Q0.0SM0.1触发脉冲使用...

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

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

PLC里面脉冲数是有限的,我想连续无缝脉冲怎么编写,我用的是信捷XC2PLC就是步进电机一直转不停?

用PLSF指令,条件满足就一直发脉冲了发送过程中也可以随意改变频率用PLSF指令,条件满足就一直发脉冲了发送过程中也可以随意改变频率

两线制脉冲信号与plc如何接线?

要看所接脉冲输出设备是什么输出形式了,要是继电器或者干簧管等这种无源干接点型脉冲输出的话,接个24V+和Ix.x就OK了。要是有源12V输出的话就接不上了。要是有...

西门子S7300PLC怎么实现连续脉冲输出?

1、时钟脉冲发生器(Cycle/clockmemory)2、可以应用循环组织块OB35等。3、CPU31xC型的CPU自带最高2.5KHz的PWM输出,如果需要其他形式的脉冲就需要扩展定位模块...

PLC发脉冲编程指令?

PLC脉冲指令是指对西玛仪表028-6650595713808018567关于作为PLC连接驱动器来控制步进电机的,比如使用台达PLC(三菱系也是一样),连接Y0,和C0到步进电机驱动器...

信捷plc如何实现连续脉冲输出?

可以使用定时器和计数器实现连续脉冲输出。首先使用定时器设定一个周期,定时器计数到设定的值后会产生一个中断,然后在中断服务程序中通过计数器设定脉冲输出...

大神们帮忙编个欧姆龙PLC脉冲程序?

如此之简单。。。。正转,上升沿,触发正转sped指令反转,上升沿,触发反转sped指令正转和反转,下降沿,都触发INI停发脉冲。如此之简单。。。。正转,上升...

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

西门子PLC编写脉冲程序的具体步骤取决于所使用的具体型号和软件版本。一般来说,您需要首先设置输入和输出模块,然后在PLC编程软件中创建一个新的脉冲程序。接...

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

QQ

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

热线

188-0000-0000
专属服务热线

微信

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