三、第3章(1)PLC程序設(shè)計(jì)基礎(chǔ)_第1頁(yè)
三、第3章(1)PLC程序設(shè)計(jì)基礎(chǔ)_第2頁(yè)
三、第3章(1)PLC程序設(shè)計(jì)基礎(chǔ)_第3頁(yè)
三、第3章(1)PLC程序設(shè)計(jì)基礎(chǔ)_第4頁(yè)
三、第3章(1)PLC程序設(shè)計(jì)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第三章PLC程序設(shè)計(jì)基礎(chǔ)3.1

存儲(chǔ)器的數(shù)據(jù)類型與尋址方式3.2

可編程序控制器的編程語(yǔ)言和程序結(jié)構(gòu)3.1

存儲(chǔ)器的數(shù)據(jù)類型與尋址方式

3.1.1數(shù)據(jù)在存儲(chǔ)器中存取的方式

1.用1位二進(jìn)制數(shù)表示開關(guān)量。2.多位二進(jìn)制數(shù)表示數(shù)字:2#1010=10。3.十六進(jìn)制數(shù)表示多位二進(jìn)制數(shù):用于簡(jiǎn)化二進(jìn)制數(shù)的表示方法,“逢16進(jìn)1”

。二進(jìn)制(2#)二進(jìn)制是計(jì)算機(jī)技術(shù)中廣泛應(yīng)用的一種數(shù)制,只有0和1。宜用二進(jìn)制表示電子元件的狀態(tài),斷開-0,閉合-1。例:2#0=10#02#1=10#12#1001=10#9十六進(jìn)制(16#)

數(shù)據(jù):0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F例:16#6=10#6=2#11016#A=10#10=2#101016#F=10#15=2#111116#10=10#1616#6AD=10#1709=2#0110

1010

1101

對(duì)于比較大的數(shù)字,用2#表示太長(zhǎng),所以采用16#注:16#與2#的關(guān)系:16#的每一位對(duì)應(yīng)2#的4個(gè)位。4.位、字節(jié)、字、雙字的概念這些都表示內(nèi)存空間的大小,PLC據(jù)此尋址。一個(gè)字節(jié)(Byte)的內(nèi)存空間包含了8個(gè)2#位;一個(gè)字(Word)的內(nèi)存空間含2個(gè)字節(jié),包含了16個(gè)2#位;一個(gè)雙字(Dword)的內(nèi)存空間含2個(gè)字(4個(gè)字節(jié)),包含了32個(gè)2#位;例:2#111001如何存放呢?

如果占用一個(gè)字節(jié)的空間--00111001;

如果占用一個(gè)字的空間--0000000000111001;

如果在一個(gè)雙字的空間--00000000000000000000000000111001所以:一個(gè)字節(jié)存放的數(shù)值范圍:16#00—16#FF;即:10#0—10#255;一個(gè)字存放的數(shù)值范圍:16#0000—16#FFFF;

即:10#0—10#65535;一個(gè)雙字存放的數(shù)值范圍:16#00000000—16#FFFFFFFF;

即:10#0—10#4294967295;存儲(chǔ)器地址的表示方法I4.5:“字節(jié).位”尋址方式。字節(jié)、字與雙字存取方式以起始字節(jié)的地址作為字和雙字的地址。注意:起始字節(jié)為最高位的字節(jié)。例如:VW100:VB100為高8位,VB101為低8位字節(jié)地址。I、Q、V、M、S、SM、L均可按位、字節(jié)、字和雙字來存取。數(shù)整數(shù)浮點(diǎn)數(shù)(Real)(實(shí)數(shù))-帶小數(shù)點(diǎn)無(wú)符號(hào)整數(shù)-正數(shù)(格式:Byte/Word/Dword)有符號(hào)整數(shù)-有正有負(fù)(格式:INT/DINT)5、負(fù)數(shù)如何表達(dá)?

在計(jì)算機(jī)中,負(fù)數(shù)以其正值的補(bǔ)碼形式表達(dá)。原碼-一個(gè)整數(shù),按照絕對(duì)值轉(zhuǎn)換成的2#數(shù);反碼-將2#數(shù)按位取反,所得的新數(shù)為原2#數(shù)的反碼;補(bǔ)碼-反碼加1;例:-5,原碼--2#0000000000000101;

反碼--2#1111111111111010;

補(bǔ)碼--2#1111111111111011;故:-5在PLC內(nèi)存里的表示方式為:2#1111111111111011;用二進(jìn)制補(bǔ)碼表示有符號(hào)數(shù),最高位為符號(hào)位:0為正數(shù),1為負(fù)數(shù),最大的16位正數(shù)為16#7FFF(32767)(表3-2)6.BCD碼BCD碼是一種編碼方式,用4位二進(jìn)制數(shù)對(duì)1位十進(jìn)制數(shù)進(jìn)行編碼,用2#數(shù)對(duì)10#數(shù)字進(jìn)行編碼,改用16#數(shù)字表示。BCD碼用于輸入輸出設(shè)備。由于10#只有10個(gè)數(shù)字,因此16#中的A—F不會(huì)出現(xiàn)在BCD碼中。數(shù)據(jù)類型、格式匯總尋址格式數(shù)據(jù)長(zhǎng)度(二進(jìn)制位)數(shù)據(jù)類型取值范圍BOOL(位)1(位)布爾數(shù)(二進(jìn)制位)真(1),假(0)BYTE(字節(jié))8無(wú)符號(hào)整數(shù)0-255,0-FF(Hex)INT(整數(shù))16有符號(hào)整數(shù)-32768-327678000-7FFF(Hex)WORD(字)無(wú)符號(hào)整數(shù)0-655350-FFFF(Hex)DINT(雙整數(shù))32有符號(hào)整數(shù)-2147483648-214748364780000000-7FFFFFFF(Hex)DWORD(雙字)無(wú)符號(hào)整數(shù)0-4294967295;0-FFFFFFFF(Hex)REAL(實(shí)數(shù))IEEE32位單精度浮點(diǎn)數(shù)-3.402823E+38--1.175495E-38(負(fù)數(shù));+1.175495E-38-+3.402823E+38(正數(shù))ASCLL1個(gè)漢字2個(gè)字符,1個(gè)字符占用1個(gè)字節(jié)(8位)的內(nèi)存,查ASCLL碼表。字符列表ASCLL字符,漢字內(nèi)碼(每個(gè)漢字2字節(jié))STRING(字符串)字符串1-254個(gè)ASCLL字符,漢字內(nèi)碼(每個(gè)漢字2字節(jié))VMIQSSMLTCHCACAIAQ定時(shí)器計(jì)數(shù)器高速計(jì)數(shù)器累加器模擬量輸入緩存區(qū)模擬量輸出緩存區(qū)這些區(qū)域存放的是“軟功能器件”,不同器件有不同的數(shù)據(jù)存取規(guī)定。這些區(qū)域可按位、字節(jié)、字、雙字存取數(shù)據(jù)(尋址)。3.1.2CPU的存儲(chǔ)區(qū)數(shù)字量輸入的存儲(chǔ)區(qū)(也稱輸入繼電器)數(shù)字量輸出的存儲(chǔ)區(qū)(也稱輸出繼電器)位存儲(chǔ)區(qū)變量存儲(chǔ)區(qū)V特殊存儲(chǔ)區(qū)局部存儲(chǔ)器順序控制繼電器存儲(chǔ)器類型及其尋址方式:1.?dāng)?shù)字量輸入的存儲(chǔ)區(qū)(I)a)是PLC接收外部輸入的數(shù)字量信號(hào)的窗口。

b)外部輸入電路接通時(shí)對(duì)應(yīng)的映像寄存器為ON(1狀態(tài)),反之為OFF(0狀態(tài))

c)輸入端可以是外部常開觸點(diǎn)或常閉觸點(diǎn),也可以是多個(gè)觸點(diǎn)的串、并聯(lián)電路。

d)編程中,可以多次使用輸入位的常開觸點(diǎn)和常閉觸點(diǎn)。

e)地址標(biāo)志:If)尋址方式:位(I),字節(jié)(IB),字(IW),雙字(ID)位尋址范圍:I0.0-I15.7

2.?dāng)?shù)字量輸出的存儲(chǔ)區(qū)(Q)a)在輸出刷新階段,CPU將數(shù)字量輸出存儲(chǔ)區(qū)的數(shù)據(jù)傳送給輸出模塊,驅(qū)動(dòng)外部負(fù)載。b)如果Q0.0的線圈“通電”,繼電器輸出模塊中對(duì)應(yīng)的硬件繼電器的常開觸點(diǎn)閉合,接在標(biāo)號(hào)為Q0.0的端子的外部負(fù)載通電。c)編程中,可以多次使用輸出位的常開觸點(diǎn)和常閉觸點(diǎn)。d)地址標(biāo)志:Qe)尋址方式:位(Q),字節(jié)(QB),字(QW),雙字(QD)位尋址范圍:Q0.0-Q15.73.變量存儲(chǔ)區(qū)V是全局存儲(chǔ)器,所有的程序都可以存取,(與L相對(duì))。在程序執(zhí)行過程中用來存放中間結(jié)果,或者用來保存與工序或任務(wù)有關(guān)的其他數(shù)據(jù)。4.位存儲(chǔ)區(qū)(M)類似于繼電器控制系統(tǒng)中的中間繼電器,用來存放中間操作狀態(tài)或者其他控制信息。只有32個(gè)字節(jié)(M0—M31)。5.定時(shí)器存儲(chǔ)區(qū)(T)

