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