step7的使用方法_第1頁
step7的使用方法_第2頁
step7的使用方法_第3頁
step7的使用方法_第4頁
step7的使用方法_第5頁
已閱讀5頁,還剩207頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、.,第三章 STEP7編程技術,.,3.1 STEP 7中的塊,在STEP7軟件中主要有以下幾種類型的塊: 組織塊: OB(Organization Block) 功能: FC(Function) 功能塊: FB(Function Block) 系統(tǒng)功能: SFC(System Function) 系統(tǒng)功能塊:SFB(System Function Block) 背景數(shù)據塊:DB(Instance Data Block) 共享數(shù)據塊:DB(Share Data Block),.,3.1.1組織塊OB,啟動組織塊 循環(huán)執(zhí)行的程序組織塊 定期執(zhí)行的程序組織塊 事件驅動執(zhí)行的程序組織塊,.,1.啟動

2、組織塊,(1)OB100為完全再啟動類型(暖啟動)。啟動時,過程映像區(qū)和不保持的標志存儲器、定時器及計數(shù)器被清零,保持的標志存儲器、定時器和計數(shù)器以及數(shù)據塊的當前值保持原狀態(tài),執(zhí)行OB100,然后開始執(zhí)行循環(huán)程序OB1。一般S7-300PLC都采用此種啟動方式。 (2) OB101為再啟動類型(熱啟動)。啟動時,所有數(shù)據(無論是保持型和非保持型)都將保持原狀態(tài),并且將OB101中的程序執(zhí)行一次。然后程序從斷點處開始執(zhí)行。剩余循環(huán)執(zhí)行完以后,開始執(zhí)行循環(huán)程序。熱啟動一般只有S7-400具有此功能。 (3) OB102為冷啟動方式。CPU318-2和CPU417-4具有冷啟動型的啟動方式,冷啟動時

3、,所有過程映像區(qū)和標志存儲器、定時器和計數(shù)器(無論是保持型還是非保持型)都將被清零,而且數(shù)據塊的當前值被裝載存儲器的原始值覆蓋。然后將OB102中的程序執(zhí)行一次后執(zhí)行循環(huán)程序。,.,2.循環(huán)執(zhí)行的程序組織塊,OB1是循環(huán)執(zhí)行的組織塊。其優(yōu)先級為最低。PLC在運行時將反復循環(huán)執(zhí)行OB1中的程序,當有優(yōu)先級較高的事件發(fā)生時,CPU將中斷當前的任務,去執(zhí)行優(yōu)先級較高的組織塊,執(zhí)行完成以后,CPU將回到斷點處繼續(xù)執(zhí)行OB1中的程序,并反復循環(huán)下去,直到停機或者是下一個中斷發(fā)生。一般用戶主程序寫在OB1中。,.,3.定期的程序執(zhí)行組織塊,OB10、OB11OB17為日期中斷組織塊。通過日期中斷組織塊可以

4、在指定的日期時間執(zhí)行一次程序,或者從某個特定的日期時間開始,間隔指定的時間(如一天,一個星期,一個月等)執(zhí)行一次程序。 OB30、OB31OB38為循環(huán)中斷組織塊。通過循環(huán)中斷組織塊可以每隔一段預定的時間執(zhí)行一次程序。循環(huán)中斷組織塊的間隔時間較短,最長為1分鐘。最短為1毫秒。在使用循環(huán)中斷組織塊時,應該保證設定的循環(huán)間隔時間大于執(zhí)行該程序塊的時間,否則CPU將出錯。,.,4.事件驅動的程序執(zhí)行組織塊,延時中斷組織塊 硬件中斷組織塊 異步錯誤組織塊 同步錯誤組織塊,.,延時中斷組織塊,OB20OB27:延時中斷,當某一事件發(fā)生后,延時中斷組織塊(OB20)將延時指定的時間后執(zhí)行。OB20 OB2

5、7只能通過調用系統(tǒng)功能SFC32而激活,同時可以設置延時時間。,.,硬件中斷組織塊,OB40OB47:硬件中斷。一旦硬件中斷事件發(fā)生,硬件中斷組織塊OB40OB47將被調用。硬件中斷可以由不同的模塊觸發(fā),對于可分配參數(shù)的信號模塊DI、DO、AI、AO等,可使用硬件組態(tài)工具來定義觸發(fā)硬件中斷的信號;對于CP模塊和FM模塊,利用相應的組態(tài)軟件可以定義中斷的特性。,.,異步錯誤組織塊,OB80OB87:異步錯誤中斷。異步錯誤是PLC的功能性錯誤。它們與程序執(zhí)行時不同步地出現(xiàn),不能跟蹤到程序中的某個具體位置。 在運行模式下檢測到一個故障后,如果已經編寫了相關的組織塊,則調用并執(zhí)行該組織塊中的程序。如果

