您当前的位置:钢材 > 型钢 > 市场分析

8s003f3p6读取程序,读取程序存储器的指令

来源:头条 作者: chanong
分享到
关注德勤钢铁网在线:
  • 扫描二维码

    关注√

    德勤钢铁网微信

在线咨询:
  • 扫描或点击关注德勤钢铁网在线客服

1 证监会51 概述

1.1 程序功能概述

系统功能SFC 51“RDSYSST”(读取系统状态)允许您读取系统状态列表或部分系统状态列表,例如指示灯状态、序列号和从站状态。

当调用SFC 51 时,它通过将值“1”分配给输入参数REQ 来开始读取。如果可以立即读取系统状态,则SFC 在BUSY 输出参数中返回值0。如果BUSY 包含值1,则读取功能尚未完成。

表1 SFC51参数说明

2 读取CPU指示灯

您可以通过SFC 51 读取CPU 的LED 状态。使用的SSL_ID 参数为16#74 (16#19) 来读取整个LED 状态,使用16#174 (16#119) 来读取单个LED 的状态。

2.1 编程

首先,我们需要创建一个数据块来存储读取的指标状态结果。

图1 创建DB1存储读取结果

打开OB1,在OB1的临时变量区创建一个变量length,类型设置为Struct。

双击长度变量并输入结构变量的成员定义以创建两个字变量(在本例中为大小和数量)。

图3 创建length结构体变量的两个word成员

创建SFC51 程序。

前两个字节表示灯的类型(见表2),例如是SF灯还是BF灯。

第三个字节表示灯是亮还是灭,1表示灯亮,0表示灯灭。

第四个字节表示灯是否闪烁。 0表示不闪烁,1表示正常闪烁(2hz),2表示慢速闪烁(0.5hz)。

以下是指示灯类型列表(不同的CPU有不同数量的指示灯):

表2 前两个字节的含义

3 读取Profibus DP从站状态

3.1 编程

首先,我们需要创建一个数据块来存储读取状态结果。

图4 创建DB1并保存读取结果

打开OB1,首先在OB1的临时变量区创建一个变量length,并将类型设置为Struct。

图5 创建名为length的结构体变量

双击长度变量并输入结构变量的成员定义以创建两个字变量(在本例中为大小和数量)。

图6 创建length结构体变量的两个字成员

创建SFC51 程序。

在此示例中,在P#DB1.DBX0.0 BYTE 500 中为每个DP 从站(16 x 8=128) 保留1 位。地址1 处DP 从站的状态存储在第三个字节中。在位1 中,地址3 处的DP 从站的状态存储在第三个字节的位3 中,依此类推。如果从站相应位未置位,则表明DP从站没有通信或不存在。

例:从DB1.DBW2开始,每一位对应一位,例如3号站对应的位为DB1.DBX2.3,该站存在的位为1,不存在的位是。 0。

4读取CPU序列号

4.1 编程

为了显示:

可以通过SFC 51“RDSYSST”从系统状态列表(SSL) 中读取以下识别数据:

下表显示了可以从各种CPU 型号和固件版本中读取的其他标识数据。这使用SFC 51 和SSL ID W#16#011C。

表3 索引说明

请注意,即使将旧CPU升级到上面列出的版本,也无法实现此功能。

首先,我们需要创建一个数据块来存储读取状态结果。

图7 创建DB1并保存读取结果

打开OB1,首先在OB1的临时变量区创建一个变量length,并将类型设置为Struct。

图8 创建名为length的结构体变量

双击长度变量并输入结构体变量的成员定义以创建两个字变量(在本例中为大小和数量)。

图9 创建length结构体变量的两个字成员

创建SFC51 程序。

呼叫“RDSYSST”

要求:=真

SZL_ID :=W#16#11C //读取CPU序列号

索引:=W#16#5

RET_VAL :=MW0

忙:=M2.0

SZL_HEADER:=#长度

DR :=P#DB1.DBX0.0 BYTE 500 //结果输出到DB1数据块

结果应该是这样的:

图10 CPU序列号

5 读取存储卡序列号

5.1 编程

描述:

要获取MMC 卡序列号,必须使用SFC 51 \'RDSYSST\' 读取系统状态列表(SSL) :

? SSL ID W#16#011C“组件标识”

? 索引W#16#0008“存储卡序列号”

从固件版本V2.0 开始(V2.1 中的CPU 317:),可以在所有带有MMC 卡的S7-300 CPU 和C7 上读取存储卡序列号。

S7-400 的V5 版本将唯一的序列号存储在存储卡上。

首先,我们需要创建一个数据块来存储读取状态结果。

图11 创建DB1存储读取结果

打开OB1,首先在OB1的临时变量区创建一个变量length,并将类型设置为Struct。

图12 创建名为length 的结构体变量

双击长度变量并输入结构体变量的成员定义以创建两个字变量(在本例中为大小和数量)。

图13 创建length结构体变量的两个字成员

创建SFC51 程序。

呼叫“RDSYSST”

要求:=真

SZL_ID :=W#16#11C //读取MMC序列号

索引:=W#16#8

RET_VAL :=MW0

忙:=M2.0

SZL_HEADER:=#长度

DR :=P#DB1.DBX0.0 BYTE 500 //结果输出到DB1数据块

结果如下。

图14 MMC序列号

责任编辑:德勤钢铁网 标签:

热门搜索

相关文章

广告
德勤钢铁网 |市场分析

8s003f3p6读取程序,读取程序存储器的指令

chanong

|

1 证监会51 概述

1.1 程序功能概述

系统功能SFC 51“RDSYSST”(读取系统状态)允许您读取系统状态列表或部分系统状态列表,例如指示灯状态、序列号和从站状态。

当调用SFC 51 时,它通过将值“1”分配给输入参数REQ 来开始读取。如果可以立即读取系统状态,则SFC 在BUSY 输出参数中返回值0。如果BUSY 包含值1,则读取功能尚未完成。

表1 SFC51参数说明

2 读取CPU指示灯

您可以通过SFC 51 读取CPU 的LED 状态。使用的SSL_ID 参数为16#74 (16#19) 来读取整个LED 状态,使用16#174 (16#119) 来读取单个LED 的状态。

2.1 编程

首先,我们需要创建一个数据块来存储读取的指标状态结果。

图1 创建DB1存储读取结果

打开OB1,在OB1的临时变量区创建一个变量length,类型设置为Struct。

双击长度变量并输入结构变量的成员定义以创建两个字变量(在本例中为大小和数量)。

图3 创建length结构体变量的两个word成员

创建SFC51 程序。

前两个字节表示灯的类型(见表2),例如是SF灯还是BF灯。

第三个字节表示灯是亮还是灭,1表示灯亮,0表示灯灭。

第四个字节表示灯是否闪烁。 0表示不闪烁,1表示正常闪烁(2hz),2表示慢速闪烁(0.5hz)。

以下是指示灯类型列表(不同的CPU有不同数量的指示灯):

表2 前两个字节的含义

3 读取Profibus DP从站状态

3.1 编程

首先,我们需要创建一个数据块来存储读取状态结果。

图4 创建DB1并保存读取结果

打开OB1,首先在OB1的临时变量区创建一个变量length,并将类型设置为Struct。

图5 创建名为length的结构体变量

双击长度变量并输入结构变量的成员定义以创建两个字变量(在本例中为大小和数量)。

图6 创建length结构体变量的两个字成员

创建SFC51 程序。

在此示例中,在P#DB1.DBX0.0 BYTE 500 中为每个DP 从站(16 x 8=128) 保留1 位。地址1 处DP 从站的状态存储在第三个字节中。在位1 中,地址3 处的DP 从站的状态存储在第三个字节的位3 中,依此类推。如果从站相应位未置位,则表明DP从站没有通信或不存在。

例:从DB1.DBW2开始,每一位对应一位,例如3号站对应的位为DB1.DBX2.3,该站存在的位为1,不存在的位是。 0。

4读取CPU序列号

4.1 编程

为了显示:

可以通过SFC 51“RDSYSST”从系统状态列表(SSL) 中读取以下识别数据:

下表显示了可以从各种CPU 型号和固件版本中读取的其他标识数据。这使用SFC 51 和SSL ID W#16#011C。

表3 索引说明

请注意,即使将旧CPU升级到上面列出的版本,也无法实现此功能。

首先,我们需要创建一个数据块来存储读取状态结果。

图7 创建DB1并保存读取结果

打开OB1,首先在OB1的临时变量区创建一个变量length,并将类型设置为Struct。

图8 创建名为length的结构体变量

双击长度变量并输入结构体变量的成员定义以创建两个字变量(在本例中为大小和数量)。

图9 创建length结构体变量的两个字成员

创建SFC51 程序。

呼叫“RDSYSST”

要求:=真

SZL_ID :=W#16#11C //读取CPU序列号

索引:=W#16#5

RET_VAL :=MW0

忙:=M2.0

SZL_HEADER:=#长度

DR :=P#DB1.DBX0.0 BYTE 500 //结果输出到DB1数据块

结果应该是这样的:

图10 CPU序列号

5 读取存储卡序列号

5.1 编程

描述:

要获取MMC 卡序列号,必须使用SFC 51 \'RDSYSST\' 读取系统状态列表(SSL) :

? SSL ID W#16#011C“组件标识”

? 索引W#16#0008“存储卡序列号”

从固件版本V2.0 开始(V2.1 中的CPU 317:),可以在所有带有MMC 卡的S7-300 CPU 和C7 上读取存储卡序列号。

S7-400 的V5 版本将唯一的序列号存储在存储卡上。

首先,我们需要创建一个数据块来存储读取状态结果。

图11 创建DB1存储读取结果

打开OB1,首先在OB1的临时变量区创建一个变量length,并将类型设置为Struct。

图12 创建名为length 的结构体变量

双击长度变量并输入结构体变量的成员定义以创建两个字变量(在本例中为大小和数量)。

图13 创建length结构体变量的两个字成员

创建SFC51 程序。

呼叫“RDSYSST”

要求:=真

SZL_ID :=W#16#11C //读取MMC序列号

索引:=W#16#8

RET_VAL :=MW0

忙:=M2.0

SZL_HEADER:=#长度

DR :=P#DB1.DBX0.0 BYTE 500 //结果输出到DB1数据块

结果如下。

图14 MMC序列号


市场分析