西門子plc的程序結(jié)構(gòu)及子程序如何調(diào)用?
隨著西門子plc在工業(yè)行業(yè)中廣泛應(yīng)用,西門子plc子程序調(diào)用在編程過(guò)程中最常常見的手段,今天小編給給大家介紹一下西門子plc的程序結(jié)構(gòu)及子程序調(diào)用在編程過(guò)程中的使用方法。
所謂的西門子PLC程序結(jié)構(gòu)是構(gòu)成PLC程序的各種網(wǎng)絡(luò)(網(wǎng)絡(luò))或“功能程序段”。 PLC內(nèi)的組織和管理形式。PLC控制系統(tǒng)是否復(fù)雜,都是使用最基本的指令組合。
設(shè)計(jì)者可以根據(jù)控制對(duì)象的各個(gè)部分的不同要求,通過(guò)使用基本指令,創(chuàng)建相應(yīng)的程序網(wǎng)絡(luò)(網(wǎng)絡(luò))或由多個(gè)網(wǎng)絡(luò)組成的簡(jiǎn)單“功能塊”。在此基礎(chǔ)上,只要這些程序網(wǎng)絡(luò)或功能程序段按照S7程序指定的格式按照控制系統(tǒng)的動(dòng)作要求進(jìn)行排列和組合,就可以形成完整的PLC程序。
西門子plc程序結(jié)構(gòu)與子程序調(diào)用方法:
1. 西門子plcS7-200的程序結(jié)構(gòu) 過(guò)程映像輸入/輸出,存儲(chǔ)器V,內(nèi)部存儲(chǔ)器位M,時(shí)間定時(shí)器T,計(jì)數(shù)器C等屬于全局變量。 S7-200的程序組織單元(POU)包括主程序,子程序和中斷程序。每個(gè)POU都有64字節(jié)局部變量,局部變量只能在它所在的POU中使用。相反,全局變量可用于每個(gè)POU。 以下是子例程可以使用的局部變量:
西門子plc子程序調(diào)用TEMP(臨時(shí)變量)是臨時(shí)存儲(chǔ)在本地?cái)?shù)據(jù)區(qū)域中的變量。僅在執(zhí)行POU時(shí),才使用定義的臨時(shí)變量。執(zhí)行POU后,不再保存臨時(shí)變量的值。IN是由調(diào)用它的POU提供的輸入?yún)?shù)。OUT是返回給調(diào)用它的POU的輸出參數(shù)(子程序的執(zhí)行結(jié)果)。
西門子plc子程序調(diào)用IN_OUT是一個(gè)input_output參數(shù),西門子PLC編程軟件初始值由調(diào)用它的POU傳送到子程序,并將子程序的執(zhí)行結(jié)果返回給使用相同變量調(diào)用它的POU。 主程序和中斷程序的局部變量是TEMP。 具有輸入,輸出參數(shù)和局部變量的子程序易于實(shí)現(xiàn)結(jié)構(gòu)化編程。
2. 通過(guò)程序之間的通話。這就像使用數(shù)字集成電路芯片來(lái)形成復(fù)雜的數(shù)字電路。 如果子例程沒有輸入和輸出參數(shù),則它與調(diào)用它的程序之間沒有明確的接口,并且很難實(shí)現(xiàn)結(jié)構(gòu)化編程。 如果子例程中沒有局部變量,則它只能通過(guò)調(diào)用它的程序與全局變量交換數(shù)據(jù)。只能在子程序中使用全局變量。
將子例程和中斷移植到其他項(xiàng)目時(shí),需要重新排列它們使用的全局變量,以確保沒有地址沖突。當(dāng)程序非常復(fù)雜時(shí),有許多子程序和中斷程序,重新分配地址的工作量非常大。 如果子例程和中斷例程具有局部變量,并且它們僅在內(nèi)部使用局部變量,則它們不使用全局變量。由于與其他POU沒有地址沖突,因此您可以將子例程遷移到其他項(xiàng)目而不進(jìn)行任何更改。
3. S7-300/400的功能與S7-200的功能基本相同。S7-300/200都有輸入,輸出參數(shù)和臨時(shí)變量,并且函數(shù)的本地?cái)?shù)據(jù)中的返回值實(shí)際上屬于輸出參數(shù)。它們沒有專用的內(nèi)存區(qū)域,臨時(shí)變量中的數(shù)據(jù)是根據(jù)調(diào)用程序執(zhí)行結(jié)束而定的。 全局變量可用于保存函數(shù)執(zhí)行完畢后需要保存的數(shù)據(jù),但會(huì)影響函數(shù)的可移植性。
4.西門子plc子程序調(diào)用功能塊是由用戶用其自己的專用存儲(chǔ)區(qū)域(即,背景數(shù)據(jù)塊)寫入的程序塊。功能塊的輸入,輸出參數(shù)和靜態(tài)變量存儲(chǔ)在指定的實(shí)例數(shù)據(jù)塊中,臨時(shí)變量存儲(chǔ)在本地?cái)?shù)據(jù)堆棧中。程序每次調(diào)用FB背景功能塊時(shí),都會(huì)指定實(shí)例數(shù)據(jù)塊。執(zhí)行功能塊后,后臺(tái)數(shù)據(jù)塊中的數(shù)據(jù)不會(huì)丟失,但本地?cái)?shù)據(jù)堆棧中的數(shù)據(jù)不會(huì)丟失保存。 S7-300/400的共享數(shù)據(jù)塊可用于所有邏輯塊。
以上就是小編為大家介紹西門子plc子程序調(diào)用以及結(jié)構(gòu)說(shuō)明,希望對(duì)大家在編程過(guò)程中有所幫助,如果有西門子plc編程方面的疑問(wèn),可以聯(lián)系我們的在線客服或者熱線電話咨詢!我們?yōu)榭蛻籼峁┝可矶ㄖ频淖詣?dòng)化解決方案,是專業(yè)的自動(dòng)化控制系統(tǒng)集成服務(wù)商。
- 上一篇:英威騰變頻器在污水處理方面的應(yīng)用
- 下一篇:施耐德變頻器的分類和用途
標(biāo)題:西門子plc的程序結(jié)構(gòu)及子程序如何調(diào)用? 地址:http://www.yisiweijiaoyu.cn/hangye/3380.html