s7-1200分布式IO诊断.docx
S7-1200与分布式IO设备的诊断功能S7-1200CPUV2.1起先支持分布式IO设备的诊断功能,可运用DeviceStates和ModuIeStates指令对分布式IO设备的站状态和了模块进行诊断。本文运用4CV4.0CPU和ET200SP的PN通信为例进行说明(DP通信同样适用)。1. CPUI2I4CDCDCDC,V4.0,一台2. ET200SP分布式10站,PN接口,两套1.TIAPortalV13SP1UPD2运用TIAPortal创建项目运用TIAPOrlal创建一个新项目,正确配置,下载后,进入网络视图,全部站点状态正常。如图1所示。tA>81.f4«H七上网S聚!11N按'OJ81VPN子同地地子网王站/2系线3S712OO>uoon_1S71200UO11»nc_1CTU1214COCOWKIOd<<t,1ZX556PNST»PfiOFtNET8PftORNeiSD19216870.101PnM1TOOFiHETIO-Syitem1¾200SPmccCT200"stot>onIOdeMCj2S11556PNHF»PROMUeT摘口M19216S70102Pf*rjFW>FTOtem2.ETJOOSP*un1ET2005,SOg注意:使用DeVlCeStaIeS指令诊断PN分布JtIOfft.通1±”设备缠号'对应故障的子站。图1网络视图留意:分布式IO为PN子站时,可在“网络概览”中可以查看分布式IO的设备编号。1运用DevkeStates指令对分布式IO子站进行修防1-1创建全Iig块,用于存储状态效据图3调用DeviceStates指令本例中将MODE设置为2,STTE填写上述定义的全局数据块数组。如图4所示。>块标题:eMainProgramSweep(Cycle)"程序段1:DevkeStates269e1.oceI-PROFINEI.0-S)5tem-2-*devicestte".stateENENOReJVal1.ADDRMODESlXIE图4填写相应的引脚指令引脚说明:参数运用1.ADDR参数通过硬件标识符选择Profinetio或DP主站系统。1.ADDR硬件标识符位于: PROHNETIO或DP主站系统属性的网络视图中。 或数据类型为HW,IOSYSTEM的所列系统常量的P1.C变量表中。运用MODE参数可读取状态信息。可读取整个Profinetio或DP主站系统的下列一条状态信息: 1:10设备/DP从站已组态参数2:IO设备/DP从站故障MODE3:IO设备/DP从站已禁用 4:IO设备/DP从站存在 5:出现问题的10设备/DP从站。参数通过STATE参数,输出由MODE参数选择的IO设备/DP从站的状态。STATE假如运用MoDE选择的状态适用于IO设备/DP从站,则在STTE参数中将下列位设置为“1”: 位0=1:组显示。至少有一个IO设备/DP从站的第n位设置为“1”。 位n=l:通过MODE选择的状态将应用到IO设备/DP从站。0对于PRoFlNETlo系统,第n位对应于相应IO设备的设备编号(请参见设备视图和网络视图中的Profinet接口屈性)。0对于PRoFINETDP系统,第n位对应于DP从站的PROFIBUS地址(请参见设备视图和网络视图中的DP从站屈性)。运用''BOO1.”或"ArrayofBoo1.”作为数据类型: 要仅输出状态信息的组显示位,可在STATE参数中运用B1.数据类型。 要输出全部IO设备/DP从站的状态信息,请运用下列氏度的ArrayofBOO1.: 对于Profinetio系统:1024位对于DP主站系统:128位1-3就将程序下载到P1.C中。监控全局数据块devicestate如图5所示。项目树mdiagnosisPlC1ICPU1214£DCD(7DC>程序块devicestatJ设备1.30Og:岁j%"驿工*uEEdevicestate_JdiagnosisQA名称数据类学启动值监衩信添加新设咨<Static国主设备和网络OstateEoyfO.1023ofBoolSPlCjlCMJ1214CDaDaDaQ3stoteOBooleFA1.SEDt设备组态4-QStAtelBoolfokeFA1.SE在线和诊甑5Jstate2BoolFA1.SEJ建座住6"state37<3"state48<3"stte(5EAlCCV¾UJVwWDVUiT<31.1.>U»添加新块*Main0B1BcolBoolIO系统正常。IhlseJhlseF"SEF1.S.devicestate(OB1J9<3"stte6BoolfalseFAtSE图5IO系统正常当IOdeVi8_2故障时(掉电或网线拔除导致丢站),state2=l.如图6所示。is»设备和网络RttUa«迁4.祖,CPURg,需要维护。PNC.1IOdevice1故devicestatediagnosisOA名称数据类型启动值监视值»添加新设备。Statk国,设备炯络20stateArray(01023OfBooIJP1.JICPU1214CDaDaDq3OState(O)BoolfalseIwUEDt设备组秀ssute(1)BoolseFA1.SE在线和诊断5句SStel2)BoolTOJEA程序块=6<2-sute(3jBoolFA1.SE赳崎块句"stte4BooIodoViCgj故业rFA1.SE»Msin0B1)343stte(5Boo障。lseFA1.SEdevices½teDB190stte(6BooalseFA1.SE图6IOdevicc_2故障当IodeVice_l和IOdevice_2故障时(掉电或网线拔除导致丢站),statel=l和state2=l.如图7所示。»设ii<oiWIOdevice故IOdevice2故障。devicestateJdiagnosisQA名称涿由设雷1OStatic设备和领2©stateHP1.C_1(CPU1214CDODODCU3®stote0Ut设瞽组态4<3"StMel1在线和诊断543"sute2a在序块三6<3sute3添加新决7Osute4*MainOB1843stte(Sdevicestate(DB19Ostate6敷据类型启动值监视值Arrey(O.1023ofBoolBoolseTRUEBoclfalse三JEbo°iTPUE0°lIOdevice1和falseFA1.SEBooliOdevice2故falseFA1.SEBool障。falseFA1.SEBoolseFA1.SE图7IOdevicc-l和IOdevicc-2故障2运用ModuIeSial指令对分布式IO子模块进行修,2-1创全局数据块,用于存储状趣据在全局数据块中创建数据类型为ArrayofBOO1.数组,共计128个元素。如图8所示。图8创建全局数据块2-2as在OBl中调用ModuIcStates指令,双击1.ADDR引脚,选择须耍诊断的分布式IO站。如图9所示。:1.i1B×指令送件收藏夹基本指令扩展指令名称»二日期和附同工学荷品+字符>一分布式"。中甑施逑.1.ED*GetJMeDataDev】CeStaEeS读取1.ED状态读取标识及维护数据读助IO系*MOduIeSUtes读取模块钠槿块状态信息点击小书本后,在弹出的对话框中选择需要诊断的干站。本例选择子站IOdevice1.QSiS>P1.C_1CPU1214CDCDCDC>程序块MainOBJ程序段2:主移图9调用ModuleStates指令所示。本例中将MoDE设置为2.STTE填写上述定义的全局数据块数组。如图程序段2:ModuIeStatesENENOReJVal1.ADDRMODESTATE2850device.IMODevice*2modulestte.stateTog.2,图IO填写相应的引脚参数指令引脚说明:运用1.ADDR参数通过站硬件标识符选择IO设备或DP从站。1.ADDR硬件标识符位于:IO设备站或DP从站属性的网络视图中。或数据类型为HW_DEVICE(对于【0设备)或HW.DPS1.AVE(对于DP从站)的所列系统常量的P1.C变量表中。运用MoDE参数可读取状态信息。可读取模块的下列,条状态信息:I:模块已组态参数MODE2:模块故障3:模块禁用4:模块存在5:模块中存在故障。参数STATESTATE参数输出访用MODE参数选择的模块状态。假如运用MODE选择的状态适用于某个模块,那么下列位将设置为“1”: 位0=1:组显示。至少一个模块的第n位设置为“1”。 位n=l:运用MoDE选择的状态将应用到插槽n-l(例如:位3对应插槽2)中的模块。运用“BOO1.”或“ArrayofBOO1.”作为数据类型: 要仅输出状态信息的组显示位,可在STATE参数中运用BOO1.数据类型。 要输出全部模块的状态信息,请运用长度为128位的ArrayofBOO1.1-3,试将程序下载到P1.C中。监控全局数据块modulestateO如图11所示。图11分布式IO站全部子模块正常当IOdeviceJ站插槽编号I的子模块故障时(损坏或被拔除),state2=l0如图12所示。插槽嫔号1千模块故律。项目树mdiagnosis»P1.C1(CPU1214CDQDGDCl,程序块,modi三画导争聿物P择主!H国modulestatediagnosisO名称购掘奕21启动值监视值¾DSiS句Statk画设黄炳络2句StAteAfmy(O.127OfBOOlP1.C_1CPU1214CDODQDC!3Dstte(OBoollseWEat设备组态4Dstte(1)CoolfalseFA1.SE%在姨和诊断5包"stte(2BoolTOJEA程序yel6<0"state(3)BoolFA1.SEH添加新块句Stotel4BoolWq«FFA1.SE,MDIMOBl)_._«_IJw1H-*I1句-sste5Bool模块故降。FA1.SE图12插槽编号1子模块故障