• 沒有找到結果。

7 一致性数据

7.2 通讯块和功能的一致性

概述

使用 S7-400 时,将不在扫描周期检查点处理通讯作业,而是在程序周期的固定时间片进 行。

在系统中,通常可一致处理字节、字和双字数据格式,即不能中断 1 个字节、1 个字(=

2 个字节)或 1 个双字(= 4 个字节)的传送或处理。

如果在用户程序中调用仅成对使用(如 SFB 12“BSEND”和 SFB 13“BRCV”)并且共 享对数据的访问的通讯块(如 SFB^12“BSEND”),则它们对此数据区的访问可达成一 致,例如使用“DONE”参数。因此可在用户程序中确保通过通讯块本地传输的通讯区的 数据一致性。

由于目标设备的用户程序中不需要任何块,因此 S7 通讯功能(如 SFB 14“GET”、

SFB 15“PUT”)的响应不同。这种情况下,在编程阶段应首先考虑一致性数据的大 小。

访问 CPU 的工作存储器

操作系统的通讯功能以固定域长度访问 CPU 的工作存储器。该域大小是一个可变长度,

最大为 462 个字节。

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

7.3 从 DP 标准从站/IO 设备中一致读取数据及向 DP 标准从站/IO 设备中一 致写入数据

使用 SFC 14“DPRD_DAT”从 DP 标准从站/IO 设备中一致读取数据

使用 SFC14“DPRD_DAT”(读取 DP 标准从站的一致性数据),可一致读取 DP 标准 从站的数据。

如果在数据传输期间未出错,则读取的数据会输入到由 RECORD 定义的目标区中。

目标区必须与通过STEP 7 为所选模块组态的区域的长度相同。

通过调用 SFC14,只能访问组态的起始地址的一个模块/ DP ID 的数据。

有关 SFC14 的信息,请参见相应的在线帮助和系统功能和标准功能 手册

使用 SFC 15“DPWR_DAT”向 DP 标准从站/IO 设备中一致写入数据

使用 SFC 15“DPWR_DAT”(向 DP 标准从站写入一致性数据),可向在 RECORD 中 寻址的 DP 标准从站或 IO 设备一致写入数据。

源区必须与通过STEP 7 为所选模块组态的区域的长度相同。

传输到 DP 从站的一致性用户数据的上限

PROFIBUS DP 标准定义传输到 DP 从站的一致性用户数据的上限。为此,可在块中将最 大为 64 字 = 128 字节的用户数据一致传送到 DP 从站。

组态期间,可确定一致数据区域的大小。在特殊标识格式 (SKF) 中,可将一致性数据的最 大长度设置为 64 字 = 128 字节(128 字节用于输入,128 字节用于输出),数据块大小 不得超过此值。

此上限仅适用于纯用户数据。诊断和参数数据重组为完整记录,因此能始终一致地传送。

在一般标识格式 (AKF) 中,可将一致性数据的最大长度设置为 16 字 = 32 字节(32 字节 用于输入,32 字节用于输出);数据块大小不得超过此值。

请注意,在此上下文中,必须用一般标识格式组态在第三方主站(由 GSD 定义的连接)

上在一般环境中用作 DP 从站的 CPU 41x。因此,用作到 PROFIBUS DP 的 DP 从站的 CPU 41x 的每个虚拟插槽的传送存储器最大可为 16 个字,即 32 个字节。在 i 从站中最 多可组态 32 个此类虚拟插槽,最大插槽号为 35。

有关 SFC 15 的信息,请参考相应的在线帮助和《系统功能和标准功能》手册

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

说明

PROFIBUS DP 标准定义了一致性用户数据传输的上限。典型的 DP 标准从站符合此上 限规定。在较早的 CPU 中 (<1999),根据 CPU 的不同,在一致性用户数据传输方面有一 些限制。对于这些 CPU,可以在索引条目“DP 主站 — 每个 DP 从站的用户数据”下各 自的技术规范中,确定 CPU 可以从 DP 标准一致读取的以及向 DP 标准一致写入的数据 最大长度。较新的 CPU 可超过 DP 标准从站可发送和接收的数据量值。

传输到 IO 设备的一致性用户数据的上限

IO 设备上的一致性用户数据的传输上限为 255 个字节(254 个字节用户数据 + 1 个关联 值)。即使可在 IO 设备上传输 255 个以上字节,最多也只有 255 个字节可以进行一致性 传输。

通过 CP 443-1 EX41 传输的上限为 240 个字节。

不使用 SFC 14 或 SFC 15 进行的一致性数据访问

对于本手册中介绍的 CPU,可在不使用 SFC 14 或 SFC 15 的情况下访问 4 个字节以上的 一致性数据。应一致传送的 DP 从站或 IO 设备的数据区传送到过程映像分区中。因此,

此区域中的信息始终一致。接下来,可使用加载/传送命令(如 L IW 1)访问过程映像。这 是访问一致性数据极为方便和有效(低运行时负载)的方法。例如,利用它可高效集成和 组态驱动器或其它 DP 从站。

直接访问不会出现 I/O 访问错误(例如,L PIW 或 T PQW)。

从 SFC14/15 方法转换为过程映像方法时需要注意以下几点:

• 和使用过程映像方法一样,SFC 50“RD_LGADR”使用 SFC14/15 方法输出另一个地址 区。

• 通过接口连接的 PROFIBUS DP:

从 SFC14/15 方法转换为过程映像方法时,建议不要同时使用系统功能和过程映像。虽

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

实例

以下实例(过程映像分区 3“TPA 3”)显示了 HW Config 中的此类组态。

要求:过程映像以前通过 SFC 26/27 更新,或者过程映像的更新已链接到 OB。

• TPA 3(输出):这 50 个字节一致存储在过程映像分区 3 中(下拉列表“Consistent over [一致于] -> entire length [整个长度]”),因此可通过常规“加载输入 xy”命令 来读取。

• 在输入下的下拉菜单中选择“Process Image Partition [过程映像分区] -> ---”表示:不 要保存在过程映像中。于是,只能使用系统功能 SFC14/15 进行处理。

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

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

存储器原理 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。

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