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