• {{item.name}}
SIMATIC S7-400系列 {{item.name}}
{{item2.name}}
更多

如何读取DP或PN总线上各站点的状态?

star star star star star
0 分
  • 软件编程
  • 通信(通讯)
  • S7-300/400
发布时间:2024年04月25日
  • 0
  • 171
如何读取DP或PN总线上各站点的状态?

如何读取DP或PN总线上各站点的状态?

可以使用 SFC51 'RDSYSST' 读出 SSL 部分列表或SSL 部分列表的摘录。 下面的配置在文中所附的例程中创建。 下面的配置在文中所附的例程中创建:

A computer diagram of a program

Description automatically generated

图01

在用户程序(OB1)中,使用 SFC51 "RDSYSST" 读出 CPU 的系统状态列表。
调用 SFC51 "RDSYSST" 时,通过输入参数 SSL_ID 指定了用户想读取的系统状态列表。使用此方法可读出下列数据,例如:

  • 模板标识。
  • 模板 LED 指示灯状态。
  • DP 主站系统或 PROFINET I/O 系统中,已经连接上 CPU 集成的 DP 或 PN 口的站点状态。

所有有关 SSL_ID 的具体的可用信息请参看手册 :“用于 S7300/400系统和 标准功能的系统软件 卷1&2

当调用 SFC51 "RDSYSST" 时,在输入参数INDEX,要以16进制格式指定 PROFIBUS DP 主站系统或者PROFINET IO 系统的编号,PROFIBUS DP 主站系统的编号或者PROFINET IO 系统的编号可以在硬件配置中找到(见图.01)。

SFC51 "RDSYSST" 的参数分配根据使用不同的 CPU 而不同:

  • CPU 有集成的 DP 和以太网接口
  • CPU 有集成的 DP 接口但是没有集成的以太网接口

在 PN/DP CPU 中调用 SFC51 "RDSYSST" 的例子参数

A close-up of a data record

Description automatically generated

图02

A close-up of a card

Description automatically generated

图03

输入 SSL_ID=694(HEX) 以确定 DP 主站系统或者 PROFINET IO 系统连接到 PN/DP CPU 站点的状态。指定所读出的系统状态列表数据(诊断数据) 的存储区域,诊断数据区大小为 258 字节。

表 01 为 258 字节长的诊断数据结构:

内容
长度
解释
index
1 word
0: 中央机架
1-31: 在 PROFIBUS DP 主站系统中的远程模块
100-115: 在 PROFINET IO 系统中的远程模块
status_0
BOOL
组信息
1: 下面状态位最少有一个值为 1
0: 下面所有状态位值为 0
status_1
BOOL
站 1 状态
1: 站 1 故障(仅对 694 有效)
status_2
BOOL
站 2 状态
1: 站 2 故障(仅对 694 有效)
...


status_2047
BOOL
站 2047 状态
1: 站 2047 故障(仅对 694 有效)

表 01

最大可以确定 2047 个站的状态。在诊断数据存储区域中每个站需要 1 bit。此外,需要另外 1 bit 作为组信息。就是说在诊断数据存储区域中,256 字节分配给每个站点的状态,2 字节为索引(关于 DP 主站系统或者 PROFINET IO 系统的信息)。

下面的例程中包含一个完整的 S7 站硬件组态,用户程序中有 SFC51 "RDSYSST" 的调用。

SSL_Status_PNDP.zip ( 686 KB )

在没有集成以太网口的 CPU 中调用 SFC51 "RDSYSST" 的例子参数

A close-up of a data record

Description automatically generated

图04

输入 SSL_ID=292(HEX) 以确定连接到只有集成 DP 接口的 CPU  所带的 DP 主站系统中的站点状态。指定所读出的系统状态列表数据(诊断数据) 的存储区域,诊断数据区大小为 16 字节。

表 02 为 16 字节长的诊断数据结构:

内容
长度
解释
status_0
1 byte
Bit 0: 基本单元 (INDEX=0) 或站 1
Bit 1: 扩展设备或站 2
...
Bit 7: 扩展设备或站 8 ...
status_1
1 byte
Bit 0: 扩展设备或站 9
Bit 1: 扩展设备或站 10
...
Bit 7: 扩展设备或站 16 ...
status_2
1 byte
Bit 0: 扩展设备或站 17
Bit 1: 扩展设备或站 18
...
Bit 7: 扩展设备或站 24
status_3
1 byte
Bit 0: 扩展设备或站 25
Bit 1: 扩展设备或站 26
...
Bit 6: S5 区域中的扩展设备或站 31
Bit 7: S5 区域中的扩展设备或站 32
...


status_15
1 byte
Bit 0: S5 区域中的扩展设备或站 121
Bit 1: S5 区域中的扩展设备或站 122
...
Bit 7: S5 区域中的扩展设备或站 128

表 02

最大可以确定 128 个站的状态。 在诊断数据存储区域中每个站需要 1 bit。就是说在诊断数据存储区域中,需要 16 个字节来表示状态信息。

下面的例程中包含一个完整的 S7 站硬件组态,用户程序中有 SFC51 "RDSYSST" 的调用。

SSL_Status_DP.zip ( 257 KB )

例子项目是使用 STEP 7 V5.5 创建的。复制 SSL_Status_PNDP.zip 或 SSL_Status_DP.zip 文件到单独的文件夹内然后在 STEP 7 中解压缩,这时 STEP 7 项目的所有子目录会被解包,可以使用 SIMATIC Manager  来处理这些已经解包的 STEP 7 项目。

更多SFC51的使用请参考:


剩余80%未阅读,请登录查看大全章节内容

  • 评论
更多
  • 分享

    扫码分享

0元领课点我

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。