六、SCL核心应用课项目实战_SCL语言控制指令

本文详细介绍了SCL语言在PLC编程中的块结构,包括模块化编程、FC块(无存储区的功能)、FB块(有存储区的功能),以及控制指令如代码区间、选择语句、条件语句和循环语句的使用。适合PLC编程初学者和进阶者参考。
摘要由CSDN通过智能技术生成


前言

本文是基于B站上的《SCL核心应用课项目实战》课程,所做的笔记,主要包括程序代码和自己的理解注释。课程链接:SCL核心应用课项目实战(21课全)
陆杰锋老师讲得非常好,有理论讲解也有实战演练,需要具备一定的梯形图编程基础。
有空我会持续更新。

六、SCL语言控制指令

1.PLC编程的块结构

1)模块化编程

模块化编程将复杂的自动化任务划分为对应于生产过程的技术功能的较小的子任务,每个子任务对应于一个称为“块”的子程序,可以通过块与块之间的相互调用来组织程序。这样的程序易于修改、查错和调试。
在这里插入图片描述
块结构显著增加了PLC程序的组织透明性、可理解性和易维护性。OB、FB、FC都包含代码,统称为代码块(Code)块。被调用的代码块又可以调用别的代码块,这种调用称为嵌套调用。在块调用中,调用者可以是各种代码块,被调用的块是OB之外的代码块。调用FB(功能块)时需要为它指定一个背景数据块。

2)FC块

功能(Function,FC)和功能块(Function Block,FB)是用户编写的子程序,他们包含完成特定任务的程序。FC和FB有与调用它的块共享的输入、输出参数,执行完FC和FB后,将执行结果返回给调用它的代码块。功能(Function,FC)没有固定的存储区,功能执行结束后,其局部变量中的临时数据就丢失了。可以用全局变量来存储那些在功能执行结束后需要保存的数据。
在编程过程中,具备复用功能的FC块适合用在单扫描周期能完成的任务中,如线性转换程序,逻辑判断功能等。

3)FB块

功能块(FB)是用户编写的有自己的存储区(背景数据块)的块。FB的典型应用是执行不能在一个扫描周期结束的操作。每次调用功能块时,都需要指定一个背景数据块,背景数据块随功能块的调用而打开,在调用结束时自动关闭。功能块的输入、输出和静态变量(Static)用指定的背景数据块保存,但是不会保存临时局部变量(Temp)中的数据。功能块执行后,背景数据块中的数据不会丢失。
复用型FB的显著特点是内部会使用上升沿、下降沿、定时器等功能指令。

4)编程建议

在构建复用功能的程序时,尽可能用FB代替FC。当FB对象被调用时,会生成背景DB块,如果想让程序结构更简洁,可以用FB来调用FB,将被调用的FB的背景数据块存在静态变量区。

2.SCL中的控制指令

1)代码区间

代码区间是一对配对的区间函数,可以对代码进行整理,也可以对其划分的一个区间的代码进行剪切,粘贴,复制,删除插入等操作(REGION,END_REGION)。

//代码区间,可以右键直接复制
REGION 一级目录
    REGION 二级目录
    ...
    END_REGION
END_REGION

注意:只有在纯SCL编程环境的代码块中才能使用。

2)选择语句

程序控制语句说明选择IF…THEN语句用于将程序执行转移到两个备选分支之一(取决于条件为True还是False)。

IF #输入范围 < 20 THEN
    #输出范围 := 20;
ELSIF #输入范围 > 50 THEN
    #输出范围 := 50;
ELSE
    #输出范围 := #输入范围;
END_IF;

3)条件语句

CASE语句用于选择执行n个备选分支之一(取决于变量值)循环。常用于顺序控制。

CASE "_variable_name_" OF
    1:  // Statement section case 1
        ;
    2..4:  // Statement section case 2 to 4
        ;
    ELSE  // Statement section ELSE
        ;
END_CASE;

在这里插入图片描述

3)循环语句

For循环:在计数循环中执行指令,重复执行程序循环,直至运行变量不在指定的取值范围内。也可以做多重嵌套程序循环。

FOR "_counter_" := "_start_count_" TO "_end_count_" DO
    // Statement section FOR
END_FOR;
  • 30
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值