[西门子] 【讨论】在组织块中使用过程映像分区

[复制链接]
查看1685 | 回复1 | 2010-2-28 21:58:00 | 显示全部楼层 |阅读模式
问题:如何在中断 OB 中使用或更新过程映像分区?
解答:组织块构成了操作系统和用户程序之间的接口。它们由操作系统基于中断或事件进行调用。在过程映像访问期间,在分配给过程映像的 OB 的处理时间段内,CPU 可以使用一个一致的过程信号映像。如果在发生错误或正在调用中断 OB 时通过过程映像访问输入和输出,则属于该 OB 的过程映像提供的数值将会在所有时间一直可用。独立于其它 OB (例如 OB1) 中的程序及其过程映像,过程映像分区允许用户在报警 OB 中以最新的形式响应属于该程序的相关输入数据,或者通过输出尽可能快地影响相关过程。如果触发信号和相应的数值都放置在过程映像分区中,则相关数值对相应的 OB 运行系统保持一致性。过程映像在包含相应 OB 的过程映像分区中更新,其方式与 OB1 中的更新方式完全相同。
此更新的过程。

在 HW CONFIG 中将过程映像分区 (PIP) 分配给相关的输入/输出模块。
为此,双击模块。选择地址标签,定义模块的过程映像分区。

图 1:选择 PIP

然后可以将此过程映像分区分配给某个 OB。
为此,双击 CPU,在“Properties”下面选择其中一个中断标签。您可以在此处将该 PIP 分配给任何一个 OB。

图 2:将 PIP 分配给 OB

在调用此 OB 时,自动更新 PIP。
每一个 PIP 可以包含多个 I/O 地址或模块分配,虽然它一次只能分配给一个 OB。已经分配给过程映像分区的输入和输出地址不再属于输入和输出的 OB1 过程映像。对于 OB1 过程映像和所有其它过程映像分区,所有输入和输出地址只能分配一次。
此外,还可以使用 SFC 26“UPDAT_PI”或 SFC 27“UPDAT_PO”在程序的任意位置更新过程映像,这样该 PIP 就不必再由系统更新了。
注意事项:PIP 不能自动更新。只有调用 SFC 或者启动和结束相关 OB 时才会进行更新。如果在我们的程序中请求了 OB 40,则会在此点实时读取相应的输入。在处理 OB 40 期间,这些当前值用于输入。时钟中断 OB 的过程映像分区不是由系统更新的,虽然它们与 OB (OB61-OB64) 是连接在一起的。STEP 7
.....查看全部

以上是引用“在组织块中使用过程映像分区” 时间:2008-7-27 14:15:00
内容精彩
tlqsw | 2012-3-14 18:51:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则