S7-200PLC 多段PTO高速脉冲输出编程详解 雪中送炭

大家好,我是微控小智,今天又跟大家见面了。学习需要坚持,做技术亦是如此,厚积才能博发。小智写的程序都是进行反复测试过的,可以放心跟着操作,有疑问的地方可以留言。

上期给大家介绍了高速脉冲输出基本编程思路,其用到是单段PTO脉冲输出;下面给大家介绍一下稍微难一点的多段PTO脉冲输出,多段PTO相对单段PTO要灵活一些,今天就来具体体会多段PTO脉冲输出吧。

PTO的种类

在PTO方式下,要输出多段脉冲串时,允许脉冲串排队。PTO输出多段脉冲的方式有两种:

1.单段PTO:定义一个脉冲串,输出一个脉冲串 (特性参数通过特殊寄存器分别定义) 。

2.多段PTO:集中定义多个脉冲串,按顺序输出多个脉冲串(特性参数通过包络表集中定义) 。

多段PTO操作

多段PTO:集中定义多个脉冲串,并把各段脉冲串的特性参数按照规定的格式写入变量存储区用户指定的缓冲区中称为包络表,如下图所示:

包络表说明:

1.包络表由包络段数和各段构成。

2.第一个字节为需要输出的脉冲串总段数,范围:1~255 。

3.定义一段脉冲串的特性参数需要8个字节

两个字节存放脉冲串的起始周期值

两个字节定义脉冲串的周期增量

四个字节存放该段脉冲串的脉冲数

4.包络表中的周期单位可以为 ms 或 μs,但表中所有周期单位必须一致。

5.周期增量的计算公式:

例如:第1段中的初始周期为500μs ,脉冲数为400个;而第2段的初始周期为 100μs,为保证平滑过渡,第1段的结束周期设为与第2段初始周期相同,则脉冲的周期增量为:N=100-500/400=-1μs

6.多段PTO操作时,需把包络表的起始地址装入标志寄存器 SMW168(或SMW178)中。

PTO指令执行时,当前输出段的段号由系统填入 SMB166 或 SMB176 中。

7.多段PTO的优点:编程简单,且在同一段脉冲串中其周期可以均匀改变。

多段 PTO 编程步骤

(1)使用初始化脉冲触点SM0.1调用PTO脉冲输出初始化操作子程序。这个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少了扫描时间,且程序更为结构化。

(3)将包络表的起始地址写入 SMW168;

(4)填写包络表中各段脉冲串的特性参数;

(5)建立中断连接:用ATCH指令建立脉冲输出完成中断事件与中断程序的联系,用ENI全局开放中断;当PLS指令输出完指定数量的脉冲串时,产生中断。

(6)有启动信号时,执行高速脉冲输出指令PLS,按顺序输出多段脉冲串。有停止信号时,停止高速脉冲串输出。

(7)停止 PTO 输出的方法,PLS指令一经激发,就能完成指定脉冲串的输出,故要停止PTO输出,必须先在控制字节中禁止PTO输出,且执行PLS指令。

接下来我做一个相关案例,案例如图所示:

案例要求:使用多段管线PTO方式控制交流伺服电动机进行精确定位的控制系统。控制中遵循图中所画运行轨迹,并可以实现任意时刻停止交流伺服电动机。I0.0为正转按钮,I0.1为反转按钮,I0.2为停止按钮,控制程序如图所示。

实践出真知,没有实践,理论就是纸上谈兵;学习中需要多加验证。如果大家觉得小智的文章写得不错,很适合大家的口味,可以分享更多的朋友。

纸上得来终觉浅,绝知此事要躬行

宝剑锋从磨砺出,梅花香自苦寒来

关注智微自控

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180125G0C1RA00?refer=cp_1026

同媒体快讯

相关快讯

扫码关注云+社区