国产aaaa级全身裸体精油片_337p人体粉嫩久久久红粉影视_一区中文字幕在线观看_国产亚洲精品一区二区_欧美裸体男粗大1609_午夜亚洲激情电影av_黄色小说入口_日本精品久久久久中文字幕_少妇思春三a级_亚洲视频自拍偷拍

首頁 > 化工知識(shí) > STEP7 & 博途(TIA Portal)如何實(shí)現(xiàn)模塊化程序設(shè)計(jì)?

STEP7 & 博途(TIA Portal)如何實(shí)現(xiàn)模塊化程序設(shè)計(jì)?

時(shí)間:2020-09-28 來源:方正智芯 瀏覽:

西門子 STEP7 &博途(TIA Portal)系列編程軟件功能強(qiáng)大,其模塊化編程的思想能夠使系統(tǒng)邏輯清晰、易于維護(hù)和修改,這對(duì)大型復(fù)雜項(xiàng)目的設(shè)計(jì)至關(guān)重要。今天這篇文章,我們就和大家談?wù)凷TEP7 & 博途(TIA Portal)是如何實(shí)現(xiàn)模塊化程序設(shè)計(jì)的。

對(duì)于一個(gè)復(fù)雜的自動(dòng)化控制任務(wù),我們往往會(huì)根據(jù)其內(nèi)部的邏輯關(guān)系,將其劃分成一些子任務(wù)(子任務(wù)還可以根據(jù)需要繼續(xù)分成更小的子任務(wù))。這樣就能把復(fù)雜的項(xiàng)目變得相對(duì)簡(jiǎn)單,從而比較容易實(shí)現(xiàn)。

打個(gè)比方:我們要去歐洲旅游,要考慮怎么去?(交通)、去了住哪?(住宿)、去做什么?(購物,游玩)等。這樣,“去歐洲旅游”的任務(wù)就被分成了“交通”、“住宿”、“購物”、“游玩”四個(gè)子任務(wù),然后分別完成每一個(gè)子任務(wù)(訂完機(jī)票就完成了“交通”任務(wù)、訂完酒店就完成了“住宿”任務(wù),等等)。當(dāng)所有的子任務(wù)都完成后,整個(gè)任務(wù)也就完成了。

西門子STEP7 & 博途(TIA Portal)在程序設(shè)計(jì)中引入了這種把復(fù)雜任務(wù)簡(jiǎn)單化的思想,可以把整個(gè)項(xiàng)目程序,劃分成小的子程序,分別對(duì)子程序進(jìn)行編程。這些劃分的子程序,被稱為“塊”,“塊”之間通過邏輯關(guān)系調(diào)用或者被調(diào)用。這種把復(fù)雜程序劃分成小的“塊”的編程方法,稱為“模塊化程序設(shè)計(jì)”。

模塊化程序設(shè)計(jì)的邏輯清晰、組織結(jié)構(gòu)透明,增加了程序的可理解性和可維護(hù)性,易于修改、調(diào)試和檢查錯(cuò)誤。創(chuàng)建好的“塊”可以一勞永逸的重復(fù)使用,減少了編程的工作量,提高了工作效率。

在上一篇文章《PLC基礎(chǔ)篇之PLC的誕生及工作原理》中我們講過,PLC內(nèi)部的程序包括操作系統(tǒng)程序和用戶程序兩種。操作系統(tǒng)本身的程序設(shè)計(jì)不在今天的討論范圍之內(nèi),這里我們主要討論的是操作系統(tǒng)與用戶程序的接口及用戶程序本身的模塊化設(shè)計(jì)。

組織塊(Organization Block,OB)是操作系統(tǒng)和用戶程序的接口,操作系統(tǒng)通過調(diào)用特定的組織塊,來完成特定的功能。用戶的程序要寫到組織塊中才能被調(diào)用。

組織塊(OB)可以分為啟動(dòng)組織塊,循環(huán)調(diào)用組織塊和中斷組織塊。

啟動(dòng)組織塊:CPU從停止模式切換到啟動(dòng)模式時(shí),操作系統(tǒng)會(huì)調(diào)用一次啟動(dòng)組織塊(注意:僅調(diào)用一次)。啟動(dòng)組織塊的主要作用是用來初始化一些變量。

循環(huán)調(diào)用組織塊:也稱為主程序塊,一般是OB1。循環(huán)調(diào)用組織塊是用戶程序的入口,相當(dāng)于C語言中的“Main函數(shù)”。

中斷組織塊:是當(dāng)中斷出現(xiàn)時(shí),操作系統(tǒng)調(diào)用的組織塊。STEP7對(duì)中斷組織塊的編號(hào)有規(guī)定,當(dāng)某種中斷出現(xiàn)時(shí),調(diào)用某個(gè)中斷組織塊。中斷組織塊內(nèi)部是用戶寫的中斷處理程序(參考《中斷機(jī)制是怎樣讓PLC高效運(yùn)行的?》)。

上面說的都是操作系統(tǒng)和用戶程序接口的組織架構(gòu),下面談?wù)動(dòng)脩舫绦虻哪K化設(shè)計(jì);

在用戶程序中,我們可以把完成某個(gè)功能的代碼,保存成一個(gè)“塊”,稱為“功能塊(Function Block,F(xiàn)B)”或“功能(Function,F(xiàn)C)”。“功能塊(FB)”和“功能(FC)”都是能完成某種特定功能的代碼的集合,是一個(gè)子程序。它們的不同之處在于:功能塊(FB)”需要有特定的數(shù)據(jù)塊(Data Block,DB)來保存靜態(tài)變量;而“功能(FC)”沒有靜態(tài)變量,因此不需要特定的數(shù)據(jù)塊。

 

功能塊(FB)”所需要的特定的數(shù)據(jù)塊(DB),被稱為背景數(shù)據(jù)塊(Instance Data Block)。背景數(shù)據(jù)塊的屬性是私有的,它只能被它所屬的功能塊(FB)訪問。

與背景數(shù)據(jù)塊相對(duì)應(yīng)的另一種數(shù)據(jù)塊,是全局?jǐn)?shù)據(jù)塊(Global Data Block)。全局?jǐn)?shù)據(jù)塊是公有的,可以被所有的“功能塊(FB)”或者“功能(FC)”訪問。

在設(shè)計(jì)復(fù)雜項(xiàng)目的時(shí)候,可以把項(xiàng)目分成的子任務(wù)設(shè)計(jì)成功能塊(FB)或功能(FC)。功能塊(FB)或功能(FC)之間可以相互調(diào)用,當(dāng)被調(diào)用的功能塊內(nèi)部又調(diào)用另一個(gè)功能塊時(shí),這種調(diào)用稱為“嵌套調(diào)用”,調(diào)用的層數(shù)稱為“嵌套深度”。不同的CPU支持的嵌套深度不同,使用時(shí)需要查看下手冊(cè);比如:CPU 1215C的嵌套深度如下圖:

關(guān)于STEP7 & 博途的模塊化程序設(shè)計(jì)就先講到這里,相關(guān)參考文章如下:

PLC基礎(chǔ)篇之PLC的誕生及工作原理

中斷機(jī)制是怎樣讓PLC高效運(yùn)行的?

版權(quán):如無特殊注明,文章轉(zhuǎn)載自網(wǎng)絡(luò),侵權(quán)請(qǐng)聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學(xué)習(xí)使用,務(wù)必24小時(shí)內(nèi)刪除。
相關(guān)推薦