6、,發(fā)生故障時,相應的故障組織塊不存在,則CPU將進入STOP模式。,.,同步錯誤組織塊,OB121、OB122:同步錯誤中斷。如果在某特定的語句執(zhí)行時出現(xiàn)錯誤,CPU可以跟蹤到程序中某一具體的位置。由同步錯誤所觸發(fā)的錯誤處理組織塊,將作為程序的一部分來執(zhí)行,與錯誤出現(xiàn)時正在執(zhí)行的塊具有相同的優(yōu)先級。 編程錯誤,例如在程序中調用一個不存在的塊,將調用OB121。 訪問錯誤,例如程序中訪問了一個有故障或不存在的模塊,將調用OB122。,.,3.1.2功能FC和功能塊FB,FC和FB都是用戶自己編寫的程序塊,用戶可以將具有相同控制過程的程序編寫在FC或FB中,然后在主程序OB1或其他程序塊中(包括組

7、織塊和功能、功能塊)調用FC或FB。 FC或FB相當于子程序的功能,都可以定義自己的參數(shù),.,1. FC和FB的變量聲明表的差別,.,2FC和FB參數(shù)賦值不同,FC沒有自己的背景數(shù)據塊 FB有自己的背景數(shù)據塊 FC的參數(shù)必須指定實參 FB的參數(shù)可根據需要決定是否指定實參,.,3.1.3系統(tǒng)功能SFC和系統(tǒng)功能塊SFB,SFC和SFB是預先編好的可供用戶調用的程序塊,它們已經固化在S7PLC的CPU中,其功能和參數(shù)已經確定。一臺PLC具有哪些SFC和SFB功能,是由CPU型號決定的。具體信息可查閱CPU的相關技術手冊。通常SFC和SFB提供一些系統(tǒng)級的功能調用,如通訊功能、高速處理功能等。注意:

8、在調用SFB時,需要用戶指定其背景數(shù)據塊(CPU中不包含其背景數(shù)據塊),并確定將背景數(shù)據塊下載到PLC中。,.,3.1.4背景數(shù)據塊和共享數(shù)據塊,背景DB是和某個FB或SFB相關聯(lián),其內部數(shù)據的結構與其對應的FB或SFB的變量聲明表一致。 共享DB的主要目的是為用戶程序提供一個可保存的數(shù)據區(qū),它的數(shù)據結構和大小并不依賴于特定的程序塊,而是用戶自己定義。需要說明的是,背景DB和共享DB沒有本質的區(qū)別,它們的數(shù)據可以被任何一個程序塊讀寫。,.,3.2STEP7的程序結構和編程語言,STEP7的程序結構可分為以下三類: 1.線性程序結構 2.分塊程序結構 3.結構化程序結構 編程語言 (三種基本編程

9、語言) 1.梯形圖LAD 2.語句表STL 3.功能圖FBD,.,3.3數(shù)據類型,數(shù)據是程序處理和控制的對象,在程序運行過程中,CPU處理的一串二進制符號所代表的意義是由數(shù)據類型決定的,數(shù)據類型決定了數(shù)據的屬性,例如數(shù)據長度,取值范圍等。 STEP7中的數(shù)據可分為以下三大類: 基本數(shù)據類型 復合數(shù)據類型 參數(shù)數(shù)據類型,.,基本數(shù)據類型(一),位(BOOL) 字節(jié)(BYTE) 字(WORD) 雙字(DOUBLE WORD) 整數(shù)(INT) 雙整數(shù)(DOUBLE INT) 浮點數(shù)(REAL),.,基本數(shù)據類型(二),S5TIME(SIMATIC時間) IEC時間(TIME) IEC日期(date)

10、 日計時(TIME_OF_DAY) 字符(CHAR),.,3.3.2復雜數(shù)據類型,日期時間數(shù)據類型( Data_And_Time ) 字符串類型(String) 數(shù)組類型Array 結構(STRUCT) 用戶定義類型(UDT),.,3.3.3參數(shù)數(shù)據類型,參數(shù)數(shù)據類型是一類用于功能FC或功能塊FB的數(shù)據類型,主要包括以下兩種: Pointe指針類型 6字節(jié)指針類型,傳遞數(shù)據塊號和數(shù)據地址 Any指針類型 10字節(jié)指針類型,傳遞數(shù)據塊號、數(shù)據地址、數(shù)據數(shù)量以及數(shù)據類型,.,3.4S7的系統(tǒng)存儲區(qū)和尋址方式,S7的系統(tǒng)存儲區(qū)集成在CPU中,不能被擴展。系統(tǒng)存儲區(qū)根據功能分為不同的區(qū)域供用戶使用。

11、S7的尋址方式為: 符號地址尋址 絕對地址尋址,.,3.4.1系統(tǒng)存儲區(qū),輸入過程暫存區(qū)(I) 輸出過程暫存區(qū)(Q) 位存儲區(qū)(M) 外部輸入輸出(PI/PQ) 計時器(T) 計數(shù)器(C) 數(shù)據塊(DB) 局部數(shù)據(L),.,3.4.2絕對地址尋址,位尋址 字節(jié)尋址 字尋址 雙字尋址,.,位尋址,位尋址是最小存儲單元的尋址方式。尋址時,采用以下結構: 存儲區(qū)關鍵字+字節(jié)地址+位地址: 例如: Q 10.3 Q:表示輸出過程暫存區(qū); 10:表示第十個字節(jié);字節(jié)地址從0開始,最大值由該存儲區(qū)的大小決定; 3:表示位地址為3,位地址的取值范圍是07。,.,字節(jié)尋址,字節(jié)尋址時,訪問一個8位的存儲區(qū)域

