Program Update Module

The program update module facilitates rapid firmware updates by direct connection, eliminating network downloads and simplifying the process for multiple devices, enhancing efficiency and reducing preparation efforts.

JP7760846B2Active Publication Date: 2025-10-28YOKOGAWA ELECTRIC CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2021109003
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-06-30
Publication Date
2025-10-28
Estimated Expiration
2041-06-30

AI Technical Summary

Technical Problem

Conventional firmware updates in IoT devices, particularly in environments with a large number of devices like plants, take a long time due to slow network downloads and require significant preparation and checking processes, making them inefficient and cumbersome.

Method used

A program update module that includes a connection unit, storage unit, and processor to update firmware directly between an application module and a program update module, eliminating the need for network downloads and allowing for simultaneous updates across multiple devices.

Benefits of technology

Firmware updates can be completed in a significantly shorter time, reducing preparation efforts and simplifying the checking process, while enabling easy parameter settings and license management for multiple devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007760846000001
    Figure 0007760846000001
  • Figure 0007760846000002
    Figure 0007760846000002
  • Figure 0007760846000003
    Figure 0007760846000003
Patent Text Reader

Abstract

To provide a program update module and a program update method capable of updating a program in a shorter time than before.SOLUTION: A program update module includes: a connection unit for detachably coupling an application module having a memory storing firmware, which is a program executed by a communication module; a storage unit that has a first area for storing an update program for updating the firmware stored in the memory and a second area for storing firmware for update; and a processor that executes the update program stored in the first area of the storage unit, and updates the firmware stored in the memory of the application module coupled by the connection unit to the firmware for update stored in the second area of the storage unit.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention provides a program update module. To Regarding. [Background technology]

[0002] In recent years, IoT (Internet of Things) technology and IIoT (Industrial IoT) technology have been attracting attention. These technologies connect all kinds of things (general hardware terminals such as sensors, devices, and equipment) to the Internet and use data obtained from the things to understand their status and operate them. For example, in plants and factories, many field devices with communication capabilities are being deployed, and the plants are being monitored and controlled by the systems to which these devices are connected.

[0003] An example of a device used in the above-mentioned technology is disclosed in the following Patent Document 1. Specifically, the device includes a communication module having a processor and a communication unit, and an application module detachably coupled to the communication module, and is configured so that one of the communication module and the application module can be easily replaced. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Publication No. 2020-187651 Summary of the Invention [Problem to be solved by the invention]

[0005] Incidentally, the communication module provided in the device disclosed in the above-mentioned Patent Document 1 is capable of communication via a network such as the Internet. Therefore, for example, when it becomes necessary to upgrade firmware (programs) used in the device, the communication module performs a process of downloading new firmware via the network.

[0006] However, firmware downloads generally take a long time because they are performed using idle time in the communication band. Furthermore, some communication methods enable long-distance transmission by slowing down the transfer rate. For this reason, downloading firmware may take, for example, several minutes to several days per device. In an environment with a large number of devices, such as a plant, downloading firmware for all the devices may take, for example, several months. Thus, the conventional problem of firmware updates is that they take a long time.

[0007] The present invention has been made in view of the above circumstances, and provides a program update module that can update a program in a shorter time than conventional methods. Lu The purpose is to provide. [Means for solving the problem]

[0008] In order to solve the above problem, a program update module (30, 30A, 30B) according to one aspect of the present invention comprises: a connection unit (17) for detachably connecting an application module (20, 20A) having a memory (21) for storing firmware, which is a program executed by a communication module (10); a storage unit (12) having a first area (R31) for storing an update program for updating the firmware stored in the memory; and a processor (11) for executing the update program stored in the first area of ​​the storage unit and updating the firmware stored in the memory of the application module connected by the connection unit to the update firmware stored in the second area of ​​the storage unit.

[0009] In addition, a program update module according to one aspect of the present invention updates the firmware stored in the memory to the update firmware when the identification information of the application module connected by the connection unit is the same as the identification information associated with the update firmware, and the version information of the firmware stored in the memory and the update firmware are different.

[0010] In addition, in a program update module according to one aspect of the present invention, unique information of the application module is stored in the memory, and when the processor updates the firmware stored in the memory, if the unique information stored in the memory differs from the unique information associated with the update firmware, the unique information stored in the memory is updated to the unique information associated with the update firmware.

[0011] Furthermore, in the program update module according to one aspect of the present invention, the storage unit further includes a third area (R33) for storing update information indicating the update result of the firmware stored in the memory.

[0012] In addition, in a program update module according to one embodiment of the present invention, the memory unit further has a fourth area (R34) for storing control data for controlling changes to the data stored in the memory, and when the processor updates the firmware stored in the memory, it changes the data stored in the memory based on the control data.

[0013] In addition, in a program update module according to one embodiment of the present invention, the memory unit further has a fifth area (R35) for storing firmware, which is a program executed by a sub-processor (24) possessed by the application module, and when the application module coupled by the connection unit has the sub-processor, the processor updates the firmware executed by the sub-processor to the firmware stored in the fifth area.

[0014] In addition, a program update module according to one aspect of the present invention further includes a communication unit (13, 14) in addition to the connection unit, the memory unit, and the processor, and can be used as the communication module by rewriting the update program stored in the first area of ​​the memory unit into the firmware.

[0015] A program update method according to one aspect of the present invention includes steps (S14, S23) of updating the firmware stored in the memory of the application module coupled to the connection portion of any of the program update modules described above to the update firmware. [Effects of the Invention]

[0016] According to the present invention, it is possible to update a program in a shorter time than before. [Brief explanation of the drawings]

[0017] [Figure 1]1 is a block diagram showing the configuration of the main parts of a device in which a program is updated by a program update module according to an embodiment of the present invention. [Figure 2] 1 is a block diagram showing the configuration of a main part of a program update module according to a first embodiment of the present invention; [Figure 3] 5 is a flowchart showing a procedure for updating firmware of an application module using a program update module according to the first embodiment of the present invention. [Figure 4] 4 is a flowchart showing details of the process in step S14 in FIG. 3. [Figure 5] FIG. 10 is a block diagram showing the configuration of a main part of a program update module according to a second embodiment of the present invention. [Figure 6] FIG. 10 is a block diagram showing the configuration of a main part of a program update module according to a third embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0018] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A program update module and a program update method according to embodiments of the present invention will be described in detail below with reference to the accompanying drawings. First, an overview of the embodiments of the present invention will be described, followed by a detailed description of the embodiments of the present invention.

[0019] 〔overview〕 The present invention provides an embodiment that enables program updates to be completed in a shorter time than conventional methods. Specifically, the firmware can be updated simply by connecting a program update module to an application module that stores the firmware (program) to be updated.

[0020] In the device disclosed in the aforementioned Patent Document 1, firmware is updated by downloading new firmware via a network. However, firmware downloads generally take a long time because they are performed using idle time in the communication band. Also, some communication methods enable long-distance transmission by slowing down the transfer rate. For this reason, when updating by downloading new firmware, the firmware update takes a long time.

[0021] Furthermore, downloading new firmware to update the firmware requires significant advance preparation, as the firmware update is performed as part of equipment maintenance work. This preparation and effort is time-consuming. Furthermore, the system administrator providing the new firmware must coordinate with the on-site department, preparing information about the equipment to be updated, which requires significant time and effort. As such, downloading new firmware to update the firmware is a complex process.

[0022] Furthermore, when updating by downloading new firmware, after updating the firmware, it is necessary to check whether the update was successful. If firmware updates are performed for multiple devices, the check must be performed for each of those devices, which makes the check process extremely cumbersome.

[0023] In addition, when firmware is updated, additional individual parameter settings may be required. For example, some existing parameters may need to be individually changed, or initial values ​​for newly added functions may need to be individually set. An example of individually changing some existing parameters is changing the temperature unit (e.g., from Celsius to Fahrenheit). Since such parameter settings must be performed for each device using a dedicated setting terminal, the setting process becomes extremely complicated and requires a great deal of time and effort.

[0024] In an embodiment of the present invention, an application module is first coupled to a program update module that has the function of updating firmware stored in the application module, and then the firmware stored in the memory of the coupled application module is updated to the update firmware stored in the program update module.

[0025] In this way, in this embodiment, firmware is updated simply by connecting the program update module to the application module in which the firmware (program) to be updated is stored. This allows program updates to be completed in a shorter time than in the past, when new firmware was downloaded and updated.

[0026] [First embodiment] <device> 1 is a block diagram showing the configuration of the main parts of a device whose program is updated by a program update module according to an embodiment of the present invention. As shown in FIG. 1, the device 1 includes a communication module 10 and an application module 20, and is capable of communicating with an external device (not shown) (e.g., a server device). Such a device 1 may be, for example, a field device, or may be installed in a plant.

[0027] Here, examples of the device 1 include sensor devices such as flow meters and temperature sensors, valve devices such as flow control valves and on-off valves, actuator devices such as fans and motors, imaging devices such as cameras and videos that capture images of conditions and objects within the plant, audio devices such as microphones and speakers that collect abnormal sounds and the like within the plant and emit alarm sounds, position detection devices that output position information of each device, and other devices installed at the plant site. In this embodiment, for ease of understanding, a case will be described where the device 1 is a sensor device.

