递归如果使用递归(就是说,如果有一个直接或间接调用它本身的块)并且带参块包括OFDT,ONDTR或TMR,必须遵循额外的两条规则:a编制源块次序使其能在对本身递归调用之前调用带参块:不要编制直接调用带参块本身的程序。在功能子程序中使用定时器功能子程序是带参数和实例数据的自定义逻辑子程序。这些子程序和其他子程序的详细说明,当一个定时器功能块在一一个功能子程序中出现,并且一个部分变量被使用来控制–个定时器子程序时,定时器的动作可能与预期不匹配。如果功能块的多个实例在一个逻辑扫描期间被调用,只有第–次执行实例会更新它的定时器。如果-个不同的实例接着被执行,它的定时器值将保持不变。在一次逻辑扫描期间对一个功能块的多次调用的情况下,只有第–次调用会向它的定时器功能块增加总时间。这个动作和在–个正常程序块的定时器的动作是匹配的。范例;-一个功能块被定义为对一个定时器功能块使用一一个成员变量。该功能块的两个实例timer.A和timer_ _B被建立。在每次逻辑扫描期间,timer_ A和timer_ B都被执行。然而,只有在timer_ A中的成员变量被更新,timer_ B中的成员变量–直保持为0。
GIDDINGS & LEWIS 1-21711-01 USPP 12171101
GIDDINGS & LEWIS 1-21744-02 USPP 12174402
GIDDINGS & LEWIS 502-02871-20 USPP 5020287120