可編程控制器 S7-300 400系列PLC編程語言與用戶結(jié)構(gòu)_第1頁
可編程控制器 S7-300 400系列PLC編程語言與用戶結(jié)構(gòu)_第2頁
可編程控制器 S7-300 400系列PLC編程語言與用戶結(jié)構(gòu)_第3頁
可編程控制器 S7-300 400系列PLC編程語言與用戶結(jié)構(gòu)_第4頁
可編程控制器 S7-300 400系列PLC編程語言與用戶結(jié)構(gòu)_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

可編程控制器西門子S7-300/400PLC實踐與應(yīng)用主要內(nèi)容S7-300/400的編程語言二、用戶程序基本結(jié)構(gòu)三、數(shù)據(jù)塊四、組織塊A I0.0A I0.1= Q8.0STLI0.0I0.1Q8.0LAD&Q8.0=I0.0I0.1FBD二、用戶程序基本結(jié)構(gòu)1.用戶程序中的塊STEP7將用戶編寫的程序和程序所需的數(shù)據(jù)放置在塊中,使單個的程序部件標準化。通過在塊內(nèi)或塊之間類似子程序的調(diào)用,使用戶程序結(jié)構(gòu)化,可以簡化程序組織,使程序易于修改、查錯和調(diào)試。塊結(jié)構(gòu)顯著地增加了PLC程序的組織透明性、可理解性和易維護性。塊功能描述組織塊(OB)操作系統(tǒng)與用戶程序接口,決定用于程序的結(jié)構(gòu)系統(tǒng)功能塊(SFB)集成在CPU模塊中,通過SFB調(diào)用一些重要的系統(tǒng)功能,有存儲區(qū)系統(tǒng)功能(SFC)集成在CPU模塊中,通過SFC調(diào)用一些重要的系統(tǒng)功能,無存儲區(qū)功能塊(FB)用戶編寫的包含經(jīng)常使用功能的子程序,有存儲區(qū)功能(FC)用戶編寫的包含經(jīng)常使用功能的子程序,無存儲區(qū)背景數(shù)據(jù)塊(DI)調(diào)用FB和SFB時用于傳遞參數(shù)的數(shù)據(jù)塊,在編譯過程中自動生成數(shù)據(jù)共享數(shù)據(jù)塊(DB)存儲用戶數(shù)據(jù)的數(shù)據(jù)區(qū)域,供所有的塊共享三、數(shù)據(jù)塊基本數(shù)據(jù)類型(到32位)復雜數(shù)據(jù)類型(長于32位)用戶定義數(shù)據(jù)類型(長于32位)?位數(shù)據(jù)類型(BOOL,BYTE,WORD,DWORD,CHAR)?數(shù)學數(shù)據(jù)類型(INT,DINT,REAL)?定時器類型(S5TIME,TIME,DATE,TIME_OF_DAY)?時間(DATE_AND_TIME)?矩陣(ARRAY)?結(jié)構(gòu)(STRUCT)?字符串(STRING) 數(shù)據(jù)類型

UDT(用戶定義數(shù)據(jù)類型)1.塊中的數(shù)據(jù)類型BOOL 1 True或False(1或0)BYTE 8 B#16#A9WORD 16 W#16#12AFDWORD 32 DW#16#ADAC1EF5CHAR 8 'w'S5TIME 16 S5T#5s_200ms INT 16 123DINT 32 L#65539REAL 32 1.2或

34.5E-12TIME 32 T#2D_1H_3M_45S_12MSDATE 16 D#1993-01-20TIME_OF_DAY 32 TOD#12:23:45.12關(guān)鍵字長度(位)該類型的常數(shù)舉例關(guān)鍵字 長度(位) 舉例

DATE_AND_TIME 64 DT#97-09-24-12:14:55.0

STRING 8*(字符個數(shù)+2) ′Thisisastring′

(最多254個字符的字符串) ′SIEMENS′

ARRAY

用戶定義

測量值:

ARRAY[1..20]

(相同數(shù)據(jù)類型的元素組) INT

STRUCT

用戶定義

Motor:STRUCT

(不同數(shù)據(jù)類型的元素組)

Speed:INT

Current:REAL

