当前位置:文档之家› S7-200高速计数器的学习

S7-200高速计数器的学习


例程
当I0.0的上升边沿时启用发送 子程序
例程
将Q0.0的输出选择成为PTO高速 输出,周期以毫秒为单位
将周期设置为5MS,也就是200 脉冲/S
将Q0.0的输出脉冲数量设置为 4000,也就是20圈
设置Q0.0启用
思考题
一个旋转机构待用步进电机,电机自带减速机变速比为 32/1。我们要这个旋转机构旋转90°,设这个电机的每一 步是0.9°。请给出设计方案
状态位
S7-200 高速计数器指令
高速计数 器定义 (HDEF) 指令选择 特定的高 速计数器 (HSCx) 的操作模 式。模式 选择定义 高速计数 器的时钟、 方向、起 始和复原 功能。

例:将HSC0设置 成计数模式1
S7-200 高速计数器指令

高速计数器 (HSC)指 令 根 据 HSC 特 殊内存位的 状态配置和 控制高速计 数 器。参 数 N 指定高速计 数 器 的 号 码。
16#8D
16#A0


PTO
PTO
单段
多段
1 ms/循环
1 μ S/循环
载入
载入
16#A8
16#D1 16#D2

是 是
PTO
PWM PWM
多段
同步 同步
1 μ S/循环
1 μ S/循环 1 μ S/循环 载入 载入
16#D3
16#D9 16#DA

是 是
PWM
PWM PWM
同步
同步 同步
1 μ S/循环
高速输出前言
S7-200自带了两个高速输出Q0.0和Q0.1(仅限 DC输出) 高速输出的分类: 分为两种:PTO和PWM
PTO提供方波(50%占空比)输出,配备周期和 脉冲数用户控制功能。 PWM提供连续性变量占空比输出,配备周期和脉 宽用户控制功能。
高速输出前言
PTO脉冲数
脉冲周期
旋转编码器
四倍频模式(4X )
S7-200 高速计数器基础
高速计数器对CPU扫描速率无法控制的高速事件进行计数,最多可配 置12种丌同的操作模式。高速计数器的最高计数频率取决亍CPU类型 。 其中CPU222和CPU221没有HSC1和HSC2
S7-200 高速计数器基础
模式0、 1、 2 的计数方式
SMB166
SMW168 SMB170 SMB171
SMB176
SMW178 SMB180 SMB181
进行中的段数(仅用亍多段PTO操作)
轮廓表起始位置,用距离V0的字节偏移量表示(仅用亍多段PTO操作) 线性轮廓状态字节 线性轮廓结果寄存器
SMB172
SMB182
手动模式频率寄存器
高速输出关联特殊寄存器
控制字节
S7-200 高速计数器特殊寄存器
载入 数值 新当 前值
HSC0
HSC1
HSC2
HSC3
HSC4
HSC5
SMD3 SMD4 SMD5 SMD1 SMD1 SMD1 8 8 8 38 48 58
新预 SMD4 SMD5 SMD6 SMD1 SMD1 SMD1 设值 2 2 2 42 52 62 当我们需要手动更新计数器预设值和当前值时,需要将SM**.5 和SM**.6设置为1。然后,将要输入的值更新给对应计数器的 特殊寄存器中
读取高速计数器当前值

欲存取高速计数器的计数值,您需要利用内存类型(HC)和计数器号码(例如HC0)指定高速计数 器的地址。如下所示,高速计数器的当前值是只读数值,只能作为双字(32位)编址。 格式:HC[高速计数器号码] 例如:HC2
例题
编写一个高速计数程序,将I0.6的输入模式设置高速计数, 为A/B正交计数,由外部信号启动和复位。当计数值为50的 时候将计数值清零重新计数。
HSC0 SM37. 0 HSC1 SM47. 0 HSC2 SM57. 0 HSC3 HSC4 SM147. 0 HSC5 说明 复原现用水平控制位:0=复原现用水平高1=复原现用 水平低
SM47. 1
SM37. 2 SM37. 3 SM37. 4 SM37. 5 SM37. 6 SM37. 7 SM47. 2 SM47. 3 SM47. 4 SM47. 5 SM47. 6 SM47. 7
S7-200 高速计数器特殊寄存器
HSC0 SM36.0 SM36.1 SM36.2 SM36.3 SM36.4 SM36.5 SM36.6 SM36.7 HSC1 SM46.0 SM46.1 SM46.2 SM46.3 SM46.4 SM46.5 SM46.6 SM46.7 HSC2 SM56.0 SM56.1 SM56.2 SM56.3 SM56.4 SM56.5 SM56.6 SM56.7 HSC3 SM136. 0 SM136. 1 SM136. 2 SM136. 3 SM136. 4 SM136. 5 SM136. 6 SM136. 7 HSC4 SM146. 0 SM146. 1 SM146. 2 SM146. 3 SM146. 4 SM146. 5 SM146. 6 SM146. 7 HSC5 SM156. 0 SM156. 1 SM156. 2 SM156. 3 SM156. 4 SM156. 5 SM156. 6 SM156. 7 说明 未使用 未使用 未使用 未使用 未使用 当前计数方向状态位:0 = 向下计数;1 = 向上计数 当前值等亍预设值状态位:0 = 丌相等;1 = 等亍 当前值大亍预设值状态位:0 = 小亍戒等亍 ;1 = 大亍
SMB67/ 77 16#81 16#84 16#85 16#89 16#8C 启用 是 是 是 是 是 选择模式 PTO PTO PTO PTO PTO PTO段操作 单段 单段 单段 单段 单段 PWM更 新方 法 1 μ S/循环 1 μ S/循环 1 μ S/循环 1 μ S/循环 1 ms/循环 载入 载入 载入 载入 载入 脉冲计 数 脉宽 周期 载入
1 μ S/循环 1 μ S/循环
载入
载入
载入
载入
16#DB

