• 沒有找到結果。

8 存储器原理

8.1 S7-400 CPU 存储器概述

存储区的组织结构

S7 CPU 存储器可分为以下区域:

Ꮉ԰ᄬټ఼᭄᥂

图片 8-1 S7-400 CPU 的存储区

长沙工控帮教育科技有限公司整理

针对 RAM 的分配进行参数设置后,CPU 的重要说明已更改

如果通过修改参数来更改工作存储器分配,则在向 CPU 装载系统数据时可识别此工作存储 器。其结果是删除用 SFC 创建的数据块,并将装载存储器中的初始值分配给其余数据 块。

如果更改以下参数,则装载系统数据时,会更改逻辑块或数据块的工作存储器的可用容 量:

• 过程映像大小(基于字节;在“循环/时钟存储器”标签中)

• 通讯资源(仅限 S7-400;“存储器”标签)

• 诊断缓冲区大小(“诊断/时钟”标签)

• 所有优先级的本地数据编号(“存储器”标签)

计算所需工作存储器的依据

要确保不超过 CPU 上工作存储器的可用空间,在分配参数时必须考虑以下内存空间要 求:

表格 8-1 所需内存空间

参数 所需工作存储器空间 在代码/数据存储器中

过程映像的大小(输入) 12 字节,每 1 字节过程输入映像 代码存储器

过程映像的大小(输出) 12 字节,每 1 字节过程输出映像 代码存储器

通讯资源(通讯作业) 每个通讯作业 72 个字节 代码存储器

诊断缓冲区的大小 诊断缓冲区中每个条目 32 个字节 代码存储器

本地数据量 1 字节,每 1 字节本地数据 数据存储器

S7-400 CPU 中的存储器类型

• 项目数据的装载存储器,例如块、组态和参数设置。

• 用于运行时相关块(逻辑块和数据块)的工作存储器。

长沙工控帮教育科技有限公司整理

注意

如果要扩展 CPU 的过程映像,请注意以下事项。确保将只可在过程映像上方操作的 模块组态为也位于扩展过程映像的上方。这尤其适用于在 S7-400 的 S5 适配器箱中 运行的 IP 和 WF 模块。

灵活的存储容量

• 工作存储器:

工作存储器的容量通过从各种档次的 CPU 中选择适当的 CPU 来决定。

• 装载存储器:

集成的装载存储器对于中小型程序来说已足够。

插入 RAM 存储卡可增加装载存储器的容量,以用于更大型的程序。

还可使用闪存卡确保在发生电源故障(即使没有备用电池)时可以保持程序。闪存卡

(8 MB 或更多)也适用于发送和执行操作系统更新。

备用

• 备用电池为集成和外部装载存储器、工作存储器的数据部分以及代码部分提供备用电 源。

长沙工控帮教育科技有限公司整理

长沙工控帮教育科技有限公司整理

S7-400 的周期和响应时间 9

9.1 循环时间

周期时间的定义

周期时间表示操作系统执行一个程序所需的时间,也就是说,一个 OB 1 周期包括中断该 周期的所有程序段和系统活动。

该时间受到监视。

分时共享模型

周期程序扫描及用户程序的处理以时间片的方式执行。为更好地进行处理,假定在以下处 理中每个时间片的精确长度都为 1 ms。

过程映像

过程信号在程序扫描前进行读/写操作,以便在周期程序扫描期间,为 CPU 提供一致的过 程信号映像。然后,在程序扫描期间当寻址地址区“输入”(I) 和“输出”(O) 时,CPU 并 不直接访问信号模块,而是寻址输入和输出映像所在的 CPU 的内部存储区。

周期程序扫描过程

下表及下图说明了周期程序扫描的各个阶段。

表格 9-1 周期程序处理

步骤 过程

1 操作系统启动扫描周期监视时间。

2 CPU 在输出模块中写入过程映像输出表中的值。

3 CPU 读出输入模块的输入状态,然后更新过程映像输入表。

4 CPU 以若干时间片处理用户程序并执行程序中指定的操作。

5 在周期结束时,操作系统执行挂起任务,如装载和清除块。

长沙工控帮教育科技有限公司整理

9.1 循环时间

周期时间的各个组成部分

6&& 26 3,, 3,4 3,4˖䕧ߎⱘ䖛⿟᯴ڣ

3,,˖䕧ܹⱘ䖛⿟᯴ڣ 6&&˖ᠿᦣ਼ᳳẔᶹ⚍

