【技术实现步骤摘要】
一种基于SOC的PLC在线调试系统和方法
本专利技术涉及工业自动控制领域,具体地,涉及一种基于SOC的PLC在线调试系统和方法。
技术介绍
随着自动控制技术的发展,可编程逻辑控制器(PLC)已经越来越多的应用在各个行业领域中,标准化水平越来越高。目前,已形成了PLC控制器典型结构、编程语言、通信、用户使用导则等系列国际标准(IEC61131)。其中,以编程语言标准(IEC61131-3)最为广泛应用,大部分可编程控制器支持该标准的五种语言,包括IL、ST、LD、FBD和SFC,其中IL、ST为文本语言,LD、FBD、SFC为图形化语言。在实际应用中,要求在PLC控制系统调试时能模拟各种运行情况,检验程序设计的正确性及完备性。目前实现的PLC调试方案主要分为:离线调试和在线调试。⑴离线调试通常情况下,离线调试采用离线模拟仿真,并且离线模拟仿真功能一般只能在PLC后台控制端实现。离线模拟仿真需要在PLC后台控制端创建与该PLC具有类似功能的软件模拟PLC。用户将编写的程序模拟下载到软件模拟PLC,软件模拟PLC按照指令功能模拟执行用户程序,在执行过程中,用户可以及时发现问题和修改用户程序,达到调试的目的。但离线调试存在如下缺点:①离线调试需要PLC控制端创建与实际PLC功能完全相同的软件模拟PLC,存在开发难度大、开发周期长和功能不完全一致的问题。②软件模拟PLC功能和真实的PLC产品功能存在同步问题。真实PLC产品功能升级或修改,软件模拟PLC必须同步更新。如果没有同步更新,在实际仿真过程中就会出现偏差或者错误,误导用户。③离线调试的用户程序还是需要在实际应 ...
【技术保护点】
一种基于SOC的PLC在线调试方法,其特征在于,包括:步骤1,上位机系统中的程序编译模块将待测试程序的代码转换成用户程序的代码输出至SOC系统中的存储器,所述用户程序由预设的二进制代码构成;步骤2,上位机系统的第一调试模块响应外部输入向SOC系统中的嵌入式微处理器IP核发送调试指令或配置指令;步骤3,所述嵌入式微处理器IP核响应所述配置指令对SOC系统中的PLC控制器IP核进行配置后返回步骤2,或响应所述调试指令在调试模式下控制所述PLC控制器IP核从所述存储器中读取并执行所述用户程序的二进制代码,执行中遇到断点或完成所述调试指令后所述PLC控制器IP核暂停执行并向所述第一调试模块发送反馈,返回步骤2;其中,步骤3中所述PLC控制器IP核执行所述用户程序的二进制代码时,同步与断点信息列表中的断点进行地址比对,若当前执行的二进制代码的地址与所述断点信息列表中任一断点地址相同,则暂停执行并通过所述嵌入式微处理器IP核向所述第一调试模块发送反馈。
【技术特征摘要】
1.一种基于SOC的PLC在线调试方法,其特征在于,包括:步骤1,上位机系统中的程序编译模块将待测试程序的代码转换成用户程序的代码输出至SOC系统中的存储器,所述用户程序由预设的二进制代码构成;步骤2,上位机系统的第一调试模块响应外部输入向SOC系统中的嵌入式微处理器IP核发送调试指令或配置指令;步骤3,所述嵌入式微处理器IP核响应所述配置指令对SOC系统中的PLC控制器IP核进行配置后返回步骤2,或响应所述调试指令在调试模式下控制所述PLC控制器IP核从所述存储器中读取并执行所述用户程序的二进制代码,执行中遇到断点或完成所述调试指令后所述PLC控制器IP核暂停执行并向所述第一调试模块发送反馈,返回步骤2;其中,步骤3中所述PLC控制器IP核执行所述用户程序的二进制代码时,同步与断点信息列表中的断点进行地址比对,若当前执行的二进制代码的地址与所述断点信息列表中任一断点地址相同,则暂停执行并通过所述嵌入式微处理器IP核向所述第一调试模块发送反馈。2.根据权利要求1所述的一种基于SOC的PLC在线调试方法,其特征在于,所述步骤1之前还包括:设置所述断点信息列表,所述第一调试模块输出所述断点信息列表至所述PLC控制器IP核的寄存器组中;其中,所述断点信息列表中每个断点具有唯一的断点地址。3.根据权利要求1所述的一种基于SOC的PLC在线调试方法,其特征在于,所述配置指令包含增加/删除断点的指令,该指令中包含待增加/删除的断点所对应的断点信息,所述断点信息包含该断点的断点ID和断点地址;所述步骤3还包括:所述嵌入式微处理器IP核响应增加断点的指令在所述PLC控制器IP核的地址列表中搜寻需增加的断点的地址,若未搜寻到相同断点,则将所述断点信息增加至所述断点信息列表,所述嵌入式微处理器IP核响应删除断点的指令在所述PLC控制器IP核的地址列表中搜寻并删除需删除的断点。4.根据权利要求2或3所述的一种基于SOC的PLC在线调试方法,其特征在于,所述步骤3中所述反馈包含当前指针位置、当前断点ID以及当前运行状态。5.根据权利要求1或2或3所述的一种基于SOC的PLC在线调试方法,其特征在于,步骤2中所述调试指令为执行指令,或步越指令,或步入指令,或步出指令;所述步骤3进一步包括:所述嵌入式微处理器IP核响应所述执行指令控制所述PLC控制器IP核从所述存储器中读取并执行所述用户程序的二进制代码,直到遇到所述断点或执行完所述用户程序的所有二进制代码后停止执行并向所述第一调试模块发送反馈,或,所述嵌入式微处理器IP核响应所述步越指令或步入指令执行一个二进制级的单步,执行完一个单步或遇到所述断点后停止执行并向所述第一调试模块发送反馈,执行所述步越指令时遇到调用函数直接越过,执行所述步入指令时遇到调用函数则进入该调用函数中,或,所述嵌入式微处理器IP核响应所述步出指令控制指针跳出所在的调用函数后,停止执行并向所述第一调试模块发送反馈;其中,所述反馈均包含当前指针位置、当前断点ID以及当前运行状态。6.根据权利要求1所述的一种基于SOC的PLC在线调试方法,其特征在于,所述配置指令包括复位指令,或暂停指令;所述步骤3进一步包括:所述嵌入式微处理器IP核响应所述复位指令控制所述PLC控制器IP核复位;或,所述嵌入式微处理器IP核响应所述暂停指令暂停所述PLC控制器IP核的执行,并向所述第一调试模块反馈当前指针位置。7.根据权利要求1所述的一种基于SOC的PLC在线调试方法,其特征在于,步骤3中所述反馈包含当前指针位置、当前断点ID以及当前运行状态;所述步骤2还包括:所述第一调试模块根据所述反馈计算所述待测试程序的当前测试位置。8.一种...
【专利技术属性】
技术研发人员:唐艳丽,施一明,潘再生,童庆,沈天扬,王挺,朱冬冬,王建平,
申请(专利权)人:浙江中控研究院有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。