西门子V20变频器6SL3210-5BE31-8CV0
我公司是西门子签约代理商备有大量西门子产品浔之漫智控技术(上海)有限公司:西门子授权代理商
现货库存;大量全新库存,款到48小时发货,无须漫长货期
西门子PLC(S7-200、S7-200SMART、S7-300、S7-400、S7-1200、S7-1500、ET200S、ET200M、ET200SP)、触摸屏、变频器、工控机、电线电缆、仪器仪表等,产品选型、询价、采购,敬请联系,浔之漫智控技术(上海)有限公司
SFC 51简介
1.1 程序功能介绍
通过系统功能SFC 51 "RDSYSST"(读取系统状态),可以读取系统状态列表或部分系统状态列表,例如指示灯状态,序列号,从站状态等等。
调用SFC51时,通过将值“1"赋给输入参数REQ来启动读取。如果可以立即读取系统状态,则SFC将在BUSY输出参数中返回值0。如果BUSY包含值1,则尚未完成读取功能。
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会有不同数目的指示灯):
关于系统功能SFC51的更多详情请参阅STEP 7的在线帮助,或者通过Start > SIMATIC >DOCUMENTATION选择手册“System Software for S7-300/400 System andStandard Functions"
3 读取Profibus DP从站 状态
3.1 编程
需要创建一个数据块,用来存放读取出来的状态结果
图4 创建DB1,存放读取结果
打开OB1,在OB1的临时变量区创建一个变量length,类型设置为Struct(结构)
图5 创建名为length的结构变量