西门子PLC CPU存储器怎么管理

西门子plc
西门子plc
西门子plc
1976
文章
127
评论
2019年1月14日22:08:06 评论 1,493 阅读

存储器管理

CPU 提供了以下用于存储用户程序、数据和组态的存储区:

  • 装载存储器,用于非易失性地存储用户程序、数据和组态。将项目下载到CPU 后,CPU 会先将程序存储在装载存储区中。 该存储区位于存储卡(如存在)或 CPU 中。 CPU 能够在断电后继续保持该非易失性存储区。 存储卡支持的存储空间比 CPU 内置的存储空间更大。
  • 工作存储器是易失性存储器,用于在执行用户程序时存储用户项目的某些内容。CPU会将一些项目内容从装载存储器复制到工作存储器中。 该易失性存储区将在断电后丢失,而在恢复供电时由 CPU 恢复。
  • 保持性存储器,用于非易失性地存储限量的工作存储器值。断电过程中,CPU使用保持性存储区存储所选用户存储单元的值。 如果发生断电或掉电,CPU 将在上电时恢复这些保持性值。

要显示编译程序块的存储器使用情况,请右键单击 STEP 7 项目树中“程序块”(Program blocks) 文件夹中的块,然后从上下文菜单中选择“资源”(Resources)。 “编译属性”(Compiliation properties) 显示了编译块的装载存储器和工作存储器。

要显示在线 CPU 的存储器使用情况,请双击 STEP 7 中的“在线和诊断”(Online and diagnostics),展开“诊断”(Diagnostics),然后选择“存储器”(Memory)。

保持性存储器

将某些数据标记为保持性数据可以避免发生电源故障后造成数据丢失。 该 CPU

允许您将以下数据配置为保持性数据:

  • 位存储器(M):可以在 PLC 变量表或分配列表中定义位存储器的保持性存储器的大小。 保持性位存储器总是从 MB0 开始向上连续贯穿指定的字节数。 通过 PLC 变量表或在分配列表中通过单击“保持性”(Retain) 工具栏图标指定该值。 输入从 MB0 开始保留的 M 字节个数。

注意: 对于任何块,都可通过在“程序块”(Program blocks) 文件夹中选择块,然后选择工具 > 分配列表”(Tools > Assignment list) 菜单命令来显示分配列表。

  • 函数块(FB)的变量: 如果创建 FB 时选择了“优化”(Optimized),则该 FB 的接口编辑器将包含“保持性”(Retain) 列。 在该列中,可以为每个变量分别选择“保持性”(Retentive)、“非保持性”(Non-Retentive) 或“在 IDB 中设置”(Set in IDB)。 在程序编辑器中放置该 FB 时创建的背景 DB 中也将显示该保持性列。 在优化的 FB 中,如果在变量的“保持性”(Retain) 选项中选择“在 IDB 中设置”(Set in IDB)(在背景数据块中设置),那么只能更改背景 DB 接口编辑器中某个变量的保持性状态。

如果创建 FB 时选择了“标准 - 与 S7-300/400 兼容”(Standard - compatible with S7- 300/400),则该 FB 的接口编辑器中不会包括“保持性”(Retain) 列。 在程序编辑器中插入该 FB 时创建的背景 DB 会显示“保持性”(Retain) 列,并且该列可以编辑。 在这种情况下,为任何变量选择“保持性”(Retain) 选项都会导致选择所有变量。 同样,为任何变量取消选择该选项都会导致取消选择所有变量。 对于组态为“标准 - 与 S7-300/400 兼容”(Standard - compatible with S7-300/400) 的 FB,可以在背景 DB 编辑器中更改保持性状态,但所有变量会同时设置为相同的保持性状态。

