回复:SCL 编程如何实现按一次开关Q0.1=1;再按一次Q0.1=0;如此反复

renderman

  • 帖子

    17
  • 精华

    0
  • 被关注

    1

论坛等级:游民

注册时间:2012-04-13

普通 普通 如何晋级?

发布于 2012-04-18 15:05:04

37楼

以上程序经过测试!另外,我的习惯是,既然你要用scl就尽量采用FB,为什么?因为有背景数据块的支持可以最大程度的减少对外部全局变量的依赖,比如楼上那个FC要用到IN_OUT,为什么?就是因为没有数据块支持,必须指定一个全局变量,可以是 M点也可以是DB点。但是这样的块在复用的时候会和外界的全局量有联系,增加了块和块互相调用的耦合性,复用设计的原则之一就是块的功能应该独立,而不应该借助外界变量,我称之为耦合度,耦合度越低的块可复用程度越高。我推崇面向对象的设计方式,即,一个对象的功能用FB块来包装,FC作为调用框架,在相似功能多的设备的项目中可以极大减少程序量,你只要一个一个把FB块往 FC里面扔,然后指定 DB就可以了。另外一点,不可避免的大家会遇到必须使用定时器的场合,我建议在 FB块里内建IEC_Timer,SFB4,5,6,用多重背景,这样你连定时器都封装了,让硬件定时器见鬼去吧。计数器咱自己写就行了不就是一个pulse数一下的问题嘛。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54618条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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