車和陽主講:西門子 PLC 從入門到精通初級教程(6)-程序設(shè)計(jì)_第1頁
車和陽主講:西門子 PLC 從入門到精通初級教程(6)-程序設(shè)計(jì)_第2頁
車和陽主講:西門子 PLC 從入門到精通初級教程(6)-程序設(shè)計(jì)_第3頁
車和陽主講:西門子 PLC 從入門到精通初級教程(6)-程序設(shè)計(jì)_第4頁
車和陽主講:西門子 PLC 從入門到精通初級教程(6)-程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第5章S7程序結(jié)構(gòu)與程序設(shè)計(jì)§5.5

編輯并調(diào)用有參功能(FC)——結(jié)構(gòu)化程序設(shè)計(jì)§5.6

編輯并調(diào)用無靜態(tài)參數(shù)的功能塊(FB)§5.7

編輯并調(diào)用有靜態(tài)參數(shù)的功能塊(FB)§5.8

使用多重背景——結(jié)構(gòu)化程序設(shè)計(jì)

所謂有參功能(FC),是指編輯功能(FC)時,在局部變量聲明表內(nèi)定義了形式參數(shù),在功能(FC)中使用了虛擬的符號地址完成控制程序的編程,以便在其他塊中能重復(fù)調(diào)用有參功能(FC)。這種方式一般應(yīng)用于結(jié)構(gòu)化程序編寫?!?.5.1編輯有參功能(FC)§5.5.2在OB1中調(diào)用有參功能(FC)§5.5編輯并調(diào)用有參功能(FC)——結(jié)構(gòu)化程序設(shè)計(jì)【例5-5-1】

多級分頻器控制程序設(shè)計(jì)。本例擬在功能FC1中編寫二分頻器控制程序,然后在OB1中通過調(diào)用FC1實(shí)現(xiàn)多級分頻器的功能。多級分頻器的時序關(guān)系如圖所示。其中I0.0為多級分頻器的脈沖輸入端;Q4.0~Q4.3分別為2、4、8、16分頻的脈沖輸出端;Q4.4~Q4.7分別為2、4、8、16分頻指示燈驅(qū)動輸出端?!?.5.1編輯有參功能(FC)創(chuàng)建多級分頻器的S7項(xiàng)目硬件配置編寫符號表規(guī)劃程序結(jié)構(gòu)創(chuàng)建有參功能FC11.創(chuàng)建多級分頻器的S7項(xiàng)目使用菜單【File】→【“NewProject”Wizard】創(chuàng)建多級分頻器的S7項(xiàng)目,并命名為“有參FC”。2.硬件配置打開“SIMATIC300Station”文件夾,雙擊硬件配置圖標(biāo)打開硬件配置窗口,并按圖所示完成硬件配置。3.編寫符號表4.規(guī)劃程序結(jié)構(gòu)5.創(chuàng)建有參FC1

選擇“有參FC”項(xiàng)目的“Blocks”文件夾,然后執(zhí)行菜單命令【Insert】→【S7Block】→【Function】,在塊文件夾內(nèi)創(chuàng)建一個功能,并命名為“FC1”。編輯FC1的變量聲明表在FC1的變量聲明表內(nèi),聲明4個參數(shù),見下表。編輯FC1的控制程序

二分頻器的時序如圖所示。分析二分頻器的時序圖可以看到,輸入信號每出現(xiàn)一個上升沿,輸出便改變一次狀態(tài),據(jù)此可采用上跳沿檢測指令實(shí)現(xiàn)。

如果輸入信號S_IN出現(xiàn)上升沿,則對S_OUT取反,然后將S_OUT的信號狀態(tài)送LED顯示;否則,程序直接跳轉(zhuǎn)到LP1,將S_OUT的信號狀態(tài)送LED顯示。FC1的控制程序§5.5.2在OB1中調(diào)用有參功能(FC)使用絕對地址使用符號地址

功能塊(FB)在程序的體系結(jié)構(gòu)中位于組織塊之下。它包含程序的一部分,這部分程序在OB1中可以多次調(diào)用。功能塊的所有形參和靜態(tài)數(shù)據(jù)都存儲在一個單獨(dú)的、被指定給該功能塊的數(shù)據(jù)塊(DB)中,該數(shù)據(jù)塊被稱為背景數(shù)據(jù)塊。當(dāng)調(diào)用FB時,該背景數(shù)據(jù)塊會自動打開,實(shí)際參數(shù)的值被存儲在背景數(shù)據(jù)塊中;當(dāng)塊退出時,背景數(shù)據(jù)塊中的數(shù)據(jù)仍然保持。§5.6.1編輯無靜態(tài)參數(shù)的功能塊(FB)§5.6.2在OB1中調(diào)用無靜態(tài)參數(shù)的功能塊(FB)

§5.6編輯無靜參的功能塊(FB)【例5-6-1】

水箱水位控制系統(tǒng)程序設(shè)計(jì)。【例5-6-1】

系統(tǒng)有3個貯水箱,每個水箱有2個液位傳感器,UH1,UH2,UH3為高液位傳感器,“1”有效;UL1,UL2,UL3為低液位傳感器,“0”有效。Y1、Y3、Y5分別為3個貯水水箱進(jìn)水電磁閥;Y2、Y4、Y6分別為3個貯水水箱放水電磁閥。SB1、SB3、SB5分別為3個貯水水箱放水電磁閥手動開啟按鈕;SB2、SB4、SB6分別為3個貯水箱放水電磁閥手動關(guān)閉按鈕。

控制要求:SB1、SB3、SB5在PLC外部操作設(shè)定,通過人為的方式,按隨機(jī)的順序?qū)⑺浞趴?。只要檢測到水箱“空”的信號,系統(tǒng)就自動地向水箱注水,直到檢測到水箱“滿”信號為止。水箱注水的順序要與水箱放空的順序相同,每次只能對一個水箱進(jìn)行注水操作。§5.6.1編輯無靜態(tài)參數(shù)的功能塊(FB)創(chuàng)建S7項(xiàng)目硬件配置編寫符號表規(guī)劃程序結(jié)構(gòu)編輯功能塊(FB)建立背景數(shù)據(jù)塊(DI)編輯啟動組織塊OB1001.創(chuàng)建S7項(xiàng)目使用菜單【File】→【“NewProject”Wizard】創(chuàng)建水箱水位控制系統(tǒng)的S7項(xiàng)目,并命名為“無靜參FB”。項(xiàng)目包含組織塊OB1和OB100。2.硬件配置在“無靜參FB”項(xiàng)目內(nèi)打開“SIMATIC300Station”文件夾,打開硬件配置窗口,并按圖所示完成硬件配置。3.編寫符號表4.規(guī)劃程序結(jié)構(gòu)5.編輯功能(FB1)

在“無靜參FB”項(xiàng)目內(nèi)選擇“Blocks”文件夾,執(zhí)行菜單命令【Insert】→【S7Block】→【FunctionBlock】,創(chuàng)建功能塊FB1。由于在符號表內(nèi)已經(jīng)為FB1定義了符號名,因此在FB1的屬性對話框內(nèi)系統(tǒng)會自動添加符號名“水箱控制”。定義局部變量聲明表編寫程序代碼定義局部變量聲明表

與功能(FC)不同,在功能塊(FB)參數(shù)表內(nèi)還有擴(kuò)展地址(Exclusionaddress)和結(jié)束地址(Terminationaddress)選項(xiàng)。編寫程序代碼6.建立背景數(shù)據(jù)塊DB1、DB2、DB37.編輯啟動組織塊OB100§5.6.2在OB1中調(diào)用無靜態(tài)參數(shù)的功能塊(FB)OB1控制程序【例5-6-2】

攪拌控制系統(tǒng)程序設(shè)計(jì)——使用模擬量。

上圖所示為一攪拌控制系統(tǒng),由一個模擬量液位傳感器-變送器來檢測液位的高低,并進(jìn)行液位顯示。現(xiàn)要求對A、B兩種液體原料按等比例混合,請編寫控制程序,控制要求如下:按起動按鈕后系統(tǒng)自動運(yùn)行,首先打開進(jìn)料泵1,開始加入液料A→當(dāng)液位達(dá)到50%后,則關(guān)閉進(jìn)料泵1,打開進(jìn)料泵2,開始加入液料B→當(dāng)液位達(dá)到100%后,則關(guān)閉進(jìn)料泵2,起動攪拌器→攪拌10s后,關(guān)閉攪拌器,開啟放料泵→當(dāng)液料放空后,延時5s后關(guān)閉放料泵。按停止按鈕,系統(tǒng)應(yīng)立即停止運(yùn)行。1.創(chuàng)建S7項(xiàng)目使用菜單【File】→【“NewProject”Wizard】創(chuàng)建攪拌控制系統(tǒng)的S7項(xiàng)目,并命名為“FC與FB”。2.硬件配置在“FC與FB”項(xiàng)目內(nèi)打開“SIMATIC300Station”文件夾,打開硬件配置窗口,并按圖下完成硬件配置。

