湖南西門子S7-1500PLC模塊代理(歡迎您)

西門子S7-1500 PLC的CASE:創(chuàng)建多路分支指令
使用“創(chuàng)建多路分支”指令CASE,可以根據(jù)數(shù)字表達(dá)式的值執(zhí)行多個(gè)指令序列中的一個(gè)。表達(dá)式的值必須為整數(shù)。執(zhí)行該指令時(shí),會(huì)將表達(dá)式的值與多個(gè)常數(shù)的值進(jìn)行比較。如果表達(dá)式的值等于某個(gè)常數(shù)的值,則將執(zhí)行緊跟在該常數(shù)后編寫的指令。常數(shù)可以為以下值:整數(shù)(例如5)、整數(shù)的范圍(例如15~20)、由整數(shù)和范圍組成的枚舉(例如10、11、15~20)。
CASE分支結(jié)構(gòu)語法:
CASE<表達(dá)式>OF
<常數(shù)1>:<指令1>;
<常數(shù)2>:<指令2>;
<常數(shù)X>:<指令X>;//X>=3
ELSE<指令0>;
END_CASE;
如果表達(dá)式的值等于常數(shù)1的值,則將執(zhí)行緊跟在該常數(shù)后編寫的指令1,然后程序?qū)?/span>END_CASE后繼續(xù)執(zhí)行;如果表達(dá)式的值不等于常數(shù)1的值,則會(huì)將該值與下一個(gè)設(shè)定的常數(shù)值進(jìn)行比較,以這種方式執(zhí)行CASE指令直至比較的值相等為止;如果表達(dá)式的值與所有設(shè)定的常數(shù)值均不相等,則將執(zhí)行ELSE后編寫的指令0。ELSE是一個(gè)可選的語法部分,可以省略。
例如:
CASE“Tag_Value”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;
該程序段實(shí)現(xiàn)當(dāng)變量“Tag_Value”=0時(shí),對(duì)變量“Tag_1”賦值為1;當(dāng)變量“Tag_Value”為1、3或5時(shí),對(duì)變量“Tag_2”賦值為1;當(dāng)變量“Tag_Value”為6~10中某一整數(shù)時(shí),對(duì)變量“Tag_3”賦值為1;當(dāng)變量“Tag_Value”為16、17、20~25中某一整數(shù)時(shí),對(duì)變量“Tag_4”賦值為1;當(dāng)變量“Tag_Value”不等于上述任一值時(shí),對(duì)變量“Tag_5”賦值為1。
此外,CASE分支指令內(nèi)部也可通過使用完整的CASE結(jié)構(gòu)替換一個(gè)指令塊來實(shí)現(xiàn)嵌套。
根據(jù)分支的類型,條件執(zhí)行分支的語法有三種形式:IF分支,IF和ELSE分支,IF、ELSEIF和ELSE分支。
IF分支結(jié)構(gòu)語法:
IF<條件>THEN<指令>;
END_IF;
如果滿足條件,則將執(zhí)行THEN后編寫的指令;如果不滿足條件,則程序?qū)?/span>END_IF后的下一條指令開始繼續(xù)執(zhí)行。
IF和ELSE分支結(jié)構(gòu)語法:
IF<條件>THEN<指令1>;
ELSE<指令0>;
END_IF:
如果滿足條件,則將執(zhí)行THEN后編寫的指令1;如果不滿足該條件,則將執(zhí)行ELSE后編寫的指令0。然后,程序?qū)?/span>END_IF后的下一條指令開始繼續(xù)執(zhí)行。
IF、ELSEIF和ELSE分支結(jié)構(gòu)語法:
IF<條件1> THEN<指令1>;
ELSIF<條件2> THEN<指令2>;
ELSE<指令0>;
END_IF;
如果滿足條件1,則將執(zhí)行指令1,然后程序?qū)?/span>END_IF后繼續(xù)執(zhí)行;如果不滿足條件1,但滿足條件2,則將執(zhí)行指令2,然后程序?qū)?/span>END_IF后繼續(xù)執(zhí)行;如果不滿足任何條件,則先執(zhí)行ELSE后的指令0,再執(zhí)行END_IF后的程序部分。
總之,在IF分支內(nèi)可以嵌套任意多個(gè)ELSEIF和THEN組合,而ELSE分支可以有也可以沒有。
例如:
IF”Tag_1”=1
THEN“Tag_Value”:=10;
ELSEIF“Tag_2”=1
THEN“Tag_Value”:=20;
ELSEIF“Tag_3”=1
THEN“Tag_Value”:=30;
ELSE“Tag_Value”:=0;
END_IF;
該程序段實(shí)現(xiàn)根據(jù)Tag_1、Tag_2和Tag_3三個(gè)全局變量的值來對(duì)全局變量Tag_Value賦相應(yīng)的值。當(dāng)然,程序中也可以對(duì)局部變量進(jìn)行訪問。 SCL指令類型主要包括賦值運(yùn)算、程序控制、塊調(diào)用以及“指令”任務(wù)卡中的其他指令。當(dāng)輸入SCL指令時(shí)需要遵守下列規(guī)則:指令可跨行;每個(gè)指令都以分號(hào)“;”結(jié)尾;不區(qū)分大小寫;注釋僅用于描述程序,而不會(huì)影響程序的執(zhí)行。
注釋的表達(dá)方法有兩種,一種是行注釋,另一種是段注釋。行注釋在指令結(jié)尾“;”后面,以“//”開始。段注釋以“(*”開始,以“*)”結(jié)束。
賦值用于為一個(gè)變量賦值一個(gè)常數(shù)值、表達(dá)式的結(jié)果或另一個(gè)變量的值。賦值運(yùn)算所使用的邏輯操作符見表10-2。
例如有三個(gè)變量:A、B和C,執(zhí)行SCL賦值操作語句“A:=B+C;”,則該賦值語句表示將變量B與變量C的內(nèi)容相加的結(jié)果賦值給變量A。
函數(shù)名稱也可以作為表達(dá)式,賦值運(yùn)算將調(diào)用該函數(shù),并返回其函數(shù)值,賦給左側(cè)的變量。賦值運(yùn)算的數(shù)據(jù)類型取決于左邊變量的數(shù)據(jù)類型,右邊表達(dá)式的數(shù)據(jù)類型必須與左邊變量的數(shù)據(jù)類型保持*。
在SIMATIC產(chǎn)品中,S7 - 1500 CPU、S7 -1200 CPU(固件版本:V4.0)和G120等設(shè)備都支持軌跡和邏輯分析器功能。
使用軌跡和邏輯分析器功能可記錄設(shè)備變量(例如CPU的驅(qū)動(dòng)參數(shù)變量、系統(tǒng)變量和用戶變量),并對(duì)記錄進(jìn)行評(píng)估。
記錄數(shù)據(jù)保存于設(shè)備上,內(nèi)存空間限制大記錄時(shí)長(zhǎng),記錄可用的內(nèi)存空間取決于所使用的硬件。記錄數(shù)據(jù)在需要時(shí)可由工程系統(tǒng)( ES)讀出,保存。因而,軌跡和邏輯分析器功能適合于監(jiān)視高度動(dòng)態(tài)進(jìn)程。
使用“軌跡”的操作方法如下:
1)通過TIA Portal在編程設(shè)備(PG)上配置軌跡??稍谲壽E配置過程中待記錄信號(hào)、記錄時(shí)長(zhǎng)和觸發(fā)條件。軌跡配置依不同設(shè)備而有所不同,且在各個(gè)設(shè)備部分加以描述。
2)將軌跡配置從PG傳輸?shù)皆O(shè)備。
3)等待記錄。如果激活了已設(shè)置軌跡配置,則會(huì)獨(dú)立于PG之外開始記錄。一旦滿足配置的觸發(fā)條件即開始記錄。
4)將測(cè)量結(jié)果從設(shè)備傳輸?shù)?/span>PG。完成記錄后可以隨時(shí)保存測(cè)量,與測(cè)量時(shí)間無關(guān)。
5)評(píng)估、管理和保存測(cè)量結(jié)果。
在TIA Portal軟件中,雙擊項(xiàng)目樹中“Traces”條目下的“添加新Trace”,即可以添加新的軌跡,默認(rèn)名稱為“Trace”。雙擊該“Trace”,打開軌跡編輯器,如圖9-20所示。該軌跡編輯器中,包括“配置”視圖和“示意圖”視圖。其中“配置”視圖也稱組態(tài)選項(xiàng)卡,“示意圖”視圖也稱曲線選項(xiàng)卡。
圖9-20 軌跡編輯器界面(組態(tài)選項(xiàng)卡)
在軌跡編輯器的工具欄中,有許多工具按鈕用于在項(xiàng)目和設(shè)備中管理軌跡,具體含義參見表9-6。
表9-6 軌跡編輯器的工具欄中按鈕的含義
軌跡編輯器中,組態(tài)選項(xiàng)卡針對(duì)記錄時(shí)長(zhǎng)、觸發(fā)條件以及信號(hào)選擇進(jìn)行設(shè)備特定的配置,曲線選項(xiàng)卡以曲線圖的形式顯示已記錄的數(shù)值,以信號(hào)表的形式顯示被測(cè)信號(hào)的某些屬性。
例如,對(duì)自動(dòng)灌裝生產(chǎn)線的“實(shí)際液位”變量進(jìn)行軌跡記錄。在組態(tài)選項(xiàng)卡的“信號(hào)”選項(xiàng)中添加“實(shí)際液位”變量,如圖9-21所示。在“采樣”選項(xiàng)中設(shè)置記錄時(shí)間點(diǎn)為OB30(循環(huán)間隔為500 ms),并勾選“使用大記錄時(shí)長(zhǎng)”復(fù)選框,如圖9-22所示。在“觸發(fā)器”選項(xiàng)中設(shè)置記錄模式為“立即記錄”(也可以選擇“變量觸發(fā)”記錄模式并設(shè)置觸發(fā)變量),如圖9-23所示。然后單擊軌跡編輯器工具欄中的按鈕“
”,將該軌跡配置傳輸至設(shè)備,則軌跡編輯器自動(dòng)切換至曲線選項(xiàng)卡。
此時(shí)單擊工具欄中的激活記錄按鈕“
”,進(jìn)入軌跡記錄狀態(tài),如圖9-24所示。
圖9-24中的曲線選項(xiàng)卡包含兩個(gè)區(qū)域,上方是曲線圖,下方是信號(hào)表。曲線圖以曲線的形式顯示變量軌跡,在圖形下部可顯示位軌跡(例如,添加了位變量軌跡時(shí));信號(hào)表列出了所選測(cè)量的信號(hào),并提供了某些屬性的設(shè)置選項(xiàng)。在曲線圖中,其工具欄和快捷菜單中提供了各種用于評(píng)估測(cè)量結(jié)果的選項(xiàng),在信號(hào)表的列中也顯示了可供評(píng)估的數(shù)據(jù)。
單擊工具欄中的“激活記錄”按鈕“
”,可撤銷記錄。單擊“將選定測(cè)量從設(shè)備傳輸至項(xiàng)目”按鈕“
”,可將該軌跡記錄傳輸至項(xiàng)目,存儲(chǔ)在項(xiàng)目樹中“Traces”下的“測(cè)量”文件夾中;每傳輸一次,則自動(dòng)生成一個(gè)文件
湖南西門子S7-1500PLC模塊代理(歡迎您)