循環(huán)程序的關(guān)鍵是間接尋址,西門子s7-1200的間接尋址離不開數(shù)組。可用fieldread與fieldwrite指令實現(xiàn)對數(shù)組元素的間接尋址,也可以用變量做數(shù)組元素的下標,實現(xiàn)間接尋址。
西門子s7-1200沒有像s7-300的loop那樣的循環(huán)程序?qū)S玫闹噶?,可以模仿loop指令的功能來編寫循環(huán)程序。下圖的程序段1、2是名為“間接索引”的fc,程序段1清累加結(jié)果,設(shè)置數(shù)組下標的初始值。
程序段2用move指令讀取可變下標的數(shù)組元素值,用add指令累加。然后將下標加1,累加個數(shù)減1后如果大于0則返回標號back處,反之結(jié)束循環(huán)。
圖的下面是ob1中調(diào)用fc的程序。