[0028] Furthermore, plants in which the device 1 is installed include, in addition to industrial plants such as chemical plants, plants that manage and control wellheads and surrounding areas of gas fields and oil fields, plants that manage and control power generation such as hydroelectric, thermal, and nuclear power, plants that manage and control environmental power generation such as solar and wind power, plants that manage and control water supply and sewage systems, dams, etc. Note that the plants in which the device 1 is installed are not limited to these.

[0029] The communication module 10 is a module that executes firmware (programs) to communicate with external devices and to perform various controls on the application module 20. Here, firmware is a program that is executed to realize the functions (communication function, measurement function, etc.) of the communication module 10 and the application module 20. Note that firmware exists for each type of communication protocol used by the communication module 10 and each function of the application module 20.

[0030] The communication module 10 includes a processor 11, a storage unit 12, communication units 13 and 14, an external expansion connector 15, a power supply unit 16, and a connection unit 17. The processor 11 executes firmware and controls the communication units 13 and 14 to realize communication (wired communication or wireless communication) with an external device. The processor 11 also executes firmware and controls a measurement unit 22 (details of which will be described later) of the application module 20 to acquire the detection results of the external sensor SN. The processor 11 controls the communication units 13 and 14 to transmit the acquired detection results of the external sensor SN to the external device. The processor 11 also executes firmware stored in a sensor memory 21 (details of which will be described later) of the application module 20 connected via the connection unit 17.

[0031] The storage unit 12 stores firmware and the like executed by the processor 11. The storage unit 12 is provided with a boot area R11, a main area R12, and a backup area R13. The boot area R11 stores a boot program that realizes the boot process that is performed when the communications module 10 is started up. The main area R12 stores firmware that is executed by the processor 11. The backup area R13 stores the same firmware as the firmware stored in the sensor memory 21 of the application module 20. In other words, the firmware stored in the sensor memory 21 of the application module 20 is backed up in the backup area R13.

[0032] Note that identification information and version information are associated with the firmware stored in the main area R12 and the backup area R13. Here, the identification information is information that identifies the application module 20 or a function of the application module 20 (e.g., a measurement function). The identification information may be, for example, information indicating the model number or type of a sensor or the like provided in the application module 20. The version information is information that indicates the version of the firmware.

[0033] The storage unit 12 is realized by a nonvolatile memory such as a flash ROM (Read Only Memory), an EEPROM (Electrically Erasable and Programmable ROM), a ferroelectric memory (FRAM (registered trademark)), etc. The storage unit 12 may be provided inside the processor 11 or outside the processor 11.

[0034] The communication units 13 and 14 communicate with external devices via a network or without a network under the control of the processor 11. The communication units 13 and 14 may communicate with connected devices according to communication specifications under protocol control by the processor 11. The communication protocols used by the communication units 13 and 14 may be the same or different. Note that, although an example in which the communication module 10 includes two communication units 13 and 14 will be described in this embodiment, the communication module 10 may be configured to include only one of the communication units 13 and 14.

[0035] The communication units 13 and 14 may communicate using a general-purpose communication protocol for the process industry, such as FOUNDATION Fieldbus (registered trademark), PROFIBUS (registered trademark), HART (registered trademark), BRAIN, or Modbus (registered trademark). The communication units 13 and 14 may also communicate via a public line (3G, 4G, or LTE (registered trademark)). The communication units 13 and 14 may also perform low-power, long-distance wireless communication, such as LoRa (registered trademark). The communication units 13 and 14 may also communicate with external devices without a network, using short-range communication technology, such as NFC (Near Field Communication), Bluetooth (registered trademark), Wi-Fi (registered trademark), or infrared communication.

[0036] The external expansion connector 15 is a connector used, for example, during manufacturing or maintenance. A terminal device is connected to this external expansion connector 15 via a dedicated jig. For example, an operator can operate the terminal device connected to the external expansion connector 15 to read and erase firmware and data stored in the storage unit 12, and write new firmware and data to the storage unit 12.

[0037] The power supply unit 16 supplies power to each block of the communication module 10, and also supplies power to the application module 20 via the connection unit 17. The power supply unit 16 may, for example, have a battery, may be supplied with power from an external source, or may generate the necessary power from the power supplied from an external source. If the power supply unit 16 has a battery, the power supply unit 16 may diagnose the battery capacity as appropriate in response to a request from the processor 11.

[0038] The connection unit 17 is detachably coupled to a connection unit 23 (details of which will be described later) of the application module 20. The connection unit 17 is electrically connected to the connection unit 23, and communicatively connects the communication module 10 and the application module 20. The connection unit 17 may include a connector terminal.

