求 西门子S7 200 中断程序 点击:524 | 回复:1



啊拉伟

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 2回
  • 年度积分:0
  • 历史总积分:40
  • 注册:2010年1月18日
发表于:2010-03-21 10:20:11
楼主

最近一直在研究西门子200.但是对中断程序不是很懂。

希望有高手指点一二。最好有例子。谢谢




dgm_plc

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 54回
  • 年度积分:0
  • 历史总积分:127
  • 注册:2007年4月12日
发表于:2010-03-21 22:21:25
1楼

NETWORK 1 // 用于单段脉冲串操作的主程序(PTO)
// 首次扫描时,将映像寄存器位设为低
// 并调用子程序0
LD SM0.1
R Q0.0 1
CALL SBR_0

NETWORK 1 // 子程序0开始
LD SM0.0
MOVB 16#8D SMB67 // 设置控制字节:

// - 选择PTO操作
// - 选择单段操作
// - 选择毫秒增加
// - 设置脉冲计数和周期数值
// - 启用PTO功能
MOVW +500 SMW68 // 将周期设为500毫秒。

MOVD +4 SMD72 // 将脉冲计数设为4次脉冲。

ATCH INT_0 19 // 将中断例行程序0定义为

// 处理PTO完成中断的中断。

ENI // 全局中断启用
PLS 0 // 激活PTO操作,PLS0 => Q0.0
MOVB 16#89 SMB67 // 预载控制字节,用于随后的

// 周期改动。

NETWORK 1 // 中断0开始
// 如果当前周期为500毫秒:
// 将周期设为1000毫秒,并生成4次脉冲
LDW= SMW68 +500

MOVW +1000 SMW68

PLS 0
CRETI

NETWORK 2
// 如果当前周期为1000毫秒:
// 将周期设为500毫秒,并生成4次脉冲
LDW= SMW68 +1000
MOVW +500 SMW68
PLS 0


热门招聘
相关主题

官方公众号

智造工程师