第3章S71200程序設計基礎1_第1頁
第3章S71200程序設計基礎1_第2頁
第3章S71200程序設計基礎1_第3頁
第3章S71200程序設計基礎1_第4頁
第3章S71200程序設計基礎1_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、河南理工大學電氣學院河南理工大學電氣學院1*本章主要內容1. S7-1200PLC 工作模式 (掌握)三種運行模式2. 存儲器及其尋址 (掌握)存儲器代碼,兩種尋址方式,強制輸入/輸出,保持性3. 數據格式及數據類型 (理解) 把握常見數據格式特點及所占空間 4. 編程方法 (重點)三種結構模式5. 程序結構 (重點)OB, FC, FB, 各自特點及區(qū)別 第第3章章 S7-1200 程序設計基礎程序設計基礎 *2第3章 S7-1200 PLC程序設計基礎3.1 S7-1200PLC 工作模式 (掌握)3.2 存儲器及其尋址 (掌握)3.3 數據格式及數據類型 (理解) 3.4 編程方法 (重

2、點)3.5 程序結構 (重點) 第第3章章 S7-1200 程序設計基礎程序設計基礎 *33.1 CPU的工作模式的工作模式 CPU 有三種工作模式:有三種工作模式: l 在在 STOP 模式下模式下,CPU 不執(zhí)行任何程序,而用戶可以下載項目。不執(zhí)行任何程序,而用戶可以下載項目。 l在在 STARTUP 模式模式下,執(zhí)行一次啟動下,執(zhí)行一次啟動OB(如果存在如果存在)。l在在RUN模式模式下,重復執(zhí)行掃描周期。下,重復執(zhí)行掃描周期。 中斷事件可能會在程序循環(huán)階段的任何點發(fā)生并進行處理。中斷事件可能會在程序循環(huán)階段的任何點發(fā)生并進行處理。 處于處于RUN模式下時,無法下載任何項目。模式下時,無

3、法下載任何項目。 在在RUN 模式的啟動階段,不處理任何中斷事件。模式的啟動階段,不處理任何中斷事件。 第第3章章 S7-1200 程序設計基礎程序設計基礎 *4在在 STOP 模式下模式下:CPU 處理所有通信請求(如果適用)并處理所有通信請求(如果適用)并 執(zhí)行自診斷。執(zhí)行自診斷。 CPU不執(zhí)行用戶程序,過程映像也不會自動更新。不執(zhí)行用戶程序,過程映像也不會自動更新。 3.1 CPU的工作模式的工作模式 第第3章章 S7-1200 程序設計基礎程序設計基礎 *5 上電后上電后CPU進入進入STARTUP模式,進行上電診斷和系統(tǒng)初始化,檢查到某模式,進行上電診斷和系統(tǒng)初始化,檢查到某些錯誤時

4、,將禁止些錯誤時,將禁止CPU進入進入RUN模式,保持在模式,保持在STOP。A 復位復位I 存儲區(qū)存儲區(qū) B 使用上一次使用上一次RUN模式最后的值或替換值初始化輸出模式最后的值或替換值初始化輸出 C 執(zhí)行啟動執(zhí)行啟動 OB D 將物理輸入的狀態(tài)復制到將物理輸入的狀態(tài)復制到 I 存儲器存儲器 E 將所有中斷事件存儲到要在將所有中斷事件存儲到要在 RUN模式下處理的隊列中模式下處理的隊列中 F 將過程映像輸出區(qū)將過程映像輸出區(qū)(Q區(qū)區(qū))的值寫到物理輸出的值寫到物理輸出 3.1 CPU的工作模式的工作模式 第第3章章 S7-1200 程序設計基礎程序設計基礎 *6啟動階段結束后,進入啟動階段結束

5、后,進入 RUN 模式,模式,CPU 執(zhí)行下圖所示的任務:執(zhí)行下圖所示的任務:RUN 將過程映像輸出區(qū)將過程映像輸出區(qū)(Q區(qū)區(qū))的值寫到物理輸出的值寫到物理輸出 將物理輸入的狀態(tài)復制到將物理輸入的狀態(tài)復制到 I 存儲器存儲器 執(zhí)行程序循環(huán)執(zhí)行程序循環(huán) OB 處理通信請求和進行自診斷處理通信請求和進行自診斷 在掃描周期的任何階段處理中斷和通信在掃描周期的任何階段處理中斷和通信 3.1 CPU的工作模式的工作模式 第第3章章 S7-1200 程序設計基礎程序設計基礎 *7PLC使用的物理存儲器類型:使用的物理存儲器類型: RAM, ROM, Flash EPROM(簡稱為簡稱為FEPROM)用戶存