[0039] The application module 20, under the control of the processor 11 of the communication module 10, acquires the detection results of the external sensor SN and outputs the acquired detection results to the communication module 10. Furthermore, the application module 20 provides firmware stored in the sensor memory 21 to the communication module 10 in response to a request from the communication module 10. Note that, although the present embodiment will be described taking as an example a case where the application module 20 acquires the detection results of the external sensor SN, if the application module 20 is equipped with an internal sensor, it may also acquire the detection results of the internal sensor.

[0040] The application module 20 includes a sensor memory 21 (memory), a measurement unit 22, and a connection unit 23. If necessary, a power supply unit may be provided in the application module 20. The sensor memory 21 stores firmware and the like executed by the processor 11 of the communication module 10. The sensor memory 21 includes a firmware area R21 and a data area R22.

[0041] The firmware area R21 stores firmware executed by the processor 11. The data area R22 stores various data referenced by the processor 11 and information specific to the application module 20. Here, the information specific to the application module 20 is information indicating the region in which the application module 20 is used, information indicating the language and units used in the application module 20, etc.

[0042] The firmware stored in the firmware area R21 is associated with identification information (information that identifies the application module 20 or the function of the application module 20) and version information (information that indicates the version of the firmware). Similar to the storage unit 12 of the communication module 10, the sensor memory 21 is realized by a nonvolatile memory such as a flash ROM, an EEPROM, or a ferroelectric memory.

[0043] The measurement unit 22 acquires the detection result of the external sensor SN under the control of the processor 11. The measurement unit 22 may include, for example, an A / D (analog / digital) converter or a pulse measuring device. The measurement unit 22 outputs the acquired detection result of the external sensor SN to the communication module 10 via the connection unit 23.

[0044] The connection unit 23 is detachably coupled to the connection unit 17 of the communication module 10. The connection unit 23 is electrically connected to the connection unit 17, and communicatively connects the communication module 10 and the application module 20. The connection unit 23 may include a connector terminal, similar to the connection unit 17. In this embodiment, the connection unit 23 communicates with the connection unit 17 using a serial communication protocol. The communication between the connection unit 23 and the connection unit 17 may be, for example, SPI (Serial Peripheral Interface) communication or UART (Universal Asynchronous Receiver Transmitter) communication.

[0045] The communication module 10 and the application module 20 may be housed in separate housings or in the same housing. When the communication module 10 and the application module 20 are housed in separate housings, the connectors 17 and 23 can be coupled by, for example, abutting the portions of the housings where the connectors 17 and 23 are provided. When the communication module 10 and the application module 20 are housed in the same housing, the communication module 10 and the application module 20 are housed in the housing with the connectors 17 and 23 coupled.

[0046] In the device 1 configured as described above, the communication module 10 and the application module 20 are detachably coupled by the connectors 17 and 23. This allows the user to easily separate the communication module 10 and the application module 20, and easily replace the communication module 10 or application module 20 that needs to be replaced with a new one.

[0047] Furthermore, in the device 1 configured as described above, the firmware stored in the sensor memory 21 of the application module 20 is backed up in the storage unit 12 of the communication module 10. Therefore, when the communication module 10 is replaced, the processing of the device 1 before the replacement can be easily continued by executing the firmware stored in the sensor memory 21 of the application module 20. Furthermore, even when the application module 20 is replaced, the processing of the device 1 before the replacement can be easily continued by executing the firmware backed up in the storage unit 12 of the communication module 10.

[0048] <Program update module> Figure 2 is a block diagram showing the main configuration of a program update module according to a first embodiment of the present invention. In Figure 2, blocks corresponding to those shown in Figure 1 are assigned the same reference numerals. The program update module 30 is detachably coupled to the application module 20, and updates the firmware stored in the sensor memory 21 of the coupled application module 20.

[0049] 2, like the communication module 10, the program update module 30 includes a processor 11, a memory unit 12, a communication unit 13, a communication unit 14, an external expansion connector 15, a power supply unit 16, and a connection unit 17. In other words, the program update module 30 has the same hardware configuration as the communication module 10. However, the program update module 30 and the communication module 10 differ in firmware stored in the memory unit 12. In other words, the program update module 30 and the communication module 10 differ in software.

[0050] The storage unit 12 of the program update module 30 is provided with an update program area R31 (first area), a backup area R32 (second area), and an extension data area R33 (third area). The update program area R31 stores an update program (hereinafter referred to as "update-only firmware") for updating the firmware stored in the sensor memory 21 of the application module 20. The update program area R31 can be said to be an area provided in place of the boot area R11 and main area R12 shown in FIG.

