登录
首页 更多往期体验论坛 西门子S7-200 SMART PLC体验
回帖 发帖
正文

主题:高速计数器0问题

点击:3231 回复:6

s7200-smart高速计数器HSC0是如何控制打开跟关闭的?是不是写入初始值为0就是复位了,还是有专门的内部复位指令?我用的是模式0
16-12-16 22:16
配置可更新计数器一般流程
HSC0_CV(SMD38) 当前值更新
HSC0_PV(SMD42) 当前值更新
HSC0_Reset_Level(SM37.0) 复位的有效电平控制位: 0 = 复位为高电平有效,1 = 复位为低电平有效
HSC0_Rate(SM37.2)     AB 正交相计数器的计数速率选择: 0 = 4x 计数速率;1 = 1x 计数速率
HSC0_Dir(SM37.3)     方向控制位: 1 = 加计数
HSC0_Dir_Update(SM37.4)  更新方向
HSC0_PV_Update(SM37.5)  更新当前值控制位
HSC0_CV_Update(SM37.6)  更新当前值控制位
HSC0_Enable(SM37.7) 计数器使能位
HDEF HSC,MODE 指令配置定时器 HSC[计数器编号],MODE[模式] 
HSC  N 指令 高速计数器运行 N[计数器编号]
多看帮助、鼠标移动到高速计数器指令上按F1激活帮助
16-12-17 08:48
使用首次扫描存储器位调用执行初始化操作的子例程。由于使用子例程调用,后续扫描不再调用子例程,因此可减少扫描执行时间并使程序结构更加合理。
在初始化子例程中,根据所需的控制操作加载 SMB37。
例如:SMB37 = 16#F8 产生如下结果:
启用计数器
写入新当前值
写入新预设值
将方向设置为加计数
将复位输入设为高电平有效
将 HSC 输入设 0 且 MODE 输入设为下列值之一后执行 HDEF 指令:
模式 0 表示无外部复位
模式 1 表示有外部复位
用所需当前值加载 SMD38(双字大小值)(加载 0 可进行清除)。
用所需预设值加载 SMD42(双字大小值)。
为捕获当前值等于预设值事件,将 CV = PV 中断事件(事件 12)附加于中断例程,编程中断。有关中断处理的完整详细信息,请参见讨论中断指令的部分。
为捕获外部复位事件,将外部复位中断事件(事件 28)附加于中断例程,编程中断。
执行全局中断启用指令 (ENI) 以启用中断。
执行 HSC 指令,使 CPU 对 HSC0 编程。
退出子例程。
16-12-17 08:50
加载新当前值(任何模式)
以下步骤介绍了如何更改 HSC0 的计数器当前值(任何模式):
只更新当前值
加载 SMB37,以写入所需当前值:
SMB37 = 16#C0
启用计数器
写入新当前值
用所需当前值加载 SMD38(双字大小值)(加载 0 可进行清除)。
执行 HSC 指令,使 CPU 对 HSC0 编程。
16-12-17 08:51
学习了
16-12-17 21:18
基本上帮助里年都有的,表情表情表情表情当初粗心没设置输入点的特性,
17-07-21 23:08
细心编辑,功到自然成。
19-03-07 22:33

工控新闻

更多新闻资讯