修改模塊的模擬量輸入通道和輸出通道的起始地址均為256。3.編輯符號表4.規(guī)劃程序結(jié)構(gòu)OB1為主循環(huán)組織塊;OB100為啟動組織塊;FC1實(shí)現(xiàn)攪拌控制;FC2實(shí)現(xiàn)放料控制;FB1通過調(diào)用DB1和DB2實(shí)現(xiàn)液料A和液料B的進(jìn)料控制;DB1和DB2為液料A和液料B進(jìn)料控制的背景數(shù)據(jù)塊,在調(diào)用FB1時為FB1提供實(shí)際參數(shù),并保存過程結(jié)果。5.創(chuàng)建無參功能(FC1、FC2)(1/2)FC1控制程序5.創(chuàng)建無參功能(FC1、FC2)(2/2)FC2控制程序6.創(chuàng)建無靜態(tài)參數(shù)的功能塊(FB1)定義FB1的局部變量聲明表編寫FB1控制程序7.建立背景數(shù)據(jù)塊(DB1、DB2)

在“FC與FB”項(xiàng)目內(nèi)選擇“Blocks”文件夾,執(zhí)行菜單命令【Insert】→【S7Block】→【DataBlock】,創(chuàng)建與FB1相關(guān)聯(lián)的背景數(shù)據(jù)塊DB1和DB2。STEP7自動為DB1和DB2構(gòu)建了與FB1完全相同的數(shù)據(jù)結(jié)構(gòu),如下圖所示。8.在OB1中調(diào)用FC1、FC2和FB1OB1的控制程序OB1的控制程序OB1的控制程序9.編寫啟動組織塊OB100的控制程序§5.7編輯并調(diào)用有靜態(tài)參數(shù)的功能塊

在編輯功能塊(FB)時,如果程序中需要特定數(shù)據(jù)的參數(shù),可以考慮將該特定數(shù)據(jù)定義為靜態(tài)參數(shù),并在FB的聲明表內(nèi)STAT處聲明。下面以交通信號燈控制系統(tǒng)的設(shè)計(jì)為例,介紹如何編輯和調(diào)用有靜態(tài)參數(shù)的功能塊?!?.7.1編輯有靜態(tài)參數(shù)的功能塊(FB)§5.7.2在OB1中調(diào)用有靜態(tài)參數(shù)的功能塊(FB)【例5-7-1】

交通信號燈控制系統(tǒng)程序設(shè)計(jì)。

上圖所示為雙干道交通信號燈設(shè)置示意圖。信號燈的動作受開關(guān)總體控制,按一下起動按鈕,信號燈系統(tǒng)開始工作,并周而復(fù)始地循環(huán)動作;按一下停止按鈕,所有信號燈都熄滅。信號燈控制的具體要求見下表,試編寫信號燈控制程序。

根據(jù)十字路口交通信號燈的控制要求,可畫出信號燈的控制時序圖?!?.7.1編輯有靜態(tài)參數(shù)的功能塊(FB)創(chuàng)建S7項(xiàng)目硬件配置編寫符號表規(guī)劃程序結(jié)構(gòu)編輯功能塊(FB)建立背景數(shù)據(jù)塊(DI)編輯啟動組織塊OB1001.創(chuàng)建S7項(xiàng)目使用菜單【File】→【“NewProject”Wizard】創(chuàng)建交通信號燈控制系統(tǒng)的S7項(xiàng)目,并命名為“有靜參FB”。項(xiàng)目包含組織塊OB1和OB100。2.硬件配置在“有靜參FB”項(xiàng)目內(nèi)打開“SIMATIC300Station”文件夾,打開硬件配置窗口,并按下圖所示完成硬件配置。3.編寫符號表4.

溫馨提示

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

評論

0/150

提交評論