第六章 S7-1200PLC的編程指令_第1頁
第六章 S7-1200PLC的編程指令_第2頁
第六章 S7-1200PLC的編程指令_第3頁
第六章 S7-1200PLC的編程指令_第4頁
第六章 S7-1200PLC的編程指令_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第6章S7-1200PLC的編程指令6.1位邏輯指令6.2定時器與計數(shù)器指令6.3比較指令6.4程序控制指令6.5數(shù)據(jù)處理指令6.6算術(shù)運算指令與邏輯運算指令6.7移位和循環(huán)移位指令6.1

位邏輯指令6.1.1觸點和線圈等基本指令7常開觸點的激活取決于相關(guān)操作數(shù)的信號狀態(tài)。當操作數(shù)的信號狀態(tài)為“1”時,常開觸點將關(guān)閉,同時輸出的信號狀態(tài)置位為輸入的信號狀態(tài)。當操作數(shù)的信號狀態(tài)為“0”時,不會激活常開觸點,同時該指令輸出的信號狀態(tài)復(fù)位為“0”。兩個或多個常開觸點串聯(lián)時,將逐位進行“與”運算。串聯(lián)時,所有觸點都閉合后才產(chǎn)生信號流。常開觸點并聯(lián)時,將逐位進行“或”運算。并聯(lián)時,有一個觸點閉合就會產(chǎn)生信號流。--||--:常開觸點常閉觸點的激活取決于相關(guān)操作數(shù)的信號狀態(tài)。當操作數(shù)的信號狀態(tài)為“1”時,常閉觸點將打開,同時該指令輸出的信號狀態(tài)復(fù)位為“0”。當操作數(shù)的信號狀態(tài)為“0”時,不會啟用常閉觸點,同時將該輸入的信號狀態(tài)傳輸?shù)捷敵觥蓚€或多個常閉觸點串聯(lián)時,將逐位進行“與”運算。串聯(lián)時,所有觸點都閉合后才產(chǎn)生信號流。常閉觸點并聯(lián)時,將進行“或”運算。并聯(lián)時,有一個觸點閉合就會產(chǎn)生信號流。--|/|--:常閉觸點使用“取反RLO”指令,可對邏輯運算結(jié)果(RLO)的信號狀態(tài)進行取反。如果該指令輸入的信號狀態(tài)為“1”,則指令輸出的信號狀態(tài)為“0”。如果該指令輸入的信號狀態(tài)為“0”,則輸出的信號狀態(tài)為“1”??梢允褂谩百x值”指令來置位指定操作數(shù)的位。如果線圈輸入的邏輯運算結(jié)果(RLO)的信號狀態(tài)為“1”,則將指定操作數(shù)的信號狀態(tài)置位為“1”。如果線圈輸入的信號狀態(tài)為“0”,則指定操作數(shù)的位將復(fù)位為“0”。該指令不會影響RLO。線圈輸入的RLO將直接發(fā)送到輸出。--|NOT|--:取反RLO--()--:線圈啟保停控制程序使用“置位輸出”指令,可將指定操作數(shù)的信號狀態(tài)置位為“1”。僅當線圈輸入的邏輯運算結(jié)果(RLO)為“1”時,才執(zhí)行該指令。如果信號流通過線圈(RLO=“1”),則指定的操作數(shù)置位為“1”。如果線圈輸入的RLO為“0”(沒有信號流過線圈),則指定操作數(shù)的信號狀態(tài)將保持不變。6.1.2置位和復(fù)位指令---(S)--:置位輸出--(R)--:復(fù)位輸出定義可以使用“復(fù)位輸出”指令將指定操作數(shù)的信號狀態(tài)復(fù)位為“0”。僅當線圈輸入的邏輯運算結(jié)果(RLO)為“1”時,才執(zhí)行該指令。如果信號流通過線圈(RLO=“1”),則指定的操作數(shù)復(fù)位為“0”。如果線圈輸入的RLO為“0”(沒有信號流過線圈),則指定操作數(shù)的信號狀態(tài)將保持不變。

2.置位/復(fù)位位域指令SET_BF/RESET_BF置位位域指令用于對某個特定地址開始的多個連續(xù)位進行置位;復(fù)位位域指令用于對某個特定地址開始的多個連續(xù)位進行復(fù)位。置位/復(fù)位位域指令有兩個操作數(shù),指令上方的操作數(shù)用于指定待置位/復(fù)位位域的首地址,指令下方的操作數(shù)用于指定待置位/復(fù)位的位數(shù)。3.RS/SR觸發(fā)器

