找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4111|回復(fù): 0
收起左側(cè)

SCL編程入門

[復(fù)制鏈接]
ID:809532 發(fā)表于 2020-8-1 11:34 | 顯示全部樓層 |閱讀模式
SCL語(yǔ)言是由Pascal而生的結(jié)構(gòu)化程序語(yǔ)言,與梯形圖相(LAD)比,SCL語(yǔ)言的靈活程度更高,易于編寫控制算法。
本教程雖然使用的是S7-1500系列的PLC,但實(shí)際上是面向S7-1200的用戶,在1500系列的PLC中,筆者更希望使用STL來(lái)對(duì)應(yīng)他優(yōu)越的計(jì)算處理能力。在程序段中直接右擊插入即可,但是插入的程序段并不能完全使用SCL語(yǔ)法,GOTO等跳轉(zhuǎn)指令就不能使用。在SCL中一般不能使用絕對(duì)地址進(jìn)行變量地址的訪問(wèn),變量表中的變量一般使用變量名稱進(jìn)行訪問(wèn)。
創(chuàng)建的SCL塊兒可以在觀測(cè)欄中顯示變量的地址,如下,為示例程序:
1.png
在SCL中,:= 表示賦值。
二、常量,變量及相關(guān)指令
(1)常量及變量的聲明
在博圖中,可以在代碼區(qū)進(jìn)行變量的聲明,也可以在程序塊內(nèi)部進(jìn)行變量聲明。具體如下圖:
變量聲明區(qū)有如下區(qū)別:
無(wú)論是FC還是FB塊,都是函數(shù)塊

    條件語(yǔ)句
    IF語(yǔ)句
    使用“條件執(zhí)行”指令,可以根據(jù)條件控制程序流的分支。該條件是結(jié)果為布爾值(TRUE 或 FALSE)的表達(dá)式?梢詫⑦壿嫳磉_(dá)式或比較表達(dá)式作為條件。
    執(zhí)行該指令時(shí),將對(duì)指定的表達(dá)式進(jìn)行運(yùn)算。如果表達(dá)式的值為 TRUE,則表示滿足該條件;如果其值為 FALSE,則表示不滿足該條件。
    根據(jù)分支的類型,可以對(duì)以下形式的指令進(jìn)行編程:
    IF 分支:
    IF <condition> THEN <instructions>END_IF;

    如果滿足該條件,則將執(zhí)行 THEN 后編寫的指令。如果不滿足該條件,則程序?qū)?END_IF 后的下一條指令開始繼續(xù)執(zhí)行。

    IF 和 ELSE 分支:

    IF <condition> THEN <instructions1>ELSE <Instructions0>END_IF;

    如果滿足該條件,則將執(zhí)行 THEN 后編寫的指令。如果不滿足該條件,則將執(zhí)行 ELSE 后編寫的指令。程序?qū)?END_IF 后的下一條指令開始繼續(xù)執(zhí)行。IF、ELSIF 和 ELSE 分支:

    IF <condition1> THEN <instructions1>ELSIF <condition2> THEN <instruction2>ELSE <Instructions0>END_IF;

    如果滿足第一個(gè)條件(<條件 1>),則將執(zhí)行 THEN 后的指令(<指令 1>)。執(zhí)行這些指令后,程序?qū)?END_IF 后繼續(xù)執(zhí)行。如果不滿足第一個(gè)條件,則將檢查第二個(gè)條件(<條件 2>)。如果滿足第二個(gè)條件(<條件 2>),則將執(zhí)行 THEN 后的指令(<指令 2>)。執(zhí)行這些指令后,程序?qū)?END_IF 后繼續(xù)執(zhí)行。如果不滿足任何條件,則先執(zhí)行 ELSE 后的指令(<指令 0>),再執(zhí)行 END_IF 后的程序部分。在 IF 指令內(nèi)可以嵌套任意多個(gè) ELSIF 和 THEN 組合。可以選擇對(duì) ELSE 分支進(jìn)行編程。IF 指令的語(yǔ)法如下所示:

    IF "Tag_1" = 1THEN "Tag_Value" := 10;ELSIF "Tag_2" = 1THEN "Tag_Value" := 20;ELSIF "Tag_3" = 1THEN "Tag_Value" := 30;ELSE "Tag_Value" := 0;END_IF;

    后續(xù)帖子會(huì)慢慢講述指令的運(yùn)用
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表