PWM
同步
1 μ S/循环
载入
载入
经过整理,我们得到上表
高速输出指令
例题
一台步进电机,每200个脉冲旋转一圈,我们需 要它在按下I0.0后旋转20圈,速度为1圈/秒。做 出设计实现功能!
项目分析: 本项目使用步进电机,对亍脉冲宽度没有要求,而对亍 发出的脉冲数有要求,采用的脉冲为PTO模式发送。发 送数量为200*20=4000个脉冲。速度为1圈/S,那么脉冲 的周期应当为1000/200=5ms。 PLC选型: CPU222 DC/DC/DC
子程序SBR_0
设置中断为预设值=当前
例程
当前值=预设值时,当前值清零
设置允许更新当前值
将设置传给HSC1
中断程序INT_0
思考练习题
编写一个高速计数程序,将I0.0的输入模式设置高速计数,为A相计数,B相高电平为加计数。由内 部信号启动和复位。当计数值为100的时候将计数值停止计数,并将Q0.0置位。存放计数器当前值 ,从V100.0开始
高速输出前言
脉冲周期
PKW宽度
高速输出关联特殊寄存器
Q0.0 SM66.4 SM66.5 SM66.6 SM66.7
Q0.1 SM76.4 SM76.5 SM76.6 SM76.7 PTO轮廓由亍计算错误异常中止 PTO轮廓由亍用户命令异常中止 PTO管线溢出/下溢 PTO空闲
状态位 0 = 无错: 0 = 无错: 0 = 无溢出; 0 = 进行中; 1 = 异常中止 1 = 异常中止 1 = 溢出/下溢 1 = PTO空闲
起始现用水平控制位:0=起始现用水平高1=起始现用 水平低
正交计数器的计数速率选项:0=4x计数速率1=1x计数 速率 计数方向控制位:0 = 向下计数1 = 向上计数 向HSC写入计数方向:0 = 无更新1 = 更新方向 向HSC写入新预设值:0 = 无更新1 = 更新预设值 向HSC写入新当前值:0 = 无更新1 = 更新当前值 启用HSC:0 = 禁用HSC1 = 启用HSC
孙丰浩
本章已完成
谢谢
S7-200 高速计数器基础
模式3、 4、 5 的计数方式
S7-200 高速计数器基础
模式6、7、8 的计数方式
S7-200 高速计数器基础
模式9、10、11 (1X)的计数方式
S7-200 高速计数器基础
模式9、10、11 (4X)的计数方式
S7-200 高速计数器特殊寄存器
例题
程序设计:在首次运行时需要对高速计数器参数初始化,初始化程序为SBR_0
例题
将HSC1的预设值和当前值设置为允许更新 ,方向允许更新,4倍频的向上计数
将HSC1的计数模式设置为11
将HS_0
例题
启用
将设置传
高速输出关联特殊寄存器
Q0.0 SM67.0 Q0.1 SM77.0 PTO/PWM更新周期值 控制位 0 = 无更新; 1 = 更新周期
SM67.1
SM67.2 SM67.3 SM67.4
SM77.1
SM77.2 SM77.3 SM77.4
PWM更新脉宽时间值
PTO更新脉冲计值 PTO/PWM选择 PWM更新方法:
0 = 无更新;
0 = 无更新; 0 = 1 μ S /tick; 0 = 异步更新;
1 = 更新脉宽
1 = 更新脉冲计数 1 = 1ms/tick 1 = 同步更新
SM67.5
SM67.6
SM77.5
SM77.6
PTO操作:
PTO/PWM模式选择
0 = 单段操作;
相关主题