[0051] The backup area R32 is an area similar to the backup area R13 shown in Fig. 1. This backup area R32 stores the same firmware (update firmware) as the firmware stored in the sensor memory 21 of the application module 20. Note that the firmware stored in the backup area R32 is associated with identification information (information that identifies the application module 20 or a function of the application module 20) and version information (information that indicates the version of the firmware).

[0052] The extended data area R33 stores information indicating the results of the firmware update (update information) and information specific to the program update module 30. Here, the information specific to the program update module is information indicating the region in which the program update module 30 is used, information indicating the language and units used in the program update module 30, etc.

[0053] The program update module 30 is realized by changing part of the contents stored in the storage unit 12 of the communications module 10. Specifically, the program update module 30 is realized by changing the boot area R11 and main area R12 provided in the storage unit 12 of the communications module 10 to an update program area R31, storing dedicated update firmware, and providing a new extended data area R33. Note that the program update module 30 can be used as the communications module 10 by changing the update program area R31 of the program update module 30 to the boot area R11 and main area R12 and rewriting the dedicated update firmware to a boot program and firmware, respectively.

[0054] <How to update the program> 3 is a flowchart showing the procedure for updating the firmware of an application module using a program update module according to the first embodiment of the present invention. As shown in FIG. 3, first, update-specific firmware is written to the communications module 10 to obtain the program update module 30 (step S11). For example, an operator connects a terminal device to the external expansion connector 15 of the communications module 10 and operates the terminal device to write the update-specific firmware to the communications module 10. This operation realizes the program update module 30.

[0055] 2, the boot area R11 and main area R12 provided in the storage unit 12 of the communications module 10 are changed to an update program area R31 in which update-only firmware is stored in the program update module 30. The backup area R13 provided in the storage unit 12 of the communications module 10 is left as a backup area R32 in the program update module 30. In the program update module 30, an extended data area R33 in which information specific to the program update module 30 is stored is newly formed in the storage unit 12.

[0056] Next, the power supply to the program update module 30 is turned on (step S12). Then, the update-only firmware stored in the update program area R31 of the storage unit 12 is read and executed by the processor 11. Then, the processor 11 enters a waiting state until the application module 20 is connected to the connection unit 17.

[0057] Next, an operation is performed to connect the program update module 30 to the application module 20 that is the target of firmware update (step S13). For example, an operator removes the application module 20 from the device 1 in which the communication module 10 and the application module 20 are coupled, and then connects the program update module 30 to the removed application module 20.

[0058] When the program update module 30 is connected to the application module 20, the connection unit 23 of the application module 20 and the connection unit 17 of the program update module 30 are coupled together. Then, the processor 11 of the program update module 30 performs a process to update the firmware stored in the sensor memory 21 of the application module 20 (step S14). Details of this process will be described later.

[0059] Next, it is determined whether the update work has been completed (step S15). For example, the worker determines whether firmware updates have been completed for all application modules 20 that are to be updated. If it is determined that the update work has not been completed (the determination result is "NO"), the program update module 30 is connected to the other application modules 20 that are to be updated with firmware (step S13), and firmware update processing is performed (step S14). On the other hand, if it is determined that the update work has been completed (the determination result is "YES"), the series of operations shown in FIG. 3 is completed.

[0060] Fig. 4 is a flowchart showing the details of the process of step S14 in Fig. 3. When the process starts, the processor 11 first determines whether the identification information of the combined application module 20 and program update module 30 matches (is the same) (step S21). Specifically, it is determined whether the identification information associated with the firmware stored in the firmware area R21 of the sensor memory 21 matches with the identification information associated with the firmware stored in the backup area R32 of the storage unit 12.

[0061] If it is determined that the two pieces of identification information match (if the determination result is "YES"), the processor 11 determines whether the firmware versions match (step S22). Specifically, it is determined whether the version information associated with the firmware stored in the firmware area R21 of the sensor memory 21 and the firmware stored in the backup area R32 of the storage unit 12 match.

[0062] If it is determined that the two pieces of version information are different (if the determination result is "NO"), the processor 11 performs a process to update the firmware (step S23). Specifically, the processor 11 transfers the firmware stored in the backup area R32 of the storage unit 12 to the application module 20 and writes it into the firmware area R21 of the sensor memory 21.

[0063] When the firmware update is complete, the processor 11 performs a process of acquiring the unique information from the application module 20 (step S24). The unique information is acquired from the data area R22 of the sensor memory 21 provided in the application module 20. The processor 11 then determines whether the unique information acquired from the application module 20 matches the unique information stored in the extended data area R33 of the storage unit 12 (step S25).

[0064] If it is determined that the two pieces of unique information do not match (are different) (if the determination result is "NO"), the processor 11 performs a process to update the unique information of the application module 20. For example, the unique information stored in the data area R22 of the sensor memory 21 is erased, and the unique information stored in the extended data area R33 of the storage unit 12 is written to the data area R22 of the sensor memory 21.

