目标区域参数 SYS_INST - 结构 用于读取已分配系统资源的目标区域必须在 DB 内。应适当地将目标区域定义为一个具有多 个结构的区域;一个结构包括以下内容: 结构元素 数据类型 说明 SFC_NO WORD由系统资源分配的指令编号 LEN BYTE 结构的长度(字节),包括 SFC_NO 和 LEN: B#16#0C SIG_STATBOOL 信号状态 ACK_STAT BOOL 进入事件的确认状态(正边沿) EV_ID DWORD 报警编号 CMP_IDDWORD 子系统 ID DEL_SI: 删除动态分配的系统资源 (S7-300, S7-400)使用指令“ALARM_DQ”和“ALARM_D”生成报警时动态分配的系统资源的来源 使用“ALARM_DQ (页7881)”和“ALARM_D (页 7879)”生成报警时,操作系统将临时分配系 统存储器中的存储空间。 例如,如果使用 CPU中已存在的“ALARM_DQ (页 7881)”或“ALARM_D (页 7879)”调用来 删除FB,则相应系统资源可能会yongjiu性保持已分配状态。如果使用“ALARM_DQ (页7881)” 或“ALARM_D(页7879)”调用来重新加载 FB,则可能不再会对指令“ALARM_DQ (页7881)” 和“ALARM_D(页 7879)”进行正确处理。 说明可使用“DEL_SI”指令来删除当前正在使用的系统资源。下表列出了指令“READ_SI”的参数: 参数 声明 数据类型 存储区 说明MODE Input INT I、Q、M、D、L 或 常量 作业标识符 允许值: • 1: 读取所有系统资源 • 2: 读取调用EV_ID = ev_id 时分配了 “ALARM_DQ”-/“ALARM_D”= ev_id 的 系统资源。 •3: 读取调用 CMP_ID = cmp_id 时分配 了“ALARM_DQ”-/“ALARM_D”= ev_id 的系统资源。 •0: 后续调用 SI_ID Input DWORD I、Q、M、D、L 或 常量 要读取的系统资源的 ID 允许值: • 0,如果MODE=1 • 报警编号 ev_id,如果 MODE=2 • 用于标识子系统的 ID cmp_id,如果 MODE=3RET_VAL Return INT I、Q、M、D、L 返回值(错误信息或作业状态) N_SI Output INTI、Q、M、D、L 在 SYS_INT 中输出的系统资源数 SYS_INST Output ANY D 用于读取系统资源的目标区域。有关有效数据类型的更多信息,请参见“有效数据类型概述。
"DEL_SI”具有三种可能操作模式,下表对它们进行了说明。 可通过参数 MODE 来设置所需 操作模式。MODE 要删除的已分配给“ALARM_DQ”/“ALARM_D”的系统资源 1 所有(使用 SI_ID:=0来调用“DEL_SI”) 2 调用 “ALARM_DQ” (页 7881)/ALARM_D (页 7879)时分配给 EV_ID:=ev_id 的系统资源(使用 SI_ID:=ev_id 来调用 DEL_SI ) 3 调用“ALARM_DQ” (页 7881)/ALARM_D (页 7879) 时分配有 CMP_ID:=cmp_id 的所有系统资源(使用 SI_ID:=cmp_id 来调用 DEL_SI ) 参数 下表列出了指令“DEL_SI”的参数: 参数 声明 数据类型 存储区说明 MODE Input INT I、Q、M、D、L 或 常量 作业标识符 允许值: • 1: 删除所有系统资源 • 2: 删除调用“ALARM_DQ” (页 7881)/ “ALARM_D (页 7879)”时分配给EV_ID = ev_id 的系统资源 • 3: 删除调用 “ALARM_DQ” (页 7881)/“ALARM_D (页 7879)”时分配给 CMP_ID = cmp_id 的系统资源 SI_IDInput DWORD I、Q、M、D、L 或 常量 要删除的系统资源的 ID 允许值: • 0,如果 MODE=1 • 报警编号ev_id,如果 MODE=2 • 用于标识子系统的 ID cmp_id,如果 MODE=3 RET_VAL Return INTI、Q、M、D、L 错误信息 有关有效数据类型的更多信息,请参见“有效数据类型概诊断 (S7-300, S7-400)RD_SINFO: 读取当前 OB 启动信息 (S7-300, S7-400) 说明 可使用以下指令来读取启动信息: •Zui后调用的且尚未执行完的 OB 的指令 • Zui后启动的启动 OB 的指令 两种情况下都没有时间戳。 如果调用是在 OB 100 或OB 101 或 OB 102 中进行的,则将返 回两个相同的启动信息消息。 参数 下表列出了指令“RD_SINFO”的参数: 参数声明 数据类型 存储区 说明 RET_VAL Return INT I、Q、M、D、L 错误信息 TOP_SI OutputSTRUCT D、L 当前 OB 的启动信息 START_UP_SI Output STRUCT D、L Zui后启动的启动 OB的启动信息。有关有效数据类型的更多信息,请参见“有效数据类型概述 (页 255)”。该指令仅提供一般性的非特定错误信息。一般错误信息及其评估将写入到输出参数“RET_VAL” 中。 另请参见: 通过输出参数RET_VAL 评估错误 (页 184). 参数 TOP_SI 和 START_UP_SI 输出参数 TOP_SI 和START_UP_SI 是两种设置相同的结构。 下表中说明了它们的结构。 结构元素 数据类型 说明 EV_CLASS BYTE • 位0 至 3: 事件 ID • 位 4 至 7: 事件类别 EV_NUM BYTE 事件编号 PRIORITY BYTE 优先级编号(B#16#FE 的含义: OB 不可用或已禁用,或无法在当前操作模式中启 动) NUM BYTE OB 编号 TYP2_3 BYTE数据 ID 2_3: 标识在 ZI2_3 中输入的信息 TYP1 BYTE 数据 ID 1: 标识在 ZI1 中输入的信息 ZI1WORD 附加信息 1 ZI2_3 DWORD 附加信息 2_3 说明 上表中列出的结构元素在内容上与 OB 的临时变量相同。但请注意,各个 OB 的临时变量具有不同的名称和数据类型。 另请注意,每个 OB 的调用接 口都包含有关 OB请求的日期与时间的附加信息。 结构元素 EV_CLASS 的位 4 至 7 包括事件类别。 可以是下面的值: • 1: 来自标准 OB的启动事件 • 2: 来自同步错误 OB 的启动事件 • 3: 来自异步错误 OB 的启动事件 结构元素 PRIORITY提供属于当前 OB 的优先级。 除这两个元素之外,NUM 也很重要。NUM 包含当前 OB 或Zui后启动的启动 OB 的编号。示例 OB80 是Zui后调用的 OB 且尚未处理完,而 OB 100 是Zui后启动的启动 OB。 下表说明了指令“RD_SINFO”的参数TOP_SI 的结构元素与 OB 80 的相关本地变量之间的分配 关系。 TOP_SI 结构元素 数据类型 OB 80 -相关本地变量 数据类型 EV_CLASS BYTE OB80_EV_CLASS BYTE EV_NUM BYTEOB80_FLT_ID BYTE PRIORITY BYTE OB80_PRIORITY BYTE NUM BYTEOB80_OB_NUMBR BYTE TYP2_3 BYTE OB80_RESERVED_1 BYTE TYP1 BYTEOB80_RESERVED_2 BYTE ZI1 WORD OB80_ERROR_INFO WORD ZI2_3 DWORDOB80_ERR_EV_CLASS BYTE OB80_ERR_EV_NUM BYTE OB80_OB_PRIORITY BYTEOB80_OB_NUM BYTE 下表说明了指令“RD_SINFO”的参数 START_UP_SI 的结构元素与 OB 100的相关本地变量之间 的分配关系。 START_UP_SI 结构元素 数据类型 OB 100 - 本地变量 数据类型 EV_CLASSBYTE OB100_EV_CLASS BYTE EV_NUM BYTE OB100_STRTUP BYTE PRIORITYBYTE OB100_PRIORITY BYTE NUM BYTE OB100_OB_NUMBR BYTE TYP2_3 BYTEOB100_RESERVED_1 BYTE TYP1 BYTE OB100_RESERVED_2 BYTE ZI1 WORDOB100_STOP WORD ZI2_3 DWORD OB100_STRT_INFO DWORDRDSYSST: 读取系统状态列表(S7-300, S7-400) 说明 通过此命令,可读取系统状态列表的一个部分列表 (SZL) 或 SZL 部分列表摘录。可通过在调用“RDSYSST”时将值“1”赋给输入参数 REQ 来启动读取过程。 如果可以立即读取, 该指令会通过输出参数 BUSY返回值“0”。 如果 BUSY = 1,表示读取还没完成。 说明 如果使用 SZL‑IDW#16#00B1 或 W#16#00B2 或W#16#00B3 来调用诊断中断 OB 中的指令 “RDSYSST”,并访问启动该诊断中断的模块,则立即读取系统状态。使用“RDSYSST”时,仅传输完整数据记录。 系统资源 如果以较短时间间隔相继启动多个异步读取过程(使用参数SZL_IDW#16#00B4、 W#16#4C91、W#16#4092、W#16#4292 和 W#16#4692 以及W#16#00B1 和 W#16#00B3 完成的作业),则操作系统可确保执行所有读取作业,不会发生相互干扰。 如果达到系统资源的限制,则这种情况将在 RET_VAL 中加以指示。 只需将作业重复,即可补 救这种临时错误状况。指令可“”激活的作业的Zui大数目取决于 CPU。 说明 S7-400 CPU 中,“RDSYSST”可用于将Zui多 432个字节传输到目标区域。 参数 下表列出了指令“RDSYSST”的参数: 参数 声明 数据类型 存储区 说明 REQ InputBOOL I、Q、M、D、L REQ =1:触发处理 SZL_ID Input WORD I、Q、M、D、L 或 常数部分列表或部分列表摘录的 SZL‑ID INDEX Input WORD I、Q、M、D、L 或 常数部分列表中某个对象的类型或编号。