SR指令RS指令SR1QS1RQ00保持前一狀態(tài)00保持前一狀態(tài)010010101101110111RS/SR觸發(fā)器指令邏輯狀態(tài)表6.1.3上升沿和下降沿指令--|P|--:掃描操作數(shù)的信號上升沿使用“掃描操作數(shù)的信號上升沿”指令,可以確定所指定操作數(shù)(<操作數(shù)1>)的信號狀態(tài)是否從“0”變?yōu)椤?”。該指令將比較<操作數(shù)1>的當前信號狀態(tài)與上一次掃描的信號狀態(tài),上一次掃描的信號狀態(tài)保存在邊沿存儲位(<操作數(shù)2>)中。如果該指令檢測到邏輯運算結(jié)果(RLO)從“0”變?yōu)椤?”,則說明出現(xiàn)了一個上升沿。使用“掃描操作數(shù)的信號下降沿”指令,可以確定所指定操作數(shù)(<操作數(shù)1>)的信號狀態(tài)是否從“1”變?yōu)椤?”。該指令將比較<操作數(shù)1>的當前信號狀態(tài)與上一次掃描的信號狀態(tài),上一次掃描的信號狀態(tài)保存在邊沿存儲器位<操作數(shù)2>中。如果該指令檢測到邏輯運算結(jié)果(RLO)從“1”變?yōu)椤?”,則說明出現(xiàn)了一個下降沿。--|N|--:掃描操作數(shù)的信號下降沿定時器符號定時器名稱定時器功能TP脈沖定時器生成具有預(yù)定寬度時間的脈沖TON接通延時定時器使輸出Q在預(yù)設(shè)的延時過后設(shè)置為ONTOF關(guān)斷延時定時器使輸出Q在預(yù)設(shè)的延時過后置為OFFTONR保持型接通延時定時器使輸出Q在累計時間達到預(yù)設(shè)的時間后設(shè)置為ON,使用R復(fù)位S7-1200定時器符號、名稱及功能6.2

定時器與計數(shù)器指令6.2.1定時器指令

S7-1200PLC常用指令使用參數(shù)數(shù)據(jù)類型說明INBool啟用定時器輸入RBool將TONR復(fù)位QBool定時器輸出PTTime定時器預(yù)設(shè)時間ETTime已計時的時間(當前值)定時器數(shù)據(jù)塊DB指定要使用的定時器

S7-1200定時器指令參數(shù)說明PT和ET的值以表示毫秒時間的有符號雙精度整數(shù)形式存儲在存儲器中。Time數(shù)據(jù)使用T#標志符,數(shù)據(jù)長度為32位,可以采用簡單時間單元(如T#10s)或復(fù)合時間單元(如T#2h_2s_50m)的形式輸入。1.脈沖定時器(TP)TP指令可用于生成具有預(yù)定寬度時間的脈沖。2.接通延時定時器(TON)接通延時定時器的功能是使輸出Q在預(yù)設(shè)的延時過后設(shè)置為ON。示例1:設(shè)計一電動機自動停機控制程序。按下啟動按鈕SB1(I0.0),電動機M(Q0.0)立即啟動并連續(xù)運轉(zhuǎn),經(jīng)過10分鐘后電動機自動停止;運行過程中,任意時刻按下停止按鈕SB2(I0.1),電動機M立即停止。使用脈沖定時器TP指令編制的控制程序示例如圖。示例2:設(shè)計一個周期為3s,脈沖寬度為2s的方波發(fā)生器。使用接通延時定時器TON指令編寫的方波發(fā)生示例程序如圖。6.2.2

計數(shù)器指令計數(shù)器指令類型計數(shù)器指令主要用于對內(nèi)部程序事件和外部過程事件進行計數(shù)。S7-1200PLC計數(shù)器指令有三種類型,分別是加計數(shù)器(CTU)、減計數(shù)器(CTD)、加/減計數(shù)器(CTUD)。根據(jù)所選擇的計數(shù)器指令的數(shù)據(jù)類型不同,計數(shù)器指令分別占用3個字節(jié)(SInt、USInt)、6個字節(jié)(Int、UInt)或12字節(jié)(DInt、UDInt)的存儲器空間。計數(shù)值的計數(shù)范圍取決于所選的數(shù)據(jù)類型,如果計數(shù)值是無符號整型數(shù),則可以減計數(shù)到零或加計數(shù)到范圍限值。如果計數(shù)值是有符號整數(shù),則可以減計數(shù)到負整數(shù)限值或加計數(shù)到正整數(shù)限值。參數(shù)數(shù)據(jù)類型說明CU、CDBool加、減計數(shù)輸入端R(CTU、CTUD)Bool計數(shù)器復(fù)位輸入端LOAD(CTD、CTUD)Bool預(yù)置值裝載輸入端Q、QUBoolCV≧PV時為ONQDBoolCV≦0時為ONPVSInt、USInt、Int、UInt、DInt、UDInt預(yù)設(shè)計數(shù)值CVSInt、USInt、Int、UInt、DInt、UDInt當前計數(shù)值計數(shù)器指令參數(shù)說明2.加計數(shù)器(CTU)3.減計數(shù)器(CTD)6.3

