**寻址和符号寻址 在STEP 7程序中,使用地址如I/O信号、位内存、计数器、定时器、数据块和功能块。完全可以在程序中访问这些地址,但是如果使用地址符号,程序将更容易阅读(例如,Motor_A_On或其它符合公司或行业内代码系统的符号)。然后,可以通过此符号访问用户程序中的地址。 **地址 **地址包含地址标识符和内存位置(例如,Q 4.0, I 1.1, M 2.0, FB21)。 符号地址 如果将符号名分配给**地址,可以使程序更易读,并能简化故障排除。 STEP 7可以自动地将符号名称翻译成所需要的**地址。如果愿意使用符号名称访问ARRAY、STRUCT、数据块、本地数据、逻辑块和用户自定义数据类型,在使用符号寻址数据前,必须首先将符号名称分配给**地址。 例如,可以将符号名称MOTOR_ON分配给地址Q 4.0,然后在程序语句中将MOTOR_ON作为地址使用。使用符号地址,更容易识别程序中的元素与过程控制项目的组件的匹配程度。 支持编程 在编程语言梯形图、功能块图和语句表中,可以输入地址、参数和块名称,作为**地址或符号。 使用菜单命令视图 > 显示 > 符号表示法,可以在地址的**表示法和符号表示法之间切换。 为了更容易使用符号地址编程,可以显示**地址和属于符号的符号注释。可以使用菜单命令视图 > 显示 > 符号信息激活此信息。这意味着每个STL语句后的行注释中包含更多的信息。不能编辑该显示;任何改变都必须在符号表或变量声明表中进行。 下图显示在STL中的符号信息。 当打印输出一个块时,具有语句注释或符号注释的当前画面表示也被打印。 共享符号与局部符号 符号使您能够采用具有某种意义的符号名来代替**地址进行工作。短符号和长注释的有效结合,可使编程更容易、程序文档的质量更好。 应注意区分局部(指定块)符号和共享符号之间的不同。
显示共享符号或局部符号 程序代码段中的共享符号与局部符号之间的差别可区分如下: 来自符号表中的符号(共享符号)将显示在引号".."内。 来自块的变量声明表中的符号(局部符号)将在前面冠以字符"#"。 引号或"#"无须输入。在梯形图、FBD或STL中输入程序时,语法检查将自动添加这些字符。 如果担心在某些情况下出现混淆,例如在符号表和变量声明中都使用同一个符号,那么当您要使用该共享符号时,必须直接对其进行编码(输入地址或者包括引号的符号)。此时,没有进行分别编码的任何符号都将解释为指定块 (局部)的变量。 如果符号包含有空格,也必须对共享符号进行编码(输入地址或者包括引号的符号)。 当在STL源文件中进行编程时,将采用同样的特殊字符及准则。在自由编辑模式下,将不会自动添加代码字符,但如果您希望避免混淆,这些代码字符将仍然需要。 设置地址优先权(符号地址/**地址) 在改变符号表中的符号、改变数据块或功能块的参数名称、改变引用组件名称的UDT或修改多重背景时,地址优先级有助于按照您的意愿调整程序代码。 当在下列情况下进行改动时,必须仔细设置地址优先级,并要有明确的目的。为了能从地址优先级中获益,在开始另一类型的改动之前,每个改动过程都必须彻底完成。 为了设置地址优先级,请转到SIMATIC管理器,并选择块文件夹,然后选择菜单命令编辑 > 对象属性。在"地址优先级"选项卡中,可以进行与自己要求相适合的设置。 在地址优先级中进行优化设置要求区分下列改动情况: 纠正单个名称 实例: 在符号表或程序编辑器/块编辑器中,必须纠正名称的拼写错误。这适用于符号表中的所有名称,以及可以使用程序编辑器/块编辑器进行修改的所有参数、变量或组件的名称。 设置地址优先级: 跟踪改动: 在SIMATIC管理器中,选择块文件夹,然后选择菜单命令编辑 > 检查块一致性。"检查块一致性"功能在单个块中进行必要的改动。 转换名称或分配 实例: 符号表中现有分配的名称已转换。 符号表中现有的分配被分配了新地址。 变量名称、参数名称或组件名称在程序编辑器/块编辑器中被转换。 设置地址优先级: 跟踪改动: 在SIMATIC管理器中,选择块文件夹,然后选择菜单命令编辑 > 检查块一致性。"检查块一致性"功能在单个块中进行必要的改动。 新的符号、变量、参数或组件 实例: 正在为程序中使用的地址创建新符号。 正在向数据块、UDT或功能块中添加新的变量或参数。 设置地址优先级: 在符号表中的改动。 在程序/块编辑器中的改动。 跟踪改动: 在SIMATIC管理器中,选择块文件夹,然后选择菜单命令编辑 > 检查块一致性。"检查块一致性"功能在单个块中进行必要的改动。 |