12、。尋址時,采用以下結構進行尋址: 存儲區(qū)關鍵字+字節(jié)的關鍵字(B)+字節(jié)地址 例如:MB0 M:表示位存儲區(qū) B:表示字節(jié)byte 0:表示第0個字節(jié)。其中最低位的位地址為M0.0,最高位的為M0.7,.,字節(jié)尋址,.,字尋址,字尋址時,訪問一個16位的存儲區(qū)域,包含兩個字節(jié)。尋址時采用以下結構: 存儲區(qū)關鍵字+字的關鍵字(W)+第一字節(jié)地址 例如:IW10 I:表示輸入過程暫存區(qū) W:表示字word 10:表示從第10個字節(jié)開始,包括兩個字節(jié)的存儲空間,即IB10和IB11。,.,字尋址,.,雙字尋址,雙字尋址時,訪問一個32位的存儲區(qū)域,包含4個字節(jié)。尋址時采用以下結構:存儲區(qū)關鍵字+字的

13、關鍵字(D)+第一字節(jié)地址 例如:LD20 L:表示局部數(shù)據暫存區(qū) D:表示字word 20:表示從第20個字節(jié)開始,包括4個字節(jié)的存儲空間。包括LB20、LB21、LB22和LB23四個字節(jié),.,雙字尋址,.,3.4.3符號地址尋址,STEP7中的符號尋址是先給需要使用的絕對地址或參數(shù)變量定義符號,然后在程序中使用所定義好的符號進行編程尋址 STEP7中可以定義的符號有兩種: 全局符號 局部符號,.,全局符號 和局部符號,全局符號 在符號編輯器中定義 適用于所有的程序塊 以雙引號表示 局部符號 在塊中的變量申明表中定義 所定符號只在本程序塊中有效 符號前加#號表示,.,3.5STEP7指令系

14、統(tǒng)(一),S7系列PLC的CPU中的寄存器 累加器(Accumulators) 地址尋址寄存器(Address Register) 數(shù)據塊寄存器(Data Block Register) 狀態(tài)字(Status Word) 位邏輯指令,.,3.5.1S7系列PLC的CPU中的寄存器,狀態(tài)字 /FC:首次檢查位。 RLO:邏輯操作結果位。 STA:狀態(tài)位 OR:或位 OV:溢出位 OS:溢出存儲位 CC0和CC1:條件碼 BR:二進制結果,.,3.5.2 位邏輯指令,常開接點 常閉接點 輸出線圈 程序實例:,.,位邏輯指令,中間輸出單元 信號流反向指令 復位線圈 置位線圈 復位置位觸發(fā)器和置位復位

15、觸發(fā)器,.,位邏輯指令,程序實例 對應時序圖如下所示:,.,位邏輯指令,時序圖,.,位邏輯指令 正跳沿(上升沿)檢測指令,.,位邏輯指令 負跳沿(下降沿)檢測指令,.,位邏輯指令,地址正跳沿檢測 地址負跳沿檢測 SAVE指令,.,位邏輯指令 地址上升沿檢測指令示例,.,位邏輯指令 以上程序的時序圖,.,3.6實訓四:PLC控制一臺電機正反轉,使用S7-300PLC實現(xiàn)一臺電動機的正反轉控制??刂埔笕缦拢阂竽軐崿F(xiàn)電機的正轉和反轉控制,并能進行正反轉的直接切換。另外,還可進行正反向的點動控制,當電機處于正常運行時,點動按鈕不起作用。,.,3.6.1實訓目的:,掌握S7-300PLC輸入輸出模塊

16、接線方法; 掌握西門子S7-300PLC編程軟件的使用方法和程序輸入、下載和調試方法; 掌握基本指令的使用方法;,.,3.6.2實訓設備:,PLC實驗板(西門子S7-300) 開關按鈕5個 直流繼電器兩個(線圈電壓為24V) 直流電動機一臺(額定電壓9V) 導線若干 PC機和STEP 7編程調試軟件,.,3.6.3實訓內容:,系統(tǒng)分析(預習): PLC硬件配置 分析控制要求進行輸入輸出點分配,并根據資源分配畫出外部接線圖。 根據控制要求設計程序。 在線調試程序,.,3.6.4實訓步驟:,按照輸入輸出模塊接線圖以及直流電動機主電路接線圖進行外部接線; 使用STEP-7軟件創(chuàng)建項目,進行硬件配置和

17、參數(shù)設置; 打開項目中的OB1程序塊編寫并書寫控制程序; 下載,并調試程序; 打開直流電動機主電路電源進行整體調試;,.,參考硬件配置表,.,參考輸入輸出地址分配表,.,3.7STEP7指令系統(tǒng)(二),定時器指令 1.脈沖定時器:-(SP) 2.擴展脈沖定時器-(SE) 3.開通延時定時器-(SD) 4.保持型開通延時定時器-(SS) 5.關斷延時定時器-(SF) 數(shù)據裝載和傳送指令(MOVE),.,1、脈沖定時器 -(SP),-(SP)指令是產生指定時間寬度脈沖的定時器。,.,1、脈沖定時器 -(SP),如圖所示程序,定時器定義的時間值為2S,.,1、脈沖定時器 -(SP),上圖程序對應的時

18、序圖如圖所示,.,1、脈沖定時器 -(SP),T1接點控制Q0.0線圈,因此T1接點的狀態(tài)與Q0.0的狀態(tài)一致。由時序圖可以看出,脈沖定時器每次起動的條件是邏輯位有正跳沿發(fā)生,定時器啟動計時,T1接點開始輸出高電平“1”。從時序圖可以看到,-(SP)指令計時的過程中,邏輯位的狀態(tài)若變?yōu)椤?”(如圖3.7.2第7秒處)則定時器停止計時,且輸出為“0”。因此,脈沖定時器輸出的高電平的寬度小于或等于所定義的時間值。,.,1、脈沖定時器 -(SP),脈沖定時器的方框指令如表所示,.,1、脈沖定時器 -(SP),如圖所示的程序中,可從MW10和MW12中以不同的格式讀出定時器計時T1剩余的時間。,.,1

