Download presentation
Presentation is loading. Please wait.
Published byJoost Gerritsen Modified 6年之前
1
符号 目录 页 绝对寻址和符号寻址… 符号寻址- 概述… 打开符号表 编辑:查找和替换…… 查看:过滤器 … 查看:排序…… 符号表:导出 符号表:导入 编辑符号 (在 LAD/STL/FBD 编辑器中)…… 符号信息 (在 LAD/STL/FBD 编辑器中) 符号选择 (在 LAD/STL/FBD 编辑器中) “符号优先” 程序的反编译 练习10.1:为FC 15建立一个符号表
2
绝对寻址和符号寻址 A I 0.0 = Q4.0 A I 0.4 = Q8.5 Call FC18 A “PLANT_ON”
= “ON_INDIC” A “M_FORW” = “MOTOR_FORW” Call “COUNT” Symbol Address Data Type Comment MOTOR_FORW COUNT PLANT_ON ON_INDIC M_FORW Q8.5 FC18 I 0.0 Q4.0 I 0.4 BOOL Motor forwards Count bottles Switch on plant Indicator: Plant is “On” M.-con. switch: Motor forwards (最多 24 个字符) (最多 80 个字符) 绝对寻址 在绝对寻址中,需要直接指明地址(例如:输入I 1.0),在这种情况下不需要符号表,但是程序难读。 符号寻址 在符号寻址中,使用的是符号(例如: MOTOR_ON ),而不是绝对地址。在符号表中可以对输入、输出、定时器、计数器、位存储器和块定义符号。 注 当输入符号名时, 不需要加入引用标记,程序编辑器会自动加入。
3
符号寻址 - 概述 何处使用符号? 它们存放在何处? 如何建立它们? 全局数据: 符号表 符号编辑器 - 输入 - 输出
何处使用符号? 它们存放在何处? 如何建立它们? 全局数据: 符号表 符号编辑器 - 输入 - 输出 - 位存储器、定时器、计数器 - 外设 I/O 局部数据块: 块的声明表 程序编辑器 - 块参数 - 局部 /临时数据 跳转标号 块的代码区 程序编辑器 块名称: 符号表 符号编辑器 - FB - FC - DB - VAT - UDT 全局符号 在符号编辑器中定义的全局符号可以在所有的程序块中使用。 在符号表中的符号必须是唯一的,也就是说,在表中只能出现一次。 局部符号 局部符号是在块的声明区定义的,它们只能在所定义的块中使用。 同一个符号名可以在另一个块中重新使用。 数据块组成 DB的声明表 程序编辑器
4
打开符号表 符号表 通过选择 LAD/STL/FBD 编辑器中的菜单 Options -> Symbol Table 可以打开符号表。
也可以从SIMATIC管理器打开符号表:选择项目窗口左手部分的程序并双击“Symbols”对象。 表结构 当打开符号表时,会打开一个附加窗口,该窗口由符号名、地址、数据类型和注释等列组成。每个符号占用符号表的一行。当定义一个新符号 时,会自动插入一个空行。 注 符号表是公共数据库,可以被不同的工具利用: • LAD/STL/FBD 编辑器 • Monitoring and Modifying Variables(监视和修改变量) • Display Reference Data(显示交叉参考数据)
5
编辑:查找与替换 查找并替换 在当前窗口中有许多查找和替换的选项: • Find what: 输入要查找的文本
查找并替换 在当前窗口中有许多查找和替换的选项: • Find what: 输入要查找的文本 • Replace with: 输入替换的文本 • From cursor down: 在符号表中向下查找到最后一行 • From cursor up: 在符号表中向上查找到第一行 • Match case: 仅查找带指定的大写或小写字母的特定文本 • Find whole words only: 以一个分离字而不以一个长字查找特定文本 • All: 从光标位置查遍整个符号表 • Selection: 仅查找所选的符号行 注 当查找地址时,应该在地址表示符后插入一个统配符,否则不能发现地址。 例如查找并替换 (用地址4. 替换所有带地址8. 的输出): Find what: Replace with: Q*8.* Q 4.
6
查看:过滤器 过滤器 只有符合激活过滤器规则(符号属性)的符号才能显示在当前窗口。 一次可以应用几个规则,设定的过滤器规则连在一起。
过滤器 只有符合激活过滤器规则(符号属性)的符号才能显示在当前窗口。 一次可以应用几个规则,设定的过滤器规则连在一起。 符号属性 可以选择不同的过滤器并按照下面的性质连接它们: 名字,地址,数据类型,注释,操作控制和监视,通讯,消息 (Name, Address, Data type, Comment, Operator control and monitoring, Communication, Message.) 允许的统配符是 * 和 ?。 举例 Name: M* 在符号表中只显示以“M”开头的而且包含任意数量附加字符的名字。 Name: SENSOR_? 在符号表中只显示以“SENSOR_”开头的而且包含一个其它字符的名字。 Address: I*.* 只显示输入。 有效,无效 符号必须唯一,就是说,一个符号或地址只能在符号表中出现一次。 如果一个符号或地址在符号表中出现多次,重复的行会变粗。 如果符号表长而且想快速查找不清楚的符号或地址,通过菜单View -> Filter 和分配“Invalid”,可以显示这些行。
7
查看:排序 排序 符号表中的符号可以按照字母顺序显示,利用菜单 View -> Sort 可以对指定当前窗口的列进行排序。
排序方法是: 1. 单击要排序的列首,在当前列中按照升序排序。 2. 再单击要排序的列首,在当前列中按照降序排序。
8
符号表:导出 要把表存到何处 ? 把表存成何种格式?
概述 菜单 Symbol Table -> Export 可以用不同的文件格式存储符号表,以便于在其他的程序中使用。可以选择如下的文件格式: • ASCII 格式 (*.ASC) - Notepad - Word • 数据交换格式 (*.DIF) - EXCEL • 系统数据格式 (*.SDF) - ACCESS • 符号表 (*.SEQ) - STEP 5 符号表 把表存成何种格式?
9
符号表:导入 这里选择目录路径 输入文件名 选择格式
概述 菜单 Symbol Table -> Import 可以导入其他程序中建立的符号表。 如何做: 1. 激活菜单 Symbol Table -> Import. 2. 在“Import”对话窗中选择文件格式。 可以发现与导出相同的文件格式。 3. 在“Find in:”列表框中 选择目录路径。 4. 在“File Name:”框中输入文件名。 5. 用“OK”确认。 文件类型 可以导入如下的文件格式: • ASCII 格式 (*.ASC) - Notepad - Word • 数据交换格式 (*.DIF) - EXCEL • 系统数据格式 (*.SDF) - ACCESS • 符号表 (*.SEQ) - STEP 5 符号表 输入文件名 选择格式
10
编辑符号 (在 LAD/STL/FBD 编辑器中)
编辑符号 菜单 Edit -> Symbol, 或在地址上单击鼠标右键,出现一个菜单选项 Edit Symbol, 可以对绝对地址分配符号名。所分配的符号名自动加入到符号表中。 已经在符号表中的名字用不同颜色显示,它们不能在符号表中再使用。
11
符号信息 (在 LAD/STL/FBD 编辑器中)
寻址 在 LAD/STL/FBD 编辑器中,通过菜单 View -> Display -> Symbolic Representation ,按照下面两个方法可以选择要显示的地址: • 符号寻址 或 • 绝对寻址 通过菜单 View -> Display -> Symbol Information ,可以在段内显示符号和地址分配。 在LAD/FBD方式下,地址分配在段下显示,在STL方式下,显示在指令行。 注 如果把鼠标指到一个地址上,就会出现一个带有符号信息的该地址的提示。
12
符号选择 (在 LAD/STL/FBD 编辑器中)
介绍 利用菜单 View -> Display -> Symbol Selection 简化符号编程的书写。 当输入地址时,一旦输入符号名的第一个字母,就会弹出一个符号表。 该表包含了以该字母开头的所有符号,点击所需要的符号就可以把它输入到程序中。
13
符号优先 优先: 优先: 符号 绝对地址 Symbol Table Old Entry: Plant ON = Q8.0
New Entry: Plant ON = Q4.0 优先: 绝对地址 优先: 符号 介绍 如果要修改一个程序的符号表分配,可以决定绝对寻址和符号寻址那一个优先。 选择 在SIMATIC 管理器中,用鼠标右键选择S7程序的“Blocks”,选择菜单 Properties ,然后“Blocks”标签。 在“Priority”域中选择“Absolute Value”(绝对值)或“Symbol”(符号)。 优先:绝对值 用这个设置,如果以后修改了符号表中的分配,一个操作的绝对地址并不改变。 如上面的例子,在符号表中,输出 Q 8.0 (符号名“Plant On”) 变成了输出 Q4.0。由于是“Priority:Absolute Value”设定,程序仍然使用输出 Q8.0 。 优先:符号 用这个设置,操作的绝对地址变成了符号表中的新输入项。 如上面的例子,在符号表中,输出 Q 8.0 (符号名“Plant On”) 变成了输出 Q4. 0 。 由于是“Priority:Symbols”设定,在整个程序中地址从 Q 8.0 变成了 Q4. 0 。 修改后的地址仍然保持其符号名,这样,就可以在用户程序中修改绝对地址了。
14
程序的反编译 缺少符号表 替换表示法 符号表 对全局数据(如 I 1.0)使用地址而不用符号
缺少符号表 替换表示法 符号表 对全局数据(如 I 1.0)使用地址而不用符号 DB的符号部分 DB的单元(如 DW1)使用地址,而不用符号 FB 的符号部分 对块的局部和暂时数据使用地址而不用符号(如 LB 17) 对参数使用替代的记号,而不用符号,如 PAR 1 FB注释部分 对跳转表使用替代的记号,而不用符号。如 M 001 程序的反编译 如果没有符号表,程序不能完全反编译。 和STEP5类似,地址用其绝对地址表示。这不仅对输入、输出、存储器标志、定时器和计数器适用,对于DB单元(例如, 数据字)也适用。对跳转也可以使用替代符号,例如:M001。 对于块的局部数据或暂时数据使用的绝对地址(如:LB 17)。 对块参数提供替代符号(例如, Par 1, Par 2 )。 符号 符号和说明都存在编程器上。 注意 在未来的开发中,将可能把符号和说明存放在CPU的装载存储器中。
15
练习10.1:为FC15建立符号表 符号 地址 (A版) 地址 (B版) Plant On Manual Mode
Automatic Mode Conveyor Forward Conveyor Backward Start Stop Jog Forward Jog Backward Automatic/Manual Enter Mode Q 8.1 Q 8.2 Q 8.3 Q 20.5 Q 20.6 I 0.0 I 0.1 I 0.2 I 0.3 I 0.4 I 0.5 Q 4.1 Q 4.2 Q 4.3 Q 8.5 Q 8.6 I 0.0 I 0.1 I 0.2 I 0.3 I 0.4 I 0.5 目的 建立一个灌装线程序的符号表。 操作 为S7程序“FILL”中的FC15建立一个符号表: 1. 通过选择菜单 Options -> Symbol Table在LAD/STL/FBD 编辑器中打开符号编 辑器 2. 编辑符号表,如上表所示 3. 通过选择菜单 Symbol Table -> Save 保存符号表,并返回LAD/STL/FBD 编 辑器 4. 打开 FC 15 块 5. 选择菜单 View -> Display -> Symbolic Representation 或单击工具条中的图 标。 6. 选择菜单 View -> Display -> Symbol Information ,观察符号表示的程序。 结果 程序中的所有已经分配的符号名均显示出来,不选择菜单“View”中的Symbolic Representation ,就可以返回绝对寻址。
Similar presentations