1,2两个问题实际是一个问题。
既然是带参数的子程序,那么调用子程序的程序要通过什么将参数传递给子程序呢,当然通过IN变量了,那么子程序通过什么将调用结果反馈回来呢,当然通过OUT变量了,那么为什么会有IN_OUT变量呢,IN_OUT变量相当于传递给子程序实际的变量地址,如果你知道一些高级语言知识的话,那么值传递和地址传递参数是有些不同的。
通过传递值,调用端将I,M等值传递给子程序中对应的参数,如果是IN_OUT,那么将地址传递给子程序。
当然是从上往下的顺序执行程序,请注意,并非程序执行完才跳回,而是扫描完才跳回,因此哪怕你在子程序中放个延时,它不会等延时完成才跳回的。