26˖᪡԰㋏㒳

ᯊ䯈⠛˄↣Ͼ↿⾦˅

ᯊ䯈⠛˄↿⾦˅

⫼᠋⿟ᑣ

ᕾ⦃ᯊ䯈

᪡԰㋏㒳

⫼᠋⿟ᑣ 䗮䆃

图片 9-1 周期时间的各个部分和组成

长沙工控帮教育科技有限公司整理

9.2 循环时间计算

9.2 循环时间计算

增加周期时间

一般应注意用户程序的周期时间会因以下因素而增加:

• 时间驱动的中断处理

• 硬件中断处理

• 诊断和错误处理

• 通过 MPI、PROFINET 接口和连接的自动化系统内部的 CP 通讯

(例如,以太网、PROFIBUS DP);包括在通讯负载中

• 特定功能,如控制和监视变量或块状态

• 传送和清除块,压缩用户程序存储器

• 内部存储器测试

影响因素

下表指出了影响周期时间的因素。

表格 9-2 影响周期时间的因素

因素 注释

过程映像输出表 (PIQ) 和过程映像输 入表 (PII) 的传送时间

... 参阅表“过程映像传送时间部分”。

用户程序执行时间 ... 从不同指令的执行时间计算,参见

S7-400 指令列表

扫描周期检查点的操作系统扫描时间 ... 参阅表“扫描周期检查点的操作系统扫描时间”。

通讯引起的周期时间增加 要在

STEP 7

中以 % 设置通讯的预期最大允许周期负载,请参 见手册

用 STEP 7 编程

中断对周期时间的影响 中断功能可随时中断用户程序。

... 参阅表“嵌套中断引起的周期时间增加”。

长沙工控帮教育科技有限公司整理

9.2 循环时间计算

9.2 循环时间计算

9.3 不同循环时间

9.3 不同循环时间

基础知识

周期时间的长度 (Tcyc) 在每个循环中并不相同。下图显示不同的周期时间 Tcyc1 和 Tcyc2。

Tcyc2 比 Tcyc1 长,因为循环扫描的 OB1 被日时钟中断 OB(此处为 OB10)中断了。

2%

7

3,4 2%

ᕾ⦃

3,, 6&& 3,4 3,, 2%

6&&

2%

7ᕾ⦃

3,4 3,,

ᔧࠡᕾ⦃ ϟϔᕾ⦃ ㄀ϝϾᕾ⦃

᳈ᮄ ᳈ᮄ ᳈ᮄ ᳈ᮄ ᳈ᮄ ᳈ᮄ

图片 9-2 不同周期时间

块处理时间(例如 OB 1)的波动也可能是导致周期时间波动的因素,波动原因如下:

• 条件命令

• 条件块调用

• 不同的程序路径

• 回路等

最大周期时间

在 STEP 7 中,可修改缺省最大周期时间(循环监视时间)。当该时间到期时,调用 OB 80。在 OB 80 中,可以指定 CPU 如何响应时间错误。如果未通过 SFC43 重新触发周期 时间,则 OB 80 会在第一次调用时将周期时间加倍。在这种情况下,当第二次调用 OB 80 时,CPU 将切换为 STOP 模式。

长沙工控帮教育科技有限公司整理

9.3 不同循环时间

9.4 通讯负载

9.4 通讯负载

实例:20% 的通讯负载

您已在硬件组态中组态了 20% 的通讯负载。

计算的周期为 10 ms。

20% 的通讯负载是指分别为通讯和用户程序保留平均长度为 200 μs 和 800 μs 的时间片。

所以,CPU 处理一个循环需要 10 ms / 800 μs = 13 个时间片。这意味着,如果 CPU 充分 利用已组态的通讯负载,则实际周期时间为 13 乘以 1 ms 的时间片 = 13 ms。

这就意味着,20% 的通讯不是将周期线性增加 2 ms 而是增加 3 ms。

实例:50% 的通讯负载

您已在硬件组态中组态了 50% 的通讯负载。

计算的周期为 10 ms。

这意味着,为循环保留长度为 500 μs 的时间片。所以,CPU 处理一个循环需要 10 ms / 500 μs = 20 个时间片。这就意味着,如果 CPU 充分利用已组态的通讯负载,则 实际周期时间为 20 ms。

50% 的通讯负载是指为通讯和用户程序各保留长为 500 μs 的时间片。所以,CPU 处理一 个循环需要 10 ms / 500 μs = 20 个时间片。这就意味着,如果 CPU 充分利用已组态的通 讯负载,则实际周期时间为 20 乘以 1 ms 的时间片 = 20 ms。

