设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
S7-200 SMART PLS指令应用-PWM
返回列表
发新帖
[西门子]
S7-200 SMART PLS指令应用-PWM
[复制链接]
42902
|
0
|
2024-8-30 16:04:58
|
显示全部楼层
|
阅读模式
本文是付费专栏《S7-200 SMART的PWM功能应用》的第三节,可免费阅读。
该专栏包括如下6节课程:
PWM功能及应用介绍;
S7-200 SMART的PWM资源及向导介绍;
S7-200 SMART PLS指令应用-PWM(本节);
实践1-使用PWM向导控制LED灯的亮度(付费,文章+视频);
实践2-使用PWM向导实现电机的调速(付费,文章+视频);
实践3-使用PLS指令控制电机的转速(付费,文章+视频);
点击上方话题#S7-200 SMART脉宽调制#可以查看专栏的全部内容。
本节我们介绍在S7-200 SMART中使用PLS指令输出PWM脉冲信号的方法。
在STEP 7 Micro-WIN/SMART的【指令】—【计数器】中可以找到PLS指令,如下图所示:
PLS指令初始添加到程序块中的状态如下图所示:
该指令共有两个输入参数:EN和N,其中:
EN:布尔型变量,PWM脉冲输出使能,使用沿信号触发;
N:字型常量,表示输出PWM信号的通道编号,包括三种: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指令激活PWM脉冲发生器后,相应的输出通道(比如Q0.0)被脉冲发生器接管,不受程序中其它数字量输出指令的控制;当脉冲发生器取消激活后,输出通道受普通指令输出的控制;
如果程序中已经组态了PWM向导,则以向导的组态为准;
不建议使用继电器输出型CPU(SR20/SR30/SR40/SR60)输出PWM脉冲信号;
PLS指令既可以控制输出PWM信号,也可以控制输出PTO信号,取决于特殊存储器的配置(具体见下文);
由于PLS指令本身仅可以设置输出通道的编号,因此其它参数(比如周期时间、脉冲宽度时间等)必须通过特殊存储器字节/字来设置。这些特殊存储器字节/字是PTO和PWM脉冲信号共用的,由于本课程介绍的PWM脉冲,所以下面我们用PWM信号来描述。关于PTO脉冲的特殊存储器字节/字可以看专栏《S7-200 SMART运动控制之步进电机》。
与PWM相关的特殊存储器字节可以分为两类:一类是用于控制PWM信号的,称为控制字节;另一类是用来表示PWM状态的,称为状态字节;
状态字节包括三个:SMB66、SMB76和SMB566。其中,SMB66是PWM0(Q0.0)的状态字节;SMB76是PWM1(Q0.1)的状态字节;SMB566是PWM2(Q0.3)的状态字节;
控制字节包括三个:SMB67、SMB77和SMB567。其中,SMB67是PWM0(Q0.0)的控制字节;SMB77是PWM1(Q0.1)的控制字节;SMB567是PWM2(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=启用;
以PWM0为例,如果将其设置为时间基准为微秒、更新脉冲宽度、不更新周期时间,则设置SMB67的值为:16#82;如果将其设置为时间基准为毫秒、更新脉冲宽度、更新周期时间,则设置SMB67的值为:16#8B;
下面这张表列出了控制字节的值(16进制)与PWM的时基、更新脉冲宽度、周期时间的对应关系:
除了设置控制字节,我们还需要设置PWM的脉冲宽度及周期时间。这些设置请看下面的表格:
PWM周期时间的取值范围为2~65535,脉冲宽度的取值范围是:0~65535,单位取决于控制字节中设置的时基;
举个例子:假设要使用PWM0输出时间基准为us的PWM信号,周期为1000,脉冲宽度为200,周期不更新,脉冲宽度更新,则设置:
SMB67=16#82;
SMW68=1000;
SMW70=200;
程序代码如下图所示:
怎样停止PWM信号发送呢?
可以将0写入到控制字节的第7位,比如使PWM0的控制字节SMB67.7为0,然后再执行PLS指令即可。见下面的代码:
PWM1和PWM2的控制于此类似,不在赘述。
好了,关于S7-200 SMART的PLS指令及其特殊存储器字节/字的设置就先介绍到这里。我的书《西门子S7-200 SMART PLC应用技术——编程、通信、装调、案例》也有PWM的相关介绍,点击下面的链接查看详细内容:
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
阿蚊在线
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』