[0065] Next, the processor 11 performs a process of saving information indicating the firmware update result (update information) in the extended data area R33 of the program update module 30 (step S27). For example, the serial number of the application module 20, the application result of the backup area R32 (information indicating whether the firmware update was performed correctly), the tag number, unique information of the updated application module 20, etc. are saved as the update information.

[0066] If it is determined in step S21 that the identification information is different (if the determination result is "NO"), or if it is determined in step S22 that the version information matches (if the determination result is "YES"), the process of step S27 is performed. Also, if it is determined in step S25 that the unique information matches (if the determination result is "YES"), the process of step S27 is performed.

[0067] Here, the content of the processing performed in step S14 in Fig. 3 (the content of the processing in steps S21 to S27 in Fig. 4) can be monitored externally via the communication units 13 and 14. Specifically, the update-dedicated firmware is executed by the processor 11, and thereby parameters for monitoring the content of the above processing are provided via the communication units 13 and 14. These parameters are provided in a manner conforming to various communication protocols.

[0068] For example, in the case of Modbus (registered trademark), 16 bits of data can be read by reading data stored at address 10000. Therefore, by assigning the following meanings to each bit of this data, it is possible to externally grasp the content of the processing performed in step S14 in Fig. 3.

[0069] Bit 0: Set to 1 if the identification information matches. Bit 1: Set to 1 if the version information is different. Bit 2: Set to 1 when firmware transfer begins. Bit 3: Set to 1 when firmware update is complete. Bits 5 to 8: Sets the error number when a firmware write error occurs. Bit 15: Set to 1 when all processing is completed (this indicates that the program update module 30 can be removed).

[0070] As described above, in this embodiment, when the program update module 30 is connected to the application module 20, the firmware stored in the storage unit 12 of the program update module 30 is transferred to the application module 20 to update the firmware stored in the sensor memory 21. The firmware is transferred from the program update module 30 to the application module 20 at high speed using SPI communication, UART communication, or the like. Therefore, compared to conventional methods in which the firmware required for the update is downloaded, the firmware can be updated in a shorter time.

[0071] Furthermore, in this embodiment, when the program update module 30 is connected to the application module 20, the firmware of the application module 20 is updated. Therefore, an operator can easily update the firmware of the application module 20 simply by connecting the program update module 30 to the application module 20 whose firmware is to be updated. Furthermore, in this embodiment, there is no need to download firmware, and therefore the advance preparations that were conventionally required when updating firmware are also no longer necessary.

[0072] Furthermore, in this embodiment, the program update module 30 is realized by changing part of the content stored in the memory unit 12 of the communication module 10, and the hardware configuration of the program update module 30 is the same as that of the communication module 10. Therefore, the program update module 30 can be easily brought into the environment where the device 1 is installed (for example, an explosion-proof area where explosion protection is required).

[0073] Furthermore, in this embodiment, one program update module 30 is sufficient to similarly update the firmware of multiple application modules 20. Therefore, for example, simply by replacing the communication module 10 of one device 1 installed on-site with the program update module 30, the firmware of multiple application modules 20 can be similarly updated.

[0074] Furthermore, in this embodiment, information indicating the results of the firmware update (update information) is stored in the extended data area R33 of the program update module 30. This makes it easy to check whether the firmware update was performed correctly after the firmware update. Here, when a single program update module 30 updates the firmware of multiple application modules 20, the update information for the multiple application modules 20 is stored in the extended data area R33. This makes it possible to perform the check extremely easily and in a short time, even when the firmware of multiple application modules 20 has been updated. Furthermore, by using parameters provided by the processor 11 executing the update-only firmware, the update information stored in the extended data area R33 can be monitored from outside the program update module 30.

[0075] Second Embodiment <Program update module> Figure 5 is a block diagram showing the main configuration of a program update module according to a second embodiment of the present invention. In Figure 5, blocks corresponding to those shown in Figure 2 are assigned the same reference numerals. As shown in Figure 5, program update module 30A of this embodiment is configured by providing a batch processing area R34 (fourth area) in memory unit 12 of program update module 30 shown in Figure 2. This program update module 30A allows additional individual parameter settings to be made when firmware is updated.

[0076] The program update module 30A has the same hardware configuration as the program update module 30 shown in Fig. 2, except that a batch processing area R34 is provided in the memory unit 12. The program update module 30A also has the same hardware configuration as the communication module 10 shown in Fig. 1.

