CN103593203A - 可编程逻辑控制器的编程和固件更新方法 - Google Patents
可编程逻辑控制器的编程和固件更新方法 Download PDFInfo
- Publication number
- CN103593203A CN103593203A CN201210292631.6A CN201210292631A CN103593203A CN 103593203 A CN103593203 A CN 103593203A CN 201210292631 A CN201210292631 A CN 201210292631A CN 103593203 A CN103593203 A CN 103593203A
- Authority
- CN
- China
- Prior art keywords
- firmware
- programmable logic
- logic controller
- plc
- firmware image
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种对可编程逻辑控制器进行编程和固件更新的方法,包括:将计算机连接到可编程逻辑控制器;向可编程逻辑控制器传送用户应用程序和固件映像;在可编程逻辑控制器中使用接收的固件映像更新固件;以及在可编程逻辑控制器中运行用户应用程序。
Description
技术领域
本发明涉及可编程逻辑控制器,具体地,涉及可编程逻辑控制器的编程和固件更新方法。
背景技术
可编程逻辑控制器(PLC)在工业控制领域中被广泛使用。为了改善可编程逻辑控制器的设计缺陷或增加/改进其功能,厂商通常在一定时期内会推出一系列的新固件映像用于已出厂设备的固件更新。固件映像通常对应于特定型号的可编程逻辑控制器,而且对于同一设备型号可能存在多个版本。
当用户编写用户应用程序并使用编程软件向可编程逻辑控制器传送用户应用程序(如图1所示)时,如果用户当前使用的编程软件与可编程逻辑控制器的当前固件不兼容,则可能无法执行编程。即便能够成功编程,用户应用程序中使用的功能也可能得不到可编程逻辑控制器的固件的支持。为此,需要用户在对可编程逻辑控制器进行编程之前将固件更新为与编程软件兼容的版本(如图2所示)。
然而,对一般用户来说,自行实施固件更新存在很大风险。首先,用户可能在固件更新时选择错误的固件映像,例如,选择的固件映像对应于其他的设备型号,或者选择的固件版本与用户使用的编程软件不兼容。其次,在固件更新的过程中,用户计算机与可编程逻辑控制器之间的通信链路可能中断,或者发生掉电等电源故障,造成更新失败,使得可编程逻辑控制器无法正常工作。
另外,即便对于熟练的用户来说,在编程之前确认固件版本是否与编程软件兼容、在不兼容时寻找合适的固件映像、并使用固件映像更新可编程逻辑控制器的固件也会造成很多不便。而且,每当用户更换新版本的编程软件时,都将需要重复上述的操作。
发明内容
本发明针对现有的可编程逻辑控制器的编程方法和固件更新方法的上述不足,提供将编程和固件更新合二为一的方法。
根据本发明的一方面,提供一种对可编程逻辑控制器进行编程和固件更新的方法,包括:将计算机连接到可编程逻辑控制器;向可编程逻辑控制器传送用户应用程序和固件映像;在可编程逻辑控制器中使用接收的固件映像更新固件;以及在可编程逻辑控制器中运行用户应用程序。
根据本发明的实施例,该方法进一步包括,在将计算机连接到可编程逻辑控制器之后:检测可编程逻辑控制器的设备型号;以及根据设备型号获取固件映像。
根据本发明的实施例,所述根据设备型号获取固件映像的步骤包括:从编程软件资源包中提取与该设备型号对应的固件映像。
根据本发明的实施例,所述根据设备型号获取固件映像的步骤包括:获取编程软件的版本信息;向服务器查询该设备型号与编程软件版本兼容的最新固件版本;以及从服务器下载与该固件版本对应的固件映像。
根据本发明的实施例,该方法进一步包括,在向可编程逻辑控制器传送用户应用程序和固件映像之前:检测可编程逻辑控制器的当前固件版本;以及如果将要传送的固件映像的版本与当前固件版本相同,则省略传送固件映像和更新固件的操作。
根据本发明,在对可编程逻辑控制器进行编程过程时,将应用程序连同合适的固件映像一起传送到可编程逻辑控制器,从而解决了固件与编程软件的兼容问题,并避免了用户自行固件更新的不便及其风险。
附图说明
通过下面结合附图对示范性实施例的详细描述,将更好地理解本发明。应当清楚地理解,所描述的示范性实施例仅仅是作为说明和示例,而本发明不限于此。本发明的精神和范围由所附权利要求书的具体内容限定。下面描述附图的简要说明,其中:
图1示意性示出对可编程逻辑控制器进行编程的常规方法;
图2示意性示出对可编程逻辑控制器进行固件更新的常规方法;
图3示意性示出根据本发明的可编程逻辑控制器编程和固件更新方法;
图4是示出根据本发明的实施例的可编程逻辑控制器编程和固件更新方法的流程图;
图5是示出根据本发明的另一实施例的可编程逻辑控制器编程和固件更新方法的流程图;
图6是示出根据本发明的另一实施例的图5的获取固件映像的步骤的详细过程的流程图;以及
图7是示出根据本发明的另一实施例的可编程逻辑控制器编程和固件更新方法的流程图。
具体实施方式
图3是根据本发明的可编程逻辑控制器编程和固件更新方法的示意图。
本发明中,将可编程逻辑控制器的编程过程和固件更新过程合二为一,即,在进行用户应用程序编程时,使用编程软件将用户应用程序以及相应的固件映像一起传送到可编程逻辑控制器,以解决固件匹配问题并便于用户使用。另外,如图3中所示,可以在可编程逻辑控制器中提供引导程序,其仅具有基本的硬件支持和通信支持功能。该引导程序非常简单,因此一般很少有缺陷,而且应当永远不需要由用户来升级。在因固件更新过程中通信链路中断或电源故障造成更新失败的情况下,由于可编程逻辑控制器中的引导程序不会被破坏,可以在消除故障之后再次执行更新过程。
图4是示出根据本发明的实施例的可编程逻辑控制器编程和固件更新方法的流程图。
参照图4,在步骤S410,通过通信链路将安装有编程软件的用户计算机连接到可编程逻辑控制器。在步骤S420,使用编程软件将编写好的用户应用程序连同固件映像一起传送到可编程逻辑控制器,其中该固件映像与可编程逻辑控制器的设备型号对应,且其版本与编程软件兼容。在步骤S430,在可编程逻辑控制器中使用接收的固件映像更新固件。最后,在步骤S440,在可编程逻辑控制器中运行用户应用程序。
图5是示出根据本发明的另一实施例的可编程逻辑控制器编程和固件更新方法的流程图。
参照图5,在步骤S510,通过通信链路将安装有编程软件的用户计算机连接到可编程逻辑控制器。在步骤511,检测可编程逻辑控制器的设备型号。在步骤512,根据设备型号获取固件映像。在步骤S520,使用编程软件将编写好的用户应用程序连同获取的固件映像一起传送到可编程逻辑控制器。在步骤S530,在可编程逻辑控制器中使用接收的固件映像更新固件。最后,在步骤S540,在可编程逻辑控制器中运行用户应用程序。
根据本发明的实施例,可以在编程软件的资源包中一并包括与多种设备型号对应的多个固件映像,且它们都与该编程软件兼容。从而,在步骤S512中,可以从编程软件资源包中提取与检测的设备型号对应的固件映像。
图6是示出根据本发明的另一实施例的图5的获取固件映像的步骤的详细过程的流程图。
参照图6,可以如下执行图5的根据设备型号获取固件映像的步骤S512,在操作S601,获取编程软件的版本信息。在操作S602,向服务器查询该设备型号与编程软件版本兼容的最新固件版本。其中,该服务器存储各种设备型号的可编程逻辑控制器的固件映像以及其与编程软件的兼容信息。该服务器可以位于因特网上,由可编程逻辑控制器的厂商维护,也可以位于用户企业的内部网中,由设备管理员维护。最后,在步骤S603,从服务器下载与该固件版本对应的固件映像。
图7是示出根据本发明的另一实施例的可编程逻辑控制器编程和固件更新方法的流程图。
参照图7,在步骤S710,通过通信链路将安装有编程软件的用户计算机连接到可编程逻辑控制器。在步骤S715,检测可编程逻辑控制器的当前固件版本。在步骤S716,确定将要传送的固件映像的版本与当前固件版本是否相同,其中该固件映像与可编程逻辑控制器的设备型号对应,且其版本与编程软件兼容。如果确定固件版本不相同,则在步骤S720,使用编程软件将编写好的用户应用程序连同固件映像一起传送到可编程逻辑控制器。在步骤S730,在可编程逻辑控制器中使用接收的固件映像更新固件。最后,在步骤S740,在可编程逻辑控制器中运行用户应用程序。
如果在步骤S716确定固件版本相同,则在步骤S717,使用编程软件仅将编写好的用户应用程序传送到可编程逻辑控制器。接着,在步骤S740,在可编程逻辑控制器中运行用户应用程序。即,在没有必要更新固件的情况下,省略传送固件映像和更新固件的操作。
虽然已经图示和描述本发明的示范性实施例,但是本领域技术人员可以理解,随着技术的进步,可以作出各种变更和修改并可以用等价物替换其元素而不背离本发明的真实范围。
Claims (5)
1.一种对可编程逻辑控制器进行编程和固件更新的方法,包括:
将计算机连接到可编程逻辑控制器;
向可编程逻辑控制器传送用户应用程序和固件映像;
在可编程逻辑控制器中使用接收的固件映像更新固件;以及
在可编程逻辑控制器中运行用户应用程序。
2.如权利要求1所述的方法,进一步包括,在将计算机连接到可编程逻辑控制器之后:
检测可编程逻辑控制器的设备型号;以及
根据设备型号获取固件映像。
3.如权利要求2所述的方法,其中所述根据设备型号获取固件映像的步骤包括:
从编程软件资源包中提取与该设备型号对应的固件映像。
4.如权利要求2所述的方法,其中所述根据设备型号获取固件映像的步骤包括:
获取编程软件的版本信息;
向服务器查询该设备型号与编程软件版本兼容的最新固件版本;以及
从服务器下载与该固件版本对应的固件映像。
5.如权利要求1所述的方法,进一步包括,在向可编程逻辑控制器传送用户应用程序和固件映像之前:
检测可编程逻辑控制器的当前固件版本;以及
如果将要传送的固件映像的版本与当前固件版本相同,则省略传送固件映像和更新固件的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210292631.6A CN103593203B (zh) | 2012-08-16 | 2012-08-16 | 可编程逻辑控制器的编程和固件更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210292631.6A CN103593203B (zh) | 2012-08-16 | 2012-08-16 | 可编程逻辑控制器的编程和固件更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103593203A true CN103593203A (zh) | 2014-02-19 |
CN103593203B CN103593203B (zh) | 2016-12-21 |
Family
ID=50083363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210292631.6A Active CN103593203B (zh) | 2012-08-16 | 2012-08-16 | 可编程逻辑控制器的编程和固件更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103593203B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105278992A (zh) * | 2015-10-27 | 2016-01-27 | 北京煜邦电力技术股份有限公司 | 固件更新方法及装置 |
CN110297455A (zh) * | 2018-03-23 | 2019-10-01 | 欧姆龙(上海)有限公司 | 可编程逻辑控制器及其自检和恢复方法 |
CN113508346A (zh) * | 2019-03-06 | 2021-10-15 | 欧姆龙株式会社 | 控制装置以及软件的部署方法 |
CN114936037A (zh) * | 2022-07-21 | 2022-08-23 | 天津七一二移动通信有限公司 | 一种兼容多型号铁路cir程序升级的夹具实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004049115A2 (en) * | 2002-11-22 | 2004-06-10 | Bitfone Corporation | Update system for facilitating software update and data conversion in an electronic device |
CN102103509A (zh) * | 2010-11-23 | 2011-06-22 | Tcl集团股份有限公司 | 一种互联网电视远程自动升级方法 |
CN102164363A (zh) * | 2011-04-14 | 2011-08-24 | 新邮通信设备有限公司 | 一种实现基站版本更新的方法和一种基站 |
-
2012
- 2012-08-16 CN CN201210292631.6A patent/CN103593203B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004049115A2 (en) * | 2002-11-22 | 2004-06-10 | Bitfone Corporation | Update system for facilitating software update and data conversion in an electronic device |
CN102103509A (zh) * | 2010-11-23 | 2011-06-22 | Tcl集团股份有限公司 | 一种互联网电视远程自动升级方法 |
CN102164363A (zh) * | 2011-04-14 | 2011-08-24 | 新邮通信设备有限公司 | 一种实现基站版本更新的方法和一种基站 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105278992A (zh) * | 2015-10-27 | 2016-01-27 | 北京煜邦电力技术股份有限公司 | 固件更新方法及装置 |
CN110297455A (zh) * | 2018-03-23 | 2019-10-01 | 欧姆龙(上海)有限公司 | 可编程逻辑控制器及其自检和恢复方法 |
CN113508346A (zh) * | 2019-03-06 | 2021-10-15 | 欧姆龙株式会社 | 控制装置以及软件的部署方法 |
EP3936951A4 (en) * | 2019-03-06 | 2022-11-16 | OMRON Corporation | CONTROL DEVICE AND SOFTWARE DEVELOPMENT METHOD |
CN113508346B (zh) * | 2019-03-06 | 2024-01-30 | 欧姆龙株式会社 | 控制装置以及软件的部署方法 |
US11907735B2 (en) | 2019-03-06 | 2024-02-20 | Omron Corporation | Control device and method for deployment of software |
CN114936037A (zh) * | 2022-07-21 | 2022-08-23 | 天津七一二移动通信有限公司 | 一种兼容多型号铁路cir程序升级的夹具实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103593203B (zh) | 2016-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102132261B (zh) | 家庭网络系统、网关装置以及固件更新方法 | |
CN104899055B (zh) | 一种基于bios控制的me更新系统及其更新方法 | |
CN104657174A (zh) | 一种用于动态实现应用功能的方法和装置 | |
CN107291516A (zh) | 一种固件升级方法和系统 | |
US20190281118A1 (en) | Adaptive internet-of-things service system using detachable/attachable hardware module | |
CN104199706A (zh) | 一种eMMC的固件升级方法及其设备 | |
CN103748569A (zh) | Usb设备的无驱动操作的系统和方法 | |
KR20050034409A (ko) | 홈 네트워크 시스템 및 그 동작방법 | |
JP2003288226A (ja) | 遠隔家電機器アップデート方法及びシステム | |
CN102945177A (zh) | Plc固件升级系统及方法 | |
CN104298526A (zh) | 一种软件更新方法和装置 | |
KR100952585B1 (ko) | 운영체제(os) 자동복구기능을 갖는 임베디드 시스템 및운영체제 자동복구 방법 | |
CN102567061B (zh) | 电视机与遥控器双向升级的方法和系统 | |
CN102880488A (zh) | 驱动程序修复方法、设备和系统 | |
CN105339892A (zh) | 局部网络和更新局部网络中的设备的方法 | |
CN103593203A (zh) | 可编程逻辑控制器的编程和固件更新方法 | |
CN102799545A (zh) | Usb设备远程控制方法和系统 | |
WO2012155412A1 (zh) | 安卓系统下的固件升级方法及系统 | |
JP6834825B2 (ja) | 管理システムおよび管理方法 | |
CN102841825A (zh) | 一种驱动备份方法、装置及驱动还原方法、装置 | |
CN106681759A (zh) | 软件更新的方法及移动终端 | |
CN102158851A (zh) | 移动终端网络服务请求参数更新的方法及移动终端 | |
US9207928B2 (en) | Computer-readable medium, apparatus, and methods of automatic capability installation | |
KR101034186B1 (ko) | 생산관리 단말기 및 그 운영방법 | |
CN105242938B (zh) | 自动化程序下载系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |