一种plc在线调试系统和方法

文档序号:6401960阅读:314来源:国知局
专利名称:一种plc在线调试系统和方法
技术领域
本发明涉及可编程逻辑控制器(PLC)技术领域,更具体地说,涉及一种PLC在线调试系统和方法。
背景技术
随着PLC应用领域的扩展、外围设备的不断丰富和PLC技术的持续进步,PLC用户程序的容量和程序复杂度不断提升,而用户程序的编写是否正确,运行是否可靠稳定,逻辑关系是否遵循需求,仅仅依靠用户自己进行常规的程序检查和产品使用经验已经无法满足。为了提高PLC产品尤其是大中型PLC产品的易用性和可调试性,各个PLC厂家针对自家PLC产品,开发出不同类型和功能特点的PLC调试功能,以保证PLC用户在使用过程中,能够高效并且正确的编写出需要的用户程序。一般情况下,PLC调试功能采用离线模拟仿真的方案,并且一般只在PLC后台控制软件上开发出离线模拟仿真功能。在PLC后台控制端创建软PLC (软件模拟PLC,即虚拟PLC),该PLC具有和真实PLC类似的功能。用户编写的程序模拟下载到软PLC,软PLC按照指令功能模拟执行用户编写的功能,在执行过程中,用户可以及时的发现自己编写的用户程序中存在的问题。通过多次循环这样的调试过程,最后得到正确且稳定可靠地用户程序。然而,这种离线模拟仿真调试系统,存在明显的缺陷和问题。一方面功能开发难度大,开发周期长。PLC后台控制端需要创建和实际PLC完全相同功能的PLC,考虑到现在PLC强大的控制功能和繁多的功能指令,需要开发团队对PLC产品具有全面的了解和掌握,这也是PLC离 线模拟仿真功能一般只出现在大中型PLC产品的部分原因。即使如此,市面上现有的PLC离线模拟仿真功能仍然不能实现和真实PLC相同的功能,部分功能无法实现。另一方面,软PLC功能和真实的PLC产品功能存在同步问题。如果真实的PLC产品功能升级或产品修改,PLC控制后台没有同步更新和发布,在实际的仿真过程中就会存在偏差,造成用户的困惑甚至引发问题。还有,这种调试方法调试的用户程序只是理论上的正确的用户程序,在实际应用现场还需要进一步的调试和修改。

