注意:由两种方式可以在没有足够堆栈空间时停掉CPU。最好的方法是增加程序逻辑来测试自诊断位%SA38,以检测用户程序是否发生故障。检测到故障后,可以用SVC_REQ13停掉CPU.另一个方式是增加逻辑检测模块没有正确执行的信号,然后调用SVC_ _REQ 13停掉CPU.
除了调用的模块有特别多参数的情况,一般能支持8层以上的调用。能进行多少层调用受几个因素的影响,包括程序块数据流量(非布尔型),程序块调用的特殊功能以及这个块中所定义的参数的类型和数量。如果程序块没有最大限度的使用堆栈资源,就有可能支持多于8层的嵌套调用。嵌套调用以MAIN块为第1层
函数块是用户定义的具有参数和临时数据的逻辑块。用户可以定义自己的函数块,而不必局限于PAC系统指令设定的标准函数块。很多情况下,这个特性的使用可以使整个程序的变小。
–旦定义了函数块,可以生成很多个程序块实例。每个实例有自己唯–的函数块实例数据,这个事例中包含除含参变量外的所有输入输出参数。函数块在某个实例上被调用时,函数块逻辑在这个实例数据的实例拷贝上执行。实例数据的值从–次执行延续到下–次执行。函数块的执行不能由中断触发。使用LD或者ST创建函数块逻辑。函数块逻辑可以对其他所有PAC块进行调用(程序块,参数化块,外部块和其他函数块)。LD或ST内的程序块(程序块,参数化块,外部块和其他函数块)可以调用函数块。
GIDDINGS & LEWIS 401-34223-01 USPP 4013422301
GIDDINGS & LEWIS 401-34224-00 USPP 4013422400
GIDDINGS & LEWIS 401-34224-01 USPP 4013422401