西門(mén)子6ES78062CD030YA0 西門(mén)子6ES78062CD030YA0??
.模塊化編程實(shí)例2
有兩臺(tái)電動(dòng)機(jī),控制模式是相同的,按下啟動(dòng)按鈕(電動(dòng)機(jī)1為I0.0,電動(dòng)機(jī)2為I1.0),電動(dòng)機(jī)起動(dòng)運(yùn)行(電動(dòng)機(jī)1為Q4.0,電動(dòng)機(jī)2為Q4.1);按下停止按鈕(電動(dòng)機(jī)1為I0.1,電動(dòng)機(jī)2為I1.1),電動(dòng)機(jī)停止運(yùn)行。
分析:
這是典型的起保停電路,采用模塊化編程的思想,分別在FC1和FC2中編寫(xiě)電機(jī)的控制程序,在主程序OB1中進(jìn)行FC1和FC2的調(diào)用。
結(jié)構(gòu)化編程
? 將復(fù)雜的任務(wù)分解成一些能夠反映過(guò)程的工藝、功能或可以反復(fù)使用的單獨(dú)解決的小任務(wù),這些任務(wù)由相應(yīng)的程序塊來(lái)表示;
? 某些程序塊可以用來(lái)實(shí)現(xiàn)相同或相似的功能;
? 調(diào)用者可以是各種邏輯塊,包括用戶編寫(xiě)的OB、FB、FC和系統(tǒng)提供的SFB與SFC;
? 被調(diào)用的塊是OB之外的邏輯塊;
? 通用的數(shù)據(jù)和代碼可以共享。
結(jié)構(gòu)化編程
結(jié)構(gòu)化編程的優(yōu)點(diǎn):
1各單個(gè)任務(wù)塊的創(chuàng)建和測(cè)試可以相互獨(dú)立地進(jìn)行;
2通過(guò)使用參數(shù),可將塊設(shè)計(jì)得十分靈活;
3塊可以根據(jù)需要在不同的地方以不同的參數(shù)數(shù)據(jù)記錄進(jìn)行調(diào)用;
4在預(yù)先設(shè)計(jì)的庫(kù)中,能夠提供用于特殊任務(wù)的“可重用"塊。
結(jié)構(gòu)化編程實(shí)例-油漆調(diào)制
1選擇產(chǎn)品添加劑,需要決定哪個(gè)罐的成分要加到混合罐內(nèi)。
2在選擇開(kāi)關(guān)的選擇基礎(chǔ)上,組織塊調(diào)用相應(yīng)的程序塊,分配當(dāng)前的參數(shù),控制混合罐的流入量。
設(shè)計(jì)方法:
1. 確定哪些部件和操作可以應(yīng)用于所有的罐和相關(guān)的控制;
2. 建立功能或功能塊,完成所要求的控制;
3. 建立塊的變量定義表,以便于對(duì)要操作的罐和控制進(jìn)行地址分配;
4. 設(shè)計(jì)一個(gè)程序來(lái)根據(jù)選擇開(kāi)關(guān)調(diào)用功能或功能塊。
解決方案:
1. 建立一個(gè)功能塊或功能控制罐的流出量;
2. 為相關(guān)的塊建立變量定義表;
3. 建立一個(gè)OB塊來(lái)根據(jù)選擇開(kāi)關(guān)調(diào)用功能或功能塊。