回复:标准化编程的一点实践

已锁定

yming

西门子1847工业学习平台

  • 帖子

    23148
  • 精华

    881
  • 被关注

    1253

论坛等级:至圣

注册时间:2004-03-06

钻石 钻石 如何晋级?

发布于 2021-12-22 20:53:08

46楼

其实,用西门子PLC,采用结构化、模块化编程的程序员,有意识的、无意识的都使用了 “控制字”、“状态字”。

因为,总会用位来控制模块各种使能,用值来向模块传递参数。

例如:在变量表里 M100.0 - M103.7 每一位都(定义)赋予了控制符号(DB也一样);用它们来调用各种功能块;

殊不知,实际上变量表是可以重复定义的。MW100 就可定义为 控制字N。

在没有这个概念时,我们这次用的是位0 作为控制启停功能块,下次又用 位3作为控制启停功能块。但是后面调用的功能块模块,就只能一次次修改接口。(尽管该功能块是标准的块)

如果从一开始,控制字就规范好了,控制启停是控制字位0,那么不管是符号编程还是使用绝对地址,该控制启停功能块只需要查看那个控制字的位0,就能知道是否允许执行启停。而传入值是标准的、无量纲的;如  hex4000=100.00%

(而该功能块的调用,是由状态字决定的。)

只不过,我们随意编程,没有在这些方面做规划而已。



学而时习之,不亦说乎?温故而知新,不亦乐乎?
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

谈天说地

共有13246条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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