S7200-高速计数-高速脉冲-中断的说明

已锁定

疆拓自动化

  • 帖子

    295
  • 精华

    3
  • 被关注

    4

论坛等级:侠客

注册时间:2005-07-19

普通 普通 如何晋级?

S7200-高速计数-高速脉冲-中断的说明

1917

1

2012-02-05 14:50:57

S7200-高速计数-高速脉冲-中断的说明
配置:S7200 224XP
订货号 6ES7-214-2AD23-OXB8
要求:通过按钮在I0.7处按下启动一个脉冲输出(每次发10000个脉冲)
输出脉冲发送到I0.0
I0.0接收高速脉冲,等达到10000个脉冲的时候,启动中断事件
并且要求Q1.1在不发Q0.0不发脉冲的时候常亮,发脉冲过程中熄灭,脉冲发完后10S内闪烁,10S后又常亮,恢复最初的状态。
步骤:
配置高速计数器需要使用向导,选择HSC0 模式0,选择使用中断(当PV=CV时中断),主程序中配置高速脉冲输出,本例子使用Q0.0进行脉冲输出,涉及到三个系统字 SMB67(控制字) SMW68(脉冲频率) SMD72(脉冲数)
程序如下:

向导生成的2个程序,一个是初始化程序,另一个是中断程序
初始化程序需要在系统初次扫描的时候启用
中断程序会自动调用
初始化子程序的代码:
Network 1 // HSC 指令向导
// 要在程序中使用此配置,请在主程序块中使用 SM0.1 或一条沿触发指令调用一次此子程序。
// 配置 HC0 为模式 0;CV = 0; PV = 9000;增计数;
// 连接中断程序 COUNT_EQ 到事件 12 (HC0 的 CV = PV)。
// 开放中断和启动计数器。
//
LD SM0.0
MOVB 16#F8, SMB37 //设置控制位:增计数;已使能;
MOVD +0, SMD38 //装载 CV
MOVD 10000, SMD42 //装载 PV
HDEF 0, 0
ATCH INT1, 12 //中断程序 COUNT_EQ:HC0 的 CV = PV
ENI
HSC 0
中断子程序的代码:
TITLE=
Network 1 // HSC 指令向导
// (CV = PV) 的第 1 步/共 1 步;HC0
// 编程动态改变 HC0 的参数;
// 启动计数器。
//
LD SM0.0
MOVB 16#C0, SMB37 //设置控制位:
HSC 0
MOVD 0, SMD38
S M2.4, 1
R M3.4, 1
主程序代码:
TITLE=程序注释
Network 1 // 网络标题
// 网络注释 配置高速脉冲输出,初始化Q0.0
LD SM0.1
MOVB 16#85, SMB67
MOVW 500, SMW68
MOVD +10000, SMD72
R Q0.0, 1

Network 2
//用I0.7使能PLS脉冲输出,
LD I0.7
LPS
EU
PLS 0
LRD
R M10.1, 1
LPP
EU
S M3.4, 1
Network 3
//一些逻辑信号的处理
LD SM0.0
LPS
A M2.4
TON T37, 100
LRD
A T37
R M2.4, 1
LPP
LDN M2.4
AN M3.4
LD M2.4
A SM0.5
OLD
ALD
= Q1.1
本程序在224XP上验证通过!
希望这个例子对一些初学者有点用处。
S7200-高速计数-高速脉冲-中断的说明 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33263条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。