這些PLC的用戶程序由主程序、子程序和中斷程序組成。在每一個(gè)掃描循環(huán)周期,CPU都要調(diào)用一次主程序。主程序可以調(diào)用子程序,小型控制系統(tǒng)可以只有主程序。中斷程序用于快速響應(yīng)中斷事件。在中斷事件發(fā)生時(shí),CPU將停止執(zhí)行當(dāng)時(shí)正在處理的程序或任務(wù),去執(zhí)行用戶編寫的中斷程序。執(zhí)行完中斷程序后,繼續(xù)執(zhí)行被暫停執(zhí)行的程序或任務(wù)。它們的子程序和中斷程序沒(méi)有局部變量,子程序沒(méi)有輸入、輸出參數(shù)。
2.西門子的S7-200的程序結(jié)構(gòu)
過(guò)程映像輸入/輸出(I/Q)、變量存儲(chǔ)器V、內(nèi)部存儲(chǔ)器位M、定時(shí)器T、計(jì)數(shù)器C等屬于全局變量。S7-200的程序組織單元(ProgramOrganizationalUnit,簡(jiǎn)稱為POU)包括主程序、子程序和中斷程序。每個(gè)POU均有自己的64字節(jié)局部變量,局部變量只能在它所在的POU中使用。與此相反,全局變量可以在各POU中使用。
下面是子程序可以使用的局部變量:
1)TEMP(臨時(shí)變量)是暫時(shí)保存在局部數(shù)據(jù)區(qū)中的變量。只有在執(zhí)行該P(yáng)OU時(shí),定義的臨時(shí)變量才被使用,POU執(zhí)行完后,不再保存臨時(shí)變量的數(shù)值。
2)IN是由調(diào)用它的POU提供的輸入?yún)?shù)。
3)OUT是返回給調(diào)用它的POU的輸出參數(shù)(子程序的執(zhí)行結(jié)果)。
4)IN_OUT是輸入_輸出參數(shù),其初始值由調(diào)用它的POU傳送給子程序,并用同一變量將子程序的執(zhí)行結(jié)果返回給調(diào)用它的POU。
主程序和中斷程序的局部變量中只有臨時(shí)變量TEMP。
IC697ACC730
IC697ACC732
IC697ACC735
IC697ACC744
IC697ACC775
IC697ACC800
IC697ACC801
IC697ACC802
IC697ACC803
IC697ACC804
IC697ACC805
IC697ACC820
IC697ACC821
IC697ACC822
IC697ADC701
IC697ADC701RR
IC697ADS701
IC697ALG230
IC697ALG230RR
IC697ALG234
IC697ALG320
IC697ALG320RR
IC697ALG324
IC697ALG440
IC697ALG440RR
IC697ALG441
IC697ALG441RR
IC697ALG444
IC697ALG445
IC697BEM711
IC697BEM711RR
IC697BEM713
IC697BEM713RR
IC697BEM715RR
IC697BEM721
IC697BEM721RR
IC697BEM731
IC697BEM731RR
IC697BEM733
IC697BEM733RR
IC697BEM741
IC697BEM741RR
IC697BEM761
IC697BEM761RR
IC697BEM763RR
IC697BEM764RR
IC697CBL700
IC697CBL709
IC697CBL803
IC697CBL811
IC697CBL826
IC697CGR772
IC697CGR935
IC697CGR935RR