苏州实操派科技有限公司官网-实操派教育科技,汇川技术PLC培训,实操派PLC培训,苏州PLC培训机构

首页国产自动化汇川小型PLC中型PLC运行异常处理方法指导
NOTNT

文档

17

关注

0

好评

0
PDF

中型PLC运行异常处理方法指导

阅读 172 下载 209 大小 772.16K 总页数 12 页 2022-11-01 分享
价格:¥ 1.00 + 10 π币
下载文档
/ 12
全屏查看
中型PLC运行异常处理方法指导
还有 12 页未读 ,您可以 继续阅读 或 下载文档
1、本文档共计 12 页,下载后文档不带水印,支持完整阅读内容或进行编辑。
2、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
4、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。 免责声明: 版权:我们作为资源的整理方,所有资源均来自互联网的优秀作者们,版权归原作者或企业所有。
申明:任何使用本站收集的资源产生的不测后果,本站不对此负任何责任。
实操派文库INOVANCE汇川技术派文库最全的工业自动化手册下OU..最全的工业自动化手册下载:至实操派”单位添加“指针检查”后,编程软件会在“应用”设备树下默认添加“CheckPointer”函数,在函数中手动添加调试代码,如下图所示:实操派文库一最全的工业自动化手用户程序每执行一次指针调用,系统将默认执行“CheckPointer”最全的工业自动化手册下载隐含检查函数一次。通过在函数内部添加程序断点的调试方法,可以定位空指针在用户程序中使用的具体位置(断点调试方法请参考附录)。登录PLC,在新增代码处“CheckPointer:=ptToTest;”右键添加断点并激活,手动启动运行PLC(AM系列调试阶段需要将PLC的运行开关拨到“STOP”,如果是AC系列,需要在小屏幕设置为“程序开机运行”),目前只能定位指针为0的情况,如下图。是快实操派文库INOVANCE汇川技术派文最全的工业自动化手单步调试(F10)一最全的工业自动化手册下载:至END IF单步调试(F10)直到进入用户程序中样例中发生指针发生异常的程序位置■解决方法用户程序指针调用处增加指针非0判断条件,如下图:23END IF实操派文库一最全的@数组越界自动化手实操派文库一最全的工业自动化手册下载数组越界,分为上越界、下越界。程序中调用越界数组,可能导致数组相邻的变量值被调用的越界数组值覆盖。程序中POU变量定义和数组在系统的内存分布大致如下图中bySum、abyBuff,byCount之间的关系。学PLC就是快I实操派文库INOVANCE汇川技术VAR定义变量在内存的空问分布pbySrc POINTER TO BYTEbySum最全的工业自动化手pAx1s POINTER TO AXIS REF SM3:bySum BYTE;byBuff[1]byBuff[2☒byCount BYTE:byBuff3】byBuff[4]END VAR地址可能连续工业自动化手册下载变量定义区,byBuff[1]和变量bySum相邻,byBuff[4]与byCount相邻。如果用户程序对byBuff[O]、byBuff[5]进行写操作,那么bySum、byCount值可能分别被数组的byBuff[O]、byBuff[5]值覆盖,共用相同内存地址(编译时,系统己经所有变量分配内存地址。由于内存地址分配有优化算法,因此变量之间地址可能连续,可能不连续。一般情况下,数组上界与变量内存地址连续的可能性较大)。举例:iIndex作为数组变量,当iIndex等于5时,byBuff[iIndex]赋值“123”,观察byCount的值(结果如下图)。BYTEBYTE2125实操派文库一最全的工业自动化1当iIndex等于0时,byBuff[iIndex]赋值“123”,观察bySum值变结果bySum等于0,因为bySum指向的地址与byBuff[O]不连续。册最全的工业自动化手册下载■定位步骤与指针异常步骤类似,在用户程序设备树“应用”添加“用于隐含检查的P0U”,并勾选“绑定检查(纯音译结果,正确翻译应该是检查界限/边界)”,系统将在“应用”设备树下默认添加“CheckBounds”函数,如下图所示:实操派文库INOVANCE汇川技术派文库最全的工业自动化手册下载:到实操派”制w了ApUT..最全的工业自动化手册下载:到单结登录PLC,在代码处“CheckBounds:=lower;和“CheckBounds:=upper;”,增加断点并激活。通过单步调试(Fl0)定位到发生异常的用户程序位置,对比当前数组变量是否在数组定义的范围,如下图所示,abyBuff5]不在定义byBuff[1.4]范围内.12CheckBounds01实操派文库一最全的工业自动化手册4BLSIP index5>upper4THEN0CheckBounds:upper4:=index 5END IF单步调试(F10)直到进入用户程序实操派文库一最全的工业自动化手册下载■解决方法学PLC就是快无,必须在代码中解决。实操派文库INOVANCE汇川技术③除数为0最全的工业自动化手册或者多个POU被赋值。■定位步骤在用户程序设备树“应用”添加“用于隐含检查的POU”,并勾选“除法检查”。如下图所示:实操派文库一最全的工业自动化手册库系统在“应用”设备树下默认添加“CheckDivDInt”“CheckDivLInt”、“CheckDivLReal”、“CheckDivReal”四个函数。登录PLC,在四个函数代码“CheckDivDInt:=l;”、工业自动化手册下载CheckDivLInt:=l:”、“CheckDivLReal:=l;”、“CheckDivReal:=l;”位置增加断点并激活。通过单步调试(F1O)定位到用户程序位置(具体操作参考前面指针异常调试步骤)。■解决方法LC就是快参与运算的代码处增加“除数等于0”的条件判断,32bit变量通常用10E-6(0.000001)作为判断门槛值,64bit变量根据需要调整精度,最小不小于10E-15,如下图.实操派文库INOVANCE汇川技术IF ABS(fDiv)>=0.000001 THEN派文1fRet :=(fSum fDiv);最全的工业自动化END IF④数据类型隐式转换一最全的工业自动化手册下载:至载到有相同数据宽度的有符号和无符号变量之间赋值运算,强制赋值可能导致变量的值不在预期范围,变量在其他程序段被引用,可能会导致程序执行异常,如下图所示。◆Temp有符号整型-32749◆uiTemp无符号整型327872■定位步骤无实操派文库一最全的工业自动化手册■解决方法实操派文库最容,保证参与赋值运算左右两边的数据类型相同。⑤死循环程序中for、while、repeat循环条件使用不当,系统会一直在执行循环体中程序代码段,无法执行循环体以外代码,比如:PLC的LED数码管显示刷新、PLC与编程软件之间的通信,而EtherCAT任务下的死循环程序会导致掉电保持数据功能无法正常工作,丢失掉电保持数据。实操派文库INOVANCE汇川技术■定位步骤派文库最全的工业自动化手册最for、while、repeat循环中引入计数变量,当计数变量到达一定值,循环跳出。登录PLC,在循环跳出位置“EXIT”增加断点,一旦系统循环计数超出预期,程序就会运行到断点处,断点使用方法参考帮助手册,如下图所示,udiCnt循环执行次数检测变量,当循环体while下的代的工业自动化手册下载至码执行100001次之后,程序运行到“EXIT”处。13进入循环前清零变里adiCnt1415WHILE (TRUE)DO1617IF udiCnt 1000001>1000000 THEN2022END WHILE新培断点位置23●RETURN■解决方法按照定位步骤解决,或者在循环体内增加定时器,当定时时间到达,程序跳出循环体。实操派文库一最全的工业自动化手⑥功能块实例在多个任务调实操派文库一最全量仍保持上一次的值(类似C/C+语言的静态变量)。两个任务A、B同时调用相同功能块实例(包括方法、动作、属性、转移)时,会出现A任务中功能块实例未执行完毕,被优先级高的B任务抢占执行,等待B任务执行完毕,A任务再执行时候,功能块实例的内部变量的数值与被抢占前的数值可能不完全一致,最后影响功能块在A、B任务的正常执行。■定位步骤学PLC就是快实操派文库INOVANCE汇川技术■解决方法最全的工业自动化无,必须在前期代码设计时规避。⑦全局变量在多个任务调用派文库一最全的工业自动化手册下载至载两个任务A、B中都对同一变量进行写访问操作,会出现A任务正在写全局变量,被优先级高的B任务抢占CPU资源,并写全局变量的值,等到B任务执行完毕,A任务再执行时候,全局变量的值可能与被抢占之前的值不一致,最后影响功能块正常执行。例如:wTemp是一个具备2个字节的全局变量,wTempH、wTempL分别为wTemp高、低位字节。当A任务执行写完wTempL还未写wTempH时,被高优先的B任务抢占CPU资源,B任务写完wTempL和wTempH后,释放CPU资源后,A任务接着执行写wTempH。由于wTempL被任务改写,wTemp在A任务的值不在预期范围内。■定位步骤实操派文库一最全的工业自无■解决方法必解的高级开发人员,普通用户不要轻易尝试,使用不当实操派文库一最全的工业自动化手册下载全局变量只能在一个任务执行写访问,必须在代码设计时候解决。(汇川技术中型PLC可以通过互斥信号量解决次类问题,但这仅仅适合对操作系统有深入理会造成PLC死机)。实操派附录用户程序断点、单步等调试方法请参考帮助手册,相关内容在帮助手册路径如下图。实操派文库INOVANCE汇川技术对派文最全的工业自动化手册下载:到"实“工程”命令一最全的工业自动化手册下载至禁止点行到先标处指实操派文库一最全的工业自动化手册下载:到“实操派”,学PLC就是快实操派文库一最全的工业自动化手册下载
文档评分
    请如实的对该文档进行评分
  • 0
发表评论

"π³ 实操派",培养中高端PLC工程师,PLC培训-Codesys培训

项目实战 手把手教学 微信&电话 15850116008
超2000节系统化课程,汇川优秀自动化讲师亲授!学一门Codesys,玩800家PLC仅剩少量名额
点击免费试听

到实操派,学PLC就是快!

扫码领取工控文库VIP

钻石VIP先到先得

服务电话 & 微信:9:00-22:00

15850116008

苏州实操派科技有限公司

公司地址:江苏省苏州市吴中区越溪街道天鹅荡路5号31B13

Copyright © 苏州实操派科技有限公司 2022 到实操派,学PLC就是快!工业自动化业务培训适用人群:成人 ( 苏ICP备2022021576号-3 )

公司地址:江苏省苏州市吴中区越溪街道天鹅荡路5号31B13

返回顶部