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。