西门子PLC编程scl

SCL语言语句和语法

所有代码均从主函数开始执行,如果程序不能正常执行或者输出不符合预期,检测主函数中是否添加函数或者函数块
如下为主函数:
在这里插入图片描述

二维数组的创建

**类型:**Array[0…9, 0…9] of Int //创建一个二维数组
在这里插入图片描述

REGION语句

可以将程序分区,增加阅读的便利性
REGION语句也可以嵌套使用如图所示

REGION语句用法

注释

单行注释与多行注释

//单行注释
(*
多
行
注
释
*)

在这里插入图片描述

CASE语句

CASE "数据块_1".A OF
    1:
        "数据块_1".B := 100;
    2..4:  
        "数据块_1".B := 101;
    6,7,10,12..15:
        "数据块_1".B := 102;
    ELSE  
        ;
END_CASE;

在这里插入图片描述
供选择的数据类型只能是整形

选项可以是一个整数,也可以是一个范围,也可以混合使用,或者多个枚举与范围混合使用

FOR循环

//for1 局部变量int类型

//默认步长为1

FOR #for1 := 0 TO 9 DO
    "数据块_1".数组1[#for1] := "数据块_1".数组2[#for1];
END_FOR;

在这里插入图片描述
运行结果:
在这里插入图片描述

//设置步长为2,需要添加代码BY 2

FOR #for2 := 0 TO 9 BY 2 DO
    "数据块_1".数组3[#for2] := "数据块_1".数组4[#for2];

END_FOR;
在这里插入图片描述

在这里插入图片描述
嵌套FOR循环

FOR #for1 := 0 TO 9 DO
    FOR #for2 := 0 TO 9 DO
        "数据块_1".数组5[#for1, #for2] := "数据块_1".数组6[#for1, #for2];
    END_FOR;
END_FOR;

在这里插入图片描述
在这里插入图片描述

WHILE语句

方法一:利用条件跳出循环

IF  "数据块_1".按钮1 THEN
    #循环次数 := 0;
    WHILE #循环次数<10 DO
        "数据块_1".数组8[#循环次数] := "数据块_1".数组9[#循环次数];
        #循环次数:=#循环次数+1;
    END_WHILE;
END_IF;

程序代码
在这里插入图片描述
运行结果
在这里插入图片描述
方法二:使用EXIT;语句退出循环

IF  "数据块_1".按钮1 THEN
    #循环次数 := 0;
    WHILE TRUE DO
        "数据块_1".数组8[#循环次数] := "数据块_1".数组9[#循环次数];
        IF #循环次数=9 THEN
            EXIT;
        END_IF;
        #循环次数 := #循环次数 + 1;
    END_WHILE;
END_IF;

代码:
在这里插入图片描述
运行结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值