西门子TIA博途软件SCL语言编程应用案例

(整期优先)网络出版时间:2022-05-09
/ 1

西门子 TIA博途软件 SCL语言编程应用案例

彭志惠

广东省技师学院

SCL:Structured Contorl Language,结构化控制语言。

在西门子TIA博途软件中,默认支持SCL语言,在建立程序块时可以直接选择SCL语言。

本例利用SCL语言编程来实现机器人自动上下料过程中的自动寻料判断。

6278c72b856aa_html_98dc476f93e20d12.png

上图分别显示毛坯区和成品区料位实际状态,蓝色和绿色代表料位有料,灰色代表料位无料。机器人自动选择抓取毛坯区2号料,放置在成品区7号空料位。

机器人自动寻料要求实现功能如下:上料时从毛坯区自动选择有料的最小料位号的毛坯,放料时自动选择无料的最小成品料区放料。毛坯无料的位和成品区的有料位自动跳过,直至全部毛坯取完,或者全部成品区放满料。

如果使用梯形图来写的话,此程序会很繁琐,由此我们引出西门子博途的SCL语言编程,将会比较容易实现,步骤如下:

1、建立数据块

6278c72b856aa_html_e65e5df225f7a43f.png

30LW:表示料仓30个料位传感器状态,本例只使用1-17号。其中1-6为毛坯料区,7-12为成品料区。

2、完成料位传感器和机器人料位号数据处理

6278c72b856aa_html_733f5db2b9fdb3d4.png

ID8是外部30个料位传感信号输入,将外部30个料位信号传给30LW数据

6278c72b856aa_html_b2aca05df8c36537.png

将毛坯区和成品区料位信息传送给机器人

  1. 在程序段插入SCL程序段

  1. 6278c72b856aa_html_3124516033459a73.png

打开基本指令中的程序控制指令,选择所需要的指令编程

6278c72b856aa_html_84c9a5fbff238707.png

4、编程

方法一:

该方法使用IF条件执行指令

6278c72b856aa_html_414fecc399203267.png


6278c72b856aa_html_32b66266ceb8b022.png XZ1是发给机器人取料料位信号,XZ1为发给机器人放料料位信号

6278c72b856aa_html_d0cca88431056544.png

此段程序处理毛坯区料位判断。当1号料位有料时,毛坯区料位号为1,如果无料则执行下一条(即2号料位判断)。如果1-6号都无料,则毛坯区料位号为0

6278c72b856aa_html_3e839c3a78729aef.png

此段程序处理成品区料位判断。当7号料位无料时,则成品区料位号为7,如果该料位有料则执行下一条(即8号料位判断)。如果7-12号都有料,则成品区料位号为0

这种方法通俗易懂,但程序会随着料位的增加而增加,料位越多,程序就会越长。


方法二:

6278c72b856aa_html_71f7eab40833cb89.png

该方法程序使用FOR:在计数循环中执行指令,配合IF条件执行指令。

通过PLC循环扫描方式让7减(1至6),得出料位传感器从(6至1)循环执行,料位传感器(6至1)任意一位为1则把7减(1至6)值给到毛坯区。成品区料位判断计算方法原理一样


这种方法简短实用,不会因为料位增加而增加程序。对于料位很多的情况非常合适。


在用SCL语言编程时,主要用IF...THEN/FOR/WHILE语句去构造条件、循环、判断这样的结构,在这些结构中再次添加指令,去实现逻辑判断。通过以上实例简单介绍了SCL语言的基本用法,在感性上对SCL语言编程有所认识。