s7-300plc过程映像区详解

上传人:第*** 文档编号:31319842 上传时间:2018-02-06 格式:DOC 页数:5 大小:53.50KB
返回 下载 相关 举报
s7-300plc过程映像区详解_第1页
第1页 / 共5页
s7-300plc过程映像区详解_第2页
第2页 / 共5页
s7-300plc过程映像区详解_第3页
第3页 / 共5页
s7-300plc过程映像区详解_第4页
第4页 / 共5页
s7-300plc过程映像区详解_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《s7-300plc过程映像区详解》由会员分享,可在线阅读,更多相关《s7-300plc过程映像区详解(5页珍藏版)》请在金锄头文库上搜索。

1、一、概念W 过程镜像区输入字PIW 立即输入区字PIW 不用等系统刷新,立即读入IW 等待系统刷新后读入 二、PIW/IW,PQW/QW引用西门子论坛一位大侠的比方加深理解:“打个比如,你吃饭的时候要吃菜, 你一般都是将菜从锅里乘到碗里, 再从碗里夹着吃, 可是有时候饿得太急了,你顾不了那么多,直接就从锅里夹菜吃了。这个 PIW 和 IW 其实最终装的都是一个东西,相当于这个“菜”, 只不过 PIW 是锅里的菜, 而 IW 是碗里的菜! 要注意了,上面的动作已经说明,直接从锅里夹菜的话,会“实时些”,菜也热一些。但是本质上还都是菜” PIW/IW,PQW/QW 两者有什么区别?1、I/O 区可

2、以对“位”寻址,而 PI 和 PQ 区不能,PI 和 PQ 最小寻址单位是 BYTE,如PIB256、PQW300.2、I/O 区,按西门子的定义应该叫 “过程映像区”,本身这个过程映像区自己也是带有外设地址的!比如 IB0,它对应一个 PIB0, 它俩不同之处在于每个 PLC 扫描周期的开始,系统会将 PIB0 里的数据刷新到 IB0 内, 然后在接下来的一个扫描周期之内,IB0 的数据均保持不变(当然,如果调用 SFC 在程序内刷新输入端口,那又当别论) ,而 PIB0 则是实时的,即完全物理意义上的端口! 所以我们看到一些 S7-300 标出最大 I/O 寻址为 1024 位,算算看,一

3、块 CPU 带四个机架,每个机架装满八个模块, 每个模块最大 32 点,那么4*8*32=1024 位=128BYTE . .超过这个以后就是外设通道了,就只能以 PI 或者 Q 来表示了,而且这就意味着不对直接对“位”寻址了! 如果你非要对位寻址,怎么办? 很好办:L PIB256T MB0那么 MB0 里的位就对应了 PIB256 的八位。三、过程映像区详解问题描述当在程序中使用 I. 或 Q. 对输入、输出进行访问时,实际上并未直接访问输入、输出模板,而是访问 CPU 的系统存储区。此 I/ Q 区分别被称作输入过程映像区 (PII)和输出过程映像区 (PIQ)。只有在过程映像区刷新时刻

4、,I 区和 Q 区的内容才与输入/输出的实际值相同,所以它们并不能直接反映输入/输出的实际状态。因此,在某些需要对输入/输出进行较为实时处理的场合,需要选择使用直接外设寻址。若将 I/O 输入输出模块 I/O 地址分配在过程映像区以外,必须通过外设寻址方式访问这些 I/O。为了分清楚,以下对过程映像和外设寻址进行分别介绍。OB1 过程映像(OB1 过程映像就是普通的 PLC 的输入、输出区。PLC 采用循环执行用户程序的方式,每次循环 CPU 将 OB1 过程映像输出区的数据写到输出模块;读取输入模块的输入状态,保存到 OB1 过程映像输入区;然后执行用户程序。这种工作方式不能马上将逻辑运算得

5、到的输出点的值送到输出模块,使用的输入点的状态也不是最新的,因此造成了输入、输出的响应延迟。 )任何 CPU 均可使用 OB1 过程映像 (OB1-PI)。OB1 过程映像在每个 OB1 循环周期之前被更新,CPU 的程序依照以下顺序循环执行:1. 执行 CPU 操作系统的内部工作。2. 将 OB1 中输出过程映像区的值写入到实际模板输出。3. 从模板读取实际输入值至 OB1 中的输入过程映像区。4. 执行 OB1 的程序。5. 执行第一步操作,开始下一次循环操作系统自动完成对 OB1 过程映像 (OB1-PI) 的读写。对于 S7-400 CPUs ,可以禁用 OB1 过程映像循环更新 (H

6、W Config 硬件组态界面 CPU 右键 选择 Object Properties Cycle/Clock memory 去除 Update OB1 process image cyclically 选项勾),同时必须在用户程序中使用 SFC 26 (UPDAT_PI) 和 SFC 27 (UPDAT_PO) 对 OB1 过程映像进行更新。以下是 OB1 过程映像区循环更新的主要特点: 循环时间越短,OB1 过程映像的更新频率越快。 过程映像区的更新时间长短依情况而定,它取决于以下因素:o OB1 过程映像增加的地址数量o 与单个模板通讯的速率o 用于寻址单个模板的通讯协议类型 (MPI,

7、 PROFIBUS, .) 设置的 OB1 过程映像越大 ( 仅部分 CPU 可设置),映像区中所包含的模板通道数越多则循环时间也随之增长。过程映像分区 ( PIP )除 OB1 过程映像之外,在某些类型 CPU 中还可以将输入/输出地址分配至过程映像分区 (PIP) 。不能将同一输入/输出地址既分配至 OB1 过程映像,又分配至过程映像分区 (PIP),只能二选一。过程映像分区的更新有以下两种方式: 在用户程序中通过调用 SFC 26 (UPDAT_PI) 和 SFC 27 (UPDAT_PO) 将 PIP 分配至 OB当使用 SFC 进行更新时,可对过程映像分区进行一致性数据读写,数据长度