这就意味着,50% 的通讯不是将周期线性增加 5 ms 而是增加 10 ms。

实际周期时间与通讯负载的相关性

下图说明了实际周期时间与通讯负载的非线性相关性。该实例使用 10 ms 的周期时间。

长沙工控帮教育科技有限公司整理

9.4 通讯负载

      

PV

PV

PV

PV

PV

PV



ᕾ⦃ᯊ䯈

ৃ೼ℸ㣗ೈݙ䆒㕂䗮䆃䋳䕑

䗮䆃䋳䕑 图片 9-6 周期时间与通讯负载的相关性

对实际周期时间的更多影响

由于因通讯组件而导致周期时间增加,因此从统计的观点看,与其说发生了中断,倒不如 说在某个 OB 1 周期内发生了更多的异步事件。这也增加了 OB 1 周期。延长的时间取决于 每个 OB 1 周期内出现的事件数以及处理这些事件所需的时间。

备注

• 检查在系统运行时更改参数“由通讯引起的周期负载”的值的效果。

• 设置最大周期时间时,必须考虑通讯负载,否则会发生时间错误。

建议

• 如果可能,请使用缺省值。

长沙工控帮教育科技有限公司整理

9.5 反应时间

9.5 反应时间

响应时间的定义

响应时间是指从检测到输入信号算起,到更改与该信号链接的输出信号为止的时间。

变化

实际响应时间为介于最短响应时间和最长响应时间之间的某个时间。组态系统时,必须始 终考虑最长响应时间。

下文中对最短和最长响应时间进行了分析,以使您对响应时间的变化有所了解。

因素

响应时间取决于周期时间和以下因素:

• 输入和输出的延迟

• PROFIBUS DP 网络上的附加 DP 周期时间

• 用户程序的执行

输入和输出的延迟

依据模块的不同,必须注意以下时间延迟:

• 对于数字输入: 输入延迟时间

• 对于具有中断功能的数字输入: 输入延迟时间 + 模块内部准备时间

• 对于数字输出: 可忽略的延迟时间

• 对于继电器输出: 典型延迟时间介于 10 ms 和 20 ms 之间 继电器输出的延迟取决于温度和电压

• 对于模拟输入: 模拟输入周期时间

• 对于模拟输出: 模拟输出的响应时间

可在信号模块的技术规范中找到时间延迟。

长沙工控帮教育科技有限公司整理

9.5 反应时间

PROFIBUS DP 网络上的 DP 周期时间

如果已使用 STEP 7 组态了 PROFIBUS DP 网络,则 STEP 7 将计算必须预期的典型 DP 周期时间。然后,可在编程设备上为总线参数显示组态的 DP 周期时间。

下图概述了 DP 周期时间。假定本实例中每个 DP 从站的平均数据长度为 4 个字节。

PV

PV

PV

     

PV

PV

PV

PV



PV ᘏ㒓

䖤㸠 ᯊ䯈

⊶⡍⥛˖0ESV

⊶⡍⥛˖0ESV

'3Ңキⱘ᭄Ⳃ

᳔ᇣҢキ䯈䱨

图片 9-7 PROFIBUS DP 网络上的 DP 周期时间

由于在 PROFIBUS DP 网络上有多个主站运行,因此必须为每个主站的 DP 周期时间留出 一定余地。即,必须单独计算每个主站的时间,然后将结果累加起来。

长沙工控帮教育科技有限公司整理

9.5 反应时间

9.5 反应时间

计算

(最短)响应时间的构成如下:

• 1 x 输入的过程映像传送时间 +

• 1 x 输出的过程映像传送时间 +

• 1 x 程序处理时间 +

• 1 x SCC 的操作系统处理时间 +

• 输入和输出的延迟

结果等于周期时间加上 I/O 延迟时间的总和。

说明

如果 CPU 和信号模块都不位于中央机架中,则必须加上两倍的 DP 从站帧运行时间(包 括在 DP 主站中的处理时间)。

最长响应时间

下图说明了如何达到最长响应时间。

长沙工控帮教育科技有限公司整理

9.5 反应时间

9.5 反应时间

9.5 反应时间

9.6 计算循环时间和反应时间

9.6 计算循环时间和反应时间

周期时间

1. 查询指令列表,算出用户程序的运行时间。

1. 查询指令列表,算出用户程序的运行时间。