国产一区二区三区毛片_亚洲乱码AV中文一区二区_亚洲精品无码专区在线播放_日韩欧美一二_咪咪av影院_欧久久av一区二区

sz518104
級別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 927 個
工控威望: 803 點
下載積分: 18565 分
在線時間: 397(小時)
注冊時間: 2009-01-05
最后登錄: 2025-05-06
查看sz518104的 主題 / 回貼
樓主  發(fā)表于: 2018-11-20 08:57

結(jié)構(gòu)化文本ST編程,西門子PLC編程語言中叫SCL ,其它任何PLC控制器編程語言還是叫結(jié)構(gòu)化編程ST。
西門子SCL語言


第一章IF:條件執(zhí)行
IF 分支
IF <條件> THEN <指令>
END_IF;
如果滿足該條件,則將執(zhí)行 THEN 后編寫的指令。 如果不滿足該條件,則程序?qū)?END_IF 后的下一條指令開始繼續(xù)執(zhí)行。
IF 和 ELSE 分支
IF <條件> THEN <指令 1>
ELSE <指令 0>;
END_IF;
如果滿足該條件,則將執(zhí)行 THEN 后編寫的指令。 如果不滿足該條件,則將執(zhí)行 ELSE 后編寫的指令。 程序?qū)?END_IF 后的下一條指令開始繼續(xù)執(zhí)行。
IF、ELSIF 和 ELSE 分支
IF <條件 1> THEN <指令 1>
ELSIF <條件 2> THEN <指令 2>
ELSE <指令 0>;
END_IF;
如果滿足第一個條件(<條件 1>),則將執(zhí)行 THEN 后的指令(<指令1>)。 執(zhí)行這些指令后,程序?qū)?END_IF 后繼續(xù)執(zhí)行。
如果不滿足第一個條件,則將檢查第二個條件(<條件 2>)。如果滿足第二個條件(<條件 2>),則將執(zhí)行 THEN 后的指令(<指令2>)。 執(zhí)行這些指令后,程序?qū)?END_IF 后繼續(xù)執(zhí)行。
如果不滿足任何條件,則先執(zhí)行 ELSE 后的指令(<指令 0>),再執(zhí)行 END_IF 后的程序部分。
在 IF 指令內(nèi)可以嵌套任意多個 ELSIF 和 THEN 組合。 可以選擇對 ELSE 分支進行編程。
IF "Tag_1" = 1
THEN "Tag_Value" := 10;
ELSIF "Tag_2" = 1
THEN "Tag_Value" := 20;
ELSIF "Tag_3" = 1
THEN "Tag_Value" := 30;
ELSE "Tag_Value" := 0;
END_IF;
IF 案例如下:
FUNCTION_BLOCK "IF"
TITLE = 'IF Statement'

//IF ... THEN ... ELSE ... END_IF

VAR_INPUT
    Start   : BOOL;
    Manual  : BOOL;
    ActVal  : INT;
END_VAR
VAR
    Manual_FM     : BOOL;
    over          : BOOL;
    under         : BOOL;
    equal_to      : BOOL;
    Setpoint_man  : INT := 1000;
    Setpoint      : INT;
    Deviation     : INT;
    y_index       : INT := 12;
    Total         : INT;
END_VAR

VAR_TEMP i : INT; END_VAR

BEGIN
//Simple IF branch
IF Start THEN Setpoint := 1200; END_IF;
IF Manual THEN
    Setpoint := Setpoint_man;
    Q4.0     := TRUE;
END_IF;

//Branch with THEN...ELSE
IF ActVal > Setpoint
    THEN Deviation := ActVal - Setpoint;
    ELSE Deviation := Setpoint - ActVal;
END_IF;


//Branch with ELSIF
IF ActVal > Setpoint
    THEN over  := TRUE;
         under  := FALSE;
         equal_to := FALSE;
    ELSIF ActVal < Setpoint
         THEN under  := TRUE;
              over  := FALSE;
              equal_to := FALSE;
    ELSE equal_to := TRUE;
         over  := FALSE;
         under  := FALSE;
END_IF;


//Edge evalaution (rising edge)
IF Manual AND NOT Manual_FM
    THEN (*rising edge*);
END_IF;
Manual_FM := Manual;    //Correct edge memory bit

