快捷搜索:  汽车  科技

s7300指令解析(S7-300400进阶笔记2过程映像区的分类及其更新机制)

s7300指令解析(S7-300400进阶笔记2过程映像区的分类及其更新机制)S7-300系列PLC只有OB1-PI一个过程映像,与之相对的S7-400系列PLC,处理OB1-PI外,还可为其输入/输出地址分配最多15个过程映像PIP。如图2所示,CPU 416-2DP总共可有8个过程映像PIP:PIP1-PIP8。2、过程映像分区PIP 过程映像区又可分为两类:OB1过程映像OB1-PI和过程映像分区PIP。1、OB1过程映像OB1-PIS7系列的CPU都可使用OB1过程映像区OB1-PI。尤其是300系列CPU,只有OB1-PI。 OB1-PI的过程映像在每个OB1的循环扫描周期的开始阶段,将输出映像区的值写入输出模块,并将输入模块的值读入输入映像区。这一过程是CPU的操作系统自动完成的。

前言在上一篇文章《S7-300/400进阶笔记1:PLC程序的循环处理方式及其相关内容简介》中,我们介绍了PLC的程序执行方式——循环周期扫描。文中提到了过程映像区,本文将对过程映像区做进一步的介绍。
一、过程映像区

过程映像区从输入、输出的角度,分为以下两类:

  • 输入过程映像区PII
  • 输出过程映像区PIQ

一般来说,CPU不会直接读、写输入模块和输出模块(外设寻址除外),而是从PII中读数据,然后经过程序处理后,将运行结果写入PIQ即可。然后,输入/输出模块仅和PII、PIQ进行数据交换即可。

以图1为例,程序中I0.0、I0.1、I0.2实际上访问的是输入过程映像区PII;Q0.0实际访问的是输出过程映像区PIQ。

s7300指令解析(S7-300400进阶笔记2过程映像区的分类及其更新机制)(1)

图1 电机启停控制

过程映像区又可分为两类:OB1过程映像OB1-PI过程映像分区PIP。

1、OB1过程映像OB1-PI

S7系列的CPU都可使用OB1过程映像区OB1-PI。尤其是300系列CPU,只有OB1-PI。 OB1-PI的过程映像在每个OB1的循环扫描周期的开始阶段,将输出映像区的值写入输出模块,并将输入模块的值读入输入映像区。这一过程是CPU的操作系统自动完成的。

2、过程映像分区PIP

S7-300系列PLC只有OB1-PI一个过程映像,与之相对的S7-400系列PLC,处理OB1-PI外,还可为其输入/输出地址分配最多15个过程映像PIP。如图2所示,CPU 416-2DP总共可有8个过程映像PIP:PIP1-PIP8。

s7300指令解析(S7-300400进阶笔记2过程映像区的分类及其更新机制)(2)

图2 CPU416-2DP,8个PIP


二、过程映像的分配

在300PLC中,只有OB1-PI一个过程映像区,无所谓分配。但400PLC中,即有OB1-PI,又有PIP,实际应用中,就要根据需要进行分配了。

过程映像分配的基本原则:

同一个输入/输出地址不能既分配给OB1-PI,又同时分配给PIP,只能分配到一个过程映像中。

如图3为分配过程映像的步骤。

s7300指令解析(S7-300400进阶笔记2过程映像区的分类及其更新机制)(3)

图3 分配过程映像


三、过程映像区的更新

1、300PLC过程映像区的更新

300PLC只有OB1-PI,其过程映像区在循环扫描开始后,先将PIQ的数据写入输出模块,再将输入模块的数据读入PII即可。

2、400PLC过程映像区的更新

过程映像分区的更新有以下两种方式:

  • 将PIP分配给OB块

如图2所示,可以给中断组织块分配一个PIP,如给硬件中断OB41分配PIP1。当中断发生,OB41被调用时,其关联的过程映像分区(PIP1)从与之相关的输入模块读入输入值;当该OB块执行完毕时,PIP1将值写入与之相关的输出模块。

  • 用户程序中调用SFC26、SFC27进行更新

400的CPU中固化了两个系统功能SFC26 和SFC27,分别用于刷新过程映像输入和过程映像输出。在程序中调用它们,也可以实现过程映像区的更新。使用SFC26、SFC27进行更新时,可对过程映像分区进行一致性数据读写,数据长度取决于CPU的类型。

  • 另外,在s7-400系列PLC中,可以禁用OB1过程映像的循环更新,如图4所示。此时,必须在用户程序中使用SFC26、SFC27对过程映像进行更新。

s7300指令解析(S7-300400进阶笔记2过程映像区的分类及其更新机制)(4)

图4 禁用OB1-PI的循环更新

猜您喜欢: