研选课堂
HOME
研选课堂
正文内容
plc 编程毫秒级脉冲 电气工程师:西门子S7-200PLC编程PTO脉冲的产生与使用
发布时间 : 2026-03-25
作者 : 小编
访问数量 : 23
扫码分享至微信

电气工程师:西门子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编程,STEP 7 博途编写脉冲发生器程序

方法1

可以使用STEP7(TIA Portal)的IEC定时器来通过简单的编程产生一个脉冲发生器。

图.01展示的是如何利用两个“TON”(接通延时定时器)来实现在输出端 Q0.1 输出周期性脉冲信号的。

图.01

注:图中E0.0即为I0.0,A0.1即为Q0.1,德语关系。

“接通延时定时器”指令将使得输出端 Q 延迟一段时间接通,该时间通过 PT 来定义。

下表将描述如何实现脉冲发生功能。

脉冲发生器的功能

1 输入I0.0 “Release”用于激活此脉冲发生器。

2 标志 M0.1 “Out"”初始值为“False”,因此,下面一条接通延迟定时器指令“TON”开始计时。

3 当接通延时时间到达的时候,标志 M0.0 “Trig"”将被置位并且输出 Q0.1 “Trig_Out”获得 “True”信号。

4 M0.0 的“True”信号将触发上面一条“TON”指令开始计时。

5 当第二次接通延时时间到达的时候,标志 M0.1“Out”被置位。

6 M0.1 的 “True”信号将断开下面一条 “TON”指令的计时条件并中断该定时器,同时使标志 “M0.0”被复位。输出 Q0.1 “Trig_Out”获得 “False”信号。

7 M0.0 的 “False”信号将中断上面一条“TON” 指令,并将 M0.1 复位。

8 标志 M0.1 的 “False”信号将重新触发下面一条“TON"”指令,然后整个过程再次重新开始。

图.02展示了这个脉冲发生器的时序图

图.02

优势:

1. 脉冲信号为True和False的时间可以设为变量。

2. 使用这种方式可以灵活的更改脉冲信号的占空比。

方法2

您可以通过设置时钟标志来产生一个占空比为 50% 周期性脉冲信号。

步骤 :

1 打开您的STEP7项目,在设备视图中双击S7 CPU模块。

2 选择“Properties” ,并在页签中点击“System and clock memory”。

3 勾选“Enable the use of clock memory byte”选项并为时钟标志选定一个字节的地址;比如,“100”表示 MB100。时钟标志的每一位将被分配为不同频率的脉冲信号。

图.03

4 保存并编译硬件组态。然后下载到CPU。

5 标志M100.0将被分配为10 Hz频率的脉冲,也就是说它每0.1秒改变一次状态。图04中展现了让“IN/OUT”引脚的操作数MD110循环递增的例子。比较指令连接MOVE指令使得当操作数到达99时将被复位为 0。

图.04

优势

1. 只需更改组态设置,简单便捷。

2. 不需要用 IEC 定时器指令。

使用时钟标志说明,时钟标志的占空比是1:1。

由于时钟标志的运行周期和CPU 是异步的,在一个长扫描周期中时钟标志能变化多次,这将导致歧义。

举例:

1. 时钟标志的保持时间是100ms 。

2. 程序的扫描周期是100ms并有正负10ms的波动。

3. 如果时钟标志在几个周期后状态都为 1 ,则可能感觉在监控时有 300ms 状态没有变化。

图.05

1. 时钟标志每 100ms 发生变化

2. 扫描周期: 110ms

3. 扫描周期: 90ms

4. 在线监控时钟标志

相关问答

plc中ms是什么意思?

答:施耐德plc编程软件是施耐德电气自动化的核心产品,它是新一代软硬件自动化平台。其中MS表示毫秒的意思。PLC内的定时器的时钟脉冲10ms的就是说经过10ms就...

plc中0.5秒怎么表示?

在PLC程序中,时间是以毫秒为单位进行计算的。在这种情况下,0.5秒可以表示为500毫秒或0.5*1000=500毫秒。PLC使用定时器来测量时间,并且可以将其设置为在特定...

plc梯形图怎么改变闪烁频率?

PLC梯形图一般是用于编写程序控制机器或设备的,如果要改变闪烁频率,需要对程序进行修改。具体步骤如下:打开PLC编程软件,加载相应的程序。进入程序编辑界...

abb机器人do脉冲输出指令?

ABB机器人中,DO脉冲输出的指令为“SETDO()”,其语法格式如下:SETDO(do_number,pulse_count,pulse_duration)其中,do_number是要进行...

M8002和M8012是什么编程元件?他们各有什么功能?-ZOL问答

M8002和M8012是PLC中的特殊辅助继电器,具有各自独特的功能。M8002是一个初始脉冲触点型辅助继电器,它只在运行开始时瞬间接通。相反逻辑的触点为M8003。而M8...

银河系最大的脉冲星

在梅西耶92号发现了第一颗已知的脉冲星,梅西耶92号是大力神星座中距离地球约27000光年的球状星团。Fast又名天眼,位于中国...自从1967年剑桥大学的研究生、...

一万hz对应多少毫秒?

1MHZ=1000000HZ,Hz是指频率单位。频率是指电脉冲,交流电波形,电磁波,声波和机械的振动周期循环时,1秒钟重复的次数。1Hz代表每秒钟周期震动1次10000hz=10...

如何用S7-200测量高速脉冲的频率啊?各位高手帮忙了?

最近改造用S7200高速计数器,检测一个信号,300毫秒检测一个信号,检测不到,输出一个Q点报警,望高手指点答:可以这样编程:1、将S7-200的高速计数器的计数...最...

最年轻“毫秒脉冲星”距地球多远?_作业帮

[最佳回答]这颗年龄仅为2500万年的最年轻毫秒脉冲星,科学家已将其命名为PSRJ1823-3021A.,它位于人马座一个巨大的球状星团内,距地球约2.7万光年.这颗年龄仅为...

00代替A,01代替B,10代替C,11代替D每个脉冲宽度为5毫秒.(1)...

[最佳回答]1.每个字母为2个脉冲,需要10毫秒.每个字母的信息量为2bit,所以平均信息速率为2/0.01=200bps2每个字母为2个脉冲,需要10毫秒.每个字母的信息量根据出...

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

QQ

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

热线

188-0000-0000
专属服务热线

微信

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