一种ePLC程序远程下载方法

文档序号:6635060阅读:3234来源:国知局
一种ePLC程序远程下载方法
【专利摘要】本发明涉及一种ePLC程序远程下载方法。该方法首先在PC端的编程平台完成程序的编写,编译后生成可执行文件。需要远程下载时,首先由PC端编程平台发出启动下载命令。ePLC端复位程序模块监听到启动下载命令后,对ePLC进行复位操作,跳转到引导程序。编译生成的可执行文件根据报文数据大小分解成若干个数据包,每个数据包加入错误校验码后,按照通信协议封装成数据报文,通过指定的目标ePLC的IP地址和端口号发送到目标设备。在目标ePLC对接收到的数据进行解析和校验,校验通过后更新设备程序。本发明可以方便地实现ePLC程序的远程下载更新,大大提高了程序更新的效率,降低了程序更新成本。
【专利说明】
—种ePLC程序远程下载方法

【技术领域】
[0001]本发明属于工业控制领域,特别是涉及一种基于IP网络的ePLC程序远程下载方法。

【背景技术】
[0002]作为现代工业控制设备三大支柱之一的可编程逻辑控制器(Programmable LogicController,PLC),以其较高的性价比在工业控制中得到广泛应用。但是近年来随着设备功能越来越复杂,以及企业掌握核心知识产权的需要,越来越多的企业逐步采用专用控制器代替通用的PLC。专用控制器的编程方式以汇编或C语言编程为主。为了提高程序的开发效率,充分结合PLC和专用控制器的优势,目前最新的技术是ePLC技术。ePLC是embeddedPLC的简称,对专用控制器采用PLC图形化的开发手段。ePLC充分利用了现有嵌入式处理器的强大处理功能,按需定制各类专用控制器,并采用图形化开发平台(LD、SFC)对专用控制器进行软件开发。即具备了专用控制器可定制的特点,有具备了 PLC图形化的开发手段。
[0003]以往PLC的程序都采用在线编程的方式,通过串口等通信链路下载程序。当需要更新程序时,需要技术员到现场完成程序的更细,费时费力。随着网络技术的发展和普及,采用了网络方式实现远程下载成为可能。通过IP网络实现ePLC程序的远程下载,将极大地提高程序更新的效率。


【发明内容】

[0004]本发明的目的是针对现有PLC程序更新需要人员到场的不足,提供一种远程下载方法。
[0005]本发明解决技术问题所采取的技术方案:
一种ePLC程序远程下载方法:PC端的编程平台发出启动下载命令,ePLC端的复位程序模块监听启动下载命令,在接收到启动下载命令帧后复位进入引导程序,在引导程序中通过同步方式接收PC端编程平台发出的程序数据块,接收完成并通过校验后写入程序地址空间。
[0006]进一步说,PC端的编程平台发出启动下载命令,在ePLC端的复位程序模块监听到启动下载命令后,根据ePLC当前的工作情况判断是否能进入下载过程,并将判定结果返回给PC端的编程平台;为了防止误操作,可以设定接收到的启动命令次数,即只有接收到指定次数的启动命令后,才认为是需要下载程序。
[0007]进一步说,启动下载命令由命令码和校验码构成,命令码事先由编程平台和ePLC双方约定,然后根据命令码计算校验码后共同构成下载启动命令数据帧。
[0008]进一步说,ePLC端的复位程序模块,在ePLC工作期间一直监听网络数据,对收到的数据进行判断是否是启动下载命令,如果是启动下载命令并且达到一定的次数后,对ePLC进行复位操作,使ePLC重启并进入引导程序。
[0009]进一步说,引导程序,完成和PC端编程平台的握手、程序块数据帧接收、数据校验、返回响应帧、将程序块写入指定的FLASH空间操作;引导程序在一定时间内未收到数据,即认为下载结束,跳转到ePLC弓I擎程序起始地址,执行引擎程序。
[0010]进一步说,同步方式指PC端编程平台必须保证前一个程序块成功下载后才能启动下一个数据块的发送。
[0011]进一步说,程序数据块,为了在网络上传输,根据报文中数据的大小限制需要把一个程序文件分解成多个块,每个程序块加上地址、校验码后构成一次发送的数据部分;
进一步说,握手过程,在PC端发出连续的握手数据帧,在ePLC端接收到若干次握手数据后,返回握手成功数据给PC端编程平台,PC端编程平台收到握手成功响应数据后,就绪进入程序下载过程。
[0012]本发明的有益效果是:通过程序远程下载更新,克服了技术员到现场进行程序下载带来的时间和费用开销,大大提高了程序更新的效率,能快速响应客户的要求。

【专利附图】

【附图说明】
[0013]图1为ePLC程序远程下载流程图;
图2为待下载程序分解过程。

【具体实施方式】
[0014]本发明的一种远程下载和调试方法包括PC端编程平台、ePLC端引导程序、ePLC端复位程序模块、通信协议、错误校验机制。
[0015]PC端编程平台采用图形化编程语言(LD,FBD, SFC等),程序编写完成后可以选择目标芯片并生成可执行文件。在PC端编程平台可以设定远程ePLC的IP地址、端口号等信肩、O
[0016]远程下载过程如图1所示。首先PC端编程平台向目标ePLC设备发送下载启动命令数据帧(SI),目标ePLC接收到命令后,根据实际情况判断是否接受下载请求(S2),并返回接受下载码或拒绝码。在等待目标ePLC数据返回的过程中,编程平台间隔一段时间就发送一次启动下载命令,直到收到目标ePLC的返回数据为止。
[0017]如果ePLC接受下载请求,在发送接受下载码后,ePLC端复位程序模块对ePLC完成复位操作,使ePLC重启并进入引导程序(S3)。该模块在ePLC正常工作时,实时监听网络上的数据,对收到的每个数据包进行分析是否是下载启动命令。如果是下载启动命令,为了安全性考虑,需要进行重复校验。即再次监听,一直要收到M (可设定)个下载启动命令后,对ePLC设备进行复位操作,进入ePLC引导程序,等待握手信号。
[0018]PC端编程平台收到目标ePLC发出的接受下载码后,进入和目标ePLC的握手过程
(S4),握手的目的是为了同步。握手首先由编程平台连续发送握手数据帧,目标ePLC的引导程序连续收到若干次握手数据帧后,进入程序接收就绪状态,并返回握手成功码,表示握手成功,编程平台可以开始发送数据(S5 )。
[0019]PC端编程平台收到握手成功码后,进入程序数据发送过程(S6 )。PC端编程平台将生成的可执行文件按照报文数据大小分解成若干个程序块,每个程序块加上地址信息和校验码后构成一个报文的数据部分,参见图2。报文通过网络发送后,编程平台开始等待目标ePLC返回的信息。如果响应信息在超时时间内未到或收到错误码,则重发本次数据。若重发N次(可设定)后,响应信息还是未到或返回错误码,则本次下载出错。提示用户后直接退出本次下载操作。
[0020]目标ePLC在收到数据帧后,首先对数据帧进行校验(S7),如果校验通过表示收到了正确的数据,则返回正确码,并从接收到的数据中获取地址和程序块内容,将程序块内容写入指定的地址空间;如果校验失败,则返回错误码,并判断本次程序块的错误次数,如果次数超出限制(S8),则跳过引导程序进入引擎程序。如果错误次数未超过限制,则准备接收编程平台的重发程序块。如果每个程序块的接收过程都正确,并在设定时间内未收到新的数据时,认为下载已结束,跳过引导程序,进入引擎程序执行。
[0021]下载完成后,可以通过远程调试判断程序是否运行正常,或是否满足实际的要求。调试过程中,PC端编程平台发送读或写命令帧,命令帧通过协议封装(如modbus),包含了操作码、地址、长度和数据等信息。命令帧作为报文的数据部分通过网络进行发送。ePLC端的引擎中有通信监听模块,收到命令帧后,通过协议(如modbus)对命令帧进行解析,并完成命令帧所需完成的操作,返回响应数据给PC端编程平台。
[0022]以上所述仅为本发明的一个实施例子,但不能以此限制本发明的范围,凡依据本发明所做的结构上的变化,只要不失本发明的要义所在,都应视为落入本发明保护范围之内受到制约。
【权利要求】
1.一种ePLC程序远程下载方法,其特征在于:PC端的编程平台发出启动下载命令,ePLC端的复位程序模块监听启动下载命令,在接收到启动下载命令帧后复位进入引导程序,在引导程序中通过同步方式接收PC端编程平台发出的程序数据块,接收完成并通过校验后写入程序地址空间。
2.权利要求1所述的一种ePLC程序远程下载方法,其特征在于:PC端的编程平台发出启动下载命令,在ePLC端的复位程序模块监听到启动下载命令后,根据ePLC当前的工作情况判断是否能进入下载过程,并将判定结果返回给PC端的编程平台;为了防止误操作,可以设定接收到的启动命令次数,即只有接收到指定次数的启动命令后,才认为是需要下载程序。
3.权利要求2所述的一种ePLC程序远程下载方法,其特征在于:启动下载命令由命令码和校验码构成,命令码事先由编程平台和ePLC双方约定,然后根据命令码计算校验码后共同构成下载启动命令数据帧。
4.权利要求1所述的一种ePLC程序远程下载方法,其特征在于:ePLC端的复位程序模块,在ePLC工作期间一直监听网络数据,对收到的数据进行判断是否是启动下载命令,如果是启动下载命令并且达到一定的次数后,对ePLC进行复位操作,使ePLC重启并进入引导程序。
5.权利要求1所述的一种ePLC程序远程下载方法,其特征在于:引导程序,完成和PC端编程平台的握手、程序块数据帧接收、数据校验、返回响应帧、将程序块写入指定的FLASH空间操作;引导程序在一定时间内未收到数据,即认为下载结束,跳转到ePLC引擎程序起始地址,执行引擎程序。
6.权利要求1所述的一种ePLC程序远程下载方法,其特征在于:同步方式指PC端编程平台必须保证前一个程序块成功下载后才能启动下一个数据块的发送。
7.权利要求1所述的一种ePLC程序远程下载方法,其特征在于:程序数据块,为了在网络上传输,根据报文中数据的大小限制需要把一个程序文件分解成多个块,每个程序块加上地址、校验码后构成一次发送的数据部分。
8.权利要求5所述的一种ePLC程序远程下载方法,其特征在于:握手过程,在PC端发出连续的握手数据帧,在ePLC端接收到若干次握手数据后,返回握手成功数据给PC端编程平台,PC端编程平台收到握手成功响应数据后,就绪进入程序下载过程。
【文档编号】G06F9/445GK104391718SQ201410667191
【公开日】2015年3月4日 申请日期:2014年11月20日 优先权日:2014年11月20日
【发明者】邬惠峰, 赵建勇 申请人:杭州电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1