变量声明
变量声明:在哪里以及如何?
你可以在以下位置声明变量:
申报意向书的一部分
这个 声明变量 对话框可以帮助你解决这个问题。
变量列表(GVL 编辑器、NVL 编辑器)
I/O 设备对象的 I/O 映射配置
有关更多信息,请参阅: 配置设备和 I/O 映射
有关更多信息,请参阅: 变量声明的快捷方式
语法
<pragma>
<scope> <type qualifier>
<identifier> AT <address> : <data type> := <initial value> ;
END_VAR
| 重复可选(从不、一次或多次) Pragma 编译指示是一种编译器语句(例如,用于实现内存要求或运行时改进等优化)。 | |
| 必填项 范围
| |
| 可选 类型限定符
| |
| 必填项 标识符,变量名 注意:分配标识符时,必须毫无例外地遵守 “标识符指定” 一章中列出的规则。此外,您还将找到统一命名的建议。 | |
| 可选 地址组成如下: <内存区域> <可选大小前缀> <内存位置> 存储区域细分为输入存储区域、输出存储区域或标志存储区域 ( 示例
| |
| 必填项 数据类型
| |
| 可选 初始值;初始化为文字、变量或表达式 |
全局变量列表 GVL
{attribute 'qualified_only'}
{attribute 'linkalways'}
VAR_GLOBAL CONSTANT
g_ciMAX_A : INT := 100;
g_ciSPECIAL : INT := g_ciMAX_A - 10;
END_VAR配置变量 GVL_CONFIG
{attribute 'qualified_only'}
VAR_CONFIG
// Generated instance path of variable at incomplete address
PLC_PRG.fbDoItNow.XLOCINPUT AT %I*: BOOL := TRUE;
END_VAR功能块 FB_DoIt
METHOD METH_Last : INT
VAR_INPUT
iVar : INT;
END_VAR
VAR_INST
iLast : INT := 0;
END_VAR
METH_Last := iLast;
iLast := iVar;
FUNCTION_BLOCK FB_DoIt
VAR_INPUT
wInput AT %IW0 : WORD; (* Input variable *)
END_VAR
VAR_OUTPUT
wOutput AT %QW0 : WORD; (* Output variable *)
END_VAR
VAR_IN_OUT
aData_A : ARRAY[0..1] OF DATA_A; // Formal variable
END_VAR
VAR_EXTERNAL
GVL.g_ciMAX_A : INT; // Declared in object GVL
END_VAR
VAR_STAT
iNumberFBCalls : INT;
END_VAR
VAR
iCounter: INT;
xLocInput AT %I* : BOOL := TRUE; // VAR_CONFIG
END_VAR
iNumberFBCalls := iNumberFBCalls + 1;IEC 计划 PLC_PRG
PROGRAM PLC_PRG
VAR
iLoop: INT;
iTest: INT;
fbDoItNow : FB_DoIt;
iTest_200: INT;
aData_Now : ARRAY[0..1] OF DATA_A := [(iA_1 := 1, iA_2 := 10, dwA_3 := 16#00FF),(iA_1 := 2, iA_2 := 20, dwA_3 := 16#FF00)];
END_VAR
iTest := GVL.g_ciMAX_A;
iTest_200 := 2 * GVL.g_ciMAX_A;
fbDoItNow(aData_A := aData_Now);
FOR iLoop := 0 TO GVL.g_ciSPECIAL DO
;
END_FOR