使用SFC51,SFB52,SFB54诊断PROFINETIO使用入门_第1页
使用SFC51,SFB52,SFB54诊断PROFINETIO使用入门_第2页
使用SFC51,SFB52,SFB54诊断PROFINETIO使用入门_第3页
使用SFC51,SFB52,SFB54诊断PROFINETIO使用入门_第4页
使用SFC51,SFB52,SFB54诊断PROFINETIO使用入门_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、使用 sfc51/sfb52/sfb54诊断 profinet i0 使用入门 姑示订货号1解决方案1.1项目介绍图 1 profinet i0 网络拓扑,用于 sfc51/sfb52/sfb54的诊断。其中 cpu319-3pn/dp 用做 i0 控制器,scalancex交换机和et200s, et200eco作为i0设备进行连接。1et200ecopnh00001 aff味缆11foc光纤51图1 profinet i0网络拓扑本例屮使用到的主要硬件和软件如卜*:名称数最订货号cpu319-3pn/dp1v2.86es7 318-3el00-0ab0scalance x2081v4.06

2、gk5 208-0ba10-2aa3scalance x201-3p irt1v4.16gk5 201-3bh00-2ba3im151-3 pn1v6.16es7 151-3ba23-0ab0im151-3 pn foc1v4.06es7 151-3bb21-0ab0pm-e26es7 138-4ca01-0aa02d0 hf26es7 132-4bb01-0ab0et200 eco pn16es7 142-6bg00-0ab0step71v5.4+sp51.2硬件组态按照1.1中的硬件在step7中进行组态。然后分配设备名,下载组态数据到cpu319中,具体设置设备名以及完成profinet

3、通讯,请参考网站下载中心s7-300 profinet i0通讯快速入门723256201q(o)ur2a7x?x?cpu 319-3 pn/dpmpf/dpdppn.k)plwl poftlg(3)et200e!ethernetfl): rrofinet.iosy$tem|100)图2step7的硬件组态其中,“ethernet(1):profinet-io-system(100)” 总线的 100表示 profinet 总线的序号。io 设备例如 scalacnex和et200上从1到5,表示profinet io的设备号。2sfc51诊断2.1介绍系统状态列表(ssl)用于描述可编程逻辑

4、控制器的尚前状态。ssl的内容只能通过系统功能进行读取,而不能修改。换言之,部分列表是虚拟列表,只是在有特殊请求时由cpu的操作系统所创建。sfc51 “rdsysst”系统功能用于读取“系统状态列表”(简写为ssl),部分列表或cpu的ssl列表摘录。对于profinet io,这些ssl包含了 i/o模块,profinet io主站系统或实际控制器的状态信息。当选择所用的、特别是在一个中断或启动ob中使用的ssl id时,必须注意的是sfc仅能同步执行。如果执行sfc之后,busy位激活表明几个循环执行一次sfc,数据还没有完全读出,因此数据是无效的。接收到的系统状态列表数据记录包括了诊断

5、profinet 10设备上的信息概览。pn通信部分列表是虚拟列表,只是在宥请求时由cpu的操作系统所创建。虚拟列表来自cpu内部的pn 10控制器的缓冲区,缓冲区山控制器的启动和alarm信息进行维护和刷新。可以使用在profinet 10诊断的ssljd:ssl_id(w#16# )部分列表(profinet)index (w#16#.)0c91profinet接口模块(集成的或外部的)上的模块的模块状态信息逻辑基地址,输出模块bit15=10d91profinet中的所有模块的模块状态信息bits 0到10:站号,bits 11到14: pn i0系统总线号的后两位,bit 15: 10

6、094profinet接口模块(集成的或外部的)上站的预期状态100-115: pn i0系统总线号0294读取实际的站点是否存在同上0694读取实际的站点是否出错同上0794读取实际的站点维护状态同上0c96profinet屮的所有模块的模块状态信息逻辑基地址,输出模块bit15=1通过sfc51只能获取站或模块的状态信息,例如,丢站,或者该模块有错误,并不能获取模板的故障的详细信息,例 如哪一个模板的通道发生断线,短路等。2.2编程这里使用sfc51来读取每一个站点的实际状态,判断该站是否发生丢站故障。在plc屮添加并下载空的ob86,防止测试丢站时,发生cpu停机现象。当然也可以使用ob

7、86来读取每一个i0设备的实际状态,但需要更多的编写程序, 关于使用ob86来获取i0站点的状态信息,请参考网站下载中心使用0b8x诊断simatic plc(pn)87668286在0b1中加入sfc51,关于参数设置,点击“f1”参考sfc51在线帮助。程序示例如下:call"rdsysst"req :=m0.0szl_id :=mw2index :=mw4ret_val :=mw6busy :=m0.1szl_header:=db1 .ssl.headerdr :=db1.record按照上表在变最表屮设置ssl_id=0294 (mw2)和index=16#64 (

8、mw4),其屮16进制64的十进制为100,表示profinet总线的序号,请参考阁2 step7的硬件组态。添加要杳看的变量,并使能m0.0力1。其中读取到的数据记录个数为1 (db1.dbw2),该数据记录的长度为258bytes (db1.dbw0)。db1.dbw4表示profinet总线的序号,这里为100 (64h)。对于db1.dbb6为2#0011_1111,其中bito表示组信息,如果为1,表示至少有一个io设备与io控制器进行通讯,如果为0,表示io站点全部丢失。bit1bit5表示设备号15的io设备的状态,1表示io设备存在,0表示io设备丢站。至于其它bit和高字节中

