欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    西门子S高级编程培训教材内部教材处理同步和异步错误.ppt

    • 资源ID:5764356       资源大小:222.07KB        全文页数:15页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    西门子S高级编程培训教材内部教材处理同步和异步错误.ppt

    处理同步和异步错误,处理异步错误,异步错误并未对应到程序的某个特定位置,例如,它们可同程序的处理过程异步出现。,1)仅适用于 S7-400,2)非Stopw/o Error OB,举例,错误类型,时间错误,超出最大扫描时间,电源错误,后备电源故障,诊断中断,可诊断模块的输入断线,删除/插入模块中断,在运行模式下将一个 S7-400 信号模块移除,CPU 硬件错误,在MPI 接口出现故障信号电平,程序顺序错误,更新过程映像出现错误(模块有故障),机架错误,分布式机架上电源故障,通信错误,不正确的消息代码,错误 OB,OB 80,OB 81 2),OB 82,OB 83 1),OB 84 1),OB 85,OB 86 1),OB 87,处理故障组织块,为了在发生错误时抑制 CPU STOP,传送一个空的故障组织块您可以在Error OB中编写预期的响应,并根据需要在执行 Error OB之后使用系统功能 SFC 46 请求系统处于 Stop 状态在故障组织块的启动信息中存有一个附加错误标识符,可在程序中检验。在线帮助或者系统和标准功能手册中详细介绍了故障组织块将OB传送到一个不支持该OB的CPU时,将被该CPU拒绝并伴随一个错误消息。,异步错误 OB 举例,OB81:Error OB:电源故障Network 1:电池故障,到来的事件L#OB81_FLT_ID/加载错误标识符LB#16#22/标识符:CR 中的电池故障=I=M81.1/设置存储器标志位L#OB81_EV_CLASS/标识符:到来,离去LB#16#39/标识符:到来事件=I=M81.2/存储器标志位到来事件AM81.1/电池故障和AM81.2/到来事件SM81.0/将存储器标志位设为错误显示/Network 2:当电池恢复正常后,复位辅助存储器标志位L#OB81_EV_CLASS/标识符:到来,离去LB#16#38/标识符:离去=IRM81.0/复位存储器标志位,处理同步错误,同步错误直接定位到用户程序中的一个位置算术指令中的错误(溢出、无效的实数数据)设置状态位处理 STL语句时的错误(同步错误)调用同步错误 OB,举例,错误类型,编程错误,调用 CPU 中不存在的块,访问错误,直接访问一个有缺陷的或者不存在的模块,错误 OB,OB 121,OB 122,编程错误 OB121 的启动信息,数据类型,变量名,OB121_EV_CLASS,BYTE,OB121_SW_FLT,BYTE,解释,赋值,B#16#25=调用编程错误 OB121,错误代码(参见文本),OB121_PRIORITY,BYTE,OB121_OB_NUMBR,BYTE,其中发生错误的优先级,OB 编号(B#16#79),OB121_BLK_TYPE,BYTE,OB121_RESERVED_1,BYTE,中断块的类型(仅适用S7-400)OB:B#16#88,DB:B#16#8A,FB:B#16#8E,FC:B#16#8C,错误码的补充(参见文本),OB121_FLT_REG,WORD,OB121_BLK_NUM,WORD,OB121:错误源,发生错误的块的号码,OB121_PRG_ADDR,WORD,OB121_DATE_TIME,DT,引发错误的块中的错误地址(仅适用 S7-400),发生编程错误时的时间,访问错误 OB122 的启动信息,数据类型,变量名称,OB122_EV_CLASS,BYTE,OB122_SW_FLT,BYTE,解释,赋值,B#16#29=调用访问错误,错误代码(可能的取值:B#16#42、B#16#43、B#16#44、B#16#45),OB122_PRIORITY,BYTE,OB122_OB_NUMBR,BYTE,其中发生错误的优先级,OB 编号(B#16#80),OB122_BLK_TYPE,BYTE,OB122_MEM_AREA,BYTE,中断块的类型(仅适用于 S7-400)OB:B#16#88,DB:B#16#8A,FB:B#16#8E,FC:B#16#8C,错误码的补充(参见文本),OB122_FLT_REG,WORD,OB122_BLK_NUM,WORD,OB122:发生错误处的地址标识符,其中发生错误的块的号码,OB122_PRG_ADDR,WORD,OB122_DATE_TIME,DT,引发错误的块中的错误地址(仅适用 S7-400),发生编程错误时的时间,屏蔽同步错误,同步错误 OB 的缺点:用于过程管理和错误处理的代码分布在至少两个块中后续更改或维护方面的问题较理想的情况:用于过程管理和错误处理的代码位于同一个块中屏蔽同步错误:在“紧急”指令之前:SFC 36 MSK_FLT:屏蔽同步错误(OB12x 禁止调用)执行“紧急”指令检查是否有错误发生SFC 38 READ_ERR:读 Error Register(错误寄存器)OB12x 再次开放调用:SFC 37 DMSK_FLT:解除屏蔽同步错误,SFC 36 屏蔽同步错误,MSK_FLT,EN,ENO,PRGFLT_SET_MASK,ACCFLT_SET_MASK,RET_VAL,?.?,PRGFLT_MASKED,?.?,ACCFLT_MASKED,?.?,?.?,?.?,参数声明数据类型内存区域解释PRGFLT_SET_MASKINPUTDWORD I,Q,M,D,L,Const.新(附加的)编程错误过滤器 ACCFLT_SET_MASKINPUTBYTE I,Q,M,D,L,Const.新附加访问故障过滤器RET_VALOUTPUTINT I,Q,M,D,LSFC 返回值,001:新过滤器同已有的过器滤重叠PRGFLT_MASKEDOUTPUTDWORD I,Q,M,D,L完成编程错误过滤ACCFLT_MASKEDOUTPUTDWORD I,Q,M,D,L完成访问错误过滤,编程错误过滤器的结构,BCD 转换错误,范围长度错误,读,范围长度错误,写,范围错误,读,范围错误,写,计时器号错误,计数器号错误,未对齐,读,未对齐,写,未定义,写错误 DB,写错误实例 DB,块编号错误 DB,块编号错误 DI,块编号错误 FC,块编号错误 FB,DB 未加载,FC 未加载,FB 未加载,注:输出参数 RGFLT_MASKED 的相应位的设置如下:Value(值)=1:屏蔽错误。Value(值)=0:不屏蔽错误。,访问错误过滤器的结构,31 30 29.7 6 5 4 3 2 1 0,I/O 读访问错误,仅对于 S7-400:I/O 访问错误,指读取不存在的模块或者重复访问,未定义,I/O 写访问错误,仅对于S7-400:向不存在的模块写入或者重复访问而引发I/O访问错误,.,注:输出参数 ACCFLT_MASKED 的相应位设置如下:Value=1:屏蔽错误。Value=0:不屏蔽错误。未定义的位的值为“1”。,SFC 37 解除同步错误屏蔽,DMSK_FLT,EN,ENO,PRGFLT_RESET_MASK,ACCFLT_RESET_MASK,RET_VAL,?.?,PRGFLT_MASKED,?.?,ACCFLT_MASKED,?.?,?.?,?.?,参数声明数据类型内存区域解释PRGFLT_RESET_MASKINPUTDWORD I,Q,M,D,L,Const.编程错误过滤器复位ACCFLT_RESET_MASKINPUTBYTE I,Q,M,D,L,Const.访问错误过滤器复位RET_VALOUTPUTINT I,Q,M,D,LSFC返回值,W#16#0001:新的过滤器中包含已存贮的 过滤未设置的位PRGFLT_MASKEDOUTPUTDWORD I,Q,M,D,L仍被屏蔽的编程错误ACCFLT_MASKEDOUTPUTDWORD I,Q,M,D,L仍被屏蔽的访问错误,SFC 38 读错误寄存器,READ_ERR,EN,ENO,PRGFLT_QUERRY,ACCFLT_QUERRY,RET_VAL,?.?,PRGFLT_CLR,?.?,ACCFLT_CLR,?.?,?.?,?.?,参数声明数据类型内存区域 解释PRGFLT_QUERRYINPUTDWORD I,Q,M,D,L,Const.编程错误过滤检查ACCFLT_QUERRYINPUTBYTE I,Q,M,D,L,Const.访问错误过滤检查RET_VALOUTPUTINT I,Q,M,D,LSFC返回值,W#16#0001:检查过滤结果中包含了未设置的 位(在存贮的过滤器中)PRGFLT_CLROUTPUTDWORD I,Q,M,D,L编程错误过滤及错误信息 ACCFLT_CLROUTPUTDWORD I,Q,M,D,L访问错误过滤及错误信息,示例:数据块测试,Network 1:Masking,Testing,Demasking/Mask DB does not existCALLSFC36(PRGFLT_SET_MASK:=DW#16#4000000,/标识符:DB 不存在 ACCFLT_SET_MASK:=DW#16#0,/未屏蔽访问错误 RET_VAL:=#SFC36Error,PRGFLT_MASKED:=#Prog36Mask,ACCFLT_MASKED:=#Acc36Mask);/Test callOPN DBDB_NO;/Check programming errorCALLSFC38(PRGFLT_QUERRY:=DW#16#4000000,/标识符:DB 不存在 ACCFLT_QUERRY:=DW#16#0,/未屏蔽访问错误 RET_VAL:=#SFC38Error,PRGFLT_MASKED:=#Prog38Mask,ACCFLT_MASKED:=#Acc38Mask);/Evaluate resultL#Prog38MaskLDW#16#4000000=D=#DB_NOT_THERE/设置辅助变量 DB not there/Demask DB does not existCALLSFC37(PRGFLT_RESET_MASK:=DW#16#4000000,/标识符:DB 不存在 ACCFLT_RESET_MASK:=DW#16#0,/未屏蔽访问错误 RET_VAL:=#SFC37Error,PRGFLT_MASKED:=#Prog37Mask,ACCFLT_MASKED:=#Acc37Mask);,练习 8.1:FC81中的错误处理,FC 81,EN,ENO,Meas_values,Sum,Mean_value,声明名称类型inMeas_valuesANYoutRET_VALINToutSumREALoutMean_valueREAL,RET_VAL,错误代码,错误原因错误代码无错误0数据类型REAL-1DB 不存在-2范围长度错误-4,

    注意事项

    本文(西门子S高级编程培训教材内部教材处理同步和异步错误.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开