暂存器(Scratchpad memory)-定义以及可能的应用领域

问题:
何为暂存器(Scratchpad memory),使用时需注意什么?在哪些块中使用暂存器?何时保存或加载暂存器中的中间结果到一个报警OB,该过程如何实现?

解答:
暂存器是从标志200.0到255.7的整个标志区。单个暂存器在一个应用程序中有几个功能,并且在程序的几个位置用不同的数据源描述。它们作为标准功能块的计算和逻辑操作的临时内存。

如果想在应用程序中使用暂存器,请注意以下几点:

  • 请不要将高速暂存存储器作为固定的分配标志,即使在软件中目前没有使用标准功能块,因为可能在将来需要组态扩展。
  • 操作时,始终假设标准功能块使用所有的高速暂存存储器,因为他们在许多可加载标准功能块中使用。
    关于在标准功能块中使用哪一个暂时存储范围在相应的块手册或相应的块程序包中给出解释。
    集成的功能块以及功能块(特殊功能)的处理和组织不使用暂存器。

  • 不要在块限定之外使用暂存器。这意味着如果在暂存器中存储了一个中间结果,那么可能会在接下来的一个块中不能查询该结果。块的顺序在软件编程过程中可能会发生改变。
  • 如果在软件中执行了一个报警步骤,并且报警OB在CPU的命令边界内调用,那么必须将暂存器保存到块,并在结束时重新加载。
    如果在循环程序和报警OB中使用了暂存器,则须一直将暂存器保存到报警OB,并且加载,或者在调用块时如此操作(如,标准功能块)
    然而,如果CPU组态时,报警OB没有中断循环程序,通常情况下都是如此,那么在命令边界而不是在块结束时,保存/加载暂存器是没有必要的,倘若在块程序结束之外的循环程序中没有使用暂存器。

    另一种避免将暂存器保存或加载到报警OB的方法是在使用暂存器的块中禁止报警。然而,几个标准功能块却忽略该设置。

    要保存和加载暂存器,组织块OB 190-193可以任意使用(CPU 922, 928, 928B 和 945)。对于CPU941-944 和 948,可用包含在程序包基本功能中的标准功能块FB 38<save?/b>和FB39<load?/b>。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc340617.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论