寻址(S7-300, S7-400) GEO_LOG: 确定模块的起始地址 (S7-300, S7-400) 说明信号模块的通道已知道该模块的相关模块插槽。 通过“GEO_LOG”,可确定该模块的相关起 始地址,即Zui小的 I 或 O 地址。如果针对电源模块或具有封装地址的模块 (ET 200S) 使用指令“GEO_LOG”,则将返回诊断地 址。 参数下表列出了指令“GEO_LOG”的参数: 参数 声明 数据类型 存储区 说明 MASTER Input INT I、Q、M、D、L 或常量 区域 ID: • 0,如果集中式配置中的插槽位于:机 架 0 至 3(对于 S7-300)或 0 至 21 (对于S7-400) • 1 到 32: 相关现场设备的 DP 主站系 统 ID,如果插槽位于 PROFIBUS 上的 现场设备上 •100 到 115: 相关现场设备的 PROFINET IO 系统 ID,如果插槽位于 PROFINET 上的现场设备上STATION Input INT I、Q、M、D、L 或 常量 • 机架号,如果区域标识符 = 0。 • 现场设备的设备号,如果区域ID > 0 SLOT Input INT I、Q、M、D、L 或 常量 插槽号 SUBSLOT Input INTI、Q、M、D、L 或 常量 子模块插槽(如果不能插入子模块,则必 须在此处输入“0”) RET_VAL 返回 INTI、Q、M、D、L 错误信息 LADDR Output WORD I、Q、M、D、L 模块的起始地址 LADDR 的位 15指示是否存在输入地址 (位 15 = 0)或输出地址(位 15 = 1)。
LOG_GEO:确定属于逻辑地址的槽位 (S7-300, S7-400) 说明使用此指令,可以确定属于某个逻辑地址的模块插槽以及在用户数据地址空间中的偏移。 参数 下表列出了指令“LOG_GEO”的参数: 参数声明 数据类型 存储区 说明 LADDR Input WORD I、Q、M、D、L 或常 数 模块的任何逻辑地址 位 15指示是否存在输入地址(位 15 = 0)或输出地址(位 15 = 1)。 RET_VAL 返回 INT I、Q、M、D、L 错误信息AREA Output INT I、Q、M、D、L 区域 ID: 指示如何编译其余输出参 数。参数 声明 数据类型 存储区 说明MASTER Output INT I、Q、M、D、L 区域 ID: • 0,如果插槽位于集中式组态中。 机架 0 至 3(对于S7-300)或 0 至 21(对于 S7-400) • 1 到 32:相关现场设备的 DP 主站 系统 ID,如果插槽位于PROFIBUS 上的现场设备上 • 100 到 115: 相关现场设备的 PROFINET IO 系统 ID,如果插槽 位于PROFINET 上的现场设备上 STATION Output INT I、Q、M、D、L 以下条件时的机架编号: • 区域 ID =0 • 现场设备的设备号,如果区域 ID > 0 SLOT Output INT I、Q、M、D、L 插槽号 SUBSLOTOutput INT I、Q、M、D、L 接口模块号 OFFSET Output INT I、Q、M、D、L相关模块的用户数据地址区域中的偏 移 有关有效数据类型的更多信息,请参见“有效数据类型概述。RD_LGADR: 确定模块的所有逻辑地址(S7-300, S7-400) 说明 使用数据块、集中式子模块或 PNIO 子模块的逻辑地址。 使用此指令来确定此模块和子模块中所有声明的逻辑地址。 此前已对逻辑地址到模块和子模块的分配进行组态。 指令 “RD_LGADR”可按升序在参数 PEADDR 或PAADDR 中输入已确定的逻辑地址。 参数 下表列出了指令“RD_LGADR”的参数: 参数 声明 数据类型 存储区 说明 IOIDInput BYTE I、Q、M、D、L 或常 量 地址区域标识符: • B#16#00:LADDR 第 15 位指定是存在输入地址(第 15 位 = 0)还是 输出地址(第 15 位 = 1)。 • B#16#54 = 外设输入 (PI) •B#16#55 = 外设输出 (PQ) LADDR Input WORD I、Q、M、D、L 或常 量 一个逻辑地址 RET_VAL返回 INT I、Q、M、D、L 错误信息 PEADDR Output ANY I、Q、M、D、L PI地址数组,数组元素的数据类型必须 是 WORD。 PECOUNT Output INT I、Q、M、D、L 返回的 PI地址数。GADR_LGC: 查询模块的逻辑起始地址 (S7-300, S7-400) 说明基于信号模块的通道,可以知道相应模块插槽和该模块的用户数据地址区域中的偏移。 通过指令“GADR_LGC”,可确定该模块的相关逻辑基本地址,即Zui小的 I 或 Q 地址。 如果针对电源模块或具有封装地址的模块 (ET200S) 使用指令“GADR_LGC”,则将返回诊断地 址。下表列出了指令“GADR_LGC”的参数: 参数 声明 数据类型 存储区说明 SUBNETID Input BYTE I、Q、M、D、L 或常 量 区域 ID: • 0,如果插槽是机架 0(中央机架)或机架 1 至 21(扩展机架)之一。 • 相应分布式 I/O 系统的 DP 主站系统 ID,如果插槽位于一台分布式 I/O 设备上。 RACK Input WORD I、Q、M、D、L 或常 量 • 机架号,如果区域标识符为 0。 • 分布式 I/O设备的设备号,如果区域 标识符 > 0。 SLOT Input WORD I、Q、M、D、L 或常 量 插槽号 SUBSLOTInput BYTE I、Q、M、D、L 或常 量 子模块插槽(如果不能插入子模块,则 必须在此处输入“0”) SUBADDRInput WORD I、Q、M、D、L 或常 量 模块的用户数据地址区域中的偏移 RET_VAL 返回 INT I、Q、M、D、L错误信息 IOID Output BYTE I、Q、M、D、L 地址区域标识符: • B#16#54 = 外设输入 (PI) •B#16#55 = 外设输出 (PQ) 对于混合模块,此指令可提供低位地址 的区域标识符。如果地址是相同的,则 此指令将提供标识符B#16#54。 LADDR Output WORD I、Q、M、D、L 模块的逻辑基本地址有关有效数据类型的更多信息,请参见“有效数据类型概述。下表列出了指令“LGC_GADR”的参数: 参数 声明 数据类型 存储区 说明IOID Input BYTE I、Q、M、D、L 或常 量 地址区域标识符: • B#16#00:LADDR 的第 15 位指定是存在输入地址(第 15 位 = 0)还 是输出地址(第 15 位 = 1)。 • B#16#54 = 外设输入 (PI) •B#16#55 = 外设输出 (PQ) 如果该模块是混合模块,则必须指定低 位地址的区域标识符。 如果地址相同, 则必须指定B#16#54 。 LADDR Input WORD I、Q、M、D、L 或常 量 逻辑地址 对于混合模块,必须指定两个地址中较低的地址。 RET_VAL 返回 INT I、Q、M、D、L 错误信息 AREA Output BYTE I、Q、M、D、L 区域ID: 指示如何编译其余输出参数。 RACK Output WORD I、Q、M、D、L 机架号 SLOT Output WORDI、Q、M、D、L 插槽号 SUBADDR Output WORD I、Q、M、D、L 相关模块的用户数据地址区域中的偏 移。有关有效数据类型的更多信息,请参见“有效数据类型概述输出参数 AREA 指定如何编译输出参数 RACK、SLOT 和 SUBADDR。下表说明了这种依赖性。 AREA 的值 系统 RACK、SLOT 和 SUBADDR 的含义 0 S7-400 RACK :机架号SLOT : 插槽号 SUBADDR : 逻辑地址与逻辑基本地址间的差值。 1 S7-300 RACK :机架号 SLOT : 插槽号SUBADDR : 逻辑地址与逻辑基本地址间的差值。 2 DP RACK :(低字节): 设备号 RACK : (高字节): DP主站 ID SLOT : 站中的插槽号 SUBADDR : 相关模块的用户数据地址区域中的偏移 3 S5-P 区域 RACK :机架号SLOT : 插槽盒的插槽号 SUBADDR : S5 x 区域中的地址 4 S5-Q 区域 RACK :机架号 SLOT :插槽盒的插槽号 SUBADDR : S5 x 区域中的地址 5 S5-IM3 区域 RACK :机架号 SLOT : 插槽盒的插槽号SUBADDR : S5 x 区域中的地址 6 S5-IM4 区域 RACK :机架号 SLOT : 插槽盒的插槽号 SUBADDR: S5 x 区域中的地址”。 说明 如果在冗余模式下使用 S7-400H 自动化系统,并在参数 LADDR中调用指令“LGC_GADR”时 指定所连接的 DP 从站中某个模块的逻辑地址,则将在参数 RACK 中提供处于激活状态的通 道的DP 主站系统 ID。 如果不存在处于激活状态的通道,则将相关 DP 主站系统的 DP 主站 系统 ID 输出到主站 CPU。