西門(mén)子plc子程序局部變量介紹
西門(mén)子plc的程序結(jié)構(gòu)是構(gòu)成PLC程序的各種網(wǎng)絡(luò)(網(wǎng)絡(luò))或“功能塊”的組織和管理形式。 西門(mén)子plc無(wú)論plc控制系統(tǒng)有多復(fù)雜,西門(mén)子plc程序編輯量基本編程指令的集合。 設(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程序指定的格式按照plc控制系統(tǒng)的動(dòng)作要求進(jìn)行排列和組合,就可以形成完整的PLC程序。
1、西門(mén)子plc的程序結(jié)構(gòu)S7-200 過(guò)程映像輸入/輸出(I/Q),可變存儲(chǔ)器V,內(nèi)部存儲(chǔ)器位M,定時(shí)器T,計(jì)數(shù)器C等是全局變量,S7-200的程序組織單元(POU)包括主程序,子程序和中斷程序。相反,全局變量可用于每個(gè)POU。
以下是子例程可以使用的局部變量:
1)TEMP(臨時(shí)變量)是臨時(shí)存儲(chǔ)在本地?cái)?shù)據(jù)區(qū)域中的變量。僅在執(zhí)行POU時(shí),才使用定義的臨時(shí)變量。執(zhí)行POU后,不再保存臨時(shí)變量的值。
2)IN是調(diào)用子程序提供的輸入?yún)?shù)。
3)OUT是返回給調(diào)用的輸出參數(shù)。
4)IN_OUT是一個(gè)input_output參數(shù),其初始值由調(diào)用它的POU傳送到子程序,并將子程序的執(zhí)行結(jié)果返回給使用相同變量調(diào)用它的POU。臨時(shí)變量temp通常用于中斷程序的局部變量。這些制造商的程序員為設(shè)備的每個(gè)組件或過(guò)程函數(shù)編寫(xiě)了大量通用子程序。通過(guò)程序之間的通話,這就像使用數(shù)字集成電路芯片來(lái)形成復(fù)雜的數(shù)字電路。 如果子例程中沒(méi)有局部變量,則它只能通過(guò)調(diào)用它的程序與全局變量交換數(shù)據(jù)。只能在子程序中使用全局變量。
將子例程和中斷移植到其他項(xiàng)目時(shí),需要重新排列它們使用的全局變量,以確保沒(méi)有地址沖突。當(dāng)程序點(diǎn)數(shù)非常多時(shí),子程序和中斷程序重新分配地址的工作量非常大。 如果子例程和中斷例程具有局部變量,并且它們僅在內(nèi)部使用局部變量,則它們不使用全局變量。由于與其他POU沒(méi)有地址沖突,因此您可以將子例程遷移到其他項(xiàng)目而不進(jìn)行任何更改。
臨時(shí)變量temp通常用于中斷程序的局部變量。具有輸入、輸出參數(shù)和局部變量的子程序?qū)崿F(xiàn)結(jié)構(gòu)化編程,這些制造商的程序員為設(shè)備的每個(gè)組件或過(guò)程函數(shù)編寫(xiě)了大量通用子程序。調(diào)用的子程序即使你不知道子程序的源程序,但要知道程序的功能和輸入輸出參數(shù)的含義,你就可以快速“捕獲”滿足不同用戶需求的控制程序。它們沒(méi)有專用的內(nèi)存區(qū)域,臨時(shí)變量中的數(shù)據(jù)是根據(jù)函數(shù)執(zhí)行結(jié)束而定的。
西門(mén)子plc全局變量可用于保存函數(shù)執(zhí)行完畢后需要保存的數(shù)據(jù),但會(huì)影響函數(shù)的可移植性,功能塊是由用戶用其自己的專用存儲(chǔ)區(qū)域(即,背景數(shù)據(jù)塊)寫(xiě)入的程序塊。功能塊的輸入,輸出參數(shù)和靜態(tài)變量存儲(chǔ)在指定的實(shí)例數(shù)據(jù)塊中,臨時(shí)變量存儲(chǔ)在本地?cái)?shù)據(jù)堆棧中,后臺(tái)數(shù)據(jù)塊中的數(shù)據(jù)不會(huì)丟失,但本地?cái)?shù)據(jù)堆棧中的數(shù)據(jù)不會(huì)丟失保存,功能塊采用C ++的概念 - 就像封裝一樣,它封裝了程序和數(shù)據(jù),非常便于攜帶。
標(biāo)題:西門(mén)子plc子程序局部變量介紹 地址:http://www.yisiweijiaoyu.cn/hangye/3377.html