西門子S7-300高級編程培訓(xùn)教材_內(nèi)部教材_6、塊調(diào)用和多重背景模型.ppt_第1頁
西門子S7-300高級編程培訓(xùn)教材_內(nèi)部教材_6、塊調(diào)用和多重背景模型.ppt_第2頁
西門子S7-300高級編程培訓(xùn)教材_內(nèi)部教材_6、塊調(diào)用和多重背景模型.ppt_第3頁
西門子S7-300高級編程培訓(xùn)教材_內(nèi)部教材_6、塊調(diào)用和多重背景模型.ppt_第4頁
西門子S7-300高級編程培訓(xùn)教材_內(nèi)部教材_6、塊調(diào)用和多重背景模型.ppt_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、塊調(diào)用與多重背景模型,用于結(jié)構(gòu)化編程的塊,整個任務(wù)的 模塊化: 單個任務(wù)在各自塊中 予以解決 參數(shù)分配法使得 使用更加靈活 示例:鉆孔循環(huán)程序的鉆孔深度為可分配參數(shù) 塊的可再利用性能: 塊可以按需要隨時 加以調(diào)用 限制因素: 不允許訪問 全局地址空間 只能通過參數(shù)列表 進行通信,OB 1,電機1,FB1,閥,FB2,控制器,FB10,FC 5,限制 閥,復(fù)制,SFC,. . .,. . CALL FB1, DB2 Start:=I 0.0 Stop:=I 0.1 Motor_on:=Q12.0 Speed:=QW14 . .,FB 1,地址聲明名稱類型 0.0inStartBOOL 0.1in

2、StopBOOL 2.0outMotor_onBOOL 4.0outSpeedINT 6.0statSpeed_oldINT 0.0tempCalc_1INT . . . A #Start AN #Stop=#Motor_on .,DB 2,OB 1,STEP 7 塊概述,屬性,組織塊(OB),- 用戶程序接口 - 優(yōu)先級(0到27) - 在局部數(shù)據(jù)堆棧中指定開始信息,塊的類型,功能塊(FB),- 參數(shù)可分配(可以在調(diào)用時分配參數(shù)) - 具有(收回)存儲空間(靜態(tài)變量),功能(FC),- 參數(shù)可分配(必須在調(diào)用時分配參數(shù)) - 基本上沒有存儲空間(只有臨時變量),數(shù)據(jù)塊(DB),- 結(jié)構(gòu)化的局

3、部數(shù)據(jù)存儲(背景數(shù)據(jù)塊DB) - 結(jié)構(gòu)化的全局?jǐn)?shù)據(jù)存儲(在整個程序中有效),系統(tǒng)功能塊(SFB),- FB(具有存儲空間),存儲在CPU的操作系統(tǒng)中并可由用戶調(diào)用,系統(tǒng)功能(SFC),- FB(無存儲空間),存儲在CPU的操作系統(tǒng)中并可由用戶調(diào)用,系統(tǒng)數(shù)據(jù)塊(SDB),- 用于配置數(shù)據(jù)和參數(shù)的數(shù)據(jù)塊,功能及功能塊中的參數(shù)聲明,Motor,EN,ENO,Start,地址聲明名稱類型初始化值. 0.0輸入StartBOOLFALSE 0.1輸入StopBOOLTRUE 2.0輸入SpeedINT0 2.0輸出Motor_onBOOLFALSE 8.0輸出SetpointINT0 10.0輸入/輸出

4、 EMER_OFFBOOLFALSE .靜態(tài). .臨時.,Setpoint,EMER_OFF,Motor_on,Stop,輸入?yún)?shù),輸入/輸出參數(shù),輸出參數(shù),參數(shù)是信息傳遞的通道 輸入?yún)?shù):Caller - Block 輸出參數(shù): Block - Caller 輸入/輸出參數(shù): Caller Block 參數(shù)形成了塊的一個“shell”: 參數(shù)位于代碼段 與“局部”變量類似 參數(shù)可以為任何數(shù)據(jù)類型 在調(diào)用期間進行數(shù)據(jù)類型檢查 例外情況:POINTER,ANY 調(diào)用接口與編程語言無關(guān) PLC編程語言可以混合使用,Speed,功能的屬性,參數(shù)可分配的塊: 具有足夠多的輸入,輸出,輸入/輸出參數(shù) 無