END_STRUCTUDT UDTas

blockUDTas

arrayelement

(用戶定義數(shù)據(jù)類型= 用戶定義

基本或復雜數(shù)據(jù)類型組成的

STRUCT Drive:ARRAY[1..4]

模板)

Speed:INT UDT1

Current:REAL

END_STRUCT 2.數(shù)據(jù)塊的生成與使用(1)生成數(shù)據(jù)塊(2)輸入、保存、下載和監(jiān)視數(shù)據(jù)塊078位數(shù)據(jù)字節(jié)0DBB0數(shù)據(jù)字節(jié)1DBW0數(shù)據(jù)字節(jié)8191DBD8188DBW8190DBB8191數(shù)據(jù)字節(jié)2DBD0數(shù)據(jù)字節(jié)3DBX4.1(3)尋找數(shù)據(jù)單元0123456789DB19

(符號名:Values)帶有元素名字“Start”的數(shù)據(jù)位0.0或ADB19.DBX0.0或A“Values”.Start或LDB19.DBW2或L“Values”.Number或LDB19.DBB5或L“Values”.Loop傳統(tǒng)訪問方法符號尋址完全表示訪問1)OPNDB19LDBW2NumberOPNDB19ADBX0.01)OPNDB19LDBB5Loop絕對尋址(4)訪問數(shù)據(jù)單元四、組織塊

組織塊是操作系統(tǒng)與用戶程序之間的接口。S7提供了各種不同的組織塊(OB),用組織塊可以創(chuàng)建在特定的時間執(zhí)行的程序和響應(yīng)特定事件的程序,例如延時中斷OB、外部硬件中斷OB和錯誤處理OB等。操作系統(tǒng)OB1FCFBSFCSFB其它OBsFCFBOB10...17(日期時間中斷)OB80...87(異步錯誤)OB20...23(延時中斷)定期的程序執(zhí)行OB30...38(循環(huán)中斷)事件驅(qū)動的程序執(zhí)行OB40...47(硬件中斷)啟動OB102OB100OB101循環(huán)的程序執(zhí)行OB1OB121,122(同步錯誤)中斷

OB錯誤

OB讀入

PII執(zhí)行OB1輸出

PIQ完全再啟動自動手動S7-300/400PowerONS7-300STOP->RUNS7-400STOP->RUN+CRST清除過程映像,非保持的M,T,C執(zhí)行

OB100允許輸出讀入

PII允許輸出STOP是否超過重啟動的監(jiān)視時間?清除

PIQ(可設(shè)置)完成剩余的循環(huán)執(zhí)行

OB101執(zhí)行

OB1再啟動(手動)?僅指

S7-400(根據(jù)硬件組態(tài)的設(shè)置):

STOP->RUN+WRST啟動組織塊輸出

PIQ循環(huán)循環(huán)4/56/78/910/11局部變量字節(jié)8,9,10,11的數(shù)據(jù)格式附加信息

1 (例如,中斷模塊的起始地址)附加信息2 (例如,中斷狀態(tài))附加信息3 (例如,通道號碼)局部變量字節(jié)0/12/3啟動事件優(yōu)先級序列號OB號12/1314/1516/1718/19年日分鐘1/10秒,1/100秒月小時秒1/1000秒,星期管理信息啟動信息啟動時間組織塊的啟動信息例如:OB82(優(yōu)先級26)=錯誤處理程序。當模擬輸入PIW352斷線時執(zhí)行。例如OB10(優(yōu)先級2)=日期時間中斷。從9:30開始每分鐘執(zhí)行一次。OB1連續(xù)執(zhí)行

OB13日期時間中斷循環(huán)中斷116錯誤處理循環(huán)程序延時中斷硬件中斷21226/28OB20OB40OB10OB35OB82OB號OB類型優(yōu)先級例如

OB20(優(yōu)先級3)=延時中斷。檢測到一個信號后

延遲3.25s執(zhí)行。中斷循環(huán)程序......直到被其它OB中斷被中斷的OB塊的數(shù)據(jù)保存系統(tǒng)調(diào)用新的

OB在執(zhí)行新的

OB前,保存被中斷塊的寄存器中斷堆棧(I堆棧)塊堆棧(B堆棧)ACCU1,ACCU2累加器的內(nèi)容AR1,AR2地址寄存器的內(nèi)容DB,DI數(shù)據(jù)塊寄存器的內(nèi)容局部數(shù)據(jù)堆棧的地址指針狀態(tài)字,MCR寄存器,B堆棧指針DB和

DI寄存器臨時數(shù)據(jù)

(L堆棧)的指針塊的號碼返回地址日期時間中斷OB10(1)

日時鐘OB(OB10在S7-314)允許你在某一特定日期或特定間隔,中斷正在循環(huán)的OB而去執(zhí)行中斷程序。你可以對此OB編程使其按下列間隔運行:Once(一次):只在特定日期和時間執(zhí)行一次。Everyminute(每分鐘):從某一特定日期和時間開始,每分鐘執(zhí)行1次。Hourly(每小時):從某一特定日期和時間開始,每小時執(zhí)行一次。Daily(每天):從某一特定日期和時間開始,每天執(zhí)行一次。Weekly(每周):從某一特定日期和時間開始,每周執(zhí)行一次。Monthly(每月):從某一特定日期和時間開始,每月執(zhí)行一次。Annually(每年):從某一特定日期和時間開始,每年執(zhí)行一次。日期時間中斷OB10(2)循環(huán)中斷(OB35)RUNOB35OB35OB35IntervalOOB1B1OB1OB1OB1OB1OB1OB1IntervalInterval(P)()I0.0M0.1

SFC32(SRT_DINT)ENENOOB_NRDTIMESIGNRET_VAL20T#500msW#16#01MW10M2.0延時中斷(OB20)模擬輸入模塊

上限值下限值+276480硬件中斷(OB40) 硬件組態(tài):

模擬輸入模塊的屬性

如果在處理硬件中斷的同時,又出現(xiàn)了其他硬件中斷事件,新的中斷按以下方法識別和處理:

(1)如果正在處理某一中斷事件,又出現(xiàn)了同一模塊同一通道產(chǎn)生的完全相同的中斷事件,新的中斷事件將丟失,即不處理它;

(2)如果正在處理某一中斷信號時同一模塊中其他通道產(chǎn)生了中斷事件,新的中斷不會被立即觸發(fā),但是不會丟失。在當前已激活的硬件中斷執(zhí)行完后,冉處理被暫存的中斷;

(3)如果硬件中斷被觸發(fā),并且它的OB被其他模塊中的硬件中斷激活,新的請求將被記錄,空閑后再執(zhí)行該中斷。模擬輸入模塊斷線+276480診斷中斷,異步錯誤中斷(OB81...87)

硬件組態(tài):

模擬模塊的屬性

CPU的屬性異步錯誤組織塊

錯誤類型例子OB時間錯誤超出最大循環(huán)掃描時間OB8026/28優(yōu)先級26電源故障后備電池失效OB81診斷中斷有診斷能力模塊的輸入斷線OB82插入/移除

中斷在運行時移除S7-400的信號模塊OB83CPU硬件故障MPI接口上出現(xiàn)錯誤的信號電平OB84程序執(zhí)行錯誤更新映像區(qū)錯誤(模塊有缺陷)OB85機架錯誤擴展設(shè)備或DP從站故障OB86通訊錯誤讀取信息格式錯誤OB87同步錯誤錯誤類型例子OB優(yōu)先級與被中斷的錯誤OB優(yōu)先級相同編程錯誤在程序中調(diào)用一個CPU中并不存在的塊OB121訪問錯誤訪問一個模塊有故障或不存在的模塊(例如,直接訪問一個不存在的I/O模塊)OB122錯誤類型使用錯誤組織塊為避免發(fā)生某錯誤時CPU進入停機狀態(tài),可以在CPU中建立一個相應(yīng)的空錯誤組織塊。

可以在錯誤OB塊中編程實現(xiàn)所希望的響應(yīng),如果需要,在執(zhí)行完規(guī)定指令后,調(diào)用系統(tǒng)功能SFC46申請停機。在錯誤組織塊的啟動信息中包含有錯誤的特征,可以在程序中使用。關(guān)于錯誤組織塊的

溫馨提示

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

評論

0/150

提交評論