官术网_书友最值得收藏!

第3章 S7-1200的指令

3.1 位邏輯指令

本章主要介紹梯形圖編程語言中的基本指令和部分擴展指令,其他指令將在后面各章中陸續介紹。

本節的程序在配套資源的項目“位邏輯指令應用”的OB1中。

1.常開觸點與常閉觸點

常開觸點(見表3-1)在指定的位為1狀態(TRUE)時閉合,為0狀態(FALSE)時斷開。常閉觸點在指定的位為1狀態時斷開,為0狀態時閉合。兩個觸點串聯將進行“與”運算,兩個觸點并聯將進行“或”運算。

2.取反RLO觸點

RLO是邏輯運算結果的簡稱,圖3-1中間有“NOT”的觸點為取反RLO觸點,它用來轉換能流輸入的邏輯狀態。

如果沒有能流流入取反RLO觸點,則有能流流出(見圖3-1的左圖)。如果有能流流入取反RLO觸點,則沒有能流流出(見圖3-1的右圖)。

圖3-1 取反RLO觸點

表3-1 位邏輯指令

3.賦值與賦值取反指令

梯形圖中的線圈對應于賦值指令,該指令將線圈輸入端的邏輯運算結果(RLO)的信號狀態寫入指定的操作數地址,線圈通電(RLO的狀態為“1”)時寫入1,線圈斷電時寫入0。可以用Q0.4:P的線圈將位數據值寫入過程映像輸出Q0.4,同時立即直接寫給對應的物理輸出點(見圖3-2的右圖)。

賦值取反線圈中間有“/”符號,如果有能流流過M4.1的賦值取反線圈(見圖3-2的左圖),則M4.1為0狀態,其常開觸點斷開(見圖3-2的右圖),反之M4.1為1狀態,其常開觸點閉合。

圖3-2 取反線圈和立即輸出

4.置位、復位輸出指令

S(Set,置位輸出)指令將指定的位操作數置位(變為1狀態并保持)。R(Reset,復位輸出)指令將指定的位操作數復位(變為0狀態并保持)。如果同一操作數的S線圈和R線圈同時斷電(線圈輸入端的RLO為“0”),則指定操作數的信號狀態保持不變。

置位輸出指令與復位輸出指令最主要的特點是有記憶和保持功能。如果圖3-3中I0.4的常開觸點閉合,Q0.5變為1狀態并保持該狀態。即使I0.4的常開觸點斷開,Q0.5也仍然保持1狀態(見圖3-3中的波形圖)。I0.5的常開觸點閉合時,Q0.5變為0狀態并保持該狀態,即使I0.5的常開觸點斷開,Q0.5也仍然保持為0狀態。

圖3-3 置位輸出與復位輸出指令

在程序狀態中,用Q0.5的S和R線圈連續的綠色圓弧和線圈中綠色的字母表示Q0.5為1狀態,用間斷的藍色圓弧和藍色的字母表示0狀態。圖3-3中Q0.5為1狀態。

視頻“位邏輯指令應用(A)”可通過掃描二維碼3-1播放。

二維碼3-1

5.置位位域指令與復位位域指令

“置位位域”指令SET_BF將指定的地址開始的連續的若干個位地址置位(變為1狀態并保持)。在圖3-4的I0.6的上升沿(從0狀態變為1狀態),從M5.0開始的4個連續的位被置位為1狀態并保持該狀態不變。

“復位位域”指令RESET_BF將指定的地址開始的連續的若干個位地址復位(變為0狀態并保持)。在圖3-4的M4.4的下降沿(從1狀態變為0狀態),從M5.4開始的3個連續的位被復位為0狀態并保持該狀態不變。

6.置位/復位觸發器與復位/置位觸發器

圖3-5中的SR方框是置位/復位(復位優先)觸發器,其輸入/輸出關系見表3-2,兩種觸發器的區別僅在于表的最下面一行。在置位(S)和復位(R1)信號同時為1時,圖3-5的SR方框上面的輸出位M7.2被復位為0。M7.2的當前信號狀態被傳送到輸出Q。