6、儲器:用戶存儲器:非易失性的存儲區(qū),用于保存用戶程序(項目等)、數據和非易失性的存儲區(qū),用于保存用戶程序(項目等)、數據和組態(tài)信息。所有的組態(tài)信息。所有的CPU都有內部的裝載存儲器,都有內部的裝載存儲器,CPU插入存儲卡后,用存儲卡插入存儲卡后,用存儲卡做裝載存儲器。類似于計算機的硬盤,具有斷電保持功能。做裝載存儲器。類似于計算機的硬盤,具有斷電保持功能。工作存儲器:工作存儲器:易失性,易失性,集成在集成在CPU中的高速存取的中的高速存取的RAM。用于在執(zhí)行用戶用于在執(zhí)行用戶程序時存儲用戶項目的某些內容。程序時存儲用戶項目的某些內容。CPU也會將一些項目內容從裝載存儲器復制也會將一些項目內容從

7、裝載存儲器復制到工作存儲器中。到工作存儲器中。類似于計算機的內存,斷電時內容丟失,而在恢復供電時由類似于計算機的內存,斷電時內容丟失,而在恢復供電時由CPU恢復?;謴?。系統(tǒng)存儲器:系統(tǒng)存儲器:用來存儲用戶程序的操作數據,被劃分為若干個地址區(qū)域,用來存儲用戶程序的操作數據,被劃分為若干個地址區(qū)域,如過程映像輸入如過程映像輸入/輸出,位存儲器,數據塊,局部數據,輸出,位存儲器,數據塊,局部數據,I/O輸入輸出區(qū)域和診輸入輸出區(qū)域和診斷緩沖區(qū)等。使用指令可以在相應的地址區(qū)域內對數據直接進行尋址。斷緩沖區(qū)等。使用指令可以在相應的地址區(qū)域內對數據直接進行尋址。 用來防止在電源關閉時丟失數據,可以用不同方

8、法設置變量的斷電保持功能。用來防止在電源關閉時丟失數據,可以用不同方法設置變量的斷電保持功能。3.2 存儲器及其尋址存儲器及其尋址第第3章章 S7-1200 程序設計基礎程序設計基礎 *8第第3章章 S7-1200 程序設計基礎程序設計基礎 *93.2 存儲器及其尋址存儲器及其尋址地址區(qū)地址區(qū)說明說明輸入過程映像I每一位對應一個數字量輸入點數字量輸入點。在每個掃描周期的開始階段,CPU對輸入點進行采樣,并將采樣值存于輸入映像寄存器中。CPU在本周期內不再改變本區(qū)數據。輸出過程映像Q每一位對應一個數字量輸出點數字量輸出點。在每個掃描周期的最開始,CPU將輸出過程映像區(qū)的數據傳送給輸出模塊,并驅動

9、外部負載。位存儲區(qū)M用來保存控制繼電器的中間操作狀態(tài)或其他控制信息。數據塊DB在程序執(zhí)行過程中存放中間結果,或用來保存于工序或任務有關的其他數據。需要定義:全局數據塊(所有程序可訪問),背景數據塊(制定的FB或SFB)局部數據L暫時存儲器或給子程序傳遞參數,局部變量只能在本單元有效。I/O輸入區(qū)域可以直接訪問集中式和分布式輸入模塊I/O輸出區(qū)域可以直接訪問集中式和分布式輸入模塊第第3章章 S7-1200 程序設計基礎程序設計基礎 *10 不管使用變量變量(例如,“Start”或“Stop”)還是絕對地址(例如,“I0.3”或“Q1.7”),對輸入(I) 或輸出 (Q) 存儲區(qū)的引用都會訪問過訪

10、問過程映像程映像而非物理輸出。 要立即訪問或強制用戶程序中的物理(外圍設備)輸入或輸出,請在引用后面添加“:P” 例如,“Stop:P”或“Q0.3:P”)。 局部數據L: 只要調用代碼塊,CPU 就會分配要在執(zhí)行塊期間使用的臨時或本地存儲器 (L)。代碼塊執(zhí)行完畢后,CPU 將重新分配本地存儲器,以用于執(zhí)行其它代碼塊。3.2 存儲器及其尋址存儲器及其尋址第第3章章 S7-1200 程序設計基礎程序設計基礎 *11存儲區(qū)存儲區(qū)描述描述強制強制保持保持過程映像輸入過程映像輸入(I)在掃描循環(huán)開始時,從物理輸入復制的輸入值NoNo物理輸入物理輸入(I_:P)通過該區(qū)域立即讀取物理輸入YesNo過程