5、存儲區(qū),也即只有臨時變量 IEC 61131-3標(biāo)準(zhǔn)一致性要求: 足夠多的輸入?yún)?shù) 僅有一個輸出參數(shù)RET_VAL 不允許訪問全局變量和絕對地址 使用同一輸入?yún)?shù)提供相同的結(jié)果 擴展了處理器的指令集,功能FC10,輸入On_1BOOL輸入On_2BOOL輸出OffBOOL .,. A #On_1 A #On_2 = #Off.,基本數(shù)據(jù)類型傳送機理,OB1,功能FC10,程序 執(zhí)行,CALL FC10 On_1:=I 0.1On_2:= I 0.2Off:= Q8.0,輸入On_1BOOL輸入On_2BOOL輸出OffBOOL .,. A #On_1 A #On_2 = #Off.,OB1,B

6、LD 1=L 20.0UC FC 10P#I0.1P#I 0.2P#Q 8.0BLD2,.,IB0,基本類型實際參數(shù)位于于: 位存儲地址區(qū)域 過程映像 調(diào)用的局部堆棧,塊參數(shù),實際參數(shù),形式參數(shù),復(fù)雜數(shù)據(jù)類型的功能調(diào)用,示例:向功能傳遞一個ARRAY,DB5 Temperature,FC21,只能通過符號來進行參數(shù)的賦值,Network(段) 1: 在功能FC21里,聲明一個數(shù)組Mes_Val CALL FC 21 Mes_Val:=Temperature.sequence,調(diào)用(主調(diào))功能的特點,CALL指令 指令為宏指令 寄存器內(nèi)容可能會被覆蓋掉,甚至是DB寄存器 請注意B堆棧中內(nèi)容的解釋

7、 調(diào)用之后,可能會打開另一個DB CALL指令的處理時間取決于實際參數(shù)的數(shù)目和存儲單元位置 CALL指令確保了塊參數(shù)被正確地賦予當(dāng)前數(shù)據(jù) 示例: CALL FC10On_1:= I 0.1On_2:= I 0.2Off:= Q8.0 調(diào)用指令UC和CC 不依賴于RLO的塊調(diào)用(UC)或取決于RLO的塊調(diào)用 示例:UC FC20或CC FC20 當(dāng)FC沒有參數(shù)的時候,才可使用這些指令,FB 5,輸入StartBOOL輸入StopBOOL輸出Motor_onBOOL 輸出SpeedINT 靜態(tài). 臨時.,. A #Start AN #Stop = #Motor_on.,功能塊的屬性,屬于可分配參數(shù)

8、的塊: IEC 61131-3標(biāo)準(zhǔn)一致性塊 有足夠滿足需要的輸入,輸出,輸入/輸出參數(shù) 有存儲區(qū)域,即不僅有臨時變量而且還有靜態(tài)變量 使用本身數(shù)據(jù)區(qū)域進行調(diào)用(創(chuàng)建背景) “數(shù)據(jù)封裝” 應(yīng)用: 定時器和計數(shù)器功能 使用內(nèi)部狀態(tài)控制過程設(shè)備 鍋爐 電機,閥,等等。,CALL FB5, DB16 Start:=I 0.0 Stop:=I 0.1 Motor_on:=Q8.0 Speed:=QW12,0.0StartBOOL0.1StopBOOL2.0Motor_onBOOL 4.0SpeedINT,DB 16,電機,構(gòu)建功能塊實例,Drive_1,FBx,+,DBy,Drive_1 狀態(tài)數(shù)據(jù),控制

9、算法,OB, FB或FC,CALL FBx, DBy . .,使用背景DB的FB調(diào)用,CALL #Motor_1 . CALL #Motor_2,DBx,. statMotor_1FBx statMotor_2FBx,Drive_2 狀態(tài)數(shù)據(jù),Drive_3 狀態(tài)數(shù)據(jù),FBx,FB實例,控制算法,FB,Drive_2,Drive_3,FB內(nèi)的聲明 (多重背景),在一個FB調(diào)用過程中的參數(shù)傳遞,OB1,FB10,程序執(zhí)行,CALL FB10, DB16 Start:=I 0.4Stop:=I 0.0Motor_on:=Q8.1Speed:=QW12,0.0inStartBOOL0.1inStop

10、BOOL2.0outMotor_onBOOL 4.0outSpeedINT .,. A #Start AN #Stop = #Motor_on.,BLD3 =L24.0 TDB OPNDI16 TAR2LD20 AI0.4 =DIX0.0 AI0.0 =DIX0.1 LAR2P#DBX 0.0 UCFB10 LAR2LD 20 ADIX 2.0 =Q8.1 LDIW4 TQW12 TDB BLD4,.,IB0,1,0,0,1,0,0,1,0,QB8,DB16,.,.,.,.,.,.,0,1,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,1,1,2,3,. . .,塊參數(shù),實際參數(shù)

