使用变量配置将函数块的变量映射到流程图。对于函数块中的的声明,在不提供完整地址的情况下,将变量分配给设备输入/输出。稍后,将在全局变量列表中为应用程序的所有函数块实例集中提供准确的地址也包括VAR_CONFIG声明。这个带有VAR_CONFIG声明的的全局变量列表称为"变量配置"。
提示!
对于分配给I/O地址的变量的更改,MetaFacture立即在流程图中显示它们。对于由变量配置映射的变量的更改,MetaFacture直到任务结束时才显示它们。
在函数块中声明变量
在函数块中声明变量时,在关键字VAR和END_VAR之间声明变量,并为变量分配不完整的地址。用星号(*)标记这些不完整的地址。
语法:
例如
定义两个本地l/O变量:输入变量bLocln和输出变量bLocOut。
FUNCTION_BLOCK FB_Locio
VAR
bLocln AT %I* : BOOL := TRUE;
bLocOut AT %Q* : BOOL;
END_VAR
全局变量列表的变量配置中的地址的最终定义
在用作变量配置的全局变量列表中,使用关键字VAR_CONFIG和END_VAR之间的绝对地址定义变量声明。
必须使用完整的实例路径声明VAR_CONFIG变量,用点(.)分隔单个的IPOU和实例名。声明必须包含一个地址,其类(输入/输出)与函数块中中不完整地址(%I*,%Q*)的类一致。数据类型也必须一致
语法:
如果path实例不存在,则报告错误。如果您用不完整的地址声明的变变量没有可用的地址配置,MetaFacture也会打印一个错误。
例如
上面例子中的FB_Locio函数块在程序中使用如下:
PROGRAM PLC_PRG
VAR
fbVar1 : FB_Locio;
fbVar2 : FB_Locio;
END_VAR
全局变量列表中正确的变量配置应该是这样的:
VAR_CONFIG
PLC_PRG.fbVar1.bLocln AT %IX1.0 : BOOL;
PLC_PRG.fbVar1.bLocOut AT %QX0.0 : BOOL;
PLC_PRG.fbVar2.bLocln AT %IX1.0 : BOOL;
PLC_PRG.fbVar2.bLocOut AT %QX0.3 : BOOL;
END_VAR