2.对于结构变量STRUCT和用户数据类型变量UDT的赋值方法
STRUCT和UDT类型变量是表示一个完整结构或一个结构元素的结构化变量。
下面是有效结构变量的例子:
Image //结构的标识符
Image.element //结构元素的标识符
Image.arr //在一个结构中的一维数组标识符
Image.arr[2,5] //在一个结构中的数组元素的标识符
赋值一个完整结构:
一个完整结构只能赋值给另一个完整结构,两个结构内部的名称和数据类型应完全匹配。下面的赋值是有效的:
structname_1 := structname_2 ;
赋值结构元素:
能够将一个同类型变量、同类型表达式或另一个结构部件赋值给任何结构元素。
能够通过说明结构的标识符来引用结构元素,结构元素的标识符用一个句点分开。下面的赋值是有效的:
structname_1.element1 := Value ;
structname_1.element1 := 20.0 ;
structname_1.element1 := structname_2.element1 ;
structname_1.arrname1 := structname_2.arrname2 ;
structname_1.arrname[10] := 100 ;
3、对于数组ARRAY类型变量的赋值
将数组赋值给变量有两种方法。能够引用完整数组或一个数组元素。
赋值一个完整数组:
当元素的数据类型和数组界限(最低和最高的可能的数组索引)相匹配时,能够将一个完整数组赋值给另一个数组。如果是这样,在赋值符后指定数组的标识符。下面的赋值是有效的:
arrname_1 := arrname_2 ;
数组元素的赋值
用数组名后跟在方括号内的适当的索引值来寻地数组的单个元素。每维一个索引,他们用逗号分开并处于同一方括号内。索引必须是数据类型INT的算术表达式。
要达成对一个允许的元素的赋值,省去数组名称后的方括号内右边的索引。用此方法,取得数组的子集,其维数等于省去的索引数。下面的赋值是有效的:
arrname_1[ i ] := arrname_2[ j ] ;
arrname_1[ i ] := expression ;
identifier_1 := arrname_1[ i ] ;
举个小例子来说明下:
// 完整数组的赋值
SETPOINTS := PROCVALS ;
// 将一个向量赋值给数组CRTLLR的第二行
CRTLLR[2] := CRTLLR_1 ;
// 数组元素的赋值
CRTLLR [1,4] := CRTLLR_1 [4] ;
4、共享变量的赋值
也能够通过将一个值指定给同类型的变量来存取数据里的数据。能够将全局变量指定给一个同类型的变量或表达式。存取这些方式:
- 结构化存取方式
- 绝对存取方式
- 索引存取方式