相當(dāng)于繼電器控制系統(tǒng)中的時(shí)間繼電器。時(shí)間基準(zhǔn)分為1ms,10ms,100ms。

包括定時(shí)器的位(觸點(diǎn)的狀態(tài))和定時(shí)器當(dāng)前值寄存器,都用定時(shí)器的地址來尋址。6.計(jì)數(shù)器存儲(chǔ)區(qū)(C)

分為加、減、加減計(jì)數(shù)器3種

用來累計(jì)其計(jì)數(shù)輸入脈沖電平由低到高的次數(shù)。7.高速計(jì)數(shù)器(HC)

用來累計(jì)比CPU掃描速率更快的事件,計(jì)數(shù)過程與掃描周期無(wú)關(guān)。8.32位累加器(AC0~AC3)可以按字節(jié)、字和雙字來存取。按字節(jié)、字只能存取累加器的低8位或低16位。9.特殊存儲(chǔ)器(SM)

用于CPU與用戶之間交換信息。各特殊存儲(chǔ)器(SM)的標(biāo)志位:

SM0.0一直為1狀態(tài);SM0.1僅在執(zhí)行用戶程序的第一個(gè)掃描周期為1狀態(tài)。

SM0.4和SM0.5分別提供周期為1分鐘和1秒的時(shí)鐘脈沖。

SM1.0、SM1.1和SM1.2分別為零標(biāo)志、溢出標(biāo)志和負(fù)數(shù)標(biāo)志。10.局部存儲(chǔ)器L

作為暫時(shí)存儲(chǔ)器,或給子程序傳遞參數(shù)。共有64個(gè)字節(jié)。各POU都有自己的局部變量表,局部變量?jī)H僅在被創(chuàng)建的POU中有效。11.模擬量輸入(AI)

將模擬量A/D轉(zhuǎn)換為一個(gè)字長(zhǎng)(16位)的數(shù)字量,輸入地址:AIW2,AIW4等,從偶數(shù)字節(jié)地址開始,為只讀數(shù)據(jù)。12.模擬量輸出字(AQ)將一個(gè)字長(zhǎng)的數(shù)字量D/A轉(zhuǎn)換為模擬量輸出,輸出地址:AQW2,AQW4等,從偶數(shù)字節(jié)地址開始,用戶只能寫出數(shù)據(jù),不能讀取。13.順序控制繼電器(S):用于順序控制編程,與順序控制繼電器指令配合使用。14.常數(shù)的表示方法與范圍15.實(shí)數(shù)(浮點(diǎn)數(shù)):在編程軟件中,用小數(shù)表示浮點(diǎn)數(shù)。3.1.3直接尋址與間接尋址

