n
描述
这个条目讲解了在 STEP 7 V5.5 的软件中,如何在用户程序中读取 S7-300 CPU 的 IP 地址。 为了这个目的,可以在用户程序中调用系统功能块 SFC51 "RDSYSST" 。 通过使用系统功能块 SFC51“RDSYSST” 可以读出系统状态列表的部分列表或部分列表摘要 (SSL 或德语简称 SZL)。通过SSLID和索引,对于某些部分列表或部分列表摘录,必须指定对象类型或对象编号。使用SSL ID = 37(十六进制)和索引= 0(十六进制)的地址读取 S7-300 CPU 的 IP 地址。n
这个例子是在功能块 FB1 中调用系统功能块 SFC51 "RDSYSST" 。 在 OB1 中调用 FB1。n
图01n
系统功能块 SFC51 "RDSYSST" 的输入输出定义
表01 列举出系统功能块 SFC51 "RDSYSST" 的输入定义。
n
参数 | 数据类型 | 描述 |
REQ | BOOLEAN | REQ=1: 上升沿有效 |
SZL_ID | WORD | 部分列表摘录的 SSL_ID n
SSL_ID=w#16#37: 读取 S7-300 CPU 的IP地址 |
INDEX | WORD | 部分列表对象的类型或者数目 n
INDEX=w#16#0:读取 S7-300 CPU 的IP地址 |
表01
表02 列举出系统功能块 SFC51 "RDSYSST" 的输出定义。
参数 | 数据类型 | 描述 |
RET_VAL | INT | 如果在指令进程中出现一个错误,RET_VAL将给出错误代码 |
BUSY | BOOLEAN | TRUE: 读取进程尚未完成 |
SZL_HEADER | STRUCT | The SZL_HEADER 是一个数据结构。这个结构被描述为 "SZL_HEADER structure"。 |
DR | ANY | 读取SSL的部分列表或部分列表摘录的目标区域。 |
表02
SZL_HEADER 结构
SZL_HEADER 的输出被定义为如下结构:
SZL_HEADER: STRUCT
LENTHDR: WORD
N_DR: WORD
END_STRUCT
LENTHDR 定义为 SZL 列表的数据记录部分或者摘录部分的长度。
- 如果仅读取 SZL 部分列表的头部信息,N_DR 指的是相关联数据记录的数量。
- 否则,N_DR 指的是转移到目标区域的数据记录的数量。
用于读取 SSL部分列表或摘录部分的目标区域
在这个例子中,读取 SSL 部分列表被保存在数据块 DB100 "SYS_DATA" 起始地址 0 开始。S7-300 CPU 的 IP 地址占了 4 个字节,存储在 DB100 "SYS_DATA"地址 2 开始的地址中,十六进制存储格式。
图02
当读出了 CPU的 IP 地址,可以在用户程序中使用它。在这个例子中,IP 地址以十进制值存储在 FB1 的背景数据块DB1 中。
图 03
图 04
图 05
图 06
图 07
下载
信息包含项目 "Read_IP_Address_STEP7_V55.zip".
复制"Read_IP_Address_STEP7_V55.zip" 文件到一个单独路径并双击该文件。然后使用 STEP 7 软件打开这个项目并解压缩。
Read_IP_Address_STEP7_V55.zip ( 247 KB )
更多信息
关于 S7-300/S7-400 系统功能块和标准功能块的介绍可以参见条目:44240604.
创建环境
在这个常问问题中的图片和下载创建于 STEP 7 V5.5.
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc325221.html