//Counting bits set to "1"
Total := 0;
FOR i:=1 TO 32 DO
    IF M[y_index,i] = TRUE
    THEN Total := Total + 1;
    END_IF;
END_FOR;

END_FUNCTION_BLOCK

第二章CASE:創(chuàng)建多路分支
說明:使用“創(chuàng)建多路分支”指令,可以根據(jù)數(shù)字表達式的值執(zhí)行多個指令序列中的一個。
表達式的值必須為整數(shù)。執(zhí)行該指令時,會將表達式的值與多個常數(shù)的值進行比較。如果表達式的值等于某個常數(shù)的值,則將執(zhí)行緊跟在該常數(shù)后編寫的指令。常數(shù)可以為以下值:
·        整數(shù)(例如,5)
·        整數(shù)范圍(例如,15 到 20)
·        由整數(shù)和范圍組成的枚舉(例如,10、11、15 到 20)
CASE <表達式> OF
<常量 1>: <指令 1>
<常量 2>: <指令 2>
<常量 X>: <指令 X>; // X>= 3
ELSE <指令 0>;
END_CASE;
例子
CASE #a OF
    0 :
          "Tag_1":= 1;
    1,3,5 :
          "Tag_2":= 1;
    6...10 :
          "Tag_3":= 1;
    16,17,20...25 :
          "Tag_4":= 1;
    ELSE
          "Tag_5":= 1;
END_CASE;
CASE OF 案例小程序:
FUNCTION_BLOCK "CASE"
TITLE = 'CASE Statements'

VAR
    Expression1    : INT;
    Expression2    : INT;
    Expression3    : INT;
    Day_of_the_week: STRING[12];
    Dat            : DATE;
    ID             : INT;
    Error_number   : INT;
END_VAR

VAR_TEMP
    Return_jump : INT;
END_VAR

LABEL
    Subroutine; M_1; M_2; M_3; End;
END_LABEL

BEGIN
//CASE with simple waiting list
CASE Expression1 OF
    1    : Q4.1 := TRUE;
    2    : Q4.2 := TRUE;
    3    : Q4.3 := TRUE;
END_CASE;

//CASE with value areas
CASE Expression2 OF
    1,2    : Q4.4 := TRUE;
    2,3    : Q4.5 := TRUE;
    ELSE   : QB4  := 0;
END_CASE;

//CASE with gaps in the value areas
CASE Expression3 OF
    1..4          : Q5.1 := TRUE;
    7..9          : Q5.2 := TRUE;
    12..16        : Q5.3 := TRUE;
    ELSE          : QB5  := 0;
END_CASE;


//Determining the day of the week from the DATE format
CASE DINT_TO_INT(DATE_TO_DINT(Dat) MOD 7)+1 OF
    1 : Day_of_the_week := 'Monday';
    2 : Day_of_the_week := 'Tuesday';
    3 : Day_of_the_week := 'Wednesday';
    4 : Day_of_the_week := 'Thursday';
    5 : Day_of_the_week := 'Friday';
    6 : Day_of_the_week := 'Saturday';
    7 : Day_of_the_week := 'Sunday';
END_CASE;


//Assigning an error number
CASE ID OF
0     : Error_number := 0;
1,3,5 : Error_number := ID + 128;
6..10 : Error_number := ID;
ELSE  : Error_number := 16#7F;
END_CASE;


//"Subroutines"

IF I1.0 THEN Return_jump := 1; GOTO subroutine; END_IF;
M_1: (*Return jump from subroutine*);
//...

IF I1.1 THEN Return_jump := 2; GOTO subroutine; END_IF;
M_2: (*Return jump from subroutine*);
//...

IF I1.2 THEN Return_jump := 3; GOTO subroutine; END_IF;
M_3: (*Return jump from subroutine*);
//...

GOTO End;            //Jump over subroutine
Subroutine: ;        //Jump to subroutine

//...Statements in the subroutine


//Selection for the return jump
CASE return_jump OF
    1 : GOTO M_1;
    2 : GOTO M_2;
    3 : GOTO M_3;
END_CASE;
//*********************************************************
End: ;

END_FUNCTION_BLOCK
第三章FOR:在計數(shù)循環(huán)中執(zhí)行
說明
使用“在計數(shù)循環(huán)中執(zhí)行”指令,重復(fù)執(zhí)行程序循環(huán),直至運行變量不在指定的取值范圍內(nèi)。
也可以嵌套程序循環(huán)。 在程序循環(huán)內(nèi),可以編寫包含其它運行變量的其它程序循環(huán)。
通過指令“復(fù)查循環(huán)條件”(CONTINUE),可以終止當前連續(xù)運行的程序循環(huán)。通過指令“立即退出循環(huán)”(EXIT) 終止整個循環(huán)的執(zhí)行。


FOR i := 2 TO 8 BY 2
    DO "a_array :="Tag_Value"*"b_array";
END_FOR;
FOR 指令案例
FUNCTION_BLOCK "FOR"
TITLE = 'FOR Statement'

//FOR ... TO ... BY ... DO ... END_FOR
//CONTINUE ... EXIT

NAME    : C28FOR
FAMILY  : SCL_Book
AUTHOR  : Berger
VERSION : '1.0'

VAR
    index1 : INT := 4;
    index2 : INT := 6;
    index3 : INT := 8;
END_VAR

VAR_TEMP
    Runtime_variable : INT;
    i, k             : INT;
END_VAR

BEGIN

//Simple FOR loop
FOR Runtime_variable := 0 TO 7 DO
    M[index1,Runtime_variable] := TRUE;
END_FOR;

FOR Runtime_variable := 0 TO 15 BY 2 DO
    M[index2 + Runtime_variable MOD 8, Runtime_variable] := TRUE;
END_FOR;

MD[index1] := 0;
MD[index2] := 0;

(* Set memory bits *)
FOR i := 2 TO 23 DO
  M[i DIV 8,i MOD 8] := TRUE;
END_FOR;

MD[index2] := MD[index1];


//Nested FOR loops
(* Reset memory bits *)
FOR i := 0 TO 2 DO
  FOR k := 0 TO 7 DO
    IF (k < 2 AND i = 0) THEN CONTINUE; END_IF;
    IF (i = 2 AND k > 5) THEN EXIT; END_IF;
    M[i,K] := FALSE;
  END_FOR;
END_FOR;
MW[index3]     := INT_TO_WORD(i);
MW[index3 + 2] := INT_TO_WORD(k);


//FOR loop with step width <> 1
FOR i:=128 TO 142 BY 2 DO
    MW := PIW;
END_FOR;


//Abort FOR loops
FOR Runtime_variable := 0 TO 15 DO
    M[index2,Runtime_variable] := TRUE;
    IF Runtime_variable = 7 THEN CONTINUE;
        ELSIF Runtime_variable = 8 THEN CONTINUE;
    END_IF;
    IF Runtime_variable = 10 THEN EXIT; END_IF;
    M[index2 + 1,Runtime_variable] := TRUE;
END_FOR;
MD[index2] := 0;

END_FUNCTION_BLOCK




第四章WHILE:滿足條件時執(zhí)行
說明
使用“滿足條件時執(zhí)行”指令可以重復(fù)執(zhí)行程序循環(huán),直至不滿足執(zhí)行條件為止。該條件是結(jié)果為布爾值(TRUE 或 FALSE)的表達式。 可以將邏輯表達式或比較表達式作為條件。
執(zhí)行該指令時,將對指定的表達式進行運算。 如果表達式的值為 TRUE,則表示滿足該條件;如果其值為 FALSE,則表示不滿足該條件。
也可以嵌套程序循環(huán)。 在程序循環(huán)內(nèi),可以編寫包含其它運行變量的其它程序循環(huán)。
通過指令“復(fù)查循環(huán)條件”(CONTINUE),可以終止當前連續(xù)運行的程序循環(huán)。通過指令“立即退出循環(huán)”(EXIT) 終止整個循環(huán)的執(zhí)行。 WHILE
      "Tag_Value1" <>"Tag_Value2"
      DO "Tag_Result"
      := "Tag_Input";

END_WHILE;
WHILE 案例
FUNCTION_BLOCK "WHILE"
TITLE = 'WHILE Statement'

//WHILE ... DO ... END_WHILE
VAR_INPUT
    Data  : BLOCK_DB;
