S7-300/400的过程映像分区与中断功能配合,可以显著地减少plc的输入、输出响应时间。过程映像区分为OB1(主程序)过程映像(OB1-PI)和过程映像分区(PIP)。
1.OB1过程映像
OB1过程映像就是普通的PLC的输入、输出区。PLC采用循环执行用户程序的方式,每次循环CPU将OB1过程映像输出区的数据写到输出模块;读取输入模块的输入状态,保存到OB1过程映像输入区;然后执行用户程序。这种工作方式不能马上将逻辑运算得到的输出点的值送输出模块,使用的输入点的状态也不是最新的,因此造成了输入、输出的响应延迟。
2.过程映像分区
可以为S7-400的输入/输出地址分配最多15个过程映像分区 (PIP)。
在硬件组态时,将一块输入模块和一块输出模块组态为属于某个过程映像分区,例如PIP1(见下图)。
打开CPU的属性对话框,在“时刻中断”选项卡,将过程映像分区PIP1分配给OB10(见下图)。
在调用OB10时,CPU首先自动读入被组态为属于过程映像分区PIP1的输入模块的输入值,然后执行OB10中的程序。执行完后,输出值被立即写至被组态为属于PIP1的输出模块。上述过程能保证得到最小的输入、输出响应时间。
除了上述的在调用OB时的过程映像分区更新方式之外,还可以在用户程序中调用SFC 26 (UPDAT_PI) 和SFC 27 (UPDAT_PO)来更新过程映像分区。