1.与监控调试相关问题
1.1问题:监控不完整
问题:为什么当顺控器超过 100 步时,监控程序时所有或部分步的状态和转换无法显示?
解答:这是由于 S7 CPU 系统资源有限,不能满足状态功能造成的。对于 S7-300 CPU (CPU318 除外) ,当顺控步数超过100 时,将会发生上述问题。而 CPU318 和 S7-400 模板相应的上限值将近 200 步。
解决方法:
· 在 S7-GRAPH 编辑器中,在 "Optionss > Application Settings... > 页签: General" 路径下,可修改 "maximum number of status jobs used" 选项中的监视任务数。此任务数增大,则监视程序将占用更多CPU 的系统资源。
· 使用功能更强大的 CPU ( 如 CPU318 或 CPU400)。
· 减少步数和转换器数。
1.2问题:顺控器不切换
问题:为什么在自动模式下,即使转换条件已满足时顺控器也没有切换?
解答:如果S7-GRAPH 程序的背景数据块没有被及时更新,可能会导致自动模式下的顺控器不继续切换,比较常见的情况如下:
· 转换条件满足,但顺控器停在 Step 1 中
· 转换条件的状态不显示
解决方法:在 SIMATIC 管理器和 CPU 中删除背景数据块。然后在 S7-GRAPH 编辑器中再次生产背景 DB 并将其载入CPU。
特别强调:在S7-GRAPH菜单中 "Optionss > Application Settings... > General> On Saving"的选项中,应当选择Include instance DB, 这样当用户更改FB结构并存盘时,FB的背景数据块也被更新。建议选择此项,利于保持项目数据一致性,很多调试时出现的问题都与背景数据块更新有关,此处不再依次列举。
1.3问题:无法监视顺控器
问题:上载 S7-GRAPH FB 之后,为何不能监视它。
解答:请检查“Interface Descriptio”选项,查看是否选择了“Download to PLC”。如果没有,在菜单“Options > Block Settings > Compile/Save”下设置“Download to PLC”选项。然后重新保存块。 设置该选项后,下载 S7-GRAPH FB 时,接口描述被下载到 PLC。这样,用户就可以下载监视它了。
1.4问题:顺控器初始化
问题:为什么即使在输入“OFF_SQ”为TRUE 时 顺控器仍在输入“INIT_SQ”的上升沿被激活?
解答:输入“OFF_SQ”及“INIT_SQ”信号都是上升沿有效的,也就是说它们是否有效与它们的数值(TRUE 或FALSE)没有关系。为了防止顺控器在初始化之后自动连续工作,在关闭顺控器之前可以通过输入“SW_MAN”的上升沿切换到手动模式。在重新初始化之后,顺控器保持在初始化步骤中直到再次切换到自动模式,例如通过参数“SW_TOP”。
参数说明:这些参数都是接收到上升沿有效
“OFF_SQ”关闭顺控器
“INIT_SQ”初始化顺控器
“SW_MAN” 模式选择:切换到手动模式
“SW_TOP” 模式选择:自动或切换到下一个
1.5问题:S7-GRAPH 程序占用多少内存
问题:S7-GRAPH 程序占用多大 CPU 内存?
解答: S7-GRAPH 程序代码量的大小与编辑器的设置有关,在编辑器的设置菜单下的块设定中,用户可以定义顺控程序的功能块号和所用内存大小。当使用标准功能块 FC70,FC71,FC72 或者FC73 时,S7-GRAPH 的部分系统功能就会导入到这些功能块中,此种方式大约会使 S7-GRAPH 程序减少 5000 字节。但所用的这些标准功能块调用时同样占用内存空间。如果一个项目中有多个S7-GRAPH FB 程序,并且这些S7-GRAPH 程序被定义成使用标准功能块方式。那么,它们公用的系统功能都将通过重复使用标准功能来实现。而这些标准功能只需生成一次并下载即可,这样就节省了内存空间。
可以使用下列公式检测 S7-GRAPH FB 块和 S7-GRAPH DB 块所占内存的大小。
· FB 的内存需求: 150 字节 + n * 16 字节
· DB 的内存需求: 236 字节 + n * 26 字节
n: 步的数量
以下例子给出了如何确定两个各有 20 个步和转换条件的顺控程序在两种不同模式下所需内存的例子。 例子只是粗略计算。
编译器设置为:“Full Code”模式
S7-GRAPH FB 以及它的背景数据块(MC7 代码)内存需求计算如下:
· FB 块的内存需求:4900 字节(管理共享)+ 130 字节每步 + 转换条件字节数(根据内容)
· DB 块的内存需求:270 字节(管理共享)+ 70 字节每步 + 转换条件字节数(根据内容)
计算结果:
· FB 块的内存需求约为:4,900 + 20 x 130 = 7,500 字节
· DB 块的内存需求约为:270 + 20 x 70 = 1,670 字节
编译器设置为:“标准功能块 ”( S7-GRAPH V4.0或以上版本)
这时顺控程序所需内存计算如下:
· FB 块的内存需求约为:150 字节 + 20 x 16 字节 = 470 字节
· DB 块的内存需求约为:236 字节 + 20 x 26 字节 = 756 字节
管理共享功能被导入标准功能块 FC70,FC71,FC72 和 FC73。例如, FC71 被 FB7 调用 和 FC73
被 S7-GRAPH FB 调用,这时CPU 有额外的内存需要:
· 8150 字节(对于 FC73)
· 7750 字节(对于 FC71)
1.6问题:如何监控一系列步的时间
问题:如何通过同步分支的帮助来监控一系列步的时间?
解答:在下面的例子中,可以通过同步步 S5 来监控步 S2 及 S3 的时间。如果步 S2 及 S3 的过程时间超过了步S5 的监控定义时间,步 S5 进入故障模式。
在同步分支处,转换条件使能步 S2 及 S5。步 S2 及 S3 组成的序列与同步步 S5 同时执行,并在转换条件 T3 处结束。为了防止达不到步 S5 中编程的监控时间,当同步步结束后,转换条件 T3连接到下一个步 S4 上。
为了编程步 S2 及 S3 的监控时间总和,步 S5 (同步分支)定义了监控条件。图中展示了步 S5单步视图下“U”编程的监控时间,步 S5 的监控时间为 4s。输入参数“ACK_EF” 可以用来确认错误,其被指定为标志 M0.2 。
当监控时间及等待时间被编程后,可以改变默认的时间值来适应自动控制任务。参数“SiT”及“SiU”默认值可以在 S7-GRAPH V5.2 以上版本被指定。监控时间的默认值可以通过来菜单“Options > Application Settings... > Editor Tab”输入
1.7问题:无法监控步的激活时间
问题:为什么无法监控步的激活时间(“STEPi.U”)?
解答:如果无法监控步的激活时间(“STEPi.U”),那么很可能在“Compile / Save”栏中的块设置中选择了FC73 而不是FC72。虽然FC73 可明显地减少S7-GRAPH FB 的内存需求,但是这种方式生成的块不支持诊断,并且在监控运行系统控制时只有状态显示。因此,激活时间“U”也不可用。
解决方法:通过菜单Options > Block settings >Compile / Save>Executability 下指定标准FC72。
就把接口描述从“Memory minimized”更改为“Structure arrays”并以OK 确认。重新编译S7-GRAPH FB 并将块加载到CPU 中。
未完待续...明天我们会介绍一些与GRAPH使用技巧相关问题
- Step7 GRAPH 使用技巧相关问题 2024-11-26
- Step7-SCL 编程语言介绍 2024-11-26
- Step7-SCL应用于工程实例 2024-11-26
- STEP7 OB组织块介绍和使用技巧 2024-11-26
- 如何在STEP7环境中调试变频器/直流调速器 2024-11-26
- S7-1200/1500的VARIANT数据类型的使用 2024-11-26
- 西门子 S7-200 SMART PLC 在食用菌培育实验室的应用 2024-11-26
- WINCC 读取天气预报-VBS-XML接口 2024-11-26
- 如何在工业以太网CP/CM中给UDP连接使用和组态IP组播 2024-11-26
- 调用并赋值PID (S)FB41, (S)FB42 和 (S)FB43 功能块时应注意什么 2024-11-26
- 在STEP7中将文本库中的文本集成到消息中 2024-11-26
- SFC1系统功能块应用实例 2024-11-26
- 基于WINCC和S7-200的PLC无线通讯方案 2024-11-26
- 如何在WinCC RT Professional (TIA Portal)中使用画面窗口和变量前缀 2024-11-26
- 在S7-1500中,为什么将某一个字中的单一地址定义为PLC数据类型会造成整个字被覆盖 2024-11-26