Development environment construction support system, development environment construction support device, control method and control program
Patent Information
- Application Number
- JP2024562304
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-06-13
- Publication Date
- 2025-02-17
- Estimated Expiration
- 2044-06-13
AI Technical Summary
【0011】 本開示の第1の観点によれば、管理サーバは、プログラマブルロジックコントローラのハードウェア関連情報とソフトウェア関連情報と個体識別情報とを含むPLC関連情報と、開発用コンピュータのハードウェア関連情報とソフトウェア関連情報とを含む開発用コンピュータ関連情報とに基づいて、プログラマブルロジックコントローラにおける機能ソフトウェアのインストールと開発用コンピュータにおける開発用ソフトウェアのインストールとを両方行わせることが可能であるか否かを判定する。この結果、本開示の第1の観点に係る開発環境構築支援システムは、不正なプログラマブルロジックコントローラの接続に対してインストールを防ぎつつインストール可能な新しいソフトウェアがあるか否かを判定できる。
Smart Images

Figure 0007630747000001 
Figure 0007630747000002 
Figure 0007630747000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a development environment construction support system, a development environment construction support device, a control method, and a control program. [Background technology]
[0002] Conventionally, when developing a program to control a programmable logic controller (hereinafter sometimes simply referred to as "PLC"), a user adds functions required for development or deletes functions that are no longer required for development by installing and uninstalling software on a computer device that serves as a development environment, such as an engineering tool.
[0003] Patent Document 1 discloses a system that causes a computer that communicates with peripheral devices to update programs for handling peripheral devices such as a PLC as a controller and a servo amplifier, for example, peripheral device management programs such as engineering tool programs and device drivers.
[0004] In Patent Document 1, a server communicating with a computer may store a model information profile of a newer version than the model information profile of the peripheral device stored in the computer and the peripheral device. Note that the model information profile is information including compatible firmware version information indicating compatible versions of firmware executed in the peripheral device, update content information of the firmware version, and model information profile version information indicating its own version.
[0005] In this case, the server may store a new version of firmware corresponding to the new version of the model information profile, and may also store a new version of the peripheral device management program corresponding to the new version of the firmware. At this time, the server causes the computer to display a selection screen on which a combination of the new versions of the model information profile, firmware, and peripheral device management program can be selected. Thus, the computer can select the new versions of the model information profile, firmware, and peripheral device management program and download them from the server. Also, the computer and the peripheral device can update the model information profile stored therein, the peripheral device can install firmware, and the computer can install the peripheral device management program corresponding to the firmware. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] International Publication No. 2017 / 175337 Summary of the Invention [Problem to be solved by the invention]
[0007] In the technology described in Patent Document 1, the server determines whether there is new firmware that can be installed in the peripheral device based on the model information profile, but the model information profile only contains information such as the version of the firmware executed in the peripheral device and the update contents. Therefore, for example, if an unauthorized device with a false firmware version is connected to a computer as a peripheral device, the server cannot correctly determine whether there is new firmware that can be installed in the device. In this case, there is a risk that the server will not correctly determine whether a new peripheral device management program should be installed in the computer as well.
[0008] The present disclosure has been made in consideration of the above-described circumstances, and has an object to determine whether there is new software that can be installed while preventing installation when an unauthorized device is connected. [Means for solving the problem]
[0009] In order to achieve the above-mentioned objective, a development environment construction support system according to a first aspect of the present disclosure is a development environment construction support system including a programmable logic controller, a development computer which is a computer device serving as a development environment for a program that controls the programmable logic controller, and a management server which manages the programmable logic controller and the development computer. The management server includes a software storage unit that stores function software, which is software for realizing the functions of the programmable logic controller, and development software, which is software for developing a program corresponding to the function software in a development computer; an installation request information receiving unit that receives from a user installation request information, which is information indicating an installation request to install both the function software in the programmable logic controller and the development software in the development computer; an installation determination unit that, when the installation request information receiving unit receives the installation request information, determines whether it is possible to install both the function software in the programmable logic controller and the development software in the development computer based on PLC-related information, which is information related to the programmable logic controller, and development computer-related information, which is information related to the development computer; and a software transmission unit that transmits the function software to the programmable logic controller and the development software to the development computer when the installation determination unit determines that it is possible to install both the function software in the programmable logic controller and the development software in the development computer. In addition, the programmable logic controller includes a software receiving unit that receives function software and an installation execution unit that executes installation of the function software, and the development computer includes a software receiving unit that receives development software and an installation execution unit that executes installation of the development software.The PLC-related information includes hardware-related information, which is information related to the hardware that constitutes the programmable logic controller, software-related information, which is information related to the software installed in the programmable logic controller, and individual identification information, which is information that enables individual identification of the programmable logic controller, and the development computer-related information includes hardware-related information, which is information related to the hardware that constitutes the development computer, and software-related information, which is information related to the software installed in the development computer.
[0010] In addition, in order to achieve the above-mentioned object, a development environment construction support system according to a second aspect of the present disclosure is a development environment construction support system including a programmable logic controller, a development computer which is a computer device serving as a development environment for a program that controls the programmable logic controller, and a management server which manages the programmable logic controller and the development computer. The management server includes a software storage unit that stores function software, which is software for realizing the functions of the programmable logic controller, and development software, which is software for developing a program corresponding to the function software in a development computer; an installation request information receiving unit that receives from a user installation request information, which is information indicating an installation request to install both the function software in the programmable logic controller and the development software in the development computer; an installation determination unit that, when the installation request information receiving unit receives the installation request information, determines whether it is possible to install both the function software in the programmable logic controller and the development software in the development computer based on PLC-related information, which is information related to the programmable logic controller, and development computer-related information, which is information related to the development computer; and a software transmission unit that transmits the function software to the programmable logic controller and the development software to the development computer when the installation determination unit determines that it is possible to install both the function software in the programmable logic controller and the development software in the development computer. In addition, the programmable logic controller includes a software receiving unit that receives function software and an installation execution unit that executes installation of the function software, and the development computer includes a software receiving unit that receives development software and an installation execution unit that executes installation of the development software.The PLC-related information includes hardware-related information that is information related to the hardware that constitutes the programmable logic controller, and software-related information that is information related to the software installed in the programmable logic controller, and the development computer-related information includes hardware-related information that is information related to the hardware that constitutes the development computer, software-related information that is information related to the software installed on the development computer, and individual identification information that is information that enables individual identification of the development computer. Effect of the Invention
[0011] According to a first aspect of the present disclosure, the management server determines whether or not it is possible to install both the functional software in the programmable logic controller and the development software in the development computer, based on PLC-related information including the hardware-related information, software-related information, and individual identification information of the programmable logic controller, and development computer-related information including the hardware-related information and software-related information of the development computer. As a result, the development environment construction support system according to the first aspect of the present disclosure can determine whether or not there is new software that can be installed while preventing installation when an unauthorized programmable logic controller is connected.
[0012] According to a second aspect of the present disclosure, the management server determines whether or not it is possible to install both the functional software in the programmable logic controller and the development software in the development computer, based on PLC-related information including the hardware-related information and software-related information of the programmable logic controller, and development computer-related information including the hardware-related information, software-related information, and individual identification information of the development computer. As a result, the development environment construction support system according to the second aspect of the present disclosure can determine whether or not there is new software that can be installed while preventing installation when an unauthorized development computer is connected. [Brief description of the drawings]
[0013] [Figure 1] Overall explanatory diagram of a development environment construction support system according to a first embodiment [Diagram 2] FIG. 1 is a diagram showing a functional configuration of a development environment construction support system according to a first embodiment. [Diagram 3] FIG. 1 is a block diagram showing the hardware configuration of a PLC, a development computer, and a management server according to a first embodiment. [Figure 4] FIG. 1 is a diagram showing a display example of PLC related information according to the first embodiment; [Diagram 5] FIG. 13 is a diagram showing an example of display of development computer related information according to the first embodiment; [Figure 6A] FIG. 13 shows a display example 1 of an installation request reception screen according to the first embodiment. [Figure 6B] FIG. 13 shows a second display example of an installation request reception screen according to the first embodiment. [Figure 6C] FIG. 11 shows a display example 3 of an installation request reception screen according to the first embodiment. [Figure 7] Flowchart of software transmission process according to the first embodiment [Figure 8] Flowchart of installation execution process according to the first embodiment [Figure 9] 1 is a flowchart of an unauthorized device notification process according to the first embodiment. [Figure 10] FIG. 13 is a diagram showing a functional configuration of a development environment construction support system according to a second embodiment. [Figure 11] FIG. 13 is a diagram showing a display example of an installation request acceptance screen according to the second embodiment; [Figure 12] Flowchart of unauthorized device notification process according to the second embodiment DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] Hereinafter, a development environment construction support system, a development environment construction support device, a control method, and a control program according to an embodiment of the present disclosure will be described in detail with reference to the drawings. Note that the same or corresponding parts in the drawings are denoted by the same reference numerals.
[0015] [Embodiment 1] (Regarding the development environment construction support system 1 according to the first embodiment) 1, a development environment building support system 1 according to a first embodiment of the present disclosure includes a PLC 100, a development computer 200 which is a computer device serving as a development environment for a program that controls the PLC 100, and a management server 300 which is an example of a development environment building support device that manages the PLC 100 and the development computer 200. The PLC 100, the development computer 200, and the management server 300 are capable of transmitting and receiving information via a communication network such as the Internet or a LAN (Local Area Network).
[0016] Moreover, PLC 100 includes a first programmable logic controller (hereinafter simply referred to as "first PLC") 101, a second programmable logic controller (hereinafter simply referred to as "second PLC 102"), ..., a ninth PLC 109, and development computer 200 includes a first development computer 201, a second development computer 202, ..., a ninth development computer 209. Since each of PLCs 101-109 has the same hardware configuration and functional configuration, which will be described later, they may be collectively referred to simply as PLC 100. Furthermore, each of development computers 201-209 has the same hardware configuration and functional configuration, which will be described later, like each of PLCs 101-109, they may be collectively referred to simply as development computer 200.
[0017] The development environment construction support system 1 stores functional software, which is software that enables the management server 300 to realize the functions of the PLC 100, and development software, which is software for the development computer 200 to develop a program corresponding to the functional software. Furthermore, when the management server 300 accepts an installation request from a user, the development environment construction support system 1 transmits, i.e., distributes and installs these pieces of software that can be installed in the PLC 100 and the development computer 200, thereby supporting the construction of a development environment.
[0018] (Regarding the PLC 100 according to the first embodiment) 2, PLC 100 includes a PLC related information storage unit 110 that stores PLC related information, which is information related to PLC 100, and a server request information receiving unit 120 that receives server request information, which is information indicating a request from management server 300. PLC 100 also includes a server response information generating unit 130 that generates server response information, which is information indicating a response to management server 300, and a server response information transmitting unit 140 that transmits the server response information. PLC 100 also includes a software receiving unit 150 that receives function software, and an installation executing unit 160 that executes installation of the function software.
[0019] (Development Computer 200 According to the First Embodiment) Development computer 200 is, for example, a computer device installed with an engineering setting tool program, which is a program for implementing functions as a setting tool used by a user who is an engineer, a so-called engineering tool. Development computer 200 includes a development computer related information storage unit 210 that stores development computer related information, which is information related to the development computer, a server request information receiving unit 220 that receives server request information, and a server response information generating unit 230 that generates server response information. Development computer 200 also includes a server response information transmitting unit 240 that transmits server response information, a software receiving unit 250 that receives development software, and an installation executing unit 260 that executes the installation of the development software.
[0020] (Regarding the management server 300 according to the first embodiment) The management server 300 is a computer device capable of functioning as a server computer such as a WEB server or a database server. The management server 300 includes a software storage unit 301 for storing each piece of software, a server request information transmission unit 302 for transmitting server request information, and a server response information reception unit 303 for receiving server response information. The management server 300 also includes a related information storage unit 304 for storing each piece of related information, and an installation request information reception unit 305 for receiving installation request information from a user, which will be described later. The management server 300 also includes an installation determination unit 306 for determining whether or not each piece of software can be installed, a software transmission unit 307 for transmitting each piece of software, and an installation failure notification unit 308 for notifying that installation cannot be performed.
[0021] Furthermore, management server 300 includes a combination identification unit 309 that identifies a combination of PLC 100 and development computer 200 corresponding to the development environment, an unauthorized device determination unit 310 that determines whether or not an unauthorized device is present, and an unauthorized device notification unit 311 that notifies the presence of an unauthorized device. Management server 300 also includes a version match determination unit 312 that determines whether or not the versions of each piece of software match, a debug target identification unit 313 that identifies PLC 100 that can be debugged, and a debug information generation unit 314 that sets debug information, which will be described later.
[0022] (Hardware Configuration of PLC 100 According to the First Embodiment) 3, the PLC 100 includes a control unit 51 that executes processing according to a control program 59. The control unit 51 includes a CPU (Central Processing Unit). According to the control program 59, the control unit 51 functions as a server response information generating unit 130 and an installation executing unit 160 shown in FIG.
[0023] 3, the PLC 100 includes a main memory unit 52 into which a control program 59 is loaded and which is used as a working area for the control unit 51. The main memory unit 52 includes a volatile memory such as a RAM (Random Access Memory).
[0024] The PLC 100 includes an external storage unit 53 that stores a control program 59 in advance. The external storage unit 53 supplies information stored by this program to the control unit 51 in accordance with instructions from the control unit 51, and stores data supplied from the control unit 51. The external storage unit 53 includes a non-volatile memory such as a flash memory, a hard disk drive (HDD), or a solid state drive (SSD). The external storage unit 53 functions as the PLC-related information storage unit 110 shown in FIG. 2.
[0025] 3, the PLC 100 includes an operation unit 54 that is operated by a user. Information input via the operation unit 54 is supplied to the control unit 51. The operation unit 54 includes information input components such as a keyboard, a mouse, and a touch panel.
[0026] The PLC 100 also includes a display unit 55 that displays information input via the operation unit 54 and information output by the control unit 51. The display unit 55 includes a display device such as an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display.
[0027] The PLC 100 also includes a transmission / reception unit 56 that transmits and receives information. The transmission / reception unit 56 includes information communication components such as a communication network terminal device that connects to a network and a wireless communication device. The transmission / reception unit 56 functions as a server request information receiving unit 120, a server response information transmitting unit 140, and a software receiving unit 150 shown in FIG. 2.
[0028] Returning to FIG. 3, in the PLC 100 , the main memory unit 52 , the external memory unit 53 , the operation unit 54 , the display unit 55 and the transmission / reception unit 56 are all connected to the control unit 51 via the internal bus 50 .
[0029] 2 by the control unit 51 using the main memory unit 52, the external memory unit 53, the operation unit 54, the display unit 55, and the transmission / reception unit 56 as resources. For example, the PLC 100 executes a PLC related information storage step performed by the PLC related information storage unit 110, a server request information reception step performed by the server request information reception unit 120, a server response information generation step performed by the server response information generation unit 130, and a server response information transmission step performed by the server response information transmission unit 140. In addition, for example, the PLC 100 executes a software reception step performed by the software reception unit 150, and an installation execution step performed by the installation execution unit 160.
[0030] (Hardware Configuration of Development Computer 200 According to the First Embodiment) 3, like PLC 100, development computer 200 also includes a control unit 51, a main memory unit 52, an external memory unit 53, an operation unit 54, a display unit 55, and a transmission / reception unit 56. In accordance with a control program 59, control unit 51 functions as a server response information generation unit 230 and an installation execution unit 260 shown in FIG. 2, and external memory unit 53 functions as a development computer-related information storage unit 210. In addition, transmission / reception unit 56 functions as a server request information reception unit 220, a server response information transmission unit 240, and a software reception unit 250.
[0031] Returning to Fig. 3, the development computer 200 realizes the functions of the above-mentioned units 210 to 260 shown in Fig. 2 by the control unit 51 using the main memory unit 52, the external memory unit 53, the operation unit 54, the display unit 55 and the transmission / reception unit 56 as resources. For example, the development computer 200 executes a development computer-related information storage step performed by the development computer-related information storage unit 210, a server request information reception step performed by the server request information reception unit 220, a server response information generation step performed by the server response information generation unit 230, and a server response information transmission step performed by the server response information transmission unit 240. In addition, for example, the development computer 200 executes a software reception step performed by the software reception unit 250, and an installation execution step performed by the installation execution unit 260.
[0032] (Hardware Configuration of Management Server 300 According to First Embodiment) 3, like the PLC 100 and the development computer 200, the management server 300 also includes a control unit 51, a main memory unit 52, an external memory unit 53, an operation unit 54, a display unit 55, and a transmission / reception unit 56. The control unit 51 functions as an installation request information reception unit 305, an installation determination unit 306, a combination identification unit 309, an unauthorized device determination unit 310, a version match determination unit 312, a debug target identification unit 313, and a debug information generation unit 314 shown in FIG. 2 in accordance with a control program 59. The external memory unit 53 functions as a software storage unit 301 and a related information storage unit 304, and the display unit 55 functions as an unauthorized device notification unit 311. The transmission / reception unit 56 functions as a server request information transmission unit 302, a server response information reception unit 303, a software transmission unit 307, and an installation failure notification unit 308.
[0033] 3, the management server 300 realizes the functions of the above-mentioned units 301 to 314 shown in FIG. 2 by the control unit 51 using the main memory unit 52, the external memory unit 53, the operation unit 54, the display unit 55, and the transmission / reception unit 56 as resources. For example, the management server 300 executes a software storage step performed by the software storage unit 301, a server request information transmission step performed by the server request information transmission unit 302, and a server response information reception step performed by the server response information reception unit 303. In addition, for example, the management server 300 executes an associated information storage step performed by the associated information storage unit 304, an installation request information reception step performed by the installation request information reception unit 305, and an installation determination step performed by the installation determination unit 306.
[0034] Also, for example, the management server 300 executes a software transmission step performed by a software transmission unit 307, and an installation failure notification step performed by an installation failure notification unit 308. Also, for example, the management server 300 executes a combination identification step performed by a combination identification unit 309, an unauthorized device determination step performed by an unauthorized device determination unit 310, and an unauthorized device notification step performed by an unauthorized device notification unit 311. Also, for example, the management server 300 executes a version match determination step performed by a version match determination unit 312, a debug target identification step performed by a debug target identification unit 313, and a debug information generation step performed by a debug information generation unit 314.
[0035] (Details of the Functional Configuration of the PLC 100 According to the First Embodiment) The PLC related information storage unit 110 stores PLC related information including hardware related information that is information related to the hardware constituting PLC 100, software related information that is information related to the software installed in PLC 100, and individual identification information that is information that allows individual identification of PLC 100. For example, the PLC related information storage unit 110 of the first PLC 101 stores PLC related information including the hardware related information, software related information, and individual identification information of the first PLC 101.
[0036] Here, the hardware-related information of the PLC-related information is information including hardware configuration information that indicates the configuration of hardware such as the above-mentioned CPU, RAM, flash memory, HDD, SSD, communication network terminal device, and wireless communication device of PLC 100, and hardware version information that indicates the versions of the above-mentioned hardware of PLC 100. Moreover, the software-related information of the PLC-related information is information including software configuration information that indicates the software configuration of PLC 100, and software version information that indicates the version of the software of PLC 100. Moreover, the individual identification information of the PLC-related information is information including both hardware individual identification information that is information that allows individual identification of the hardware of PLC 100, and software individual identification information that is information that allows individual identification of the software of PLC 100.
[0037] For example, the PLC-related information of the first PLC 101 can be displayed in the form of a table shown in Fig. 4. For example, the hardware-related information of the first PLC 101 is information including hardware configuration information A1 and hardware version information A1 of the first PLC 101. Also, for example, the software-related information of the first PLC 101 is information including software configuration information A1 and software version information A1 of the first PLC 101. Also, for example, the individual identification information of the first PLC 101 is information including hardware individual identification information A1 and software individual identification information A1 of the first PLC 101. Also, as shown in Fig. 4, for example, the PLC-related information of the first PLC 101 includes arbitrary information A1 as arbitrary information additionally input by the user.
[0038] Returning to FIG. 2, the server request information receiving unit 120 receives, for example, server request information indicating a request for transmission of PLC-related information stored in the PLC 100. The server response information generation unit 130 generates server response information based on the PLC related information stored in the PLC related information storage unit 110 and the server request information received by the server request information receiving unit 120. For example, when the server request information receiving unit 120 receives server request information indicating a request to transmit PLC related information, the server response information generation unit 130 generates server response information by using the PLC related information stored in the PLC related information storage unit 110 as the server response information. The server response information transmitting unit 140 transmits, for example, the PLC related information generated by the server response information generating unit 130 as the server response information.
[0039] Therefore, for example, when the first PLC 101 receives server request information indicating a request to send PLC-related information, it generates server response information by using the PLC-related information of the first PLC 101 as server response information, and sends the PLC-related information of the first PLC 101 as the server response information.
[0040] The software receiving unit 150 receives the function software and installation instruction information, which will be described later, transmitted by the management server 300, and the installation executing unit 160 installs the function software received by the software receiving unit 150 based on the installation instruction information. After installing the function software, the installation executing unit 160 updates information such as the software-related information and software individual identification information of the PLC-related information stored in the PLC-related information storage unit 110 based on information obtained from the installed function software.
[0041] (Details of Functional Configuration of Development Computer 200 According to the First Embodiment) Development computer-related information storage unit 210 stores development computer-related information including hardware-related information that is information related to the hardware that constitutes development computer 200, software-related information that is information related to the software installed in development computer 200, and individual identification information that is information with which development computer 200 can be individually identified. For example, development computer-related information storage unit 210 of first development computer 201 stores development computer-related information that includes hardware-related information, software-related information, and individual identification information of first development computer 201.
[0042] Here, similar to the PLC-related information, the hardware-related information of the development computer-related information is information that includes hardware configuration information that is information indicating the hardware configuration of development computer 200, and hardware version information that indicates the version of the hardware of development computer 200. Similarly to the PLC-related information, the software-related information of the development computer-related information is information that includes software configuration information that is information indicating the software configuration of development computer 200, and software version information that indicates the version of the software of development computer 200. Similarly to the PLC-related information, the individual identification information of the development computer-related information is information that includes both hardware individual identification information that is information that can identify the hardware of development computer 200, and software individual identification information that is information that can identify the software of development computer 200.
[0043] For example, the development computer related information of the first development computer 201 can be displayed in the form of a table shown in Fig. 5. For example, the hardware related information of the first development computer 201 is information including hardware configuration information B1 and hardware version information B1 of the first development computer 201. Also, for example, the software related information of the first development computer 201 is information including software configuration information B1 and software version information B1 of the first development computer 201. Also, for example, the individual identification information of the first development computer 201 is information including hardware individual identification information B1 and software individual identification information B1 of the first development computer 201. Also, as shown in Fig. 5, for example, the development computer related information of the first development computer 201 includes arbitrary information B1 as arbitrary information additionally input by the user.
[0044] Returning to FIG. 2, the server request information receiving section 220 receives, for example, server request information indicating a request for transmission of development computer related information stored in the development computer 200. The server response information generation unit 230 generates server response information based on the development computer-related information stored in the development computer-related information storage unit 210 and the server request information received by the server request information receiving unit 220. For example, when the server request information receiving unit 220 receives server request information indicating a request for transmission of development computer-related information, the server response information generation unit 230 generates server response information by using the development computer-related information stored in the development computer-related information storage unit 210 as server response information. The server response information transmitting unit 240 transmits, for example, the development computer related information generated by the server response information generating unit 230 as the server response information.
[0045] Therefore, for example, when the first development computer 201 receives server request information indicating a request to transmit development computer-related information, it generates server response information by using the development computer-related information of the first development computer 201 as server response information, and transmits the development computer-related information of the first development computer 201 as the server response information.
[0046] The software receiving unit 250 receives the development software and installation instruction information, which will be described later, transmitted by the management server 300, and the installation execution unit 260 installs the development software received by the software receiving unit 250 based on the installation instruction information. After installing the development software, the installation execution unit 260 updates information such as the software related information and software individual identification information of the development computer related information stored in the development computer related information storage unit 210 based on information obtained from the installed development software.
[0047] (Details of Functional Configuration of Management Server 300 According to First Embodiment) The software storage unit 301 stores all versions of the function software and all versions of the development software. In this embodiment, the function software stored in the software storage unit 301 is software called an add-on or an add-in that enables special functions to be added to the PLC 100. The development software stored in the software storage unit 301 is software that is added to the installed development software to enable the generation of a program using special functions of the add-on or add-in of the PLC 100. In other words, the software storage unit 301 stores the add-ons and add-ins of the PLC 100 and the additional development software corresponding to these software for each version.
[0048] The server request information transmitting unit 302 transmits server request information to PLC 100 and development computer 200. For example, the server request information transmitting unit 302 transmits server request information to PLC 100 indicating a request for transmission of PLC-related information stored in PLC 100, and transmits server request information to development computer 200 indicating a request for transmission of development computer-related information stored in development computer 200. For example, the server request information transmitting unit 302 transmits server request information to the first PLC 101 indicating a request for transmission of PLC-related information stored in the first PLC 101, and transmits server request information to the first development computer 201 indicating a request for transmission of development computer-related information stored in the first development computer 201.
[0049] The server response information receiving unit 303, for example, receives from PLC 100 the PLC-related information stored in PLC 100 as server response information, and receives from development computer 200 the development computer-related information stored in development computer 200 as server request information. For example, the server response information receiving unit 303 receives from the first PLC 101 the PLC-related information stored in the first PLC 101 as server response information, and receives from the first development computer 201 the development computer-related information stored in the first development computer 201 as server response information.
[0050] The related information storage unit 304 stores, for example, the PLC related information and the development computer related information as the server response information received by the server response information receiving unit 303. For example, the related information storage unit 304 stores each of the PLC related information of the first PLC 101, the second PLC 102, ..., the ninth PLC 109, and also stores each of the development computer related information of the first development computer 201, the second development computer 202, ..., the ninth development computer 209.
[0051] The PLC-related information and the development computer-related information are used when the installation determination unit 306 described below determines whether or not installation is possible. For this reason, the related information storage unit 304 needs to store the latest information stored in the PLC 100 and the development computer 200. Therefore, the server request information sending unit 302 needs to send server request information indicating a request to send the PLC-related information to the PLC 100 and server request information indicating a request to send the development computer-related information to the development computer 200, for example, at least before the installation determination unit 306 makes a determination.
[0052] The installation request information receiving section 305 receives installation request information from the user, which is information indicating an installation request to have both the function software installed in the PLC 100 and the development software installed in the development computer 200 installed.
[0053] Here, for example, consider a case where a user terminal (not shown), which is a terminal used by a user, accesses the management server 300 as a WEB server via a communication network. In this case, the installation request information receiving unit 305 causes the transmitting / receiving unit 56 to transmit screen display information, which is information for displaying an installation request reception screen as an example of a user interface on the user terminal, and causes the user terminal to display the installation request reception screen shown in Fig. 6A. Note that the screen display information is, for example, information that becomes an element constituting the installation request reception screen as a WEB site, specifically, information included in various files such as HTML (Hyper Text Markup Language) files and image files.
[0054] Also, as shown in FIG. 6A, the installation request acceptance screen includes text information such as "C Language Function Pack", "The following will be installed", "C Language Function for PLC", and "C Language Extension Function for Development Environment", as well as a first display field that displays an Install button.
[0055] When the user inputs the selection of one of the "Install" button images displayed in each display field using the user terminal, the installation request information receiving unit 305 causes the user terminal to display an installation target selection field shown in Fig. 6B on the installation request receiving screen. As shown in Fig. 6B, the installation target selection field displays text information such as "C language function pack" and "Please select the PLC and development environment to be installed", as well as check boxes for selecting "PLC1", "PLC2", ..., "PLC9", "Development environment 1", "Development environment 2", ..., and "Development environment 9" corresponding to the PLC 100 and the development computer 200, and a confirmation button.
[0056] When a user uses a user terminal to input to select the PLC 100 and development computer 200 on which the software is to be installed, the installation request information receiving unit 305 receives installation request information for the function software and development software for the selected PLC 100 and development computer 200. For example, when "C Language Function Pack", "PLC1" and "Development Environment 1" are selected by input from the user terminal, the installation request information receiving unit 305 receives installation request information indicating that the function software and development software related to the "C Language Function Pack" are to be installed on the first PLC 101 and the first development computer 201.
[0057] When the install request information receiving unit 305 receives install request information, the install determination unit 306 determines, based on the PLC related information and the development computer related information, whether it is possible to install both the functional software in the PLC 100 and the development software in the development computer 200.
[0058] Here, for example, consider a case where the install request information receiving unit 305 receives install request information indicating that function software and development software related to the "C Language Function Pack" are to be installed in the first PLC 101 and the first development computer 201. In this case, the install determination unit 306 acquires the PLC related information of the first PLC 101 and the development computer related information of the first development computer 201 stored in the related information storage unit 304. Furthermore, the install determination unit 306 uses this information to identify information such as individual identification information, current configurations, and versions of the hardware and software of the first PLC 101 and the first development computer 201, and determines whether the function software and development software related to the "C Language Function Pack" can be installed.
[0059] Specifically, the installation determination unit 306 determines whether the first PLC 101 itself is not an unauthorized device and function software related to the "C language function pack" may be installed based on the individual identification information of the hardware and software of the first PLC 101. The installation determination unit 306 also determines whether the hardware configuration and version of the first PLC 101 allow function software related to the "C language function pack" to be installed based on the current software configuration and version of the first PLC 101. The installation determination unit 306 also determines whether the hardware configuration and version of the first development computer 201 allow development software related to the "C language function pack" to be installed based on the individual identification information of the hardware and software of the first development computer 201. The installation determination unit 306 also determines whether or not development software related to the "C Language Function Pack" can be installed with the current software configuration and version of the first development computer 201. Then, based on these determination results, the installation determination unit 306 determines whether or not function software and development software related to the "C Language Function Pack" can be installed in the first PLC 101 and the first development computer 201.
[0060] When the installation determination unit 306 determines that both the function software in the PLC 100 and the development software in the development computer 200 can be installed, the software transmission unit 307 transmits the software to the PLC 100 and the development computer 200. The software transmission unit 307 transmits the function software and installation instruction information, which is information instructing the PLC 100 to install the function software, to the PLC 100, and transmits the development software and installation instruction information instructing the development software to be installed to the development computer 200. For example, consider a case where it is determined that the function software and development software related to the "C language function pack" can be installed in the first PLC 101 and the first development computer 201. In this case, the software transmission unit 307 transmits the function software and installation instruction information to the first PLC 101, and transmits the development software and installation instruction information to the first development computer 201.
[0061] When the installation determination unit 306 determines that both the function software in the PLC 100 and the development software in the development computer 200 cannot be installed, the installation failure notification unit 308 transmits installation failure information, which is information indicating that installation is not possible, to the user terminal. Therefore, the user terminal can display, for example, text information such as "C Language Function Pack" and "Installation Not Possible" as well as a back button on the installation request acceptance screen, as shown in Fig. 6C.
[0062] The combination identifying unit 309 identifies a combination of the PLC 100 and the development computer 200 corresponding as a development environment, based on the PLC related information and the development computer related information stored in the related information storage unit 304. For example, the combination identifying unit 309 acquires each of the PLC related information of the first PLC 101, the second PLC 102, ..., the ninth PLC 109 and each of the development computer related information of the first development computer 201, the second development computer 202, ..., the ninth development computer 209 stored in the related information storage unit 304. Furthermore, the combination identifying unit 309 uses this information to identify information such as the current configuration and versions of the hardware and software, and identifies, for example, that the first development computer 201 corresponds as the development environment of the first PLC 101, the second development computer 202 corresponds as the development environment of the second PLC 102, ..., and the ninth development computer 209 corresponds as the development environment of the ninth PLC 109.
[0063] Note that the combination identified by combination identifying unit 309 does not have to be a one-to-one combination of PLC 100 and development computer 200, and may be an n-to-n or n-to-m combination of PLC 100 and development computer 200, where n is an arbitrary integer equal to or greater than 1, and m is an arbitrary integer equal to or greater than 1 different from n. Thus, for example, combination identifying unit 309 may identify that the first development computer 201 and the second development computer 202 correspond as the development environment for the first PLC 101, or may identify that the first development computer 201 corresponds as the development environment for the first PLC 101 and the second PLC 102. Also, for example, combination identifying unit 309 may identify that the first development computer 201, the second development computer 202, and the third development computer 203 correspond as the development environments for the first PLC 101 and the second PLC 102.
[0064] Note that installation determination unit 306 may determine whether or not it is possible to install both the functional software in PLC 100 and the development software in development computer 200, based on the combination of PLC 100 and development computer 200 identified by combination identification unit 309. For example, when PLC 100 and development computer 200 indicated by the installation request information are first PLC 101 and first development computer 201, installation determination unit 306 may determine that installation is not possible unless combination identification unit 309 identifies that first development computer 201 is compatible as a development environment for first PLC 101.
[0065] When install request information receiving unit 305 receives install request information, unauthorized device determination unit 310 determines whether or not there is an unauthorized device among PLC 100 and development computer 200 that it manages, based on the combination identified by combination identification unit 309. For example, when computer devices other than first development computer 201, second development computer 202, ..., ninth development computer 209 are connected to management server 300 via a communications network as development computers, unauthorized device determination unit 310 determines that the computer devices are unauthorized devices based on the above-mentioned combinations identified by combination identification unit 309.
[0066] When the unauthorized device determination unit 310 determines that an unauthorized device is present, the unauthorized device notification unit 311 notifies the administrator of the presence of an unauthorized device. For example, the unauthorized device notification unit 311 notifies the administrator of the presence of an unauthorized device by displaying information indicating that an unauthorized device has been detected on the display unit 55 or by causing the transmission / reception unit 56 to transmit the information to an administrator terminal (not shown) used by the administrator of the management server 300.
[0067] When the install request information receiving unit 305 receives the install request information, the version match determination unit 312 determines whether or not the version of the function software installed in PLC 100 matches the version of the development software installed in the development computer 200, based on the PLC related information and the development computer related information stored in the related information storage unit 304. For example, the version match determination unit 312 acquires the PLC related information of the first PLC 101 and the development computer related information of the first development computer 201 stored in the related information storage unit 304. Furthermore, the version match determination unit 312 uses this information to determine whether or not the version of the function software installed in the first PLC 101 matches the version of the development software installed in the development computer 200.
[0068] The installation determination unit 306 may determine whether or not it is possible to install both the function software in PLC 100 and the development software in development computer 200, based on the determination result of the version match determination unit 312. For example, consider a case where PLC 100 and development computer 200 indicated by the installation request information are the first PLC 101 and the first development computer 201. In this case, the installation determination unit 306 may determine that installation is not possible if the version match determination unit 312 determines that the version of the function software installed in the first PLC 101 does not match the version of the development software installed in the development computer 200.
[0069] The debug target identification unit 313 identifies the PLC 100 capable of debugging the program generated in the development computer 200 from among the first PLC 101, the second PLC 102, ..., and the ninth PLC 109, based on the PLC related information and the development computer related information stored in the related information storage unit 304. For example, the debug target identification unit 313 acquires each of the PLC related information of the first PLC 101, the second PLC 102, ..., and the ninth PLC 109 stored in the related information storage unit 304, and each of the development computer related information of the first development computer 201, the second development computer 202, ..., and the ninth development computer 209. In addition, the debug target identification unit 313 uses this information to identify information such as the current configuration and versions of the hardware and software, and identifies, for example, that the PLCs 100 capable of debugging the program generated in the first development computer 201 are the first PLC 101 and the second PLC 102.
[0070] The debug information generating unit 314 generates debug information, which is information required for debugging a program generated in the development computer 200, based on the identification result of the debug target identifying unit 313. For example, consider a case where the debug target identifying unit 313 identifies that the PLCs 100 capable of debugging the program generated in the first development computer 201 are the first PLC 101 and the second PLC 102. In this case, the debug information generating unit 314 generates information indicating that the first PLC 101 and the second PLC 102 are capable of debugging the generated program as the debug information for the first development computer 201. In addition, the debug information generating unit 314 generates information indicating that it is capable of debugging the program generated in the first development computer 201 as the debug information for the first PLC 101 and the second PLC 102.
[0071] Furthermore, the debug information generation unit 314 stores the generated debug information of PLC 100 and development computer 200 as PLC-related information and development computer-related information in the related information storage unit 304. Thus, for example, as shown in Fig. 4, the PLC-related information of the first PLC 101 stored in the related information storage unit 304 includes debug information A1. Furthermore, as shown in Fig. 5, for example, the development computer-related information of the first development computer 201 stored in the related information storage unit 304 includes debug information B1.
[0072] (Regarding software transmission processing according to the first embodiment) Next, the operation of transmitting software for which the management server 300 has accepted an installation request will be described with reference to a flowchart. When a user terminal accesses the management server as a WEB server and displays an installation request acceptance screen, the management server 300 starts executing the software transmission process shown in FIG.
[0073] First, the installation request information receiving unit 305 judges whether or not installation request information has been received from a user terminal (step S101). For example, the installation request information receiving unit 305 receives installation request information indicating that functional software and development software related to the "C language function pack" are to be installed in the first PLC 101 and the first development computer 201, based on an input by a user selecting each button on an installation request reception screen using the user terminal. If installation request information has not been received (step S101; N), the installation request information receiving unit 305 repeats the process of step S101 until installation request information is received.
[0074] On the other hand, when installation request information is received (step S101; Y), the installation determination unit 306 determines whether or not it is possible to install both the function software in the PLC 100 and the development software in the development computer 200, based on the PLC related information and the development computer related information stored in the related information storage unit 304 (step S102). For example, first, the installation determination unit 306 acquires the PLC related information of the first PLC 101 and the development computer related information of the first development computer 201 stored in the related information storage unit 304. Then, the installation determination unit 306 uses this information to identify information such as the current configuration and versions of the hardware and software, and determines whether or not it is possible to install the function software and development software related to the "C Language Function Pack".
[0075] If installation is possible (step S102; Y), the software transmission unit 307 transmits the function software and installation instruction information to the PLC 100, and transmits the development software and installation instruction information to the development computer 200 (step S103), and ends the process. For example, the software transmission unit 307 transmits the function software and installation instruction information related to the "C language function pack" to the first PLC 101, and transmits the development software and installation instruction information related to the "C language function pack" to the first development computer 201, and ends the process. On the other hand, if installation is not possible (step S102; N), the installation impossible notification unit 308 transmits installation impossible information to the user terminal (step S104), and ends the process.
[0076] (Regarding the installation execution process according to the first embodiment) Next, the operation of installing the functional software by the PLC 100 will be described with reference to a flowchart. When the power is turned on, the PLC 100 starts executing the installation execution process shown in FIG.
[0077] First, the PLC 100 judges whether the software receiving unit 150 has received the function software and the installation instruction information from the management server 300 (step S201). If the function software and the installation instruction information have not been received (step S201; N), the PLC 100 repeats the process of step S201 until the function software and the installation instruction information are received. On the other hand, if the function software and the installation instruction information have been received (step S201; Y), the installation execution unit 160 executes the installation of the received function software based on the installation instruction information (step S202). After the installation of the function software, the installation execution unit 160 updates information such as the software related information and software individual identification information of the PLC related information stored in the PLC related information storage unit 110 based on information obtained from the installed function software (step S203), and ends the process.
[0078] The operation of development computer 200 executing the installation of development software can be explained in the same way if the above "PLC 100" is replaced with "development computer 200", "functional software" is replaced with "development software", "160" is replaced with "260", "PLC related information storage unit 110" is replaced with "development computer related information storage unit 210", and "PLC related information" is replaced with "development computer related information". Therefore, in order to reduce redundant explanations, illustrations and detailed explanations of the installation execution process of development computer 200 will be omitted.
[0079] (Regarding unauthorized device notification processing according to the first embodiment) Next, the operation of the management server 300 to identify and report an unauthorized device will be described. When the management server 300 is powered on, it starts executing the unauthorized device reporting process shown in FIG. 9. First, the combination identification unit 309 identifies a combination of the PLC 100 and the development computer 200 that corresponds as a development environment based on the PLC related information and the development computer related information stored in the related information storage unit 304 (step S301). For example, first, the combination identification unit 309 acquires all the PLC related information and all the development computer related information stored in the related information storage unit 304. Then, the combination identification unit 309 uses this information to identify information such as the current configuration and versions of the hardware and software, and identifies, for example, that the first development computer 201 corresponds as the development environment of the first PLC 101.
[0080] After identifying the combination, the unauthorized device determination unit 310 determines whether or not the installation request information receiving unit 305 has received the installation request information (step S302). If the installation request information has not been received (step S302; N), the unauthorized device determination unit 310 repeats the process of step S302 until the installation request information is received. On the other hand, if the installation request information has been received (step S302; Y), the unauthorized device determination unit 310 determines whether or not an unauthorized device is present in either the PLC 100 or the development computer 200 that it manages, based on the combination identified by the combination identification unit 309 (step S303). For example, when a computer device other than the development computer 200 is connected to the management server 300 as a development computer, the unauthorized device determination unit 310 determines that the computer device is an unauthorized device from the above-mentioned combination.
[0081] If it is determined that an unauthorized device is present (step S303; Y), the unauthorized device notification unit 311 notifies the administrator that an unauthorized device is present (step S304) and ends the process. For example, the unauthorized device notification unit 311 notifies the administrator that an unauthorized device is present by displaying information indicating that an unauthorized device has been detected on the display unit 55 or by causing the administrator terminal to transmit the information from the transmission / reception unit 56. On the other hand, if it is determined that no unauthorized device is present (step S303; N), the management server 300 ends the process without notifying the administrator that an unauthorized device is present.
[0082] Incidentally, the operation of PLC 100 and development computer 200 to generate and transmit server response information is simply to generate and transmit the server response information based on the server request information received by PLC 100 and development computer 200 from management server 300. Furthermore, the operation of management server 300 to determine whether the software versions match is simply to determine whether the version of the functional software installed in PLC 100 matches the version of the development software installed in development computer 200 based on the PLC-related information and development computer-related information stored when management server 300 receives installation request information. Furthermore, the operation of management server 300 to generate and store debug information is simply to identify PLC 100 capable of debugging a program generated in development computer 200 based on the stored PLC-related information and development computer-related information, and to generate and store the debug information. Therefore, in order to reduce redundant explanation, illustrations and detailed explanations of these operations will be omitted.
[0083] As described above, according to the development environment construction support system 1 of this embodiment, the software storage unit 301 of the management server 300 stores the function software of the PLC 100 and the development software of the development computer 200 for developing a program corresponding to the function software. Furthermore, the installation request information receiving unit 305 of the management server 300 receives installation request information from the user to cause both the installation of the function software in the PLC 100 and the installation of the development software in the development computer 200 to be performed.
[0084] Furthermore, when the install request information receiving unit 305 receives the install request information, the install determination unit 306 of the management server 300 determines whether or not it is possible to install both the function software in PLC 100 and the development software in the development computer 200, based on the PLC related information and the development computer related information. Then, when the install determination unit 306 determines that it is possible to install both the function software in PLC 100 and the development software in the development computer 200, the software transmission unit 307 of the management server 300 transmits the function software to PLC 100 and transmits the development software to the development computer 200.
[0085] In the PLC 100, the software receiving unit 150 receives the function software, and the installation executing unit 160 executes the installation of the function software. In the development computer 200, the software receiving unit 250 receives the development software, and the installation executing unit 260 executes the installation of the development software.
[0086] In this way, the development environment construction support system 1 according to the present embodiment can determine whether or not it is possible to install software in both the PLC 100 and the development computer 200 based on the PLC related information and the development computer related information. Furthermore, if the development environment construction support system 1 according to the present embodiment can install software in both the PLC 100 and the development computer 200, it can transmit the functional software to the PLC 100 to install it, and transmit the development software corresponding to the functional software to the development computer 200 to install it. As a result, the development environment construction support system 1 according to the present embodiment can automatically install software in the PLC 100 and the development computer 200, so that the number of steps required to construct a development environment can be reduced compared to a development environment construction support system that requires manual installation in the PLC and the development computer.
[0087] In particular, according to the development environment building support system 1 of this embodiment, the PLC related information includes hardware related information, software related information, and individual identification information of PLC 100. Similarly to the PLC related information, the development computer related information also includes hardware related information, software related information, and individual identification information of development computer 200. Therefore, in the development environment building support system 1 of this embodiment, the management server 300 can determine whether or not it is possible to install both the functional software in PLC 100 and the development software in development computer 200, based on the PLC related information including the hardware related information, software related information, and individual identification information of PLC 100, and the development computer related information including the hardware related information, software related information, and individual identification information of development computer 200.
[0088] In this way, the development environment building support system 1 according to the present embodiment can determine whether or not there is new software that can be installed while preventing installation when an unauthorized PLC or development computer is connected. As a result, the development environment building support system 1 according to the present embodiment can reduce a shortage of licenses for necessary functional software and development software, and a purchase of an unnecessary number of licenses for functional software and development software.
[0089] Moreover, according to the development environment construction support system 1 of this embodiment, the related information storage unit 304 of the management server 300 stores the PLC related information and the development computer related information. Moreover, in the PLC related information, the hardware related information includes the hardware configuration information and the hardware version information of the PLC 100, the software related information includes the software configuration information and the software version information of the PLC 100, and the individual identification information includes the hardware individual identification information and the software individual identification information of the PLC 100. Moreover, like the PLC related information, the development computer related information also includes the hardware configuration information and the hardware version information of the development computer 200 in the hardware related information, the software related information includes the software configuration information and the software version information of the development computer 200 in the software related information, and the individual identification information includes the hardware individual identification information and the software individual identification information of the development computer 200 in the individual identification information.
[0090] In this way, the development environment construction support system 1 according to the present embodiment can determine whether or not installation is possible more accurately than a development environment construction support system that determines whether or not software can be installed in both the PLC and the development computer based on PLC-related information and development computer-related information that do not include the above-mentioned information. Also, in this way, the development environment construction support system 1 according to the present embodiment can more easily identify whether or not PLC 100 or development computer 200 is an unauthorized device than a development environment construction support system that determines whether or not software can be installed in both the PLC and the development computer based on PLC-related information and development computer-related information that do not include the above-mentioned information, and therefore can more easily determine whether or not there is new software that can be installed in both PLC 100 and development computer 200.
[0091] Furthermore, according to the development environment building support system 1 of this embodiment, the combination identification unit 309 of the management server 300 identifies a combination of the PLC 100 and the development computer 200 corresponding as a development environment, based on the PLC related information and the development computer related information stored in the related information storage unit 304. Furthermore, the unauthorized device determination unit 310 of the management server 300 determines whether or not there is an unauthorized device in either the PLC 100 or the development computer 200 that it manages, based on the combination identified by the combination identification unit 309. Then, the unauthorized device notification unit 311 of the management server 300 notifies the fact that there is an unauthorized device, when the unauthorized device determination unit 310 determines that there is an unauthorized device.
[0092] In this way, the development environment building support system 1 according to this embodiment can notify the user if there is an unauthorized device in either the PLC 100 or the development computer 200 that it manages. In addition, in this way, the development environment building support system 1 according to this embodiment can determine whether or not there is an unauthorized device with greater accuracy than a development environment building support system that does not determine whether or not there is an unauthorized device after identifying the combination of the PLC and the development computer. As a result, the development environment building support system 1 according to this embodiment can build a secure system in which no unauthorized device is connected as the PLC 100 or the development computer 200.
[0093] Furthermore, according to the development environment building support system 1 of this embodiment, the combinations identified by the combination identifying section 309 may be n-to-n or n-to-m combinations of PLCs 100 and development computers 200.
[0094] In this way, in the development environment construction support system 1 according to the present embodiment, the management server 300 can manage the number of licenses of the functional software and the corresponding development software based on the n-to-n and n-to-m combinations of the identified PLCs 100 and the development computers 200. As a result, the development environment construction support system 1 according to the present embodiment can manage software licenses more easily than a development environment construction support system that does not determine whether or not there is an unauthorized device based on the n-to-n and n-to-m combinations of the identified PLCs and the development computers. Also, in this way, the development environment construction support system 1 according to the present embodiment can determine whether or not there is an unauthorized device more accurately than a development environment construction support system that does not determine whether or not there is an unauthorized device based on the n-to-n and n-to-m combinations of the identified PLCs and the development computers.
[0095] Furthermore, according to the development environment building support system 1 of this embodiment, when the installation request information receiving unit 305 receives installation request information, the unauthorized device determination unit 310 of the management server 300 determines whether or not there is an unauthorized device. In this way, the development environment building support system 1 according to this embodiment can determine whether or not there is an unauthorized device each time installation request information is received from a user. As a result, the development environment building support system 1 according to this embodiment can build an operable system without the management server 300 constantly transmitting and receiving information to and from the PLC 100 and the development computer 200 in order to determine whether or not there is an unauthorized device.
[0096] Furthermore, according to the development environment construction support system 1 of this embodiment, the version match determination unit 312 of the management server 300 determines, based on the PLC related information and the development computer related information stored in the related information storage unit 304, whether or not the version of the functional software installed in the PLC 100 matches the version of the development software installed in the development computer 200.
[0097] In this way, the development environment building support system 1 according to the present embodiment can prevent a mismatch in the versions of the software in the PLC 100 and the development computer 200. Therefore, for example, when the PLC 100 and the development computer 200 cannot install new versions of the function software and development software that are the subject of an installation request due to a mismatch in the versions of the software, the management server 300 can more easily determine whether or not the software can be installed than a management server that does not determine whether or not the versions match. As a result, the development environment building support system 1 according to the present embodiment can more easily determine whether or not there is new software that can be installed in both the PLC 100 and the development computer 200.
[0098] Furthermore, according to the development environment construction support system 1 of this embodiment, when the installation request information receiving unit 305 receives installation request information, the version match determination unit 312 of the management server 300 determines whether or not the version of the functional software installed in the PLC 100 matches the version of the development software installed in the development computer 200. In this way, the development environment building support system 1 according to this embodiment can determine whether the versions match each time installation request information is received from a user. As a result, the development environment building support system 1 according to this embodiment can build an operable system without the management server 300 constantly transmitting and receiving information to and from the PLC 100 and the development computer 200 to determine whether the versions match.
[0099] Furthermore, according to the development environment building support system 1 of this embodiment, the debug target identification unit 313 of the management server 300 identifies, from among the first PLC 101, the second PLC 102, ..., the ninth PLC 109, a PLC 100 capable of debugging a program generated in the development computer 200, based on the PLC related information and the development computer related information stored in the related information storage unit 304. Then, the debug information generation unit 314 of the management server 300 generates debug information based on the identification result of the debug target identification unit 313, and stores the information in the related information storage unit 304.
[0100] In this way, for example, when a user of the first development computer 201 generates and debugs a program that controls the first PLC 101, the user can identify a PLC 100 that is capable of debugging the generated program via the management server 300, and perform the debugging on the identified PLC 100.
[0101] Furthermore, according to the development environment construction support system 1 of this embodiment, the functional software is software such as an add-on or add-in that enables some special functions to be additionally realized in the PLC 100. Moreover, the development software is software that is added to the already installed development software in order to additionally realize the generation of a program that uses a special function of the add-on or add-in of the PLC 100, for example. In this way, the development environment construction support system 1 of this embodiment can support the construction of a development environment for a program that uses some of the special functions added to PLC 100 by having functional software and development software installed in PLC 100 and development computer 200.
[0102] According to the development environment construction support system 1 of the present embodiment, the server request information transmitting unit 302 of the management server 300 transmits the server request information to the PLC 100 and the development computer 200. In the PLC 100, the server request information receiving unit 120 receives the server request information, the server response information generating unit 130 generates the server response information based on the PLC related information stored in the PLC related information storage unit 110 and the received server request information, and the server response information transmitting unit 140 transmits the server response information. Similarly to the PLC 100, in the development computer 200, the server request information receiving unit 220 receives the server request information, the server response information generating unit 230 generates the server response information based on the development computer related information stored in the development computer related information storage unit 210 and the received server request information, and the server response information transmitting unit 240 transmits the server response information. Then, the server response information receiving unit 303 of the management server 300 receives the server response information from the PLC 100 and the development computer 200.
[0103] In this way, in the development environment building support system 1 according to this embodiment, the management server 300 can receive server response information by transmitting server request information when there is a request to the PLC 100 and the development computer 200. As a result, in the development environment building support system 1 according to this embodiment, it is possible to construct a system that can be operated without the management server 300 constantly transmitting and receiving information to the PLC 100 and the development computer 200.
[0104] Moreover, according to the development environment construction support system 1 of this embodiment, the server request information transmitting unit 302 of the management server 300 transmits to the PLC 100 server request information indicating a request for transmission of the PLC related information stored in the PLC 100, and transmits to the development computer 200 server request information indicating a request for transmission of the development computer related information stored in the development computer 200. Furthermore, the server response information transmitting unit 140 of the PLC 100 transmits the PLC related information as the server response information generated by the server response information generating unit 130. Furthermore, the server response information transmitting unit 240 of the development computer 200 transmits the development computer related information as the server response information generated by the server response information generating unit 230. Then, the server response information receiving unit 303 of the management server 300 receives the PLC related information and the development computer related information as the server response information, and the related information storage unit 304 stores the received information.
[0105] In this way, management server 300 can acquire and store the latest PLC-related information and development computer-related information when requesting transmission of these information from PLC 100 and development computer 200. As a result, development environment construction support system 1 according to this embodiment can prevent the occurrence of a state in which the PLC-related information and development computer-related information stored by management server 300 do not match the PLC-related information and development computer-related information stored by PLC 100 and development computer 200 at any timing requested by management server 300.
[0106] [Embodiment 2] In the first embodiment, the PLC 100 and the development computer 200 transmit PLC-related information and development computer-related information when the management server 300 requests the transmission of this information, but the information may be transmitted even without a request from the management server 300. Hereinafter, the development environment building support system 1 according to the second embodiment will be described in detail with reference to Figs. 10 to 12. Note that in the second embodiment, the configuration different from that of the first embodiment will be described, and the description of the same configuration as that of the first embodiment will be omitted to avoid redundancy.
[0107] 10, in the development environment construction support system 1 according to this embodiment, the PLC 100 further includes a PLC related information transmitting unit 170 that transmits PLC related information, and the development computer 200 further includes a development computer related information transmitting unit 270 that transmits development computer related information. In addition, the management server 300 further includes a related information receiving unit 315 that receives the PLC related information and the development computer related information.
[0108] Returning to FIG. 3, the transmitting / receiving units 56 of the PLC 100, the development computer 200, and the management server 300 function as the PLC related information transmitting unit 170, the development computer related information transmitting unit 270, and the related information receiving unit 315 shown in FIG.
[0109] 3, the PLC 100, the development computer 200, and the management server 300 realize the functions of the above-mentioned units 170, 270, 315 shown in Fig. 10 by the control unit 51 using the main memory unit 52, the external memory unit 53, the operation unit 54, the display unit 55, and the transmission / reception unit 56 as resources. For example, the PLC 100 executes a PLC related information transmission step performed by the PLC related information transmission unit 170, and the development computer 200 executes a development computer related information transmission step performed by the development computer related information transmission unit 270. Also, for example, the management server 300 executes a related information reception step performed by the related information receiving unit 315.
[0110] (Details of Functional Configuration of PLC 100 According to Second Embodiment) For example, when the PLC related information stored in the PLC related information storage unit 110 is updated, the PLC related information transmission unit 170 transmits the updated PLC related information to the management server 300.
[0111] (Details of Functional Configuration of Development Computer 200 According to the Second Embodiment) For example, when the development computer related information stored in the development computer related information storage unit 210 is updated, the development computer related information transmission unit 270 transmits the updated development computer related information to the management server 300.
[0112] (Details of Functional Configuration of Management Server 300 According to Second Embodiment) 11, in this embodiment, the functional software stored in the software storage unit 301 is basic software for controlling the hardware of the PLC 100, such as the firmware of the PLC 100 and an OS (Operating System). The development software stored in the software storage unit 301 is basic software required for building a development environment for a program that controls the PLC 100. In other words, the software storage unit 301 stores the firmware of the PLC 100, the OS, and new basic software for building a development environment for each version.
[0113] The unauthorized device determination unit 310 of this embodiment determines whether or not there is an unauthorized device each time a predetermined period has elapsed. Also, the version match determination unit 312 determines whether or not the version of the functional software installed in the PLC 100 matches the version of the development software installed in the development computer 200 each time a predetermined period has elapsed. For example, the unauthorized device determination unit 310 determines whether or not there is an unauthorized device every eight hours, and the version match determination unit 312 determines whether or not the versions match every month.
[0114] The related information receiving unit 315 receives the PLC related information and the development computer related information transmitted from the PLC 100 and the development computer 200 , and stores the received PLC related information and development computer related information in the related information storage unit 304 .
[0115] (Regarding unauthorized device notification processing according to the second embodiment) Next, the operation of the management server 300 to identify and report an unauthorized device will be described. When the management server 300 is powered on, it starts executing the unauthorized device reporting process shown in Fig. 12. First, after the combination identification unit 309 executes the process of step S301 to identify the combination, the unauthorized device determination unit 310 determines whether or not a predetermined period has elapsed (step S312). If the period has not elapsed (step S312; N), the unauthorized device determination unit 310 repeats the process of step S312 until the period has elapsed. On the other hand, if the period has elapsed (step S312; Y), the unauthorized device determination unit 310 executes the processes of steps S303 and S304 and ends the process.
[0116] Incidentally, with regard to the operation of PLC 100, development computer 200, and management server 300 transmitting and receiving PLC-related information and development computer-related information, when PLC 100 and development computer 200 update the PLC-related information and development computer-related information stored therein, the updated information is transmitted and received by management server 300. Also, with regard to the operation of management server 300 determining whether the software versions match, management server 300 simply determines whether the version of the functional software installed in PLC 100 matches the version of the development software installed in development computer 200 each time a predetermined period of time has elapsed. Therefore, in order to reduce redundant explanation, illustrations and detailed explanations of these operations will be omitted.
[0117] As described above, according to the development environment construction support system 1 of this embodiment, the PLC related information transmitting unit 170 of the PLC 100 transmits the PLC related information stored in the PLC related information storage unit 110, regardless of whether or not it has received server request information indicating a request to transmit the PLC related information. Moreover, the development computer related information transmitting unit 270 of the development computer 200 transmits the development computer related information stored in the development computer related information storage unit 210, regardless of whether or not it has received server request information indicating a request to transmit the development computer related information. Then, in the management server 300, the related information receiving unit 315 receives the PLC related information and the development computer related information transmitted from the PLC 100 and the development computer 200, and stores the received PLC related information and the development computer related information in the related information storage unit 304.
[0118] In this way, management server 300 can obtain and store the latest PLC-related information and development computer-related information without requesting transmission of these information from PLC 100 and development computer 200. As a result, development environment building support system 1 according to this embodiment can prevent a state from occurring in which the PLC-related information and development computer-related information stored by management server 300 do not match the PLC-related information and development computer-related information stored by PLC 100 and development computer 200 at any timing when PLC 100 and development computer 200 transmit information.
[0119] Furthermore, by doing this, even if the PLC 100 and the development computer 200 are newly connected to the development environment construction support system 1 and the management server 300 does not store the PLC-related information and the development computer-related information, the PLC 100 and the development computer 200 can transmit the information themselves to the management server 300 and have it stored, making them newly selectable as targets for installation.
[0120] Furthermore, according to the development environment building support system 1 of this embodiment, the unauthorized device determining unit 310 of the management server 300 determines whether or not there is an unauthorized device each time a predetermined period of time has elapsed. In this manner, the development environment building support system 1 according to this embodiment can determine whether or not there is an unauthorized device each time a period predetermined by the administrator elapses, for example.
[0121] Furthermore, according to the development environment construction support system 1 of this embodiment, the version match determination unit 312 of the management server 300 determines whether or not the version of the functional software installed in the PLC 100 matches the version of the development software installed in the development computer 200 each time a predetermined period of time elapses. In this way, the development environment building support system 1 according to the present embodiment can determine whether the versions match each time a period predetermined by the administrator elapses.
[0122] Moreover, according to the development environment construction support system 1 according to the present embodiment, the functional software is basic software such as firmware and an OS for performing normal control of the hardware in the PLC 100. Moreover, the development software is, for example, basic software for realizing a function as a development environment.
[0123] In this way, the development environment building support system 1 according to this embodiment can support the building of a basic development environment for a program that controls PLC 100 by having PLC 100 and development computer 200 install functional software and development software. Also, by doing this, even when installing basic software for the first time, PLC 100 and development computer 200 can determine whether or not installation is possible based on hardware and software information, and can automatically install installable basic software. In addition, the development environment building support system 1 according to this embodiment has the same operational effects as the development environment building support system 1 according to the first embodiment.
[0124] (Example of change) As in the above first and second embodiments, it is preferable that both the PLC-related information and the development computer-related information contain individual identification information, but as long as one of the PLC-related information and the development computer-related information contains individual identification information, it is not necessary that the other does not contain individual identification information. In this way, when the PLC-related information contains individual identification information, it is possible to determine whether there is new software that can be installed while preventing installation when an unauthorized PLC is connected, and when the development computer-related information contains individual identification information, it is possible to determine whether there is new software that can be installed while preventing installation when an unauthorized development computer is connected.
[0125] In the above first and second embodiments, the individual identification information is information that includes both hardware individual identification information and software individual identification information, but is not limited to this and may be information that includes either hardware individual identification information or software individual identification information.
[0126] In the above first and second embodiments, the function software to be installed is directly transmitted from the management server 300 to the PLC 100, but the present invention is not limited to this. For example, the development computer 200 may receive the function software from the management server 300, and then the development computer 200 may transfer the function software to the PLC 100. That is, the PLC 100 may receive the function software via the development computer 200. In this way, for example, the PLC 100 and the development computer 200 may transmit and receive information via a LAN, and the development computer 200 and the management server 300 may transmit and receive information via the Internet, thereby preventing the PLC 100 from being connected to the Internet, which may connect to an external terminal.
[0127] In the above first and second embodiments, management server 300 determines whether installation is possible, whether the versions match, and whether there is an unauthorized device based on the PLC-related information and development computer-related information stored in related information storage unit 304, but is not limited to this. For example, management server 300 may authenticate software installed on each PLC 100 and development computer 200 based on the hardware individual identification information and software individual identification information included in the PLC-related information and development computer-related information.
[0128] In the above first and second embodiments, the management server 300 judges whether the versions match and whether there is an unauthorized device when it receives the installation request information and when a predetermined period of time has elapsed, but the timing for making these judgments is not limited to these. For example, the management server 300 may make these judgments during a maintenance period.
[0129] In the above first and second embodiments, management server 300 is capable of managing the number of licenses for software installed in PLC 100 and development computer 200 based on the PLC-related information and development computer-related information stored in related information storage unit 304, but the method of managing the number of licenses is not limited to this. For example, management server 300 may manage the number of licenses for each piece of software currently in use by counting and storing the number of times each piece of software to be installed is transmitted to PLC 100 and development computer 200.
[0130] The central part where PLC 100, development computer 200, and management server 300, which are equipped with control unit 51, main memory unit 52, external memory unit 53, operation unit 54, transmission / reception unit 56, and internal bus 50, perform processing may be configured by distributing the programs for executing the above-mentioned operations by storing them in a recording medium readable by PLC 100, development computer 200, and management server 300, such as a flash memory, and installing the programs to configure PLC 100, development computer 200, and management server 300 that perform the above-mentioned processing. Also, PLC 100, development computer 200, and management server 300 may be configured by storing the programs in a storage device of a server device on a communication network such as a LAN or the Internet, and downloading the programs to PLC 100, development computer 200, and management server 300.
[0131] Furthermore, if the functions of PLC 100, development computer 200 and management server 300 are realized by sharing the functions between an OS and an application program, or by cooperation between an OS and an application program, then only the application program portion may be stored in a recording medium or storage device.
[0132] It is also possible to superimpose the program on a carrier wave and provide it via a communication network. For example, the program may be posted on a bulletin board system (BBS) on the communication network and provided via the network. The program may then be started and executed under the control of the OS in the same way as other application programs, thereby executing the above-mentioned processing.
[0133] Various embodiments and modifications of the present disclosure are possible without departing from the broad spirit and scope of the present disclosure. The above-described embodiments are for explaining the present disclosure and do not limit the scope of the present disclosure. In other words, the scope of the present disclosure is indicated by the claims, not the embodiments. Various modifications made within the scope of the claims and within the scope of the disclosure equivalent thereto are considered to be within the scope of the present disclosure. [Explanation of symbols]
[0134] 1... development environment construction support system, 50... internal bus, 51... control unit, 52... main memory unit, 53... external memory unit, 54... operation unit, 55... display unit, 56... transmission / reception unit, 59... control program, 100... PLC, 101... first PLC, 102... second PLC, 109... ninth PLC, 110... PLC related information storage unit, 120, 220... server request information receiving unit, 130, 230... server response information generating unit, 140, 240... server response information transmitting unit, 150, 250... software receiving unit, 160, 260... installation execution unit, 170... PLC related information transmitting unit, 200... development computer, 201... first development computer, 202... second development computer computer, 209... ninth development computer, 210... development computer related information storage unit, 270... development computer related information transmission unit, 300... management server, 301... software storage unit, 302... server request information transmission unit, 303... server response information receiving unit, 304... related information storage unit, 305... installation request information receiving unit, 306... installation determination unit, 307... software transmission unit, 308... installation impossible notification unit, 309... combination identification unit, 310... unauthorized device determination unit, 311... unauthorized device notification unit, 312... version match determination unit, 313... debugging target identification unit, 314... debugging information generation unit, 315... related information receiving unit.
Claims
1. A development environment construction support system including: a programmable logic controller; a development computer which is a computer device serving as a development environment for a program that controls the programmable logic controller; and a management server which manages the programmable logic controller and the development computer, The management server includes: a software storage unit for storing function software, which is software for realizing a function of the programmable logic controller, and development software, which is software for developing the program corresponding to the function software in the development computer; an installation request information receiving unit that receives, from a user, installation request information which is information indicating an installation request for performing both installation of the functional software in the programmable logic controller and installation of the development software in the development computer; an installation determination unit that, when the installation request information receiving unit receives the installation request information, determines whether or not it is possible to install both the function software in the programmable logic controller and the development software in the development computer, based on PLC-related information that is information related to the programmable logic controller and development computer-related information that is information related to the development computer; a software transmission unit that transmits the function software to the programmable logic controller and the development software to the development computer when the installation determination unit determines that both the installation of the function software in the programmable logic controller and the installation of the development software in the development computer can be performed; Including, The programmable logic controller includes: a software receiving unit for receiving the function software; an installation execution unit that executes installation of the functional software; Including, The development computer includes: a software receiving unit for receiving the development software; an installation execution unit that executes installation of the development software; Including, the PLC-related information includes hardware-related information that is information related to hardware constituting the programmable logic controller, software-related information that is information related to software installed in the programmable logic controller, and individual identification information that is information by which the programmable logic controller can be individually identified; the development computer-related information includes hardware-related information that is information related to hardware constituting the development computer, and software-related information that is information related to software installed on the development computer; Development environment construction support system.
2. A development environment construction support system including: a programmable logic controller; a development computer which is a computer device serving as a development environment for a program that controls the programmable logic controller; and a management server which manages the programmable logic controller and the development computer, The management server includes: a software storage unit for storing function software, which is software for realizing a function of the programmable logic controller, and development software, which is software for developing the program corresponding to the function software in the development computer; an installation request information receiving unit that receives, from a user, installation request information which is information indicating an installation request for performing both installation of the functional software in the programmable logic controller and installation of the development software in the development computer; an installation determination unit that, when the installation request information receiving unit receives the installation request information, determines whether or not it is possible to install both the function software in the programmable logic controller and the development software in the development computer, based on PLC-related information that is information related to the programmable logic controller and development computer-related information that is information related to the development computer; a software transmission unit that transmits the function software to the programmable logic controller and the development software to the development computer when the installation determination unit determines that both the installation of the function software in the programmable logic controller and the installation of the development software in the development computer can be performed; Including, The programmable logic controller includes: a software receiving unit for receiving the function software; an installation execution unit that executes installation of the functional software; Including, The development computer includes: a software receiving unit for receiving the development software; an installation execution unit that executes installation of the development software; Including, the PLC-related information includes hardware-related information that is information related to hardware constituting the programmable logic controller, and software-related information that is information related to software installed in the programmable logic controller; The development computer related information includes hardware related information that is information related to hardware constituting the development computer, software related information that is information related to software installed on the development computer, and individual identification information that is information that allows individual identification of the development computer. Development environment construction support system.
3. The management server includes: a related information storage unit that stores the PLC related information and the development computer related information; Further comprising: The PLC-related information is the hardware-related information includes hardware configuration information that is information indicating a configuration of the hardware of the programmable logic controller, and hardware version information that indicates a version of the hardware of the programmable logic controller; the software-related information includes software configuration information that is information indicating a configuration of the software of the programmable logic controller, and software version information that indicates a version of the software of the programmable logic controller, the individual identification information includes either one or both of hardware individual identification information that is information that allows individual identification of the hardware of the programmable logic controller, and software individual identification information that is information that allows individual identification of the software of the programmable logic controller, The development computer related information: the hardware-related information includes hardware configuration information that is information indicating a configuration of the hardware of the development computer, and hardware version information that indicates a version of the hardware of the development computer, the software-related information includes software configuration information that is information indicating a configuration of the software of the development computer, and software version information that indicates a version of the software of the development computer; 2. The development environment construction support system according to claim 1.
4. The management server includes: a combination identification unit that identifies a combination of the programmable logic controller and the development computer corresponding to the development environment based on the PLC-related information and the development computer-related information stored in the related information storage unit; an unauthorized device determination unit that determines whether or not an unauthorized device is present in either the programmable logic controller or the development computer that are managed based on the combination identified by the combination identification unit; an unauthorized device notification unit that notifies the user of the presence of an unauthorized device when the unauthorized device determination unit determines that the unauthorized device is present; Further comprising:
4. The development environment construction support system according to claim 3.
5. the programmable logic controller includes at least a first programmable logic controller and a second programmable logic controller different from the first programmable logic controller; the development computers include at least a first development computer and a second development computer different from the first development computer; the combination indicates that either or both of the first programmable logic controller and the second programmable logic controller correspond to either or both of the first development computer and the second development computer, 5. The development environment construction support system according to claim 4.
6. the unauthorized device determination unit determines whether or not the unauthorized device is present each time a predetermined period of time elapses; 6. The development environment construction support system according to claim 4 or 5.
7. the unauthorized device determination unit, when the installation request information receiving unit receives the installation request information, determines whether or not the unauthorized device is present.
6. The development environment construction support system according to claim 4 or 5.
8. The management server includes: a version match determination unit that determines whether or not a version of the function software installed in the programmable logic controller matches a version of the development software installed in the development computer, based on the PLC-related information and the development computer-related information stored in the related information storage unit; Further comprising:
4. The development environment construction support system according to claim 3.
9. the version match determination unit determines, each time a predetermined period of time elapses, whether or not a version of the function software installed in the programmable logic controller matches a version of the development software installed in the development computer.
9. The development environment construction support system according to claim 8.
10. the version match determination unit, when the installation request information receiving unit receives the installation request information, determines whether or not a version of the functional software installed in the programmable logic controller matches a version of the development software installed in the development computer.
9. The development environment construction support system according to claim 8.
11. the programmable logic controller includes at least a first programmable logic controller and a second programmable logic controller different from the first programmable logic controller; The management server includes: a debug target identification unit that identifies the programmable logic controller capable of debugging the program generated in the development computer from among the first programmable logic controller and the second programmable logic controller based on the PLC related information and the development computer related information stored in the related information storage unit; a debug information generating unit that generates debug information, which is information required for debugging the program, based on an identification result from the debug target identifying unit; Further comprising:
4. The development environment construction support system according to claim 3.
12. The functional software is software that enables the programmable logic controller to additionally realize some special functions, the development software being software that additionally enables the creation of the program using the special functionality; 2. The development environment construction support system according to claim 1.
13. the functional software is basic software for controlling hardware in the programmable logic controller, The development software is basic software for realizing the functions of the development environment.
2. The development environment construction support system according to claim 1.
14. The programmable logic controller includes: a PLC related information storage unit that stores the PLC related information; a server request information receiving unit for receiving server request information which is information indicating a request from the management server; a server response information generating unit that generates server response information, which is information indicating a response to the management server, based on the PLC related information stored in the PLC related information storage unit and the server request information received by the server request information receiving unit; a server response information transmitting unit for transmitting the server response information; Further comprising: The development computer includes: a development computer related information storage unit that stores the development computer related information; a server request information receiving unit for receiving the server request information; a server response information generation unit that generates the server response information based on the development computer related information stored in the development computer related information storage unit and the server request information received by the server request information receiving unit; a server response information transmitting unit for transmitting the server response information; Further comprising: The management server includes: a server request information transmitting unit that transmits the server request information; A server response information receiving unit that receives the server response information; Further comprising:
4. The development environment construction support system according to claim 3.
15. The management server includes: the server request information transmitting unit transmits the server request information indicating a request for transmission of the PLC-related information stored in the programmable logic controller to the programmable logic controller, and transmits the server request information indicating a request for transmission of the development computer-related information stored in the development computer to the development computer; The programmable logic controller includes: the server response information transmitting unit transmits the PLC-related information as the server response information generated by the server response information generating unit; The development computer includes: the server response information transmission unit transmits the development computer related information as the server response information generated by the server response information generation unit; The management server includes: the server response information receiving unit receives the PLC-related information and the development computer-related information as the server response information; the related information storage unit stores the PLC related information and the development computer related information received by the server response information receiving unit as the server response information. The development environment construction support system according to claim 14.
16. The programmable logic controller includes: a PLC related information storage unit that stores the PLC related information; A PLC related information transmission unit that transmits the PLC related information; Further comprising: The development computer includes: a development computer related information storage unit that stores the development computer related information; a development computer related information transmission unit for transmitting the development computer related information; Further comprising: The management server includes: a related information receiving unit for transmitting the PLC related information and the development computer related information; Further comprising: The related information storage unit stores the PLC related information and the development computer related information received by the related information receiving unit.
4. The development environment construction support system according to claim 3.
17. A development environment construction support device serving as a management server for managing a programmable logic controller and a development computer which is a computer device serving as a development environment for a program controlling the programmable logic controller, a software storage unit for storing function software, which is software for realizing a function of the programmable logic controller, and development software, which is software for developing the program corresponding to the function software in the development computer; an installation request information receiving unit that receives, from a user, installation request information which is information indicating an installation request for performing both installation of the functional software in the programmable logic controller and installation of the development software in the development computer; an installation determination unit which, when the installation request information receiving unit receives the installation request information, determines whether or not it is possible to install both the function software in the programmable logic controller and the development software in the development computer, based on PLC-related information including hardware-related information which is information related to the programmable logic controller and which is information related to the hardware constituting the programmable logic controller and software-related information which is information related to the software installed in the programmable logic controller, and development computer-related information which is information related to the development computer and which is hardware-related information which is information related to the hardware constituting the development computer and software-related information which is information related to the software installed in the development computer; a software transmission unit that transmits the function software to the programmable logic controller and the development software to the development computer when the installation determination unit determines that both the installation of the function software in the programmable logic controller and the installation of the development software in the development computer can be performed; Equipped with The PLC-related information includes individual identification information that is information that can identify the individual programmable logic controller when the development computer-related information does not include individual identification information that is information that can identify the individual development computer, and the development computer-related information includes, at least when the PLC-related information does not include the individual identification information capable of individual identification of the programmable logic controller, the individual identification information capable of individual identification of the development computer; Development environment construction support device.
18. 1. A method for controlling a development environment construction support device serving as a management server for managing a programmable logic controller and a development computer which is a computer device serving as a development environment for a program controlling the programmable logic controller, comprising: an installation request information receiving step in which the development environment construction support device receives, from a user, installation request information which is information indicating an installation request to perform both installation of functional software which is software for realizing a function in the programmable logic controller and installation of development software which is software for developing the program in the development computer; an installation determination step of determining whether or not it is possible to install both the function software in the programmable logic controller and the development software in the development computer, based on PLC-related information including hardware-related information that is information related to the programmable logic controller and that is information related to the hardware constituting the programmable logic controller and software-related information that is information related to the software installed in the programmable logic controller, and development computer-related information that is information related to the development computer and that is hardware-related information that is information related to the hardware constituting the development computer and software-related information that is information related to the software installed in the development computer, when the development environment construction support device receives the installation request information in the installation request information receiving step; a software transmission step of transmitting the function software pre-stored in the programmable logic controller and the development software pre-stored in the development computer when the development environment construction support device determines in the installation determination step that it is possible to cause both the function software to be installed in the programmable logic controller and the development software to be installed in the development computer; Including, The PLC-related information includes individual identification information that is information that can identify the individual programmable logic controller when the development computer-related information does not include individual identification information that is information that can identify the individual development computer, and the development computer-related information includes, at least when the PLC-related information does not include the individual identification information capable of individual identification of the programmable logic controller, the individual identification information capable of individual identification of the development computer; Control methods.
19. a development environment construction support device as a management server that manages a programmable logic controller and a development computer that is a computer device serving as a development environment for a program that controls the programmable logic controller; an installation request information receiving unit that receives, from a user, installation request information which is information indicating an installation request for performing both installation of function software which is software for realizing a function in the programmable logic controller and installation of development software which is software for developing the program in the development computer; an installation determination unit which, when the installation request information receiving unit receives the installation request information, determines whether or not it is possible to install both the function software in the programmable logic controller and the development software in the development computer, based on PLC-related information including hardware-related information which is information related to the programmable logic controller and which is information related to the hardware constituting the programmable logic controller, and software-related information which is information related to the software installed in the programmable logic controller, and development computer-related information which is information related to the development computer and which is hardware-related information which is information related to the hardware constituting the development computer, and software-related information which is information related to the software installed in the development computer; a software transmission unit that transmits the function software pre-stored in the programmable logic controller and the development software pre-stored in the development computer when the installation determination unit determines that both the installation of the function software in the programmable logic controller and the installation of the development software in the development computer can be performed; Functioning as a The PLC-related information includes individual identification information that is information that can identify the individual programmable logic controller when the development computer-related information does not include individual identification information that is information that can identify the individual development computer, and the development computer-related information includes, at least when the PLC-related information does not include the individual identification information capable of individual identification of the programmable logic controller, the individual identification information capable of individual identification of the development computer; Control program.
Citation Information
Patent Citations
Channel access method and device for service object installation package
CN111443918A
Pld / Fpga data programming system
JP2003167738A
Information processing method and information processing device
WO2017175337A1