GETIO_PART: 读取过程映像区域 (S7-300, S7-400) 说明使用指令“GETIO_PART”,可以一致性读取一个 DP 标准从站/PROFINET IO 设备的部分过程映 像。"GETIO_PART”调用指令“UBLKMOV”。 说明 必须为在其中调用“GETIO_PART”的 OB指定一个过程映像部分输入表。 在调用“GETIO_PART” 之前,必须为该过程映像部分输入表添加相关的 DP 标准从站或相关的PROFINET IO 设备。 如果 CPU 不能识别任何过程映像部分,或想在 OB 1 中调用“GETIO_PART”,则在调用“GETIO_PART”之前,必须为该过程映像输入表添加相关的 DP 标准从站或相关的 PROFINET IO 设备。 可以使用参数OFFSET 和 LEN,为地址为 ID 的组件指定要读取的过程映像区域部分。 • 如果数据传送过程中没有出现错误,则 ERROR =FALSE,所读取的数据将存储到目标区域 INPUTS。 • 如果数据传送过程中出现错误,则 ERROR = TRUE,STATUS接收到“UBLKMOV”的错误信 息。 • 如果目标区域(参数 INPUTS)小于 LEN,则传送 INPUTS能够接收的尽可能多的字节。 ERROR = FALSE。 如果目标区域大于 LEN,则将写入目标区域的前 LEN 个字节。ERROR= FALSE。 说明 "GETIO_PART”不检查过程映像输入表中两个数据间的定界符是否属于不同的 PROFIBUS DP 或PROFINET IO 组件。 这意味着必须保证通过 OFFSET 和 LEN 指定的过程映像区域属于 同一个组件。读取多个组件的数据会影响与其它制造商系统之间的可传输性。 参数 下表列出了指令“GETIO_PART”的参数: 参数 声明 数据类型存储区 说明 ID Input DWORD I、Q、M、D、L 或 常量 • 低位字: DP 从站/PROFINET IO 组件(模块或子模块)的逻辑地址 • 高位字: 无关 OFFSET Input INT I、Q、M、D、L 或 常量组件过程映像中要读取的第一个字节 的编号(Zui小值: 0)
参数 声明 数据类型 存储区说明 LEN Input INT I、Q、M、D 或常数 要读取字节的数量 STATUS Output DWORD I、Q、M、D、L存储“UBLKMOV”的错误信息,格式 为 DW#16#40xxxx00 (ERROR = TRUE 时)ERROR Output BOOL I、Q、M、D、L 错误显示: ERROR = TRUE, 调用“UBLKMOV”发生错误时。 INPUTS InOut ANY I、Q、M、D 读取数据所在的目标区域。 • 如果目标区域小于 LEN,则传送INPUTS 能够接收的尽可能多的字 节。ERROR = FALSE。 • 如果目标区域大于 LEN,则将写入 目标区域的前 LEN个字节。 ERROR = FALSE。 有关有效数据类型的更多信息,请参见“有效数据类型概述 (页 255)”。 参数STATUS 和 ERROR 参见指令“UBLKMOV”。SETIO_PART: 传送过程映像区域 (S7-300, S7-400)说明 使用指令“SETIO_PART”,可以一致性地将数据从源区域 OUTPUTS,传送到一个 DP 标准从站/ PROFINETIO 设备的部分过程映像区域。 "SETIO_PART”调用指令“UBLKMOV”。 说明 必须为在其中调用“SETIO_PART”的OB 指定一个过程映像部分输入表。 在调用“SETIO_PART” 之前,必须为该过程映像部分输出表添加相关的 DP 标准从站或相关的PROFINET IO 设备。 如果 CPU 不能识别任何过程映像部分,或想在 OB 1 中调用“SETIO_PART”,则在调用“SETIO_PART”之前,必须为该过程映像输出表添加相关的 DP 标准从站或相关的 PROFINET IO 设备。可以使用参数OFFSET 和 LEN,为地址为 ID 的组件指定要写入的过程映像区域部分。 • 如果数据传送过程中没有出现错误,则 ERROR =FALSE。 • 如果数据传送过程中出现错误,则 ERROR = TRUE,STATUS 接收到“UBLKMOV”的错误信 息。 •如果源区域(参数 OUTPUTS)小于 LEN,则传送 OUTPUTS 能够接收的尽可能多的字节。 ERROR = FALSE。如果源区域大于 LEN,则从 OUTPUTS 传送前 LEN 个字节。ERROR = FALSE。 说明"SETIO_PART”不检查过程映像输入表中两个数据间的定界符是否属于不同的 PROFIBUS DP 或 PROFINET IO组件。 这意味着必须保证通过 OFFSET 和 LEN 指定的过程映像区域属于 同一个组件。如果写入多个组件的数据会影响与其它制造商系统之间的可传输性。 参数 下表列出了指令“SETIO_PART”的参数: 参数 声明数据类型 存储区 说明 ID Input DWORD I、Q、M、D、L 或常 量 • 低位字: DP 从站/PROFINET IO组件 (模块或子模块)的逻辑地址 • 高位字: 无关 OFFSET Input INT I、Q、M、D、L 或常 量组件过程映像中要写入的第一个字节的 编号(Zui小值: 0) LEN Input INT I、Q、M、D、L 或常 量 要写入字节的数量STATUS Output DWORD I、Q、M、D、L 存储“UBLKMOV”的错误信息,格式为DW#16#40xxxx00(ERROR = TRUE 时)参数 声明 数据类型 存储区 说明 ERROROutput BOOL I、Q、M、D、L 错误显示: ERROR = TRUE, 调用“UBLKMOV”发生 错误时。OUTPUTS InOut ANY I、Q、M、D 要写入数据的源区域。 • 如果源区域小于 LEN,则传送 OUTPUTS能够接收的尽可能多的字 节。ERROR = FALSE。 • 如果源区域大于 LEN,则从 OUTPUTS 传送前 LEN 个字节。ERROR = FALSE。 有关有效数据类型的更多信息,请参见“有效数据类型概述 (页 255)”。 参数 STATUS和 ERROR 参见指令“UBLKMOV”。 RALRM: 接收中断 (S7-300, S7-400) RALRM 说明(S7-300, S7-400) 说明 该指令从 I/O 模块(集中式结构)或从 DP 从站/PROFINET IO设备组件接收带有所有对应信 息的中断;并将此信息提供给其输出参数。 输出参数中的信息包括所调用 OB 的启动信息以及中断源的信息。只能在由 CPU 操作系统以及要检查 I/O 中断的结果启动的中断 OB 中调用该指令。 说明 如果在其启动事件非 I/O 中断的OB 中调用该指令,则该指令提供给输出的信息较少。 注:在不同 OB 中调用该指令,需要使用不同的背景 DB。如果要检查由相关中断OB 外的 “RALRM”调用生成的数据,则每个 OB 启动事件需要使用单独的背景 OB。说明指令“RALRM”的接口与标准“PROFIBUS and PROFINET Guideline CommunicationFunction Blocks on PROFIBUS DP and PROFINET IO”中定义的“RALRM”函数块接口相同。调用“RALRM” 有三种模式可以调用该指令(MODE)。具体解释见下表。 MODE RALRM ... 0 ... 表示该输出参数ID 内触发中断并将输出参数 NEW 置为 TRUE 的组件。 1 ... 写入所有输出参数,而不考虑触发中断的组件。 2 ...检查输入参数 F_ID 中指定的组件是否已触发中断。 • 如果没有触发,则 NEW = FALSE • 如果已触发,则 NEW =TRUE 且已写入所有其它输出参数。 参数 下表列出了“RALRM”指令的参数: 参数 声明 数据类型 存储区 说明 MODEInput INT I、Q、M、D、L 或常 量 模式 F_ID Input DWORD I、Q、M、D、L 或常 量要从中接收中断的组件(模块)的逻辑 起始地址 MLEN Input INT I、Q、M、D、L 或常 量要接收的中断信息的Zui大长度(字节) NEW Output BOOL I、Q、M、D、L 接收了新中断。 STATUS(页 7670) Output DWORD I、Q、M、D、L 该指令或 DP 主站的错误代码 ID OutputDWORD I、Q、M、D、L 从其中接收中断的组件(模块)的逻辑 启动地址。 第 15 位为 I/O ID:0 = 输入地址,1 =输 出地址。 LEN Output INT I、Q、M、D、L 所接收中断信息的长度。