第3章S7-1200程序設(shè)計基礎(chǔ)1_第1頁
第3章S7-1200程序設(shè)計基礎(chǔ)1_第2頁
第3章S7-1200程序設(shè)計基礎(chǔ)1_第3頁
第3章S7-1200程序設(shè)計基礎(chǔ)1_第4頁
第3章S7-1200程序設(shè)計基礎(chǔ)1_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

*本章主要內(nèi)容1.S7-1200PLC工作模式(掌握)三種運行模式2.存儲器及其尋址(掌握)存儲器代碼,兩種尋址方式,強制輸入/輸出,保持性

3.數(shù)據(jù)格式及數(shù)據(jù)類型(理解)

把握常見數(shù)據(jù)格式特點及所占空間

4.編程方法(重點)三種結(jié)構(gòu)模式

5.程序結(jié)構(gòu)(重點)OB,FC,FB,各自特點及區(qū)別

*2第3章S7-1200PLC程序設(shè)計基礎(chǔ)

3.1S7-1200PLC工作模式(掌握)

3.2存儲器及其尋址(掌握)

3.3數(shù)據(jù)格式及數(shù)據(jù)類型(理解)

3.4編程方法(重點)3.5程序結(jié)構(gòu)(重點)

*33.1CPU的工作模式

CPU有三種工作模式:在STOP模式下,CPU不執(zhí)行任何程序,而用戶可以下載項目。在STARTUP

模式下,執(zhí)行一次啟動OB(如果存在)。在RUN模式下,重復(fù)執(zhí)行掃描周期。中斷事件可能會在程序循環(huán)階段的任何點發(fā)生并進行處理。處于RUN模式下時,無法下載任何項目。在RUN模式的啟動階段,不處理任何中斷事件。*4在STOP模式下:CPU①處理所有通信請求(如果適用)并②執(zhí)行自診斷。CPU不執(zhí)行用戶程序,過程映像也不會自動更新。3.1CPU的工作模式

*5上電后CPU進入STARTUP模式,進行上電診斷和系統(tǒng)初始化,檢查到某些錯誤時,將禁止CPU進入RUN模式,保持在STOP。STARTUP:A復(fù)位I存儲區(qū)B使用上一次RUN模式最后的值或替換值初始化輸出C執(zhí)行啟動OBD將物理輸入的狀態(tài)復(fù)制到I存儲器E將所有中斷事件存儲到要在RUN模式下處理的隊列中F將過程映像輸出區(qū)(Q區(qū))的值寫到物理輸出3.1CPU的工作模式

*6啟動階段結(jié)束后,進入RUN模式,CPU執(zhí)行下圖所示的任務(wù):RUN①將過程映像輸出區(qū)(Q區(qū))的值寫到物理輸出②將物理輸入的狀態(tài)復(fù)制到I存儲器③執(zhí)行程序循環(huán)OB④處理通信請求和進行自診斷⑤在掃描周期的任何階段處理中斷和通信3.1CPU的工作模式

*7PLC使用的物理存儲器類型:RAM,ROM,FlashEPROM(簡稱為FEPROM)用戶存儲器:非易失性的存儲區(qū),用于保存用戶程序(項目等)、數(shù)據(jù)和組態(tài)信息。所有的CPU都有內(nèi)部的裝載存儲器,CPU插入存儲卡后,用存儲卡做裝載存儲器。類似于計算機的硬盤,具有斷電保持功能。工作存儲器:易失性,集成在CPU中的高速存取的RAM。用于在執(zhí)行用戶程序時存儲用戶項目的某些內(nèi)容。CPU也會將一些項目內(nèi)容從裝載存儲器復(fù)制到工作存儲器中。類似于計算機的內(nèi)存,斷電時內(nèi)容丟失,而在恢復(fù)供電時由CPU恢復(fù)。系統(tǒng)存儲器:用來存儲用戶程序的操作數(shù)據(jù),被劃分為若干個地址區(qū)域,如過程映像輸入/輸出,位存儲器,數(shù)據(jù)塊,局部數(shù)據(jù),I/O輸入輸出區(qū)域和診斷緩沖區(qū)等。使用指令可以在相應(yīng)的地址區(qū)域內(nèi)對數(shù)據(jù)直接進行尋址。

用來防止在電源關(guān)閉時丟失數(shù)據(jù),可以用不同方法設(shè)置變量的斷電保持功能。3.2存儲器及其尋址*8*93.2存儲器及其尋址*10不管使用變量(例如,“Start”或“Stop”)還是絕對地址(例如,“I0.3”或“Q1.7”),對輸入(I)或輸出(Q)存儲區(qū)的引用都會訪問過程映像而非物理輸出。要立即訪問或強制用戶程序中的物理(外圍設(shè)備)輸入或輸出,請在引用后面添加“:P”

