在FB,FC中,理想的状态时通过输入输出来传送数据,如果允许使用全局变量的话,会导致程序中的数据流向的不确定。
所以通常对于IEC61131支持得比较好的厂家,通过输入来传递全局变量。
FB和FC的区别在于:
对于FB,系统会分配独立的存储空间,而FC,系统不分配独立的存储空间,所以在FC中使用变量的原则是先赋值,后使用。
当然,西门子允许在FB,FC中使用全局变量,不过西门子的工程师在其提供的样例中仍然不会在FB/FC中使用全局变量。
在西门子最新软件博图中,西门子正在逐步改变在FB/FC使用全局变量这一陋习。
所以秉着提高程序的可移植性来说,遵守IEC规范还是非常必要的。
回复内容:
对:yuanle 在FB,FC中,理想的状态时通过输入输出来传送数据,如果允许使用全局变量的话,会导致程序中的数据流向的不确定。所以通常对于IEC61131支持得比较好的厂家,通过输入来传递全局变量。FB和FC的区别在于:对于FB,系统会分配独立的存储空间,而FC,系统不分配独立的存储空间,所以在FC中使用变量的原则是先赋值,后使用。当然,西门子允许在FB,FC中使用全局变量,不过西门子的工程师在其提供的样例中仍然不会在FB/FC中使用全局变量。在西门子最新软件博图中,西门子正在逐步改变在FB/FC使用全局变量这一陋习。所以秉着提高程序的可移植性来说,遵守IEC规范还是非常必要的。 内容的回复:谢谢指教,感觉这种规定写起程序来太过烦琐。。。