TRACE MODE的变量
输入变量 (I)
输出变量 (Q)
静态变量 (E)
静态全局变量 (W)
动态变量
系统变量
在Techno IL语言中允许使用几种不同类型的变量。它们按下述规则定义:第一个字符用来表示变量的类型,紧接下来的一个字符表示变量的序号。不同类型的变量分别用下面的标识符表示:
I 输入变量
Q 输出变量
E 静态变量
W 静态全局变量
F 动态变量
不同类型变量的使用数量由IL程序的类型决定。
除了上述类型外,在Techno IL语言中还包括两个系统变量:
result 累加器(X);
CMP 判断标记
下面介绍这些变量类型的用途和区别。
输入变量 (I)
该类型变量用作IL程序的输入变量。根据程序类型的不同,这一类型变量在使用上也有所不同:
对于FBD类型的程序,这些变量将用来生成功能块的输入端。例如,如果在程序中该类型变量的最大序号为5(I5),那么在生成的功能块中将包含有6个输入端。变量I5与第六个输入端对应,I0与第一个输入端对应。
注意!功能块输入端的个数是由输入变量的最大序号决定的,即使序号较小的变量在程序中没有使用,功能块还是会生成与之对应的输入端。
在FBD类型的IL程序中,输入变量的数量最多可达11个(从0开始,最大序列号为10),但I和Q类型的变量总和不得超过15个。
在PRG类型的IL程序中,输入变量的数量最多可达256个(从0开始,最大序列号为255)。输入变量用来接收来自节点某通道的属性值,未与通道属性关联的输入变量可作为自由变量,可用于保存中间计算结果。在PRG类型的IL程序中输入变量和通道属性的关联规则将在下面介绍。
输出变量 (Q)
该类型变量用作IL程序的输出变量。根据程序类型的不同,这一类型变量在使用上也有所不同:
对于FBD类型的程序,这些变量将用来生成功能块的输出端。例如:如果在程序中该类型变量的最大序号为5(Q5),那么在生成的功能块中将包含有6个输出端。变量Q5与第六个输出端对应,Q0与第一个输出端对应。
模块输出端的数量是由输出变量的最大序号决定的,即使序号较小的输出变量在程序中没有使用,对应模块的输出端也会自动生成。
在FBD类型的IL程序中,输入变量的数量最多可达8个(从0开始,最大序列号为7),但I和Q类型的变量总和不得超过15个。
在PRG类型的IL程序中,输出变量的数量最多可达256个(从0开始,最大序列号为255)。输出变量用来生成通道的属性值,未与通道属性关联的输出变量可作为自由变量。在PRG类型的IL程序中输出变量和通道属性的关联规则将在下面介绍。
注意!输出变量与通道的属性或模块的输出端关联,因此,在程序执行过程中它们可作为辅助变量。
静态变量 (E)
该类变量用于保存两次程序调用期间的运算结果。根据程序类型的不同,这一类型变量允许使用的数量也有所不同:
在FBD类型的IL程序中,静态变量的数量最多可达4个(从0开始,最大序列号为3);在FBD类型的IL程序中,静态变量的数量最多可达256个。静态变量可用于程序之间的数据交换。
静态变量可以在FBD程序中控制和生成,要实现该操作可以使用Movings分组下的EREAD 和 WRTE模块。
静态全局变量 (W)
在操作站类型的节点中,静态全局变量最大允许使用的数量为1024个;公共数据记录器为256个;Lagoon(7188)、I8000、ADAM4500/5510/SL/SLG等控制器类型的节点为32个。
静态全局变量能在任何一个IL和FBD程序中使用,并且可以在实时方式下从文件中读取、通过网络传输、通过OPC 请求或利用动态图素在人机界面上显示和控制。
在静态全局变量的保存文件中也允许使用注释信息,但注释信息行必须以“;”开头。
在FBD程序中,使用Movings分组下的WREAD 和AREAD模块可以对静态全局变量执行读操作;使用WRTW模块可以对静态全局变量执行写操作;使用WFILE模块可以控制从文件中读取静态全局变量的值;使用NSND模块可以控制静态全局变量在网络中的传输。
如果要在人机界面中显示和操作静态全局变量,可以在数据描述编辑器中,选择一种动态绘图工具,在绘图工具设置对话框的对象列表中选择W_Global对象,然后在W_Global变量列表中选择所需要的变量。
注意!在IL程序中不能使用序号大于255的全局变量。序号从0到1023的变量只能在FBD-程序中通过WTRW, WREAD 或 AREAD来调用。
动态变量
该类变量的数值在程序的两次调用期间不会保存,因此只能作为辅助变量在计算过程中使用。允许使用的动态变量的数量与程序的类型无关,均为255个。
系统变量
Techno IL语言使用两个系统变量:
result 累加器(X)
CMP 为真标记
第一种变量在单址操作情况下可作为第二个操作数使用,并将运算结果保存在其中,该变量用标识符X表示。在IEC1131-3标准中,指令语言只支持单址操作方式,该方式在运算时由累加器完成,需要使用该变量。
在比较运算和操作符TEST中会生成CMP变量。该变量只有两个值:真
(1)和假(0)。该变量将作为条件转移操作时的判断条件。