- {{item.name}}
在 STEP 7 V5.5 软件中,如何在用户程序里读取出 S7-300 CPU 的IP地址?
- 0
- 706
- 2236
描述
这个条目讲解了在 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" 的输入定义。
参数 | 数据类型 | 描述 |
REQ | BOOLEAN | REQ=1: 上升沿有效 |
SZL_ID | WORD | 部分列表摘录的 SSL_ID |
INDEX | WORD | 部分列表对象的类型或者数目表 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.
剩余80%未阅读,请登录后下载/查看文档
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
- 如何在用户程序中读出S7-1500 CPU PROFINET接口的IP地址?
- 如何在STEP 7 (TIA Portal) CPU的用户程序中读取MRP的状态?
- 当在 STEP 7的 CPU 中用户程序里调用 FC5/50 和 FC6/60 通讯块时需要记住的要点有哪些?
- 在用户程序中,当 Modbus 功能块的块号已经被占用时,哪些 Modbus TCP 块可以重新命名或重新连接变量?
- 如何通过用户程序读出SIMATIC存储卡的序列号?
- SMATIC S7-1200/1500的用户程序如何实现通道诊断?
- 如何使用程序读取运行中 S7-300 CPU的 IP 地址?
- PROFINET CBA用户程序接口刷新快速入门
- PROFINET IO – 用户程序中的诊断处理
- 使用 S7-1500 进行用户程序诊断
{{item.nickName}}