CN104423310B - 用于更新可编程逻辑控制器中的操作系统的装置和方法 - Google Patents

用于更新可编程逻辑控制器中的操作系统的装置和方法 Download PDF

Info

Publication number
CN104423310B
CN104423310B CN201410534400.0A CN201410534400A CN104423310B CN 104423310 B CN104423310 B CN 104423310B CN 201410534400 A CN201410534400 A CN 201410534400A CN 104423310 B CN104423310 B CN 104423310B
Authority
CN
China
Prior art keywords
operating system
working storage
stored
plc
mpu
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.)
Active
Application number
CN201410534400.0A
Other languages
English (en)
Other versions
CN104423310A (zh
Inventor
朴朝东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LS Electric Co Ltd
Original Assignee
LS Industrial Systems Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by LS Industrial Systems Co Ltd filed Critical LS Industrial Systems Co Ltd
Publication of CN104423310A publication Critical patent/CN104423310A/zh
Application granted granted Critical
Publication of CN104423310B publication Critical patent/CN104423310B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25346Several operating systems in one device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

本公开涉及一种用于更新PLC(可编程逻辑控制器)中的OS(操作系统)的装置以及使用其的方法,所述装置被配置为更新PLC中的OS,并且通过立即应用更新后的OS到PLC而执行操作,所述装置包括MPU(微处理单元)、闪存、第二工作存储器以及切换单元。

Description

用于更新可编程逻辑控制器中的操作系统的装置和方法
技术领域
本公开涉及一种用于更新PLC(可编程逻辑控制器)中的OS(操作系统)的装置以及使用其的方法,该装置被配置为更新PLC中的OS,并且被配置为通过立即应用更新后的OS到PLC而执行操作。
背景技术
在背景技术部分中公开的信息仅用于增强对本公开的整体背景的理解,并且不应被视为承认或任何形式的暗示该信息构成对于本领域技术人员来说是已知的现有技术。
由于成熟的技术,随着自动化领域的发展已经出现了用于工厂自动化的各种类型的装置。作为用于工厂自动化的装置之一,PLC使用可编程存储器来通过数字或模拟输入/输出(I/O)模块执行诸如逻辑、序列、计时、计数和运算的功能。PLC(一种被配置为控制工厂中的各种设备、机器和工序的装置)是用于工厂自动化的核心元件,并且是被配置为满足工厂自动化的各种需求的有效手段之一。
PLC能够在模块中或在基本单元中提供各种功能,例如算术四则运算、数字信号的输入/输出、模拟信号的输入/输出、通信、定位和高速计数。
甚至在产品从工厂装运出去之后,经常发生PLC中的OS更新,用于功能升级、缺陷更正以及功能添加。为了更新PLC中的OS,以及为了允许PLC根据更新后的OS进行操作,PLC的电源必须切断并且再次接通,或者必须执行系统复位以进行初始化,其中在初始化过程中更新的OS被上传到工作存储器,并且必须根据更新后的OS执行操作。
因此,按照惯例,需要很多的时间来更新PLC上的OS以及允许PLC根据更新后的OS进行操作,因此使用PLC的产品的生产率大大降低。
发明内容
这部分提供本公开的整体概述,而不是其全部范围或其所有特征的充分公开。本公开的示例性方案基本上至少解决上述问题和/或缺点,并且至少提供下述优点。
因此,本公开的方案提供一种用于更新PLC中的OS(操作系统)的装置及其方法,该装置被配置为允许PLC立即应用更新后的OS并且使其工作,而不是在PLC上更新OS时切断PLC的电源并再次接通PLC的电源。
然而,应当强调的是,本公开不限于如上所述的特定公开。应该理解的是,本文未提及的其他技术主题可以被本领技术人员所了解。
在本公开的一个总的方案中,提供了一种用于更新PLC中的OS(操作系统)的装置,所述装置包括:
MPU(微处理单元),其被配置为控制由PADT(编程和调试工具)提供的OS的下载,以及响应于上传的OS而执行操作;
闪存,其响应于MPU的控制而存储有多个下载的OS;
第一工作存储器,其响应于MPU的控制而上传有在闪存中所存储的多个OS中的最新版本的OS;
第二工作存储器,其在最新版本的OS上传到第一工作存储器中之后,通过MPU的下载而上传有闪存中所存储的OS;以及
切换单元,其被配置为响应于由MPU产生的芯片切换信号而切换用于分别选择第一工作存储器和第二工作存储器的片选信号,以及施加所述片选信号到第一工作存储器和第二工作存储器。
优选地,但不是必须地,所述闪存可以包括存储有OS的第一OS区和第二OS区,并且MPU通过比较分别存储在第一OS区和第二OS区中的OS的版本,而上传最新版本的OS到第一工作存储器中。
优选地,但不是必须地,所述闪存可以包括存储有多个OS的第一OS区和第二OS区,并且MPU通过比较分别存储在第一OS区和第二OS区中的OS的版本,而将从PADT下载的OS存储到存储有以前版本的OS区上。优选地,但不是必须地,MPU可以通过调用引导程序从PADT下载OS。
在本公开的另一个总的方案中,提供了一种用于更新PLC(可编程逻辑控制器)中的OS(操作系统)的方法,所述方法包括:
由MPU(微处理单元)从PADT(编程和调试工具)下载OS;
由MPU通过比较分别存储在闪存的第一OS区和第二OS区中的OS的版本,而将下载的OS存储在存储有以前版本OS的第一OS区或第二OS区上;
由MPU将下载并存储在第一OS区或第二OS区的OS上传到,第一工作存储器和第二工作存储器中的未存储有当前工作中使用的OS的第一工作存储器或第二工作存储器;以及
由MPU响应于上传到第一工作存储器或第二工作存储器上的OS,而执行工作。
优选地,但不是必须地,所述下载可以通过由MPU调用的引导程序实现。
优选地,但不是必须地,所述方法还可以包括:在上传OS之后,通过切换单元响应于由MPU输出的芯片切换信号进行切换,施加片选信号到第一工作存储器或第二工作存储器,所述片选信号被配置为选择第一工作存储器或第二工作存储器。
优选地,但不是必须地,所述片选信号可以是使先前输出的用于选择第一工作存储器或第二工作存储器的片选信号反转(reversing)的信号。
有益效果
用于更新PLC中的OS的装置和方法具有以下有益效果:
在由PADT提供的新版本的OS被下载和存储时,PLC能够通过应用新版本的OS立即操作,而不是要切断和再次打开PLC的电源,由此能够减少用于更新OS的时间和用于响应于更新后的OS而操作PLC的时间,并且由此能够改善通过使用PLC而制造的产品的生产率。
通过下述详细描述,其结合附图公开了本发明的示例性实施例,本公开的其他示例性方案、优点和显著特征对于本领域技术人员将变得更加显而易见。
本发明的上述特征及其他特征在下文中论述。
附图说明
下面参照在附图中示出的某些示例性实施例详细地描述本发明的上述和其他特征,在下文中所述示例性实施例仅以实例说明的方式给出,并因此不限制本发明,全文相同的附图标记表示相同的元件,其中:
图1是示出了根据现有技术的用于更新PLC中的OS的装置的配置的框图;
图2是示出了通过根据现有技术的用于更新PLC中的OS的方法的MPU的操作的信号流程图;
图3是示出了根据本公开的用于更新PLC中的OS的装置的配置的框图;
图4a和图4b分别是图3的切换单元的详细电路图以及示出操作状态的图表;
图5a和图5b是示出了在根据本公开的用于更新PLC中的OS的装置中将闪存中存储的新版本的OS上传到工作存储器的操作的图表;以及
图6是示出了根据本公开的用于更新PLC中的OS的方法的MPU的操作的信号流程图。
本公开的其他优点、目的和特征将部分地在接下来的描述中阐述,并且部分地将在对下文的审查时对于本领域技术人员变得显而易见或可以从本公开的实践中学到。本公开的目的和其他优点可以通过在所撰写的说明书及其权利要求书以及附图中特别指出的结构实现和获得。
可以理解的是,本公开的先前整体描述和接下来的详细描述都是示例性的和说明性的,并且旨在为所要求保护的本公开提供进一步解释。
具体实施方式
在描述本公开中,可以省略本领域已知的结构或过程的详细描述,以避免由于关于这种已知结构和功能的不必要细节而使本领域技术人员模糊对本发明的理解。因此,在说明书和权利要求书中使用的特定术语或词语的含义不应限于字面或通常采用的意思,而应该根据用户或操作者的意图和习惯用途被解释或可以不同。因此,特定术语或词语的定义应该基于整个说明书的内容。
在下文中,将参照附图详细地描述本公开的示例性实施例。
图1是示出了根据现有技术的PLC的高速计数器模块的脉冲输入方法的框图,其中附图标记100是PADT(编程和调试工具),而110是PLC。
PADT 100响应于操作者的操纵而产生操作命令,并且将操作命令提供给PLC 110,并且当所产生的命令是OS的下载命令时,PADT 100向PLC 110提供将要被下载的OS。PLC110响应于预存储的多个OS中的最新版本的OS而执行预定操作,并且响应于PADT 100的操作命令而执行操作。
此外,当产生了OS的下载命令时,PLC 110下载由PADT 100提供的OS并且存储该OS。此时,PLC 110可以包括MPU(微处理单元)112、闪存114以及工作存储器116。
MPU 112通过以下方式进行控制:即,PLC 110响应于预存储的多个OS中的最新版本的OS而执行预定工作,并且响应于PADT 100的操作命令而执行操作。此外,当PADT 100产生OS的下载命令时,MPU 112调用引导程序112a以允许下载由PADT 100提供的OS,并且控制所下载的OS的存储和运行。
闪存114包括多个OS区,并且存储由MPU 112下载的OS。例如,闪存114可以包括第一OS区114a和第二OS区114b,其中第一OS区114a和第二OS区114b响应于MPU 112的控制而选择性地存储由PADT 100提供的OS。工作存储器116响应于MPU 112的控制而对在第一OS区114a和第二OS区114b中存储的多个OS中的最新版本的OS进行存储,并且通过将存储的OS提供到MPU 112响应于该OS而执行预定操作。
在根据现有技术如此配置的用于更新PLC系统中的OS的装置中,当PLC 110的电源接通时,MPU 112检查在闪存114的第一OS区114a和第二OS区114b中所存储的OS的每个版本。例如,MPU 112产生片选信号CS1以激活闪存114的第一OS区114a和第二OS区114b。此外,MPU 112产生闪存114的读取信号RD,并且通过地址总线产生地址信号以读取分别存储在第一OS区114a和第二OS区114b中的OS,通过数据总线接收所读取的OS,并且比较所接收的OS的版本以确定第一OS区114a或第二OS区114b存储有最新版本的OS。此时,将假定最新版本的OS存储在第一OS区114a中来解释操作。
当确定最新版本的OS存储在第一OS区114a中时,MPU 112读出第一区114a中所存储的最新版本的OS,并将该最新版本的OS存储在工作存储器116中。例如,当片选信号CS1被产生以激活闪存114时,MPU 112产生地址信号和闪存114的读取信号RD,并且允许闪存114的第一OS区114a中所存储的最新版本的OS通过数据总线被输出。
此外,MPU 112产生片选信号CS2以及写入信号WR,并且将所产生的片选信号CS2和写入信号WR发送到工作存储器116,且通过地址总线产生地址信号并将所产生的地址信号发送到工作存储器116。然后,存储在闪存114的第一区114a中的最新版本的OS通过数据总线被输入且存储在工作存储器116中。
如上所述,当最新版本的OS存储在工作存储器116中时,MPU 112读出工作存储器116中所存储的OS,并且响应于从工作存储器116读出的OS而执行预定的工作。
在响应于最新版本的OS而执行工作时,MPU112确定是否已经从PADT 100接收到预定的操作命令。当确定已经从PADT 100接收到预定的操作命令时,MPU 112确定该操作命令是否是新版本OS的下载命令,并且当操作命令不是新版本OS的下载命令时,MPU 112响应于输入的相关操作命令而执行预定的操作。当确定从PADT 100接收的操作命令是新版本OS的下载命令时,MPU 112调用引导程序112a以允许下载由PADT 100提供的新版本OS。
此外,MPU 112检查闪存114的第一OS区114a和第二OS区114b中所存储的多个OS的版本,并且当存储在第二OS区114b中的OS的版本是比存储在第一OS区114a中的OS早的版本时,MPU 112删除第二OS区114b中所存储的OS,并且在第二OS区114b中存储通过引导程序112a所下载的新版本OS。
当如此描述的所下载的新版本OS存储在第二OS区114b中时,MPU 112切断PLC 110的电源并且再次接通电源或执行系统复位。
此外,当PLC 110接通电源或响应于系统复位而执行初始化工作时,MPU 112检查闪存114的第一OS区114a和第二OS区114b中所存储的多个OS的版本,其中假定存储在第二OS区114b中的OS的版本晚于存储在第一OS区114a中的OS的版本。然后,MPU读出第二OS区114b中所存储的OS并且将所读出的OS存储在工作存储器116中,并且响应于存储在第二OS区114b中的最新版本的OS而执行预定的工作。
图2是示出了通过根据现有技术的用于更新PLC中的OS的方法的MPU的操作的信号流程图。参照图2,MPU 112接收由PADT 100产生的命令(S200),并且确定所接收的命令是否是要求OS下载的命令(S202)。
作为确定的结果,如果所接收的命令不是要求OS下载的命令,则MPU 112响应于所接收的命令而执行预定的操作(S204)。此外,作为确定的结果,如果所接收的命令是要求OS下载的命令,则MPU 112调用引导程序112a以能够下载最新版本的OS(S206),并且确定分别存储在闪存114的第一OS区114a和第二OS区114b中的OS中的最新版本OS(S208)。
作为确定的结果,如果确定第一OS区114a中所存储OS的版本晚于第二OS区114b中所存储的OS的版本,则MPU 112删除第二OS区114b中所存储的OS(S210)。即,MPU 112删除第二OS区114b的闪存块(flash sector)。
此外,MPU112在闪存114的第二OS区114b中存储从引导程序112a接收的新版本的OS(S212),并且确定新版本的OS是否下载完成(S214)。
作为确定的结果,如果确定新版本的OS没有下载完成,则MPU 112返回到步骤S212以在闪存114的第二OS区114b中存储从引导程序112a接收的新版本的OS,并且重复确定新版本的OS是否已经下载完成的操作。
此外,作为确定的结果,如果确定第二OS区114b中所存储的OS的版本晚于第一OS区114a中所存储的OS的版本,则MPU 112删除第一OS区114a中所存储的OS(S216)。然后,MPU112在闪存114的第一OS区114a中存储从引导程序112a接收的新版本的OS(S218),并且确定新版本的OS是否下载完成(S220)。
作为确定的结果,如果确定新版本的OS没有下载完成,则MPU 112返回到步骤S218以在闪存114的第一OS区114a中存储从引导程序112a接收的新版本的OS,并且重复确定新版本的OS是否已经下载完成的操作。在这种情况下,如果确定新版本的OS已经完成下载,则MPU 112切断PLC 110的电源并且再次接通电源,或执行系统复位(S222)。
然后,MPU 112接通PLC 110的电源或响应于系统复位而执行初始化操作,并且将分别存储在闪存114的第一OS区114a和第二OS区114b中的OS中的最新版本OS上传到工作存储器116中(S224)。
即,MPU 112执行初始化工作并且检查分别存储在闪存114的第一OS区114a和第二OS区114b中的OS的版本,并且读出最新版本的OS且将所读出的最新版本的OS上传到工作存储器116中。当最新版本的OS的上传完成时,MPU 112运行上传到工作存储器116中的最新版本的OS(S226)。
在MPU 112运行当前版本的OS时,当从PADT 100产生下载OS的命令时,根据现有技术PLC 110可以在闪存114中存储由PADT 100提供的新版本OS。然而,为了运行存储在闪存114中的新版本OS,MPU 112必须切断PLC 110的电源并且再次接通电源,或运行系统复位以执行初始化工作,并且在执行初始化工作时将新版本的OS上传到工作存储器116中。因此,在MPU 112运行所下载的新版本OS之前需要花很多时间,这会导致产品生产率降低的问题的产生。
图3是示出了根据本公开的用于更新PLC中的OS的装置的配置的框图,其中附图标记300是PADT,而310是PLC。
PADT 300响应于操作者的操纵而产生操作命令,并且将操作命令提供给PLC 310,且当所产生的命令是下载OS的命令时,PADT 300提供待由PLC 310下载的OS。PLC 310响应于预存储的多个OS中的最新版本的OS而执行预定操作。此外,当PADT 300产生下载OS的命令时,PLC 310下载由PADT 300提供的OS并且存储所下载的OS。
PLC 31O可以包括MPU(微处理单元)312、闪存314、第一工作存储器316和第二工作存储器318以及切换单元320。
MPU 312通过以下方式进行控制:即,PLC 310响应于预存储的多个OS中的最新版本的OS而执行预定操作,并且响应于PADT 300的操作命令而执行操作。此外,当PADT 300产生下载OS的命令时,MPU 312调用引导程序312a以能够下载由PADT 300提供的OS,并且控制所下载的OS的存储和运行。
例如,闪存314可以包括第一OS区314a和第二OS区314b,其中第一OS区314a和第二OS区314b可以响应于MPU 312的控制而选择性地存储由PADT 300提供的OS。
响应于MPU 312的控制可以选择第一工作存储器316和第二工作存储器318的其中一个,第一工作存储器316和第二工作存储器318的其中一个工作存储器可以存储有第一OS区314a和第二OS区314b中存储的OS中的最新版本OS,并且可以通过将所存储的OS提供到MPU 312而执行预定的操作。
此外,当新版本的OS被更新以存储在闪存314中时,响应于MPU 312的控制而选择第一工作存储器316和第二工作存储器318的其中一个,由此更新的新版本OS被上传。切换单元320响应于由MPU 312产生的芯片切换信号MEM_CS而切换由MPU 312产生的片选信号CS2,CS3,从而产生第一工作存储器316的片选信号CS2’和第二工作存储器318的片选信号CS3’。
因此配置的根据本公开的用于更新PLC中的OS的装置是这样的:当PLC310的电源被接通时,MPU 312检查闪存314的第一OS区314a和第二OS区314b中所存储的多个OS的每个版本,其中通过假定第一OS区314a存储有最新版本的OS来说明操作。
如果确定第一OS区314a存储有最新版本的OS,则MPU 312读出第一OS区314a中所存储的最新版本的OS,并且选择性地将最新版本的OS存储在第一工作存储器316或第二工作存储器318中。
现在,将通过假定第一工作存储器316存储有最新版本的OS来说明操作。
在片选信号CS1被产生以激活闪存314时,MPU 312产生读取信号RD以及闪存314的地址信号,从而允许闪存314通过数据总线输出存储在第一OS区314a中的最新版本的OS。
此外,MPU 312产生片选信号CS2并且输出逻辑1信号的芯片切换信号MEM_CS,并且响应于所输出的逻辑1信号的芯片切换信号MEM_CS通过允许片选信号CS2经由切换单元320而被输出为片选信号CS2’,能够使得第一工作存储器316被激活。此外,MPU 312产生第一工作存储器316的读取信号RD,并且还通过地址总线产生地址信号。于是,通过数据总线从闪存314的第一OS区314a输出的最新版本的OS被输入到第一工作存储器316和被上传。
如上所述,当最新版本的OS上传到第一工作存储器316中时,MPU 312读出上传到第一工作存储器316中的OS,并且响应于从第一工作存储器316读出的OS而执行预定的操作。
在MPU 312响应于最新版本的OS而执行操作时,MPU 312确定是否已经从PADT 300接收到预定的操作命令。当从PADT 300输入了预定的操作命令时,MPU 312确定预定命令是否是下载新版本OS的命令,并且当预定命令不是下载新版本OS的命令时,响应于相关的操作命令而执行预定的操作。
当从PADT 300输入的操作命令是下载新版本OS的命令时,MPU 312调用引导程序312a以下载由PADT 300提供的新版本的OS。此外,MPU 312检查闪存314的第一OS区314a和第二OS区314b中所存储的OS的版本,并且当存储在第二OS区314b中的OS的版本是比第一OS区314a中的OS的版本早时,MPU 312删除第二OS区314b中所存储的OS,并且在第二OS区314b中存储通过引导程序312a所下载的新版本OS。
如上所述,当新版本的OS都存储在第二OS区314b中时,MPU 312产生片选信号CS3,其中所产生的片选信号CS3响应于逻辑1信号的芯片切换信号MEM_CS而通过切换单元320被输出为芯片切换信号CS2’,以激活第二工作存储器318。此外,MPU 312读出第二OS区314b中所存储的新版本的OS,并且将新版本的OS上传到第二工作存储器318中。
当第二工作存储器318被上传有第二OS区314b中所存储的所有新版本的OS时,MPU312不输出片选信号CS3而是输出作为逻辑0的芯片切换信号MEM_CS。然后,切换单元320响应于逻辑0的芯片切换信号MEM_CS通过将片选信号CS2输出为片选信号CS3’激活第二工作存储器318,因此MPU 312能够响应于上传到第二工作存储器318的新版本OS而执行预定的操作。
图4a和图4b分别是图3的切换单元的详细电路图以及示出操作状态的图表。
参照图4a,本公开的切换单元320能够通过允许片选信号CS2,CS3施加和连接到缓冲器(BF1,BF2)(BF3,BF4)的输入端子,而使每个片选信号CS2’,CS3’从缓冲器(BF1,BF3)(BF2,BF4)的输出端子输出。此外,芯片切换信号MEM_CS被施加和连接到缓冲器BF1,BF3的非反相控制端子,并且芯片切换信号MEM_CS被施加和连接到缓冲器BF2,BF4的反相控制端子。
因此根据本公开配置的切换单元320为这样的:当芯片切换信号MEM_CS是逻辑1时,缓冲器BF1,BF3工作而缓冲器BF2,BF4不工作。于是,如图4b所示,片选信号CS2,CS3分别通过缓冲器BF1,BF3被输出为片选信号CS2’,CS3’,以分别施加到第一工作存储器316和第二工作存储器318。
当芯片切换信号MEM_CS是逻辑0时,缓冲器BF1,BF3不工作而缓冲器BF2,BF4工作。于是,如图4b所示,片选信号CS2,CS3分别通过缓冲器BF2,BF4被输出为片选信号CS2’,CS3’,以分别施加到第一工作存储器316和第二工作存储器318。
因此,如上所述,当产生片选信号CS2以激活第一工作存储器316并且响应于存储在第一工作存储器316中的OS而执行操作时,MPU 312通过使芯片切换信号MEM_CS反转(reverting)而激活第二工作存储器318,并且响应于存储在第二工作存储器318中的OS而执行操作。
图5a和图5b是示出了在根据本公开的用于更新PLC中的OS的装置中将闪存中存储的新版本的OS上传到工作存储器的操作的图表。
参照图5a和图5b,在当前OS操作区是0x200000~0x2FFFFF时,MPU 312通过使用片选信号CS2来选择工作存储器。此时,当MPU 312输出逻辑1的芯片切换信号MEM_CS时,片选信号CS2通过切换单元320被输出为片选信号CS2’,因此第一工作存储器316被选中,而当MPU 312输出逻辑0的芯片切换信号MEM_CS时,片选信号CS2通过切换单元320被输出为片选信号CS3’,因此第二工作存储器318被选中。
响应于PADT 300的OS下载命令而下载的新版本OS被存储在闪存314中。此时,由MPU 312检查存储在第一OS区314a和第二OS区314b中的OS的每个版本,并且所下载的新版本OS被存储在存储有低版本OS的区中。
例如,当存储在第一OS区314a中的OS的版本是V1.0,而存储在第二OS区314b中的OS的版本是V1.1时,MPU 312删除第一OS区314a中所存储OS并且存储所下载的新版本OS。当完成对所下载新版本OS的存储时,将存储在第一OS区314a中的新版本OS以0x300000~0x3FFFFF上传到工作存储器中,并且响应于片选信号CS3而选择上传有新版本OS的工作存储器。
例如,当MPU 312操作的当前OS被上传到第一工作存储器316上时,第二工作存储器318被选中用于上传新版本的OS,而当MPU 312操作的当前OS被上传到第二工作存储器318上时,第一工作存储器316被选中用于上传新版本的OS。
当新版本OS完成上传并且MPU 312将芯片切换信号MEM_CS反转并且输出时,存储有新版本OS的工作存储器被激活以允许在MPU 312中提供所存储的OS。
图6是示出了根据本公开的用于更新PLC中的OS的方法的MPU的操作的信号流程图。
参照图6,MPU 312接收由PADT 300产生的命令(S600),并且确定所接收的命令是否是下载OS的命令(S602)。作为确定的结果,如果所接收的命令不是下载OS的命令,则MPU312响应于所接收的命令而执行预定的操作(S604)。作为确定的结果,如果所接收的命令是下载OS的命令,则MPU 312调用引导程序312a以允许下载新版本的OS(S606),并且确定分别存储在第一OS区314a和第二OS区314b中的OS中的最新版本OS(S608)。
作为确定的结果,如果第一OS区314a中所存储的OS的版本晚于第二OS区314b的OS的版本,则MPU 312删除第二OS区314b中所存储的OS(S610)。然后,MPU 312在第二OS区314b中存储由引导程序312a接收的新版本的OS(S612),并且确定新版本的OS是否下载完成(S614)。
当新版本的OS没有下载完成时,MPU 312返回至S612以在闪存312的第二OS区314b中存储通过引导程序312a接收的新版本的OS,并且重复检查新版本的OS是否下载完成的操作。此外,作为在步骤S608确定的结果,如果第二OS区314b中所存储的OS的版本晚于第一OS区314a中所存储的OS的版本,则MPU 312删除第一OS区314a中所存储的OS(S616)。然后,MPU312在第一OS区314a中存储由引导程序312a接收的新版本的OS(S618),并且确定新版本的OS的下载是否完成(S620)。
当新版本的OS没有完成下载时,MPU 312返回到步骤S618以在闪存314的第一OS区314a中存储通过引导程序312a接收的新版本的OS,并且重复检查新版本的OS是否下载完成的操作。
当新版本的OS完成下载时,在第一工作存储器316和第二工作存储器318中的一个当前不工作的存储器(即,第一工作存储器316)存储有MPU 312当前操作的OS的情况下,MPU312选择第二工作存储器318以上传新版本的OS(S622),并且将芯片切换信号MEM_CS反转和输出。
然后,存储有新版本OS的第二工作存储器318被激活以将所存储的新版本OS提供给MPU 312。
然而,根据本公开的上述用于更新PLC中的OS的装置和方法,可以以许多不同的方式实施,并且不应该被理解为限于在本文所阐述的实施例。因此,旨在本公开的实施例可以覆盖本公开的修改和变型,只要它们落入所附权利要求书及其等同方案的范围内。
虽然已经针对多个实施例公开了特定的特征或方面,但是根据需要这些特征或方面可以与其他实施例的一个以上其他特征和/或方面选择性地组合。

Claims (8)

1.一种用于更新可编程逻辑控制器中的操作系统的装置,所述装置包括:
微处理单元,其被配置为控制由编程和调试工具提供的操作系统的下载,以及响应于上传的操作系统而执行操作;
闪存,其响应于所述微处理单元的控制而存储有多个下载的操作系统;
第一工作存储器,其响应于所述微处理单元的控制而上传有所述闪存中存储的多个操作系统中的最新版本的操作系统;
第二工作存储器,其在最新版本的操作系统上传到所述第一工作存储器中之后,通过所述微处理单元的下载而上传有所述闪存中所存储的操作系统;以及
切换单元,其被配置为响应于由所述微处理单元产生的芯片切换信号而切换用于分别选择所述第一工作存储器和所述第二工作存储器的片选信号,以及施加所述片选信号到所述第一工作存储器和所述第二工作存储器,其中
所述可编程逻辑控制器能够通过应用新版本的操作系统立即操作,而不是要切断和再次打开可编程逻辑控制器的电源,并且
其中用于选择所述第一工作存储器的切换信号是逻辑1,而用于选择所述第二工作存储器的切换信号是逻辑0。
2.根据权利要求1所述的装置,其中所述闪存包括存储有操作系统的第一操作系统区和第二操作系统区,并且所述微处理单元通过比较分别存储在所述第一操作系统区和所述第二操作系统区中的操作系统的版本,而上传最新版本的操作系统到所述第一工作存储器中。
3.根据权利要求1所述的装置,其中所述闪存包括存储有多个操作系统的第一操作系统区和第二操作系统区,并且所述微处理单元通过比较分别存储在所述第一操作系统区和所述第二操作系统区中的操作系统的版本,而将从所述编程和调试工具下载的操作系统存储到存储有以前版本的操作系统区上。
4.根据权利要求1所述的装置,其中所述微处理单元通过调用引导程序从所述编程和调试工具下载所述操作系统。
5.一种用于更新可编程逻辑控制器中的操作系统的方法,所述方法包括:
由微处理单元从编程和调试工具下载操作系统;
由所述微处理单元通过比较分别存储在闪存的第一操作系统区和第二操作系统区中的操作系统的版本,而将下载的操作系统存储在存储有以前版本操作系统的所述第一操作系统区或所述第二操作系统区上;
由所述微处理单元将下载并存储在所述第一操作系统区或所述第二操作系统区的操作系统上传到,第一工作存储器和第二工作存储器中的未存储有当前工作中使用的操作系统的第一工作存储器或第二工作存储器上;以及
由所述微处理单元响应于上传到所述第一工作存储器或所述第二工作存储器上的操作系统,而执行工作,其中
所述可编程逻辑控制器能够通过应用新版本的操作系统立即操作,而不是要切断和再次打开可编程逻辑控制器的电源,并且
其中用于选择所述第一工作存储器的切换信号是逻辑1,而用于选择所述第二工作存储器的切换信号是逻辑0。
6.根据权利要求5所述的方法,其中所述下载通过由所述微处理单元调用的引导程序实现。
7.根据权利要求5所述的方法,还包括:在上传操作系统之后,通过切换单元响应于由所述微处理单元输出的芯片切换信号进行切换,施加片选信号到所述第一工作存储器或所述第二工作存储器,所述片选信号被配置为选择所述第一工作存储器或所述第二工作存储器。
8.根据权利要求7所述的方法,其中所述片选信号是使先前输出的用于选择所述第一工作存储器或所述第二工作存储器的片选信号反转的信号。
CN201410534400.0A 2013-08-29 2014-08-28 用于更新可编程逻辑控制器中的操作系统的装置和方法 Active CN104423310B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130102920A KR101707266B1 (ko) 2013-08-29 2013-08-29 Plc에서의 os의 업데이트 장치 및 방법
KR10-2013-0102920 2013-08-29

Publications (2)

Publication Number Publication Date
CN104423310A CN104423310A (zh) 2015-03-18
CN104423310B true CN104423310B (zh) 2017-10-27

Family

ID=52584302

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410534400.0A Active CN104423310B (zh) 2013-08-29 2014-08-28 用于更新可编程逻辑控制器中的操作系统的装置和方法

Country Status (3)

Country Link
US (1) US10146200B2 (zh)
KR (1) KR101707266B1 (zh)
CN (1) CN104423310B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6520759B2 (ja) * 2016-02-26 2019-05-29 オムロン株式会社 プログラマブルコントローラ、プログラマブルコントローラの制御プログラム
KR20210101770A (ko) * 2020-02-11 2021-08-19 엘에스일렉트릭(주) 복수 프로그래밍 언어 지원을 위한 plc 제어방법
CN111208805A (zh) * 2020-02-20 2020-05-29 江苏诺蓝翌新能源科技有限公司 一种plc控制系统更换调试平台
CN114090107A (zh) * 2021-08-30 2022-02-25 讯牧信息科技(上海)有限公司 计算机和系统启动方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1459516A (en) * 1920-06-16 1923-06-19 Warren Webster & Co Combination regulating valve for feed-water heaters
JPS5940393A (ja) * 1982-08-31 1984-03-06 Nec Corp メモリ回路
US5652723A (en) * 1991-04-18 1997-07-29 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device
US5452339A (en) * 1994-02-09 1995-09-19 Harris Corporation Local/remote modification of electronically alterable operating system firmware resident in redundant flash memory of remote unit for testing/conditioning subscriber line circuits
FR2752631B1 (fr) * 1996-08-22 1999-01-22 Schneider Automation Procede de chargement d'un systeme d'exploitation
US6023620A (en) * 1997-02-26 2000-02-08 Telefonaktiebolaget Lm Ecrisson Method for downloading control software to a cellular telephone
US6446158B1 (en) * 1999-05-17 2002-09-03 Chris Karabatsos Memory system using FET switches to select memory banks
JP2001051851A (ja) * 1999-08-17 2001-02-23 Nec Corp 携帯電子機器のプログラム変更システム及び方法
US20030095648A1 (en) * 1999-10-05 2003-05-22 Lifecor, Inc. Fault-tolerant remote reprogramming for a patient-worn medical device
US7577726B1 (en) * 2002-02-07 2009-08-18 Cisco Technology, Inc. Method for updating a hardware configuration of a networked communications device
JP3963744B2 (ja) * 2002-03-15 2007-08-22 富士通株式会社 チップセレクト信号による制御を変更可能なメモリ装置
US7742401B2 (en) * 2003-08-11 2010-06-22 Netapp, Inc. Network having switchover with no data loss
KR20060075824A (ko) * 2004-12-29 2006-07-04 노틸러스효성 주식회사 금융 자동화 기기 및 그 프로그램 운영 방법
KR20070015704A (ko) * 2005-08-01 2007-02-06 양재우 엠씨유의 업그레이드 방법
CN101063939A (zh) 2006-04-28 2007-10-31 佛山市顺德区顺达电脑厂有限公司 可更新操作系统程序的嵌入式装置及其方法
CN101093446B (zh) * 2006-06-21 2011-06-22 鸿富锦精密工业(深圳)有限公司 操作系统引导装置、方法及其应用的电脑系统
JP4829029B2 (ja) * 2006-08-02 2011-11-30 株式会社東芝 メモリシステム及びメモリチップ
CN101295255B (zh) 2007-04-27 2011-05-18 英业达股份有限公司 固件更新系统及方法
US7839611B2 (en) * 2007-11-14 2010-11-23 General Electric Company Programmable logic controller having micro-electromechanical system based switching
TW200947223A (en) * 2008-05-02 2009-11-16 Inventec Corp A sharing basic input output system server device and method thereof
CN101739270B (zh) 2008-11-05 2013-04-03 英华达(上海)科技有限公司 电子装置及其系统更新方法
CN101807154B (zh) 2009-02-16 2015-01-21 技嘉科技股份有限公司 在嵌入式操作系统更新失败的情况下仍能开机的电子装置及其方法
JP2010198155A (ja) 2009-02-24 2010-09-09 Fujitsu Ten Ltd プログラム更新装置、プログラム更新方法、及び情報処理装置
JP5508824B2 (ja) * 2009-12-03 2014-06-04 アズビル株式会社 フィールドバスシステム
KR101426983B1 (ko) 2010-07-07 2014-08-06 엘에스산전 주식회사 Plc의 통신장치 및 방법
US8806470B2 (en) 2010-09-29 2014-08-12 Mitsubishi Electric Corporation System, method, and apparatus for software maintenance of sensor and control systems
JP5585502B2 (ja) * 2011-03-16 2014-09-10 日本電気株式会社 情報処理装置およびそのファームウェア更新方法
JP2013004601A (ja) * 2011-06-14 2013-01-07 Elpida Memory Inc 半導体装置
CN102968089B (zh) 2012-10-23 2014-12-24 深圳市汇川控制技术有限公司 可编程逻辑控制器及实现方法

Also Published As

Publication number Publication date
CN104423310A (zh) 2015-03-18
US20150066168A1 (en) 2015-03-05
US10146200B2 (en) 2018-12-04
KR20150025350A (ko) 2015-03-10
KR101707266B1 (ko) 2017-02-15

Similar Documents

Publication Publication Date Title
CN104423310B (zh) 用于更新可编程逻辑控制器中的操作系统的装置和方法
CN107861716B (zh) 软件定义型控制系统及控制方法
CN103680411B (zh) 一种led显示模组单点校正数据的单线传输电路和方法
US10310894B2 (en) Method and device for generating configuration information of dynamic reconfigurable processor
KR100960518B1 (ko) 데이터 처리 시스템 및 그 제어방법
CN111144025B (zh) 一种基于多层次重构的仿真模型参数化集成系统及方法
CN104935786B (zh) 一种基于软处理器的图像信号源及其处理图像信号的方法
CN107861458B (zh) 一种可自主配置硬件资源的plc快速构建方法
CN110271009B (zh) 基于plc仿机器人指令实现机械手示教功能方法
CN102662913B (zh) 用于提高mcu存储性能的方法及其对应的mcu芯片
CN101334651B (zh) 可编程控制器及其通道选择方法
CN104111857A (zh) 一种多机型bios参数自动配置的方法
CN102722384A (zh) 一种光模块固件在线升级的方法及升级系统
US20130185620A1 (en) Ladder program creation apparatus
CN105446200B (zh) 一种自动控制方法及装置
CN103699016A (zh) 全范围模拟数字化控制系统初始工况的生成方法
CN105898961B (zh) 无线照明配对控制系统
CN109358850A (zh) 一种对系统设置进行读写的智能编程实现方法及装置
US8948888B2 (en) Human machine interface device and interface integration method thereof
CN111661197B (zh) 一种agv指令设置系统、方法、计算机设备及其存储介质
CN105355032A (zh) 内置可多次编程存储器的学习型遥控电路结构及学习方法
CN103499931A (zh) 一种控制器设计方法及装置
CN106354041A (zh) 一种非全码并行总线的级联式多节点工业自动化控制系统
CN202049755U (zh) 一种可编程器件
CN106855733A (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
GR01 Patent grant
GR01 Patent grant