19、、脈沖定時器 -(SP),上圖所示的程序對應的時序圖如圖所示,.,2、擴展脈沖定時器 -(SE),-(SE)指令與-(SP)指令相似,但-(SE)指令具有保持功能。,.,2、擴展脈沖定時器 -(SE),如圖所示的程序,.,2、擴展脈沖定時器 -(SE),上圖所示的程序對應的時序圖如圖所示,.,2、擴展脈沖定時器 -(SE),一旦邏輯位(即I0.0的狀態(tài))有正跳沿發(fā)生,定時器T0啟動,同時輸出高電平“1”。定時時間到后,輸出將自動變成低電平“0”。如果定時時間尚未到達,邏輯位的狀態(tài)就由“1”變?yōu)椤?”,這時定時器仍然繼續(xù)運行,直到計時完成。這一點是-(SE)指令與-(SP)指令的不同之處。,.,

20、2、擴展脈沖定時器 -(SE),擴展脈沖定時器的方框指令如表所示,.,3、開通延時定時器-(SD),開通延時定時器指令-(SD),相當于繼電器控制系統(tǒng)中的通電延時時間繼電器。,.,3、開通延時定時器-(SD),如圖所示的程序:,.,3、開通延時定時器-(SD),上圖所示的程序對應的時序圖如圖所示,.,3、開通延時定時器-(SD),-(SD)對應的方框如表所示,.,4、保持型開通延時定時器-(SS),保持型開通延時-(SS)與開通延時定時器-(SD)類似,但-(SS)指令有保持功能。,.,4、保持型開通延時定時器-(SS),保持型開通延時定時器的應用方法如圖所示,.,4、保持型開通延時定時器-(

21、SS),上圖中的程序對應的時序圖如圖所示,.,4、保持型開通延時定時器-(SS),保持型開通延時定時器的方框指令如表所示,.,5、關斷延時定時器-(SF),關斷延時定時器-(SF)相當于繼電器控制系統(tǒng)中的斷電延時時間繼電器。也是定時器指令中唯一的一個由下降沿啟動的定時器指令。,.,5、關斷延時定時器-(SF),如圖所示的程序,.,5、關斷延時定時器-(SF),上圖中的程序對應的時序圖如圖所示,.,5、關斷延時定時器-(SF),關斷延時計時器的方框指令如下表所示,.,定時器應用舉例:,1、使用-(SP)或-(SE)指令構成脈沖發(fā)生器:使用脈沖定時器如圖所示的程序可產生周期性變化的脈沖信號。,.,

22、定時器應用舉例:,上圖中的程序對應的時序圖如圖所示,.,定時器應用舉例:,程序又可寫成如圖所示的程序,.,定時器應用舉例:,2、使用-(SD)指令產生周期性變化的脈沖信號: 使用-(SD)指令可以采用下圖所示的程序得到脈沖信號,.,定時器應用舉例:,上圖所示的程序對應的時序圖如圖所示,.,定時器應用舉例:,使用 -(SD)指令還可以用二分頻電路產生一個方波。程序如圖所示,.,定時器應用舉例:,時序圖如圖所示,.,數(shù)據裝載和傳送指令:(MOVE),數(shù)據裝載和傳送指令(MOVE)如表所示,.,數(shù)據裝載和傳送指令:(MOVE),如圖3.7.20所示程序,.,3.8實訓5:交通信號燈控制,實訓目的 1

23、.掌握交通信號的工作原理 2.熟悉西門子S7-300PLC編程軟件的使用方法和程序輸入、下載和調試方法 3.掌握S7-300PLC定時器的使用方法 實訓設備 1. PLC實驗板(西門子S7-300) 2.開關按鈕1個 3.指示燈6個(也可直接使用S7-300PLC輸出模塊輸出指示燈) 4. PC機和STEP 7編程調試軟件 實訓內容:交通信號燈的控制要求 實訓步驟,.,實訓內容:交通信號燈的控制要求,交通信號燈模型如圖所示,.,實訓內容:交通信號燈的控制要求,控制要求如下:自動開關合上之后,東西綠燈亮8秒滅,黃燈亮3秒之后滅,紅燈亮10秒后閃2秒然后綠燈亮.循環(huán),對應東西綠黃燈亮時,南北紅燈亮

24、9秒后閃2秒,接著綠燈亮9秒后閃秒滅,黃燈亮3秒,紅燈又亮.循環(huán)。當斷開自動開關時,交通信號燈立刻停止工作。,.,實訓內容:交通信號燈的控制要求,根據控制要求畫出交通信號燈的時序圖如圖所示,.,實訓內容:交通信號燈的控制要求,系統(tǒng)分析 1PLC硬件配置:控制系統(tǒng)中的硬件配置如下,.,實訓內容:交通信號燈的控制要求,2分析控制要求進行輸入輸出點分配,并根據分配畫出外部接線圖。,.,實訓內容:交通信號燈的控制要求,輸入輸出模塊接線如圖所示,.,實訓內容:交通信號燈的控制要求,3程序設計: 設計提示:可先采用SE指令,產生周期為23秒,占空比為11:12的矩形波。再將其分割成所需要的矩形波。參考程序

