使用SFC51SFB52SFB54诊断PROFINETIO使用入门.docx
- 文档编号:5088017
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:11
- 大小:543.74KB
使用SFC51SFB52SFB54诊断PROFINETIO使用入门.docx
《使用SFC51SFB52SFB54诊断PROFINETIO使用入门.docx》由会员分享,可在线阅读,更多相关《使用SFC51SFB52SFB54诊断PROFINETIO使用入门.docx(11页珍藏版)》请在冰豆网上搜索。
使用SFC51SFB52SFB54诊断PROFINETIO使用入门
使用SFC51/SFB52/SFB54诊断PROFINETIO使用入门
显示订货号
1解决方案
1.1项目介绍
图1PROFINETIO网络拓扑,用于SFC51/SFB52/SFB54的诊断。
其中CPU319-3PN/DP用做IO控制器,SCALANCEX交换机和ET200S,ET200Eco作为IO设备进行连接。
图1PROFINETIO网络拓扑
本例中使用到的主要硬件和软件如下:
名称
数量
版本
订货号
CPU319-3PN/DP
1
V2.8
6ES7318-3EL00-0AB0
SCALANCEX208
1
V4.0
6GK5208-0BA10-2AA3
SCALANCEX201-3PIRT
1
V4.1
6GK5201-3BH00-2BA3
IM151-3PN
1
V6.1
6ES7151-3BA23-0AB0
IM151-3PNFOC
1
V4.0
6ES7151-3BB21-0AB0
PM-E
2
6ES7138-4CA01-0AA0
2DOHF
2
6ES7132-4BB01-0AB0
ET200ecoPN
1
6ES7142-6BG00-0AB0
Step7
1
V5.4+SP5
1.2硬件组态
按照1.1中的硬件在Step7中进行组态。
然后分配设备名,下载组态数据到CPU319中,具体设置设备名以及完成PROFINET通讯,请参考网站下载中心《S7-300PROFINETIO通讯快速入门》72325620
图2Step7的硬件组态
其中,“Ethernet
(1):
PROFINET-IO-System(100)”总线的100表示PROFINET总线的序号。
IO设备例如SCALACNEX和ET200上从1到5,表示PROFINETIO的设备号。
2SFC51诊断
2.1介绍
系统状态列表(SSL)用于描述可编程逻辑控制器的当前状态。
SSL的内容只能通过系统功能进行读取,而不能修改。
换言之,部分列表是虚拟列表,只是在有特殊请求时由CPU的操作系统所创建。
SFC51“RDSYSST”系统功能用于读取“系统状态列表”(简写为SSL),部分列表或CPU的SSL列表摘录。
对于PROFINETIO,这些SSL包含了I/O模块,PROFINETIO主站系统或实际控制器的状态信息。
当选择所用的、特别是在一个中断或启动OB中使用的SSLID时,必须注意的是SFC仅能同步执行。
如果执行SFC之后,Busy位激活表明几个循环执行一次SFC,数据还没有完全读出,因此数据是无效的。
接收到的系统状态列表数据记录包括了诊断PROFINETIO设备上的信息概览。
PN通信部分列表是虚拟列表,只是在有请求时由CPU的操作系统所创建。
虚拟列表来自CPU内部的PNIO控制器的缓冲区,缓冲区由控制器的启动和ALARM信息进行维护和刷新。
可以使用在PROFINETIO诊断的SSL_ID:
SSL_ID(W#16#...)
部分列表(PROFINET)
INDEX(W#16#...)
0C91
PROFINET接口模块(集成的或外部的)上的模块的模块状态信息
逻辑基地址,输出模块bit15=1
0D91
PROFINET中的所有模块的模块状态信息
bits0到10:
站号,bits11到14:
PNIO系统总线号的后两位,Bit15:
1
0094
PROFINET接口模块(集成的或外部的)上站的预期状态
100-115:
PNIO系统总线号
0294
读取实际的站点是否存在
同上
0694
读取实际的站点是否出错
同上
0794
读取实际的站点维护状态
同上
0C96
PROFINET中的所有模块的模块状态信息
逻辑基地址,输出模块bit15=1
通过SFC51只能获取站或模块的状态信息,例如,丢站,或者该模块有错误,并不能获取模板的故障的详细信息,例如哪一个模板的通道发生断线,短路等。
2.2编程
这里使用SFC51来读取每一个站点的实际状态,判断该站是否发生丢站故障。
在PLC中添加并下载空的OB86,防止测试丢站时,发生CPU停机现象。
当然也可以使用OB86来读取每一个IO设备的实际状态,但需要更多的编写程序,关于使用OB86来获取IO站点的状态信息,请参考网站下载中心《使用OB8x诊断SIMATICPLC(PN)》87668286
在OB1中加入SFC51,关于参数设置,点击“F1”参考SFC51在线帮助。
程序示例如下:
CALL"RDSYSST"
REQ:
=M0.0
SZL_ID:
=MW2
INDEX:
=MW4
RET_VAL:
=MW6
BUSY:
=M0.1
SZL_HEADER:
=DB1.SSL_HEADER
DR:
=DB1.RECORD
按照上表在变量表中设置SSL_ID=0294(MW2)和INDEX=16#64(MW4),其中16进制64的十进制为100,表示PROFINET总线的序号,请参考图2Step7的硬件组态。
添加要查看的变量,并使能M0.0为1。
其中读取到的数据记录个数为1(DB1.DBW2),该数据记录的长度为258bytes(DB1.DBW0)。
DB1.DBW4表示PROFINET总线的序号,这里为100(64H)。
对于DB1.DBB6为2#0011_1111,其中bit0表示组信息,如果为1,表示至少有一个IO设备与IO控制器进行通讯,如果为0,表示IO站点全部丢失。
Bit1~Bit5表示设备号1~5的IO设备的状态,1表示IO设备存在,0表示IO设备丢站。
至于其它Bit和高字节中的Bit依次类推,表示对应IO设备的状态。
图3根据变量表查看设备状态
根据这些位Bit1~5,可以很方便的在WinCC/WinCCFlexible中或任何第三方与PLC通讯的HMI上进行显示,方便用快速发现和维护现场故障。
3SFB52诊断
3.1介绍
SIMATICS7诊断数据记录提供了附加的详细信息的诊断性能。
系统功能块SFB52“RDREC”用于读取这些数据记录。
调用时,系统功能块对要诊断的站ID进行寻址,并以INDEX参数标明要读出的数据记录。
这可能是中央机架或分布式组件(PROFIBUSDP或PROFINETIO)中的一个模块。
如果没有诊断信息,则系统功能块执行后没有输出。
由于SFB52“RDREC”是一个异步执行的SFB,即执行过程横跨几个SFB调用,因此该块只能在循环操作中使用。
不能在诊断OB或定时中断OB中使用。
除了出错的精确位置外,SFB52诊断数据记录还包含发生错误的类型信息。
为了进一步分析,可对该信息进行评估。
在MLEN中指定要读取的最多字节数。
目标区域RECORD的选定长度至少应等于
MLEN字节的长度。
输出参数VALID如为TRUE,则表明已将数据记录成功传送到目标区域RECORD中。
此时,输出参数LEN包含所取得的数据的长度(以字节计)。
输出参数ERROR用以指示是否发生数据记录传送错误。
如果发生错误,则输出参数STATUS包含错误信息。
该功能块属于状态驱动类型,可以在OB1或者其它循环OB块中调用,用于读取诊断记录或者组态记录等数据记录。
PROFINETIO设备模型说明了模块化和紧凑型现场设备的结构。
它根据PROFIBUSDP的基本特性构建。
子模块和API的定义已添加至设备模型,以增加IO设备的灵活性。
一个PROFINETIO设备包括一个或多个“逻辑设备”,这些设备依次包含一个或多个API(应用程序进程标识符),至少包含API0。
设备的特性通过IO设备的基于XML的GSD(GeneralStationDescription)文件来描述。
可以通过PROFINETXMLViewer来读取GSDXML文件。
涉及到分级的概念,AP,API,SLOT,SUBSLOT。
每个寻址级别都有一组可用的诊断记录和组态记录。
通过记录编号的首字母来区别各记录组的诊断级别,如下图4诊断级别。
关于PROFINETIO设备模型和诊断的数据记录结构请参考19289930
图4诊断级别
3.2编程
这里使用SFB52来读取ET200SIM151-3PNFOC站点输出模块的状态,例如断线等,参考图5ET200SFOC的硬件组态列表。
在PLC中添加并下载空的OB82,防止测试断线故障时,发生CPU停机现象。
当然也可以使用OB82来读取IO设备的模块状态信息,但需要更多的编写程序,关于使用OB82来获取IO站点的模块的状态信息,请参考网站下载中心《使用OB8x诊断SIMATICPLC(PN)》87668286
图5ET200SFOC的硬件组态列表
双击该站的2DODC24V/0.5AHF模板,设置使能通道0相关的诊断“断线”,参考图6ET200S2DO模块的参数设置。
图6ET200S2DO模块的参数设置
在OB1中加入SFB52,关于参数设置,点击“F1”参考SFB52在线帮助。
程序示例如下:
CALL"RDREC",DB52
REQ:
=M0.2
ID:
=MD8
INDEX:
=MW12
MLEN:
=MW14
VALID:
=M0.3
BUSY:
=M0.4
ERROR:
=M0.5
STATUS:
=MD18
LEN:
=MW22
RECORD:
=DB2.DB_RECORD
按照需要上表在变量表中设置ID=16#00008002(MD8)和INDEX=16#800A(MW12),其中8002表示该输出模板的逻辑地址,请参考图4ET200SFOC的硬件组态列表。
添加要查看的变量,并使能Q2.0为1,此时激活断线故障,DO模板、ET200SFOC接口模板以及CPU的SF灯亮。
设置MLEN(MW14)的数据长度为100,需要大于或等于实际读取到的数据记录的长度,否则无法读到相关的诊断的信息。
然后使能M0.2为1,读取到的数据记录如下图7诊断数据记录。
其中最后一个字DB2.DBW24为16#0006,表示在该站的2(DB2.DBW10)号槽,1(DB2.DB12)号子槽的通道0(DB2.DBW20)发生“断路”故障,参考图8ChannelErrorType编码。
更多详细的通道故障类型信息,请参考19289930
也可以更高一级的诊断级别,例如AR级,设置ID=16#00001FDF(MD8)接口模板的诊断地址和INDEX=16#E00A(MW12)也可以读取到相同的诊断数据记录,不过由于该级别最高,那么可以获得该站的各个模板和各个通道的详细诊断信息。
根据故障类型的编码,可以很方便的在WinCC/WinCCFlexible中或任何第三方与PLC通讯的HMI上设置诊断信息并进行显示,方便用快速发现和维护现场故障。
需要注意在Step7中调用SFB52时,不要一直触发REQ,也就是说REQ不要一直为1,最好在需要的时候调用该功能块,因为一味的触发会占用PLC更多的资源和占用更多的带宽。
图7诊断数据记录
图8ChannelErrorType编码
4SFB54诊断
4.1介绍
SFB"RALRM"从外围设备模块(集中结构)或从DP从站或PROFINETIO设备组件
接收中断及其所有相应信息。
然后将此信息提供给输出参数。
带有附加详细输出参数中的信息包含被调用OB的启动信息以及中断源的信息。
由于要检查外围设备中断,故只能在由CPU操作系统启动的中断OB中调用SFB54。
中断OB外的SFB54“RALARM”调用是不推荐的,因为此时不能获取诊断状态的重要信息。
在TINFO和AINFO数据缓存中,AINFO中的USI=16#8000(WORD26)时快速获得诊断的一些重要信息如下:
TINFO的WORD20站号.
AINFO的WORD4中断类型
WORD12插槽号(SLOT)
WORD28通道号(CHANNEL)
WORD32出错类型
4.2编程
这里使用SFB54来捕获ET200SIM151-3PNFOC站点输出模块的中断状态,例如断线等,参考图5ET200SFOC的硬件组态列表。
在OB82中添加SFB54,用于捕获断线故障。
当然也可以使用OB82来读取IO设备的模块状态信息,但需要更多的编写程序,关于使用OB82来获取IO站点的模块的状态信息,请参考网站下载中心《使用OB8x诊断SIMATICPLC(PN)》87668286
双击该站的2DODC24V/0.5AHF模板,设置使能通道0相关的诊断“断线”,参考图6ET200S2DO模块的参数设置。
在OB82中加入SFB54,关于参数设置,点击“F1”参考SFB54在线帮助。
程序示例如下:
L#OB82_MDL_ADDR
TMD30
CALL"RALRM",DB54
MODE:
=1
F_ID:
=MD30
MLEN:
=1000
NEW:
=M1.0
STATUS:
=MD36
ID:
=MD40
LEN:
=MW44
TINFO:
="TINFO".TINFO
AINFO:
="AINFO".AINFO
在变量表中添加TINFO和AINFO的数据记录。
其中TINFO的WORD20为8005,表示PROFINET总线序号为100的系统中站号5发生故障。
根据图9AINFO变量表,可知AINFO中的DB4.DBW32为16#0006,表示在该站的2(DB4.DBW12)号槽,1(DB4.DB14)号子槽的通道0(DB2.DBW28)发生“断路”故障,参考图8ChannelErrorType编码。
更多详细的通道故障类型信息,请参考19289930
图9AINFO变量表
根据故障类型的编码,可以很方便的在WinCC/WinCCFlexible中或任何第三方与PLC通讯的HMI上设置诊断信息并进行显示,方便用快速发现和维护现场故障。
关键词
PROFINETIO,诊断,系统功能块,SFC51/SFB52/SFB54
条目号:
90528012
日期:
2014-04-02
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 SFC51SFB52SFB54 诊断 PROFINETIO 入门