[0077] The batch processing area R34 stores control data for controlling changes to data stored in the sensor memory 21 of the application module 20. For example, the control data for erasing the data stored at address 400000 in the sensor memory 21 and then writing new data "12345678" is as follows: 400000,12345678,WRITE The control data for performing a process of adding (logical summing) new data "12345678" while leaving the data stored at address 400000 of the sensor memory 21 is as follows: 400000,12345678,ADD

[0078] In addition to the above-mentioned write (WRITE) and add (ADD), the control data can include commands for performing various operations such as logical AND and negation of data. The control data can also include commands that target multiple application modules 20, and commands for moving or deleting partial data. If multiple types of processing are to be performed, the control data for performing each processing can be arranged in processing order and stored in the batch processing area R34.

[0079] <How to update the program> The program update method according to this embodiment is basically the same as the program update method according to the first embodiment. Therefore, in this embodiment, the same processing as the processing of the flowcharts shown in Figures 3 and 4 is performed. However, in this embodiment, after updating the firmware stored in the sensor memory 21 (step S23), the processor 11 performs processing to determine whether control data is stored in the batch processing area R34 of the storage unit 12. Then, if it is determined that control data is stored in the batch processing area R34, the processor 11 performs processing to change the data stored in the sensor memory 21 in accordance with the control data.

[0080] As described above, in this embodiment, after the firmware stored in the sensor memory 21 is updated (step S23 in FIG. 4), the data stored in the sensor memory 21 is changed in accordance with the control data stored in the batch processing area R34 of the storage unit 12. In this way, in this embodiment, the firmware stored in the sensor memory 21 is updated and the data is changed collectively, so that parameters can be set extremely easily and in a short time compared to the conventional method in which parameters are set for each device using a dedicated setting terminal.

[0081] It is also possible to change the data stored in the sensor memory 21 without updating the firmware stored in the sensor memory 21. Also, the control data may include an instruction to change an existing setting value depending on the firmware version, or an instruction to perform a simple conditional decision.

[0082] Furthermore, some firmware used in the device 1 requires a license to enable a specific function. When such firmware is used, the specific function can be enabled only in a specific application module 20 by including in the control data a command to write information (valid / invalid information) indicating whether the license is valid for each application module 20.

[0083] The program update module 30 can also manage licenses (information for enabling specific firmware functions) to be granted to the application module 20. For example, when update-only firmware is written to the communications module 10 to obtain the program update module 30, the number of licenses purchased in advance from the manufacturer is stored in the extended data area R33. Then, each time the program update module 30 is connected to the application module 20, the license is stored (a license is granted) in the data area R22 of the application module 20, and the number of licenses stored in the extended data area R33 is decremented by one. In this way, it is possible to grant licenses to the application module 20 equal to the number of licenses stored in the extended data area R33.

[0084] When the firmware stored in the firmware area R21 is executed, if a license is stored in the data area R22, the specific function of the firmware is enabled, and if no license is stored, the specific function of the firmware is not enabled. Note that if the firmware stored in the firmware area R21 is a version that does not have the specific function, the firmware is executed without being affected by the license stored in the data area R22.

[0085] When the program update module 30 is connected to the application module 20 and the license stored in the data area R22 is deleted, the number of licenses stored in the extended data area R33 may be increased by 1. In this way, a license granted to one application module 20 can be revoked and granted to another application module 20. When storing the license in the data area R22, it is desirable to encrypt it using, for example, the serial number of the application module 20 before storing it.

[0086] From a security standpoint, it is not desirable to write simple numerical values ​​when writing the above-mentioned valid / invalid information to a specific area of ​​the application module 20. For this reason, it is desirable to obtain, for example, the serial number or the like of the application module 20 that enables the above-mentioned specific function, and write the valid / invalid information encrypted using this serial number or the like as an encryption key.

[0087] Third Embodiment <Program update module> Figure 6 is a block diagram showing the main configuration of a program update module according to a third embodiment of the present invention. In Figure 6, blocks corresponding to those shown in Figures 2 and 5 are assigned the same reference numerals. As shown in Figure 6, the program update module 30B of this embodiment is obtained by providing a sub-processor area R35 (fifth area) in the storage unit 12 of the program update module 30A shown in Figure 5. When the application module (application module 20A) includes a sub-processor 24, this program update module 30B updates the firmware used in the sub-processor 24.

[0088] In the device 1 shown in Fig. 1, the processor 11 of the communication module 10 controls the measurement unit 22 of the application module 20. However, when complex control is required, a dedicated sub-processor may be provided in the application module to separate the measurement function. The program update module 30B of this embodiment is designed to update the firmware used in the application module 20A that includes such a sub-processor 24.

[0089] The program update module 30B has the same hardware configuration as the program update module 30A shown in Fig. 5, except that a sub-processor area R35 is provided in the storage unit 12. The program update module 30B also has the same hardware configuration as the program update module 30 shown in Fig. 2 and the communication module 10 shown in Fig. 1.

