变量/信号>
•如果对象是在SRC文件中定义的>
它在定义它的程序例程中有效,即在DEF和END之间。SRC文件中定义的变量称为“运行时变量”。
•如果对象是在DAT文件中定义的:它在属于DAT文件的SRC文件中有效。
常数:在声明数据列表所属的模块中有效。
用户定义的数据类型:•如果数据类型是在SRC文件中定义的:它在定义它的程序级别上是有效的。
•如果数据类型在DAT文件中定义:它在属于DAT文件的SRC文件中有效。
次级方案在共享SRC文件的主程序中有效。
作用在共享SRC文件的主程序中有效。
打断从声明它的程序级别起有效。以下内容始终有效>
•SRC文件中的第一个程序。默认情况下,它使用SRC文件的名称。
• 预定义数据类型,KRL系统变量,•在$CONFIG.DAT中定义的可变变量和信号。在“本地”下提到的数据对象可以全局访问。
如果一个本地对象和一个全局对象具有相同的名称,那么编译器将在其有效范围内使用本地对象。
子程序、功能、中断可全局使用。在约定时使用关键字GLOBAL。
子程序示例>
...,END,-------------------------------,GLOBAL DEF MY_SUBPROG,...,示例功能>
...,END,-------------------------------,GLOBAL DEFFCT INT MY_FCT,...,中断示例,GLOBAL INTERRUPT DECL 23 WHEN $IN[12]==TRUE DO UP1,变量、常量、信号、用户数据类型可全局使用,变量、信号和用户定义的数据类型可以通过数据列表或$CONFIG.DAT全局访问。
Konstanten必须始终在数据列表中声明并同时初始化。因此,它们只能通过全局数据列表进行全局访问。
使对象在全球范围内可访问数据列表>
在程序头部的数据列表中添加关键字PUBLIC>
DEFDAT MY_PROG PUBLIC,2. 在协议中使用GLOBAL关键字。
示例>
DEFDAT MY_PROG PUBLIC,EXTERNAL DECLARATIONS,DECL GLOBAL INT counter,...,ENDDAT,当在数据列表中达成一致时,GLOBAL可用于变量、信号和自定义数据类型编号。
PUBLIC专门用于此处描述的目的,即使某些数据对象与GLOBAL一起在数据列表中全局可用。
PUBLIC本身没有效果。
$CONFIG.DAT,•$CONFIG中的对象。
在USER GLOBALS部分声明DAT。
关键字GLOBAL不是必需的,也不能在此处使用。
在带有关键字GLOBAL的数据列表中定义的数据类型可以在$CONFIG中输入。
不应使用DAT。
例子>
在DEFDAT PROG中,枚举类型SWITCH_TYP是用关键字GLOBAL定义的>
DEFDAT PROG,GLOBAL ENUM SWITCH_TYP ON, OFF,...,如果此数据类型在$CONFIG中。
如果使用DAT,编译器会报告错误“类型未知:DECL SWITCH _Type MY_VAR”,DEFDAT $CONFIG,DECL SWITCH_TYP MY_VAR,...,CONST:常数,在初始化后的程序运行过程中,不能更改常量的值。
常量可用于防止在程序运行过程中意外更改值。
常量必须在数据列表中声明,同时的关键字CONST必须位于数据类型的前面。
DECL<GLOBAL>CONST数据类型变量name=We