水电电工知识
电工知识|SFC 51常用功能使用入门
2017-02-17  浏览:52
水电之家讯:1 SFC 51简介 1.1 程序功能介绍

通过系统功能SFC 51 "RDSYSST" (读取系统状态),可以读取系统状态列表或部分系统状态列表,例如指示灯状态,序列号,从站状态等等。

调用SFC 51时,通过将值“1”赋给输入参数REQ来启动读取。如果可以立即读取系统状态,则SFC将在BUSY输出参数中返回值0。如果BUSY包含值1,则尚未完成读取功能。 表1 SFC51参数说明 参数描述REQ输入参数REQ = 1:启动处理SSL_ID输入参数将要读取的系统状态列表或部分列表的ID号INDEX输入参数部分列表中对象的类型或编号。RET_VAL输出参数如果执行SFC时出错,则RET_VAL参数将包含错误代码。BUSY输出参数TRUE:尚未完成读取。SSL_HEADER输出参数LENTHDR是SSL列表或SSL部分列表的数据记录的长度。• 如果仅读取了SSL列表的标题信息,则N_DR包含属于它的数据记录数。• 否则,N_DR包含传送到目标区域的数据记录数。DR输出参数SSL列表读取或SSL部分列表读取的目标区域:• 如果仅读取了SSL列表的标题信息,则不能评估DR的值,而只能评估SSL_HEADER的值。• 否则,LENTHDR和N_DR的乘积将指示已在DR中输入了多少字节。2 读取CPU指示灯

可以通过SFC 51读取CPU的指示灯状态,使用的SSL_ID参数为16#74(16#19)读取全部指示灯状态 或者16#174(16#119)读取单个指示灯状态 2.1 编程

首先需要创建一个数据块,用来存放读取出来的指示灯状态结果

图1 创建DB1,存放读取结果 打开OB1,在OB1的临时变量区创建一个变量length,类型设置为Struct(结构)



图2 创建名为length的结构变量 双击length变量,进入结构变量成员定义,创建两个word类型的变量,本例中分别为size和number:



图3 创建length的结构变量的两个word成员 编写SFC51程序:
CALL "RDSYSST"

REQ :=TRUE

SZL_ID :=W#16#74 //读取全部指示灯状态

INDEX :=W#16#0

RET_VAL :=MW0

BUSY :=M2.0

SZL_HEADER:=#length

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

DB1存放的结果即为模块的指示灯状态,每个指示灯有4个字节的长度来描述。

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

第三个字节表示灯是亮还是灭,如果为1则灯亮,如果为0则灯的状态是灭。

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

灯的类型列表如下(不同的CPU会有不同数目的指示灯): 表2 前两个字节的含义 16#1SF16#2INTF16#3EXTF16#4RUN16#5STOP16#6FORCE16#7CRST16#8BAF16#9USR16#AUSR116#BBUS1F16#CBUS2F16#DREDF16#EMSTR注意事项:

关于系统功能SFC51的更多详情请参阅STEP 7的在线帮助,或者通过Start > SIMATIC > documentATION选择手册“System Software for S7-300/400 System and Standard Functions” 3 读取Profibus DP从站 状态 3.1 编程

首先需要创建一个数据块,用来存放读取出来的状态结果

图4 创建DB1,存放读取结果 打开OB1,首先在OB1的临时变量区创建一个变量length,类型设置为Struct(结构)



图5 创建名为length的结构变量 双击length变量,进入结构变量成员定义,创建两个word类型的变量,本例中分别为size和number:



图6 创建length的结构变量的两个word成员 编写SFC51程序:
CALL "RDSYSST"

REQ :=TRUE

SZL_ID :=W#16#294 //读取从站是否存在

INDEX :=W#16#1

RET_VAL :=MW0

BUSY :=M2.0

SZL_HEADER:=#length

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

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

举例:从DB1.DBW2开始,每个位对应一个bit,例如3号站对应的位是DB1.DBX2.3 ,站点存在的位为1,不存在的为0。 注意事项:

关于系统功能SFC51的更多详情请参阅STEP 7的在线帮助,或者通过Start > SIMATIC > documentATION选择手册“System Software for S7-300/400 System and Standard Functions”

4读取CPU的序列号 4.1 编程