RS方框是復位/置位(置位優先)觸發器(其功能見表3-2)。在置位(S1)和復位(R)信號同時為1時,方框上面的M7.6被置位為1。M7.6的當前信號狀態被傳送到輸出Q。

7.掃描操作數信號邊沿的指令

圖3-4中間有P的觸點指令的名稱為“掃描操作數的信號上升沿”,如果該觸點上面的輸入信號I0.6由0狀態變為1狀態(即輸入信號I0.6的上升沿),則該觸點接通一個掃描周期。在其他任何情況下,該觸點均斷開。邊沿檢測觸點不能放在電路結束處。

圖3-4 邊沿檢測觸點與置位/復位位域指令

圖3-5 SR觸發器與RS觸發器

表3-2 SR與RS觸發器的功能

P觸點下面的M4.3為邊沿存儲位,用來存儲上一次掃描循環時I0.6的狀態。通過比較I0.6的當前狀態和上一次循環的狀態,來檢測信號的邊沿。邊沿存儲位的地址只能在程序中使用一次,它的狀態不能在其他地方被改寫。只能用M、DB和FB的靜態局部變量(Static)來作邊沿存儲位,不能用塊的臨時局部數據或I/O變量來作邊沿存儲位。

圖3-4中間有N的觸點指令的名稱為“掃描操作數的信號下降沿”,如果該觸點上面的輸入信號M4.4由1狀態變為0狀態(即M4.4的下降沿),RESET_BF的線圈“通電”一個掃描周期。該觸點下面的M4.5為邊沿存儲位。

8.在信號邊沿置位操作數的指令

圖3-6中間有P的線圈是“在信號上升沿置位操作數”指令,僅在流進該線圈的能流(即RLO)的上升沿(線圈由斷電變為通電),該指令的輸出位M6.1為1狀態。其他情況下M6.1均為0狀態,M6.2為保存P線圈輸入端的RLO的邊沿存儲位。

圖3-6中間有N的線圈是“在信號下降沿置位操作數”指令,僅在流進該線圈的能流(即RLO)的下降沿(線圈由通電變為斷電),該指令的輸出位M6.3為1狀態。其他情況下M6.3均為0狀態,M6.4為邊沿存儲位。

上述兩條線圈格式的指令不會影響邏輯運算結果RLO,它們對能流是暢通無阻的,其輸入端的邏輯運算結果被立即送給它的輸出端。這兩條指令可以放置在程序段的中間或程序段的最右邊。

在運行時用外接的小開關使I0.7和I0.3的串聯電路由斷開變為接通,RLO由0狀態變為1狀態,在I0.7的上升沿M6.1的常開觸點閉合一個掃描周期,使M6.6置位。在上述串聯電路由接通變為斷開時,RLO由1狀態變為0狀態,M6.3的常開觸點閉合一個掃描周期,使M6.6復位。

9.掃描RLO的信號邊沿指令

在流進“掃描RLO的信號上升沿”指令(P_TRIG指令)的CLK輸入端(見圖3-7)的能流(即RLO)的上升沿(能流剛流進),Q端輸出脈沖寬度為一個掃描周期的能流,使M8.1置位。指令方框下面的M8.0是脈沖存儲位。

圖3-6 在RLO邊沿置位操作數指令

圖3-7 掃描RLO的信號邊沿指令

在流進“掃描RLO的信號下降沿”指令(N_TRIG指令)的CLK輸入端的能流的下降沿(能流剛消失),Q端輸出脈沖寬度為一個掃描周期的能流,使Q0.6復位。指令方框下面的M8.2是脈沖存儲器位。P_TRIG指令與N_TRIG指令不能放在電路的開始處和結束處。

10.檢測信號邊沿指令

圖3-8中的R_TRIG是“檢測信號上升沿”指令,F_TRIG是“檢測信號下降沿”指令。它們是函數塊,在調用時應為它們指定背景數據塊。這兩條指令將輸入CLK的當前狀態與背景數據塊中的邊沿存儲位保存的上一個掃描周期的CLK的狀態進行比較,如果指令檢測到CLK的上升沿或下降沿,將會通過Q端輸出一個掃描周期的脈沖,將M2.2置位或復位。

