找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8655|回复: 1
打印 上一主题 下一主题
收起左侧

S7-200 高速脉冲输出

[复制链接]
跳转到指定楼层
楼主
ID:94349 发表于 2015-11-2 14:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1          高速脉冲输出介绍
在需要对负载进行高精度控制时,如对步进电机的控制,需要对步进电机提供一系列的脉冲,高速脉冲输出指令就是为满足这种需求而开发的。
1.1     高速脉冲输出---输出端子的确定
S7-200只有输出继电器Q0.0和Q0.1具有高速脉冲输出功能,不用高速脉冲时,作普通的数字量输出点用。
1.2     高速脉冲输出的形式
高速脉冲输出有两种的形式:
高速脉冲序列(或称高速脉冲串)输出PTO
脉冲宽度调制输出PWM
可通过特殊继电器来定义输出的形式
1.3     高速脉冲输出相关寄存器
每个高速脉冲发生器对应一定数量特殊标志寄存器,这些寄存器包括控制字节寄存器、状态字节寄存器和参数数值寄存器,用以控制高速脉冲的输出形式、反映输出状态和参数值。
1.4     编程中的脉冲输出指令
PLS指令
功能:EN有效,检测各相关寄存器的状态,激活由控制字节定义的高速脉冲输出操作。Q取0或1对应Q0.0和Q0.1如图 1.4?1

1.4?1


2       PWM简介及编程运用
PWM(Pulse Width Modulation脉冲调制)宽度可调脉冲输出
PWM功能提供带变量占空比的固定周期输出。可以微秒或毫秒为时间基准指定周期和脉宽。





2.1     S7-200PWM
S7-200有两台PWM发生器,建立高速脉冲串或脉宽调节信号信号波形。一台发生器指定给数字输出点Q0.0,另一台发生器指定给数字输出点Q0.1。一个指定的特殊内存(SM)位置为每台发生器存储以下数据:一个控制字节(8位值)、一个脉冲计数值(一个不带符号的32位值)和一个周期和脉宽值(一个不带符号的16位值)。
    PWM功能在Q0.0或Q0.1位置现用时,PWM发生器控制输出,并禁止输出点的正常使用。输出信号波形不受过程映像寄存器状态、点强迫数值、执行立即输出指令的影响。如 2.1?1

2.1?1


2.2   PWM周期和脉冲宽度
脉冲宽度为16为无符号数,脉冲宽度增量单位为us或ms。范围0~65535,占空比为0~100%。当脉冲宽度大于或等于周期时输出将连续接通。为0时,输出一直被关断。如表 1
1 周期和脉冲宽度
脉宽时间/周期
反应
脉宽时间 >= 周期值
占空比为100%:输出连续运行。
脉宽时间 = 0
占空比为0%:输出关闭。
周期 < 2个时间单位
周期的默认值为两个时间单位。
2.3     PWM更新方式
根据在改变脉冲宽度时是否需要改变时间基准,可分为同步更新和异步更新。如表 2



2 同步、异步更新
同步更新
脉宽的改变和PWM脉冲的新周期同步发生。适用于不需要改变时间基准的情况,常用中断实现。
异步更新
需要改变时间基准时使用。异步更新可能会导致PWM功能暂时失效,造成被控装置的振动。
注意: 由于此原因,建议使用同步PWM更新。选择可用于所有预计周期数值的。
2.4      PWM控制寄存器器
Q0.0
Q0.1
控制位
SM67.0
SM77.0
PWM更新周期值       0 = 无更新;1 = 更新周期
SM67.1
SM77.1
PWM更新脉宽时间值   0 = 无更新;1 = 更新周期
SM67.2
SM77.2
PTO更新脉冲计值     
SM67.3
SM77.3
PWM选择基时         0 = 1us;     1 =1ms
SM67.4
SM77.4
PWM更新方法:       0 = 异步更新;  1 = 同步更新
SM67.5
SM77.5
PTO操作           
SM67.6
SM77.6
PTO/PWM模式选择     0 = 选择PTO; 1 = 选择PWM
SM67.7
SM77.7
PWM启用             0 = 禁用PWM;  1 = 启用PWM


Q0.0
Q0.1
其他PWM寄存器
SMW68
SMW78
PWM周期值(范围:2至 65535)
SMW70
SMW80
PWM脉宽值(范围:0至65535)



2.5     PWM软件编程步骤
1.确定高速PWM的输出端(Q0.0或Q0.1)
2. 初始化设置
设置控制字节---将控制字写入SMB67或SMB77
写入周期值SMW68(78)、
写入脉冲宽度值SMW70(80)
3.执行PLS指令
注:
1.在启用PWM操作之前,将用于Q0.0和Q0.1的过程映像寄存器设为0。
2.所有的控制位、周期、脉宽和脉冲计数值的默认值均为0。
3.PTO/PWM输出必须至少有10%的额定负载,才能完成从关闭至打开以及从打开至关闭的顺利转换。
4.PWM初始化建议使用"首次扫描"位(SM0.1)初始化脉冲输出。执行程序只执行一次,可以节省PLC的扫描程序执行的时间
5.通常,您用一个子程序为脉冲输出初始化PWM。您从主程序调用初始化子程序。使用首次扫描内存位(SM0.1)将脉冲输出初始化为0,并调用子程序,执行初始化操作。当您使用子程序调用时,随后的扫描不再调用该子程序,这样会降低扫描时间执行,并提供结构更严谨的程序。


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:94349 发表于 2015-11-2 14:47 | 只看该作者
        西门子300系列模拟量换算


                        注意超出上下限的数
当数值在 超上限或超下限范围内时就不能按正常数据转换了,也就是说数值已经不表示实际的物理量了,仅仅是个标志而已!
32767=0x7FFF;
-32768=0x8000
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表