例如,“Stop:P”或“Q0.3:P”)。

局部數(shù)據(jù)L:

只要調(diào)用代碼塊,CPU就會分配要在執(zhí)行塊期間使用的臨時或本地存儲器(L)。代碼塊執(zhí)行完畢后,CPU將重新分配本地存儲器,以用于執(zhí)行其它代碼塊。3.2存儲器及其尋址*113.2存儲器及其尋址*12“字節(jié).位”尋址方式:

I3.2,首位字母表示存儲器標(biāo)識符,I表示輸入過程映像區(qū)8位二進制數(shù)組成1個字節(jié)(Byte):3.2存儲器及其尋址S7CPU可以按照位、字節(jié)、字和雙字對存儲單元尋址。*13以起始字節(jié)的地址作為字和雙字的地址。起始字節(jié)為最高位的字節(jié)。MW100MD1003.2存儲器及其尋址存儲器尋址方式*143.3系統(tǒng)存儲區(qū)與數(shù)據(jù)類型——基本數(shù)據(jù)類型*153.4

程序結(jié)構(gòu)創(chuàng)建用于自動化任務(wù)的用戶程序時,需要將程序的指令插入代碼塊中:*16創(chuàng)建用于自動化任務(wù)的用戶程序時,需要將程序的指令插入代碼塊中:●組織塊(OB)對應(yīng)于CPU中的特定事件,并可中斷用戶程序的執(zhí)行。用于循環(huán)執(zhí)行用戶程序的默認組織塊(OB1)為用戶程序提供基本結(jié)構(gòu),是唯一一個用戶必需的代碼塊。如果程序中包括其它OB,這些OB會中斷OB1的執(zhí)行。其它OB可執(zhí)行特定功能,如用于啟動任務(wù)、用于處理中斷和錯誤或者用于按特定的時間間隔執(zhí)行特定的程序代碼?!窆δ軌K(FB)是從另一個代碼塊(OB、FB或FC)進行調(diào)用時執(zhí)行的子例程。調(diào)用塊將參數(shù)傳遞到FB,并標(biāo)識可存儲特定調(diào)用數(shù)據(jù)或該FB實例的特定數(shù)據(jù)塊(DB)。更改背景DB可使通用FB控制一組設(shè)備的運行。例如,借助包含每個泵或閥門的特定運行參數(shù)的不同背景DB,一個FB可控制多個泵或閥?!窆δ?FC)是從另一個代碼塊(OB、FB或FC)進行調(diào)用時執(zhí)行的子例程。FC不具有相關(guān)的背景DB。調(diào)用塊將參數(shù)傳遞給FC。FC中的輸出值必須寫入存儲器地址或全局DB中。3.4

程序結(jié)構(gòu)*17功能塊(FB)與功能(FC)檢驗FC、FB重要指標(biāo)是可移植性(可重用性)。

如果內(nèi)部全部使用局部變量,不用全局變量,不作任何修改,就可以將它們移植到其他項目,通過調(diào)用與被調(diào)用的關(guān)系,可以迅速生成新的項目程序。把相同功能的工作編制成FB,然后在FC里調(diào)用,程序修改起來方便。

例子:有10臺電機,編制啟動,停止邏輯,報警,復(fù)位邏輯。

FB+FC:FB+背景數(shù)據(jù)塊+FC調(diào)用(把這些電機對應(yīng)的I/O點添到FB的管腳上)

FC:1)要寫10遍,2)如果你用粘貼和復(fù)制的話,有可能有的I/O點忘記修改或其他一些錯誤,3)程序的結(jié)構(gòu)性不強,維護起來浪費時間。如果子程序的任務(wù)不能在一個掃描周期完成,需要在兩次調(diào)用之間保存某些變量的值,則應(yīng)選用FB,而不是FC。因為這種情況下FC需要用全局變量(例如共享數(shù)據(jù)塊和M區(qū))來保存這些變量的值,但是這樣會影響FC的可移植性。如果塊的內(nèi)部使用了全局變量,在移植時需要考慮每個塊使用的全局變量是否會與別的塊產(chǎn)生地址沖突(同一地址重復(fù)使用)。如果這樣的FC很多,移植是附加的工作量將會很大,也很容易出錯。3.4

