如何使用程序读取运行中 S7-300 CPU的 IP 地址?

n

描述
在S7-300 CPU 中通过调用 "RDSYSST" 指令可以读取 IP 地址。 通过 "RDSYSST" 指令可读取部件列表或系统状态列表的部件目录(SSL 或德语的 SZL)。 通过 SSL ID 和 INDEX 指定部件列表或部件列表中一个对象的部件列表目录及类型或者数量。使用SSL ID = 37 (hex) 和 INDEX = 0 (hex) 来读取 S7-300 CPU 的 IP 地址。n

如何使用程序读取运行中 S7-300 CPU的 IP 地址?

图. 01n

"RDSYSST" 指令的输入/输出
表 01 "RDSYSST" 指令的输入参数.
n

参数 数据类型 描述
REQ BOOL REQ=1: 触发执行
SSL_ID WORD 将要读取的系统状态列表或部分列表的ID号 n

SSL_ID=w#16#37: 读取 S7-300 CPU 的 IP 地址

INDEXWORD部分列表中对象的类型或编号 n

INDEX=w#16#0:读取 S7-300 CPU 的 IP 地址

表 01

表 02 "RDSYSST"指令的输出参数
n

参数 数据类型 描述
RET_VAL INT 如果执行中程序出错,RET_VAL 参数会返回故障代码。
BUSY BOOL TRUE:读指令尚未执行完毕。
SZL_HEADER STRUCT SZL_HEADER 是个结构体。详细结构介绍在"SZL_HEADER结构体".
DR ANY 读取SSL的部件列表或SSL部件列表的目录的目标区域。

表02

SZL_HEADER 结构体
SZL_Header 输出是按照以下结构定义的一个结构体:

SZL_HEADER: STRUCT
LENTHDR: WORD
N_DR: WORD
END_STRUCT

LENTHDR 是SSL 部件列表或 SSL 部件目录的数据记录长度。

  • 如果仅读取了SSL部件列表的头信息,N_DR 包含了相关可用的数据记录的数量。
  • 否则 N_DR 包含已传送到目标数据区的数据记录数量。

SSL 部件列表的目标区域或读取 SSL 部件列表的目录
本例中读取SSL 部件列表并保存在数据块 DB2 "SZL_VALUE" 的起始地址 0 中。 S7-300 CPU 的 IP 地址由 4 个字节构成,以16进制字节形式存储在 DB2 "SZL_VALUE" 的起始地址 2 中。

如何使用程序读取运行中 S7-300 CPU的 IP 地址?
图. 02

如果你已经读取到 CPU 的 IP 地址,可在程序中评估。在本例中,IP 地址按照十进制数据保存在数据块 DB1 “DATA”的起始地址 8 中。

如何使用程序读取运行中 S7-300 CPU的 IP 地址?
图. 03

如何使用程序读取运行中 S7-300 CPU的 IP 地址?
图. 04

如何使用程序读取运行中 S7-300 CPU的 IP 地址?
图. 05

如何使用程序读取运行中 S7-300 CPU的 IP 地址?
图. 06

如何使用程序读取运行中 S7-300 CPU的 IP 地址?
图. 07

下载
该下载包含项目 "Read_IP_Address.zip".
拷贝 "Read_IP_Address.zip" 文件到一个单独的文件夹然后双击,之后使用 STEP 7 打开。

如何使用程序读取运行中 S7-300 CPU的 IP 地址? Read_IP_Address.zip ( 1355 KB )

详细信息
关于在 STEP 7 V12(TIA博途)编程的详细信息请访问入口 ID 68113685

创建环境
该 FAQ 中的图片及相关下载均由 STEP 7 V12(TIA 博途)创建。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc328161.html

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论