11、映像出過程映像出(Q)在掃描循環(huán)開始時,將輸出值寫入物理輸出NoNo物理輸出物理輸出(Q_:P)通過該區(qū)域立即寫物理輸出YesNo位存儲器位存儲器(M)用于存儲用戶程序的中間運算結果或標志位NoYes臨時局部存儲器臨時局部存儲器(L)塊的臨時局部數據,只能供塊內部使用,只可以通過符合方式來訪問NoNo數據塊數據塊(DB)數據存儲器與FB的參數存儲器NoYes3.2 存儲器及其尋址存儲器及其尋址第第3章章 S7-1200 程序設計基礎程序設計基礎 *12“字節(jié)字節(jié). 位位”尋址方式尋址方式 : 如如 I3.2,首位字母表示存儲器標識符,首位字母表示存儲器標識符,I表示輸入過程映像區(qū)表示輸入過程映

12、像區(qū)8位二進制數組成位二進制數組成1個字節(jié)個字節(jié)(Byte):3.2 存儲器及其尋址存儲器及其尋址S7CPU可以按照位、字節(jié)、字和雙字對存儲單元尋址??梢园凑瘴?、字節(jié)、字和雙字對存儲單元尋址。第第3章章 S7-1200 程序設計基礎程序設計基礎 *13以起始字節(jié)的地址作為字和雙字的地址。以起始字節(jié)的地址作為字和雙字的地址。起始字節(jié)為最高位的字節(jié)。起始字節(jié)為最高位的字節(jié)。MW100MD1003.2 存儲器及其尋址存儲器及其尋址存儲器尋址方式第第3章章 S7-1200 程序設計基礎程序設計基礎 *143.3 系統(tǒng)存儲區(qū)與數據類型系統(tǒng)存儲區(qū)與數據類型基本數據類型基本數據類型變量類型符號位數取值范圍常

13、數舉例位Bool11,0TRUE,FALSE或1,0字節(jié)Byte816#0016#FF16#12,16#AB字Word1616#000016#FFFF16#ABCD,16#0001雙字DWord3216#0000000016#FFFFFFFF16#02468ACE字符Char816#0016#FFA, t, 有符號字節(jié)SInt8-128127123, -123整數Int16-3276832767123, -123雙整數Dint32-21474836482147483647123, -123無符號字節(jié)USInt80255123無符號整數UInt16065535123無符號雙整數UDInt3204

14、294967295123浮點數(實數)Real321.17549510-383.402823 103812.45, -3.4, -1.2E+3雙精度浮點數LReal642.2250738585072020 10-308 1.7976931348623157 1030812345.12345-1,2E+40時間Time321T#-24d20h31m23s648ms T#24d20h31m23s648msT#1d_2h_15m_30s_45ms第第3章章 S7-1200 程序設計基礎程序設計基礎 *153.4 程序結構程序結構 創(chuàng)建用于自動化任務的用戶程序時,需要將程序的指令插入代碼塊中:第第3章

15、章 S7-1200 程序設計基礎程序設計基礎 *16 創(chuàng)建用于自動化任務的用戶程序時,需要將程序的指令插入代碼塊中: 組織塊 (OB) 對應于 CPU 中的特定事件,并可中斷用戶程序的執(zhí)行。 用于循環(huán)執(zhí)行用戶程序的默認組織塊 (OB 1) 為用戶程序提供基本結構,是唯一一個用戶必需的代碼塊。 如果程序中包括其它 OB,這些 OB 會中斷 OB 1 的執(zhí)行。其它 OB 可執(zhí)行特定功能,如用于啟動任務、用于處理中斷和錯誤或者用于按特定的時間間隔執(zhí)行特定的程序代碼。 功能塊 (FB) 是從另一個代碼塊(OB、FB 或 FC)進行調用時執(zhí)行的子例程。 調用塊將參數傳遞到 FB,并標識可存儲特定調用數據

16、或該 FB 實例的特定數據塊 (DB)。 更改背景 DB 可使通用 FB 控制一組設備的運行。 例如,借助包含每個泵或閥門的特定運行參數的不同背景 DB,一個 FB 可控制多個泵或閥。 功能 (FC) 是從另一個代碼塊(OB、FB 或 FC)進行調用時執(zhí)行的子例程。 FC 不具有相關的背景 DB。 調用塊將參數傳遞給 FC。 FC 中的輸出值必須寫入存儲器地址或全局 DB 中。3.4 程序結構程序結構第第3章章 S7-1200 程序設計基礎程序設計基礎 *17 功能塊 (FB)與 功能 (FC) 檢驗FC、FB重要指標是可移植性(可重用性)。 如果內部全部 使用局部變量,不用全局變量,不作任何

17、修改,就可以將它們移植到其他項目,通過調用與被調用的關系,可以迅速生成新的項目程序。 把相同功能的工作編制成FB,然后在FC里調用,程序修改起來方便。 例子:有10臺電機,編制啟動,停止邏輯,報 警,復位邏輯。 FB+FC: FB+背景數據塊+FC調用(把這些電機對應的I/O點添到 FB的管腳上) FC: 1)要寫10遍,2)如果你用粘貼和復制的話,有可能有的 I/O點忘記修改或其他一些錯誤,3)程序的結構性不強,維護起來浪費時間。 如果子程序的任務不能在一個掃描周期完成,需要在兩次調用之間保存某些變量的值,則應選用FB,而不是FC。因為這種情況下FC需要用全局變量 (例如共享數據塊和M區(qū))來

18、保存這些變量的值,但是這樣會影響FC的可移植性。如果塊的內部使用了全局變量,在移植時需要考慮每個塊使用的全局變量是否會 與別的塊產生地址沖突(同一地址重復使用)。如果這樣的FC很多,移植是附加的工作量將會很大,也很容易出錯。3.4 程序結構程序結構第第3章章 S7-1200 程序設計基礎程序設計基礎 *18 創(chuàng)建用于自動化任務的用戶程序時,需要將程序的指令插入代碼塊中: 組織塊 (OB) 功能塊 (FB) 功能 (FC) 數據塊(數據塊(DB)用于存放執(zhí)行用戶程序時所需的變量數據的數據區(qū)。用戶程序中除了邏輯程序外,還需要對存儲過程狀態(tài)和信號信息的數據進行處理,數據是以變量的形式存儲,通過存儲地

19、址和數據類型來確定數據的唯一性。3.4 程序結構程序結構第第3章章 S7-1200 程序設計基礎程序設計基礎 *193.5 編程方法編程方法l 線性化編程l 模塊化編程l 結構化編程第第3章章 S7-1200 程序設計基礎程序設計基礎 *203.5 編程方法編程方法根據實際應用要求,可選擇線性,模塊化或結構化用于創(chuàng)建用戶程序: 線性程序按順序逐條執(zhí)行用于自動化任務的所有指令。 通常,線性程序將所有程序指令都放入用于循環(huán)執(zhí)行程序的 OB (OB 1) 中。第第3章章 S7-1200 程序設計基礎程序設計基礎 *213.5 編程方法編程方法線性化編程l 結構簡單,不帶分支,一個程序包含了所有結構簡

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

21、計基礎 *223.5 編程方法編程方法根據實際應用要求,可選擇線性,模塊化或結構化用于創(chuàng)建用戶程序: 線性程序 模塊化程序調用可執(zhí)行特定任務的特定代碼塊。 要創(chuàng)建模塊化結構,需要將復雜的自動化任務劃分為與過程的工藝功能相對應的更小的次級任務。 每個代碼塊都為每個次級任務提供程序段。 通過從另一個塊中調用其中一個代碼塊來構建程序。第第3章章 S7-1200 程序設計基礎程序設計基礎 *233.5 編程方法編程方法模塊化程序 根據功能分為不同的邏輯塊。根據功能分為不同的邏輯塊。 在在OB1中可根據條件決定塊的調用和執(zhí)行;中可根據條件決定塊的調用和執(zhí)行; 特點是控制任務被分成不同的塊,易于團隊特點是

22、控制任務被分成不同的塊,易于團隊分工合作同時編程,分工合作同時編程,調試方便調試方便; 不同的程序塊只有在需要時不同的程序塊只有在需要時OB1才去調用,才去調用,因此每次循環(huán)中不是所有的塊都執(zhí)行,因此每次循環(huán)中不是所有的塊都執(zhí)行,CPU利用效率高利用效率高。 模塊化編程中,被調用快和調用快之間模塊化編程中,被調用快和調用快之間沒有沒有數據交換數據交換。第第3章章 S7-1200 程序設計基礎程序設計基礎 *243.5 編程方法編程方法根據實際應用要求,可選擇線性,模塊化或結構化用于創(chuàng)建用戶程序: 線性程序 模塊化程序 結構化編程是通過抽象的方式抽象的方式將復雜的任務分解成一些能夠反映過程的工藝、功能或可以反復使用的可單獨解決的小任務,這些任務由相應的程序塊(或稱邏輯快)來表示,程序運行時所需的大量數據和變量存儲在數據塊中。某些程序塊可以用來實現相同或者相似的功能,相互是獨立的,且被OB1或其他程序塊調用。第第3章章 S7-1200 程序設計基礎程序設計基礎 *253.5 編程方法編程方法 結構化編程 將過

溫馨提示

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

評論

0/150

提交評論