11、,形式參數(shù),. . .,使用復(fù)雜數(shù)據(jù)類型的FB調(diào)用過程,示例:將一個ARRAY傳送到一個功能塊,FB17,只允許用符號對復(fù)雜參數(shù)進行相關(guān)分配,Network 1: CALL FB 17, DB 2 Meas_1:=Temperature.Cylinder Sum_1:=MD20 Sum_2:=MD30 Meas_2:=Temperature.Shaft,DB2 Temperature,功能塊調(diào)用的特性,“按值” 傳遞參數(shù)(復(fù)制數(shù)值): CALL過程中FB參數(shù)的賦值: 無需為某些FB參數(shù)賦值 可以從“外部” 進行賦值和取消賦值 例如:直接通過操作面板進行 例外:復(fù)雜數(shù)據(jù)類型的輸入/輸出參數(shù)(ST

12、RUCT,ARRAY,STRING以及 DATE_AND_TIME) 初始化: FB參數(shù)可以在聲明部分進行初始化 例外:復(fù)雜數(shù)據(jù)類型的輸入/輸出參數(shù)(STRUCT,ARRAY,STRING以及 DATE_AND_TIME) 使用DI和AR2寄存器在內(nèi)部訪問形式參數(shù) 如果DI或者AR2寄存器被覆蓋,將不再允許訪問背景數(shù)據(jù)。 附加調(diào)用指令UC和CC 示例:UC FB20或者CC FB20 只有當(dāng)FB沒有背景數(shù)據(jù)時才能使用(參數(shù)+靜態(tài)變量),主罐,瓶子傳感器 I 16.6,瓶子傳感器 I 16.5,瓶子傳感器 I 16.7,Q 9.0,漏斗,練習(xí)6:罐裝生產(chǎn)線中的傳送帶模型,Q 20.5 傳送帶正轉(zhuǎn)

13、,Q 20.6 傳送帶反轉(zhuǎn),練習(xí)6.1a: 罐裝生產(chǎn)線 工作模式選擇,生產(chǎn)線 ON/OFF I 0.0: Start (NO, 瞬動開關(guān)) I 0.1: Stop (NC) Q8.1: Plant_on 手動/自動方式 I 0.4:自動/手動 I 0.5:確定模式 Q8.2: 選定手動方式 A8.3: 選定自動方式,FB15: “模式選擇,EN Start Plant_on Stop OM_Man Auto_Man OM_Auto OM_activateENO,DB15,. . . I 0.0 I 0.1 I 0.4 I 0.5,Q8.1 Q8.2 Q8.3,練習(xí)6.1b:罐裝生產(chǎn)線 傳送帶,

14、手動方式 I 0.5: 正向點動 I 0.6: 反向點動 Q20.5: 傳送帶正向運轉(zhuǎn) Q20.6:傳送帶反向運轉(zhuǎn) 自動方式 I 16.6:傳感器:罐裝位置 I 16.7:傳感器:計算瓶數(shù) Q9.0: 罐裝啟動 QW12: 滿瓶顯示,FB16: “傳送帶控制,EN OM_Man OM_AutoConv_for Jog_for Conv_back Jog_backFilling_active Sensor_fillFull_bottles Sensor_fullENO,Q20.5 Q20.6 Q9.0 QW12,DB16,. . . Q8.2 Q8.3 I 0.2 I 0.3 I 16.6 I

15、16.7,多重背景模型的結(jié)構(gòu),FB10,鉆床數(shù)據(jù),FB10的背景DB,CALL Drill . CALL Motor_1 . CALL Motor_2,DB10,. statDrillFB1 statMotor_1FB2 statMotor_2FB2,Motor_1的數(shù)據(jù),Motor_2的數(shù)據(jù),FB1,FB2,鉆孔算法,馬達控制,例如 OB1,. CALL FB10,DB10 .,使用多重背景模型實現(xiàn)面向?qū)ο蟮木幊?Press_2,Press_1,傳送,示例:沖壓生產(chǎn)線,技術(shù)劃分,通過FB背景,對程序進行技術(shù)劃分,FB: Press line,FB: #Transport,FB: #Press

16、_1,沖壓頭 防護裝置,FB: #Punch,FB: #Guard,FB: #Press_2,FB: #Punch,FB: #Guard,用STEP 7來實現(xiàn)一個“沖壓生產(chǎn)線”,FB10:Press line,FB10的背景DB,CALL #Press_1 . CALL #Press_2 . CALL #Transport,DB10,. statPress_1FB1 statPress_2FB1 statTransportFB2 .,FB1:Press,. statPunchFB4 statGuardFB5 .,CALL #Punch . CALL #Guard,. statPunchFB4