程序結(jié)構(gòu)*18創(chuàng)建用于自動化任務(wù)的用戶程序時,需要將程序的指令插入代碼塊中:●

組織塊(OB)●功能塊(FB)●功能(FC)●數(shù)據(jù)塊(DB)用于存放執(zhí)行用戶程序時所需的變量數(shù)據(jù)的數(shù)據(jù)區(qū)。用戶程序中除了邏輯程序外,還需要對存儲過程狀態(tài)和信號信息的數(shù)據(jù)進行處理,數(shù)據(jù)是以變量的形式存儲,通過存儲地址和數(shù)據(jù)類型來確定數(shù)據(jù)的唯一性。3.4

程序結(jié)構(gòu)*193.5

編程方法線性化編程模塊化編程結(jié)構(gòu)化編程*203.5

編程方法根據(jù)實際應(yīng)用要求,可選擇線性,模塊化或結(jié)構(gòu)化用于創(chuàng)建用戶程序:●線性程序按順序逐條執(zhí)行用于自動化任務(wù)的所有指令。通常,線性程序?qū)⑺谐绦蛑噶疃挤湃胗糜谘h(huán)執(zhí)行程序的OB(OB1)中。*213.5

編程方法線性化編程結(jié)構(gòu)簡單,不帶分支,一個程序包含了所有指令。所有的指令都在OB1中----每個掃描周期都要掃描執(zhí)行所有的指令,不斷循環(huán)執(zhí)行。即使某些不用的部分代碼也需要執(zhí)行。因此CPU效率低,沒有充分利用。需要多次執(zhí)行相同或類似的操作,需要重復(fù)編寫相同或類似的程序。程序結(jié)構(gòu)不清晰----管理和測試不便大型程序編寫時避免采用線性化編程*223.5

編程方法根據(jù)實際應(yīng)用要求,可選擇線性,模塊化或結(jié)構(gòu)化用于創(chuàng)建用戶程序:●線性程序●模塊化程序調(diào)用可執(zhí)行特定任務(wù)的特定代碼塊。要創(chuàng)建模塊化結(jié)構(gòu),需要將復(fù)雜的自動化任務(wù)劃分為與過程的工藝功能相對應(yīng)的更小的次級任務(wù)。每個代碼塊都為每個次級任務(wù)提供程序段。通過從另一個塊中調(diào)用其中一個代碼塊來構(gòu)建程序。*233.5

編程方法模塊化程序根據(jù)功能分為不同的邏輯塊。在OB1中可根據(jù)條件決定塊的調(diào)用和執(zhí)行;特點是控制任務(wù)被分成不同的塊,易于團隊分工合作同時編程,調(diào)試方便;不同的程序塊只有在需要時OB1才去調(diào)用,因此每次循環(huán)中不是所有的塊都執(zhí)行,CPU利用效率高。模塊化編程中,被調(diào)用快和調(diào)用快之間沒有數(shù)據(jù)交換。*243.5

編程方法根據(jù)實際應(yīng)用要求,可選擇線性,模塊化或結(jié)構(gòu)化用于創(chuàng)建用戶程序:●線性程序●模塊化程序●

結(jié)構(gòu)化編程是通過抽象的方式將復(fù)雜的任務(wù)分解成一些能夠反映過程的工藝、功能或可以反復(fù)使用的可單獨解決的小任務(wù),這些任務(wù)由相應(yīng)的程序塊(或稱邏輯快)來表示,程序運行時所需的大量數(shù)據(jù)和變量存儲在數(shù)據(jù)塊中。某些程序塊可以用來實現(xiàn)相同或者相似的功能,相互是獨立的,且被OB1或其他程序塊調(diào)用。*253.5

編程方法

結(jié)構(gòu)化編程將過程要求類似的或相關(guān)的任務(wù)歸類,形成通用的解決方案,在相應(yīng)的程序塊中解決。可以在OB1中或其他程序塊中調(diào)用;該程序塊編程時采用形式參數(shù),可以通過不用的實際參數(shù)調(diào)用相同的程序塊。被調(diào)用快和調(diào)用塊之間有數(shù)據(jù)交換,需要對數(shù)據(jù)進行管理。結(jié)構(gòu)化編程必須對系統(tǒng)功能進行合理的分析、分解和綜合,對編程設(shè)計人員的要求較高。*26編程軟件界面介紹Portal視圖*27本章主要內(nèi)容1.S7-1200PLC工作模式(掌握)三種運行模式2.存儲器及其尋址(掌握)存儲器代碼,兩種尋址方式,強制輸入/輸出

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論