自动化网-工控人家园官网移动版

主页 > 工控品牌 > 西门子 >

西门子STEP7中的绝对寻址和符号寻址-编程语言梯形图

绝对寻址和符号寻址
在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管理器中,选择块文件夹,然后选择菜单命令编辑 > 检查块一致性。"检查块一致性"功能在单个块中进行必要的改动。  (责任编辑:admin)