如何在STEP 7 V5.5用户程序里读取出S7-300 CPU的IP地址?

描述   这个条目讲解了在STEP 7 V5.5的软件中,如何在用户程序中读取S7-300 CPU 的IP地址。为了这个目的,可以在用户程序中调用系统功能块SFC51 “RDSYSST” 。 通过使用系统功能块 SFC51“RDSYSST” 可以读出系统状态列表的部分列表或部分列表摘要 (SSL 或 德语简称 SZL)。通过SSLID和索引,对于某些部分列表或部分列表摘录,必须指定对象类型或对象编号。使用SSL ID = 37(十六进制)和索引=0(十六进制)的地址读取 S7-300 CPU的IP地址。
  这个例子是在功能块FB1中调用系统功能块SFC51 “RDSYSST”。在OB1中调用 FB1。

图 01
系统功能块 SFC51 “RDSYSST” 的输入输出定义 表01列举出系统功能块 SFC51 “RDSYSST” 的输入定义。  

表 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
西门子PLC,西门子可编程控制器,西门子S7-1200,西门子S7-1500,西门子PLC控制器,西门子HMI触摸屏,西门子ET200SP,,西门子S7-300PLC

类似文章