直接尋址:指定了存儲(chǔ)器的區(qū)域、長(zhǎng)度和位置,例如VB200。按位尋址的格式為:Ax.y按字節(jié)尋址的格式為:ABX按字尋址的格式為:AWX按雙字尋址的格式為:ADX存儲(chǔ)區(qū)內(nèi)另有一些元件是具有一定功能的硬件,由于元件數(shù)量很少,所以不用指出元件所在存儲(chǔ)區(qū)域的字節(jié),而是直接指出它的編號(hào)。其尋址格式為:Ay間接尋址方式

間接尋址方式:數(shù)據(jù)存放在存儲(chǔ)器或寄存器中,在指令中只出現(xiàn)所需數(shù)據(jù)所在單元的內(nèi)存地址的地址。存儲(chǔ)單元地址的地址又稱為地址指針。這種間接尋址方式與計(jì)算機(jī)的間接尋址方式相同。間接尋址在處理內(nèi)存連續(xù)地址中的數(shù)據(jù)時(shí)非常方便,而且可以縮短程序所生成的代碼的長(zhǎng)度,使編程更加靈活。用間接尋址方式存取數(shù)據(jù)需要作的工作有3種:建立指針、間接存取和修改指針。(1)建立指針

建立指針必須用雙字傳送指令(MOVD),將存儲(chǔ)器所要訪問的單元的地址裝入用來作為指針的存儲(chǔ)器單元或寄存器,裝入的是地址而不是數(shù)據(jù)本身,格式如下:例: MOVD &VB200,VD302 MOVD &MB10,AC2 MOVD &C2,LD14注意:建立指針用MOVD指令。指令中在操作數(shù)的前面加“*”表示該操作數(shù)為一個(gè)指針。3.2

可編程序控制器的編程語(yǔ)言和程序結(jié)構(gòu)3.2.1可編程序控制器的編程語(yǔ)言PLC為用戶提供了完整的編程語(yǔ)言,以適應(yīng)編制用戶程序的需要。PLC提供的編程語(yǔ)言通常有以下幾種:梯形圖、指令表、順序功能流程圖和功能塊圖。下面以S7-200系列PLC為例加以說明。PLC編程語(yǔ)言的國(guó)際標(biāo)準(zhǔn)

IEC61131-3標(biāo)準(zhǔn)的5種編程語(yǔ)言:(1)順序功能圖(SequentialFunctionChart);(SFC)(2)梯形圖(LadderDiagram);(LAD)(3)功能塊圖(FunctionBlockDiagram);(FBD)(4)指令表(InstructionList);(IL)(5)結(jié)構(gòu)文本(StructuredText)。(ST)

1.梯形圖(LAD)

梯形圖(LAD)編程語(yǔ)言是從繼電器控制系統(tǒng)原理圖的基礎(chǔ)上演變而來的。PLC的梯形圖與繼電器控制系統(tǒng)的原理圖的基本思想是一致的,只是在使用符號(hào)和表達(dá)方式上有一定區(qū)別。圖3.1是一個(gè)典型的梯形圖。左右兩條垂直的線稱作母線。母線之間是觸點(diǎn)的邏輯連接和線圈的輸出。圖3.1典型的梯形圖結(jié)構(gòu):母線、觸點(diǎn)、線圈、盒;軟元件、能流繼電接觸器控制線路圖結(jié)構(gòu):電源線、觸點(diǎn)、線圈;實(shí)際的元件、有電流

梯形圖的一個(gè)關(guān)鍵概念是“能流”(PowerFlow),這僅是概念上的“能流”。把左邊的母線假想為電源“火線”,而把右邊的母線(虛線所示)假想為電源“零線”。如果有“能流”從左至右流向線圈,則線圈被激勵(lì);如果沒有“能流”,則線圈未被激勵(lì)。

在梯形圖中,觸點(diǎn)代表邏輯“輸入”條件,如開關(guān)、按鈕、內(nèi)部條件等;線圈通常代表邏輯“輸出”結(jié)果,為“輸出軟元件”。對(duì)S7-200系列PLC來說,還有一種輸出——“盒”(方塊圖),它代表附加的指令,如定時(shí)器、計(jì)數(shù)器和功能指令等。