END_VAR
VAR
    Runtime_variable : INT;
    Dat              : DATE;
    NextWeek         : ARRAY[1..7] OF DATE;
    byteindex        : INT;
    bitindex         : INT;
END_VAR
VAR_TEMP
    t_Date : DINT;
    i, k    : INT;
END_VAR

BEGIN

//Simple WHILE statement
i := 0;
WHILE  Data.DW = 16#FFFF DO
i := i + 1;
END_WHILE;

//Finding the next date that falls at the beginning of the week
t_Date := DATE_TO_DINT(Dat);
WHILE (t_Date MOD 7)+1 <> 1 DO
    t_Date := t_Date + 1;
END_WHILE;

//Saving the date information for the next week
FOR i := 1 TO 7 DO
    NextWeek := DINT_TO_DATE(t_Date + i - 1);
END_FOR;

//Finding the first input bit containing "1"
i := 0; k := 0;
WHILE I[i,k] = TRUE DO k := k + 1;
    IF k = 8 THEN k := 0; i := i + 1; END_IF;
    IF i > i + 4 THEN EXIT; END_IF;
END_WHILE;
byteindex := i; bitindex := k;

END_FUNCTION_BLOCK

第五章EXIT:立即退出循環(huán)
說明
使用“立即退出循環(huán)”指令,可以隨時取消 FOR、WHILE 或 REPEAT 循環(huán)的執(zhí)行,而無需考慮是否滿足條件。在循環(huán)結(jié)束(END_FOR、END_WHILE 或 END_REPEAT)后繼續(xù)執(zhí)行程序。
該指令將影響其所在的程序循環(huán)。

示例

SCL 將以下程序代碼復(fù)制到剪貼板。
FOR i := 15 TO 1 BY -2 DO
IF (i < 5)
THEN EXIT;
END_IF;
"DB10".Test := 1;
END_FOR;

如果滿足條件 i < 5,則將取消循環(huán)執(zhí)行。 程序?qū)腅ND_FOR 后繼續(xù)執(zhí)行。
如果不滿足條件 i < 5,則執(zhí)行后續(xù)的值分配(“DB10”.Test:= 1)并開始一個新循環(huán)。 將運行變量 (i) 以 2 進行遞減,并進行檢查該變量的當前值是否在程序中設(shè)定的取值范圍之內(nèi)。如果執(zhí)行變量 (i) 在取值范圍內(nèi),則將再次計算 IF 的條件。

https://mp.weixin.qq.com/s?__biz=MzIzMjQ3MjM0Ng==&mid=2247483932&idx=1&sn=80cfe82cf8f362bf8d2574489d4966b6&chksm=e8952869dfe2a17ffdccbde976c4c3ba71fb7d6e025cb054d1ee1da0701008040239dd9617d3&token=716415798&lang=zh_CN#rd
漂泊的石頭人
級別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 481 個
工控威望: 614 點
下載積分: 2798 分
在線時間: 211(小時)
注冊時間: 2018-07-17
最后登錄: 2025-05-20
查看漂泊的石頭人的 主題 / 回貼
1樓  發(fā)表于: 2018-11-21 21:15
不錯  有沒有視頻的           

主站蜘蛛池模板: 国产精美视频_国产91精品不卡在线_中文在线不卡视频_亚洲精品TV久久久久久久久J_操一操网站_人人妻人人澡人人爽精品欧美_日韩.com_久久加勒比 | 最近国产中文字幕_av在线免费播_亚洲裸男gv网站_www黄色毛片_四虎现在的网址是什么_欧美国产精品久久久乱码_亚洲一区二区三区四区在线免费观看_av美女网 | 99综合视频_综合精品欧美日韩国产在线_欧美精品久_国产精品免费麻豆入口_中文字幕二区在线观看_欧美天堂影院_不卡三区_亚洲高清无码久久成人精品 | 午夜精品影院_中文JAPANESE在线播放_精品三级_林深见鹿40集高清免费观看_国产一级αv片免费观看_青草久久国产_超碰个人97_广西美女色炮150p图 | 国产精品无打码在线播放_丰满少妇伦精品无码专区_亚洲综合成人一区_亚洲性猛交xxxx_全黄H全肉边做边吃奶视频_久久久久99精品成人片风流寡妇_91免费大片_欧美老妇激情BBBWWBBW | 桃色成人网_最近日本中文字幕免费完整_x88av在线_青青草视频在线观看_台湾佬娱乐中文22vvvv_一夜新娘第三季免费播放_video喷出白浆_日本欧美在线播放 | 国产影视一区_亚洲av永久无码偷拍另类_日韩在线免费观看av_九色九一_亚1州区2区3区4区产品乱码2021_亚洲精品成人网站在线观看_国产乱人对白_亚洲国产精品一区二区999 | 亚洲色图在线播放_国产精品久久国产精品99gif_蜜桃久久久aaaa成人网一区_日本黄色高清视频网站_天天干天天澡_国产精品一区二区免费在线观看_九九有精品_国产高清不卡二三区 | 国产福利精品视频_91素人在线_国产欧美另类久久久精品丝瓜_日韩精品一区二区av_XX性欧美肥妇精品久久久久久_老司机深夜18禁污污网站_伊人色综_99国产精品免费视频 | 成人国产视频在线_中文字幕丝袜精品久久_一个色影院_久久亚洲中文字幕无码_久久色网_欧美亚洲日本一区二区_91高清视频免费观看_国产69精品久久久久久久久久 | 40集连续剧免费播放_91c网站色版视频_玖爱在线视频_九色91在线视频_午夜精品久久久久久久99热额_国产精品高潮久久久久久无码_欧美+亚洲+精品+三区_亚洲免费av在线 | 国产日韩欧美在线精品首页_亚洲偷精品国产五月丁香麻豆_娇小1213╳yⅹ╳毛片_日本高清www视频在线观看_欧美在线观看你懂的_国产精品久久久久久人妻_久久久精品免费看_久久人人妻人人做人人爱 | 日本天堂在线观看视频_农村妇女一级片_亚洲精品国久久99热_国产精品久久久一区二区三区_无码国产精成人午夜视频_国产日韩新片无码一区_日韩毛片精品_超碰探花 | 女朋友的妹妹在线观看_自偷自拍视频_亚洲精品另类在线_成人激情在线视频_久久久欧美日韩精品一区_四虎永久在线视频_99精彩视频_91av视频在线播放 | 性欧美videosex18嫩_久久综合久久网_日韩成人视屏_国内精品51视频在线观看_91丨九色_中文字幕av在线播放_国产成人一区二区三区免费_6699嫩草久久久精品影院竹菊 | 福利片免费在线观看_久久久久久九九九九九九_欧美性xxxx69_亚洲精品aaa_亚州国产精品久久久_亚洲乱码无码永久不卡在线_成人毛毛片_久久精品一区二区免费播放 | 日本视频免费观看_国产av一区二区三区天堂综合网_精品人妻一区二区三区浪潮在线_中国熟妇人妻xxxxxhd_亚洲黄色影片_亚洲精品av无码重口另类_av福利一区_av中文字幕无码免费看 | 日本久久视频_少妇高潮毛片免费看_黄色成人影院_av播放在线_日本高清www免费视频_在线播放免费人成毛片乱码_JAPANESE厨房乱TUB_好男人www在线社区大豆网 | 国产免费成人在线视频_色网视频_激情综合网五月_日韩国产一_一及片在线观看_特级无码毛片免费视频_久久精品这里精品_欧美午夜精品一区二区 | 欧美另类性视频_青苹果乐园在线观看免费完整_成人免费网站观看_欧美天堂一区_亚洲品牌自拍一品区9_新av在线天堂网_国内91在线_wwwwxxxx欧美 | 日本人真人姓交大视频_www精品视频_91看片网页_国产一级美女_三级男人添奶爽爽爽视频_av在线中文在线_海绵宝宝英文版双语字幕在线观看_色人在线 | 女朋友的妹妹在线观看_自偷自拍视频_亚洲精品另类在线_成人激情在线视频_久久久欧美日韩精品一区_四虎永久在线视频_99精彩视频_91av视频在线播放 | 国产91色在线_老司机在线网站_日韩精品无_初高中生免费视频毛片_青青青国产依人免费视频_99pao在线视频国产好吊色_中文字幕av日韩_日日摸夜夜添夜夜添人人老牛 | 日韩高清网站_69免费视频_亚洲成AV人片乱码色午夜_欧美成人伊人_日本三级在线播放线观看视频_亚洲男GAY视频_超碰午夜_国产手机在线无码播放视频 | 亚洲日韩国产成网在线观看_69久久久_伊人久久精品无码麻豆一区_亚洲欧美日韩在线观看a三区_日本网站在线_av在线免费观看国产_最近免费中文字幕大全高清MV_性欧美长视频免费观看不卡 | 国产私人影院_8090成人午夜精品无码_久草网av_99产精品成人啪免费网站_噜啊噜在线视频_国产精品视频福利_九九视频精品在线观看_91视频免费进入 | 国产乱了_日韩欧美xxxxx_国产精品成人扳一级aa毛片_韩国一级无码免费精品视频_老师办公室被吃奶好爽在线观看_日本3级视频_啦啦啦中文在线观看日本_奇米影视7777久久精品人人爽 | 久久99久久99精品中文字幕_一级毛片免费版_a国产免费_玖玖视频免费_日日激情综合久久一区_91久久国产精品视频_爱福利视频网_天天碰天天摸天天操 | 在线看片无码永久免费视频_第一区第二区在线_韩国理伦三级做爰在线播放_日本三级香港三级人妇久久_蝌蚪久久窝_国厂毛片_亚洲一级黄色片子_久久精品丝袜高跟鞋 | 日本aⅴ视频_亚洲中文字幕在线无码一区二区_免费xxx视频_久久综合免费视频_蜜桃人妻无码AV天堂三区_又粗又紧又湿又爽的免费视频_国内精品成人_亚洲网在线 | 日日狠狠久久8888偷偷色_a级毛片网_国产精品第一区揄拍_九九九热精品免费视频观看网站_先锋影音9porny自拍啪_欧美综合精品_yyyyyy高清成人观看免费_亚洲一区二区三区乱码a蜜桃女 | 又色又爽又高潮免费视频国产_成人黄色一级视频_无套内谢少妇毛片a片免费_精品视频免费看_在线观看国产区_xxxxx日韩_欧美性XXXXX极品老少_天天逼网 | 午夜aaa_毛片免费观看视频_一级久久_又湿又紧又大又爽又a视频_四虎午夜剧场_中文字母av_毛片毛片毛片毛_日韩午夜伦伦午夜伦老司机 | 365看片在线成人_国产成人综合亚洲精品_一区视频在线播放_男女又爽又黄激情免费视频大_超级碰人人超碰超国产_后入到高潮免费观看_亚洲啪AV永久无码精品放毛片_操久久久 | 日本老逼_欧美丰满熟妇乱XXXXX网站_性少妇中国内射XXXX狠干_国产婷婷成人久久av免费高清_九一在线观看_一级做a爰性色毛片免费视频_国产在线免费_亚洲女人网 | 日本av一区二区三区_中文字幕人成人乱码亚洲影视的特点_国产精品热_成人免费视频网站在线观看_天天澡天天干_国产精品一在线观看_商场女厕偷拍一区二区三区视频_91新视频 | 久涩涩福利视频在线观看_国产福利高清_yw193国产成人精品_久久丝袜视频_欧美成年黄网站色视频_日日摸夜夜添欧美一区_亚洲一区二区免费看_免费永久看黄神器 | 做爰裸体激情2_午夜叫声理论片人人影院_亚洲视频在线观看免费_一区二区在线欧美日韩中文_伊人久久免费视频_亚洲综合成人专区片_久久久精品高清_国产精品亚洲片夜色在线 | 高潮喷水的毛片_日本在线高清视频_久久精品综合网_日本区一区二_欧美国产综合一区二区_午夜福利国产成人无码_欧美国产亚洲精品_天天操婷婷 | 日韩av资源在线_美女扒开腿让男人桶爽久久软件_国产成人一级片_欧美裸体xxxx极品_亚洲成人精品在线观看_狂草美女_日韩一区综合_国产一区二区播放 | 91在线区_bxbx成人精品一区二区三区_性色国产_777奇米四色成人影视色区_国产激情一区二区三区在线观看_日日操夜夜操狠狠操_全部免费特黄特色大片看片_富女玩鸭子一级毛片 |