描述:
当改变程序模块的接口(IN-, IN/OUT-, STAT, 或 OUT 参数)时,CPU必须处于"STOP"模式下,来下载这些变化。为避免这个问题,可以在创建模块时,为每个数据类型为"DWORD"的参数类型保留几个变量。通过SCL"AT"语言特性,可以在后来声明已经占用预留内存的相应的数据类型的新变量。因为实际的接口没有发生改变,因此现在可以加载改变,并且CPU没有必要位于STOP模式。
静态变量示例:
1. 变化之前静态变量的定义:
VAR
Reserve1 : DWORD;
Reserve2 : DWORD;
Reserve3 : DWORD;
Reserve4 : DWORD;END_VAR
2. 变化之后静态变量的定义:
创建一个附加的REAL变量和两个WORD变量。
VAR
Reserve1 : DWORD;
NewREAL AT Reserve1 :REAL;Reserve2 : DWORD;
NewWORD AT Reserve2 :
STRUCT
NewWORD1 : WORD;>
NewWORD2 : WORD;
END_STRUCT;Reserve3 : DWORD;
Reserve4 : DWORD;END_VAR
AT语言结构不仅可以用于静态变量,正如该例所示,还可以用于声明部分的其它段中。
然而,请注意,保留变量可能含有一个与用AT结构分配的变量不相同的数据类型(如保留DWORD类型但NewREAL 属于REAL类型)。如果希望进一步使用这些变量(如通过CFC中的互连),那么当然位于块边缘条上的变量与所保留的变量类型一致,而不是通过AT结构分配的变量类型。
注意事项:
AT结构仅在FC, FB和OB中的SCL中可用。不能在一个SCL源程序中的数据块(DB和UDT)中使用,因为这些是通过编译器根据STL语法/语义处理的。
关键字:
全部下载
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc337324.html