8、取决于 CPU 的类型。相关信息可参照 SFC 功能块的 S7 在线帮助。在硬件组态中,可以对 OB 的过程映像分区进行参数设置 (右键单击 CPU 选择Object Properties Cycle/Clock bit memory). 可将过程映像分区分配至 OB 块。当该 OB 块被调用时,与之有关的过程映像分区读入输入值。当 OB 块处理完毕,与之相关的过程映像分区立即将输出值写至输出。请参考在线帮助了解 OB 块的执行情况 (分配至 OB 61 至 64 的过程映像分区不会被自动更新) 。外设寻址过程映像区不能涵盖整个 CPU 的输入/输出地址区域。如, CPU 315-2DP (6

9、ES7315-2EG10-0AB0) 的 I/O 地址总量最大为 2048 字节,但其过程映像区的大小为 128 字节。一旦所要使用的模板 I/O 地址超出了过程映像区范围,就必须使用外设寻址。外设地址使用户程序与外设地址进行快速数据交互。这一点对模拟量和过程报警尤为重要。通过外设寻址同样可以访问已被分配过程映像的 I/O 地址区域。外设寻址意指直接访问外设模板,在地址前加上字母 P 来表示: PIB Peripheral Input Byte 外设输入字节 PQB Peripheral output Byte 外设输出字节 PIW Peripheral Input Word 外设输入字 PQ

10、W Peripheral output Word 外设输出字 PID Peripheral Input Double-word 外设输入双字 PQD Peripheral Output Double-word 外设输出双字下列情况需要使用外设寻址: 模板地址未分配至过程映像区 用户程序需要比过程映像更为实时的输入值 输出值需要即刻输出至模板 (至少一个字节)使用外设寻址时请注意:1. 直接访问外设地址比访问过程映象所需时间长。如:CPU 317-2 DP: L IB x 0.05 sL PIB x 15.01 s L PIB 1 和L PIW 2 这两条指令获得的数据不一致,而 L PID 1

11、 则可保证 PIB 1 至 PIB 4 数据的一致性。如果需要直接读取大于 4 个字节的连续地址区域,可以使用 SFC 14 (DPRD_DAT) ,如要向模板写入大于 4 个字节的连续数据,可以使用 SFC 15 (DPWR_DAT)。 直接读写外设输入/输出地址必须整个字节的读取,而不能对外设进行位寻址。在一些应用中可以利用对应于同一地址的外设寻址和过程映像的差异。其差异表现在,在用户程序中外设寻址直接写至模板输出,而过程映像则保持此次的更新值。如:Fig. 01 A Q 1.0 语句中 Q 1.0 的信号状态与上一次程序执行时的外设访问值保持相同,而不随本次程序中 PQB 1 的值发生变化。对于输入,可以使用装载、传送指令,来更新过程映像的值。如:Fig. 02利用 MC7 指令可以对过程映像区进行编辑。I 和 Q 区可以存储外设信号,以对外设信号进行预处理或进一步处理。 当然,M、D 或 L 区也可实现此功能。 外设输入地址为只读 外设输出地址为只写

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号