说明:

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

下面的表格指明了可以从不同型号和固件版本的 CPU 读取其它哪些标识数据。为此使用 SFC 51 和 SSL ID W#16#011C。 表3 INDEX说明 索引名称S7-300/C7S7-400W#16#0001自动化系统的名称从固件版本 V2.2 起支持W#16#0002CPU 的名称从固件版本 V2.2 起支持W#16#0003CPU 的设备 ID从固件版本 V2.2 起支持W#16#0004版权条目从固件版本 V2.2 起支持W#16#0005CPU 的序列号从固件版本 V2.2 起从 MLFB6ES741x-xxx04-0AB0 起W#16#0006为操作系统保留--W#16#0007CPU 型号名称-支持W#16#0008MMC 或 MC 的序列号 (参见条目号:19215608)从固件版本 V2.0 起-(CPU317:从 V2.1 开始)需要注意,老CPU升级到上表版本也无法实现此功能。

首先需要创建一个数据块,用来存放读取出来的状态结果

图7 创建DB1,存放读取结果 打开OB1,首先在OB1的临时变量区创建一个变量length,类型设置为Struct(结构)



图8 创建名为length的结构变量 双击length变量,进入结构变量成员定义,创建两个word类型的变量,本例中分别为size和number:

图9 创建length的结构变量的两个word成员 编写SFC51程序:
CALL "RDSYSST"

REQ :=TRUE

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

INDEX :=W#16#5

RET_VAL :=MW0

BUSY :=M2.0

SZL_HEADER:=#length

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

结果如下图:

图10 CPU序列号 注意事项:

关于系统功能SFC51的更多详情请参阅STEP 7的在线帮助,或者通过Start > SIMATIC > documentATION选择手册“System Software for S7-300/400 System and Standard Functions” 5 读取存储卡的序列号 5.1 编程

描述:

为了获得 MMC 卡的序列号,必须使用 SFC 51 "RDSYSST" 读出系统状态列表 (SSL) :

• SSL ID W#16#011C "元件的标识"

• Index W#16#0008 "存储卡的序列号"

对于所有的带有 MMC 卡的 S7-300 CPU 和 C7 从固件版本 V2.0 起都可以读出存储卡的序列号,(CPU 317: 从 V2.1 起)。

从S7-400的V5版本起,存储卡上保存唯一的序列号。

首先需要创建一个数据块,用来存放读取出来的状态结果

图11 创建DB1,存放读取结果 打开OB1,首先在OB1的临时变量区创建一个变量length,类型设置为Struct(结构)

图12 创建名为length的结构变量 双击length变量,进入结构变量成员定义,创建两个word类型的变量,本例中分别为size和number:

图13 创建length的结构变量的两个word成员 编写SFC51程序:

CALL "RDSYSST"

REQ :=TRUE

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

INDEX :=W#16#8

RET_VAL :=MW0

BUSY :=M2.0

SZL_HEADER:=#length

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

图14 MMC序列号 注意事项:

关于系统功能SFC51的更多详情请参阅STEP 7的在线帮助,或者通过Start > SIMATIC > documentATION选择手册“System Software for S7-300/400 System and Standard Functions”

水电之家为您提供最全面的管材,管件,水电,电线,电工,管材水电品牌的装修知识点和各种管材水电的导购与在线购买服务,拥有最便宜的管材水电价格和最优质的售后服务,每天都有秒杀的抢购活动哦!敬请登陆水电之家:http://shuidian.jc68.com/
更多»您可能感兴趣的文章:
更多»有关 管件 的产品:
  • 水电电工资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 天花之家 木门之家 灯具之家 铁艺之家 幕墙之家 五金头条 楼梯头条 墙纸头条 壁纸头条 玻璃头条 老姚之家 灯饰之家 电气之家 全景头条 照明之家 防水之家 防盗之家 区快洞察 建材 枣庄建材 临沂建材 南昌建材 上饶建材 抚州建材 宜春建材 吉安建材 赣州建材 鹰潭建材 新余建材 九江建材 萍乡建材 景德镇陶瓷 石家庄建材 衡水建材 廊坊建材 沧州建材 承德建材 建材之家 企业之家 720全景
    (c)2015-2017 Bybc.cn SYSTEM All Rights Reserved