恭喜,你发布的帖子
发布于 2021-12-22 20:53:08
46楼
其实,用西门子PLC,采用结构化、模块化编程的程序员,有意识的、无意识的都使用了 “控制字”、“状态字”。
因为,总会用位来控制模块各种使能,用值来向模块传递参数。
例如:在变量表里 M100.0 - M103.7 每一位都(定义)赋予了控制符号(DB也一样);用它们来调用各种功能块;
殊不知,实际上变量表是可以重复定义的。MW100 就可定义为 控制字N。
在没有这个概念时,我们这次用的是位0 作为控制启停功能块,下次又用 位3作为控制启停功能块。但是后面调用的功能块模块,就只能一次次修改接口。(尽管该功能块是标准的块)
如果从一开始,控制字就规范好了,控制启停是控制字位0,那么不管是符号编程还是使用绝对地址,该控制启停功能块只需要查看那个控制字的位0,就能知道是否允许执行启停。而传入值是标准的、无量纲的;如 hex4000=100.00%
(而该功能块的调用,是由状态字决定的。)
只不过,我们随意编程,没有在这些方面做规划而已。
请填写推广理由:
分享
只看
楼主