S7-200高速计数器的学习及应用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ቤተ መጻሕፍቲ ባይዱ中德自动化培训
高速处理
S7-200的高速处理功能
• S7-200 自带了高速输入和高速输出功能,根 据CPU的不同,所带数量不同。
• 高速处理与CPU自身的扫描时钟无关。只与 CPU类型有关。
旋转编码器
• 旋转编码器是用来测量转速的装置,光电式旋 转编码器通过光电转换,可将输出轴的角位移、 角速度等机械量转换成相应的电脉冲以数字量 输出(REP)。
7
.7
说明 复原现用水平控制位:0=复原现用水平高1=复原现用 水平低 起始现用水平控制位:0=起始现用水平高1=起始现用 水平低 正交计数器的计数速率选项:0=4x计数速率1=1x计数 速率
计数方向控制位:0 = 向下计数1 = 向上计数
向HSC写入计数方向:0 = 无更新1 = 更新方向
向HSC写入新预设值:0 = 无更新1 = 更新预设值
S7-200 高速计数器基础
• 模式3、 4、 5 的计数方式
S7-200 高速计数器基础
• 模式6、7、8 的计数方式
S7-200 高速计数器基础
• 模式9、10、11 (1X)的计数方式
S7-200 高速计数器基础
• 模式9、10、11 (4X)的计数方式
S7-200 高速计数器特殊寄存器
向HSC写入新当前值:0 = 无更新1 = 更新当前值
启用HSC:0 = 禁用HSC1 = 启用HSC
• 控制字节
S7-200 高速计数器特殊寄存器
载入 数值
新当 前值
新预 设值
HSC0 HSC1 HSC2 HSC3 HSC4 HSC5
SMD3 8
SMD4 2
SMD4 8
SMD5 2
SMD5 8
SMD6 2
旋转编码器
四倍频模式(4X)
S7-200 高速计数器基础
• 高速计数器对CPU扫描速率无法控制的高速事件进行计数,最多可配 置12种不同的操作模式。高速计数器的最高计数频率取决于CPU类型。
• 其中CPU222和CPU221没有HSC1和HSC2
S7-200 高速计数器基础
• 模式0、 1、 2 的计数方式
• 在使用高速计数功能的时候,需要修改系统内 的部分特使寄存器。以改变我们的计数模式。 SMB36至SMB65被用于监控和控制高速计数 器HSC0、HSC1和HSC2; SMB136至SMB165被用于监控和控制高速计 数器HSC3、HSC4和HSC5。
• 下面,我们就对相应的特殊寄存器进行介绍
S7-200 高速计数器特殊寄存器
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 = 大于
旋转编码器
• 编码器的分类 • 编码器按照信号电压分类:24V和5V • 按照信号类型分为:绝对式编码器、增量式编码器、混合式编码器
绝对值编码器为每一个轴的位置提供一个独一无二的编码数字值。 增量式编码器轴的每圈转动,增量型编码器提供一定数量的脉冲。 • 按照信号采集方式分为:单倍频和四倍频
单倍频模式(1X)
状态位
S7-200 高速计数器指令
❖ 高速计数 器定义 (HDEF) 指令选择 特定的高 速计数器 (HSCx) 的操作模 式。模式 选择定义 高速计数 器的时钟、 方向、起 始和复原 功能。
例:将HSC0设置 成计数模式1
S7-200 高速计数器指令
❖ 高速计数器 (HSC)指 令 根 据 HSC 特 殊内存位的 状态配置和 控制高速计 数 器。参 数 N 指定高速计 数 器 的 号 码。
5
5
5
5
SM37. SM47. SM57. SM137.
6
6
6
6
SM37. SM47. SM57. SM137.
7
7
7
7
HSC4 HSC5
SM147. 0
SM147. 2
SM147. SM157
3
.3
SM147. SM157
4
.4
SM147. SM157
5
.5
SM147. SM157
6
.6
SM147. SM157
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
SMD1 38
SMD1 42
SMD1 48
SMD1 52
SMD1 58
SMD1 62
• 当我们需要手动更新计数器预设值和当前值时,需要将SM**.5 和SM**.6设置为1。然后,将要输入的值更新给对应计数器的 特殊寄存器中
S7-200 高速计数器特殊寄存器
HSC0 HSC1 SM36.0 SM46.0 SM36.1 SM46.1 SM36.2 SM46.2 SM36.3 SM46.3 SM36.4 SM46.4 SM36.5 SM46.5 SM36.6 SM46.6 SM36.7 SM46.7
• 项目分析: 1)项目使用模式为: A/B正交计数,由外部信号启动
和复位。所以,我们选择工作模式为“11”; 2)输入端使用I0.6,我们根据模式选择定义使用的高
HSC0 HSC1 HSC2 HSC3
SM37. SM47. SM57.
0
0
0
SM47. SM57.
1
1
SM37. SM47. SM57.
2
2
2
SM37. SM47. SM57. SM137.
3
3
3
3
SM37. SM47. SM57. SM137.
4
4
4
4
SM37. SM47. SM57. SM137.
读取高速计数器当前值
• 欲存取高速计数器的计数值,您需要利用 内存类型(HC)和计数器号码(例如 HC0)指定高速计数器的地址。如下所示, 高速计数器的当前值是只读数值,只能作 为双字(32位)编址。
• 格式:HC[高速计数器号码] 例如:HC2
例题
• 编写一个高速计数程序,将I0.6的输入模式设置高速计数, 为A/B正交计数,由外部信号启动和复位。当计数值为50的 时候将计数值清零重新计数。
相关文档
最新文档