25、見附錄光盤,.,實訓步驟,1按照輸入輸出模塊接線圖以及直流電動機主電路接線圖進行外部接線; 2使用STEP-7軟件創(chuàng)建項目,并進行硬件配置和參數(shù)設置 3打開項目中的OB1程序塊編寫控制程序 4下載,調試程序,.,3.9STEP7指令系統(tǒng)(三),移位指令和循環(huán)指令 控制轉移指令及應用 比較指令及其應用,.,移位指令和循環(huán)指令,字左移指令SHL_W 字右移指令SHR_W 雙字左移指令SHL_DW 雙字右移指令SHR_DW 整數(shù)右移指令SHR_I 雙整數(shù)右移指令SHR_DI 循環(huán)指令能夠將累加器1整個內容逐位向左或者向右循環(huán)移位??墒褂玫难h(huán)指令有: 雙字左循環(huán)指令ROL_DW 雙字右循環(huán)指令ROR

26、_DW,.,1字左移指令,當允許輸入EN位為高電平“1”時,將執(zhí)行移位指令,將IN端指令的內容送入累加器1低字中,并左移N端指定的位數(shù),然后寫入OUT端指令的目的地址中。,.,1字左移指令,字左移指令的工作方式如圖所示,.,1字左移指令,如圖所示的程序中,當I0.2的狀態(tài)為“1”時,CPU把MW2中的數(shù)據讀入累加器1低字中,并將累加器1低字的內容左移2位(N=W#16#2),然后再將移位后的內容寫入到MW10中,注意MW2中的內容并沒有變化,.,1字左移指令,要想在同一個存儲字中看到移位的效果,可以將IN和OUT端指定相同的地址。如圖所示,.,1字左移指令,注意:移位指令是高電平執(zhí)行。要每次按

27、下I0.2的外部輸入按鈕,移位指令只執(zhí)行一次,可以在I0.2的常開接點后加上升沿檢測指令-(P),將EN端的信號變成只有一個掃描周期的高電平信號。如圖所示,.,2字右移指令,字右移指令執(zhí)行時,當允許輸入EN的狀態(tài)為“1”時,將執(zhí)行移位指令,.,2字右移指令,字右移指令工作方式如圖所示,.,2字右移指令,如圖所示的程序,.,3雙字左移指令,雙字左移指令是移位對象是32位,當EN端的為“1”時,CPU將IN端的內容讀入累加器1,并將累加器1中的內容整體左移N端指定的位數(shù)。移位過程中,按照高位丟失低位補“0”的原則進行,.,4雙字右移指令,雙字右移指令移位的對象是32位,當EN端的狀態(tài)為“1”時,C

28、PU將IN端指定的內容讀入累加器1中,并將累加器1整體右移N端指定的位數(shù),按照低位丟失高位補“0”的原則進行,.,5整數(shù)右移指令,整數(shù)右移指令與字移位指令不同。整數(shù)只有右移指令,移位時按照低位丟失,高位補符號位狀態(tài)的原則,也就是正數(shù)高位補“0”,負數(shù)高位補“1”的原則,.,5整數(shù)右移指令,整數(shù)右移指令工作原理如圖所示,.,6雙整數(shù)右移指令,雙整數(shù)右移指令與整數(shù)右移類似,雙整數(shù)移位對象為32位,.,7雙字左循環(huán)指令,雙字左循環(huán)指令的循環(huán)移位對象為32位,當EN端的狀態(tài)為“1”時,將執(zhí)行指令:CPU將IN端指定的內容讀入累加器1中,然后將累加器1中的內容循環(huán)左移N端指定的位數(shù),并寫入OUT端指定的

29、目的地址中,.,7雙字左循環(huán)指令,雙字左循環(huán)的工作過程如圖所示,.,7雙字右循環(huán)指令,.,7雙字右循環(huán)指令,雙字右循環(huán)指令的工作方式如圖所示,.,控制轉移指令及應用,1轉移指令(JMP) 2若非轉移指令(JMPN),.,1轉移指令(JMP),當邏輯位RLO的狀態(tài)為“1”時,將觸發(fā)轉移指令,程序將直接跳轉至標號指定的網路,并從此網路開始順序執(zhí)行以下的程序,在轉移指令和標號之間的程序將不予執(zhí)行,.,1轉移指令(JMP),如圖所示程序,.,1轉移指令(JMP),如圖所示程序,.,2若非轉移指令(JMPN),若非轉移指令(JMPN)與轉移指令相似,其轉移條件是當邏輯位的狀態(tài)為“0”時。,.,2若非轉移

30、指令(JMPN),如圖所示程序:當I0.1的狀態(tài)為“1”,時,跳轉條件不成立,CPU將按正常順序執(zhí)行程序。當I0.1的狀態(tài)為“0”時,跳轉條件成立,CPU將跳過程序段2,直接執(zhí)行程序段3的指令。,.,2若非轉移指令(JMPN),使用跳轉指令的以下結構,可實現(xiàn)選擇性執(zhí)行程序段的功能。程序如圖所示,.,比較指令及其應用,兩個整數(shù)的比較(每一整數(shù)均為16位); 兩個雙整數(shù)的比較(每一雙整數(shù)均為32位); 兩個實數(shù)的比較(每一實數(shù)均為32位); 比較類型有以下幾種類型: 等于(EQ) : IN1等于(= =)IN2; 不等于(NQ): IN1不等于()IN2; 大于(GT): IN1大于()IN2;

31、小于(LT): IN1小于( =)IN2; 小于或等于(LE):IN1小于或等于( =)IN2;,.,1整數(shù)等于比較指令,整數(shù)比較指令關鍵字符為I。整數(shù)等于比較指令是判斷兩個正數(shù)是否相等,如果相等,則邏輯結果為“1”,如果不相等則邏輯結果為“0”。,.,1整數(shù)等于比較指令,如圖所示的程序,當MW10中的內容等于23時,Q0.0的狀態(tài)為“1”,否則,Q0.0的狀態(tài)為“0”。,.,1整數(shù)等于比較指令,注意:比較指令的使用接點類似,因此比較指令不能放在邏輯串的最后。如圖所示,注意:上圖所示程序是一個不完整的程序,不能被保存或下載。比較指令只能放在邏輯串的中間。,.,2整數(shù)不等于比較指令,整數(shù)不等于比

32、較指令是指當兩個整數(shù)不相等時,比較的邏輯結果為“1”,而當兩個數(shù)相等時邏輯結果為“0”。這一指令相當于等于比較指令的“非”操作。,.,3雙整數(shù)大于比較指令,雙整數(shù)的關鍵字為D。大于比較指令是當?shù)谝粋€數(shù)值大于第二個數(shù)值時,即IN1大于IN2,比較邏輯結果為“1”,否則邏輯結果為“0”。,.,4實數(shù)小于等于比較指令,實數(shù)比較指令的關鍵字為R。小于等于比較指令是當?shù)谝粋€數(shù)值小于或等于第二個數(shù)值時,即IN1=IN2時,比較邏輯結果為“1”,否則邏輯結果為“0”。,.,3.10實訓六 彩燈循環(huán),實訓目的 1掌握移位指令的使用。 2鍛煉PLC的程序編制和調試能力 實驗設備 1PLC實驗板(西門子S7-30

33、0) 2開關按鈕1個 3指示燈6個(也可直接使用S7-300PLC輸出模塊輸出指示燈) 4PC機和STEP 7編程調試軟件 實驗內容 實驗步驟,.,實驗內容,用西門子公司系列的PLC實現(xiàn)一個個彩燈循環(huán)閃爍的控制系統(tǒng)??刂埔笕缦?: 控制項目1:單向手動控制:要求通過按鈕SB1使得16燈泡按照HL1、HL2HL16的順序亮滅,移到最高位HL16以后,再回到HL1、重復循環(huán)下去。按下停止按鈕SB2后,彩燈熄滅,停止工作。,.,實驗內容,控制項目2:往復手動控制:要求通過按鈕SB1使得16燈泡按照HL1、HL2HL16的順序亮滅,移到最高位HL16以后,再按HL16、HL15HL2、HL1的順序亮

