回复:关于200smart 定时中断的几个测试

已锁定

芳季

西门子1847工业学习平台

  • 帖子

    15507
  • 精华

    101
  • 被关注

    960

论坛等级:至圣

注册时间:2007-08-03

钻石 钻石 如何晋级?

发布于 2020-05-13 14:25:57

64楼

ORGANIZATION_BLOCK MAIN:OB1

TITLE=程序注释

BEGIN

Network 1 

// 程序段注释

LD     SM0.1

CALL   SBR0

END_ORGANIZATION_BLOCK

SUBROUTINE_BLOCK SBR_0:SBR0

TITLE=子程序注释

BEGIN

Network 1 

// 程序段注释

LD     SM0.0

ATCH   INT0, 21

MOVB   2, SMB34

ATCH   INT1, 10

ENI

R      T32, 1

TON    T32, 2

END_SUBROUTINE_BLOCK

SUBROUTINE_BLOCK SBR_1:SBR1

TITLE=子程序注释

BEGIN

Network 1 

// 程序段注释

LD     SM0.0

FOR    VW8, 1, 133

Network 2 

LD     SM0.0

SIN    0.987654, VD10

Network 3 

NEXT

END_SUBROUTINE_BLOCK

INTERRUPT_BLOCK INT_0:INT0

TITLE=中断例程注释

BEGIN

Network 1 

LD     SM0.0

CALL   SBR1

Network 2 

LD     SM0.0

MOVW   0, T32

Network 3 

LD     SM0.0

INCD   VD0

END_INTERRUPT_BLOCK

INTERRUPT_BLOCK INT_1:INT1

TITLE=中断例程注释

BEGIN

Network 1 

LD     SM0.0

INCD   VD4

Network 2 

// 程序段注释

END_INTERRUPT_BLOCK

这个程序的SBR1是用于拖延时间的。就仅仅放在这个地方会对smb34和T32的同步产生差异。

还有,用mov指令代替R指令会更加的无缝,毕竟少一条指令。

执行t32中断程序,要无缝,或者少缝,就要尽快地执行下一次计时。如果在这个时候拖延时间,那么拖多久,缝就有多大。当程序执行得够快,进入中断到再次计时的时差(缝)小于一种程度的时候,就没有缝了。

这个程序在ST60上面运行过了。

452498和452512是两种中断的计数数值。这个拖延量之下开始有差异。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8940条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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