全局初始位置属性

{attribute 'global_init_slot'}指令只在签署是申请。一个全局变量列表每个默认正在初始化变量指令是任意的。然而,在一些情况下规定一个指令是必须的,如一个全局列表中的变量与另一个列表中的变量相关。在这种情况下你可以使用指令来为全局初始化安排命令。

句法:

{attribute 'global_init_slot' := '<value>'}

<Value>模板不得不被一个整数值替代描述签名的初始化命令。默认值是50000.一个低值引起一个早期初始化。如果签名携带一个全局初始位置属性同值,他们的初始化休止顺序未定义。

例子:

假设工程包含两个全局变量列表 GVL_1 and GVL_2:

全局变量 "A" 是全局变量列表GVL_1的成员 :

{attribute 'global_init_slot' := '300'}

VAR_GLOBAL

A : INT:=1000;

END_VAR

 

变量 "B"的初始值和 GVL_2 的 "C" 取决于变量 "A"。

{attribute 'global_init_slot' := '350'}

VAR_GLOBAL

B : INT:=A+1;

C : INT:=A-1;

END_VAR

 

设置属性 'global_init_slot' GVL_1到300,即到典型初始命令的最低值,保证当初始化“B”时,表达式能很好地定义。