TIA博途V13使用关键字'AT'实现变量覆盖教程

需积分: 42 5 下载量 13 浏览量 更新于2024-09-06 收藏 86KB DOC 举报
"本文档介绍了如何在TIA博途V13中利用关键字‘AT’实现变量覆盖,特别是在西门子S7-1200和S7-1500 PLC中的应用。关键字‘AT’允许以更高效的方式访问变量的不同部分,如通过Bool型数组访问Word变量的各个位。" 在TIA博途V13中,使用关键字“AT”可以实现变量覆盖,这是一种优化数据访问的技术,尤其适用于需要快速处理数据转换的情况。通过“AT”关键字,可以覆盖一个已经声明的变量,使其能够以其他类型访问,比如用一个Bool型数组来访问Word变量的每一位,这比传统的数据转换指令执行速度更快。 要使用“AT”关键字进行变量覆盖,有以下几个前提条件: 1. 对于S7-1200系列,需要至少使用STEP7(TIA博途)V11.0+SP1+Update2或更高版本的组态软件,并且固件版本应为V2.0或更高。 2. 对于S7-1500系列,需要至少使用STEP7(TIA博途)V12或更高版本的组态软件。 覆盖变量的规则和限制包括: - 在S7-1200和S7-1500的STL、LAD、FBD和GRAPH编程语言中都可以实现覆盖。 - SCL语言在所有系列的CPU上都支持覆盖。 - 变量覆盖可以在标准访问的代码块以及那些变量保持性设置为“在IDB中设置”的优化块中实现。 - 覆盖变量的数据宽度必须小于等于被覆盖变量的数据宽度。 - 不允许覆盖VARIANT和INSTANCE数据类型的变量。 - 不能覆盖在接口中声明为库块参数的变量。 - 不能覆盖在接口中声明为参数的PLC结构化变量。 实现变量覆盖的具体步骤如下: 1. 创建一个新的函数或功能块。有两种方法在块接口处使用“AT”指令实现变量覆盖: - 方法1:在功能块接口处,要覆盖的变量需在“保持性”列选择“在IDB中设置”选项。但请注意,对于函数和临时变量,此方法不可用。 - 方法2:先将块的访问属性从“优化的块访问”改为“标准兼容”。在项目导航中右键点击块,选择“属性”,取消“优化的块访问”属性,然后保存设置。 2. 打开块和块的接口界面。 3. 在声明表中输入要用新数据类型覆盖的变量,例如,名称为“t_word”,数据类型为“Word”。 4. 在“保持性”一列的下拉菜单中选择“在IDB中设置”。 5. 选中要覆盖的变量行,然后右键点击,根据需要进一步配置。 以上就是如何在TIA博途V13中通过关键字“AT”实现变量覆盖的详细步骤和注意事项,这种方法有助于提高程序的效率,特别是在处理大量数据转换时。