圖3-8 R_TRIG指令和F_TRIG指令

在生成CLK輸入端的電路時,首先選中左側的垂直“電源”線,雙擊收藏夾中的“打開分支”按鈕,生成一個帶雙箭頭的分支。雙擊收藏夾中的按鈕,生成一個常開觸點和常閉觸點的串聯電路。將鼠標的光標放到串聯電路右端的雙箭頭上,按住鼠標左鍵不放,移動鼠標。光標放到CLK端綠色的小方塊上時,出現一根連接雙箭頭和小方塊的淺色折線(見圖3-9)。松開鼠標左鍵,串聯電路被連接到CLK端(見圖3-8)。

11.邊沿檢測指令的比較

以上升沿檢測為例,下面比較前面介紹的這4種邊沿檢測指令的功能。

觸點上面的地址的上升沿,該觸點接通一個掃描周期。因此P觸點用于檢測觸點上面的地址的上升沿,并且直接輸出上升沿脈沖。其他3種指令都是用來檢測RLO(流入它們的能流)的上升沿。

圖3-9 R_TRIG指令

在流過線圈的能流的上升沿,線圈上面的地址在一個掃描周期為1狀態。因此P線圈用于檢測能流的上升沿,并用線圈上面的地址來輸出上升沿脈沖。其他3種指令都是直接輸出檢測結果的。

R_TRIG指令與P_TRIG指令都是用于檢測流入它們的CLK端的能流的上升沿,并直接輸出檢測結果。其區別在于R_TRIG指令用背景數據塊保存上一次掃描循環CLK端信號的狀態,而P_TRIG指令用邊沿存儲位來保存它。如果P_TRIG指令與R_TRIG指令的CLK電路只有某地址的常開觸點,可以用該地址的觸點來代替它的常開觸點和這兩條指令之一的串聯電路。例如圖3-10中的兩個程序段的功能是等效的。

圖3-10 兩個等效的上升沿檢測電路

12.故障顯示電路

【例3-1】 設計故障信息顯示電路,從故障信號I0.0的上升沿開始,Q0.7控制的指示燈以1Hz的頻率閃爍。操作人員按復位按鈕I0.1后,如果故障已經消失,則指示燈熄滅。如果沒有消失,則指示燈轉為常亮,直至故障消失。

信號波形圖和故障信息顯示電路如圖3-11和圖3-12所示。在設置CPU的屬性時,令MB0為時鐘存儲器字節(見圖1-17),其中的M0.5提供周期為1s的時鐘脈沖。出現故障時,將I0.0提供的故障信號用M2.1鎖存起來,M2.1和M0.5的常開觸點組成的串聯電路使Q0.7控制的指示燈以1Hz的頻率閃爍。按下復位按鈕I0.1,故障鎖存標志M2.1被復位為0狀態。如果這時故障已經消失,則指示燈熄滅。如果沒有消失,則M2.1的常閉觸點與I0.0的常開觸點組成的串聯電路使指示燈轉為常亮,直至I0.0變為0狀態,故障消失,指示燈熄滅。

圖3-11 故障顯示電路波形圖

圖3-12 故障顯示電路

如果將程序中的觸點改為I0.0的常開觸點,在故障沒有消失的時候按復位按鈕I0.1,松手后M2.1又會被置位,指示燈不會由閃爍變為常亮,仍然繼續閃動。

視頻“位邏輯指令應用(B)”可通過掃描二維碼3-2播放。

二維碼3-2

主站蜘蛛池模板: 手游| 大关县| 正阳县| 科技| 海林市| 石渠县| 东莞市| 曲沃县| 延吉市| 浮山县| 雷波县| 芜湖县| 曲阳县| 政和县| 颍上县| 时尚| 青川县| 界首市| 辛集市| 灌阳县| 台州市| 嘉义县| 天长市| 清河县| 和硕县| 象山县| 两当县| 通榆县| 莲花县| 广河县| 漾濞| 东阿县| 龙陵县| 房山区| 图片| 丹东市| 泸州市| 临安市| 石泉县| 宁夏| 宁津县|