9、的bit依次类推,表示对应io设备的状态。w 3根据变景表杳看设备状态根据这些位bit15,可以很方便的在wincc/wincc flexible中或任何第三方与plc通讯的hmi上进行显示,方便用快速发现和维护现场故障。3 sfb52诊断3.1介绍simatics7诊断数据记录提供丫附加的详细信息的诊断性能。系统功能块sfb52 “rdrec”用于读取这些数据记录。调用时,系统功能块对要诊断的站id进行寻址,并以index参数标明要读出的数据记录。这可能是屮央机架或分布式组件(prof旧us dp或profinet i0)中的一个模块。如果没有诊断信息,则系统功能块执行后没有输出。由于sfb

10、52 “rdrec”是一个异步执行的sfb,即执行过程横跨儿个sfb调用,因此该块只能在循环操作中使用。不能在诊断0b或定时中断0b中使用。除了出错的精确位置外,sfb52诊断数据记录还包含发生错误的类型信总。为了 进一步分析,可对该信息进行评估。在mlen中指定要读取的最多字节数。3标区域record的选定长度至少应等于mlen字节的k度。输出参数valid如为true,则表明己将数据记录成功传送到h标区域record中。此时,输出参数len包含所取得的数据的长度(以字节计)。输出参数error用以指示是否发生数据记录传送错误。如果发生错误,则输出参数status包含错误信息。该功能块属于状

11、态驱动类型,可以在0b1或者其它循环0b块中调用,用于读取诊断记录或者组态记录等数据记录。profinet i0没备模型说明了模块化和紧凑型现场没备的结构。它根据profibus dp的基本特性构建。子模块和api的定义己添加至设备模型,以增加i0设备的灵活性。一个profinet i0设备包括一个或多个“逻辑设备”,这些设备依次包含一个或多个api (应用程序进程标识符),至少包含api 0。设备的特性通过io设备的基于xml的gsd(general station description)文件来描述。可以通过profinet xmlviewer来读取gsdxml文件涉及到分级的概念,ap,

12、 api,slot, subslot。每个寻址级别都有一组可用的诊断记录和组态记录。通过记录编号的首字母来区别各记录组的诊断级别,如下图4诊断级别。关于profinet 10没备模型和诊断的数据记录结构请参考 19289930图4诊断级别3.2编程这里使用sfb52来读取et200sim151-3pnfoc站点输出模块的状态,例如断线等,参考阁5 et200s foc的硬件组态列表。在plc中添加并下载空的ob82,防止测试断线故障时,发生cpu停机现象。当然也可以使用ob82来读取i0设备的模块状态信息,似需要更多的编写程序,关于使用ob82来获取i0站点的模块的状态信息,诏参考网站下载中心

13、使用ob8x诊断simaticplc(pn)87668286slol| modjeorder numberi addressq addressdiagnostic addressi 0s w151 3pn16es7 151 3b821 0ab08159 霣卜1 pn40s15s9a7/1 portlsisrxui port 28160.11 pm-e dc24v6es7138-4ca01-0aa081 sr|2_li 2d0 dc24vz0.5a hf6es7132-4bb01w02.0 2.1阁5 et200s foc的硬件组态列表双击该站的2dodc24v/0.5ahf模板,设置使能通道0

14、相关的诊断“断线”,参考图6 et200s 2d0模块的参数设置。阁6 et200s 2d0模块的参数设置在0b1屮加入sfb52,关于参数设置,点击“f1”参考sfb52在线帮助。程序示例如下:call "rdrec", db52req :=m0.2id :=md8index :=mw12mlen :=mw14valid :=m0.3busy :=m0.4error :=m0.5status:=md18len :=mw22record:=db2.db_record按照需要上表在变量表屮设置id=16#00008002(md8)和index=16#800a (mw12),其

