Method, apparatus and server for surpporting programmable logic controller program
Patent Information
- Application Number
- KR1020210037275
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-23
- Publication Date
- 2026-09-02
- Estimated Expiration
- 2041-03-23
Smart Images

Figure 112021033957835-PAT00003_ABST
Abstract
Description
Technology Field
[0001] The present invention relates to a support technology for PLC programs, and more specifically, to a technology for identifying and supporting information necessary in advance when working on PLC programs and parameters or when applying the worked PLC programs and parameters to a PLC system. Background Technology
[0003] A PLC (Programmable Logic Controller) system is a device that controls various equipment and various types of machines or processors. Such PLC systems can perform control operations such as logic, sequence, timing, counting, and calculations through digital or analog input / output modules.
[0004] Figure 1 shows an example of a process for solving problems that occur when a field engineer (user) works with a PLC program.
[0005] Meanwhile, the engineer (user) performs the tasks of writing a PLC program and setting parameters using the PLC programming tool on the user terminal, and downloads the corresponding PLC program and parameters to the PLC system. However, before the PLC program and parameter settings configured by the user are downloaded to the target PLC system module, it is impossible to know whether the module's firmware version supports the items of the set parameters.
[0006] That is, when a user writes a PLC program and sets parameters according to their system design and downloads it to a target PLC system module, the firmware of the target PLC system module may not support those set parameters. In this case, as illustrated in FIG. 1, the user must inevitably change the parameters already set or contact a customer support center to request technical support for a firmware update, which reduces the efficiency of the work or download and slows down the work speed.
[0007] In addition, a parameter data file (hereinafter referred to as “”) which is essential for setting parameters may not be present on the user terminal (e.g., PC, laptop, etc.). In this case, the PDF is a file containing definitions for multiple parameters. Even in this case, the user must find a site that supports downloading the PDF and download it, which causes the same problem described above.
[0008] Figure 2 shows an example of a case where the versions of the PLC programming tools installed on each user's terminal are different when multiple users are programming a PLC.
[0009] Meanwhile, in actual field applications where PLC systems are utilized, it is common for multiple users to individually perform tasks and download PLC programs and parameters. In such cases, due to the work of multiple users, a specific user's terminal may lack the information required for the task or download (i.e., firmware information for the updated version of the PLC's target module, and parameter data files for parameter support), leading to the same problems described above.
[0010] Specifically, referring to Fig. 2, a user working with a relatively recent version of a PLC programming tool can set various parameters supported by the tool, but the firmware version of the target PLC system module may not support the parameter items set by the tool. In this case, the user must install a lower version of the PLC programming tool to set the parameters again, or contact the customer support center of the vendor of the PLC system module to request technical support, such as a firmware update, in order to use the previously set parameters.
[0011] Additionally, since the first user has a specific PDF on their terminal, the second user may upload the PLC program to their terminal to continue working on the PLC program configured and downloaded based on it. However, since the second user's terminal does not have the PDF used by the first user, the uploaded PLC program may not be displayed properly on the second user's terminal or an error may occur. In this case, the second user must add the PDF to their terminal through the first user, or find a site that supports downloading the PDF and download it to their terminal. The problem to be solved
[0013] In order to solve the problems of the conventional technology described above, the present invention aims to provide a technology for identifying and supporting necessary information in advance when working on PLC programs and parameters or when applying the worked PLC programs and parameters to a PLC system.
[0014] However, the problems that the present invention aims to solve are not limited to those mentioned above, and other unmentioned problems will be clearly understood by those skilled in the art from the description below. means of solving the problem
[0016] A method according to an embodiment of the present invention for solving the above-mentioned problem is a method for supporting a PLC program performed by an electronic device, comprising: a step of starting a project for creating a PLC program and setting parameters; a step of collecting system configuration information for a PLC system that is the target of the project; a step of receiving input from a user for creating a PLC program and setting parameters; a step of checking whether the created PLC program and the set parameters are applicable to the current firmware version of the PLC system using the collected system configuration information; a step of, if it is confirmed that the firmware version is inapplicable, connecting to a server to download information on an updated version of firmware applicable to the PLC system, and then connecting to the PLC system to update the firmware of the PLC system based on the downloaded firmware information; and a step of downloading information on the created PLC program and the set parameters to the PLC system.
[0017] The above-mentioned collecting step may include collecting system configuration information from the PLC system if it is possible to collect such information from the PLC system, and receiving and collecting such information from the user if it is not possible to collect system configuration information from the PLC system.
[0018] The above starting step may include creating a new project, loading a project already stored in an electronic device, or connecting to a PLC system to load a project already stored in the PLC system.
[0019] The above-mentioned starting step may include a step of connecting to the PLC system and loading a project previously stored in the PLC system, and the above-mentioned collecting step may include a step of collecting system configuration information for the PLC system from the PLC system.
[0020] A method according to one embodiment of the present invention may further include, between the collecting step and the receiving step, a step of checking, using collected system configuration information, whether a parameter applied to a PLC system is supported by a parameter data file currently stored in an electronic device; and, if it is confirmed to be an unsupported parameter data file, a step of connecting to a server and downloading a parameter data file of a supported type to an electronic device.
[0021] A method according to one embodiment of the present invention may further include the step of displaying a notification message regarding the inability to update and the need to update the firmware for the PLC system when access to the server is impossible.
[0023] An electronic device according to one embodiment of the present invention includes: a memory in which a PLC programming tool is stored; and a control unit that executes the PLC programming tool stored in the memory and performs control to support a PLC program written in the PLC programming tool.
[0024] The above control unit can control the following processes: managing a project for creating a PLC program and setting parameters; collecting system configuration information for a PLC system that is the target of the started project; receiving input for creating a PLC program and setting parameters from a user through an input unit; checking whether the created PLC program and set parameters are applicable to the current firmware version of the PLC system using the collected system configuration information; connecting to a server to download information on an update version of firmware applicable to the PLC system if it is confirmed that the firmware version is inapplicable; connecting to the PLC system and updating the firmware of the PLC system based on the downloaded firmware information; and downloading information on the created PLC program and set parameters to the PLC system.
[0025] The above control unit can, during the collection process, control the collection of system configuration information from the PLC system when it is possible to collect such information from the PLC system, and control the collection of such information by receiving input from the user when it is impossible to collect system configuration information from the PLC system.
[0026] The above control unit can control the creation of a new project, the loading of a project previously stored in memory, or the loading of a project previously stored in the PLC system by connecting to the PLC system during the starting process.
[0027] The above control unit can control the connection to the PLC system and the retrieval of a project stored in the PLC system during the starting process, and can control the collection of system configuration information for the PLC system from the PLC system during the collecting process.
[0028] The above control unit can control whether a parameter applied to the PLC system is supported by a parameter data file currently stored in the electronic device using collected system configuration information, and if it is confirmed to be an unsupported parameter data file, it can control the connection to a server to download a parameter data file of a supported type to the electronic device.
[0029] The above control unit can control the display to show a notification message regarding the inability to perform the update and the need to update the firmware for the PLC system when access to the server is impossible. Effects of the invention
[0031] The present invention, configured as described above, has the advantage of being able to identify and support necessary information in advance when working on PLC programs and parameters or when applying the worked PLC programs and parameters to a PLC system.
[0032] In addition, the present invention has the advantage of increasing user work efficiency. That is, it can prevent work delays in cases where, due to simultaneous work by multiple users that frequently occurs in the field, the firmware version is incompatible with the set parameters, or where, regarding a project downloaded by the first user based on a PDF on the first user's terminal, the project or parameter settings are not properly displayed or cannot be changed because the corresponding PDF is not present on the second user's terminal that uploads and continues the work.
[0033] Furthermore, the present invention has the advantage of being able to collect and analyze trends in user usage patterns regarding PDFs and firmware. That is, since the PDFs and firmware downloaded by users can be monitored via a server, it is possible to identify the module combinations of the PLC system currently in the field and analyze patterns such as which PDF file is used to set parameters when a specific combination of modules is configured; based on this analysis, it is possible to forecast the demand for PLC system modules.
[0034] The effects obtainable from the present invention are not limited to those mentioned above, and other unmentioned effects will be clearly understood by those skilled in the art from the description below. Brief explanation of the drawing
[0036] Figure 1 shows an example of a process for solving problems that occur when a field engineer (user) works with a PLC program. Figure 2 shows an example of a case where the versions of the PLC programming tools installed on each user's terminal are different when multiple users are programming a PLC. FIG. 3 shows the configuration of a system according to one embodiment of the present invention. FIG. 4 shows a block diagram of a management terminal (100) according to one embodiment of the present invention. Figure 5 shows a block diagram for managing PLC program support, etc. of the control unit (150). FIG. 6 shows a flowchart of a method for supporting a PLC program according to one embodiment of the present invention. FIG. 7 shows a flowchart of a first embodiment in more detail with respect to FIG. 6. FIG. 8 shows a flowchart of a second embodiment in more detail for FIG. 6. Figure 9 shows a version table for firmware updates and PDF file downloads, and an example of a list of required firmware versions and PDF files identified by a management tool. Specific details for implementing the invention
[0037] The above-mentioned objectives, means, and resulting effects of the present invention will become clearer through the following detailed description in conjunction with the attached drawings, and accordingly, a person skilled in the art to which the present invention pertains will be able to easily implement the technical concept of the present invention. Furthermore, in describing the present invention, if it is determined that a detailed description of known technology related to the present invention may unnecessarily obscure the essence of the present invention, such detailed description will be omitted.
[0038] The terms used herein are for describing the embodiments and are not intended to limit the invention. In this specification, the singular form includes the plural form as appropriate unless specifically stated otherwise in the text. In this specification, terms such as “comprising,” “providing,” “arranging,” or “having” do not exclude the presence or addition of one or more other components in addition to the components mentioned.
[0039] In this specification, terms such as “or,” “at least one,” etc., may represent one of the words listed together or a combination of two or more. For example, “or B” and “at least one of B” may include only one of A or B, or may include both A and B.
[0040] In this specification, descriptions following “e.g.” should not limit the embodiments of the invention according to various embodiments of the invention, such as variations including tolerances, measurement errors, limits of measurement accuracy, and other commonly known factors, as the information presented, such as cited characteristics, variables, or values, may not exactly match.
[0041] In this specification, where it is stated that a component is 'connected' or 'connected' to another component, it should be understood that it may be directly connected or connected to the other component, or that there may be other components in between. On the other hand, when it is mentioned that a component is 'directly connected' or 'directly connected' to another component, it should be understood that there are no other components in between.
[0042] In this specification, where a component is described as being 'on' or 'in contact' with another component, it should be understood that it may be in direct contact with or connected to the other component, but that another component may exist in between. On the other hand, where a component is described as being 'immediately above' or 'in direct contact' with another component, it should be understood that no other component exists in between. Other expressions describing the relationship between components, such as 'between' and 'directly between', may be interpreted in the same way.
[0043] In this specification, terms such as 'first,' 'second,' etc., may be used to describe various components, but such components should not be limited by these terms. Furthermore, these terms should not be interpreted as limiting the order of each component, but may be used for the purpose of distinguishing one component from another. For example, 'first component' may be named 'second component,' and similarly, 'second component' may be named 'first component.'
[0044] Unless otherwise defined, all terms used in this specification may be used in a meaning commonly understood by those skilled in the art to which the present invention pertains. Additionally, terms defined in commonly used dictionaries are not to be interpreted ideally or excessively unless explicitly and specifically defined otherwise.
[0046] Hereinafter, a preferred embodiment according to the present invention will be described in detail with reference to the attached drawings.
[0047] FIG. 3 shows the configuration of a system according to one embodiment of the present invention.
[0048] A system according to one embodiment of the present invention includes, as shown in FIG. 3, a user terminal (100), a PLC system (200) and a server (300) to which the user terminal (100) connects.
[0049] First, a PLC (Programmable Logic Controller) system (200) is a system that performs control of logic, sequence, timing, counting, and operations for various loads. This PLC system (200) includes a power module (210), a CPU module (220), and one or more expansion modules (230, 240, 250).
[0050] The power module (210) manages various power sources required for the operation of the PLC system (200) and provides the necessary power to each module (220, 230, 240, 250).
[0051] The CPU module (220) controls the overall operation of the PLC system (200) by performing computational processing necessary to control the PLC system (200). That is, the CPU module (220) performs recognition, control, and monitoring of each expansion module (230, 240, 250) connected thereto through an interface, and performs data transmission and reception with each expansion module (230, 240, 250).
[0052] The expansion module (230, 240, 250) performs a predetermined operation (input / output operation, communication operation, etc.) under the control of the CPU module (220). For example, the expansion module (230, 240, 250) may include a communication module (230) for transmitting and receiving data with other devices / devices / systems, an input / output module (IO module) (240) that receives input from external devices such as sensors and switches and transmits output to external devices such as lamps, solenoids, and switches, and various other modules (250).
[0053] The CPU module (220) can control the operation of each expansion module (230, 240, 250), and each of the CPU module (220) and the expansion module (230, 240, 250) can store firmware and have its operation controlled by the said firmware.
[0054] The user terminal (100) is a terminal used by a user for managing the PLC system (200) and may be a computing-capable electronic device. This user terminal (100) utilizes a PLC programming tool (hereinafter referred to as the “management tool”), which is a software tool installed for managing the PLC system (200), and can connect to the PLC system (200) and the server (300) via various communication methods.
[0055] For example, the user terminal (100) may be a desktop PC (desktop personal computer), a laptop PC (laptop personal computer), a tablet PC (tablet personal computer), a netbook computer, a smartphone (smart phone), a smart pad, or a PDA (personal digital assistant), but is not limited thereto.
[0056] The user can perform various management tasks using a management tool on the user terminal (100). That is, through the management tool, the user can perform tasks such as creating a PLC program / setting parameters, downloading the created PLC program / parameters to the PLC system (200), downloading an updated version of a parameter data file (hereinafter referred to as “”) / firmware from the server (300) to the user terminal (100), and updating the firmware of a target module of the PLC system (200) based on the downloaded updated version of the firmware.
[0057] At this time, “target module” refers to the module among the modules (220, 230, 240, 250) of the PLC system (200) to which the work of creating a PLC program and setting parameters is applied, that is, the module to which the created PLC program and set parameters are to be downloaded.
[0058] In this case, the PDF is a file containing definitions for multiple parameters, which may include, for example, descriptions of the parameters, default values, minimum values, maximum values, etc. For example, the PDF may be an EDS (electronic data sheet) file, etc.
[0059] In particular, the user can perform tasks such as creating a PLC program and setting parameters through a management tool, and download the created PLC program and parameters to the PLC system (200) to enable the PLC program to be operated (executed). As a result, the PLC system (200) can be configured in various ways to perform various controls for input / output, etc.
[0060] For example, the user can use a management tool to create a PLC program to be applied to the PLC system (200) and set parameters in the form of a ladder program to build it, and download the built program and parameters to the CPU module (220) or expansion module (230, 240, 250).
[0061] Meanwhile, if the firmware of each module (220, 230, 240, 250) needs to be changed (i.e., updated), the user can access the CPU module (220) of the PLC system (200) using a management tool.
[0062] FIG. 4 shows a block diagram of a management terminal (100) according to one embodiment of the present invention.
[0063] As shown in FIG. 4, such a management terminal (100) may include an input unit (110), a communication unit (120), a display (130), a memory (140), and a control unit (150).
[0064] The input unit (110) generates input data in response to user input and may include various input means. For example, the input unit (110) may include a keyboard, a key pad, a dome switch, a touch panel, a touch key, a touch pad, a mouse, a menu button, etc., but is not limited thereto.
[0065] The communication unit (120) is configured to perform communication with other devices, particularly the PLC system (200) and the server (300). For example, the communication unit (120) may perform wireless communication such as 5G (5th generation communication), LTE-A (long term evolution-advanced), LTE (long term evolution), Bluetooth, BLE (Bluetooth low energy), NFC (near field communication), and WiFi communication, or wired communication such as cable communication, but is not limited thereto. For instance, the communication unit (120) may communicate with the server (300) to download an updated version of the PDF / firmware. Additionally, the communication unit (120) may communicate with the CPU module (200) or the communication module (230) of the PLC system (200) to download the processed PLC program / parameters and firmware. For example, the communication method for connecting to the PLC system (200) of the management terminal (100) may be RS-232, USB (Universal Serial Bus), etc., but is limited thereto, and may be various other wired / wireless communication methods.
[0066] The display (130) displays various image data on a screen and may be composed of a non-emissive panel or an emissive panel. For example, the display (130) may include a liquid crystal display (LCD), a light emitting diode (LED) display, an organic light emitting diode (OLED) display, a micro electro mechanical systems (MEMS) display, or an electronic paper display, but is not limited thereto. For instance, the display (130) may display various image data related to PLC program code, parameter settings, and the execution of the PLC program support method described later. Additionally, the display (130) may be combined with an input unit (110) and implemented as a touch screen, etc.
[0067] The memory (140) stores various information necessary for the operation of the management terminal (100). The stored information may include PLC programs, setting parameters, update settings, PDFs, firmware, and program information related to the support method of the PLC program described later, but is not limited thereto. For example, the memory (140) may include, depending on its type, a hard disk type, a magnetic media type, a CD-ROM (compact disc read only memory), an optical media type, a magneto-optical media type, a multimedia card micro type, a flash memory type, a ROM type (read only memory type), or a RAM type (random access memory type), but is not limited thereto. Additionally, depending on its use / location, the memory (140) may be a cache, a buffer, a main memory, or an auxiliary memory, or a separately provided storage system, but is not limited thereto.
[0068] The control unit (150) can perform various control operations of the management terminal (100). That is, the control unit (150) can control the execution of the support method of the PLC program described later through a management tool, and can control the operation of the remaining components of the management terminal (100), namely the input unit (110), communication unit (120), display (130), memory (140), etc. For example, the control unit (150) may include a processor, which is hardware, and a process, which is software executed on the processor, but is not limited thereto.
[0069] Figure 5 shows a block diagram for managing PLC program support, etc. of the control unit (150).
[0070] The control unit (150) controls the execution of a support method for a PLC program according to an embodiment of the present invention to be described later. To this end, as shown in FIG. 5, it may include a project management unit (151), an information collection unit (152), a program processing unit (153), an update verification unit (154), a server connection unit (155), and a PLC connection unit (156). For example, the project management unit (151), the information collection unit (152), the program processing unit (153), the update verification unit (154), the server connection unit (155), and the PLC connection unit (156) may be hardware components of the control unit (150) or processes that are software executed by the control unit (150), and in particular, may be components included in a management tool, but are not limited thereto.
[0071] Hereinafter, a method for supporting a PLC program according to the present invention will be described in more detail.
[0072] FIG. 6 shows a flowchart of a method for supporting a PLC program according to one embodiment of the present invention.
[0073] A method for supporting a PLC program according to one embodiment of the present invention is a method for identifying and supporting necessary information in advance when working on creating a PLC program and setting parameters, or when applying a created PLC program and parameters to a PLC system, and includes S100 to S600 as illustrated in FIG. 6. At this time, an updated version of PDF or firmware, etc., may correspond to the necessary information (hereinafter referred to as “necessary information”).
[0074] First, S100 is the step of starting a project for writing a PLC program and setting parameters. That is, the control unit (150) can execute a management tool stored in memory (140), create a new project, load a project already stored in the PLC system (200), or connect to the PLC system and load a project already stored in the PLC system. At this time, the project may be a file that stores information about the work of writing a PLC program and setting parameters. In particular, in the case of a project already stored in the PLC system (200), it may be a project worked on by another user. For example, S100 may be controlled by the project management unit (151).
[0075] Subsequently, S200 is a step of collecting system configuration information for the PLC system (200) that is the project target. That is, the control unit (150) collects information regarding the type of each module (220, 230, 240, 250) of the PLC system (200), the firmware version installed in each module (220, 230, 240, 250), and parameters set in each module (220, 230, 240, 250).
[0076] At this time, when system configuration information can be collected from the PLC system (200), such as when connected to the PLC system (200), the control unit (150) can collect system configuration information from the PLC system (200). In addition, when system configuration information cannot be collected from the PLC system (200), such as when not connected to the PLC system (200), the control unit (150) can receive system configuration information from the user and collect it.
[0077] For example, in S100, when a project previously stored in the PLC system (200) is loaded by connecting to the PLC system (200), since the PLC system (200) is already connected, S200 can collect system configuration information for the PLC system (200) from the PLC system (200).
[0078] Meanwhile, if it is impossible to collect system configuration information from both the PLC system (200) and the user, the control unit (150) may display a notification message through the display (130) indicating that the necessary information cannot be updated. Additionally, the control unit (150) may also display a notification message indicating that a firmware update for the target module of the PLC system (200) may be required in the future. For example, S200 can be controlled by the information collection unit (151).
[0079] Subsequently, S300 is a step of checking whether an update to the PDF is required, and if necessary, performing the update. That is, the control unit (150) checks, using collected system configuration information, whether the parameters applied to the PLC system (200) are supported by the PDF currently stored in the user terminal (100). At this time, “supportable” may mean that the PDF currently stored in the user terminal (100) defines the parameters applied to the PLC system (200). If it is confirmed that the PDF is not supported, the control unit (150) can connect to the server (300) via the communication unit (120), download a supported type of PDF, and store it in memory (140).
[0080] However, if downloading a supported PDF from the server (300) is not possible, the control unit (150) may display the aforementioned notification message through the display (130).
[0081] For example, S300 can be controlled by an update check unit (154) and a server connection unit (155). That is, the update check unit (154) can control the verification of whether the above-described PDF is supported, and the server connection unit (155) can control the download of the above-described supported type of PDF.
[0082] Subsequently, S400 is a step in which the user inputs the task of creating a PLC program and setting parameters. That is, the control unit (150) can build the PLC program and parameters by receiving input from the user regarding the task of creating a PLC program and setting parameters to be applied to the PLC system (200). For example, S400 can be controlled by the program processing unit (153).
[0083] Subsequently, S500 is a step of checking whether an update to the firmware of the target module is required, and if necessary, performing the update. That is, the control unit (150) checks, using collected system configuration information, whether the PLC program / parameters processed in S400 are applicable to the firmware version currently installed in the target module of the PLC system (200). At this time, “applicable” may mean that the firmware version currently installed in the target module provides compatibility with the processed PLC program / parameters.
[0084] If it is confirmed that the firmware version is inapplicable, the control unit (150) can connect to the server (300) via the communication unit (120) to download information about an update version of the firmware applicable to the PLC system (200) and store it in the memory (140). Subsequently, the control unit (150) connects to the PLC system (200) via the communication unit (120) and updates the firmware for the target module of the PLC system (200) based on the firmware information downloaded and stored in the memory (140). That is, the firmware of the corresponding update version is downloaded to the target module.
[0085] However, if downloading the PDF from the server (300) is not possible, the control unit (150) may display the aforementioned notification message through the display (130).
[0086] For example, S500 can be controlled by an update verification unit (154), a server connection unit (155), and a PLC connection unit (156). That is, the update verification unit (154) can control the verification of whether the above-described firmware version is applicable, the server connection unit (155) can control the download of the above-described applicable firmware version, and the PLC connection unit (156) can control the above-described firmware update.
[0087] Subsequently, S600 is a step of downloading information about the PLC program and parameters worked on in S400 to the PLC system (200). That is, the control unit (150) can download the built PLC program and parameters to the CPU module (220) or expansion module (230, 240, 250) of the PLC system (200). For example, S500 can be controlled by the PLC connection unit (156).
[0088] In particular, the process on the S300 for verifying and updating supported PDFs, and the process on the S500 for verifying and updating applicable firmware, can be processed in the background without the user being separately aware of it. In other words, the management tool itself can automatically perform these processes without requiring separate consent or confirmation from the user.
[0089] Meanwhile, in the case of the server (300), as S300 and S500 are performed automatically, the trends for the necessary PDF and firmware can be analyzed according to the type of target module and the processed PLC program / parameters, and the demand for the module of the PLC system (200) can be predicted based on the analysis.
[0090] Hereinafter, more detailed first and second embodiments regarding S100 to S600 will be described.
[0091] At this time, the first embodiment corresponds to the case where a new project is created on the user terminal (100) or a project previously stored on the user terminal (100) is loaded. On the other hand, the second embodiment corresponds to the case where a project previously stored on the PLC system (200) is loaded by connecting to the PLC system (200).
[0092] FIG. 7 shows a flowchart of a first embodiment in more detail with respect to FIG. 6.
[0093] First, referring to FIG. 7, in the first embodiment, after running the management tool (S101), a new project is created or a project previously stored in the user terminal (100) is loaded (S102). These S101 and S102 are included in the above-described S100.
[0094] Subsequently, it is determined whether system configuration information can be collected from the PLC system (200) (S201). If possible, system configuration information is collected from the PLC system (200) (S202); if not possible, it is checked whether system configuration information can be collected from the user (S203). That is, if the PLC system (200) is in an offline state, system configuration information can be received directly from the user through an interactive interface. If the user inputs it, system configuration information corresponding to the input is collected (S204). On the other hand, if the user refuses the input or input by the user is impossible, the aforementioned notification message is displayed (S205). These steps S201 to S205 are included in the aforementioned S200.
[0095] Subsequently, the system configuration information collected in S202 and S204 is used to determine whether a PDF update is necessary (S301). That is, it is checked whether the parameters applied to the PLC system (200) are supported by the PDF currently stored in the user terminal (100). At this time, if support is not possible and a PDF update is required, S302 is performed, and if support is possible and a PDF update is unnecessary, S401 is performed. That is, if support is not possible, it is checked whether a supported type of PDF can be downloaded from the server (300) (S302). At this time, if download is possible, the supported PDF is downloaded (S303). On the other hand, if download is not possible, the aforementioned notification message is displayed (S304), and S401 is performed. These S301 to S304 are included in the aforementioned S300.
[0096] Subsequently, the task of writing a PLC program and setting parameters is received (S401). This S401 is included in the aforementioned S400.
[0097] Subsequently, it is checked whether an update is required for the firmware of the target module (S501). That is, using the system configuration information collected in S202 and S204, it is checked whether the processed PLC program / parameters are applicable to the firmware version currently installed on the target module of the PLC system (200). At this time, if it is not applicable and a firmware update is required, S502 is performed, and if it is applicable and a firmware update is not required, S601 is performed. That is, if it is not applicable, it is checked whether an applicable firmware version can be downloaded from the server (300) (S502). At this time, if it is downloadable, the applicable firmware version is downloaded, and then the PLC system (200) is connected to and the firmware of the target module of the PLC system (200) is downloaded again (S503). On the other hand, if it is not downloadable, the aforementioned notification message is displayed (S504), and S601 is performed. These steps S501 to S504 are included in the aforementioned S500.
[0098] Afterwards, the PLC program and parameters processed in S400 are downloaded to the PLC system (200) (S601). This S601 is included in the aforementioned S600.
[0099] FIG. 8 shows a flowchart of a second embodiment in more detail for FIG. 6.
[0100] Meanwhile, referring to FIG. 8, in the second embodiment, after running the management tool (S101'), the PLC system (200) is connected to load a project previously stored in the PLC system (200) (S102'). These S101' and S102' are included in the above-described S100.
[0101] Afterwards, since it is already connected to the PLC system (200), system configuration information is collected from the PLC system (200) (S201'). This S201' is included in the S200 described above.
[0102] Subsequently, S301' to S304', S401', S501' to S504', and S601' are each identical to the contents of S301 to S304, S401, S501 to S504, and S601 described above in the first embodiment. However, the “system configuration information collected from S202 and S204” in the first embodiment may be replaced with the “system configuration information collected from S201'” in the second embodiment.
[0103] Meanwhile, FIG. 9 illustrates a version table for firmware updates and PDF file downloads, and an example of a list of required firmware versions and PDF files identified by a management tool. That is, as shown in FIG. 9(a), for module A, the latest firmware version that can be installed is V2.10, and the currently installed firmware version is V2.00. If, as shown in FIG. 9(b), the required firmware version information identified in S500 is V2.10, the firmware of V2.10 is downloaded from the server (300), and then an update is performed on the target module based on this.
[0104] Additionally, in the case of the C module, the latest version that can be installed on the C module is V8.40, and the currently installed version is V7.00. At this time, since the required firmware version is V8.20, the firmware of V8.20 is downloaded from the server (300), and an update is performed on the target module based on it. Furthermore, since it is confirmed that the C module requires a PDF named “SuperEDS” from S300, the PDF is downloaded from the server (300) and saved in the PDF file folder of the memory (140).
[0105] Meanwhile, since the installed firmware version of Module B is the latest, a firmware update is unnecessary. Additionally, although the installed firmware version of Module D is V1.10, it is not the latest, but since V1.10 is sufficiently applicable to the PLC program and parameters, a firmware update is unnecessary. If the latest version corresponding to V2.00 is updated, the load on the user terminal (100) or the PLC system (200) may increase; therefore, it is desirable to install the minimum applicable firmware version for the PLC program and parameters on the target module, and S500 of the present invention performs verification and update of such minimum applicable firmware version. Accordingly, the present invention can minimize the load associated with firmware updates.
[0107] The present invention, configured as described above, has the advantage of being able to identify and support necessary information in advance when working on PLC programs and parameters or when applying the worked PLC programs and parameters to a PLC system.
[0108] In addition, the present invention has the advantage of increasing user work efficiency. That is, it can prevent work delays in cases where, due to simultaneous work by multiple users that frequently occurs in the field, the firmware version is incompatible with the set parameters, or where, regarding a project downloaded by the first user based on a PDF on the first user's terminal, the project or parameter settings are not properly displayed or cannot be changed because the corresponding PDF is not present on the second user's terminal that uploads and continues the work.
[0109] Furthermore, the present invention has the advantage of being able to collect and analyze trends in user usage patterns regarding PDFs and firmware. That is, since the PDFs and firmware downloaded by users can be monitored via a server, it is possible to identify the module combinations of the PLC system currently in the field and analyze patterns such as which PDF file is used to set parameters when a specific combination of modules is configured; based on this analysis, it is possible to forecast the demand for PLC system modules.
[0111] Although specific embodiments have been described in the detailed description of the present invention, it is understood that various modifications are possible within the scope of the invention. Therefore, the scope of the present invention is not limited to the described embodiments and should be defined by the claims set forth below and equivalents thereof. Explanation of the symbols
[0113] 100: User terminal 110: Input section 120: Communications unit 130: Display 140: Memory 150: Control unit 151: Project Management Department 152: Information Gathering Department 153: Program processing unit 154: Update verification unit 155: Server connection part 156: PLC connection part 200: PLC System 210: Power Module 220: CPU Module 230: Communication Module 240: IO Modules 250: Other Modules
Claims
Claim 1 A method for supporting a PLC program performed by an electronic device, comprising: a step of starting a project for creating a PLC program and setting parameters; a step of collecting system configuration information for a PLC system that is the target of the project; a step of receiving input from a user for creating a PLC program and setting parameters; a step of checking, using the collected system configuration information, whether the created PLC program and set parameters are applicable to the current firmware version of the PLC system; if it is confirmed that the firmware version is inapplicable, a step of connecting to a server to download information on an update version of firmware applicable to the PLC system, then downloading the minimum version of firmware applicable to the created PLC program and set parameters, and connecting to the PLC system to update the firmware of the PLC system based on the downloaded firmware information; and a step of downloading information on the created PLC program and set parameters to the PLC system. Claim 2 A method according to claim 1, wherein the collecting step comprises collecting system configuration information from a PLC system when it is possible to collect such information from the PLC system, and receiving and collecting such information from a user when it is impossible to collect system configuration information from the PLC system. Claim 3 A method according to claim 1, wherein the starting step includes the step of creating a new project, loading a project previously stored in an electronic device, or connecting to a PLC system and loading a project previously stored in a PLC system. Claim 4 A method according to claim 1, wherein the starting step includes the step of connecting to a PLC system and loading a project previously stored in the PLC system, and the collecting step includes the step of collecting system configuration information for the PLC system from the PLC system. Claim 5 A method according to claim 3 or 4, further comprising, between the collecting step and the receiving step, a step of checking, using collected system configuration information, whether a parameter applied to a PLC system is supported by a parameter data file currently stored in an electronic device; and, if it is confirmed to be an unsupported parameter data file, a step of connecting to a server and downloading a parameter data file of a supported type to an electronic device. Claim 6 A method according to claim 1, further comprising the step of displaying a notification message regarding the inability to update and the need to update the firmware for the PLC system when access to the server is impossible. Claim 7 An electronic device comprising: a memory in which a PLC programming tool is stored; and a control unit that executes the PLC programming tool stored in the memory and performs control to support a PLC program created in the PLC programming tool; wherein the control unit controls the following processes: a process of managing a project for creating a PLC program and setting parameters; a process of collecting system configuration information for a PLC system that is the target of a started project; a process of receiving input from a user for creating a PLC program and setting parameters through an input unit; a process of checking whether the created PLC program and set parameters are applicable to the current firmware version of the PLC system using the collected system configuration information; a process of connecting to a server and downloading information on an update version of firmware applicable to the PLC system if it is confirmed to be an inapplicable firmware version; a process of downloading the minimum version of firmware applicable to the created PLC program and set parameters; a process of connecting to the PLC system and updating the firmware of the PLC system based on the downloaded firmware information; and a process of downloading information on the created PLC program and set parameters to the PLC system. Claim 8 In claim 7, the control unit is an electronic device that, during the collection process, controls the collection of system configuration information from the PLC system when collection of system configuration information from the PLC system is possible, and controls the collection of information by receiving input from the user when collection of system configuration information from the PLC system is impossible. Claim 9 In claim 7, the control unit is an electronic device that, during the starting process, controls the creation of a new project, controls the retrieval of a project previously stored in memory, or controls the retrieval of a project previously stored in the PLC system by connecting to the PLC system. Claim 10 In claim 7, the control unit controls the initiation process to connect to the PLC system and load a project already stored in the PLC system, and controls the collection process to collect system configuration information for the PLC system from the PLC system. Claim 11 An electronic device according to claim 9 or 10, wherein the control unit controls the electronic device to check, using collected system configuration information, whether a parameter applied to the PLC system is supported by a parameter data file currently stored in the electronic device, and if it is confirmed to be an unsupported parameter data file, controls the electronic device to connect to a server and download a parameter data file of a supported type to the electronic device. Claim 12 In claim 7, the control unit is an electronic device that controls the display to show a notification message regarding the inability to update and the need to update the firmware of the PLC system when access to the server is impossible.
Citation Information
Patent Citations
Programming and firmware updating method for programmable logic controller
CN103593203A
System and method for automatically matching programmable data of devices within an industrial control system
US20060178757A1