1.3.1 变量的表示


1.单元素变量

单元素变量泛指能够表征单个数据元素,该元素基于基本数据类型、派生枚举类型或子范围类型,或者某个派生类型,其父类可递归追溯到基本数据类型、派生枚举类型或子范围类型。单元素变量的声明表示了该数据元素与PLC输入、输出或内存结构中的物理或逻辑地址之间的联系。

单元素变量的直接表示形式是一个百分号“%”、一个变量位置前缀(如表1-4所示)和一个变量长度前缀(如表1-5所示),以及一个或多个由点“.”分隔开的无符号整型数的组合,用于表示直接对PLC配置硬件地址的操作,如输入、输出接口和存储器。

表1-4 变量位置前缀

表1-5 变量长度前缀

例如:

        %QX75 and %Q75    - 位于偏移量75的位输出变量
        %IW215            - 位于偏移量215的字输入变量
        %QB7              - 位于偏移量7的字节输出变量
        %MD48             - 位于偏移量48的双字内存变量
        %IW2.5.7.1        - 参见以下说明

制造商必须指定直接表示的变量与内存、输入和输出空间中的物理或逻辑地址之间的对应关系。若一个直接变量是以点号分开的无符号整数扩展形式表示的话,它应当被解析为一个层次结构的物理或逻辑地址,其中最左端的域代表了层次结构中的最高层,而最右端的域代表了层次结构的最底层。比如,变量%IW2.5.7.1可以解析为PLC系统的第2个I/O总线的第5个安装支架(rack)的第7个模块(module)的第1个通道(channel)。这种直接表示的变量可以在功能块、程序、配置和资源中使用。

非直接表示的变量的使用与一般高级编程语言的变量定义类似,为占据内存空间某个位置的存储区域。


2.多元素变量

多元素变量包括数组(Array)和结构(Structure)。

数组为一组相同数据类型数据元素的集合。它通过包含在方括号内的一个或多个被逗号分开的下标来被引用。在ST语言中,下标可以为产生一个结果为ANY_INT的表达式。而在指令表和图形编程语言中,下标必须为一个单元素变量或整型数。

下面是一个在ST语言中使用数组变量的例子:

        OUTARY[%MB6, SYM] := INARY[0] + INARY[7] - INARY[%MB6] * %IW62 ;

结构包含了一组已定义的元素。每个结构的元素必须由两个或更多个标示符,或者由逗号分开的数组元素组成。第一个为结构的名字,而其他则是一系列机构体组成部分的名字,用以访问结构体中的特定数据,如下例所示:

        MODULE_5_CONFIG.SIGNAL_TYPE := SINGLE_ENDED;
        MODULE_5_CONFIG.CHANNEL[5].RANGE := BIPOLAR_10V;