回复:为什么SMART 做个功能块中不能有沿和定时器和计数器

已锁定

submarine

西门子1847工业学习平台

  • 帖子

    170
  • 精华

    0
  • 被关注

    2

论坛等级:侠士

注册时间:2008-09-26

黄金 黄金 如何晋级?

发布于 2020-01-22 16:41:01

7楼

系统给应用的边沿指令自动分配了寄存器,这个自动分配是针对每个子程序的,而不是子程序的每次调用。当多次调用该子程序,边沿指令使用的其实都是同一个寄存器里的数值,这就有可能会出现问题。你可以在“运行时编辑程序”,这时可以看到每个边沿指令都有一个数字的编号,在smart的系统中,边沿指令的个数是有限制的。

解决:可将需要的边沿检测做在主程序中,而把该结果作为子程序的输入参数。

或采用定时中断的方法,每次进入中断时进行一次自加1的逻辑,这样也不需要使用上升沿。采用中断的优点,除了可以设置ms时基,更重要的是中断事件不受程序的扫描周期的影响,计时更精准。


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有8940条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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