编写带有临时存储区(例如S7-200的子程序的局部变量)的子程序,就像使用一个酒杯喝酒一样,这个杯子是公用的,你也用,他也用,也许当你用的时候还残留有别人的酒,那么你就应该在使用之前把酒杯中的东西一股脑的全给他倒掉(程序里就应该叫做复位),这样别人使用过的酒杯就不会影响你了,否则别人残留的酒就会影响你的酒了(在程序里,就是表现为程序异常)。
S7-200同一级的的子程序的临时变量使用公用的存储区,类似于公用的布告栏,谁都可以往上面贴布告,后贴的布告将原来的布告覆盖掉。每次调用子程序之后,不再保存它的局部变量的值。
假设主程序调用子程序1和子程序2,它们属于同一级的子程序。子程序1调用结束后,它的局部变量的值将被后面调用的子程序2的局部变量覆盖。每次调用子程序和中断程序时,首先应初始化局部变量(写入数值),然后再使用它,简称为先赋值后使用。