发明内容
本发明要解决的技术问题在于,针对现有离线模拟仿真调试系统的开发难度大且存在同步问题的缺陷,提供一种PLC在线调试系统和方法。本发明解决其技术问题所采用的技术方案是:构造一种PLC在线调试系统,包括相互通讯的PLC后台控制模块和PLC ;所述PLC后台控制模块用于编写用户程序并进行编译,将编译后的用户程序发送至PLC,并且发送PLC在线调试信号使能所述PLC进入PLC在线调试状态,调试并监控所述PLC中用户程序的运行数据;所述PLC用于接收所述PLC后台控制模块编译后的用户程序,下载至用户程序存储区,并根据所述PLC后台控制模块调试中生成的断点信息解析并执行所下载的用户程序,并将监控的用户程序的运行数据反馈给所述PLC后台控制模块。在根据本发明所述的PLC在线调试系统中,所述PLC后台控制模块进一步包括:后台通讯单元,用于与所述PLC实现通讯;程序编译单元,用于编写用户程序并进行编译;程序调试单元,用于调试所述用户程序生成断点信息;数据监控单元,用于获取所述PLC执行用户程序的运行数据。在根据本发明所述的PLC在线调试系统中,所述PLC进一步包括:PLC通讯单元,用于与所述PLC后台控制模块的后台通讯单元通讯,用于下载用户程序和断点信息,并上传监控的运行数据;程序解析执行单元,用于解析并执行所下载的用户程序;断点判断处理单元,用于与所述程序解析执行单元协同工作,根据从所述程序调试单元下载的断点信息判断用户程序的指令前是否有断点存在,如果没有,程序继续执行,如果存在断点,程序解析执行单元停止执行用户程序,并跳转到断点暂停状态;直至接收到PLC后台控制模块继续运行命令,PLC跳转回到用户程序当前断点处,并继续执行用户程序到下一个断点,再进入断点暂停状态,如此循环执行,直至PLC后台控制模块停止在线调试;监控数据处理单元,用于将监控的用户程序的运行数据反馈给所述数据监控单元。在根据本发明所述的PLC在线调试系统中,所述PLC通讯单元还用于将所述用户程序断点信息实时通讯发送至所述PLC,生成断点信息列表,或者将所述断点信息下载至PLC的用户程序存储区;且所述断点判断处理单元根据从所述断点信息列表或者所述用户程序存储区获取的断点信息判断用户程序的指令断点情况。在根据本发明所述的PLC在线调试系统中,所述断点信息包括在所述程序编译单元中设置的断点信息以及在所述程序调试单元中增减的断点信息。本发明还提供了一种PLC在线调试方法,包括以下步骤:PLC后台控制模块编写用户程序并进行编译后下载至PLC的用户程序存储区;PLC后台控制模块发送PLC在线调试信号使能所述PLC进入PLC在线调试状态;所述PLC根据所述PLC后台控制模块调试中生成的断点信息解析并执行所下载的用户程序;所述PLC将监控的用户程序的运行数据反馈给所述PLC后台控制模块。在根据本发明所述的PLC在线调试方法中,所述PLC根据所述PLC后台控制模块调试中生成的断点信息解析并执行所下载的用户程序的步骤具体为:由PLC后台控制模块的调试所述用户程序生成断点信息实时传送至所述PLC,所述PLC根据所述断点信息判断用户程序的指令前是否有断点存在,如果没有,程序继续执行,如果存在断点,停止执行用户程序,并跳转到断点暂停状态;直至接收到PLC后台控制模块继续运行命令,PLC跳转回到用户程序当前断点处,并继续执行用户程序到下一个断点,再进入断点暂停状态,如此循环执行,直至PLC后台控制模块停止在线调试。在根据本发明所述的PLC在线调试方法中,所述PLC根据所述PLC后台控制模块调试中生成的断点信息解析并执行所下载的用户程序的步骤具体为:由PLC后台控制模块调试生成的用户程序的断点信息实时通讯发送至所述PLC,生成断点信息列表,或者由PLC后台控制模块调试生成的所述用户程序的断点信息预先下载至所述PLC的用户程序存储区,根据从所述断点信息列表或者所述用户程序存储区获取的断点信息判断用户程序的指令断点情况。在根据本发明所述的PLC在线调试方法中,所述断点信息包括在程序编译中设置的断点信息以及在程序调试中增减的断点信息。实施本发明的PLC在线调试系统和方法,具有以下有益效果:本发明主要由PLC后台控制模块和PLC通过通讯的方式实现用户程序实时在线调试,其功能简单易行,功能开发难度和工作量较小,并且不存在PLC离线模拟仿真调试存在的软PLC和真实的PLC的同步问题,同时该调试直接面对应用现场,调试成功的程序直接可用于生产作业,不需要再次调试。


