本文档详细介绍在STEP 7(TIA博途)软件中如何运用关键字AT来实现变量覆盖的技术细节和操作步骤,适用于自动化编程工程师参考学习。
在工业自动化领域内,西门子的STEP 7 (TIA博途) 是一款广泛使用的编程软件,用于配置和编程S7系列PLC。本段落档主要介绍了如何利用关键字 AT 在 TIA 博途中实现变量覆盖,在处理复杂逻辑与数据整合时非常有用。通过重新定义已声明的变量,可以更好地适应特定的应用需求。
要使用此功能,必须满足一定的系统要求:对于 S7-1200 PLC 至少需要 STEP 7 (TIA博途) V11.0+SP1+Update 2 或更高版本以及固件版本V2.0或以上。而S7-1500 PLC 则需使用STEP 7 (TIA 博途)V12及以上版本,这些更新的版本支持变量覆盖功能。
在创建FB块时要注意访问方式:要实现变量覆盖,必须是标准访问而非优化访问。如果需要改为标准访问,在块属性中取消选中“优化的块访问”。
接下来要在接口区声明将被覆盖的变量。例如,“statConveyor”是一个Word类型的数据,并且保持性设置为“在IDB中设置”,这是实现变量覆盖的前提条件。
声明了原始变量之后,通过右键点击并选择“添加行”来创建新的、需要覆盖的变量。“AT”关键字用于指定被覆盖的变量名称。例如,“statMotors”的数据类型是数组[0..15], Bool,它将用作Word类型的各个位值。
这里有两个具体例子说明如何利用变量覆盖功能:“BoolToWordAT”FB块和“WordToBoolAT”FB块。“BoolToWordAT”FB块将16个BOOL输入合并为一个Word输出,“statMotors”的每个元素都与静态变量“statConveyor”的位相对应,最终结果传递给“conveyor”。而WordToBoolATFB块则从一个Word类型的输入中提取出多个BOOL信号。
这两个函数在主程序OB1中被调用和参数化,展示了如何实际应用变量覆盖。通过这种方式可以灵活地组合与拆分信号,增强程序的灵活性及可读性。