PLC编程案例57 编写一段程序 实现分脉冲功能
一、PLC控制任务
要求用博图梯形图LAD语言编程,编写一段程序 实现分脉冲输出功能。自主编程不同频率的脉冲可以灵活应用于报警灯闪烁、指示灯闪烁,简单使用即可达到效果,具有实际应用意义。
二、创建PLC输入输出变量表如图一所示
图一
三、在PLC CPU属性里组态启用“系统和时钟存储器”的M0.5产生秒脉冲,无需手工编程即可使用如图二所示
图二
四、先用“系统和时钟存储器”的M0.5产生秒脉冲,再累计30个秒脉冲作为高电平,30个秒脉冲作为低电平,当计数值MW20累计60时,输出复位标识位复位计数值MW20如图三所示
图三
以上是自主编程实现分脉冲输出功能程序,普天之下,粉丝最大,如果感觉我的编程案例对你有用,点赞并关注我,是我编程的动力,会不定时分享博途程序案例给大家学习,谢谢!
电气工程师:西门子S7-200PLC编程PTO脉冲的产生与使用
PTO功能按照给定的脉冲个数和周期输出一串方波脉冲,占空比为50%。PTO可以产生单段脉冲或通过使用脉冲包络产生多段脉冲。必须为其设定脉冲个数和周期(以微秒或毫秒为单位):脉冲个数:1-4294967295,为32位无符号数;周期:10~65535us或2-65535ms,为16位无符号数。
在设置脉冲个数时,若将脉冲个数设为0,系统会默认为个数为1:在设置脉冲周期时,符号数如果周期小于两个时间单位,系统会默认周期为两个时间单位,例如时间单位为ms,周期设为1.3ms,系统会默认周期为2ms,另外,如果将周期值设为奇数值(如75ms),产生的脉冲波形会失真。
PTO脉冲课分为单段脉冲串和多段脉冲串,多段脉冲串由多个单段脉冲串组成。
1、单段脉冲串的产生
要让Q0.0或Q0.1端子输出单段脉冲串,须先对相关的控制字节和参数进行设置,再执行高速脉冲输出PLS指令。
图1是一段用来产生单段脉冲串的程序。在PLC首次扫描时,SM0.1触点闭合一个扫描周期,复位指令将Q0.0输出映像寄存器(即Q0.0线圈)置0,以便将Q0.0端子用于高速脉冲输出:当I0.1轴点合时,上开沿P触点接通一个扫描周期,MOV_B、MOV_W和MOV_ DW依次执行,对高速脉冲发生器的控制字节和参数进行设置,然后执行高速脉冲输出PLS指令,让高速脉冲发生器按设置产生单段PTO脉冲串并从Q0.0端子输出。在PTO脉冲串输出期间,如果I0.2触点闭合,MOV_B、 MOV_ DW依次执行,将控制字节设为禁止脉冲输出、脉冲个数设为0,然后执行PLS指令,高速脉冲发生器马上按新的设置工作,即停止从Q0.0端子输出脉冲。单段PTO脉冲串输出完成后,状态位SM66.7会置1,表示PTO脉冲输出结束。
2、单段脉冲串的产生
多段脉冲串有两种类型:单段管道脉冲串和多段管道脉冲串
(1)单段管道脉冲串
由于控制单元参数只能对单段脉冲串产生作用,因此在输出单段管道脉冲串时,要求执行PLS指令产生首段脉冲串后,立即接第二段脉冲串要求刷新控制参数单元,并再次执行PLS串中的每个脉冲参数要相同指令,这样首段脉冲串输出完成后,会接着按新的控制参数输出第二段脉冲串。单段管道脉冲串的每个脉冲串可采用不同参数,这样易出现脉冲串之间连接不平稳,在输出多个参数不同的脉冲串时,编程也很复杂。
(2)多段管道脉冲串
多段管道脉冲串也由多个单段脉冲串组成,每个单段脉冲串的参数可以不同,单段脉冲串中的每个脉冲参数也可以不同。
①参数设置包络表
由于多段管道脉冲串的各个脉冲串允许有较复杂的变化,无法用产生单段管道脉冲串的方法来输出多段管道脉冲串,S7-200PLC采用在变量存储区建立一个包络表的方法,由该表来设置多段管道脉冲串中的各个脉冲串的参数。多段管道脉冲串的参数设置包络表见表1,从包络表中可以看出,每段脉冲串的参数占用8字节,其中2字节为16位初始周期值,2字节为16位周期增量值,4字节为32位脉冲数值,可以通过编程的方式使脉冲的周期自动增减,在周期增量处输入一个正值会增加周期,输入一个负值会减少周期,输入0将不改变周期。
在多段管道模式下,系统仍使用特殊存储器区的相应控制字节和状态位,每个脉冲串的参数则从包络表的变量存储器区读出,在多段管道编程时,必须将包络表的变量存储器起始地址(即包络表中的n值)存入SMW168或SMW178中,在包络表中的所有周期值必须使用同一个时间单位,而且在运行时不能改变包络表中的内容,执行PLS指令来启动多段管道操作。
②多段管道脉冲串的应用举例。
多段管道脉冲串常用于步进电动机的控制。图2是一个步进电动机的控制包络线,包络线分3段:第1段(AB段)为加速运行,电动机的起始频率为2kHz(周期为500s),终止频率为10kHz(周期为100us),要求运行脉冲数目为200个:第2段(BC段)为恒速运行,电动机的起始和终止频率均为10kHz(周期为100s),要求运行脉冲数目为3600个;第3段(CD段)为减速运行,电动机的起始频率为10kHz(周期为100us),终止频率为2kHz(500us),要求运行脉冲数目为200个。
根据图2步进电动机的控制包络线列出的包络表
根据包络表可编写出步进电动机的控制程序,如图3所示,该程序由主程序、SBR_0子程序和NT_0中断程序组成。
主程序
SBR_0子程序
INT_0中断程序
在主程序中,PLC首次扫描时SM0。触点闭合一个扫描周期,先将Q0.0端子输出映像寄存器置0,以便将该端子用于高速脉冲输出,然后执行子程序调用指令转入SBR0子程序。在SBR0子程序中,网络1用于设置多段管道脉冲串的参数包络表(段数、第1段参数、第2段参数和第3段参数),网络2先设置脉冲输出的控制字节,并将包络表起始单元地址号送入SMW168单元,然后用中断连接指令将NT0中断程序与中断事件19(PTO0脉冲串输出完成产生中断)连接起来,再用EN指令允许所有的中断,最后执行PLS指令,让高速脉冲发生器按设定的控制方式和参数(由包络表设置)工作,即从Q0.0端子输出多段管道脉冲串,去驱动步进电动机按加速、恒速和减速顺序运行。当Q00端子的多管道PTO脉冲输出完成后,马上会向系统发出中断请求,系统则执行DNT0中断程序,Q10线圈得电。
以上,欢迎动动手分享及收藏!
相关问答
三菱PLC双向(正,负)脉冲输出Y0Y2?
例DRVIK5000K1000Y0Y2电机正转DRVIK-5000K1000Y0Y2电机反转DRVIK5000K1000Y0M0电机同样反转你这个是脉冲加符号的形势...
西门子PLC怎么编写脉冲程序?
编写西门子PLC的脉冲程序需要以下步骤:首先,确定所需的脉冲输入或输出模块,配置PLC的硬件连接。然后,使用编程软件(如Step7)创建新的程序。在程序中,...
plc怎么分配脉冲和方向?
PLC可以通过控制输出信号的频率和方向来分配脉冲和方向。在PLC程序中,可以编写相应的指令来控制脉冲和方向的输出,例如使用计数器指令或者PWM指令控制脉冲的频...
脉冲信号接PLC?
三极管起到的是开关和驱动作用PLC输出的脉冲信号驱动能力有限所以外扩三极管做功率开关。如果功率较大的话三极管依然会发热,可以加散热器,也可以两级...
plc编程一秒的脉冲怎么编?
一秒的脉冲周期,需要编写定时器来生成脉冲信号。在PLC编程中,通常使用计数器和定时器来实现定时控制和生成脉冲信号。对于一秒的脉冲信号,可以编写一个计数器...
plc同步控制实例?
1、可以通过模拟量控制,一般采用0~10信号控制,几套伺服就配几个输出,脉冲控制。你可以选用晶体管输出的PLC,通过发不同的脉冲数来控制伺服系统的速度;2、可...
ABplc的脉冲指令是哪个?
在AB(Allen-Bradley)可编程逻辑控制器(PLC)中,脉冲指令通常使用位指令来实现。其中,最常用的脉冲指令是XIC(ExamineIfClosed)和XIO(ExamineIfOp...
怎样用pLC设置脉冲?
pLC可以通过配置输出模块的通道来设置脉冲输出。首先需要确定脉冲输出的频率和占空比,然后在pLC的编程软件中创建一个脉冲输出的程序。在程序中,设置输出通道...
300plc一个脉冲周期有几个脉冲信号?
根据您提供的信息,"300plc"可能是指PLC(可编程逻辑控制器)的脉冲输出频率。PLC的输出脉冲频率通常以赫兹(Hz)为单位来衡量,表示每秒脉冲的数量。如果一个P...
请问怎么写三菱PLC发脉冲的程序?
编写三菱PLC发脉冲的程序需要分为几个步骤。首先,通过连接PLC并编写适当的输入输出(I/O)逻辑,确保PLC与外部设备正确通信。然后,使用PLC编程软件创建一个...