回复:多次调用FC块中S_ODT会不会有冲突?

8051

  • 帖子

    21
  • 精华

    0
  • 被关注

    1

论坛等级:游士

注册时间:2014-08-17

普通 普通 如何晋级?

发布于 2018-06-13 01:41:36

5楼

展开查看
以下是引用威师爷在2018-06-10 21:08:12的发言 >3楼

不同时调用工作就不会有冲突,但是这样的程序不严谨。没有必要放弃好的方法而去选择一些可能会存在安全隐患的方法。

记时程序自己写也比较简单,如果要求不高可以激活CPU的系统时钟存储器,使用10HZ/1HZ脉冲来累加作为时间参考,例如使用10HZ时钟,累加到20时就是2S,这样通过自己编写的记时程序就可以封装在FB/FC里面了。

只需要定义好接口分配变量即可。

以下是引用8051在2018-06-10 18:40:29的发言 >2楼:谢谢前辈回答~这个定...

引用2楼详细内容:

谢谢前辈回答~这个定时器只有一秒也就是说运行信号收到后就把这个定时器的使能关断了是不是只要不是同时调用就不会起冲突?

以下是引用威师爷在2018-06-10 15:51:27的发言 >1楼:有冲突。如果数量多...

引用1楼详细内容:

有冲突。


如果数量多建议使用IEC定时器,如果数量不多可以使用S5定时器,但是既然你都想到了做成标准的FC进行多次调用,所以正确的做法是也要把S5定时器编号作为接口参数,每次调用就分配唯一的编号,例如电机1监控时分配了T1电机2调用时就分配T2。但是S5定时器的数量是CPU性能决定的。大量的使用需要考虑资源是否充足。


说白了就是你的FC每次调用时需要分配不同编号的T#


论坛有一个帖子【故事】【万泉河】我现在告诉你们不用M和T的程序好在哪里:讨论的非常火爆就是说在标准封装的FC/FB里面不合适使用S5定时器与M等等的。你看看也许会有一点启发:http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1484028&b_id=66



也是个好办法~可以把系统时钟映射到MB寄存器~用秒位做脉冲然后L临时变量计数再比较输出~

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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