34、滅,如此反復循環(huán)下去。按下停止按鈕SB2后,彩燈熄滅,停止工作。,.,實驗內容,控制項目3:單向自動控制:彩燈亮滅的順序與實驗1要求相同,但要求彩燈能自動循環(huán),彩燈移動的時間間隔為1秒鐘(可根據實際情況修改),.,實驗內容,控制項目4:往復自動控制:彩燈亮滅的順序與實驗2要求相同,但要求彩燈能自動循環(huán),彩燈移動的時間間隔為2秒鐘(可根據實際情況修改),.,實驗內容,控制項目5:要求按下啟動按鈕SB1彩燈按照從小到大(HL1、HL2HL16)的順序自動亮滅,第一次時間間隔為1秒鐘,第二次移動的時間間隔為2秒鐘,第三次移動的時間間隔為3秒鐘,移動三次后完成一個循環(huán),重復循環(huán)。按下停止按鈕SB2后彩

35、燈全滅。,.,系統(tǒng)分析,1 PLC硬件配置控制系統(tǒng)中的硬件配置如下,.,系統(tǒng)分析,2分析控制要求進行輸入輸出點分配,并根據分配畫出外部接線圖。資源分配表如表所示,.,系統(tǒng)分析,.,系統(tǒng)分析,輸入輸出模塊接線圖,.,系統(tǒng)分析,3分析控制要求寫出程序清單,.,實驗步驟,1根據實驗要求編寫PLC程序 2按照PLC實驗線路接線并合上電源 3啟動編程軟件,編寫程序 4進行模擬在線調試。,.,3.11STEP7指令(四),計數(shù)器指令 算數(shù)運算指令 轉換指令 字邏輯指令,.,計數(shù)器指令,計數(shù)器置初值指令(SC) 加法計數(shù)器線圈(CU) 減法計數(shù)器線圈(CD),.,1計數(shù)器置初值指令(SC),當邏輯位RLO有

36、正跳沿時,計數(shù)器置初值線圈將預置值裝入指定計數(shù)器中。若RLO位的狀態(tài)沒有正跳沿發(fā)生,則計數(shù)器的值保持不變。,.,2加法計數(shù)器線圈,當邏輯位RLO有正跳沿時,加法計數(shù)器線圈使指定計數(shù)器的值加1,如果RLO位的狀態(tài)沒有正跳沿發(fā)生,或者計數(shù)器數(shù)值已經達到最大值999,則計數(shù)器的值保持不變。,.,3減法計數(shù)器線圈,當邏輯位RLO有正跳沿時,減法計數(shù)器線圈使指定計數(shù)器的值減1,如果RLO位的狀態(tài)沒有正跳沿發(fā)生,或者計數(shù)器數(shù)值已經達到最小值0,則計數(shù)器的值保持不變。,.,計數(shù)器指令的使用舉例,如圖所示,.,計數(shù)器指令的使用舉例,當I0.0的狀態(tài)由“0”變?yōu)椤?”時,(SC)指令將數(shù)值23裝入計數(shù)器C0中,

37、當I0.1的狀態(tài)由“0”變?yōu)椤?”時,計數(shù)器C0的值將減1,當I0.2的狀態(tài)由“0”變?yōu)椤?”時,計數(shù)器C0的值將加1。計數(shù)器的位狀態(tài)與計數(shù)器值的關系如表所示,.,計數(shù)器指令的使用舉例,如圖所示,若I0.3的狀態(tài)為“1”,則計數(shù)器C0所計的數(shù)值立刻變?yōu)榱?,由于(R)指令是高電平執(zhí)行,因此若I0.3的狀態(tài)保持“1”,則計數(shù)器C0始終處于清零狀態(tài)而無法正常使用。用戶在使用指令時,應注意指令的執(zhí)行方式。,.,4可逆計數(shù)器S_CUD,.,4可逆計數(shù)器S_CUD,可以看到,可逆計數(shù)器方框指令可以完成計數(shù)器的加(CU)、減(CD)計數(shù)和置初值(S、PV)以及計數(shù)器值清零(R)等功能,還可以將計數(shù)器當前值以

38、不同的格式輸出,整數(shù)格式(CV)和BCD格式(CV_BCD)。計數(shù)器的狀態(tài)可以Q端輸出,也可以由計數(shù)器的觸點輸出。,.,4可逆計數(shù)器S_CUD,例如,前面例子中兩圖所示的程序可以由下圖所示的程序代替,.,4可逆計數(shù)器S_CUD,使用計數(shù)器時應該注意下面幾點問題 (1)計數(shù)器指令的加、減計數(shù)輸入端以及預置值輸入端均為上升沿執(zhí)行,即邏輯位必須有從“0”到“1”的變化時,指令才會執(zhí)行。,.,4可逆計數(shù)器S_CUD,(2)計數(shù)器的預置的初始值及PV端的數(shù)據格式為BCD碼二十進制格式。如果在PV端使用地址如MW10,而不是直接數(shù)C#.,應該保證在執(zhí)行置初值指令時,地址MW10中保存的數(shù)據滿足BCD碼格式

39、,否則執(zhí)行程序時,CPU將會出錯。,.,4可逆計數(shù)器S_CUD,(3)計數(shù)器觸點的狀態(tài)由計數(shù)器的值決定,如果計數(shù)值等于零,則計數(shù)器觸點的狀態(tài)為低電平“0”,如果計數(shù)值不等于零(無論等于幾),則計數(shù)器觸點的狀態(tài)為高電平“1”。,.,算數(shù)運算指令,加法運算指令 ADD 減法運算指令 SUB 乘法運算指令 MUL 除法運算指令 DIV,.,1整數(shù)加法運算ADD_I,.,1整數(shù)加法運算ADD_I,程序示例如圖所示,.,1整數(shù)加法運算ADD_I,如圖所示的程序中,.,1整數(shù)加法運算ADD_I,若I0.0后面沒有邊沿檢測指令,程序段1如圖所示,.,2整數(shù)減法運算SUB_I,減法指令運算規(guī)則為: IN1 I

40、N2=OUT,.,3整數(shù)乘法運算MUL_I,允許輸入EN的狀態(tài)為“1”時,啟動乘法運算指令,將IN1乘以IN2,并將計算結果送至OUT端。如果計算結果正確,ENO端輸出為“1”。,.,4整數(shù)除法運算DIV_I,除法指令的運算規(guī)則為: IN1IN2=OUT,.,4整數(shù)除法運算DIV_I,例如如圖所示的程序,運算結果為6。,.,5雙整數(shù)取余數(shù)指令MOD_DI,雙整數(shù)取余數(shù)指令,是將兩個雙整數(shù)進行除法運算,并將余數(shù)作為結果送到OUT端,.,5雙整數(shù)取余數(shù)指令MOD_DI,例如27與4兩個整數(shù)相處的余數(shù)為3,利用如圖所示的程序可以計算出來,.,轉換指令,BCD轉換為整數(shù): BCD_I 整數(shù)轉換為BCD

41、: I_BCD 整數(shù)轉換為雙整數(shù): I_DI BCD轉換為雙整數(shù): BCD_DI 雙整數(shù)轉換為BCD: DI_BCD 雙整數(shù)轉換為實數(shù): DI_R 整數(shù)二進制碼的位取反: INV_I 雙整數(shù)二進制碼的位取反: INV_DI,.,轉換指令,整數(shù)的二進制補碼: NEG_I 雙整數(shù)的二進制補碼: NEG_DI 實數(shù)求反: NEG_R 實數(shù)四舍五入為雙整數(shù): ROUND 實數(shù)舍去小數(shù)部分為雙整數(shù):TRUNC 實數(shù)向上取整為雙整數(shù): CEIL 實數(shù)向下取整為雙整數(shù): FLOOR,.,1BCD轉換為整數(shù)BCD_I,BCD_I指令是將IN指定的內容以BCD碼二十進制格式讀出,并將其轉換為整數(shù)格式,輸出到OU

