CN111223517B - Plc通信模块中从设备的eeprom恢复方法 - Google Patents
Plc通信模块中从设备的eeprom恢复方法 Download PDFInfo
- Publication number
- CN111223517B CN111223517B CN201910893367.3A CN201910893367A CN111223517B CN 111223517 B CN111223517 B CN 111223517B CN 201910893367 A CN201910893367 A CN 201910893367A CN 111223517 B CN111223517 B CN 111223517B
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- erasable programmable
- programmable read
- charged
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/054—Input/output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/10—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using selector switches
- G05B19/106—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using selector switches for selecting a programme, variable or parameter
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/12—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
- G11C16/3409—Circuits or methods to recover overerased nonvolatile memory cells detected during erase verification, usually by means of a "soft" programming step
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Automation & Control Theory (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Programmable Controllers (AREA)
- Stored Programmes (AREA)
- Detection And Correction Of Errors (AREA)
- Small-Scale Networks (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种在使用EtherCAT网络的PLC通信模块中存储从设备的设置信息的EEPROM的数据被修改或发生错误时自动恢复EEPROM的数据的方法。根据本发明的PLC通信模块中从设备的EEPROM恢复方法中,包括:步骤A,使用PLC通信模块分析EEPROM的原始数据,并以段为单位计算校验和;步骤B,对从附加到从设备的ESC的EEPROM读取的EEPROM数据进行分析,并以段为单位计算校验和;步骤C,以段为单位分别比较所述EEPROM的原始数据的校验和及所述EEPROM数据的校验和;步骤D,在所述比较结果中每个以段为单位的校验和中的任何一个不匹配时,检测不匹配的段的校验和,并用标志标记检测的EEPROM数据的段中是否发生异常;以及步骤E,使用所述标志中标记的是否为异常,将发生异常的EEPROM数据通知给用户。
Description
技术领域
本发明涉及使用EtherCAT(以太网控制自动化技术)网络的PLC通信模块中对存储从设备的设置信息的带电可擦可编程只读存储器(EEPROM)的数据恢复的方法(Method forEEPROM Recovery of Slave Device in PLC Communication Module)。
背景技术
作为工厂自动化的关键设备之一的可编程逻辑控制器(Programmable LogicController;PLC)中,需要具有各种功能的模块以应对各种应用。
PLC可以通过EtherCAT网络将一个以上的从设备连接到主设备,以将输入和输出节点扩大为远距离。并且,在基于主设备和与所述主设备处于远距离的多个从设备之间的通信的EtherCAT网络系统中,从设备使用EtherCAT从控制器(EtherCAT SlaveController:ESC)。
ESC由各种制造商以各种形式开发和生产,但是内部结构和寄存器结构为相同,因为所述ESC基本上遵守EtherCAT标准。所述ESC为了访问EtherCAT网络,需要基本配置,所述配置将带电可擦可编程只读存储器(或内部存储器)安装到主设备,然后从带电可擦可编程只读存储器加载设置信息。本说明书中,将不区分使用带电可擦可编程只读存储器或使用内部存储器的情况,而是统称为带电可擦可编程只读存储器。
存储在带电可擦可编程只读存储器的信息中记录有硬件(H/W)接口配置、产品信息、产品版本以及EtherCAT通信所需的基本信息等。
此时,带电可擦可编程只读存储器基本上可以通过主设备写入或读取,但是,根据每个产品制造商的不同,也可以提供另外的接口来写入和读取带电可擦可编程只读存储器的数据。因此,可以容易地改变带电可擦可编程只读存储器的数据,但相反地,存在的问题是,由于带电可擦可编程只读存储器的数据被修改,所以也增加了存储错误的数据的概率。
发生带电可擦可编程只读存储器的数据被修改的原因中,最常见的情况是管理者等错误地提取其他产品的从设备信息数据,并将该数据写入带电可擦可编程只读存储器。除此之外,还存在各种情况,这些情况可以大致分为如下三种。
第一,当EtherCAT网络中存在多个从设备时,存在将ESI(EtherCAT SlaveInformation:以太网控制自动化技术从设备信息)从主设备中下载到从设备同时下载其他设备的ESI的情况。第二,存在下载与当前设备所支持的ESI版本不兼容的旧版本或最新版本的ESI的情况。第三,存在由于其他不同环境因素或电噪声,带电可擦可编程只读存储器的数据部分丢失或被修改的情况。
然而,现有的带电可擦可编程只读存储器的数据修改时进行的过程不能有效地处理带电可擦可编程只读存储器数据的修改,并且其发生原因如何,都处理为错误。
另外,作为可以恢复的方法,用户通过开发了发生错误的从设备的开发商的专用程序或管理员手动地重新下载ESI,或更换发生故障的硬件。
发明内容
需要解决的课题
本发明的目的在于提供一种在使用EtherCAT网络的PLC通信模块中存储从设备的设置信息的带电可擦可编程只读存储器的数据被修改或发生错误时自动恢复带电可擦可编程只读存储器的数据的方法。
本发明的另一个目的在于提供一种恢复带电可擦可编程只读存储器的数据的方法,其中现有技术中不能自行恢复带电可擦可编程只读存储器,而在本发明中,与设备的固件兼容的带电可擦可编程只读存储器的数据存储在只读永久存储器,并通过该信息恢复带电可擦可编程只读存储器的数据。
本发明的另一目的在于提供一种PLC通信模块中从设备的带电可擦可编程只读存储器恢复方法,其中,通过存储在只读永久存储器的信息来检测是否发生错误,并将发生错误的部分通知给用户。
本发明的另一目的在于提供一种PLC通信模块中从设备的带电可擦可编程只读存储器恢复方法,其中,当通过存储在只读永久存储器的信息来进行恢复时,将是否恢复的信息提供给用户,或者将哪一部分为被恢复的部分的信息通知给用户。
本发明的目的不限于上述目的,可以通过以下说明来理解本发明的未提及的其他目的和优点,并通过本发明的实施例可以更清楚地理解本发明。另外,将容易理解的是,本发明的目的和优点可以通过权利要求书中示出的方法及其组合来实现。
解决课题的手段
本发明的PLC通信模块中从设备的带电可擦可编程只读存储器恢复方法中,其可以包括:步骤A,使用PLC通信模块分析带电可擦可编程只读存储器的原始数据,并以段为单位计算校验和(checksum);步骤B,对从附加到从设备的ESC的带电可擦可编程只读存储器读取的带电可擦可编程只读存储器数据进行分析,并以段为单位计算校验和(checksum);步骤C,以段为单位分别比较所述带电可擦可编程只读存储器的原始数据的校验和及所述带电可擦可编程只读存储器数据的校验和;步骤D,在所述比较结果中每个以段为单位的校验和中的任何一个不匹配时,检测不匹配的段的校验和,并用标志标记检测的带电可擦可编程只读存储器数据的段中是否发生异常;以及步骤E,使用所述标志中标记的是否为异常,将发生异常的带电可擦可编程只读存储器数据通知给用户。
另外,所述带电可擦可编程只读存储器数据可以共分为三种段:关键信息区域(Critical Information Area)、连接信息区域(Connection Information Area)以及通信信息区域(Communication Information Area)。
另外,所述步骤D可以包括:作为所述比较结果,当每个以段为单位的校验和均匹配时,从附加到从设备的ESC的带电可擦可编程只读存储器中请求提取设置信息的步骤;如果根据所述请求成功提取带电可擦可编程只读存储器设置信息,则检查读取的带电可擦可编程只读存储器设置信息是否正常的步骤;以及如果所述带电可擦可编程只读存储器设置信息提取失败,或所述读取的带电可擦可编程只读存储器设置信息异常的情况下,则处理为ESC本身的错误的步骤。
另外,所述步骤D还可以包括:作为所述设置信息是否正常的检查结果,当正常时,从处理器尝试访问ESC的步骤;作为所述尝试结果,当不能访问ESC时,将错误处理为硬件(H/W)严重故障的步骤;以及作为所述尝试结果,当能够访问ESC时,进入ESC的下一个初始化过程的步骤。
另外,所述带电可擦可编程只读存储器设置信息是带电可擦可编程只读存储器状态寄存器,其可以包括硬件(H/W)接口配置、产品信息、产品版本、以及EtherCAT通信所需的基本信息。
另外,所述步骤D可以包括:比较所述带电可擦可编程只读存储器的原始数据中的关键信息区域的校验和及所述带电可擦可编程只读存储器数据中的关键信息区域的校验和的第一比较步骤;当所述第一比较结果为彼此不同时,用标志标记带电可擦可编程只读存储器数据中的关键信息区域中是否发生异常的步骤;当所述第一比较结果为彼此相同时,比较所述带电可擦可编程只读存储器的原始数据中的连接信息区域的校验和及从带电可擦可编程只读存储器读取到的带电可擦可编程只读存储器数据中的连接信息区域的校验和的第二比较步骤;当所述第二比较结果为彼此不同时,用标志标记带电可擦可编程只读存储器数据中的连接信息区域中是否发生异常的步骤;当所述第二比较结果为彼此相同时,比较所述带电可擦可编程只读存储器的原始数据中的通信信息区域的校验和及所述带电可擦可编程只读存储器数据中的通信信息区域的校验和的第三比较步骤;以及当所述第三比较结果为彼此不同时,用标志标记带电可擦可编程只读存储器数据中的通信信息区域中是否发生异常的步骤。
另外,还可以包括作为所述第三比较结果,当在关键信息区域、连接信息区域以及通信信息区域中的标志均标记为异常时,设置整个恢复数据标志的步骤。
另外,还可以包括当设置了所述整个恢复数据标志时,确认为整个段的信息区域的带电可擦可编程只读存储器数据错误的步骤。
另外,所述步骤E还可以包括:如果执行发生异常的带电可擦可编程只读存储器数据恢复,则通过使用所述带电可擦可编程只读存储器的原始数据写入发生异常的带电可擦可编程只读存储器数据来恢复数据错误的步骤。
另外,所述步骤E可以包括:确认所述带电可擦可编程只读存储器数据的每个段标志的第一确认步骤;作为所述第一确认结果,如果每个段的所有标志标记为异常,则将所述带电可擦可编程只读存储器原始数据全部作为恢复数据写入带电可擦可编程只读存储器数据段区域的步骤;将所述带电可擦可编程只读存储器数据的整个段标志标记为正常的步骤;作为所述第一确认结果,如果不是每个段的所有标志标记为异常,则确认带电可擦可编程只读存储器数据的每个段标志是否标记为异常,并对标记为异常的带电可擦可编程只读存储器数据段区域将所述带电可擦可编程只读存储器原始数据中的相应的段的带电可擦可编程只读存储器数据作为恢复数据写入的步骤;将作为所述恢复数据写入的段区域标志标记为正常的步骤。
另外,将所述带电可擦可编程只读存储器数据作为恢复数据写入的步骤可以包括:作为所述第一确认结果,当不是每个段的所有标志标记为异常时,确认带电可擦可编程只读存储器数据中的关键信息区域标志是否标记为异常的第二确认步骤;作为所述第二确认结果,当关键信息区域标志标记为异常时,检查关键信息区域的末尾中计算的CRC的步骤;当所述检查结果为CRC错误的情况下,仅重新计算错误的CRC,然后通过写入CRC数据来恢复错误的步骤;当所述检查结果为CRC没有错误的情况下,将所述带电可擦可编程只读存储器原始数据中的关键信息数据作为恢复数据写入所述带电可擦可编程只读存储器数据中的关键信息区域的步骤;确认所述带电可擦可编程只读存储器数据中的连接信息区域标志是否标记为异常的第三确认步骤;作为所述第三确认结果,当连接信息区域标志标记为异常时,将所述带电可擦可编程只读存储器原始数据中的连接信息区域数据作为恢复数据写入带电可擦可编程只读存储器数据的连接信息区域的步骤;确认所述带电可擦可编程只读存储器数据中的通信信息区域标志是否标记为异常的第四确认步骤;以及作为所述第四确认结果,当通信信息区域标志标记为异常时,将所述带电可擦可编程只读存储器原始数据中的通信信息区域数据作为恢复数据写入带电可擦可编程只读存储器数据的通信信息区域的步骤。
另外,可以将所述带电可擦可编程只读存储器的原始数据永久存储在闪存中作为特征。
发明效果
在根据本发明的PLC通信模块中从设备的带电可擦可编程只读存储器恢复方法中,即使带电可擦可编程只读存储器的数据是从外部因素被修改而不是用户所意图的,也可以自动恢复,因此,可以消除由于带电可擦可编程只读存储器的数据异常而导致不能通信的现象。
另外,当发生异常而被恢复时,可以用标志通知给用户,因此,用户可以确认问题出自哪一部分以及如何处理。
另外,当是用户的意向的情况下,通过参数设置来执行相应的功能,并可以仅禁用恢复功能。在这种情况下,可以仅通知存在发生异常的部分,并且通知未执行其恢复。
除了如上所述的效果之外,本发明的具体效果将与用于实施本发明的具体事项一起描述。
附图说明
图1是用于说明PLC通信模块中从设备的带电可擦可编程只读存储器恢复方法的流程图。
图2是以段为单位示出图1中的带电可擦可编程只读存储器数据的图。
图3是用于详细说明检测图1中不匹配的带电可擦可编程只读存储器数据段的过程的流程图。
图4是详细地示出图1中使用恢复数据来恢复数据错误的过程的流程图。
其中,附图标记说明如下:
10:关键信息区域20:连接信息区域
30:通信信息区域
具体实施方式
参照附图,详细说明前述的目的、特征以及优点,由此,本领域技术人员能够容易实施本发明的技术思想。在对本发明进行说明的过程中,当判断针对与本发明相关的公知技术的具体说明模糊本发明的主旨时,省略其详细说明。下面,将参照附图详细说明本发明的优选实施例。在附图中,相同的附图标记表示相同或类似的结构要素。
在下文中,将说明本发明的一些实施例的PLC通信模块中从设备的带电可擦可编程只读存储器恢复方法。
图1所示的PLC通信模块中从设备的带电可擦可编程只读存储器恢复方法是一实施例,这些过程不限制图1所示的实施例,并且根据需要可以对部分过程进行添加、变更或删除。
图1是用于说明PLC通信模块中从设备的带电可擦可编程只读存储器恢复方法的流程图。
参照图1进行说明,首先,使用EtherCAT网络的PLC通信模块接通从设备的电源,然后开始初始化过程。开始初始化过程时,分析存储在永久存储器(Flash)的只读属性的带电可擦可编程只读存储器的原始数据,以段为单位计算校验和(checksum)(S100)。计算的以段为单位的校验和可以存储于存储器。
此时,带电可擦可编程只读存储器的原始数据包括:关键信息(CriticalInformation)的段、连接信息(Connection Information)的段以及通信信息(Communication Information)的段。并且,校验和是用于检查数据的准确性的错误检测方法之一。校验和通过将之前发送的所有数据全部加到数据的最后一位来计算总和。PLC通信模块使用原始数据作为输入,并以段为单位逐个接收并相加。
图2是以段为单位示出图1中分析的带电可擦可编程只读存储器(原始)数据的图。
如图2所示,带电可擦可编程只读存储器数据大致可以分为三种段:关键信息区域(Critical Information Area)10、连接信息区域(Connection Information Area)20以及通信信息区域(Communication Information Area)30。
此时,所述关键信息区域10是PLC通信模块中的从设备的ESC进行操作所需的基本配置和用于与更高级别的应用处理器接口的信息的集合。并且,所述连接信息区域20是PLC通信模块中的主设备识别从设备并连接时使用的信息的集合。另外,所述通信信息区域30是PLC通信模块中用于主设备和从设备之间的通信而进行的协议的信息的集合。
然后,PLC通信模块读取附加到从设备的ESC的带电可擦可编程只读存储器的数据(S200)。此时,带电可擦可编程只读存储器的数据包括:关键信息(Critical Information)的段、连接信息(Connection Information)的段以及通信信息(CommunicationInformation)的段。
并且,当读取完成时(S300),PLC通信模块分析读取到的带电可擦可编程只读存储器数据,并以段为单位计算校验和(checksum)(S400)。计算的以段为单位的校验和可以存储到存储器。
并且,PLC通信模块以段为单位分别比较从永久存储器(Flash)读取到的带电可擦可编程只读存储器的原始数据的校验和以及从带电可擦可编程只读存储器读取到的带电可擦可编程只读存储器数据的校验和(S500)。
当所述比较结果(S500)与每个以段为单位的校验和中任何一个都不匹配(S600)时,PLC通信模块检测校验和发生错误(不匹配)的某一段。PLC通信模可以用标志标记检测出的带电可擦可编程只读存储器数据的段中是否发生异常(S700)。此时,以下将参照图3再次说明S700过程。
如此地,可以使用标志将发生异常的带电可擦可编程只读存储器数据通知给用户。因此,用户可以识别到在哪一部分发生了问题,并且如何处理的。另外,用户可以通过识别标志来进行发生异常的带电可擦可编程只读存储器数据的恢复处理。
由此,当带电可擦可编程只读存储器数据的修改是用户的意向的情况下,用户可以通过参数设置来执行相应的功能。此时,用户可以仅禁用恢复功能。在这种情况下,可以仅通知存在发生异常的部分,并且通知未执行其恢复。
因此,如果对发生异常的带电可擦可编程只读存储器数据执行恢复,则对发生异常的带电可擦可编程只读存储器数据进行写入,从而恢复数据错误(S800)。此时,数据错误的恢复可以利用存储在永久存储器(Flash)的只读属性的带电可擦可编程只读存储器的原始数据。此时,以下将参照图4说明S800过程。
并且,所述比较结果(S500)与每个以段为单位的校验和均匹配时(S600),PLC通信模块请求从附加到从设备的ESC的带电可擦可编程只读存储器中提取设置信息(S900)。此时,带电可擦可编程只读存储器设置信息是带电可擦可编程只读存储器状态寄存器(status register)。带电可擦可编程只读存储器设置信息可以包括:硬件(H/W)接口配置、产品信息、产品版本、EtherCAT通信所需的基本信息等。
如果根据所述请求成功提取带电可擦可编程只读存储器设置信息(S1000),则PLC通信模块检查所读取的带电可擦可编程只读存储器设置信息是否正常(S1100)。
此时,当带电可擦可编程只读存储器设置信息提取失败或读取的带电可擦可编程只读存储器设置信息不正常时,将该情况处理为ESC本身的错误(S1200)。
所述错误的处理可以将ESC错误指示到外部,以便能够重新下载ESI。为此,可以使用开发从设备的开发商的专用程序或主设备。并且,针对检查所述设置信息是否正常,可以通过位于带电可擦可编程只读存储器数据中的关键信息区域(Critical InformationArea)的CRC(Cyclical Redundancy Check:循环冗余校验)来实现。
并且,在设置信息是否正常的检查结果(S1100)中,如果是处于正常情况下处理器可以访问ESC的状态,则处理器尝试访问ESC(S1300)。
在所述尝试结果(S1300)中,当对ESC的访问失败时(S1400),PLC通信模块将上述情况视为硬件(H/W)严重故障的错误(S1500)。硬件严重故障的错误处理可以是将硬件的故障指示到外部,以便对发生故障的硬件进行更换。
并且,在所述尝试结果(S1300)中,当对ESC的访问成功时(S1400),PLC通信模块将进入ESC的下一个初始化过程步骤。
通过上述操作,即使带电可擦可编程只读存储器的数据是从外部因素被修改而不是用户所意图的,也可以自动恢复。因此,可以消除由于带电可擦可编程只读存储器的数据异常而导致不能通信的现象。
图3是用于详细说明检测图1中不匹配的带电可擦可编程只读存储器数据段的过程的流程图。
参照图3说明,PLC通信模块对从永久存储器(Flash)读取到的带电可擦可编程只读存储器的原始数据中的关键信息区域10的校验和以及从带电可擦可编程只读存储器读取到的带电可擦可编程只读存储器数据中的关键信息区域10的校验和进行比较(第一比较)(S701)。
当所述第一比较结果(S701)为彼此不同时,用标志标记带电可擦可编程只读存储器数据中的关键信息区域10中是否发生异常(S702)。
并且,当所述第一比较结果(S701)为彼此相同时,对从永久存储器(Flash)中读取到的带电可擦可编程只读存储器的原始数据中的连接信息区域20的校验和以及从带电可擦可编程只读存储器读取到的带电可擦可编程只读存储器数据中的连接信息区域20的校验和进行比较(第二比较)(S703)。
当所述第二比较结果(S703)为彼此不同时,用标志标记带电可擦可编程只读存储器数据中的连接信息区域20中是否发生异常(S704)。
当所述第二比较结果(S703)为彼此相同时,对从永久存储器(Flash)中读取到的带电可擦可编程只读存储器的原始数据中的通信信息区域30的校验和以及从带电可擦可编程只读存储器中读取到的带电可擦可编程只读存储器数据中的通信信息区域30的校验和进行比较(第三比较)(S705)。
当所述第三比较结果(S703)为彼此不同时,用标志标记带电可擦可编程只读存储器数据中的通信信息区域30中是否发生异常(S706)。
另外,在第三比较结果(S703)中,当关键信息区域10、连接信息区域20以及通信信息区域30中均标记为异常状态的标志时,可以设置所有恢复数据标志。其表示所有段信息区域10、20、30的带电可擦可编程只读存储器数据为错误。此时,使用设置的所有恢复数据标志来标记是否发生异常。
如上所述,当每个以段为单位的校验和中任何一个不匹配时,PLC通信模块通过标志中标记的值来检测哪一个带电可擦可编程只读存储器数据的段区域发生错误。例如,如果标志中标记的值为‘1’,则判断为相应的带电可擦可编程只读存储器数据的段区域由于修改等原因发生错误。另外,如果为‘0’,则判断为相应的带电可擦可编程只读存储器数据的段区域时正常的。
并且,PLC通信模块可以在确认每一个带电可擦可编程只读存储器数据的标志之后,不立即进行数据错误恢复的处理,而是仅用标志对是否发生异常进行标记,然后传递给用户。
图4是详细地示出图1中使用恢复数据来恢复数据错误的过程的流程图。
参照图4说明,确认带电可擦可编程只读存储器数据的每个段标志(第一确认)(S801)。此时,可以分别确认每个段的标志。但是,也可以仅确认所有段的信息区域10、20、30的带电可擦可编程只读存储器数据指示错误的所有恢复数据标志来确认所有段的信息区域的带电可擦可编程只读存储器数据错误。
作为所述第一确认结果(S801),当每个段的所有标志标记为异常(例如,标记为‘1’)(S802)时,将所有存储在永久存储器的只读属性的带电可擦可编程只读存储器原始数据作为恢复数据写入带电可擦可编程只读存储器数据段区域(S803)。
并且,将带电可擦可编程只读存储器数据的整个段的标志标记为正常(例如,标记为‘0’)(S804)。
作为所述第一确认结果(S801),当不是每个段的所有标志标记有异常(例如,标记为‘1’)(S802)时,确认带电可擦可编程只读存储器数据中的关键信息区域的标志是否标记为异常(第二确认)(S805)。
作为所述第二确认结果(S805),当关键信息区域的标志标记为异常时,首先检查关键信息区域的末尾中计算的CRC(S806)。并且,当检查结果(S806)为CRC错误的情况下,仅重新计算发生错误的CRC,然后通过CRC数据的写入来恢复错误(S807)。
另外,当检查结果(S806)为CRC没有错误的情况下,将存储在永久存储器的只读属性的带电可擦可编程只读存储器原始数据中的关键信息数据作为恢复数据写入带电可擦可编程只读存储器数据中的关键信息区域(S808)。
并且,将带电可擦可编程只读存储器数据的关键信息区域标志标记为正常(S809)。
然后,确认带电可擦可编程只读存储器数据中的连接信息区域标志是否标记为异常(第三确认)(S810)。
作为所述第三确认结果(S810),当连接信息区域标志标记为异常时,将存储在永久存储器的只读属性的带电可擦可编程只读存储器原始数据中的连接信息区域数据作为恢复数据写入带电可擦可编程只读存储器数据的连接信息区域。(S811)。
并且,将带电可擦可编程只读存储器数据的连接信息区域标志标记为正常(S812)。
然后,确认带电可擦可编程只读存储器数据中的通信信息区域标志是否标记为异常(第四确认)(S813)。
作为所述第四确认结果(S813),当通信信息区域标志标记为异常时,将存储在永久存储器的只读属性的带电可擦可编程只读存储器原始数据中的通信信息区域数据作为恢复数据写入带电可擦可编程只读存储器数据的通信信息区域。(S814)。
并且,将带电可擦可编程只读存储器数据的通信信息区域标志标记为正常(S815)。
此时,与关键信息区域不同,连接信息区域和通信信息区域中不存在CRC,因此,仅仅确认是否设置了异常标志,并如果设置了,则写入恢复数据。
可以使用一个或多个计算机程序或组件至少部分地实现本公开中描述的所有公开的方法和过程。这些组件可以作为一系列计算机指令提供在任何传统的计算机可读介质或机器可读介质上,包括易失性和非易失性存储器,例如RAM,ROM,闪存,磁盘或光盘,光存储器或其他存储介质。指令可以作为软件或固件提供,并且可以在诸如ASIC,FPGA,DSP或任何其他类似设备的硬件组件中全部或部分地实现。指令可以被配置为由一个或多个处理器或其他硬件组件执行,当执行一系列计算机指令时,执行或促进所公开的方法和过程中的全部或部分。
如上所述,参考如上所例示的附图说明了本发明,但是本发明不限于本说明书中公开的实施例和附图,并且,对于本领域技术人员,可以在本发明的技术思想的范围内进行各种变形是显而易见的。另外,即使在通过说明本发明的实施例的同时没有明确说明和记载本发明的配置的作用和效果,但应当承认可以由配置预测的效果。
Claims (9)
1.一种PLC通信模块中从设备的带电可擦可编程只读存储器恢复方法,
在作为从PLC通信模块恢复用于存储从设备的设置信息的带电可擦可编程只读存储器的数据的方法中,其特征在于,包括:
步骤A,使用PLC通信模块分析带电可擦可编程只读存储器的原始数据,并以段为单位计算校验和;
步骤B,对从在从设备的ESC附加的带电可擦可编程只读存储器读取的带电可擦可编程只读存储器数据进行分析,并以段为单位计算校验和;
步骤C,以段为单位分别比较所述带电可擦可编程只读存储器的原始数据的校验和与所述带电可擦可编程只读存储器数据的校验和;
步骤D,在所述比较结果中每个以段为单位的校验和中的任何一个不匹配时,检测不匹配的段的校验和,并用标志标记所检测的带电可擦可编程只读存储器数据的段中是否发生异常;以及
步骤E,使用在所述标志中标记的异常与否,将发生异常的带电可擦可编程只读存储器数据通知给用户,
所述步骤D包括:
比较所述带电可擦可编程只读存储器的原始数据中的关键信息区域的校验和与所述带电可擦可编程只读存储器数据中的关键信息区域的校验和的第一比较步骤;
当所述第一比较结果为彼此不同时,用标志标记带电可擦可编程只读存储器数据中的关键信息区域中是否发生异常的步骤;
当所述第一比较结果为彼此相同时,比较所述带电可擦可编程只读存储器的原始数据中的连接信息区域的校验和与从带电可擦可编程只读存储器读取到的带电可擦可编程只读存储器数据中的连接信息区域的校验和的第二比较步骤;
当所述第二比较结果为彼此不同时,用标志标记带电可擦可编程只读存储器数据中的连接信息区域中是否发生异常的步骤;
当所述第二比较结果为彼此相同时,比较所述带电可擦可编程只读存储器的原始数据中的通信信息区域的校验和与所述带电可擦可编程只读存储器数据中的通信信息区域的校验和的第三比较步骤;以及
当所述第三比较结果为彼此不同时,用标志标记带电可擦可编程只读存储器数据中的通信信息区域中是否发生异常的步骤。
2.根据权利要求1所述的PLC通信模块中从设备的带电可擦可编程只读存储器恢复方法,其特征在于,
所述带电可擦可编程只读存储器数据共分为三种段:关键信息区域、连接信息区域以及通信信息区域。
3.根据权利要求1所述的PLC通信模块中从设备的带电可擦可编程只读存储器恢复方法,其特征在于,
所述步骤D包括:
作为所述比较结果,当每个以段为单位的校验和均匹配时,请求从在从设备的ESC附加的带电可擦可编程只读存储器中提取设置信息的步骤;
如果根据所述请求成功提取带电可擦可编程只读存储器设置信息,则检查读取的带电可擦可编程只读存储器设置信息是否正常的步骤;以及
如果所述带电可擦可编程只读存储器设置信息提取失败,或读取的所述带电可擦可编程只读存储器设置信息异常的情况下,处理为ESC本身的错误的步骤。
4.根据权利要求3所述的PLC通信模块中从设备的带电可擦可编程只读存储器恢复方法,其特征在于,
所述步骤D还包括:
作为所述设置信息是否正常的检查结果,当正常时,从处理器尝试访问ESC的步骤;
作为所述尝试结果,当不能访问ESC时,将错误处理为硬件严重故障的步骤;以及
作为所述尝试结果,当能够访问ESC时,进入ESC的下一个初始化过程的步骤。
5.根据权利要求3所述的PLC通信模块中从设备的带电可擦可编程只读存储器恢复方法,其特征在于,
所述带电可擦可编程只读存储器设置信息作为带电可擦可编程只读存储器状态寄存器,包括硬件接口配置、产品信息、产品版本、以及EtherCAT通信所需的基本信息。
6.根据权利要求1所述的PLC通信模块中从设备的带电可擦可编程只读存储器恢复方法,其特征在于,还包括:
作为所述第三比较结果,当在关键信息区域、连接信息区域以及通信信息区域中的标志均标记为异常时,设置整个恢复数据标志的步骤;以及
当设置了所述整个恢复数据标志时,确认为整个段的信息区域的带电可擦可编程只读存储器数据错误的步骤。
7.根据权利要求1所述的PLC通信模块中从设备的带电可擦可编程只读存储器恢复方法,其特征在于,
所述步骤E还包括:
如果执行发生异常的带电可擦可编程只读存储器数据恢复,则通过使用所述带电可擦可编程只读存储器的原始数据写入发生异常的带电可擦可编程只读存储器数据来恢复数据错误的步骤。
8.根据权利要求7所述的PLC通信模块中从设备的带电可擦可编程只读存储器恢复方法,其特征在于,
所述步骤E包括:
确认所述带电可擦可编程只读存储器数据的每个段的标志的第一确认步骤;
作为所述第一确认结果,如果每个段的所有标志标记为异常,则将所述带电可擦可编程只读存储器原始数据全部作为恢复数据写入带电可擦可编程只读存储器数据段区域的步骤;
将所述带电可擦可编程只读存储器数据的整个段标志标记为正常的步骤;
作为所述第一确认结果,如果不是每个段的所有标志标记为异常,则确认带电可擦可编程只读存储器数据的每个段的标志是否标记为异常,并将所述带电可擦可编程只读存储器原始数据中的相应的段的带电可擦可编程只读存储器数据作为恢复数据写入被标记为异常的带电可擦可编程只读存储器数据段区域的步骤;以及
将作为所述恢复数据写入的段区域标志标记为正常的步骤。
9.根据权利要求8所述的PLC通信模块中从设备的带电可擦可编程只读存储器恢复方法,其特征在于,
将所述带电可擦可编程只读存储器数据作为恢复数据写入的步骤包括:
作为所述第一确认结果,当不是每个段的所有标志标记为异常时,确认带电可擦可编程只读存储器数据中的关键信息区域标志是否标记为异常的第二确认步骤;
作为所述第二确认结果,当关键信息区域标志标记为异常时,检查关键信息区域的末尾中计算的CRC的步骤;
当所述检查结果为CRC错误的情况下,仅重新计算错误的CRC,然后通过写入CRC数据来恢复错误的步骤;
当所述检查结果为CRC没有错误的情况下,将所述带电可擦可编程只读存储器原始数据中的关键信息数据作为恢复数据写入所述带电可擦可编程只读存储器数据中的关键信息区域的步骤;
确认所述带电可擦可编程只读存储器数据中的连接信息区域标志是否标记为异常的第三确认步骤;
作为所述第三确认结果,当连接信息区域标志标记为异常时,将所述带电可擦可编程只读存储器原始数据中的连接信息区域数据作为恢复数据写入带电可擦可编程只读存储器数据的连接信息区域的步骤;
确认所述带电可擦可编程只读存储器数据中的通信信息区域标志是否标记为异常的第四确认步骤;以及
作为所述第四确认结果,当通信信息区域标志标记为异常时,将所述带电可擦可编程只读存储器原始数据中的通信信息区域数据作为恢复数据写入带电可擦可编程只读存储器数据的通信信息区域的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0148134 | 2018-11-27 | ||
KR1020180148134A KR102110340B1 (ko) | 2018-11-27 | 2018-11-27 | Plc 통신모듈에서 슬레이브 장치의 eeprom 복구 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111223517A CN111223517A (zh) | 2020-06-02 |
CN111223517B true CN111223517B (zh) | 2023-10-17 |
Family
ID=67658531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910893367.3A Active CN111223517B (zh) | 2018-11-27 | 2019-09-20 | Plc通信模块中从设备的eeprom恢复方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10877837B2 (zh) |
EP (1) | EP3660722B1 (zh) |
JP (1) | JP6812516B2 (zh) |
KR (1) | KR102110340B1 (zh) |
CN (1) | CN111223517B (zh) |
ES (1) | ES2900258T3 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114691178B (zh) * | 2022-05-31 | 2022-09-06 | 深圳市杰美康机电有限公司 | 一种基于EtherCAT通讯驱动器的固件升级方法及装置 |
CN115378761B (zh) * | 2022-09-27 | 2023-01-20 | 傲拓科技股份有限公司 | 一种基于PLC的EtherCAT主站系统快速实现方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102405464A (zh) * | 2008-12-31 | 2012-04-04 | 施耐德电气美国股份有限公司 | 用于重新启动的部件配置机制 |
CN104950784A (zh) * | 2014-03-25 | 2015-09-30 | 株式会社捷太格特 | 可编程逻辑控制器的ram的检查方法以及可编程逻辑控制器 |
CN107766008A (zh) * | 2017-12-05 | 2018-03-06 | 珠海格力电器股份有限公司 | 防止存储介质异常写入的方法、装置以及电子设备 |
CN108398915A (zh) * | 2017-02-08 | 2018-08-14 | 欧姆龙株式会社 | 控制装置以及其控制方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6216251B1 (en) * | 1999-04-30 | 2001-04-10 | Motorola Inc | On-chip error detection and correction system for an embedded non-volatile memory array and method of operation |
JP2002334024A (ja) | 2001-05-11 | 2002-11-22 | Denso Corp | 電子制御装置 |
US7392404B2 (en) * | 2002-12-20 | 2008-06-24 | Gemalto, Inc. | Enhancing data integrity and security in a processor-based system |
TW591393B (en) * | 2003-01-22 | 2004-06-11 | Fujitsu Ltd | Memory controller |
KR101401616B1 (ko) * | 2008-05-15 | 2014-06-02 | 주식회사 서보산전 | 이더캣통신 기반의 슬레이브 제어 시스템 |
US8954654B2 (en) * | 2008-06-18 | 2015-02-10 | Super Talent Technology, Corp. | Virtual memory device (VMD) application/driver with dual-level interception for data-type splitting, meta-page grouping, and diversion of temp files to ramdisks for enhanced flash endurance |
US9674803B2 (en) * | 2013-09-23 | 2017-06-06 | Qualcomm Incorporated | Out-of synchronization detection and correction during compression |
-
2018
- 2018-11-27 KR KR1020180148134A patent/KR102110340B1/ko active IP Right Grant
-
2019
- 2019-08-07 ES ES19190588T patent/ES2900258T3/es active Active
- 2019-08-07 EP EP19190588.4A patent/EP3660722B1/en active Active
- 2019-08-09 JP JP2019147523A patent/JP6812516B2/ja active Active
- 2019-08-13 US US16/539,624 patent/US10877837B2/en active Active
- 2019-09-20 CN CN201910893367.3A patent/CN111223517B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102405464A (zh) * | 2008-12-31 | 2012-04-04 | 施耐德电气美国股份有限公司 | 用于重新启动的部件配置机制 |
CN104950784A (zh) * | 2014-03-25 | 2015-09-30 | 株式会社捷太格特 | 可编程逻辑控制器的ram的检查方法以及可编程逻辑控制器 |
CN108398915A (zh) * | 2017-02-08 | 2018-08-14 | 欧姆龙株式会社 | 控制装置以及其控制方法 |
CN107766008A (zh) * | 2017-12-05 | 2018-03-06 | 珠海格力电器股份有限公司 | 防止存储介质异常写入的方法、装置以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
KR102110340B1 (ko) | 2020-05-13 |
ES2900258T3 (es) | 2022-03-16 |
JP2020088845A (ja) | 2020-06-04 |
EP3660722B1 (en) | 2021-09-29 |
US10877837B2 (en) | 2020-12-29 |
CN111223517A (zh) | 2020-06-02 |
EP3660722A1 (en) | 2020-06-03 |
US20200167228A1 (en) | 2020-05-28 |
JP6812516B2 (ja) | 2021-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9027014B2 (en) | Updating firmware compatibility data | |
CN111223517B (zh) | Plc通信模块中从设备的eeprom恢复方法 | |
US20030051235A1 (en) | Method and apparatus for verifying and analyzing computer software installation | |
EP1808764A1 (en) | Generating incremental program updates | |
CN105260215A (zh) | 一种u盘升级车载行车记录仪终端的方法 | |
CN111813428A (zh) | 终端固件的升级方法、装置、电子设备及存储介质 | |
WO2019084843A1 (zh) | 固件升级方法、电子设备、相机系统和无人飞行器 | |
CN112015447B (zh) | 电子设备的系统更新方法及装置、电子设备及存储介质 | |
CN106201640A (zh) | 一种升级BootLoader程序的方法及装置 | |
JP6094523B2 (ja) | プログラム書き換え方法 | |
CN111459496B (zh) | 一种防篡改的程序文件的生成方法、设备的升级方法 | |
CN113359657B (zh) | Ecu诊断配置码校验方法及其系统、电子控制单元 | |
CN113867812B (zh) | 一种bmc获取链路信息的方法、系统、设备以及介质 | |
US11169828B2 (en) | Electronic control unit and method for verifying control program | |
US11269703B2 (en) | Information processing system and storage device control method to determine whether data has been correctly written into a storage device | |
CN115542847A (zh) | 控制装置、控制方法及计算机可读存储介质 | |
CN109144409B (zh) | 数据处理方法及装置、存储介质、数据系统 | |
CN110221579B (zh) | 数值控制装置 | |
CN114268624B (zh) | 版本文件传输方法、装置及服务器 | |
JP2989705B2 (ja) | ダウンロードプログラムの保護方式 | |
CN113946356A (zh) | 电子控制器程序的更新方法、装置、电子控制器 | |
CN114780112A (zh) | 芯片程序升级方法及装置 | |
CN111949289A (zh) | 文件更新方法、装置、电子设备及存储介质 | |
CN115048128A (zh) | 系统打包升级方法、装置、电子设备及存储介质 | |
CN116149693A (zh) | 一种固件升级方法、装置及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |