- {{item.name}}
如何使用程序读取运行中 S7-300 CPU的 IP 地址?
- 0
- 1042
- 1628
描述
在S7-300 CPU 中通过调用 "RDSYSST" 指令可以读取 IP 地址。 通过 "RDSYSST" 指令可读取部件列表或系统状态列表的部件目录(SSL 或德语的 SZL)。 通过 SSL ID 和 INDEX 指定部件列表或部件列表中一个对象的部件列表目录及类型或者数量。使用SSL ID = 37 (hex) 和 INDEX = 0 (hex) 来读取 S7-300 CPU 的 IP 地址。
图. 01
"RDSYSST" 指令的输入/输出
表 01 "RDSYSST" 指令的输入参数.
参数 | 数据类型 | 描述 |
REQ | BOOL | REQ=1: 触发执行 |
SSL_ID | WORD | 将要读取的系统状态列表或部分列表的ID号SSL_ID=w#16#37: 读取 S7-300 CPU 的 IP 地址 |
INDEX | WORD | 部分列表中对象的类型或编号表 01 |
表 02 "RDSYSST"指令的输出参数
参数 | 数据类型 | 描述 |
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 中。
图. 02
如果你已经读取到 CPU 的 IP 地址,可在程序中评估。在本例中,IP 地址按照十进制数据保存在数据块 DB1 “DATA”的起始地址 8 中。
图. 03
图. 04
图. 05
图. 06
图. 07
下载
该下载包含项目 "Read_IP_Address.zip".
拷贝 "Read_IP_Address.zip" 文件到一个单独的文件夹然后双击,之后使用 STEP 7 打开。
Read_IP_Address.zip ( 1355 KB )
详细信息
关于在 STEP 7 V12(TIA 博途)编程的详细信息请访问入口 ID 68113685。
创建环境
该 FAQ 中的图片及相关下载均由 STEP 7 V12(TIA 博途)创建。
http://support.automation.siemens.com/CN/view/zh/81665714
剩余80%未阅读,请登录后下载/查看文档
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
- 在 STEP 7 V5.5 软件中,如何在用户程序里读取出 S7-300 CPU 的IP地址?
- 如何使用 Excel 应用程序访问 WinCC (TIA Portal)中的操作面板变量?
- 如何通过用户程序读出SIMATIC存储卡的序列号?
- 如何使用SIMATIC MC卡擦除IP地址并将S7-1200复位至出厂设置 (2MB 或24MB)?
- 如何在用户程序中读出S7-1500 CPU PROFINET接口的IP地址?
- 如何使用 SFC13 "DPNRM_DG" 读取 PROFIBUS DP 从站的诊断数据并在程序中评估这些数据?
- 如何使用FB15 "PUT" 和 FB14 "GET"功能块进行组态和编程,创建一个 S7 连接用于一个S7-1200和一个S7-300 CPU的数据传输?
- 在OS运行中,如何将一个变量名作为tooltip text显示?
- S7-400H冗余系统如何在运行中修改组态
- 在WinCC中如何使用VBS读取报警记录数据到EXCEL
{{item.nickName}}