应粉丝的要求,今天跟大家简单分享下在博途中怎么用SCL调用FB块,熟悉STEP7的朋友都应该很熟悉FB,不用过多的介绍,在OB1怎么调用FB也很熟悉,其实用SCL调用非常简单,拖进去呗,呵呵!下面我就举个小例子来说下,
1、新建项目,然后新建FB块,语言选择SCL。
2、编写FB块程序,这里我就以定时器来举例说明:前面文章中关于定时器有过介绍,可参见下面链接的文章回顾#如何在STEP 7 (TIA Portal) 中定义定时器及计数器?#博途定时器的使用介绍及举例说明
建立一个名称为TIME的定时器变量,变量类型选择IEC_TIMER,建立输入和输出变量。
注意这里定时器类型是没有指定的,在下面程序中来指定即可。
指定定时器类型为TON定时,指令格式就是:
#time.TON //time为我们建立的变量,TON为接通延时定时器。
要注意的就是time和TON中间的点,为英文格式,用中文是错的。
关于定时器的引脚参见前面的文章,主要有IN、PT、ET、Q,IN 就是使能,PT为定时时间,Q就是输出。
这样我们定时器的程序就如下图所示:
简单介绍下这里用到的指令,呵呵也没有什么指令就是赋值,SCL的赋值指令就是:=,上面程序就是将enable变量赋值给IN,将time变量赋值给PT,将output变量赋值给Q。到此我们这个FB快就编写好了。
下面看看如何在OB1中调用FB。
记住一点,当然也是建议了,要先建立变量,本例如下图所示
下面开始编程,我要做的就是一个电机延时10s启动的程序,首先编写一个起保停电路:
那么用SCL怎么实现上面梯形图的程序呢,这里我用的IF THEN,
#西门子SCL编程之IF THEN的使用
然后调用我们做的定时器的FB,将FB拖拽到程序中,这时会提示你生产背景数据块。如下图所示
对应输入相应的变量,这样完成的程序就完成了,如下图所示:
仿真一下: