西门子S7-1200的间接寻址功能(3)
林慧玲
发布于2018-03-26 15:35
3192
0
标签:西门子S7-1200
马上注册,免费学习超过100课时视频教程,免费下载海量学习资料
在前面介绍了使用梯形图的方式来编写一个取大值的程序,但在S7-1200PLC中,还支持SCL的编程,使用SCL的编程对一些复杂的数据处理会带来很大的方便,下面还是以前面的例子为例说明使用SCL如何编写程序实现。
例子说明:
假设需要从一组数据中找出一个大值,并记录这个大值是这组数据中的第几个数据。
使用SCL编程来完成这个例子,这里我们需要用到两个语句
(1) 用于条件判断的语句
IF (条件) THEN (执行语句)
END_IF;
解析:如果条件满足,则执行THEN后面的语句。
举例:IF “DATA_A”<100 HEN
“DATA_A”:= “DATA_A”+1;
END_IF;
如果DATA_A的值小于100,则DATA_A的值等于自身加1.
(2) 用于循环执行的语句
FOR (执行变量):= (起始值) TO (结束值)BY(自增量)DO (后面需要执行的语句);
END_FOR;
解析:从“起始值”开始循环到执行,每循环一次,“执行变量”的值会根据“自增量”的多少进行变化,直到执行到“结束值”时,停止循环执行。
举例:FOR “count”: = 0 TO 4 BY 1 DO
“Data[count]”=10;
END_FOR;
把数值10填入到数值Data中的Data[0]到Data[4]的五个元素中,次循环时把10填入到Data[0],第二次循环时把10填入到Data[1],依次下去。
了解这两条语句后,接下来我们可以设计一个程序,这里我们可以把他建立为一个功能块(FB),方便以后使用。
步:
添加一个全局DB块,在全局DB块中建立一个变量名为Data的数组,元素个数可以视情况进行设置。如下图所示,元素个数设置为5个。
第二步:
添加一个FB块,同时把编程语言选择为SCL的编程语言。然后在FB的接口去中分别去定义相应的变量,如下图所示:
第三步:
用SCL语言编写功能块程序,如下所示
第四步:
在OB1中调用该功能块,由于使用的是FB,因此在调用时需要分配相应的背景DB,如下图所示:
寄语:程序仅供参考,一个简单的小例子,抛砖引玉,希望大家能够使用SCL可以编写出更复杂的一些功能块出来。
作者:技成培训网(曾鑫)
本文为原创作品,盗取必究!
三菱PLC通信基础及应用
西门S7-200PLC从入门到精通
西门子200STEP-7 MicroWIN 编程软件应用
三菱FX系列PLC定位控制技术基础知识