CN104391718A - 一种ePLC程序远程下载方法 - Google Patents
一种ePLC程序远程下载方法 Download PDFInfo
- Publication number
- CN104391718A CN104391718A CN201410667191.7A CN201410667191A CN104391718A CN 104391718 A CN104391718 A CN 104391718A CN 201410667191 A CN201410667191 A CN 201410667191A CN 104391718 A CN104391718 A CN 104391718A
- Authority
- CN
- China
- Prior art keywords
- eplc
- program
- data
- download
- command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明涉及一种ePLC程序远程下载方法。该方法首先在PC端的编程平台完成程序的编写,编译后生成可执行文件。需要远程下载时,首先由PC端编程平台发出启动下载命令。ePLC端复位程序模块监听到启动下载命令后,对ePLC进行复位操作,跳转到引导程序。编译生成的可执行文件根据报文数据大小分解成若干个数据包,每个数据包加入错误校验码后,按照通信协议封装成数据报文,通过指定的目标ePLC的IP地址和端口号发送到目标设备。在目标ePLC对接收到的数据进行解析和校验,校验通过后更新设备程序。本发明可以方便地实现ePLC程序的远程下载更新,大大提高了程序更新的效率,降低了程序更新成本。
Description
技术领域
本发明属于工业控制领域,特别是涉及一种基于IP网络的ePLC程序远程下载方法。
背景技术
作为现代工业控制设备三大支柱之一的可编程逻辑控制器(Programmable Logic Controller,PLC),以其较高的性价比在工业控制中得到广泛应用。但是近年来随着设备功能越来越复杂,以及企业掌握核心知识产权的需要,越来越多的企业逐步采用专用控制器代替通用的PLC。专用控制器的编程方式以汇编或C语言编程为主。为了提高程序的开发效率,充分结合PLC和专用控制器的优势,目前最新的技术是ePLC技术。ePLC是embedded PLC的简称,对专用控制器采用PLC图形化的开发手段。ePLC充分利用了现有嵌入式处理器的强大处理功能,按需定制各类专用控制器,并采用图形化开发平台(LD、SFC)对专用控制器进行软件开发。即具备了专用控制器可定制的特点,有具备了PLC图形化的开发手段。
以往PLC的程序都采用在线编程的方式,通过串口等通信链路下载程序。当需要更新程序时,需要技术员到现场完成程序的更细,费时费力。随着网络技术的发展和普及,采用了网络方式实现远程下载成为可能。通过IP网络实现ePLC程序的远程下载,将极大地提高程序更新的效率。
发明内容
本发明的目的是针对现有PLC程序更新需要人员到场的不足,提供一种远程下载方法。
本发明解决技术问题所采取的技术方案:
一种ePLC程序远程下载方法:PC端的编程平台发出启动下载命令,ePLC端的复位程序模块监听启动下载命令,在接收到启动下载命令帧后复位进入引导程序,在引导程序中通过同步方式接收PC端编程平台发出的程序数据块,接收完成并通过校验后写入程序地址空间。
进一步说,PC端的编程平台发出启动下载命令,在ePLC端的复位程序模块监听到启动下载命令后,根据ePLC当前的工作情况判断是否能进入下载过程,并将判定结果返回给PC端的编程平台;为了防止误操作,可以设定接收到的启动命令次数,即只有接收到指定次数的启动命令后,才认为是需要下载程序。
进一步说,启动下载命令由命令码和校验码构成,命令码事先由编程平台和ePLC双方约定,然后根据命令码计算校验码后共同构成下载启动命令数据帧。
进一步说,ePLC端的复位程序模块,在ePLC工作期间一直监听网络数据,对收到的数据进行判断是否是启动下载命令,如果是启动下载命令并且达到一定的次数后,对ePLC进行复位操作,使ePLC重启并进入引导程序。
进一步说,引导程序,完成和PC端编程平台的握手、程序块数据帧接收、数据校验、返回响应帧、将程序块写入指定的FLASH空间操作;引导程序在一定时间内未收到数据,即认为下载结束,跳转到ePLC引擎程序起始地址,执行引擎程序。
进一步说,同步方式指PC端编程平台必须保证前一个程序块成功下载后才能启动下一个数据块的发送。
进一步说,程序数据块,为了在网络上传输,根据报文中数据的大小限制需要把一个程序文件分解成多个块,每个程序块加上地址、校验码后构成一次发送的数据部分;
进一步说,握手过程,在PC端发出连续的握手数据帧,在ePLC端接收到若干次握手数据后,返回握手成功数据给PC端编程平台,PC端编程平台收到握手成功响应数据后,就绪进入程序下载过程。
本发明的有益效果是:通过程序远程下载更新,克服了技术员到现场进行程序下载带来的时间和费用开销,大大提高了程序更新的效率,能快速响应客户的要求。
附图说明
图1为ePLC程序远程下载流程图;
图2为待下载程序分解过程。
具体实施方式
本发明的一种远程下载和调试方法包括PC端编程平台、ePLC端引导程序、ePLC端复位程序模块、通信协议、错误校验机制。
PC端编程平台采用图形化编程语言(LD,FBD,SFC等),程序编写完成后可以选择目标芯片并生成可执行文件。在PC端编程平台可以设定远程ePLC的IP地址、端口号等信息。
远程下载过程如图1所示。首先PC端编程平台向目标ePLC设备发送下载启动命令数据帧(S1),目标ePLC接收到命令后,根据实际情况判断是否接受下载请求(S2),并返回接受下载码或拒绝码。在等待目标ePLC数据返回的过程中,编程平台间隔一段时间就发送一次启动下载命令,直到收到目标ePLC的返回数据为止。
如果ePLC接受下载请求,在发送接受下载码后,ePLC端复位程序模块对ePLC完成复位操作,使ePLC重启并进入引导程序(S3)。该模块在ePLC正常工作时,实时监听网络上的数据,对收到的每个数据包进行分析是否是下载启动命令。如果是下载启动命令,为了安全性考虑,需要进行重复校验。即再次监听,一直要收到M(可设定)个下载启动命令后,对ePLC设备进行复位操作,进入ePLC引导程序,等待握手信号。
PC端编程平台收到目标ePLC发出的接受下载码后,进入和目标ePLC的握手过程(S4),握手的目的是为了同步。握手首先由编程平台连续发送握手数据帧,目标ePLC的引导程序连续收到若干次握手数据帧后,进入程序接收就绪状态,并返回握手成功码,表示握手成功,编程平台可以开始发送数据(S5)。
PC端编程平台收到握手成功码后,进入程序数据发送过程(S6)。PC端编程平台将生成的可执行文件按照报文数据大小分解成若干个程序块,每个程序块加上地址信息和校验码后构成一个报文的数据部分,参见图2。报文通过网络发送后,编程平台开始等待目标ePLC返回的信息。如果响应信息在超时时间内未到或收到错误码,则重发本次数据。若重发N次(可设定)后,响应信息还是未到或返回错误码,则本次下载出错。提示用户后直接退出本次下载操作。
目标ePLC在收到数据帧后,首先对数据帧进行校验(S7),如果校验通过表示收到了正确的数据,则返回正确码,并从接收到的数据中获取地址和程序块内容,将程序块内容写入指定的地址空间;如果校验失败,则返回错误码,并判断本次程序块的错误次数,如果次数超出限制(S8),则跳过引导程序进入引擎程序。如果错误次数未超过限制,则准备接收编程平台的重发程序块。如果每个程序块的接收过程都正确,并在设定时间内未收到新的数据时,认为下载已结束,跳过引导程序,进入引擎程序执行。
下载完成后,可以通过远程调试判断程序是否运行正常,或是否满足实际的要求。调试过程中,PC端编程平台发送读或写命令帧,命令帧通过协议封装(如modbus),包含了操作码、地址、长度和数据等信息。命令帧作为报文的数据部分通过网络进行发送。ePLC端的引擎中有通信监听模块,收到命令帧后,通过协议(如modbus)对命令帧进行解析,并完成命令帧所需完成的操作,返回响应数据给PC端编程平台。
以上所述仅为本发明的一个实施例子,但不能以此限制本发明的范围,凡依据本发明所做的结构上的变化,只要不失本发明的要义所在,都应视为落入本发明保护范围之内受到制约。
Claims (8)
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端编程平台收到握手成功响应数据后,就绪进入程序下载过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410667191.7A CN104391718A (zh) | 2014-11-20 | 2014-11-20 | 一种ePLC程序远程下载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410667191.7A CN104391718A (zh) | 2014-11-20 | 2014-11-20 | 一种ePLC程序远程下载方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104391718A true CN104391718A (zh) | 2015-03-04 |
Family
ID=52609626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410667191.7A Pending CN104391718A (zh) | 2014-11-20 | 2014-11-20 | 一种ePLC程序远程下载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104391718A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106444610A (zh) * | 2016-11-06 | 2017-02-22 | 杭州电子科技大学 | 一种plc远程代码更新系统及方法 |
CN107179740A (zh) * | 2017-06-23 | 2017-09-19 | 杭州电子科技大学 | 嵌入式plc的编译方法与嵌入式系统 |
CN110187891A (zh) * | 2019-03-18 | 2019-08-30 | 杭州电子科技大学 | 一种用于多核可编程控制器的程序开发方法及系统 |
CN110262349A (zh) * | 2019-06-28 | 2019-09-20 | 中国航空工业集团公司雷华电子技术研究所 | 一种c8051f系列单片机的远程在线编程方法及系统 |
CN113625630A (zh) * | 2021-08-09 | 2021-11-09 | 大易智慧信息科技(苏州)有限公司 | 上位机远程控制单片机操作的装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694695A (zh) * | 2012-04-27 | 2012-09-26 | 南大傲拓科技江苏有限公司 | 基于以太网通讯协议的串口通讯组态调试方法 |
CN103414741A (zh) * | 2013-07-02 | 2013-11-27 | 深圳市汇川技术股份有限公司 | 一种远程升级plc的方法和系统 |
CN103942080A (zh) * | 2014-05-16 | 2014-07-23 | 四川九成信息技术有限公司 | 电子设备信息传输方法 |
-
2014
- 2014-11-20 CN CN201410667191.7A patent/CN104391718A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694695A (zh) * | 2012-04-27 | 2012-09-26 | 南大傲拓科技江苏有限公司 | 基于以太网通讯协议的串口通讯组态调试方法 |
CN103414741A (zh) * | 2013-07-02 | 2013-11-27 | 深圳市汇川技术股份有限公司 | 一种远程升级plc的方法和系统 |
CN103942080A (zh) * | 2014-05-16 | 2014-07-23 | 四川九成信息技术有限公司 | 电子设备信息传输方法 |
Non-Patent Citations (1)
Title |
---|
刘晓文 等: "《基于Boot Loader技术的嵌入式软PLC运行系统研究》", 《工矿自动化》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106444610A (zh) * | 2016-11-06 | 2017-02-22 | 杭州电子科技大学 | 一种plc远程代码更新系统及方法 |
CN107179740A (zh) * | 2017-06-23 | 2017-09-19 | 杭州电子科技大学 | 嵌入式plc的编译方法与嵌入式系统 |
CN110187891A (zh) * | 2019-03-18 | 2019-08-30 | 杭州电子科技大学 | 一种用于多核可编程控制器的程序开发方法及系统 |
CN110187891B (zh) * | 2019-03-18 | 2023-03-03 | 杭州电子科技大学 | 一种用于多核可编程控制器的程序开发方法及系统 |
CN110262349A (zh) * | 2019-06-28 | 2019-09-20 | 中国航空工业集团公司雷华电子技术研究所 | 一种c8051f系列单片机的远程在线编程方法及系统 |
CN113625630A (zh) * | 2021-08-09 | 2021-11-09 | 大易智慧信息科技(苏州)有限公司 | 上位机远程控制单片机操作的装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104391718A (zh) | 一种ePLC程序远程下载方法 | |
CN105302716B (zh) | 合流开发模式下的测试方法、装置 | |
CN103414741B (zh) | 一种远程升级plc的方法和系统 | |
CN111104143B (zh) | 一种固件升级方法及升级装置 | |
CN103677946B (zh) | 电梯设备控制程序的更新方法和系统 | |
CN102065139A (zh) | 软件升级方法、装置及多媒体终端 | |
CN105224362A (zh) | 上位机对下位机进行程序升级的方法及系统 | |
CN103812726A (zh) | 一种数据通信设备的自动化测试方法及装置 | |
CN101621411B (zh) | 微控制器远程更新方法和更新系统 | |
CN104967585A (zh) | 一种远程调试移动终端的方法和装置 | |
CN108804109B (zh) | 基于多路功能等价模块冗余仲裁的工业部署和控制方法 | |
CN107832065A (zh) | 固件升级方法、净水器、升级系统及可读存储介质 | |
CN106444610A (zh) | 一种plc远程代码更新系统及方法 | |
WO2011137640A1 (zh) | 文件传输方法、文件发送装置和文件接收装置 | |
CN109240908A (zh) | 异常测试用例模板创建方法及装置 | |
CN104125504A (zh) | 一种基于持续集成的部署方法、装置及系统 | |
KR101323937B1 (ko) | Hmi 시뮬레이터 및 plc 시뮬레이터간의 통신 시뮬레이션 시스템 | |
CN107844410A (zh) | 一种分布式集群系统的调试方法和装置 | |
CN107404535B (zh) | 设备的远端升级方法和装置 | |
CN103576598A (zh) | 基于无线扩展总线方式的可编程逻辑控制系统及控制方法 | |
CN106850554B (zh) | 双系统定向连接的方法和装置 | |
CN111538515A (zh) | 一种电能表程序的升级方法、装置和设备 | |
CN116781211A (zh) | 一种设备升级方法、装置、电子设备和存储介质 | |
CN112448948A (zh) | 一种防火墙开通结果验证方法、装置、设备及存储介质 | |
CN110958153A (zh) | 网络传输速率检测系统、方法及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150304 |
|
WD01 | Invention patent application deemed withdrawn after publication |