17、statGuardFB5 .,CALL #Punch . CALL #Guard,. .,FB2: Transport,FB4:Punch,FB5:Guard,CALL FB10, DB10,OB1,FB1: Press,FB4:Punch,FB5:Guard,多重背景模型的屬性,多重背景模型的優(yōu)點: 多個實例只需要 一個 DB 在為各個實例創(chuàng)建“private” 數(shù)據(jù)區(qū)時,無需任何額外的管理工作 多重背景模型使得“面向?qū)ο蟮木幊田L(fēng)格”成為可能(通過“集合”的方式實現(xiàn)可重用性) 最大嵌套深度為8級 FB的必備條件: 在FB內(nèi)不允許直接訪問過程信號(I,Q) 只有使用FB參數(shù)訪問過程信號,或者與

18、其它過程單元進行通訊 FB只能使用靜態(tài)變量來記憶其過程狀態(tài),而不使用全局DB或者位存儲器。 注意事項: 背景數(shù)據(jù)還可以從“外部”進行訪問 例如在OB1中: L Press line.Press_2.Punch.,練習(xí) 6.2:生產(chǎn)線中的傳送帶模型,H4LED,接近開關(guān) INI1, INI2, INI3,光柵 LB1,“S4”確認(rèn)開關(guān),工位的處理順序 工件的處理 成形處理 向傳送帶上放置工件 等待原材料工件 從傳送帶中取原材料工件,傳送帶的處理順序 等待成型的工件 傳送到總裝線 總裝,插入原材料工件 傳送到工作站,“S1”, “S2”, “S3”確認(rèn)開關(guān),H1, H2, H3LED,練習(xí) 6.2

19、a:一個工作站的程序結(jié)構(gòu),程序的技術(shù)劃分,傳送帶,工作站1,工作站2,工作站3,OB1,CALL FB1, DB1 . CALL FB2, DB2,FB1: Station,Initial LED Proxy_switch Transp_req Acknowledge Clock_bit_q Clock_bit_s Conv_busy,DB1,M10.1,S1,INI1,I 0.0,H1,DB2,FB2: Transport,InitialLED L_BarrierConv_right AcknowledgeConv_left Transp_req Clock_bit,H4,K1_CONVR,

20、K2_CONVL,I 0.0,LB1,S4,M10.1,M10.3,FB1 “Station” 的工作原理,FB1: Station,Take_piece_from_conv: LED 快速閃爍,Piece_finished: LED 慢速閃爍,Process_piece LED 連續(xù)點亮,IN 參數(shù): 數(shù)據(jù)類型: InitialBOOL Proxy_switchBOOL AcknowledgeBOOL Clock_bit_qBOOL Clock_bit_sBOOL OUT 參數(shù): LEDBOOL Transp_reqBOOL I/O 參數(shù): Conv_busyBOOL 靜態(tài)變量: State

21、 STRUCT Process_pieceBOOLPiece_finishedBOOL Place_part_on_convBOOL Wait_for_pieceBOOL Take_piece_from_conv BOOLEND_STRUCT,狀態(tài)模型:,A Acknowledge,AN Proxy_switchA Transp_req,FB1中的聲明:,Wait_for_piece: LED熄滅,Place_part_on_conv: LED快速閃爍,AN Conv_busy,AProxy_switch,AN Proxy_switch,A Initial FP .,FB2 “Transpor

22、t”的工作原理,Conv_left LED 閃爍,Conv_right LED 閃爍,A #Transp_req,Waiting LED熄滅,AN #Tansp_req,AN #LBarrier,Assembly LED連續(xù)點亮,A #Acknowledge,狀態(tài)模型:,FB2的接口:,IN 參數(shù): 數(shù)據(jù)類型: InitialBOOL L_BarrierBOOL AcknowledgeBOOL Transp_reqBOOL Clock_bitBOOL OUT 參數(shù): LEDBOOL Conv_rightBOOLConv_leftBOOL 靜態(tài)變量: StateSTRUCT WaitingBOOLConv_rightBOOLAssemblyBOOLConv_leftBOOLEND_STRUCT,FB2: Transport,A Initial FP .,練習(xí)6.2b:擴展到3個站,FB10,Station_1的數(shù)據(jù),FB10的背景數(shù)據(jù)塊,CALL Station_1

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論