创建 FB 后,“标准 - 与 S7-300/400 兼容”(Standard - compatible with S7-300/400) 的选项将无法更改。 创建 FB 时,只能选择该选项。 要确定现有 FB 是否组态了“优化”(Optimized) 或“标准 - 与 S7-300/400 兼容”(Standard - compatible with S7-300/400),请在项目树中右键单击该 FB,选择“属性”(Properties),然后选择“特性”(Attributes)。 如果“优化块访问”(Optimized block access) 复选框为选中状态,则说明块已优化。 否则为标准块且与 S7-300/400 CPU 兼容。

  • 全局数据块的变量:在保持性状态分配方面,全局DB 与 FB 类似。 根据块访问设置情况,用户可以定义全局数据块的单个变量或所有变量的保持性状态。

–   如果在DB创建时选择“优化”(Optimized),则可以设置每个单独变量的保持性状态。

– 如果在创建 DB 时选择“标准 - 与 S7-300/400兼容”(Standard - compatible with S7- 300/400),则该保持性状态的设置将适用于该 DB 的所有变量;即变量要么都具有保持性,要么都没有。

该 CPU 最多支持 10240 字节的保持性数据。 要了解可用保持性字节数,请在 PLC 变量表或分配列表中单击“保持性”(Retain) 工具栏图标。 尽管这里是为 M 存储器指定保持性范围的地方,但第二个箭头会指示可用于 M 和 DB 的总剩余存储空间。 请注意,要保证该值的准确性,必须编译带有保持性变量的所有数据块。

说明 下载程序不会清除或更改保持性存储器中的现有值。

如果要在下载之前清除保持性存储器,请在下载程序前将 CPU 复位为出厂设定。

系统和时钟存储器

使用 CPU 属性可启用“系统存储器”和“时钟存储器”的相应字节。 程序逻辑可通过这些函数的变量名称来引用它们的各个位。

  • 可以将M存储器的一个字节分配给系统存储器。 该系统存储器字节提供了以下四个位,用户程序可通过以下变量名称引用这四个位:

–  第一个周期: (变量名称“FirstScan”)在启动 OB

完成后的第一次扫描期间内,该位设置为 1。

(执行了第一次扫描后,“首次扫描”位将设置为 0。)

– 诊断状态变化: (变量名称: “DiagStatusUpdate”)在 CPU 记录了诊断事件后的一个扫描周期内设置为 1。 由于直到首次程序循环 OB 执行结束,CPU 才能置位“DiagStatusUpdate”位,因此用户程序无法检测在启动 OB 执行期间或首次程序循环 OB 执行期间是否发生过诊断更改。

–  始终为 1(高)(Always 1 (high)): (变量名称“AlwaysTRUE”),该位始终设置为1。

–  始终为 0(低)(Always 0 (low)): (变量名称“AlwaysFALSE”),该位始终设置为0。

  • 可以将M存储器的一个字节分配给时钟存储器。 被组态为时钟存储器的字节中的每一位都可生成方波脉冲。 时钟存储器字节提供了 8

种不同的频率,其范围从 0.5 Hz(慢)到 10 Hz(快)。 这些位可作为控制位(尤其在与沿指令结合使用时),用于在用户程序中周期性触发 动作。

CPU 在从 STOP 模式切换到 STARTUP 模式时初始化这些字节。 时钟存储器的位在STARTUP和RUN模式下会随CPU 时钟同步变化。

覆盖系统存储器位或时钟存储器位时的风险

改写系统存储器或时钟存储器的各个位可能会破坏这些功能中的数据,同时还可能导致 用户程序错误运行,进而造成设备损坏和人员伤害。

因为时钟存储器和系统存储器都不是预留的 M存储器,所以指令或通信可以写入这些单元并破坏其中的数据。避免向这些单元写入数据以确保这些功能正常运行,并且应始终为过程或机器使用紧急停止电路。

系统存储器组态了一个字节,其中的各个位会在发生特定事件时启用(值 = 1)。

西门子PLC CPU存储器怎么管理

表格 5- 17 系统存储器

西门子PLC CPU存储器怎么管理

继续阅读
weinxin
plc入门知识问答
所有PLC工程师都会关注的微信公众账号,只需输入您的问题,就会有答案
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: