西門子s7-300/400的plc程序結(jié)構(gòu)隨著編程人員所采用的程序設計方法的不同而不同。一般而言,程序設計可以采用線性化編程、調(diào)用式編程、結(jié)構(gòu)化編程的方法(如圖所示)。
采用線性化編程時,所有程序指令都編寫在一個連續(xù)的程序塊——組織塊ob1中,無須編制程序塊、功能塊、數(shù)據(jù)塊等。
采用調(diào)用式編程的程序由組織塊ob、程序塊(fc)、功能塊(fb)、系統(tǒng)程序塊(sfc)、系統(tǒng)功能塊( sfb)、數(shù)據(jù)塊(db)等組成,由組織塊ob1對各邏輯塊與數(shù)據(jù)塊進行組織與管理。
采用結(jié)構(gòu)化編程的程序結(jié)構(gòu)形式與調(diào)用式編程相同,程序同樣由組織塊ob、程序塊(fc)、功能塊(fb)、系統(tǒng)程序塊(sfc)、系統(tǒng)功能塊(sfb)、數(shù)據(jù)塊(db)等組成,并通過組織塊ob1對其進行組織與管理。功能塊(fb)可以用于結(jié)構(gòu)化編程,為了滿足參數(shù)化編程的需要,功能塊(fb)需要配套的即時數(shù)據(jù)塊di,組織塊ob1在調(diào)用fb時,需要根據(jù)不同的控制要求,通過即時數(shù)據(jù)塊di對參數(shù)進行賦值。
圖中為采用三種不同編程方式的程序結(jié)構(gòu)示意圖,在實際調(diào)用式編程、結(jié)構(gòu)化編程時,被組織塊ob1調(diào)用的邏輯塊還可以調(diào)用其他邏輯塊(程序嵌套)。
s7-300/400的程序結(jié)構(gòu)與執(zhí)行過程