借万泉河兄的帖子,我谈谈结构化编程的问题,其实如果规划好编程结构,不但能使接口清晰,适合团队合作共同开发,而且也能使每个人开发的FB或FC也容易很多,并且适合后期修改及管理。
如何规划,我个人的习惯是在需要SCL编程的FB或FC中全部采用内部变量,在输入和输出的定义中可以采用UDT也可以采用数组或者结构体,作为FB或FC的内外数据接口,SCL编写的FB或FC只对内部变量操作。
至于语法,其实并不复杂,可能刚开始时有些不习惯。尤其是在TIA Portal编程环境下,可以对指令直接进行拖拽操作,不用记忆方便快捷。其实最关键的是规划,是编程思想,这个东西其实在各种编程语言中都是相通的。
quote:以下是引用万泉河在2013-08-17 09:05:40的发言:
评价一个编程语言,个人认为比较重要的有两个方面:
1,语法。
2,资源的接口.
从语法及编程框架来说,SCL与其他高级语言非常相似,所以很容易上手。比如一段高级语言里面的程序脚本,很容易按照SCL的语法重构。
只不过,这里的语言语法太复杂,A:=1 ,等号前面还要加个冒号就让人很不适应.而后面还要补个分号啥的,也比VB等复杂。
程序调试中精力全放在这上面了。
讨厌。
而对于资源来说,我们的程序需要接口去从外围获得数据,并将结果输出到外部接口。因为用SCL通常是做FC,FB块,普通的I/O都是通过形参传进来的,而用的较多的是DB块。在PLC里面,DB块相当于电脑里面的文件。
在SCL中操作DB块,感觉很麻烦,需要对这个DB块整体做定义,而我其实只是访问其中一部分数据而已。
而如果多个SCL程序中用到同一个DB,就要重复定义。搞的就比较乱。当编译的时候就需要选择部分编译,否则就很容易把原块给冲掉了。