FP1型PLC子程序調(diào)用
發(fā)布于2023-01-11 09:11
18
2
標(biāo)簽:子程序
所有的FP1系列PLC都具有子程序功能,其中,F(xiàn)P1-C14和PP1-C16兩種機(jī)型最多可使用8個(gè)子程序(SUB0~SUB7),而FP1系列的其他機(jī)型則可以使用16個(gè)子程序(SUB0~SUB15)。
一般地,使用子程序功能必須用到以下幾條指令:
①子程序調(diào)用指令CALL 該指令用于調(diào)用指定的子程序,它可以出現(xiàn)在主程序區(qū)、中斷服務(wù)程序區(qū)、子程序區(qū)。在同一個(gè)程序中,允許同時(shí)存在多個(gè)相同標(biāo)號(hào)的CALL指令而且在子程序中還可以出現(xiàn)CALL指令,這種結(jié)構(gòu)叫作“嵌套”。但是應(yīng)注意,在一個(gè)子程序中,最多只可以有四層嵌套。
②子程序進(jìn)入指令SUB一旦CALL指令被觸發(fā),程序就會(huì)跳轉(zhuǎn)到對(duì)應(yīng)標(biāo)號(hào)的子程序去執(zhí)行,SUB指令就是表示由子程序開始。由它和后面介紹的RET指令包括的部分就是子程序區(qū)。在一個(gè)程序中,不允許出現(xiàn)兩個(gè)或兩個(gè)以上相同標(biāo)號(hào)的SUB指令。另外,在SUB 指令與RET指令間,不允許出現(xiàn)和SUB指令標(biāo)號(hào)相同的CALL指令。
③子程序返回指令ERT 在SUB指令和ERT指令間的程序?yàn)樽映绦?,?dāng)機(jī)器執(zhí)行RET指令時(shí),表示子程序結(jié)束,程序返回到CALL指令地址后面的下一條指令去執(zhí)行。當(dāng)觸發(fā)信號(hào)閉合時(shí),CALL指令被激活,程序?qū)⑻D(zhuǎn)到與該CALL指令標(biāo)號(hào)相同的SUB指令去執(zhí)行,直至遇到一條RET指令,然后程序返回執(zhí)行CALL指令地址的下一條指令。一般規(guī)定,子程序放置在主程序之外,即"ED"指令之后。