[0090] The program update module 30B stores firmware used by the sub-processor 24. This firmware is associated with identification information and version information, similar to the firmware stored in the backup area R32 and the firmware area R21.

[0091] <How to update the program> The program update method according to this embodiment is basically the same as the program update method according to the first embodiment. Therefore, in this embodiment, the same processing as the processing of the flowcharts shown in Figures 3 and 4 is performed. However, in this embodiment, when the processor 11 determines that the sub-processor 24 is provided in the application module 20A, it determines whether the firmware versions match. Specifically, the processor 11 determines whether the version information associated with the firmware used by the sub-processor 24 matches the version information associated with the firmware stored in the sub-processor area R35.

[0092] If it is determined that the two pieces of version information are different, a process of updating the firmware is performed by the processor 11. Specifically, the processor 11 transfers the firmware stored in the sub-processor area R35 of the storage unit 12 to the application module 20A, and updates the firmware used by the sub-processor 24 to the transferred firmware.

[0093] As described above, in this embodiment, the processor 11 determines whether the coupled application module 20A is provided with a sub-processor 24. If it is determined that a sub-processor 24 is provided, the processor 11 updates the firmware used by the sub-processor 24. In this way, in this embodiment, the firmware used by the sub-processor 24 provided in the application module 20A can also be updated.

[0094] In this embodiment, an example has been described in which firmware used in the sub-processor 24 provided in the application module 20A is updated. However, firmware can also be updated in a similar manner when the application module 20A includes an integrated circuit such as a memory device or an FPGA (Field-Programmable Gate Array).

[0095] Although the embodiments of the present invention have been described above, the present invention is not limited to the above embodiments and can be freely modified within the scope of the present invention. For example, in the above embodiments, the device 1 is a sensor device, but the device 1 may be a device other than a sensor device. For example, if the device 1 is an actuator device, the application modules 20 and 20A are provided with an operation unit that operates the actuator (internal actuator or external actuator) instead of the measurement unit 22. [Explanation of symbols]

[0096] 10 Communication Module 11 processors 12 Storage section 13 Communications Department 14 Communications Department 17 Connection 20 Application Modules 20A Application Module 21 Sensor Memory 24 Subprocessors 30 Program Update Module 30A Program Update Module 30B Program Update Module R31 Update Program Area R32 backup area R33 Extended Data Area R34 Batch Processing Area R35 Sub-Processor Area

Claims

1. a connector for detachably coupling an application module having a memory for storing firmware, which is a program executed by the communication module; a storage unit having a first area for storing an update program for updating the firmware stored in the memory, and a second area for storing update firmware; a processor that executes the update program stored in the first area of ​​the storage unit and updates the firmware stored in the memory of the application module coupled by the connection unit to the update firmware stored in the second area of ​​the storage unit; A program update module comprising:

2. 2. The program update module of claim 1, wherein the processor updates the firmware stored in the memory to the update firmware when the identification information of the application module connected by the connection unit is the same as the identification information associated with the update firmware, and when the version information of the firmware stored in the memory and the update firmware are different.

3. The memory stores unique information of the application module, when the processor updates the firmware stored in the memory and the unique information stored in the memory differs from the unique information associated with the update firmware, the processor updates the unique information stored in the memory to the unique information associated with the update firmware; 3. The program update module according to claim 1.

4. 4. The program update module according to claim 1, wherein the storage unit further includes a third area for storing update information indicating an update result of the firmware stored in the memory.

5. the storage unit further includes a fourth area for storing control data for controlling changes to the data stored in the memory; when the firmware stored in the memory is updated, the processor changes the data stored in the memory based on the control data; The program update module according to any one of claims 1 to 4.

6. the storage unit further includes a fifth area for storing firmware, which is a program executed by a sub-processor included in the application module; When the application module coupled by the connection unit includes the sub-processor, the processor updates firmware executed by the sub-processor to the firmware stored in the fifth area. The program update module according to any one of claims 1 to 5.

7. The device further includes a communication unit in addition to the connection unit, the storage unit, and the processor, 7. The program update module according to claim 1, wherein the program update module can be used as the communication module by rewriting the update program stored in the first area of ​​the storage unit with the firmware.

8. A program update module described in any one of claims 1 to 7, wherein the program update module is obtained by writing update-specific firmware to the communication module.

Citation Information

Patent Citations

  • Network equipment with version management function

    JP2007249748A

  • Printer, update method and upload method of program thereof, and program

    JP2018160274A

  • Device, communication module, application module and method

    JP2020187651A

  • Diffuse distribution of battery management parameter

    JP2021090347A