42、T端,.,1BCD轉換為整數(shù)BCD_I,注意:如果IN端指定的內容超出BCD碼的范圍(例如四位二進制數(shù)出現(xiàn)10101111的幾種組合),則執(zhí)行指令時將會發(fā)生錯誤,使CPU進入STOP方式,或者調用編程錯誤組織塊OB121(如果OB121被編程且下載到PLC中)。,.,1BCD轉換為整數(shù)BCD_I,如圖所示的程序中,.,2整數(shù)轉換為BCD:I_BCD,I_BCD指令是將IN端指定的內容以整數(shù)的格式讀出,然后將其轉換為BCD碼格式輸出到OUT端。,.,2整數(shù)轉換為BCD:I_BCD,在使用I_BCD指令可能會遇到以下情況 (1)IN端的整數(shù)大于999。 這時,PLC不停機,仍然正常運行。由于字的B

43、CD碼最大只能表示C#999(最高四位為符號位)。若IN端的內容大于999,CPU將IN端的內容直接送到OUT端輸出,不經過I_BCD的轉換。這時OUT輸出的內容可能超出BCD碼的范圍。另外OUT端的內容若為BCD碼,也有可能是超過999的整數(shù)轉換出來的,例如整數(shù)2457通過I_BCD指令以后,OUT的值為C#999。因此在使用I_BCD指令時應該保證整數(shù)的小于等于999。,.,2整數(shù)轉換為BCD:I_BCD,如圖所示程序段1(Network1)中,由于整數(shù)2457的二進制碼為2#0000_1001_1001_1001。因此MW10與MW12中的內容相同,以二進制格式表示均為2#0000_10

44、01_1001_1001。,.,2整數(shù)轉換為BCD:I_BCD,(2)IN端的整數(shù)為負整數(shù)時。轉換出的BCD碼最高四位為“1”。如下圖中程序段2所示,MW14中的內容以二進制表示為2#1111_1001_1001_1001。但MW16中的內容為整數(shù)-2457的二進制碼(負整數(shù)以正整數(shù)二進制補碼形式保存),為2#1111_0110_0110_0111。因此,應保證IN端的內容不小于-999。,.,3整數(shù)二進制碼的位取反運算:INV_I,INV_I指令是將IN的指定的內容與W#16#FFFF作邏輯“或”運算,其結果是IN端輸入的狀態(tài)與OUT輸出的狀態(tài)每一位都相反。,.,3整數(shù)二進制碼的位取反運算:

45、INV_I,如圖所示的程序中,MW20中的內容與MW22中的內容完全相反。MW20為2#0000_0000_1110_1110,而MW22中為2#1111_1111_0001_0001。,.,4整數(shù)的二進制補碼: NEG_I,NEG_I是將IN端的內容進行補碼運算(將IN端的內容每一位取反以后再加1)。其結果如果以整數(shù)格式讀出的話,即為整數(shù)值取反。,.,5實數(shù)四舍五入為雙整數(shù):ROUND,ROUND指令是將實數(shù)進行四舍五入取整后轉換成雙整數(shù)的格式,.,6實數(shù)舍去小數(shù)部分為雙整數(shù):TRUNC,TRUNC指令是將實數(shù)舍棄小數(shù)部分,并將其轉換為雙整數(shù)格式。,.,7實數(shù)向上取整為雙整數(shù):CEIL,CE

46、IL指令是將實數(shù)向上取整,結果為大于指定實數(shù)的最小雙整數(shù)。,.,8實數(shù)向下取整為雙整數(shù):FLOOR,FLOOR指令是將實數(shù)向下取整,結果為小于指定實數(shù)的最大雙整數(shù)。,.,字邏輯指令,字與字相“與”指令:WAND_W 雙字與雙字相“與”指令:WAND_DW 字與字相“或”指令:WOR_W 雙字與雙字相“或”指令:WOR_DW 字與字相“異或”指令:WXOR_W 雙字與雙字相“異或”指令:WXOR_DW,.,1字與字相“與”指令:WAND_W,當EN端狀態(tài)為“1”時,執(zhí)行指令。這一指令根據“與”真值表將IN1端和IN2端的內容逐位組合,并將結果送至OUT端指定的地址。,.,1字與字相“與”指令:W

47、AND_W,如圖所示的程序:字邏輯“與”指令的操作結果(MW12中的內容)為2#0000_0000_0000_1001。,.,2字與字相“或”指令:WOR_W,當EN端狀態(tài)為“1”時,執(zhí)行字“或”指令,這一指令根據“或”真值表將輸入IN1和IN2端指定的內容逐位組合,并將結果送至OUT端指定的地址。,.,3字與字相“異或”指令:WXOR_W,當EN端狀態(tài)為“1”時,執(zhí)行字“異或”指令,這一指令根據“異或”真值表將輸入IN1和IN2端指定的內容逐位組合,并將結果送至OUT端指定的地址。,.,3.12實訓7 倉庫存儲控制系統(tǒng),實訓目的 實訓設備 實訓內容: 倉庫存儲控制系統(tǒng) 實訓步驟,.,實訓目的,1掌握計數(shù)器指令的使用方法。 2掌握算術指令的使用方法。 3掌握轉換指令的使用方法。,.,實訓設備,1PLC實驗板(西門子S7-300) 2數(shù)字量給定板 3數(shù)字量輸出板 4導線 5PC機和STEP 7編程調試軟件,.,實訓內容: 倉庫存儲控制系統(tǒng),倉庫存儲控制系統(tǒng)模型如圖所示,.

溫馨提示

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

最新文檔

評論

0/150

提交評論