比較指令6.3.1比較運算指令比較運算指令CMP用于比較兩個相同的數(shù)據(jù)類型的數(shù)據(jù)大小。如果比較結(jié)果為“真”,則指令的RLO為“1”,否則為“0”。1.比較運算符對于數(shù)值比較,運算符有:等于(==)、大于(>)、小于(<)、不等于(<>)、大于等于(>=)、小于等于(<=)共六種;而字符串的比較指令只有等于(==)和不等于(<>)兩種。2.比較數(shù)據(jù)類型可參與比較的數(shù)據(jù)有12種類型:Int、DInt、Real、USInt、UInt、UDInt、SInt、String、Char、Time、DTL、LReal。可以使用“等于”指令判斷第一個比較值(<操作數(shù)1>)是否等于第二個比較值(<操作數(shù)2>)。如果滿足比較條件,則指令返回邏輯運算結(jié)果(RLO)“1”。如果不滿足比較條件,則指令返回RLO“0”。該指令的RLO通過以下方式與整個程序段中的RLO進行邏輯運算:串聯(lián)比較指令時,將執(zhí)行“與”運算。并聯(lián)比較指令時,將進行“或”運算。在指令上方的操作數(shù)占位符中指定第一個比較值(<操作數(shù)1>)。在指令下方的操作數(shù)占位符中指定第二個比較值(<操作數(shù)2>)。CMP==:等于

定義

可以使用“大于”指令確定第一個比較值(<操作數(shù)1>)是否大于第二個比較值(<操作數(shù)2>)。要比較的兩個值必須為相同的數(shù)據(jù)類型。如果滿足比較條件,則指令返回邏輯運算結(jié)果(RLO)“1”。如果不滿足比較條件,則指令返回RLO“0”。CMP>:大于指令名稱功能JMP若RLO=1則跳轉(zhuǎn)JMPN若RLO=0則跳轉(zhuǎn)LABEL跳轉(zhuǎn)標簽JMP_LIST定義跳轉(zhuǎn)列表SWITCH跳轉(zhuǎn)分配器RET返回6.4

程序控制指令程序控制指令用于編寫結(jié)構(gòu)化程序、優(yōu)化控制程序結(jié)構(gòu),以便減少程序執(zhí)行時間,主要包含用于改變程序執(zhí)行順序的跳轉(zhuǎn)指令和在程序運行過程中用于控制的指令。跳轉(zhuǎn)與標簽指令使用跳轉(zhuǎn)指令可以改變程序的執(zhí)行順序。當未執(zhí)行跳轉(zhuǎn)指令時,各個程序段按從上往下的順序先后執(zhí)行;當跳轉(zhuǎn)條件滿足時,執(zhí)行跳轉(zhuǎn)指令,中止程序的順序執(zhí)行,跳轉(zhuǎn)到標簽指令處程序開始執(zhí)行,跳轉(zhuǎn)時跳轉(zhuǎn)指令與標簽指令之間的程序CPU不再掃描執(zhí)行。6.5數(shù)據(jù)處理指令6.5.1移動指令

1.移動值指令MOVE移動值指令MOVE是將IN輸入操作數(shù)的源數(shù)據(jù)傳送給OUT1輸出的目的地址中;初始狀態(tài)中,指令框中只包含一個輸出OUT1,如果要傳送給多個輸出,可單擊指令框中的插入輸出符號擴展輸出數(shù)量。可以使用“移動值”指令將IN輸入操作數(shù)中的內(nèi)容傳送給OUT1輸出的操作數(shù)中。始終沿地址升序方向進行傳送。如果滿足下列條件之一,使能輸出ENO將返回信號狀態(tài)“0”:使能輸入EN的信號狀態(tài)為“0”。IN參數(shù)的數(shù)據(jù)類型與OUT1參數(shù)的指定數(shù)據(jù)類型不對應(yīng)。MOVE:移動值2.塊移動指令MOVE_BLK塊移動指令又稱為存儲區(qū)移動指令,用于將源存儲區(qū)的數(shù)據(jù)移動到目標存儲區(qū),IN和OUT是待復(fù)制的源區(qū)域和目標區(qū)域的起始地址,COUNT指定需要復(fù)制的元素個數(shù),僅當源區(qū)和目標區(qū)域的數(shù)據(jù)類型相同時,才能執(zhí)行該指令。3.塊填充指令FILL_BLK使用塊填充指令FILL_BLK可以使用指定數(shù)據(jù)元素的副本填充數(shù)組中連續(xù)的元素。指令操作數(shù)IN表示需要填入的數(shù)據(jù),可以為常數(shù);COUNT表示需要填入的數(shù)組元素的個數(shù);OUT指定需要填入的第一個元素地址。。6.5.2

轉(zhuǎn)換指令1.轉(zhuǎn)換指令CONVERT轉(zhuǎn)換指令CONVERT用于將數(shù)據(jù)元素從一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型。轉(zhuǎn)換指令支持的數(shù)據(jù)類型包括:SInt,Int,DInt,USInt,UInt,UDInt,Byte,Word,DWord,Real,LReal,BCD16,BCD32。6.6數(shù)學(xué)運算指令與邏輯運算指令6.6.1

數(shù)學(xué)運算指令數(shù)學(xué)運算指令主要用于實現(xiàn)數(shù)據(jù)的運算功能,可完成整數(shù)、長整數(shù)及實數(shù)的加、減、乘、除、求余、求絕對值等基本運算,以及浮點數(shù)的平方、平方根、自然對數(shù)、基于e的指數(shù)運算及三角函數(shù)等擴展運算。指令功能ADD加法運算指令:IN1+IN2=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論