发表于:2008-03-19 21:22:00
34楼
楼上的这位兄弟呀!呵呵,不会吧!你这样会误导那些热爱PLC技术的人们哦!!!如果按照你说的“理念:最基本的控制单元使用FB,像一个电机,一个阀。。。。。。”。请问,如果一个大型的PLC程序种有300台这样的基本单元呢?再按照你的理念来“面向实际”,你仅仅在调用这些基本单元的FB时,你就耗费了300个背景DB,请问这样的程序优雅吗?还能说面向实际吗?
还有你在选择编程语言时说:“最好使用梯形图/功能块图编程”!我个人认为,不要用“最好”这个词,用建议比较好些。因为不同的编程人员有不同的专业偏向,人们总是喜欢用自己熟悉的语言来编程。比如:熟悉电气硬件控制线路的人们,一般喜欢使用LAD(梯形图)来编程,这样他们看起来会感觉程序很直观;那些熟悉电子电路和逻辑控制的人们,一般喜欢使用FBD(功能块图)来编程,这样他们看起来会感觉逻辑性很强;那些熟悉汇编语言的人们,一般喜欢使用STL(语句表)来编程,他们会感觉执行效率高,能实现任何功能。siemens PLC编程,还可以通过其它语言编程,比如c语言、类似pascal语言等等来编程。所以我个人认为不同专业偏向的人们,采用自己最熟悉的语言来编程方向是对的,没有必要规定非要用某种语言。对于编程语言来说没有最好的,只有最适合的。siemens PLC编程语言适合很多种专业偏向的人们,这也是siemens PLC由狭隘变博大的一种思想体现。所以,上面那位兄弟,你不能再犯《瞎子摸象》的错误了,不要违背了siemens自由、博大的编程思想原则,看问题也要有一个高度,才能看清楚问题。
我个人对编程的建议:凡事从简单的做起,先是"线性化"编程;到了对程序的有了较高认识的时候,再试着采用"模块化"编程;等到"模块化"编程思维再提升到某个高度的时候,"结构化"编程的雏形也就产生了。结构化编程:使用自己最熟悉的语言来开发各种基本单元,在这些基本单元或者说“模块”完全调试ok后,只要清楚它的输入和输出功能,可以把自己开发好的特定功能的“模块”放在自己创建的“程序库”里面。然后再用自己最熟悉的语言,配合良好的程序结构,在真正的用户应用、控制程序里面调用库里面的“模块”。其实在siemens S7-300/400 PLC里面,FC和FB已经没有上、下级之分,他们是平级的,可以相互调用,也就是在FB里面可以调用FC,在FC里面可以调用FB。已经比S5的功能强大了很多。
上面的这些文字希望能给那些热爱PLC技术的人们一点点参考。我还是那句话,冰冻三尺,非一日之寒!思路决定方向!因你博大的思想而深邃!希望能与大家共学、共勉、共进!! ^_^ ◎_◎