版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
概述1.1PLC的基本概念與基本結(jié)構(gòu)1.1.1PLC的基本概念可編程序控制器是一種數(shù)字運算操作的電子系統(tǒng),專為在工業(yè)環(huán)境下應(yīng)用而設(shè)計。它采用可編程序的存儲器,用來在其內(nèi)部存儲執(zhí)行邏輯運算、順序控制、定時、計數(shù)和算術(shù)運算等操作的指令,并通過數(shù)字式、模擬式的輸入和輸出,控制各種類型的機械或生產(chǎn)過程??删幊绦蚩刂破骷捌溆嘘P(guān)設(shè)備,都應(yīng)按易于使工業(yè)控制系統(tǒng)形成一個整體,易于擴充其功能的原則設(shè)計。1.1.2PLC的基本結(jié)構(gòu)圖1-1PLC控制系統(tǒng)示意圖1.2PLC的特點與應(yīng)用領(lǐng)域1.2.1PLC的特點1.編程方法簡單易學(xué)2.功能強,性能價格比高3.硬件配套齊全,用戶使用方便,適應(yīng)性強4.可靠性高,抗干擾能力強5.系統(tǒng)的設(shè)計、安裝、調(diào)試工作量少6.維修工作量小,維修方便7.體積小,能耗低1.2.2PLC的應(yīng)用領(lǐng)域1.開關(guān)量邏輯控制2.運動控制3.閉環(huán)過程控制4.數(shù)據(jù)處理5.通信聯(lián)網(wǎng)第2章PLC的硬件與工作原理2.1PLC的硬件2.1.1PLC的物理結(jié)構(gòu)PLC的物理結(jié)構(gòu):整體式、模塊式圖2-1S7-200CPU模塊的外形圖2.1.2CPU模塊中的存儲器存儲器分類與特點:RAM、ROM、EPROM、EEPROM2.1.3I/O模塊圖2-3輸入電路圖2-4繼電器輸出電路圖2-5場效應(yīng)管輸出電路2.2PLC的工作原理2.2.1用觸點和線圈實現(xiàn)邏輯運算圖2-6基本邏輯電路圖2-7異步電動機控制電路2.2.2PLC的操作模式RUN模式執(zhí)行用戶程序,“RUN”LED亮。STOP模式不執(zhí)行用戶程序,可將用戶程序和硬件設(shè)置信息下載到PLC。TERM(終端)模式與通信有關(guān)。CPU模塊上的模式開關(guān)在RUN位置時,上電自動進入RUN模式。PC-PLC之間建立起通信連接后,若模式開關(guān)在RUN或TERM位置,可用編程軟件中的命令改變CPU的工作模式。2.2.3PLC的工作原理圖2-8掃描過程中斷程序的處理與立即I/O指令可提高響應(yīng)速度。 圖2-9PLC外部接線圖與梯形圖LD I0.1O Q0.0AN I0.2= Q0.0圖2-9中的梯形圖完成的邏輯運算為外部輸入電路接通時,對應(yīng)的輸入映像寄存器為ON(1狀態(tài)),梯形圖中對應(yīng)的常開觸點閉合,常閉觸點斷開。梯形圖中Q0.0的線圈“通電”,對應(yīng)的硬件繼電器的常開觸點閉合,接在標(biāo)號為0.0的端子的外部負(fù)載工作。2.3S7-200CN系列PLC西門子PLC的分類:S7、M7、C7、WinAC。2.3.1S7-200的特點1.功能強,有PID參數(shù)自整定、配方、數(shù)據(jù)歸檔等功能。2.先進的程序結(jié)構(gòu)3.靈活方便的尋址方法4.功能強大、使用方便的編程軟件5.簡化復(fù)雜編程任務(wù)的向?qū)Чδ?.強大的通信功能7.品種豐富的配套人機界面8.有競爭力的價格9.完善的網(wǎng)上技術(shù)支持2.3.2CPU模塊CPU221/222/224/226集成I/O點:10/14/24/40點;程序空間4096~24576B。最大DI/DO256/256點;最大AI/AO35/32點;最多7個擴展模塊。定時器/計數(shù)器256/256點;高速計數(shù)器4/6點30kHz,2點20kHz高速輸出;模擬電位器1/2個,實時鐘,1/2個RS-485接口;4點輸入中斷,2個定時中斷(1~255ms)。CPU224XP:2AI、1AO,2通信口,高速輸入200kHz、高速輸出100kHz。PPI、MPI、自由通信口協(xié)議和PROFIBUS點對點協(xié)議;使用STEP7-Micro/WIN32編程軟件。2.3.3數(shù)字量擴展模塊數(shù)字量I/O:8DI、16DI、4DO、8DO、4/4、8/8、16/16、32/32DI/DO。輸入有24VDC和230VAC兩種,輸出有24VDC和繼電器型。2.3.4模擬量擴展模塊與熱電偶熱電阻擴展模塊模擬量模塊的作用:A/D轉(zhuǎn)換與D/A轉(zhuǎn)換。模擬量I/O:12位4AI、2AO、4AI/1AO;15位4路熱電偶、2路熱電阻模塊。模擬量輸入模塊有多種量程(與模塊型號有關(guān)),用模塊上的DIP開關(guān)設(shè)置量程。圖2-10模擬量輸入數(shù)據(jù)字的格式【例2-2】壓力變送器(0~10MPa)的輸出信號為DC4~20mA,模擬量輸入模塊將0~20mA轉(zhuǎn)換為0~32000的數(shù)字量,即0~10000kPa對應(yīng)于數(shù)字量6400~32000,設(shè)轉(zhuǎn)換后得到的數(shù)字為N,試求以kPa為單位的壓力值。 解:4~20mA的模擬量對應(yīng)于數(shù)字量6400~32000,壓力的計算公式為模擬量輸出模塊的量程有10V和0~20mA兩種:圖2-11模擬量輸出數(shù)據(jù)字的格式2.3.6STEP7-Micro/WIN編程軟件與顯示面板簡介1.STEP7-Micro/WIN編程軟件2.顯示面板(1)文本顯示器TD-200C和TD-400C(2)S7-200專用的觸摸屏:TP070、TP170micro、TP177micro和K-TP178micro。I/O地址分配與外部接線2.4.1本機I/O與擴展I/O的地址分配圖2-13CPU224XP的本地和I/O地址分配舉例2.4.2S7-200的外部接線圖2-14交流電源系統(tǒng)的外部接線圖2-15直流電源系統(tǒng)的外部接線感性負(fù)載的處理,電阻、電感和白熾燈的區(qū)別。圖2-16感性輸出電路的處理2.1填空(1)PLC主要由、、和組成。(2)繼電器的線圈“斷電”時,其常開觸點,常閉觸點。(3)外部輸入電路接通時,對應(yīng)的輸入過程映像寄存器I為狀態(tài),梯形圖中對應(yīng)的常開觸點,常閉觸點____。(4)若梯形圖中輸出Q的線圈“斷電”,對應(yīng)的輸出過程映像寄存器為狀態(tài),在修改輸出階段后,繼電器型輸出模塊中對應(yīng)的硬件繼電器的線圈,其常開觸點,外部負(fù)載。第3章PLC程序設(shè)計基礎(chǔ)3.1PLC的編程語言與程序結(jié)構(gòu)3.1.1PLC編程語言的國際標(biāo)準(zhǔn)IEC61131-3標(biāo)準(zhǔn)的5種編程語言:(1)順序功能圖(SequentialFunctionChart); (2)梯形圖(LadderDiagram);(3)功能塊圖(FunctionBlockDiagram);(4)指令表(InstructionList);(5)結(jié)構(gòu)文本(StructuredText)。圖3-1PLC的編程語言圖3-2梯形圖與語句表 圖3-3功能塊圖“能流”(PowerFlow)只能從左向右流動。1個網(wǎng)絡(luò)(Network)中只能放1塊獨立電路。功能塊圖(FBD)類似于數(shù)字邏輯門電路,“LOGO!”使用FBD。STEP7-Micro/WIN的IEC61131-3指令集只提供梯形圖、功能塊圖。地址前加“%”,其指令不區(qū)分?jǐn)?shù)據(jù)類型。3.1.2S7-200的程序結(jié)構(gòu)S7-200的程序由主程序、子程序和中斷程序組成。1.主程序:每次掃描都要執(zhí)行主程序。每個項目都必須且只能有一個主程序(OB1)。2.子程序:可以多次調(diào)用,簡化程序代碼、減少掃描時間、容易移植到別的項目。3.中斷程序:在中斷事件發(fā)生時由PLC的操作系統(tǒng)調(diào)用。3.2存儲器的數(shù)據(jù)類型與尋址方式3.2.1數(shù)據(jù)在存儲器中存取的方式1.用1位二進制數(shù)表示開關(guān)量。圖3-4位數(shù)據(jù)的存放I3.2:“字節(jié).位”尋址方式。2.多位二進制數(shù):2#1010=123+022+121+020=10。3.十六進制數(shù):用于簡化二進制數(shù)的表示方法,“逢16進1”,用0~9和A~F來表示16個數(shù),16#2F對應(yīng)的十進制數(shù)為2161+15160=47。4.字節(jié)、字與雙字圖3-5字、字節(jié)和雙字的組成以起始字節(jié)的地址作為字和雙字的地址。起始字節(jié)為最高位的字節(jié)。I、Q、V、M、S、SM、L均可按位、字節(jié)、字和雙字來存取。5.負(fù)數(shù)的表示方法用二進制補碼表示有符號數(shù),最高位為符號位,最大的16位正數(shù)為16#7FFF(32767)。6.BCD碼BCD碼用4位二進制數(shù)來表示1位十進制數(shù)。十進制數(shù)23對應(yīng)的BCD碼為16#23。BCD碼用于輸入輸出設(shè)備。3.2.2CPU的存儲區(qū)1.輸入過程映像寄存器(I)2.輸出過程映像寄存器(Q)3.變量存儲區(qū)V是全局存儲器,可以被所有的POU存取。4.位存儲區(qū)(M)5.定時器存儲區(qū)(T)6.計數(shù)器存儲區(qū)(C)7.高速計數(shù)器(HC)8.32位累加器(AC0~AC3)可以按字節(jié)、字和雙字來存取。按字節(jié)、字只能存取累加器的低8位或低16位。9.特殊存儲器(SM)特殊存儲器(SM)標(biāo)志位:SM0.0一直為1狀態(tài);SM0.1僅在執(zhí)行用戶程序的第一個掃描周期為1狀態(tài)。SM0.4和SM0.5分別提供周期為1分鐘和1秒的時鐘脈沖。SM1.0、SM1.1和SM1.2分別為零標(biāo)志、溢出標(biāo)志和負(fù)數(shù)標(biāo)志。10.局部存儲器L作為暫時存儲器,或給子程序傳遞參數(shù)。11.模擬量輸入字(AI)從偶數(shù)字節(jié)地址開始(例如AIW2),為只讀數(shù)據(jù)。12.模擬量輸出字(AQ)從偶數(shù)字節(jié)地址開始(例如AQW2),用戶不能讀取。13.順序控制繼電器(S):順序控制編程用。14.常數(shù)的表示方法與范圍15.實數(shù)(浮點數(shù)):在編程軟件中,用小數(shù)表示浮點數(shù)。圖3-6浮點數(shù)的格式16.字符串的格式圖3-7字符串的格式I0.0為絕對地址,%I0.0是IEC編輯器中的地址。#INPUT1:局部變量符號地址;“INPUT1”:全局符號地址。“#”號和雙引號是編程軟件自動添加的。3.2.3直接尋址與間接尋址直接尋址指定了存儲器的區(qū)域、長度和位置,例如VB200。圖3-8使用指針的間接尋址【例3-1】表格存放在VW0開始的100個字中,表格的偏移量(表格中字的序號)在VD200中,在I0.0的上升沿,用間接尋址將表格中相對于偏移量的數(shù)據(jù)值傳送到VW210中去。地址相鄰的兩個字的地址增量為2(兩個字節(jié))。LD I0.0EU //在I0.0的上升沿MOVD &VB0,VD300 //表格的起始地址送VD300+D VD200,VD300+D VD200,VD300 //起始地址加偏移量MOVW *VD300,VW210 //讀取表格中的數(shù)據(jù)3.3位邏輯指令3.3.1觸點指令圖3-9觸點與輸出指令 圖3-10上升沿檢測并聯(lián)觸點總是并在它前面已經(jīng)連好的電路的兩端。圖3-11ALD與OLD指令圖3-12ALD與OLD指令的堆棧操作【例3-3】已知圖3-13中的語句表程序,畫出對應(yīng)的梯形圖。圖3-13語句表與梯形圖圖3-14堆棧指令圖3-15堆棧指令的使用圖3-16雙重堆棧的使用圖3-17立即觸點與立即輸出指令圖3-18置位指令與復(fù)位指令3.3.2輸出指令與其他指令圖3-19置位優(yōu)先與復(fù)位優(yōu)先觸發(fā)器圖3-20取反與跳變指令3.4定時器與計數(shù)器指令3.4.1定時器指令圖3-21接通延時定時器圖3-22斷開延時定時器圖3-23保持型接通延時定時器3.4.2計數(shù)器指令圖3-25加計數(shù)器圖3-26減計數(shù)器 圖3-27加減計數(shù)器裝載輸入(LD)為ON時,計數(shù)器位被復(fù)位,并把設(shè)定值裝入當(dāng)前值。減至0時,停止計數(shù),計數(shù)器位被置1。習(xí)題1.填空(1)接通延時定時器(TON)的輸入(IN)電路時開始定時,當(dāng)前值大于等于設(shè)定值時其定時器位變?yōu)?,其常開觸點,常閉觸點,(2)接通延時定時器(TON)的輸入(IN)電路時被復(fù)位,復(fù)位后其常開觸點,常閉觸點,當(dāng)前值等于。(3)若加計數(shù)器的計數(shù)輸入電路(CU)、復(fù)位輸入電路(R),計數(shù)器的當(dāng)前值加1。當(dāng)前值大于等于設(shè)定值(PV)時,其常開觸點,常閉觸點。復(fù)位輸入電路時,計數(shù)器被復(fù)位,復(fù)位后其常開觸點,常閉觸點,當(dāng)前值為。(4)輸出指令(=)不能用于過程映像寄存器。(5)SM在首次掃描時為ON,SM0.0一直為。圖3-32梯形圖改錯第4章數(shù)字量控制系統(tǒng)梯形圖程序設(shè)計方法4.1梯形圖的經(jīng)驗設(shè)計法4.1.1有記憶功能的電路圖4-1有記憶功能的電路4.1.2定時器應(yīng)用電路圖4-2延時接通/延時斷開電路圖4-3 長延時電路圖4-4閃爍電路4.1.3經(jīng)驗設(shè)計法舉例圖4-5小車自動往復(fù)運動的繼電器控制電路圖圖4-7梯形圖常閉觸點輸入信號的處理4.2根據(jù)繼電器電路圖設(shè)計梯形圖的方法4.2.1基本方法圖4-9PLC外部接線圖圖4-10梯形圖4.2.2注意事項1.應(yīng)遵守梯形圖語言中的語法規(guī)定2.設(shè)置中間單元3.盡量減少PLC的輸入信號和輸出信號4.設(shè)立外部聯(lián)鎖電路5.梯形圖的優(yōu)化設(shè)計6.外部負(fù)載的額定電壓4.3順序控制設(shè)計法與順序功能圖4.3.1順序控制設(shè)計法4.3.2步與動作1.步的基本概念2.初始步3.與步對應(yīng)的動作或命令4.活動步圖4-11波形圖 圖4-12順序功能圖圖4-13順序功能圖圖4-14動作4.3.3有向連線與轉(zhuǎn)換條件圖4-15轉(zhuǎn)換條件SM0.1的作用。4.3.4順序功能圖的基本結(jié)構(gòu)圖4-16單序列、選擇序列與并行序列4.3.5順序功能圖中轉(zhuǎn)換實現(xiàn)的基本規(guī)則1.轉(zhuǎn)換實現(xiàn)的條件(1)該轉(zhuǎn)換所有的前級步都是活動步。(2)相應(yīng)的轉(zhuǎn)換條件得到滿足。2.轉(zhuǎn)換實現(xiàn)應(yīng)完成的操作(1)使所有的后續(xù)步變?yōu)榛顒硬健?2)使所有的前級步變?yōu)椴换顒硬?。圖4-19轉(zhuǎn)換的同步實現(xiàn) 圖4-20信號關(guān)系圖3.繪制順序功能圖時的注意事項(1)兩個步絕對不能直接相連,必須用一個轉(zhuǎn)換將它們分隔開。(2)兩個轉(zhuǎn)換也不能直接相連,必須用一個步將它們分隔開。(3)不要漏掉初始步。(4)在順序功能圖中一般應(yīng)有由步和有向連線組成的閉環(huán)。4.順序控制設(shè)計法的本質(zhì)圖4-26改錯順序控制梯形圖的設(shè)計方法5.1使用起保停電路的順序控制梯形圖設(shè)計方法圖5-2、圖5-3鼓風(fēng)機與引風(fēng)機的順序功能圖和梯形圖圖5-4選擇序列與并行序列圖5-5僅有兩步的閉環(huán)的處理5-6液體混合控制系統(tǒng)的順序功能圖圖5-6液體混合系統(tǒng)的順序功能圖和梯形圖 圖5-7順序功能圖與梯形圖5.2以轉(zhuǎn)換為中心的順序控制梯形圖設(shè)計方法圖5-8動力頭控制系統(tǒng)的順序功能圖與梯形圖圖5-9選擇序列與并行序列圖5-10轉(zhuǎn)換的同步實現(xiàn)圖5-11剪板機控制系統(tǒng)的順序功能圖和梯形圖5.3使用SCR指令的順序控制梯形圖設(shè)計方法圖5-12順序功能圖與梯形圖圖5-13選擇序列與并行序列的順序功能圖和梯形圖圖5-14、15硫化機控制的順序功能圖與梯形圖5.4具有多種工作方式的系統(tǒng)的順序控制梯形圖設(shè)計方法5.4.1系統(tǒng)的硬件結(jié)構(gòu)與工作方式圖5-16機械手示意圖圖5-17操作面板圖5-18外部接線圖5.4.2使用起保停電路的編程方法 圖5-19OB1程序結(jié)構(gòu) 圖5-20公用程序 圖5-21手動程序圖5-22~圖5-24圖5-25自動返回原點的順序功能圖與梯形圖 第6章PLC的功能指令6.1S7-200的指令規(guī)約6.1.1使能輸入與使能輸出圖6-1EN與ENO圖6-1中的梯形圖對應(yīng)的語句表為LD I2.4MOVW VW10,VW14 //VW10→VW14AENO/I VW12,VW14 //VW14/VW12→VW14AENOMOVB VB0,VB2 //VB0→VB2除數(shù)VW12為0時無能流流出。刪除AENO后兩個方框變?yōu)椴⒙?lián)。6.1.2梯形圖中的網(wǎng)絡(luò)與指令一個網(wǎng)絡(luò)中只能有一塊獨立電路。輸入語句表指令時必須使用英文的標(biāo)點符號。6.2程序控制指令1.條件結(jié)束指令與停止指令2.監(jiān)控定時器復(fù)位指令3.循環(huán)指令圖6-2循環(huán)指令 【例6-1】在I0.5的上升沿,求VB10~VB29中20個字節(jié)的異或值。 網(wǎng)絡(luò)1 LD I0.5 EU //在I0.5的上升沿MOVB 0,AC0 //清累加器0MOVD &VB10,AC1 //累加器1(存儲區(qū)指針)指向VB10FOR VW0,1,20 //循環(huán)開始網(wǎng)絡(luò)2LD SM0.0XORB *AC1,AC0 //字節(jié)異或INCB AC1 //指針AC1的值加1,指向下一個變量存儲器字節(jié)網(wǎng)絡(luò)3NEXT //循環(huán)結(jié)束網(wǎng)絡(luò)4 LD I0.5 EUMOVB AC0,VB40 //保存異或結(jié)果4.跳轉(zhuǎn)與標(biāo)號指令6.3局部變量表與子程序6.3.1局部變量表1.局部變量與全局變量程序中的每個程序組織單元POU(ProgramOrganizationalUnit)均有由64字節(jié)L存儲器組成的局部變量表。局部變量只在它被創(chuàng)建的POU中有效,全局符號在各POU中均有效。局部變量有以下優(yōu)點:(1)盡量使用局部變量的子程序易于移植到別的項目。(2)如果使用臨時變量(TEMP),同一片物理存儲器可以在不同的程序中重復(fù)使用。2.局部變量的類型TEMP(臨時變量):暫時保存在局部數(shù)據(jù)區(qū)中的變量。主程序或中斷程序的局部變量表只有TEMP變量。IN(輸入變量):由調(diào)用它的POU提供的傳入子程序的輸入?yún)?shù)。OUT(輸出變量):子程序返回給調(diào)用它的POU的輸出參數(shù)。IN_OUT(輸入_輸出變量):其初始值由調(diào)用它的POU提供,并用同一變量將子程序的執(zhí)行結(jié)果返回給調(diào)用它的POU。3.局部變量的地址分配4.在局部變量表中增加新的變量5.局部變量的數(shù)據(jù)類型檢查6.3.2子程序的編寫與調(diào)用1.子程序的作用子程序?qū)⒊绦蚍殖扇菀坠芾淼男K,使程序結(jié)構(gòu)簡單清晰,易于查錯和維護。子程序調(diào)用是有條件的,可以多次調(diào)用,使用子程序可以減少掃描時間。2.子程序的創(chuàng)建3.子程序的調(diào)用舉例 圖6-6在主程序中調(diào)用子程序 LDI0.4 CALL模擬量計算,AIW2,VW20,+2356,VD404.子程序的有條件返回5.子程序中的定時器6.4數(shù)據(jù)處理指令6.4.1比較指令圖6-9比較指令圖6-10自復(fù)位接通延時定時器6.4.2數(shù)據(jù)傳送指令1.字節(jié)、字、雙字和實數(shù)的傳送2.字節(jié)立即讀指令MOV_BIR讀取1個字節(jié)的物理輸入,字節(jié)立即寫指令MOV_BIW寫1個字節(jié)的物理輸出。3.字節(jié)、字、雙字的塊傳送指令“BMBVB20,VB100,4”指令將VB20~VB23中的數(shù)據(jù)被傳送到VB100~VB103。4.字節(jié)交換指令6.4.3移位與循環(huán)指令1.右移位和左移位指令2.循環(huán)右移位和循環(huán)左移位指令圖6-12移位與循環(huán)移位指令3.移位寄存器指令圖6-12移位寄存器指令6.4.4數(shù)據(jù)轉(zhuǎn)換指令1.段譯碼指令2.?dāng)?shù)字轉(zhuǎn)換指令3.實數(shù)轉(zhuǎn)換為雙整數(shù)的指令:ROUND將實數(shù)四舍五入后轉(zhuǎn)換為雙字整數(shù),TRUNC是截位取整指令。4.譯碼指令5.編碼指令6.4.5表功能指令填表指令圖6-18填表指令舉例2.查表指令 圖6-19查表指令舉例命令參數(shù)CMD=1~4,分別代表“=”、“<>”(不等于)、“<”和“>”。3.先入先出(FIFO)指令圖6-20先入先出指令舉例4.后入先出(LIFO)指令圖6-21后入先出指令舉例5.存儲器填充指令圖6-22填充指令6.4.6讀寫實時時鐘指令讀實時時鐘指令TODR從實時鐘讀取當(dāng)前時間和日期,并把它們裝入以T為起始地址的8字節(jié)緩沖區(qū),依次存放年、月、日、時、分、秒、0和星期,1為星期日,2~7為星期1~6。寫實時時鐘指令TODW將起始地址為T的8字節(jié)緩沖區(qū)中的時間和日期寫入實時鐘。【例6-5】出現(xiàn)事故時,I0.0的上升沿產(chǎn)生中斷,使輸出Q1.0立即置位,同時將事故發(fā)生的日期和時間保存在VB10~VB17中。//主程序OB1LD SM0.1 //第一次掃描時ATCH 0,0 //指定在I0.0的上升沿執(zhí)行0號中斷程序ENI //允許全局中斷//中斷程序0(INT_0)LD SM0.0 //該位總是為ONSI Q1.0,1 //使Q1.0立即置位TODR VB10 //讀實時時鐘6.5數(shù)學(xué)運算指令6.5.1數(shù)學(xué)運算指令梯形圖:IN1+IN2=OUT,IN1-IN2=OUT,IN1*IN2=OUT,IN1/IN2=OUT語句表:IN1+OUT=OUT,OUT-IN1=OUT,IN1*OUT=OUT,OUT/IN1=OUT有16位整數(shù)運算、32位雙整數(shù)運算、實數(shù)運算和加1、減1指令。整數(shù)乘、除法的操作數(shù)為兩個16位整數(shù),乘積或商均為16位,不保留余數(shù)。雙整數(shù)乘、除法的操作數(shù)和運算結(jié)果均為32位。此外還有MUL:整數(shù)乘法產(chǎn)生雙整數(shù)指令。DIV:整數(shù)除法產(chǎn)生雙整數(shù)指令。兩個16位整數(shù)相除,結(jié)果的高16位為余數(shù),低16位為商?!纠?-8】在輸入信號I0.4的上升沿,用模擬電位器0來設(shè)置定時器T37的設(shè)定值(5~20s),即從SMB28讀出的數(shù)字0~255對應(yīng)于5~20s。設(shè)讀出的數(shù)字為N,100ms定時器的設(shè)定值為(200–50)×N/255+50=150×N/255+50(0.1s) 網(wǎng)絡(luò)1LD I0.4EU //在I0.4的上升沿MOVB SMB28,AC0MUL +150,AC0 //150乘以模擬電位器的轉(zhuǎn)換值/D +255,AC0 //除以255,雙整數(shù)除法+I +50,AC0 //加偏移量50(5s)MOVW AC0,VW10網(wǎng)絡(luò)2LD I0.5TON T37,VW10 //T37以VW10中的數(shù)值為設(shè)定值6.5.2浮點數(shù)函數(shù)運算指令包括正弦指令SIN、余弦指令COS和正切指令TAN,自然對數(shù)指令LN和自然指數(shù)指令EXP。角度的單位為弧度。6.5.3邏輯運算指令【例6-9】在I0.0的上升沿執(zhí)行下面程序中的邏輯運算,運算前后各存儲單元中的值如圖6-27所示。LD I0.0EUINVBVB0 //字節(jié)取反指令A(yù)NDB VB1,VB2 //字節(jié)與指令 ORB VB3,VB4 //字節(jié)或指令XORB VB5,VB6 //字節(jié)異或指令圖6-27取反與邏輯運算舉例6.6中斷程序與中斷指令6.6.1中斷程序中斷允許指令ENI允許處理所有被連接的中斷事件。禁止中斷指令DISI禁止處理所有中斷事件。進入RUN模式時自動禁止中斷,中斷程序越短越好。6.6.2中斷事件與中斷指令中斷連接指令A(yù)TCH建立中斷事件(EVNT)與對應(yīng)的中斷程序(INT)的聯(lián)系。中斷事件由中斷事件號指定(見表6-12),中斷程序由中斷程序號指定。中斷分離指令DTCH斷開中斷事件與中斷程序之間的聯(lián)系。中斷優(yōu)先級(見表6-12)分組:通信(最高優(yōu)先級)、I/O中斷和定時中斷。I/O中斷:I0.0~I0.3上升沿、下降沿中斷;HSC當(dāng)前值等于設(shè)定值、計數(shù)方向改變和計數(shù)器外部復(fù)位中斷;輸出完指定的脈沖數(shù)時產(chǎn)生的中斷。圖6-28中斷指令定時中斷0/1的周期為1~255ms,分別寫入SMB34和SMB35。每當(dāng)定時時間到時,執(zhí)行相應(yīng)的定時中斷程序。定時器T32/T96中斷的時間周期最大為32.767s。【例6-11】在I0.0的上升沿通過中斷使Q0.0立即置位。在I0.1的下降沿通過中斷使Q0.0立即復(fù)位。//主程序OB1LD SM0.1 //第一次掃描時ATCH INT_0,0 //I0.0上升沿時執(zhí)行0號中斷程序ATCH INT_1,3 //I0.1下降沿時執(zhí)行1號中斷程序ENI //允許全局中斷//中斷程序0(INT_0)LD SM0.0 //該位總是為ONSI Q0.0,1 //使Q0.0立即置位//中斷程序1(INT_1)LD SM0.0 //該位總是為ONRI Q0.0,1 //使Q0.0立即復(fù)位【例6-12】用定時中斷0實現(xiàn)周期為2s的高精度定時。//主程序OB1LD SM0.1 //第一次掃描時MOVB 0,VB10 //將中斷次數(shù)計數(shù)器清0MOVB 250,SMB34 //設(shè)定時中斷0的中斷時間間隔為250msATCH INT_0,10 //指定產(chǎn)生定時中斷0時執(zhí)行0號中斷程序ENI //允許全局中斷//中斷程序INT_0,每隔250ms中斷一次LD SM0.0 //該位總是為ONINCB VB10 //中斷次數(shù)計數(shù)器加1LDB= 8,VB10 //如果中斷了8次(2s)MOVB 0,VB10 //將中斷次數(shù)計數(shù)器清0INCB QB0 //每2s將QB0加16.7高速計數(shù)器與高速脈沖輸出指令6.7.1編碼器高速計數(shù)器一般與增量式編碼器配合使用,雙通道A、B相型編碼器提供轉(zhuǎn)速和轉(zhuǎn)軸旋轉(zhuǎn)方向的信息。三通道增量式編碼器的Z相零位脈沖用作系統(tǒng)清零信號,或坐標(biāo)的原點,以減少測量的積累誤差。圖6-29A、B相型編碼器的輸出波形6.7.2高速計數(shù)器的工作模式與外部輸入信號(1)無外部方向輸入信號的單相加/減計數(shù)器(模式0~2):用控制字節(jié)控制計數(shù)方向。(2)有外部方向輸入信號的單相加/減計數(shù)器(模式3~5)。(3)有加計數(shù)時鐘脈沖和減計數(shù)時鐘脈沖輸入的雙相計數(shù)器(模式6~8)。(4)A/B相正交計數(shù)器(模式9~11)。圖6-301倍速正交模式操作舉例 圖6-314倍速正交模式操作舉例根據(jù)有無復(fù)位輸入和啟動輸入,上述的4類工作模式又可以各分為3種。高速計數(shù)器的外部輸入信號見表6-16。6.7.3高速計數(shù)器的程序設(shè)計【例6-13】用指令向?qū)蒆SC0的初始化程序和中斷程序,HSC0為無外部方向輸入信號的單相加/減計數(shù)器(模式0),計數(shù)值為10000~20000時Q4.0輸出為1。(用編程軟件演示)6.7.4高速脈沖輸出與開環(huán)位置控制占空比:脈沖寬度與脈沖周期之比。脈沖列(PTO)功能提供周期與脈沖數(shù)目可以由用戶控制的占空比為50%的方波脈沖輸出。脈沖寬度調(diào)制(PWM)功能提供連續(xù)的、周期與脈沖寬度可以由用戶控制的輸出。圖6-34位置控制系統(tǒng)的速度與加減速時間CPU有兩個PTO/PWM發(fā)生器,分別通過Q0.0或Q0.1輸出高速脈沖。 (演示用位置控制向?qū)蒔WM指令PWMx_RUN)。(演示用位置控制向?qū)ЫM態(tài)脈沖列輸出PTO的包絡(luò)曲線)。PLC雙線圈輸出的規(guī)則及在程序設(shè)計中的應(yīng)用(介紹PLC雙線圈輸出的規(guī)則,一般情況下不允許出現(xiàn)雙線圈輸出,在三種特定的條件下允許雙線圈輸出。合理使用雙線圈輸出可以解決程序設(shè)計中的一些問題,還可以減少執(zhí)行程序的時間。
問:什么是雙線圈輸出?
答:在用戶程序中,同一編程元件的線圈使用了兩次或多次,稱為雙線圈輸出。
問:一般情況下為什么不允許雙線圈輸出?
答:圖1a中有輸出繼電器Y0的兩個線圈,在同一掃描周期,兩個線圈的邏輯運算結(jié)果可能剛好相反,即Y0的線圈一個“通電”,一個“斷電”。因為在程序執(zhí)行完后才將Y0的ON/OFF狀態(tài)送到輸出模塊,對于Y0控制的外部負(fù)載來說,真正起作用的是最后一個Y0的線圈的狀態(tài)。
圖1雙線圈輸出
由PLC的工作原理可知,PLC程序執(zhí)行的結(jié)果(即運算得到的線圈的通斷狀態(tài)),馬上就可以被后面的邏輯運算使用。Y0的線圈的通斷狀態(tài)除了對外部負(fù)載起作用外,通過它的觸點,還可能對程序中別的元件的狀態(tài)產(chǎn)生影響。圖1a中Y0兩個線圈所在的電路將
梯形圖劃分為3個區(qū)域。因為PLC是循環(huán)執(zhí)行程序的,A區(qū)和C區(qū)中Y0的狀態(tài)相同。如果兩個線圈的通斷狀態(tài)相反,不同區(qū)域中Y0的觸點的狀態(tài)也是相反的,可能使程序運行異常。作者曾遇到因雙線圈引起的輸出繼電器快速振蕩的異?,F(xiàn)象。所以一般應(yīng)避免出現(xiàn)雙線圈輸出現(xiàn)象,例如可以將圖1a改為圖1b。有時同一元件的線圈分別在不同的程序段中(如自動程序和手動程序),不能用這種合并控制電路的方法來處理雙線圈問題。
問:為什么在某些情況下允許雙線圈輸出?
答:雖然同一元件的線圈在程序中出現(xiàn)兩次或多次,只要能保證在同一掃描周期內(nèi)只執(zhí)行其中一個線圈對應(yīng)的邏輯運算,這樣的雙線圈輸出是允許的。
圖2:手動/自動程序
問:那幾種情況允許雙線圈輸出?
下列三種情況允許雙線圈輸出:
(1)在跳步條件相反的兩個程序段(如自動程序和手動程序)中,允許出現(xiàn)雙線圈現(xiàn)象,即同一元件的線圈可以在兩個程序段中分別出現(xiàn)一次。圖2中的X10是自動/手動切換開關(guān),當(dāng)它為ON時將跳過自動程序,執(zhí)行手動程序;為OFF時將跳過手動程序,執(zhí)行自動程序。實際上CPU只執(zhí)行正在處理的程序段中雙線圈元件的線圈輸出指令。
(2)在調(diào)用條件相反的兩個子程序中,允許出現(xiàn)雙線圈現(xiàn)象,即同一元件的線圈可以在兩個子程序中分別出現(xiàn)一次。圖3中X20為ON時調(diào)用在指針P0處開始的子程序,X20為OFF時調(diào)用在指針P1處開始的子程序。圖中的SRET為子程序返回指令,F(xiàn)END為主程序結(jié)束指令。
與跳步指令控制的程序段相同,子程序中的指令只是在該子程序被調(diào)用時才執(zhí)行,沒有調(diào)用時不執(zhí)行,因為調(diào)用它們的條件相反,在一個掃描周期內(nèi)只能調(diào)用一個子程序,實際上只執(zhí)行正在處理的子程序中雙線圈元件的線圈輸出指令。
圖3:子程序調(diào)用
(3)如果使用三菱PLC的STL(步進梯形)指令,由于CPU只執(zhí)行活動步對應(yīng)的STL觸點驅(qū)動的電路塊,使用STL指令時允許雙線圈輸出,即不同時閉合的STL觸點可以分別驅(qū)動同一編程元件的一個線圈。
在順序功能圖中,除了與并行序列有關(guān)的步之外,在任何時候各步對應(yīng)的狀態(tài)繼電器只有一個為ON。以圖4為例,只有當(dāng)某一STL觸點(圖中的“胖觸點”)接通時,PLC才執(zhí)行STL觸點控制的程序。圖3中的狀態(tài)繼電器S21對應(yīng)的步為活動步時,S21的STL觸點閉合,Y1的第一個線圈“通電”。此時S23對應(yīng)的步為不活動步,沒有執(zhí)行Y1的第2個線圈對應(yīng)的輸出指令。
圖4:STL指令與雙線圈
同一元件的線圈不能在可能同時為活動步的STL區(qū)內(nèi)出現(xiàn)。并行序列中的各條支路是同時執(zhí)行的,并行序列中兩條不同支路中的某兩步可能同時為活動步,它們的觸點可能同時閉合,在處
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年影視作品制作與版權(quán)銷售合同
- 《當(dāng)代文藝娛樂化問題研究》
- 2024年柴油發(fā)電機交易協(xié)議范例
- 《監(jiān)測組織因子、C-反應(yīng)蛋白、炎性因子預(yù)防腫瘤患者PICC靜脈血栓的臨床觀察》
- 《股權(quán)質(zhì)押、產(chǎn)融結(jié)合與融資約束》
- 2024年度數(shù)據(jù)安全保護合同-PKISSL技術(shù)應(yīng)用
- 《行政非訴執(zhí)行裁執(zhí)分離問題研究》
- 《規(guī)訓(xùn)理論視域下《我知道籠中鳥為何歌唱》中瑪格麗特的自我救贖研究》
- 2024年度網(wǎng)絡(luò)安全防護與維護合同
- 2024年度商務(wù)咨詢合同
- 振蕩指標(biāo)MACD(波段操作精解)
- 2024年四川航空股份有限公司招聘筆試參考題庫含答案解析
- 醫(yī)學(xué)檢驗專業(yè)職業(yè)規(guī)劃書
- 喘證診療方案臨床療效評價總結(jié)分析
- 慈善協(xié)會各項管理制度
- 外研版小學(xué)英語六年級上每課時教學(xué)反思
- 語法講解一般將來時課件
- 品牌獨家代理合作協(xié)議
- 食材、副食品配送方案技術(shù)標(biāo)
- 危大工程清單及安全管理措施(樣表)
- 浙江省溫州十校聯(lián)合體2022-2023學(xué)年高二上學(xué)期期中聯(lián)考化學(xué)試題(含答案)
評論
0/150
提交評論