15、屮8002表示该输出模板的逻辑地址,请参考图4 et200s foc的硬件组态列表。添加要齊看的变量,并使能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)发生“断路”故障,参考图8 channelerrortype编码。更多

16、详细的通道故障类型信息,请参考19289930也可以更高一级的诊断级别,例如ar级,设置id=16#00001fdf (md8)接口模板的诊断地址和index=16#e00a(mw12)也可以读取到相同的诊断数据记录,不过由于该级别最高,那么nj以获得该站的各个模板和各个通道的详细诊 断信息。根据故障类型的编码,可以很方便的在wincc/wincc flexible中或任何第三方与plc通讯的hmi上设置诊断信息并进行显示,方便用快速发现和维护现场故障。需要注意在step7中调用sfb52时,不要一直触发req,也就是说req不要一直为1,最好在需要的时候调用该功能块,因为一味的触发会占用pl

17、c更多的资源和占用更多的带宽。7边进置以仙w.r丄sb边j通zw| addressisplostatus value| ibdifyvaluedb2.d6w db2. d6w db2. dbw db2.db0 |h| db2. d6w |db2. dbw 'db2. d6w (db2. dbw |db2. d6w db2. dbw idb2. d6w db2.d6916180.2 2-0 812 14 22boolbool圓 true ntruehex圓餅00008002dw 醐 00008002hexw«16tt800aw»16«800aidec1001

18、00hexw 應00000hexw16«0010btocktypo22dec22btocklon(h4f£xw«16tt0101bixfcvenicn2tyte»6hex剛 160x)00000api4 bytm10dec2slctnumbar2t>ytos12decisubmomtafnter14 fexw 聊8000charvximumter2ttm16hexw«16«0800ctmrmdprofmrtim218hexw«16»8000us4 (umt stuctire201xw#16»0000

19、chjnnomumb«r2 b>tos22fex1680801cmrmfroperm24冒醐0006cmnriqleftoi图7诊断数据记录值(十六进制)含义出错消息w#16#0000已保留未知铕i吴w#16#0001短路短路w#16#0002欠压欠压w#16#0003过电压过电压w#16#0004过载过载w#16#0005过热过热w#16#0006断路断路w#16#0007超出上限超出上兩w#16#0008超出下隈超出下兩w#16#0009错误铕误w#16#000a 51 w#16#000f已保留未知错误w#16#0010供应商特定参教分配不正确参数分配不正确w#16#001

20、1供应商特定电源故障电源故障图 8 channelerrortype 编码4 sfb54诊断4.1介绍sfb ”ralrm”从外囤设备模块(集屮结构)或从dp从站或profinet i0设备组件接收中断及其所有相应信息。然后将此信息提供给输出参数。带有附加详细输出参数中的信总包含被调用0b的启动信总以及中断源的信总。由于要检査外闱设备中断,故只能在由cpu操作系统启动的屮断0b屮调用sfb 54。屮断0b外的sfb 54 “ralarm”调用是不推荐的,因为此时不能获取诊断状态的重要信息。块名执行级别注释sfb 54 .ralarm"中断0b,根据甫 嬰: ob82 ob83 ob8

21、5 ob86,操作sfb54时*必须遵泞mode参数,此 处必须使w mode = 1«,在tinfo和ainfo数据缓存中,ainfo中的usi=16#8000 (word 26)时快速获得诊断的一些重要信息如卜tinfo 的 word 20 站号.ainfo的word 4中断类型word 12 插槽号(slot)word 28 通道号(channel)word 32出错类型4.2编程这里使用sfb54来捕获et200sim151-3pnfoc站点输出模块的屮断状态,例如断线等,参考图5 et200s foc的硬件组态列表。在ob82中添加sfb54,用于捕获断线故障。当然也可以使

22、用ob82来读取io设备的模块状态信息,何需耍更多的编写程序,关于使用ob82來获取io站点的模块的状态信息,请参考网站下载中心使用ob8x诊断simatic plc(pn)87668286双击该站的2dodc24v/0.5ahf模板,设置使能通道0相关的诊断“断线”,参考图6 et200s 2do模块的参数设置。在ob82屮加入sfb54,关于参数设置,点击“f1”参考sfb54在线帮助。程序示例如下:l #ob82_mdl_addrtmd30call "ralrm",db54mode :=1f_id :=md30mlen :=1000new :=m1.0status:=md36id :=md40len :=mw44tinfo :="tinfo".tinfoai

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论