模塊化編程中OB1起著主程序的作用,F(xiàn)C或FB控制著不同的過程任務,相當于主循環(huán)程序的子程序。模塊化編程中被調(diào)用塊不向調(diào)用塊返回數(shù)據(jù)。
模塊化程序的執(zhí)行
模塊化編程中OB1起著主程序的作用,F(xiàn)C或FB控制著不同的過程任務,相當于主循環(huán)程序的子程序。模塊化編程中被調(diào)用塊不向調(diào)用塊返回數(shù)據(jù)。
模塊化編程實例
1.模塊化編程實例1 - 液位監(jiān)視
? 監(jiān)視一個慢變得過程不需要每次掃描都進行。如果過程每隔一定時間或根據(jù)需要進行處理,程序?qū)⒏行А? 在OB1循環(huán)掃描處理時,可以按照一定的周期對液位進行監(jiān)視。
設(shè)計方法:
? 確定液位監(jiān)視的組成部分和它們的關(guān)系;
? 設(shè)計完成所要求控制任務的功能;
? 規(guī)劃從OB中調(diào)用塊完成功能的程序執(zhí)行
過程;
? 對程序塊的每個段加上文字注釋和標題。
解決方案:
? 建立一個功能FC,可以監(jiān)視和控制任務;
? 建立一個OB,其中每隔一定時間調(diào)用塊
(功能)。
2.模塊化編程實例2
有兩臺電動機,控制模式是相同的,按下啟動按鈕(電動機1為I0.0,電動機2為I1.0),電動機起動運行(電動機1為Q4.0,電動機2為Q4.1);按下停止按鈕(電動機1為I0.1,電動機2為I1.1),電動機停止運行。
分析:
這是典型的起保停電路,采用模塊化編程的思想,分別在FC1和FC2中編寫電機的控制程序,在主程序OB1中進行FC1和FC2的調(diào)用。
結(jié)構(gòu)化編程
? 將復雜的任務分解成一些能夠反映過程的工藝、功能或可以反復使用的單獨解決的小任務,這些任務由相應的程序塊來表示;
? 某些程序塊可以用來實現(xiàn)相同或相似的功能;
? 調(diào)用者可以是各種邏輯塊,包括用戶編寫的OB、FB、FC和系統(tǒng)提供的SFB與SFC;
? 被調(diào)用的塊是OB之外的邏輯塊;
? 通用的數(shù)據(jù)和代碼可以共享。
結(jié)構(gòu)化編程
結(jié)構(gòu)化編程的優(yōu)點:
1各單個任務塊的創(chuàng)建和測試可以相互獨立地進行;
2通過使用參數(shù),可將塊設(shè)計得十分靈活;
3塊可以根據(jù)需要在不同的地方以不同的參數(shù)數(shù)據(jù)記錄進行調(diào)用;
4在預先設(shè)計的庫中,能夠提供用于特殊任務的“可重用”塊。
結(jié)構(gòu)化編程實例-油漆調(diào)制
1選擇產(chǎn)品添加劑,需要決定哪個罐的成分要加到混合罐內(nèi)。
2在選擇開關(guān)的選擇基礎(chǔ)上,組織塊調(diào)用相應的程序塊,分配當前的參數(shù),控制混合罐的流入量。
設(shè)計方法:
1. 確定哪些部件和操作可以應用于所有的罐和相關(guān)的控制;
2. 建立功能或功能塊,完成所要求的控制;
3. 建立塊的變量定義表,以便于對要操作的罐和控制進行地址分配;
4. 設(shè)計一個程序來根據(jù)選擇開關(guān)調(diào)用功能或功能塊。
解決方案:
1. 建立一個功能塊或功能控制罐的流出量;
2. 為相關(guān)的塊建立變量定義表;
3. 建立一個OB塊來根據(jù)選擇開關(guān)調(diào)用功能或功能塊。
-
plc
+關(guān)注
關(guān)注
5016文章
13388瀏覽量
465419 -
編程
+關(guān)注
關(guān)注
88文章
3637瀏覽量
93986
原文標題:PLC模塊化編程和結(jié)構(gòu)化編程,看完這些不會那么難了
文章出處:【微信號:gongkongworld,微信公眾號:工控資料窩】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
到底什么是模塊化編程?
什么是模塊化編程?模塊化編程的注意事項
關(guān)于如何快速學習PLC編程的一些思路
西門子PLC教程之結(jié)構(gòu)化編程的詳細資料說明
![西門子<b class='flag-5'>PLC</b>教程之<b class='flag-5'>結(jié)構(gòu)化</b><b class='flag-5'>編程</b>的詳細資料說明](https://file.elecfans.com/web1/M00/B9/06/pIYBAF57GFWAHmjCAADfx6sQ7ig874.png)
結(jié)構(gòu)化文本語言ST編程的學習課件
![<b class='flag-5'>結(jié)構(gòu)化</b>文本語言ST<b class='flag-5'>編程</b>的學習課件](https://file.elecfans.com/web1/M00/D7/66/o4YBAF_pVaCAfMGTAAFXk8ZqMYk657.png)
FPGA模塊化設(shè)計與AlteraHardCopy結(jié)構(gòu)化ASIC
![FPGA<b class='flag-5'>模塊化</b>設(shè)計與AlteraHardCopy<b class='flag-5'>結(jié)構(gòu)化</b>ASIC](https://file.elecfans.com/web1/M00/DB/D2/pIYBAGAH9XeAe6zaAAS_Moihx8I150.png)
MELSEC iQ R結(jié)構(gòu)化文本(ST)編程指南
![MELSEC iQ R<b class='flag-5'>結(jié)構(gòu)化</b>文本(ST)<b class='flag-5'>編程</b>指南](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
西門子博途S7-SCL結(jié)構(gòu)化控制語言編程
![西門子博途S7-SCL<b class='flag-5'>結(jié)構(gòu)化</b>控制語言<b class='flag-5'>編程</b>](https://file1.elecfans.com/web2/M00/89/78/wKgZomSFOkiAErlwAAAakxLC0l0715.png)
PLC模塊化和結(jié)構(gòu)化編程實例
![<b class='flag-5'>PLC</b><b class='flag-5'>模塊化</b>和<b class='flag-5'>結(jié)構(gòu)化</b><b class='flag-5'>編程</b>實例](https://file1.elecfans.com/web2/M00/8C/61/wKgaomSrqNaAG4npAAAPjUWRGV0148.jpg)
評論