[西门子] 西门子S7-200 SMART的PLS指令应用

[复制链接]
查看71762 | 回复0 | 2024-8-30 17:11:09 | 显示全部楼层 |阅读模式
除了使用运动控制向导,S7-200 SMART还支持使用PLS指令输出PTO脉冲信号。



在STEP 7 Micro-WIN/SMART的【指令】—【计数器】中可以找到PLS指令,如下图所示:



PLS指令初始添加到程序块中的状态如下图所示:



该指令共有两个输入参数:EN和N,其中:

    EN:布尔型变量,PTO脉冲输出使能,使用沿信号触发;

    N:字型常量,表示输出PTO信号的通道编号,包括三种:0、1或2。其中:0=Q0.0,1=Q0.1,2=Q0.3;

需要注意的是,只有标准型CPU模块才支持高速脉冲信号输出。其中,CPU ST20支持两路脉冲输出信号,分别是Q0.0和Q0.1;CPU ST30/ST40/ST60支持三路脉冲信号,分别是Q0.0、Q0.1和Q0.3;

说明:

    当使用PLS指令激活PTO脉冲发生器后,相应的输出通道(比如Q0.0)被脉冲发生器接管,不受程序中其它数字量输出指令的控制;当脉冲发生器取消激活后,输出通道受普通指令输出的控制;

    如果程序中已经组态了运动控制向导,则以向导的组态为准;


    不建议使用继电器输出型CPU(SR20/SR30/SR40/SR60)输出PTO脉冲信号;

由于PLS指令本身仅可以设置输出通道的编号,因此其它参数(比如频率、脉冲数等)必须通过特殊存储器字节/字来设置。这些特殊存储器字节/字是PTO或PWM脉冲信号共用的,由于本课程介绍的PTO脉冲,所以下面我们用PTO脉冲来描述。关于PWM脉冲的特殊存储器字节/字可以看专栏《S7-200 SMART的PWM功能应用》。

与PTO相关的特殊存储器字节可以分为两类:一类是用于控制PTO信号的,称为控制字节;另一类是用来表示PTO状态的,称为状态字节;

状态字节包括三个:SMB66、SMB76和SMB566。其中,SMB66是PTO0(Q0.0)的状态字节;SMB76是PTO1(Q0.1)的状态字节;SMB566是PTO2(Q0.3)的状态字节;

控制字节包括三个:SMB67、SMB77和SMB567。其中,SMB67是PTO0(Q0.0)的控制字节;SMB77是PTO1(Q0.1)的控制字节;SMB567是PTO2(Q0.3)的控制字节;如下图所示:



控制字节总共有8个位,每个位的含义如下:

    第0位:PTO/PWM是否更新频率/周期时间。0=不更新;1=更新;

    第1位:PWM更新脉冲宽度时间。0=不更新;1=更新;

    第2位:PTO更新脉冲计数值。0=不更新;1=更新;

    第3位:PWM时间基准。0=us(微秒);1=ms(毫秒);

    第4位:保留;

    第5位:PTO设置单段或多段操作。0=单段;1=多段;

    第6位:PTO/PWM模式选择。0=PWM;1=PTO;

    第7位:PTO/PWM使能。0=禁用;1=启用;

以PTO0为例,如果将其设置为单段PTO输出,频率与脉冲数都不更新的情况下,则需要将SMB67赋值为:16#C0;如果要将其设置为单段PTO输出,频率不更新,脉冲数更新,则需要将SMB67赋值为:16#C4;

下面这张表列出了控制字节的值(16进制)与PTO的频率、脉冲数、单段/多段的对应关系:



PTO输出的频率单位是Hz。

除了设置控制字节,我们还需要设置PTO以多大的频率进行输出?要输出多少个脉冲?及多段脉冲下曲线的起始地址;这些设置请看下面的表格:



PTO输出的频率的范围是:1Hz ≤ PTO频率 ≤ 100,000Hz ;如果设置的频率小于1Hz,则会默认使用1Hz;如果设置的频率大于100,000Hz,则会默认使用100,000Hz;

PTO输出的脉冲数的范围是:1 ≤ PTO脉冲数 ≤ 2,147,483,647;如果设置的脉冲数小于1,则会默认使用1;如果设置的脉冲数大于2,147,483,647,则会默认使用2,147,483,647;

举个例子:如果要设置PTO0的单段输出频率为500Hz,输出6000个脉冲数,则设置:SMW68=500,SMD72=6000;

程序代码如下图所示:





在设置PTO输出后,还可以通过状态字节查看PTO的状态;

每个PTO状态字节包括8个位,其中

    第0~3位:保留;

    第4位:PTO增量计算错误;0=无错误;1=有错误而取消;

    第5位:PTO曲线禁用;0=非手动禁用;1=用户手动禁用;

    第6位:PTO/PWM管线上溢/下溢;0=无上溢/下溢;1=上溢/下溢;

    第7位:PTO是否空闲;0=发送中;1=空闲;

状态字节的典型应用可以查看PTO是否正在发送脉冲。

比如,要检查PTO0是否正在发送脉冲,可以判断SMB66.7是否为0;

PTO1和PTO2的状态字节分别是SMB76和SMB566,这个在前面的表格说过了。

好了,关于S7-200 SMART的PLS指令及其特殊存储器字节/字/双字的设置就先介绍到这里。

我的新书《西门子S7-200 SMART PLC应用技术》已经出版了,该书全面系统的介绍了S7-200 SMART的硬件、编程、工艺功能、通信等内容,点击左下角【阅读更多】查看详细介绍。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则