portant; overflow-wrap: break-word !important;">这个条目讲解了在STEP 7 V5.5的软件中,如何在用户程序中读取S7-300 CPU 的IP地址。
为了这个目的,可以在用户程序中调用系统功能块SFC51 "RDSYSST" 。
通过使用系统功能块 SFC51“RDSYSST” 可以读出系统状态列表的部分列表或部分列表摘要 (SSL 或 德语简称 SZL)。
通过SSLID和索引,对于某些部分列表或部分列表摘录,必须指定对象类型或对象编号。
使用SSL ID = 37(十六进制)和索引=0(十六进制)的地址读取 S7-300 CPU的IP地址。
portant; overflow-wrap: break-word !important;"> 这个例子是在功能块FB1中调用系统功能块SFC51 "RDSYSST"。
在OB1中调用 FB1。
portant; overflow-wrap: break-word !important;">
系统功能块 SFC51 "RDSYSST" 的输入输出定义
表01列举出系统功能块 SFC51 "RDSYSST" 的输入定义。
portant; overflow-wrap: break-word !important;">
portant; overflow-wrap: break-word !important;">SZL_HEADER结构
SZL_HEADER 的输出被定义为如下结构:
portant; overflow-wrap: break-word !important;">SZL_HEADER: STRUCT
LENTHDR: WORD
N_DR: WORD
END_STRUCT
portant; overflow-wrap: break-word !important;">LENTHDR 定义为SZL列表的数据记录部分或者摘录部分的长度。
portant; overflow-wrap: break-word !important;">如果仅读取SZL部分列表的头部信息,N_DR指的是相关联数据记录的数量。
portant; overflow-wrap: break-word !important;">否则,N_DR指的是转移到目标区域的数据记录的数量。
portant; overflow-wrap: break-word !important;">用于读取 SSL 部分列表或摘录部分的目标区域
在这个例子中,读取SSL部分列表被保存在数据块 DB100 "SYS_DATA" 起始地址0开始。
S7-300 CPU的IP地址占了4个字节,存储在DB100 "SYS_DATA"地址2开始的地址中,十六进制存储格式。