回复:当中断程序和主程序之间要选择性地控制同一个输出点Q

已锁定

yanxiao

版主

  • 帖子

    12143
  • 精华

    46
  • 被关注

    183

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2024-04-02 19:03:15

13楼

展开查看
以下是引用芳季在2024-04-02 13:38:13的发言 >4楼

上程序:

ORGANIZATION_BLOCK MAIN:OB1

TITLE=程序注释

BEGIN

Network 1 

LD     SM0.1

ENI

ATCH   INT0, 3

Network 2 

LD     M0.0

=      Q0.0

END_ORGANIZATION_BLOCK

INTERRUPT_BLOCK INT_0:INT0

TITLE=中断例程注释

BEGIN

Network 1 

LD     M0.0

=I     Q0.0

Network 2 

// 程序段注释

END_INTERRUPT_BLOCK

概念是这样的:

M控制着是否要输出。区别仅仅是输出的刷新时刻不同。

当选择了主程序输出时,Q就随扫描进行刷新输出。

当选择了中断输出时,Q就随中断进行刷新输出。

当然,像上面程序这样是会双线圈的。工作不了。

现在再增加一个开关I,选择两种之一。

刷新时机,看输出的需求。

如果输出的定时非常重要,与其它输出有相位的要求,中断、主程序都可以使用立即输出,反之,都可以不用,等待扫描周期结束统一输出。

至于双线圈的问题,其实是个逻辑问题,即使使用中间变量,还是要面对这个逻辑。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8936条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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