通过关键字 “AT” 可覆盖一个 S7-1200/S7-1500 中已声明的变量。
说明
可以在FB和FC的接口参数区进行变量覆盖。
使用关键字 “AT” 覆盖变量时,需要满足以下条件。
下面的例子展示如何通过BOOL类型的数组访问WORD类型变量的单独的位。
图.1
10 .再次点击“数据类型”区域并声明为数组。例如:“Array[0..15],Bool”。
至此覆盖变量已经声明完成,可以在编辑器中输入程序。
例子程序 对某些应用,在STEP 7 中可能需要将多个信号组合成一个控制字或从一个控制字中提取单独的信号。
FB块 “BoolToWordAT” 的说明
利用FB “BoolToWordAT” 可在一个字中组合多达 16 个位。每个 Bool 类型输入变量被分配到静态变量"statMotors"数组并被带关键字 “AT” 的"statConveyor"变量覆盖。然后静态变量"statConveyor"的内容被传输到输出变量"conveyor"中。
图.2
FB块“WordToBoolAT”
利用FB “WordToBoolAT” 可以从一个数据类型为 "Word" 的变量中提取最多 16 个信号 (数据类型为 “Bool”的变量) 。输入变量 "conveyor" 的内容被传送到静态变量 "statConveyor" 并被声明为带关键字 “AT” 的变量"statMotors" 覆盖。然后数组类型变量 "statMotors" 的每一位被分配到 Bool 数据类型的输出变量中。
图.3
这两个FB在 OB1 “Main” 中调用和参数化。
把相关文件复制到一个单独的目录下然后双击解压文件。解压的库将自动与所有子程序关联。使用 STEP 7 (TIA 博途)打开和编辑该库。
对于上面的例子在1500中使用时,建议使用片访问以获得更好的性能。