圖3-2梯形圖與語(yǔ)句表 圖3-3功能塊圖“能流”(PowerFlow)只能從左向右流動(dòng)。1個(gè)網(wǎng)絡(luò)(Network)中只能放1塊獨(dú)立電路。功能塊圖(FBD)類似于數(shù)字邏輯門電路。STEP7-Micro/WIN的IEC61131-3指令集只提供梯形圖、功能塊圖。地址前加“%”,其指令不區(qū)分?jǐn)?shù)據(jù)類型。2.指令表(STL)

指令表(STL)編程語(yǔ)言類似于計(jì)算機(jī)中的助記符語(yǔ)言,它是可編程序控制器最基礎(chǔ)的編程語(yǔ)言。所謂指令表編程,是用一個(gè)或幾個(gè)容易記憶的字符來代表可編程序控制器的某種操作功能。一般來說,指令表編程適合于熟悉PLC和有經(jīng)驗(yàn)的程序員使用。圖2.2基本指令應(yīng)用舉例(a)梯形圖;(b)指令表3.順序功能流程圖(SFC)

順序功能流程圖(SFC)編程是一種圖形化的編程方法,亦稱功能圖。使用它可以對(duì)具有并行、選擇等復(fù)雜結(jié)構(gòu)的系統(tǒng)進(jìn)行編程,許多PLC都提供了用于SFC編程的指令。

4.功能塊圖(FBD)

S7-200系列PLC專門提供了FBD編程語(yǔ)言,利用FBD可以查看到像普通邏輯門圖形的邏輯盒指令。它沒有梯形圖編程器中的觸點(diǎn)和線圈,但有與之等價(jià)的指令,這些指令是作為盒指令出現(xiàn)的。FBD編程語(yǔ)言有利于程序流的跟蹤,但在目前使用較少。圖2.3FBD簡(jiǎn)單實(shí)例3.2.2可編程序控制器的程序結(jié)構(gòu)

控制一個(gè)任務(wù)或過程,是通過在RUN方式下,使主機(jī)循環(huán)掃描并連續(xù)執(zhí)行用戶程序來實(shí)現(xiàn)的,用戶程序決定了一個(gè)控制系統(tǒng)的功能。廣義上的PLC程序由三部分構(gòu)成:主程序、子程序、中斷程序。1.主程序:每次掃描都要執(zhí)行主程序。每個(gè)項(xiàng)目都必須有且只能有一個(gè)主程序(OB1)。2.子程序:簡(jiǎn)化程序代碼、減少掃描時(shí)間、容易移植到別的項(xiàng)目(SBRN)??梢远啻握{(diào)用。圖2.4程序結(jié)構(gòu)

用編程軟件在計(jì)算機(jī)上編程時(shí),利用編程軟件的程序結(jié)構(gòu)窗口雙擊主程序、子程序和中斷程序的圖標(biāo),即可進(jìn)入各程序塊的編程窗口。編譯時(shí)編程軟件自動(dòng)對(duì)各程序段進(jìn)行連接。

S7-200PLC的主程序、子程序和中斷程序結(jié)束結(jié)束時(shí),編程軟件會(huì)在程序編譯時(shí)自動(dòng)加入相應(yīng)的結(jié)束指令。主程序

存儲(chǔ)區(qū)子程序中斷子程序子程序子程序子程序子程序子程序:為了清晰地組織一個(gè)項(xiàng)目,可以根據(jù)功能進(jìn)行結(jié)構(gòu)化組織,即:一個(gè)項(xiàng)目分解為幾個(gè)子功能塊,每個(gè)子功能塊由一個(gè)或多個(gè)子程序組成。有利于分步調(diào)試,便于查找問題所在,且具有通用性。注意事項(xiàng):1)可以在確定的時(shí)刻調(diào)用,可以嵌套調(diào)用,最多嵌套8個(gè)。2)S7-200CPU最多可調(diào)用64個(gè)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論