这里讲的SCL编程,只是针对博图S7-1200/1500的培训教材,随着PLC硬件的不断发展,现在PLC在编程理念上已经越来越接近高级语言,这里把SCL看出一门高级语言,就是说以SCL高级语言的角度去诠释PLC程序。和传统的梯形图有所不同,学习本课程,需要有一定的PLC梯形图编程的基础才可以。
SCL是一种类pascal的高级语言,如果你熟悉C或者basic等语言,那么SCL久很简单,但如果你不熟悉也没用关系,我们从最基本的SCL基础知识开始讲起,逐步深入,但是学习SCL时需要摆脱以前使用梯形图时养成的思维习惯,我们把之前的梯形图作为理解的参考即可
对于我们长期从事工控编程的人员来说,大部分人没有接触过高级语言,这也是我们相要学习C#,学习上位机,和机器视觉的一个障碍,如果我们能够从梯形图的编程思维过度到SCL编程思维,这样再从SCL 到C#就简单多了。这也是目前工控自动化发展给我们工控从业者提出的必须要完成转型的任务,不然就会被淘汰。
梯形图的编程思路比较适合逻辑控制,随着智能化的发展,处理的数据越来越多,控制要求越来越高,它对于处理复杂的控制算法就不行了。
随着PLC性能的不断提升,FX5U,S7-1200/1500的PLC出现,这些型号已经不仅仅是一个PLC控制器了,它是集成了逻辑控制,过程控制,运动控制,网络数据通讯控制,人工智能控制于一身的新的硬件平台,它上可以与MES,ERP系统相连接,下可以实现对现场核心进行控制,这样,我们以往的PLC编程人员都是电气出身,现在可能越来越多的是计算机出身的人开始涉足PLC编程,这样电气行业的人更加需要去充实自己。
SCL是依赖于博图编程平台,在博图中不但可以用来编写OB,FB.FC程序,也可以调用其他语言的程序块(梯形图等),现在的博图甚至可以预先使用SCL和梯形图混合编程,三菱FX5U也同样可以使用ST与梯形图混合编程,SCL/ST更擅长于编写数学计算类的程序,如大量的数据处理,控制算法等。
SCL/ST的长处在于编写算法,使用SCL/ST编写算法代码非常简洁,通常梯形图需要大篇幅的程序,而用SCL就几句就能搞定。
博图的SCL具有智能感知功能,就是说编辑器会根据你的输入自动显示出所有的相关可能选项,比如当我们在SCL编辑器中输入字符“m”,编辑器就会显示所有以字符“m”开头的函数指令或功能块(如同smart中通过工具添加指令块一样)。
SCL中,有时我们需要使用数据块(DB)中的变量,当输入数据块名称和符号“.”时(数据块内的变量的寻址方式是:数据块名称+“.”+变量名称),编辑器会自动显示该数据块所有已定义的变量。