




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第3章S7-1200PLC指令應用摘要ABSTRACT西門子S7-1200PLC的指令系統分為基本指令、擴展指令、工藝指令、通信指令等等,而其中的基本指令是我們學習S7-1200PLC必須要學習和掌握的指令,包括位邏輯運算、定時器、計數器、比較操作、數學函數等幾部分。本章學習目標知識目標①了解S7-1200PLC指令系統構成和應用場合。②熟悉位指令、置位復位指令和邊沿指令的應用。③熟悉和掌握定時器指令、計數器指令和運算指令。④了解和熟悉程序控制指令。⑤了解和熟悉實時時鐘指令和字符指令。本章學習目標能力目標①進一步熟悉博途編程軟件的使用。②能根據工藝要求使用位指令、定時器、計數器等基本指令進行程序設計。③能通過查詢軟件手冊使用擴展指令完成相關程序設計。④掌握用所學指令解決工程控制問題的方法和技巧。⑤能根據任務要求設計電氣原理圖、程序設計和調試、故障檢測等。本章學習目標素質目標①樹立規(guī)章意識、安全意識、質量意識和責任意識。②養(yǎng)成一絲不茍、精益專注、按規(guī)范操作的職業(yè)素養(yǎng)。③增強團隊合作意識,提高團隊效率。④通過項目任務實施培養(yǎng)細心品質,并養(yǎng)成質量要求高標準的職業(yè)習慣。1目錄CONTENTS位邏輯指令2定時器與計數器指令運算指令43數據處理指令5程序控制指令6擴展指令7職業(yè)技能訓練2/3一、位邏輯指令1.觸點和線圈指令1常開觸點與常閉觸點如下圖所示,程序段1中常開觸點%I0.0為“0”,斷開;常閉觸點%I0.1為“0”,閉合導通。兩個觸點串聯后將進行“與”運算;兩個觸點并聯,將進行“或”運算,如圖中程序段2所示。當常開觸點上的地址賦值為1時,觸點導通(ON狀態(tài));而常閉觸點上的地址賦值為1時,將執(zhí)行取反操作,該地址處于斷開狀態(tài)(OFF);反之,如果常閉觸點上的地址賦值為0,則常閉觸點將閉合(ON狀態(tài))。1.觸點和線圈指令2.取反RLO觸點如下圖中間有“NOT”的觸點為取反RLO觸點,它用來轉換能流輸入的邏輯狀態(tài)。如果沒有能流流入取反RLO觸點,則“NOT”后有能流流出,如圖a);如果有能流流入取反RLO觸點,則沒有能流流出,如圖b)。3.線圈線圈將輸入的邏輯運算結果(RLO)的信號狀態(tài)寫入指定的地址,線圈通電(RLO的狀態(tài)為“1”)時寫入1,斷電時寫入0。取反輸出線圈中間有“/”符號,則將其狀態(tài)進行取反操作。2.置位復位指令1.置位、復位輸出指令S(Set,置位輸出)指令將指定的地址位置位(變?yōu)?狀態(tài)并保持)。R(Reset,復位輸出)指令將指定的地址位復位(變?yōu)?狀態(tài)并保持)。置位輸出指令S與復位輸出指令R最主要的特點是有記憶和保持功能,如果下圖I0.0的常開觸點閉合,M20.0變?yōu)?狀態(tài)并保持該狀態(tài)(綠色圓?。H绻鸌0.1的常開觸點閉合,則M20.0變?yōu)?狀態(tài)(間斷藍色圓?。?。2.置位復位指令2.置位位域指令與復位位域指令置位指令和復位指令只能對單個地址進行操作;而置位位域指令和復位位域指令能夠對連續(xù)位地址進行置位復位操作,如圖所示。當I1.0導通,將置位從Q1.0地址開始的連續(xù)4個輸出點(Q1.0、Q1.1、Q1.2、Q1.3)。2.置位復位指令3.置位/復位(SR)觸發(fā)器與復位/置位(RS)觸發(fā)器SR和RS觸發(fā)器指令如圖所示。以Q0.0的控制為例,當S端信號M3.0由“0”變“1”時,Q0.0被置位為1并保持;當R端信號M3.1由“0”變“1”時,Q0.0被復位為0,并保持。SR觸發(fā)器S端和R1端同時為1時,復位R1優(yōu)先;RS觸發(fā)器中,S1端和R端同時為1時,置位優(yōu)先。觸發(fā)器指令上方的M5.0和M5.1稱為標志位。R、S輸入端首先對標志位進行置位或復位,然后將標志位狀態(tài)送到輸出端Q。后面介紹的很多指令都具有標志位,含義類似。3.上升沿和下降沿指令1.邊沿檢測指令如圖所示,當信號狀態(tài)發(fā)生變化時,就會產生跳變沿。當信號從“0”到“1”變化時,產生一個上升沿(正跳沿);當信號從“1”到“0”變化時,產生一個下降沿(負跳沿)。CPU在每個掃描周期都把信號狀態(tài)與前一個掃描周期的信號狀態(tài)進行比較,若不同,則表明有一個跳變沿。因此,前一個掃描周期的信號狀態(tài)將被存儲,以便能與新的信號狀態(tài)相比較。3.上升沿和下降沿指令1.邊沿檢測指令如圖所示,中間有“P”的觸點指令的名稱為“掃描操作數的信號上升沿”,如果該觸點上面的輸入信號I0.0由0狀態(tài)變?yōu)?狀態(tài)(即輸入信號I0.0的上升沿),則該觸點接通一個掃描周期,M20.0被置位。邊沿檢測觸點不能放在電路結束處。P觸點下面的M5.0為邊沿存儲位,用來存儲上一次掃描循環(huán)時I0.0的狀態(tài)。通過比較I0.0的當前狀態(tài)和上一次循環(huán)的狀態(tài),來檢測信號的邊沿。邊沿存儲位的地址(如M5.0、M5.1)只能在程序中使用一次,它的狀態(tài)不能在其他地方被改寫。只能用M、DB和FB的靜態(tài)局部變量(Static)來作邊沿存儲位,不能用塊的臨時局部數據或I/O變量來作邊沿存儲位。3.上升沿和下降沿指令2.邊沿檢測線圈指令邊沿檢測線圈指令用于檢測指令前的能流結果的沿,指令上方的操作數為沿信號輸出,指令下方的操作數為上一掃描周期結果。如圖所示,P線圈和N線圈可以放置在程序段的中間也可以放在程序段的最后。它們對能流不產生影響,在程序中也不會影響RLO結果,因此I0.0是直接控制M6.5的。程序執(zhí)行過程:當I0.0由0狀態(tài)變?yōu)?狀態(tài),能流經P線圈和N線圈流進M6.5的線圈。在I0.0的上升沿,M6.1的常開觸點閉合一個掃描周期,使M6.6置位。在I0.0的下降沿,M6.3的常開觸點閉合一個掃描周期,使M6.6復位。3.上升沿和下降沿指令3.掃描RLO的信號上升沿/下降沿指令在流進“掃描RLO的信號上升沿(P_TRIG)”指令的CLK輸入端I0.0和I0.1常開觸點串聯結果的能流的上升沿(能流剛流進),Q端輸出脈沖寬度為一個掃描周期的能流,使M4.1置位。指令方框下面的M4.0是脈沖存儲位,如圖所示。在流進“掃描RLO的信號下降沿(N_TRIG)”指令的CLK輸入端的能流的下降沿(能流剛消失),Q端輸出脈沖寬度為一個掃描周期的能流,使M4.3復位。指令方框下面的M4.2是脈沖存儲位。P_TRIG指令與N_TRIG指令不能放在電路的開始處和結束處。3.上升沿和下降沿指令4.檢測信號上升沿/下降沿指令下圖中的R_TRIG是“檢測信號上升沿”指令,F_TRIG是“檢測信號下降沿”指令。該指令將輸入CLK的當前狀態(tài)與背景數據塊中的邊沿存儲位保存的上一個掃描周期的CLK的狀態(tài)進行比較。如果指令檢測到CLK的上升沿或下降沿,將會通過Q端輸出一個掃描周期的脈沖。該指令相當于FB,并且是唯一可以在SCL語言中使用的,所以主要用在FB的多重背景或者SCL中。CLK為待檢測的變量或能流,Q為沿輸出,上一掃描周期結果位于背景數據塊中。3.上升沿和下降沿指令5.幾種邊沿指令的區(qū)別(1)在觸點上面的地址的上升沿,該觸點接通一個掃描周期,因此P觸點用于檢測觸點上面的地址的上升沿,并且直接輸出上升沿脈沖,其他3種指令都是用來檢測RLO(流入它們的能流)的上升沿。(3)R_TRIG指令與P_TRIG指令都是用于檢測流入它們的CLK端的能流的上升沿,并直接輸出檢測結果。其區(qū)別在于R_TRIG指令用背景數據塊保存上一次掃描循環(huán)CLK端信號的狀態(tài),而P_TRIG指令用邊沿存儲位來保存它。如果P_TRIG指令與R_TRIG指令的CLK電路只有某地址的常開觸點,可以用該地址的觸點來代替它的常開觸點和這兩條指令之一的串聯電路。(2)在流過線圈的能流的上升沿,線圈上面的地址在一個掃描周期為1狀態(tài),因此P線圈用于檢測能流的上升沿,并用線圈上面的地址來輸出上升沿脈沖。其他3種指令都是直接輸出檢測結果。二、定時器與計數器指令在自動化控制工程中,經常需要延遲事件以便機器部件完畢它們旳運動,處理這個問題旳最佳方法是使用定時器。任何時候,編程人員需要計數動作或者累積次數時,都會用到計數器。定時器/計數器指令是PLC最基本旳功能指令,在控制系統中應用非常普遍,S7-1200PLC分別提供了不同類型旳定時器和計數器,為編程帶來了很大旳便利。1.定時器指令1.接通延時定時器(TON)
S7-1200PLC分功能框定時器和線圈型定時器。功能框定時器為IEC類型定時器,集成在CPU操作系統中。S7-1200定時器的類型有:脈沖定時器(TP)、通電延時定時器(TON):斷電延時定時器(TOF)、時間累加器定時器(TONR)。
接通延時定時器TON是IN端接通之后開始計時,定時時間到之后使對應的輸出Q輸出為1。接通延時定時器指令參數見下表。LAD參數數據類型參數說明INBOOL啟動定時器條件QBOOL超過PT,定時器置位輸出PTTime預置定時時間ETTime/LTime當前已定時時間1.定時器指令1.接通延時定時器(TON)(1)調用TON指令可以在組織塊OB1、FC、FB中調用定時器指令,不同的是,調用時生成背景數據塊的選項有些不同,如在FB中調用定時器時,會有“多重實例”選項,在后續(xù)章節(jié)中會詳細介紹。在OB1中調用TON時自動彈出背景數據塊對話框。背景數據塊默認名稱為“IEC_Timer_0_DB”,此名稱可以修改,例如“T1”、“某設備延時”等來做定時器標識符。單擊“確定”按鈕,自動生成背景數據塊。1.定時器指令1.接通延時定時器(TON)
(2)編輯TON指令調用完成TON后,我們可以為定時器設置參數,如下圖。IN輸入端的輸入電路接通時開始定時,定時時間大于等于預設時間PT指定的設定值時,輸出Q變?yōu)?狀態(tài),當前時間值ET保持不變。IN輸入端的電路斷開時,定時器立即被復位,當前時間被清零,輸出Q變?yōu)?狀態(tài)。CPU第一次掃描時,定時器輸出Q被清零。
PT(PresetTime)為預設時間值,ET(ElapsedTime)為定時開始后經過的時間,稱為當前時間值。各參數均可以使用I(僅用于IN)、Q、M、DB、L存儲區(qū),PT可以使用常量(輸入常量時,如輸入5000,代表5000ms)。定時器指令可以放在程序段的中間或結束處。可以不給輸出Q和ET指定地址。1.定時器指令1.接通延時定時器(TON)
(3)TON定時器時序圖TON時序圖如圖所示,請讀者自行分析和理解。1.定時器指令2.斷電延時定時器(TOF)
(1)斷電延時定時器工作過程過程分析:其IN輸入電路接通時,輸出Q立即為1狀態(tài),當前時間被清零。IN輸入電路由接通變?yōu)閿嚅_時(IN輸入的下降沿)開始定時,當前時間從0逐漸增大。當前時間等于預設值時,輸出Q變?yōu)?狀態(tài),當前時間保持不變,直到IN輸入電路接通。根據對TOF定時器的執(zhí)行過程的分析,可以看出圖中程序表示的是一個斷開延時的過程,當M10.0為ON時,Q0.1輸出為ON,當M10.0變?yōu)镺FF時,Q0.1保持輸出10s后自動斷開為OFF。1.定時器指令2.斷電延時定時器(TOF)
(2)TOF定時器時序圖1.定時器指令3.時間累加器定時器(TONR)
(1)TONR定時器功能時間累加器定時器TONR與接通延時定時器TON的功能基本一致,區(qū)別在于在TONR定時器的輸入端的狀態(tài)變?yōu)镺FF時,定時器的當前值不清零;當輸入端狀態(tài)再一次變?yōu)镺N時,定時器繼續(xù)定時,直到定時時間大于等于PT值,輸出端Q狀態(tài)為ON。TONR指令引腳增加了復位端R,用于復位定時器。
(2)TONR定時器的時序圖1.定時器指令3.時間累加器定時器(TONR)
(3)TONR定時器的應用下面通過一個例子介紹TONR的應用。如圖所示,當I0.0閉合的累積時間大于等于10s(即I0.0可以一次性閉合或者多次閉合累積時間大于等于10s),Q0.0線圈得電,如果需要Q0.0線圈斷電,則需要I0.1閉合。1.定時器指令4.脈沖定時器(TP)
(1)TP定時器功能使用TP指令,可以將輸出Q置位為預設的一段時間。當定時器使能端的狀態(tài)從OFF變?yōu)镺N時,可啟動該定時器指令,定時器開始計時。無論后續(xù)使能端的狀態(tài)如何變化,都將輸出Q置位由PT指定的一段時間。若定時器正在計時,即使檢測到使能端的的信號在此從OFF變?yōu)镺N的狀態(tài),輸出Q的信號狀態(tài)也不會受到影響。
(2)TP定時器的時序圖1.定時器指令4.脈沖定時器(TP)
(3)TP定時器指令的應用。
工作過程分析:當M2.0接通為ON時,Q0.3的狀態(tài)為ON,5S后,Q0.3的狀態(tài)變?yōu)镺FF,在這5S時間內,不管M2.0的狀態(tài)如何變化,Q0.3的狀態(tài)始終保持為ON。IN輸入的脈沖寬度可以小于預設值,在脈沖輸出期間,即使IN輸入出現下降沿和上升沿,也不會影響脈沖的輸出。2.計數器指令
在S7-1200PLC中,可以使用計數器實現工程中有需要計數的場合,共有3種計數器:加計數器(CTU)、減計數器(CTD)和加/減計數器(CTUD),如圖所示。它們屬于軟件計數器,用來累計輸入脈沖的次數。參數數據類型參數說明CU、CDBOOL加計數端、減計數端R(CTU、CTUD)BOOL復位端,將計數值置0LD(CTD、CTUD)BOOL預置值裝載控制PVSInt、Int、DInt、USInt、UInt、UDInt預設計數值Q、QUBOOLCV>=PV時為真QDBOOLCV<=0時為真CVSInt、Int、DInt、USInt、UInt、UDInt當前計數值2.計數器指令1.計數器指令結構
CU和CD分別是加計數輸入和減計數輸入,在CU或CD由0狀態(tài)變?yōu)?狀態(tài)時(信號的上升沿),當前計數器值CV被加1或減1。PV為預設計數值,Q為布爾輸出。R為復位輸入,CU、CD、R和Q均為Bool變量。
調用計數器指令時需要指定配套的背景數據塊,計數器和定時器指令的數據保存在背景數據塊中,打開右側的指令列表窗口,雙擊“計數器操作”文件夾中的“加計數”,出現如圖所示對話框。2.計數器指令2.加計數器
CTU計數器的參數CU值從0變?yōu)?時,CTU使計數值加1。如果參數CV(當前計數值)的值大于或等于參數PV(預設計數值)的值,則計數器輸出參數Q=1。如果復位參數R的值從0變?yōu)?,則當前計數值復位為0。所以,CTU計數器又被稱為加計數器。加計數器加計數器時序圖2.計數器指令3.減計數器
CTD計數器的參數CD值從0變?yōu)?時,CTD使計數值減1。如果參數CV(當前計數值)的值等于或小于0,則計數器輸出參數Q=1。如果參數LOAD的值從0變?yōu)?,則參數PV(預設值)的值將作為新的CV(當前計數值)裝載到計數器。所以,CTD計數器又被稱為減計數器。減計數器減計數器時序圖2.計數器指令4.加減計數器在CTUD計數器中,加計數(CU,CountUp)或減計數(CD,CountDown)輸入的值從0跳變?yōu)?時,CTUD會使計數值加1或減1。如果參數CV(當前計數值)的值大于或等于參數PV(預設值)的值,則計數器輸出參數QU=1。如果參數CV的值小于或等于零,則計數器輸出參數QD=1。如果參數LOAD的值從0變?yōu)?,則參數PV(預設值)的值將作為新的CV(當前計數值)裝載到計數器。如果復位參數R的值從0變?yōu)?,則當前計數值復位為0。三、數據處理指令1.比較指令S7-1200為用戶提供了豐富的比較操作指令,可以使用比較指令對整數、雙整數、實數、字、時間等數據類型的數值進行比較。需要注意的是,不同數據類型的數據是不能直接進行比較的,需要統一數據類型。(1)大小比較指令
西門子S7-1200PLC有6種大小比較操作,用來比較數據類型相同的兩個數據的大小??梢詫⒈容^指令視為一個等效的觸點,比較符號可以是“=”(等于)、“<>”(不等于)、“>”、“>=”、“<”和“<=”。滿足比較關系式給出的條件時,等效觸點接通。1.比較指令比較指令的一個應用實例如圖所示??梢姡敱容^條件成立時,線圈會按能流條件動作。1.比較指令(2)值在范圍內與值超出范圍指令“值在范圍內”指令IN_Range與“值超出范圍”指令OUT_Range可以等效為一個觸點。如果有能流流入指令方框,執(zhí)行比較,反之不執(zhí)行比較。圖3-46中IN_Range指令的參數VAL不滿足MIN≤VAL≤MAX,等效觸點斷開,指令框為藍色的虛線。OUT_Range指令的參數VAL滿足VAL<MIN或VAL>MAX時,等效觸點閉合,指令框為綠色。這兩條指令的MIN、MAX和VAL的數據類型必須相同,可選整數和實數,可以是I、Q、M、D存儲區(qū)中的變量或常數。1.比較指令(3)OK和NOT_OK指令OK和NOT_OK指令用來檢測輸入數據是否是實數(即浮點數)。如果是實數,OK觸點接通,反之NOT_OK觸點接通。觸點上面的變量的數據類型為Real。2.轉換操作指令1.轉換值指令CONVERT“轉換值”指令CONVERT在指令方框中的標示符為CONV,它的參數IN、OUT可以設置為多種數據類型,IN還可以是常數。上圖中M5.0的常開觸點接通時,執(zhí)行CONVERT指令,將MW20中的Int型數據35轉換為浮點數35.0送MD24。如果執(zhí)行時沒有出錯,有能流從CONVERT指令的ENO端流出。ROUND指令將MD40中的實數1.53四舍五入轉換為雙整數2后保存在MD44。2.轉換操作指令2.浮點數轉換為雙整數指令
浮點數轉換為雙整數有4條指令,“取整”指令ROUND用得最多,它將浮點數轉換為四舍五入的雙整數?!敖匚踩≌敝噶頣RUNC僅保留浮點數的整數部分,去掉其小數部分。“浮點數向上取整”指令CEIL將浮點數轉換為大于或等于它的最小雙整數,“浮點數向下取整”指令FLOOR將浮點數轉換為小于或等于它的最大雙整數,后兩條指令極少使用。
浮點數轉換為雙整數指令的執(zhí)行結果如圖所示。2.轉換操作指令3.標準化指令
“標準化”指令NORM_X的整數輸入值VALUE(MIN≤VALUE≤MAX)被線性轉換(標準化)為0.0~1.0之間的浮點數,轉換結果用OUT指定的地址保存。2.轉換操作指令4.縮放指令SCALE_X
“縮放”指令SCALE_X與標準化指令正好相反,SCALE_X將浮點數輸入值VALUE(0.0≤VALUE≤1.0)被線性轉換為參數MIN(下限)和MAX(上限)定義的范圍之間的數值。轉換結果用OUT指定的地址保存。3.移動操作指令1.移動值指令MOVE“移動值”指令MOVE用于將IN輸入端的源數據傳送給OUT輸出的目的地址,并且轉換為OUT允許的數據類型,源數據保持不變。MOVE指令允許有多個輸出,程序狀態(tài)監(jiān)控可以更改變量的顯示格式,如圖所示的OUT1顯示十進制數12345,OUT2顯示十六進制16#3039。3.移動操作指令2.交換指令SWAPIN和OUT為數據類型Word時,“交換”指令SWAP交換輸入IN的高、低字節(jié)后,保存到OUT指定的地址。IN和OUT為數據類型Dword時,交換4個字節(jié)中數據的順序,交換后保存到OUT指定的地址,如圖所示。3.移動操作指令3.塊移動指令MOVE_BLK使用“MOVE_BLK塊移動”指令可將存儲區(qū)(源區(qū)域)中的內容移動到其他存儲區(qū)(目標區(qū)域);注意是有連續(xù)多個存儲器的移動,IN是源存儲器的首個元素,COUNT是指定需要復制的元素個數,OUT是目標存儲器的首個元素。上圖程序將數據塊中“數組1”中從“數組1[0]”元素開始的4個元素移動到“數組2”從“數組2[0]”元素開始的4個元素中,數據塊中數組移動后的結果如右圖所示。3.移動操作指令4.填充塊指令FILL_BLK填充塊指令可以對數組中連續(xù)的元素寫入相同的數值,比如對一個數組中的連續(xù)N個元素進行賦值或清零時可以利用這個指令去實現。
IN是需要填充進入的數據,COUNT是存儲器個數,OUT是需要填入的第一個元素的地址。這個指令跟塊移動指令一樣,也是只適合于數據塊中的數組中連續(xù)元素進行填充數據。FILL_BLK指令應用示例如上圖所示,該程序將一個浮點數3.1415填充到“數組3”從“數組3[0]”元素開始的4個元素中,數據塊中數組填充后的結果如有圖所示。4.移位與循環(huán)移位指令1.移位指令“右移”指令SHR和“左移”指令SHL將輸入參數IN指定的存儲單元的整個內容逐位右移或左移若干位,移位的位數用輸入參數N來定義,移位的結果保存在輸出參數OUT指定的地址中。移位時用0填充移位操作清空的位。4.移位與循環(huán)移位指令2.循環(huán)移位指令“循環(huán)右移”指令ROR和“循環(huán)左移”指令ROL將輸入參數IN指定的存儲單元的整個內容逐位循環(huán)右移或循環(huán)左移若干位,即移出來的位又送回存儲單元另一端空出來的位,原始的位不會丟失。N為移位的位數,移位的結果保存在輸出參數OUT指定的地址。
以循環(huán)右移ROR指令為例,其移動原理如圖所示。當循環(huán)右移使能端EN有上升沿時,數據右移4位,低4位數據被移出并存回到數據的高4位。四、運算指令1.數學函數指令數學函數指令非常重要,尤其在數學計算、模擬量處理、PID控制等很多場合都要用到數學函數指令。數學函數指令包括四則運算指令、其他常用的數學運算指令、浮點數函數運算指令和邏輯運算指令。(1)四則運算指令梯形圖描述梯形圖描述ADDIN1+IN2=OUTINC將參數IN/OUT的值加1SUBIN1-IN2=OUTDEC將參數IN/OUT的值減1MULIN1*IN2=OUTABS求有符號整數和實數的絕對值DIVIN1/IN2=OUTMIN獲取輸入中最小的數MOD求雙整數除法的余數MAX獲取輸入中最大的數NEG求二進制補碼LIMIT將IN值限制在指定的范圍內1.數學函數指令(2)CALCULATE指令
可以使用“計算”指令CALCULATE定義和執(zhí)行數學表達式,根據所選的數據類型計算復雜的數學運算或邏輯運算。編輯“Calculate”指令對話框給出了所選數據類型可以使用的指令,在該對話框中輸入待計算的表達式。如圖所示的(IN1+IN2)*IN3/IN4,表達式可以包含輸入參數的名稱(INn)和運算符,不能指定方框外的地址和常數。1.數學函數指令(3)其他常用數學函數指令1)返回除法的余數MOD指令除法指令只能得到商,余數被丟掉??梢杂谩胺祷爻ǖ挠鄶怠敝噶頜OD來求除法的余數。輸出OUT中的運算結果為除法運算IN1/IN2的余數,如圖所示:被除數=10,除數=3,余數=1。1.數學函數指令(3)其他常用數學函數指令2)求二進制補碼(取反)NEG指令
NEG(Negation)將輸入IN的值的符號取反后,保存在輸出OUT中。IN和OUT的數據類型可以是SInt、Int、DInt和Real,輸入IN還可以是常數。3)遞增INC與遞減DEC指令執(zhí)行INC與DEC指令時,參數IN/OUT的值分別被加1和減1。IN/OUT的數據類型為各種有符號或無符號的整數。4)計算絕對值ABS指令
ABS用來求輸入IN中的有符號整數(SInt、Int、Dint)或實數(Real)的絕對值,將結果保存在輸出OUT中。IN和OUT的數據類型應相同。1.數學函數指令(3)其他常用數學函數指令5)獲取最小值MIN與獲取最大值MAX指令
MIN比較輸入IN1和IN2的值,將其中較小的值送給輸出OUT。MAX比較輸入IN1和IN2的值,將其中較大的值送給輸出OUT。輸入參數和OUT的數據類型為各種整數和浮點數,可以增加輸入的個數。6)設置限值LIMIT指令
LIMIT將輸入的值限制在輸入MIN與MAX的值范圍之間。如果IN的值沒有超出該范圍,將它直接保存在OUT指定的地址中。如果IN的值小于MIN的值或大于MAX的值,將MIN或MAX的值送給輸出OUT。7)返回小數FRAC與取冪EXPT指令
FRAC將輸入IN的小數部分傳送到輸出OUT。EXPT計算以輸入IN1的值為底,以輸入IN2為指數的冪(OUT=IN1IN2),計算結果在OUT中。1.數學函數指令(4)浮點數函數指令浮點數(實數)數學運算指令的操作數IN和OUT的數據類型為Real。浮點數自然指數指令EXP和浮點數自然對數指令LN中的指數和對數的底數e=2.71828。浮點數開平方指令SQRT和LN指令的輸入值如果小于0,輸出OUT返回一個無效的浮點數。浮點數三角函數指令和反三角函數指令中的角度均為以弧度為單位的浮點數。如果輸入值是以度為單位的浮點數,使用三角函數指令之前應先將角度值乘以π/180.0,轉換為弧度值。浮點數反正弦函數指令ASlN
和浮點數反余弦函數指令ACOS的輸入值的允許范圍為-1.0~1.0,ASIN和ATAN的運算結果的取值范圍為-π/2~π/2弧度,ACOS的運算結果的取值范圍為0~π弧度。2.字邏輯運算指令字邏輯運算指令對兩個輸入IN1和IN2逐位進行邏輯運算,運算結果在輸出OUT指定的地址中,如圖所示。2.字邏輯運算指令(1)字邏輯運算指令2.字邏輯運算指令“選擇”指令SEL(Select)的Bool輸入參數G為0時選中IN0,G為1時選中INl,選中的數值被保存到輸出參數OUT指定的地址。2.字邏輯運算指令(2)選擇、多路復用與多路分用指令“多路復用”指令MUX(Multiplex)是以輸入K中的值作為輸入值IN端的編號,比如K的值等于1,就表示把IN1的值復制到輸出OUT中去?!岸嗦贩钟谩盌EMUX指令是以輸入K的值作為輸出OUT的編號。五、程序控制指令程序控制指令包含程序跳轉、跳轉標簽、定義跳轉列表、錯誤處理等。下面只簡單介紹幾種常用的程序控制指令,詳細內容參考博途軟件幫助。(1)跳轉指令與標簽指令
在程序中設置“跳轉指令”(JMP、JMPN)可提高CPU的程序執(zhí)行速度。在沒有執(zhí)行跳轉指令時,各個程序段按從上到下的先后順序執(zhí)行,這種執(zhí)行方式稱為線性掃描。
跳轉指令中止程序的線性執(zhí)行,跳轉到指令中的“跳轉標簽”(LABEL)所在的目的地址。跳轉時不執(zhí)行跳轉指令與跳轉標簽之間的程序,跳到目的地址后,程序繼續(xù)順序執(zhí)行。程序控制指令(1)跳轉指令與標簽指令只能在同一個代碼塊內跳轉,不能從一個代碼塊跳轉到另一個代碼塊。標簽在程序段的開始處,標簽的第一個字符必須是字母,其余的可以是字母、數字和下劃線。在一個塊內,跳轉標簽的名稱只能使用一次。
如果圖中M2.0的常開觸點閉合,跳轉條件滿足。跳轉指令JMP線圈通電(跳轉線圈為綠色),跳轉被執(zhí)行,將跳轉到指令給出的跳轉標簽CASE1處,執(zhí)行標簽之后的指令。被跳過的程序段的指令沒有被執(zhí)行,如程序段3梯形圖顯示為淺色,此時改變I0.0的狀態(tài),Q0.1不變化。
如果跳轉條件不滿足,將繼續(xù)執(zhí)行跳轉指令之后的程序。程序控制指令(2)返回指令
“返回”指令RET的線圈通電時,停止執(zhí)行當前的塊,不再執(zhí)行指令后面的程序,返回調用它的塊后,執(zhí)行調用指令后的程序。RET指令的線圈斷電時,繼續(xù)執(zhí)行它下面的指令。一般情況并不需要在塊結束時使用RET指令來結束塊,操作系統將會自動地完成這一任務。RET線圈上面的參數是返回值,數據類型為Bool。如果當前的塊是OB,返回值被忽略。如果當前的塊是FC或FB,返回值作為FC或FB的ENO的值傳送給調用它的塊。返回值可以是TRUE、FALSE或指定的位地址。六、擴展指令
擴展指令涵蓋日期和時間、字符串+字符、分布式I/O、PROFlenergy、中斷、報警、診斷、脈沖、配方和數記錄、數據塊控制、尋址等。下面只簡單介紹日期和時間指令及字符串+字符指令。其他指令請參考博途軟件在線幫助或S7-1200的系統手冊。1.日期和時間指令
在CPU斷電時,用超級電容保證實時時鐘(Time-of-dayClock)的運行。S7-1200的保持時間通常為20天,40℃時最少為12天。S7-1500在40℃時最少為6星期。打開在線與診斷視圖,可以設置實時時鐘的時間值(見下圖)。也可以用日期和時間指令來讀、寫實時時鐘。1.日期和時間指令1.
日期和時間的數據類型日期和時間指令的數據類型有以下幾種:Time、Date、Time_Of_Day、DTL。(1)數據類型time的長度為4B,取值范圍為T#-24d_20h_31m_23s_648ms~T#24d_20h_31m_23s_647ms。(2)DTL指的是比較全面的日期時間,年、月、日、時、分、秒,從中還可以提取星期日-星期六。DTL(日期時間)如下表所示。數據字節(jié)數取值范圍數據字節(jié)數取值范圍年21970~2554h10~23月11~12min10~59日11~31s10~59星期11~7(星期日~星期六)ns40~9999999991.日期和時間指令1.
日期和時間的數據類型用戶可以在全局數據塊或塊的界面區(qū)中定義DTL變量,如圖,在DB數據塊中定義了一個DTL變量。可見,當變量類型選擇“DTL”時,變量“DTLtime1”為一個結構體,包含多種數據類型,8個子成員。用戶可以根據需要取出相應的數據進行處理。1.日期和時間指令2.
T_CONV指令(時間轉換)時間轉換指令在工程應用中非常重要。比如要在人機界面中設定設備的運行時間時,只能輸入雙整型數據,不能直接輸入時間型數據,因此在輸入時要分別輸入運行的小時、分鐘等信息,然后在PLC程序中進行處理,將輸入的數據轉換成總的ms值后,在經過T_CONV指令轉換為時間。1.日期和時間指令3.
時鐘功能指令時鐘指令涉及到的系統時間是格林尼治標準時間,本地時間是根據當地時區(qū)設置的本地標準時間。北京時間比系統時間多8個小時。
“設置本地時間”WR_LOC_T和“讀取本地時間”RD_LOC_T的指令,本地時間可以人為選擇,在CPU屬性中可以選擇相應地的時區(qū)。指令的返回值Ret_Val為一個字的長度。如圖3-77中,讀取本地時間和系統時間,在CPU“時間”屬性中設置本地為“北京”時區(qū)。返回值為“0”代表無錯誤。2.字符串與字符指令1.轉換字符串指令S_CONV轉換字符串指令S_CONV用于將輸入的字符串轉換為對應的數值,或者將數值轉換為對應的字符串。該指令沒有輸出格式選項,因此需要設置的參數很少,但是沒有指令STRG_VAL和VAL_STRG那樣靈活。(1)將字符串轉換為數值使用S_CONV指令將字符串轉換為整數或浮點數時,允許轉換的字符包括0~9、加減號和小數點對應的字符。轉換后的數值用參數OUT指定的地址保存。如果輸出的數值超出OUT的數據類型允許的范圍,OUT為0,ENO被置為0狀態(tài)。2.字符串與字符指令1.轉換字符串指令S_CONV(2)將數值轉換為字符串可以用指令S_CONV將參數IN指定的整數、無符號整數或浮點數轉換為輸出OUT指定的字符串。根據參數IN的數據類型,轉換后的字符串長度是固定的,輸出的字符串中的值為右對齊,值的前面用空格字符填充,正數字符串不帶符號。上圖中右邊的S_CONV指令的參數OUT的實參為字符串DB1.String。M2.0的常開觸點閉合時,右邊的S_CONV指令將-1234轉換為字符串′-1234′。(3)復制字符串如果S_CONV指令輸入、輸出的數據類型均為String,輸入IN指定的字符串將復制到輸出OUT指定的地址。2.字符串與字符指令2.將字符串轉換為數值指令STRG_VAL指令STRG_VAL將數值字符串轉換為對應的整數或浮點數。從參數IN指定的字符串的第P個字符開始轉換(見圖),直到字符串結束。允許的字符包括數字0~9、加減號、句號、逗號、“e”和“E”,轉換后的數值保存在參數OUT指定的存儲單元。
如圖所示,在線修改數據塊_1.String2為13579,輸出OUT變?yōu)?3579。
輸入參數P是要轉換的第一個字符的編號,數據類型為UInt。P等于1時,從字符串的第一個字符開始轉換。圖中,若將左側P在線修改為2,輸出OUT將變?yōu)?579。2.字符串與字符指令3.將數值轉換為字符串指令VAL_STRG
將數值轉換為字符串指令VAL_STRG將輸入參數IN中的數字,轉換為輸出參數OUT中對應的字符串。參數IN的數據類型可以是各種整數和實數。被轉換的字符串將取代OUT字符串從參數P提供的字符偏移量開始、到參數SIZE指定的字符數結束的字符。參數FORMAT的數據類型的意義與指令STRG_VAL相同,增加是否使用符號字符“+”和“-”,還是僅使用符號字符“-”。參數PREC用來設置精度或字符串的小數部分的位數。如果參數IN的值為整數,PREC指定小數點的位置。如圖3-80,IN的數據值為-2468,PREC為2,FORMAT為5時,轉換結果為字符串′-24,68′。Real數據類型支持最高精度為7位有效數字。其他字符串轉換指令,參考博途軟件在線幫助或S7-1200的系統手冊。七、職業(yè)技能訓練2專業(yè)知識目標掌握PLC基本指令的使用方法;掌握變頻器開關量控制的基本原理;掌握PLC通過變頻器控制交流電機的方法;
職業(yè)能力目標能根據控制要求完成速度控制系統(變頻器)的方案設計、原理圖設計;能根據要求設置控制單元相關參數;能根據工藝要求編寫運動控制程序;能檢查運動控制系統接線是否正確并聯機調試;
素質素養(yǎng)目標規(guī)范操作、注重質量和安全的職業(yè)素養(yǎng);一絲不茍、精益專注的匠心精神;PLC以開關量方式控制變頻器職業(yè)技能訓練2:PLC以開關量方式控制變頻器1.任務要求使用S7-1200PLC控制G120(或G120C)變頻器,實現交流電動機正反轉運行。要求:按下按鈕SB1,電機正轉(速度為600r/min);按下停止按鈕SB2,電機停轉;按下SB3,電機反轉(速度為400r/min);要求有互鎖保護。2.任務分析
本任務是通過PLC控制變頻器,實現電機正反轉控制。任務的重點是變頻器的使用方法以及PLC與變頻器的連接,控制程序相對簡單。首先我們從G120變頻器使用方法入手,學習了解PLC如何控制變頻器。(1)G120變頻器簡介SINAMICSG120是由多種不同功能單元組成的模塊化變頻器。構成變頻器兩個必須的模塊為:控制單元(CU)和功率模塊(PM)。G120的控制單元CU240可以通過不同的方式對功率模塊和所接的電機進行控制和監(jiān)控。它支持與本地或中央控制的通信并且支持通過監(jiān)控設備和輸入/輸出端子的直接控制。功率模塊PM240可以驅動電機的功率范圍為0.37kW到250kW(0.5hp到400hp)。職業(yè)技能訓練2:PLC以開關量方式控制變頻器(2)G120變頻器外部端子
用戶可以通過外部接線端子來控制變頻器。以CU240E-2控制單元為例,其外部端子分布如圖所示。
CU240E控制單元作為基本的控制單元用于一些普通的應用場合。在性能上,它具備了基本的輸入輸出,包括6個數字量輸入,3個繼電器輸出,2路模擬量輸入,2路模擬量輸出,并帶有集成的RS485/USS串行通訊口。職業(yè)技能訓練2:PLC以開關量方式控制變頻器
對于本任務,我們主要用到的是數字量輸入功能。
(3)G120變頻器參數設置
變頻器的參數設定在調試過程中十分重要。
如果參數設定不當,不能滿足生產的需要,就會導致起動、制動的失敗,因此要認真細致的完成。常用的參數包括電機參數、控制信號源、調速方式、加減速時間、多段速功能等。G120還提供了便于使用的宏程序功能。1)G120變頻器的快速調試通過操作面板可以實現變頻器簡單的參數設定和快速調試,可以不使用TIA博途或STARTER軟件進行調試。針對本任務,推薦的快速調試參數見表??焖僬{試之前,首先恢復出廠設置,首先在面板上選擇到SETUP,按OK鍵進入,選擇RESET(恢復出廠設置)。設置參數功能說明設置值設置參數功能說明設置值P096選擇應用等級0(專家級)P335電機冷卻方式0(自冷卻)P100電機標準0(IEC電機)P500工藝應用0(標準驅動)P205功率單元應用1(輕載)P1300運行方式0(V/f控制)P210變頻器輸入電壓400V或220VP15設置宏默認,之后修改P300電機類型1(異步電機)P1080最小轉速rpm根據要求87HZ87HZ功能NOP1082最大轉速rpm根據要求P304電機額定電壓根據電機銘牌P1120斜坡上升時間根據要求P305電機額定電流根據電機銘牌P1121斜坡下降時間根據要求P307
電機額定功率根據電機銘牌P1035off3斜坡下降時間根據要求P310電機額定頻率根據電機銘牌P1900電機數據檢測0(禁止)P311電機額定轉速根據電機銘牌
職業(yè)技能訓練2:PLC以開關量方式控制變頻器設置完以上參數后,出現FINISH(結束快速調試),點擊OK鍵選擇YES,顯示DONE即完成快速調試過程。2)預定義接口宏SINAMICSG120為滿足不同的接口定義提供了多種預定義接口宏,每種宏對應著一種接線方式。選擇其中一種宏后變頻器會自動設置與其接線方式相對應的一些參數,這樣極大方便了用戶的快速調試。在選用宏功能時請注意兩點:如果其中一種宏定義的接口方式完全符合您的應用,那么按照該宏的接線方式設計原理圖,并在調試時選擇相應的宏功能即可方便的實現控制要求;如果所有宏定義的接口方式都不能完全符合您的應用,那么請選擇與您的布線比較相近的接口宏,然后根據需要來調整輸入/輸出的配置。
用戶可通過參數P0015修改宏,修改P0015參數步驟如下:設置P0010=1;修改P0015;設置P0010=0;
注意:只有在設置P0010=1時才能更改P0015參數。CU240E-2定義了18種宏,以宏程序1為例進行介紹(本任務主要應用宏程序1):職業(yè)技能訓練2:PLC以開關量方式控制變頻器3)宏程序1
雙方向兩線制控制兩個固定轉速,宏1接口定義如圖所示。起??刂疲翰捎脙删€制控制方式,電機的起停、旋轉方向通過數字量輸入控制。速度調節(jié):通過數字量輸入選擇,可以設置兩個固定轉速,數字量輸入DI4接通時采用固定轉速1,數字量輸入DI5接通時采用固定轉速2。DI4與DI5同時接通時采用固定轉速1+固定轉速2。P1003參數設置固定轉速1,P1004參數設置固定轉速2。職業(yè)技能訓練2:PLC以開關量方式控制變頻器3.任務實施
經過任務分析,我們基本了解了G120變頻器的工作原理,接下來進行任務實施。實施步驟包括:硬件原理圖設計與連接、變頻器參數設置、PLC程序設計與調試。
(1)硬件原理圖設計
如圖所示,為PLC以開關量控制變頻器電氣原理圖。職業(yè)技能訓練2:PLC以開關量方式控制變頻器(2)變頻器參數設置首先,根據被控電動機的銘牌參數對變頻器進行快速調試,然后,利用宏1實現電動機正反轉運行。變頻器5號端子為正轉命令,6號端子為反轉命令,16號端子為固定轉速1(正轉速度),17號端子為固定轉速2(反轉速度)。根據控制要求將固定轉速1設置為600r/min,固定轉速值2設置為400r/min,這樣,正轉時,接通Q0.0和Q0.2;反轉時接通Q0.1和Q0.3即可。
通過上述分析變
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論