下面将结合附图及实施例对本发明作进一步说明,附图中:图1为根据本发明 的PLC在线调试系统的第一实施例的模块框图;图2为根据本发明的PLC在线调试系统的第二实施例的模块框图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。请参阅图1,为根据本发明的PLC在线调试系统的第一实施例的模块框图。如图1所示,该实施例提供的PLC在线调试系统包括相互通讯的PLC后台控制模块100和PLC200。其中,PLC后台控制模块100用于编写用户程序并进行编译,将编译后的用户程序通过后台通讯单元发送至PLC200,并且发送PLC在线调试信号使能PLC200进入PLC在线调试状态,随后调试PLC200中用户程序并监控用户程序的运行数据。PLC200用于接收所述PLC后台控制模块100编译后的用户程序,下载至PLC200的用户程序存储区,并根据PLC后台控制模块100调试中生成的断点信息解析并执行所下载的用户程序,同时将监控的用户程序的运行数据反馈给PLC后台控制模块100。PLC后台控制模块100和PLC200的通讯方式尽量选择用户程序中未使用到的通讯方式,包括但不限于串口、USB和以太网。本发明主要是通过PLC后台控制模块100中安装的PLC后台控制软件与PLC200配合实现PLC在线调试功能。PLC后台控制模块100和PLC200通过通讯单元交换数据。调试开始前,用户使用PLC后台控制模块100编写用户程序,并把用户编写的待调试程序编译,通过通讯单元下载到PLC200的用户程序存储区。PLC200可以解析并执行所下载的用户程序,实现预定的PLC功能。用户可以通过PLC后台控制软件启动程序在线调试功能,PLC后台控制模块100通过通讯使能PLC200进入PLC在线调试状态。PLC后台控制模块100可以在PLC在线调试过程中实时将断点信息通过通讯发给PLC200,也可以预先将断点信息通过通讯发给PLC200的用户程序存储区。与C语言调试方式类似,用户程序预先PLC后台控制模块100进行编译时,用户可以在需要监控调试的指令处设置调试断点,也可以设置单步调试、断点调试、程序段调试等诸多模式,并可以在PLC在线调试前和调试过程中增减断点和改变调试模式。PLC200根据PLC后台控制模块100调试中生成的这些断点信息解析并执行所下载的用户程序。该调试过程还包括对调试数据的监控,PLC200将监控的用户程序的运行数据反馈给PLC后台控制模块100,来判断用户程序的正确性。请参阅图2,为根据本发明的PLC在线调试系统的第二实施例的模块框图。如图2所示,给出了 PLC在线调试系统中PLC后台控制模块100和PLC200的具体功能模块构成。其中,PLC后台控制模块100进一步包括:后台通讯单元110、程序编译单元120、程序调试单元130和数据监控单元140。后台通讯单元110用于与PLC200实现通讯。具体地,后台通讯单元110可以与PLC200的PLC通讯单元210交互数据。程序编译单元120用于编写用户程序并进行编译。程序调试单元130用于调试用户程序生成断点信息,用户可以在需要监控调试的指令处设置调试断点,也可以设置单步调试、断点调试、程序段调试等诸多模式,并可以在PLC在线调试前和调试过程中通过程序调试单元130增减断点和改变调试模式。数据监控单元140用于获取PLC200执行用户程序的运行数据。PLC200进一步包括:PLC通讯单元210、程序解析执行单元220、断点判断处理单元230和监控数据处理单元240。PLC通讯单元21 0用于与PLC后台控制模块100的后台通讯单元110通讯,用于从程序编译单元120下载用户程序到PLC200的用户程序存储区,同时还实时获取程序调试单元220生成的断点信息生成断点信息列表给断点判断处理单元230,或者预先将该断点信息下载至用户程序存储区。PLC通讯单元210还在PLC在线调试过程中将监控数据处理单元240监控的用户程序的运行数据上传给PLC后台控制模块100的数据监控单元140。PLC通讯单元210和后台通讯单元110的通讯方式尽量选择用户程序中未使用到的通讯方式,包括但不限于串口、USB和以太网。程序解析执行单元220用于解析并执行PLC200的用户程序存储区中所下载的用
户程序。断点判断处理单元230用于与程序解析执行单元220协同工作,根据从程序调试单元130下载的断点信息,在程序解析执行单元220执行用户程序的各条指令前判断是否有断点存在,如果没有,程序继续执行,如果存在断点,程序解析执行单元220停止执行用户程序,并跳转到断点暂停状态;直至接收到PLC后台控制模块继续运行命令,PLC跳转回到用户程序当前断点处,并继续执行用户程序到下一个断点,再进入断点暂停状态,如此循环执行,直至PLC后台控制模块停止在线调试。断点判断处理单元230可以从用户程序存储区获取断点信息进行该判断,或者实时通过通讯单元从程序调试单元130获取断点信息实现该判断。监控数据处理单元240则在程序解析执行单元220执行用户程序时,将需要监控的用户程序的运行数据反馈给数据监控单元140。本发明还相应提供了一种PLC在线调试方法,其可以采用前述PLC在线调试系统实现,该PLC在线调试方法主要包括以下步骤:首先,在第一步骤中,PLC后台控制模块100编写用户程序并进行编译后发送至PLC200的用户程序存储区。PLC后台控制模块100随后发送PLC在线调试信号使能PLC200进入PLC200在线调试状态。随后,在第二步骤中,在进入在线调试状态后,PLC200根据PLC后台控制模块100中生成的断点信息解析并执行所下载的用户程序,PLC200还在调试过程中将监控的用户程序的运行数据反馈给PLC后台控制模块100。在本发明的优选实施例中,这些断点信息包括PLC后台控制模块100在程序编译中设置的断点信息以及在程序调试中增减的断点信息。在上述PLC在线调试方法的一些实施例中,第二步骤中PLC200根据PLC后台控制模块100调试中生成的断点信息解析并执行所下载的用户程序的步骤可以具体为:由PLC后台控制模块100的调试所述用户程序生成断点信息实时传送至PLC200,生成断点信息列表,PLC200再根据这些断点信息判断用户程序的指令前是否有断点存在,如果没有,程序继续执行,如果存在断点,停止执行用户程序,并跳转到断点暂停状态;直至接收到PLC后台控制模块100的继续运行命令,PLC跳转回到用户程序当前断点处,并继续执行用户程序到下一个断点,再进入断点暂停状态,如此循环执行,直至PLC后台控制模块停止在线调试。在上述PLC在线调试方法的另一些实施例中,第二步骤中PLC200根据PLC后台控制模块100调试中生成的断点信息解析并执行所下载的用户程序的步骤可以具体为:由PLC后台控制模块100调试所述用户程序生成的断点信息预先传送至PLC200的用户程序存储区,再根据从该用户程序存储区获取的断点信息判断用户程序的指令断点情况。在本发明的优选实施例中,前述PLC在线调试方法中PLC后台控制模块100所执行的流程可以通过前述PLC在线调试系统中PLC后台控制模块100的后台通讯单元110、程序编译单元120、程序调试单元130和数据监控单元140来具体实现,其实现流程参见对PLC在线调试系统中对PLC后台控制模块100的具体描述。同样地,前述PLC在线调试方法中PLC200所执行的流程可以通过前述PLC在线调试系统中PLC200的PLC通讯单元210、程序解析执行单元220、断点判断处理单元230和监控数据处理单元240来具体实现,其实现流程参见对PLC在线调试系统中对PLC200的具体描述。本发明提供的P LC在线调试系统和方法的功能简单易行,用户使用直观明了,功能开发难度和工作量较小,并且不存在PLC离线模拟仿真调试存在的软PLC和真实的PLC的同步问题。该调试直接面对应用现场,调试成功的程序直接可用于生产作业,不需要再次调试。本发明是根据特定实施例进行描述的,但本领域的技术人员应明白在不脱离本发明范围时,可进行各种变化和等同替换。此外,为适应本发明技术的特定场合或材料,可对本发明进行诸多修改而不脱离其保护范围。因此,本发明并不限于在此公开的特定实施例,而包括所有落入到权利要求保护范围的实施例。
权利要求
1.一种PLC在线调试系统,其特征在于,包括相互通讯的PLC后台控制模块和PLC ; 所述PLC后台控制模块用于编写用户程序并进行编译,将编译后的用户程序发送至PLC,发送PLC在线调试信号使能所述PLC进入PLC在线调试状态,调试并监控所述PLC中用户程序的运行数据; 所述PLC用于接收所述PLC后台控制模块编译后的用户程序,下载至用户程序存储区,并根据所述PLC后台控制模块调试中生成的断点信息解析并执行所下载的用户程序,并将监控的用户程序的运行数据反馈给所述PLC后台控制模块。
2.根据权利要求1所述的PLC在线调试系统,其特征在于,所述PLC后台控制模块进一步包括: 后台通讯单元,用于与所述PLC实现通讯; 程序编译单元,用于编写用户程序并进行编译; 程序调试单元,用于调试所述用户程序生成断点信息; 数据监控单元,用于获取所述PLC执行用户程序的运行数据。
3.根据权利要求2所述的PLC在线调试系统,其特征在于,所述PLC进一步包括: PLC通讯单元,用于与所述PLC后台控制模块的后台通讯单元通讯,用于下载用户程序和断点信息,并上传监控的运行数据; 程序解析执行单元,用于解析并执行所下载的用户程序; 断点判断处理单元,用于与所述程序解析执行单元协同工作,根据从所述程序调试单元下载的断点信息判断用户程序的指令前是否有断点存在,如果没有,程序继续执行,如果存在断点,程序解析执行单元停止执行用户程序,并跳转到断点暂停状态;直至接收到PLC后台控制模块的继续运行命令,PLC跳转回到用户程序当前断点处,并继续执行用户程序到下一个断点,再进入断点暂停状态,如此循环执行,直至PLC后台控制模块停止在线调试;监控数据处理单元,用于将监控的用户程序的运行数据反馈给所述数据监控单元。
4.根据权利要求3所述的PLC在线调试系统,其特征在于,所述PLC通讯单元还用于将所述用户程序的断点信息实时通讯发送至所述PLC,生成断点信息列表,或者将所述断点信息下载至PLC的用户程序存储区;且所述断点判断处理单元根据从所述断点信息列表或者所述用户程序存储区获取的断点信息判断用户程序的指令断点情况。
5.根据权利要求2所述的PLC在线调试系统,其特征在于,所述断点信息包括在所述程序编译单元中设置的断点信息以及在所述程序调试单元中增减的断点信息。
6.一种PLC在线调试方法,其特征在于,包括以下步骤: PLC后台控制模块编写用户程序并进行编译后下载至PLC的用户程序存储区;PLC后台控制模块发送PLC在线调试信号使能所述PLC进入PLC在线调试状态; 所述PLC根据所述PLC后台控制模块调试中生成的断点信息解析并执行所下载的用户程序;所述PLC将监控的用户程序的运行数据反馈给所述PLC后台控制模块。
7.根据权利要求6所述的PLC在线调试方法,其特征在于,所述PLC根据所述PLC后台控制模块调试中生成的断点信息解析并执行所下载的用户程序的步骤具体为: 由PLC后台控制模块的调试所述用户程序生成断点信息实时传送至所述PLC,所述PLC根据所述断点信息判断用户程序的指令前是否有断点存在,如果没有,程序继续执行,如果存在断点,停止执行用户程序,并跳转到断点暂停状态;直至接收到PLC后台控制模块的继续运行命令,PLC跳转回到用户程序当前断点处,并继续执行用户程序到下一个断点,再进入断点暂停状态,如此循环执行,直至PLC后台控制模块停止在线调试。
8.根据权利要求7所述的PLC在线调试方法,其特征在于,所述PLC根据所述PLC后台控制模块调试中生成的断点信息解析并执行所下载的用户程序的步骤具体为:由PLC后台控制模块调试生成的所述用户程序的断点信息实时通讯发送至所述PLC,生成断点信息列表,或者由PLC后台控制模块调试生成的所述用户程序的断点信息预先下载至所述PLC的用户程序存储区,根据从所述断点信息列表或者所述用户程序存储区获取的断点信息判断用户程序的指令断点情况。
9.根据权利要求6所述的PLC在线调试方法,其特征在于,所述断点信息包括在程序编译中设置的断点信息以及在程 序调试中增减的断点信息。
全文摘要
本发明涉及一种PLC在线调试系统及方法,该系统包括相互通讯的PLC后台控制模块和PLC;其中PLC后台控制模块用于编写用户程序并进行编译,将编译后的用户程序发送至PLC,使能PLC进入PLC在线调试状态,调试并监控PLC中用户程序的运行数据;所述PLC用于接收PLC后台控制模块编译后的用户程序,下载至用户程序存储区,并根据PLC后台控制模块调试中生成的断点信息解析并执行所下载的用户程序,同时将监控的用户程序的运行数据反馈给PLC后台控制模块。本发明由PLC后台控制模块和PLC通过通讯的方式实现用户程序实时在线调试,其功能简单易行,功能开发难度和工作量较小,并且不存在PLC离线模拟仿真调试存在的软PLC和真实的PLC的同步问题。
文档编号G06F11/36GK103218293SQ20131012775
公开日2013年7月24日 申请日期2013年4月12日 优先权日2013年4月12日
发明者孟国军 申请人:深圳市汇川控制技术有限公司, 深圳市汇川技术股份有限公司, 苏州汇川技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1