Development environment construction assistance system, development environment construction assistance device, control method, and control program

By building an auxiliary system in the development environment and utilizing the installation judgment function of the management server, the system performs installation judgment based on hardware and software association information, thereby solving the risk of software installation by unauthorized device connections and achieving safe and reliable software installation management.

CN122397002APending Publication Date: 2026-07-14MITSUBISHI ELECTRIC CORP

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
MITSUBISHI ELECTRIC CORP
Filing Date
2024-06-13
Publication Date
2026-07-14

AI Technical Summary

Technical Problem

Existing technology cannot accurately determine whether new firmware and peripheral management programs exist that can be installed on unauthorized devices, posing an installation risk.

Method used

An auxiliary system is built through the development environment. The management server uses hardware association information, software association information, and individual identification information of the PLC and the development computer to determine the installation and prevent the connection of unauthorized devices and the installation of software.

Benefits of technology

It effectively prevents the installation of software by unauthorized devices, ensures correct software installation judgment, and improves the security and reliability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122397002A_ABST
    Figure CN122397002A_ABST
Patent Text Reader

Abstract

The installation determination section (306) of the management server (300) of the development environment construction assistance system (1) determines, based on PLC association information and development computer association information, whether installation of the function software in the PLC (100) and installation of the development software in the development computer (200) can be performed, in a case where installation request information is received by the installation request information reception section (305). The PLC association information includes hardware association information, software association information, and individual identification information of the PLC (100), and the development computer association information includes hardware association information, software association information, and individual identification information of the development computer (200).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a development environment building assistance system, a development environment building assistance device, a control method, and a control program. Background Technology

[0002] In the past, in the development of programs to control programmable logic controllers (PLCs, sometimes simply referred to as "PLC"), users would install and uninstall software in a computer device that served as an engineering design tool, thereby adding or deleting functions that were not needed.

[0003] Patent Document 1 discloses a system that enables a computer communicating with peripheral devices to update programs for handling peripheral devices such as PLCs and servo amplifiers, such as engineering design tool programs and device driver management programs.

[0004] In Patent Document 1, a server communicating with a computer sometimes stores a model information file that is newer than the model information file of the peripheral device stored by the computer and peripheral devices. Furthermore, the model information file includes corresponding firmware version information indicating a corresponding version in the firmware executed by the peripheral device, firmware version update information, and model information file version information indicating its own version.

[0005] In this scenario, the server sometimes stores a new version of firmware corresponding to a new version of the device information file, and also stores a new version of the peripheral device management program corresponding to the new firmware. At this time, the server displays a selection screen on the computer that allows users to choose a combination of these new versions of the device information file, firmware, and peripheral device management program. Therefore, the computer can select the new version of the device information file, firmware, and peripheral device management program and download them from the server. Furthermore, the computer and peripheral devices can update the stored device information file, the peripheral devices can install the firmware, and the computer can install the peripheral device management program corresponding to that firmware.

[0006] Patent Document 1: International Publication No. 2017 / 175337 Summary of the Invention

[0007] In the technology described in Patent Document 1, the server determines whether new firmware that can be installed on a peripheral device exists based on a device model information file. However, the device model information file only contains information such as the firmware version and its update content executed by the peripheral device. Therefore, for example, if an illegal device with a disguised firmware version is connected to the computer as a peripheral device, the server cannot correctly determine whether new firmware that can be installed on that device exists. In this case, there is a risk that the server cannot correctly determine whether a new peripheral device management program should also be installed on the computer.

[0008] The present invention was proposed in view of the above facts, and its purpose is to prevent installation from unauthorized device connections and to determine whether there is any new software that can be installed.

[0009] To achieve the above objectives, the first aspect of the present invention relates to a development environment construction assistance system, which includes: a programmable logic controller (PLC); a development computer, which is a computer device serving as a development environment for a program that controls the PLC; and a management server that manages the PLC and the development computer. The management server includes: a software storage unit that stores functional software and development software, wherein the functional software is software used to implement the functions of the programmable logic controller (PLC), and the development software is software used to develop programs corresponding to the functional software on a development computer; an installation request information receiving unit that receives installation request information from users, which indicates an installation request to execute both the installation of the functional software in the PLC and the installation of the development software on the development computer; an installation determination unit that, upon receiving the installation request information, determines whether the installation of the functional software in the PLC and the installation of the development software on the development computer can be executed based on information associated with the PLC and information associated with the development computer; and a software sending unit that, if the installation determination unit determines that the installation of the functional software in the PLC and the installation of the development software on the development computer can be executed, sends the functional software to the PLC and the development software to the development computer. Furthermore, the programmable logic controller (PLC) includes: a software receiving unit that receives functional software; and an installation execution unit that performs the installation of the functional software. The development computer includes: a software receiving unit that receives development software; and an installation execution unit that performs the installation of the development software. Moreover, the PLC association information includes hardware association information (associated with the hardware constituting the PLC), software association information (associated with the software installed on the PLC), and individual identification information (associated with the individual PLC). The development computer association information includes hardware association information (associated with the hardware constituting the development computer) and software association information (associated with the software installed on the development computer).

[0010] Furthermore, in order to achieve the above objectives, the second aspect of the present invention relates to a development environment construction assistance system that includes: 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 that manages the programmable logic controller and the development computer. The management server includes: a software storage unit that stores functional software and development software, wherein the functional software is software used to implement the functions of the programmable logic controller (PLC), and the development software is software used to develop programs corresponding to the functional software on a development computer; an installation request information receiving unit that receives installation request information from users, which indicates an installation request to execute both the installation of the functional software in the PLC and the installation of the development software on the development computer; an installation determination unit that, upon receiving the installation request information, determines whether the installation of the functional software in the PLC and the installation of the development software on the development computer can be executed based on information associated with the PLC and information associated with the development computer; and a software sending unit that, if the installation determination unit determines that the installation of the functional software in the PLC and the installation of the development software on the development computer can be executed, sends the functional software to the PLC and the development software to the development computer. Furthermore, the programmable logic controller (PLC) includes: a software receiving unit that receives functional software; and an installation execution unit that performs the installation of the functional software. The development computer includes: a software receiving unit that receives development software; and an installation execution unit that performs the installation of the development software. Moreover, the PLC association information includes hardware association information (associated with the hardware constituting the PLC) and software association information (associated with the software installed on the PLC). The development computer association information includes hardware association information (associated with the hardware constituting the development computer), software association information (associated with the software installed on the development computer), and individual identification information (information enabling the identification of the development computer).

[0011] The effects of the invention

[0012] According to a first aspect of the present invention, the management server determines whether the installation of functional software in the programmable logic controller (PLC) and the installation of development software in the development computer can be performed, based on PLC association information including hardware association information, software association information, and individual identification information of the PLC, and development computer association information including hardware association information and software association information of the development computer. As a result, the development environment construction assistance system according to the first aspect of the present invention can prevent installation from unauthorized PLC connections and determine whether new software that can be installed exists.

[0013] Furthermore, according to a second aspect of the present invention, the management server determines whether the installation of functional software in the programmable logic controller (PLC) and the installation of development software in the development computer can be performed, based on PLC association information including hardware association information and software association information of the programmable logic controller, and development computer association information including hardware association information, software association information, and individual identification information of the development computer. As a result, the development environment construction assistance system according to the second aspect of the present invention can prevent installation from unauthorized connections to the development computer and determine whether new software that can be installed exists. Attached Figure Description

[0014] Figure 1 This is an overall illustration diagram of the development environment construction support system involved in Implementation Method 1.

[0015] Figure 2 This is a diagram showing the functional structure of the development environment building support system involved in Implementation Method 1.

[0016] Figure 3 This is a block diagram illustrating the hardware structure of the PLC, development computer, and management server involved in Implementation Method 1.

[0017] Figure 4 This is a diagram showing an example of the PLC association information involved in Implementation Method 1.

[0018] Figure 5 This is a diagram showing an example of displaying information associated with a development computer according to Implementation Method 1.

[0019] Figure 6A This is a diagram illustrating Example 1 of the installation request receiving screen according to Implementation Method 1.

[0020] Figure 6B This is a diagram illustrating Example 2 of the installation request receiving screen according to Implementation Method 1.

[0021] Figure 6CThis is a diagram illustrating Example 3 of the installation request receiving screen according to Implementation Method 1.

[0022] Figure 7 This is a flowchart of the software sending process involved in Implementation Method 1.

[0023] Figure 8 This is a flowchart of the installation execution process involved in Implementation Method 1.

[0024] Figure 9 This is a flowchart of the illegal device notification process involved in Implementation Method 1.

[0025] Figure 10 This is a diagram illustrating the functional structure of the development environment building support system involved in Implementation Method 2.

[0026] Figure 11 This is a diagram illustrating an example of the installation request receiving screen according to Embodiment 2.

[0027] Figure 12 This is a flowchart of the illegal device notification process involved in Implementation Method 2. Detailed Implementation

[0028] The development environment building assistance system, development environment building assistance device, control method, and control program related to the embodiments of the present invention will now be described in detail with reference to the accompanying drawings. Furthermore, in the drawings, identical or equivalent parts are labeled with the same reference numerals.

[0029] [Implementation Method 1]

[0030] (Regarding the development environment building support system 1 involved in implementation method 1)

[0031] like Figure 1 As shown, the development environment construction assistance system 1 according to Embodiment 1 of the present invention includes a PLC 100, a computer device, namely a development computer 200, which serves as a development environment for a program that controls the PLC 100, and a management server 300, which serves as an example of a development environment construction assistance device for managing the PLC 100 and the development computer 200. The PLC 100, the development computer 200, and the management server 300 are capable of sending and receiving information, for example, via a communication network such as the Internet or a LAN (Local Area Network).

[0032] Furthermore, PLC 100 includes a first programmable logic controller (hereinafter referred to as "first PLC") 101, a second programmable logic controller (hereinafter 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. Moreover, the hardware and functional structures of each PLC 101 to 109 are the same as described below, therefore they are sometimes collectively referred to as PLC 100. Similarly, the hardware and functional structures of each development computer 201 to 209 are the same as those of each PLC 101 to 109, therefore they are sometimes collectively referred to as development computer 200.

[0033] The development environment construction assistance system 1 stores functional software and development software. The functional software is used by the management server 300 to implement the functions of the PLC 100, and the development computer 200 is used to develop programs corresponding to the functional software. Furthermore, the development environment construction assistance system 1 assists in building the development environment by sending, distributing, and installing the installable software to the PLC 100 and the development computer 200 when the management server 300 receives an installation request from a user.

[0034] (Regarding the PLC 100 involved in Implementation Method 1)

[0035] like Figure 2 As shown, PLC 100 includes: a PLC-related information storage unit 110, which stores information associated with PLC 100, i.e., PLC-related information; and a server request information receiving unit 120, which receives information representing a request from management server 300, i.e., server request information. Additionally, PLC 100 includes: a server response information generation unit 130, which generates information representing a response to management server 300, i.e., server response information; and a server response information sending unit 140, which sends the server response information. Furthermore, PLC 100 includes: a software receiving unit 150, which receives functional software; and an installation execution unit 160, which performs the installation of the functional software.

[0036] (Regarding the development computer 200 involved in Implementation Method 1)

[0037] The development computer 200 is, for example, a computer device equipped with a program for implementing the functions of a setting tool used by engineers or users, namely an engineering setting tool program, and is a so-called engineering design tool. The development computer 200 includes: a development computer-related information storage unit 210, which stores information associated with the development computer, namely development computer-related information; a server request information receiving unit 220, which receives server request information; and a server response information generation unit 230, which generates server response information. Furthermore, the development computer 200 includes: a server response information sending unit 240, which sends server response information; a software receiving unit 250, which receives development software; and an installation execution unit 260, which executes the installation of the development software.

[0038] (Regarding the management server 300 involved in Implementation Method 1)

[0039] The management server 300 is, for example, a computer device capable of functioning as a web server, database server, or other server computer. The management server 300 includes: a software storage unit 301 that stores various software programs; a server request information sending unit 302 that sends server request information; and a server response information receiving unit 303 that receives server response information. Furthermore, the management server 300 includes: an association information storage unit 304 that stores various association information; and an installation request information receiving unit 305 that receives installation request information (described later) from the user. Additionally, the management server 300 includes: an installation determination unit 306 that determines whether the installation of each software program can be performed; a software sending unit 307 that sends each software program; and an inability-to-install notification unit 308 that informs the user that installation is not possible.

[0040] Additionally, the management server 300 includes: a combination identification unit 309, which identifies the combination of the PLC 100 and the development computer 200 corresponding to the development environment; an illegal device determination unit 310, which determines whether an illegal device exists; and an illegal device notification unit 311, which notifies the existence of an illegal device. Furthermore, the management server 300 includes: a version consistency determination unit 312, which determines whether the versions of each software are consistent; a debugging object identification unit 313, which identifies the PLC 100 that can be debugged; and a debugging information generation unit 314, which sets the debugging information described later.

[0041] (Regarding the hardware structure of PLC 100 involved in Implementation Method 1)

[0042] like Figure 3As shown, the PLC 100 has a control unit 51, which executes processing according to the control program 59. The control unit 51 has a CPU (Central Processing Unit). The control unit 51, according to the control program 59, acts as... Figure 2 The server response information generation unit 130 and the installation execution unit 160 shown are in operation.

[0043] Return to Figure 3 The PLC 100 has a main storage unit 52, which loads the control program 59 and serves as the working area of ​​the control unit 51. The main storage unit 52 has volatile memory such as RAM (Random Access Memory).

[0044] The PLC 100 has an external storage unit 53, which stores the control program 59 in advance. Following instructions from the control unit 51, the external storage unit 53 supplies the information stored in the program to the control unit 51 and stores the data supplied from the control unit 51. The external storage unit 53 may be a non-volatile memory such as flash memory, HDD (Hard Disk Drive), or SSD (Solid State Drive). The external storage unit 53 serves as... Figure 2 The PLC-related information storage unit 110 shown is in operation.

[0045] Return to Figure 3 The PLC 100 has an operation unit 54 that can be operated by the user. The input information is supplied to the control unit 51 via the operation unit 54. The operation unit 54 has information input components such as a keyboard, mouse, and touch panel.

[0046] In addition, the PLC 100 has a display unit 55 that displays information input via the operation unit 54 and information output via the control unit 51. The display unit 55 may be a display device such as an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display.

[0047] In addition, the PLC 100 has a transceiver unit 56 for transmitting and receiving information. The transceiver unit 56 includes information communication components such as a communication network terminal device and a wireless communication device that are connected to a network. The transceiver unit 56 serves as... Figure 2 The server request information receiving unit 120, server response information sending unit 140, and software receiving unit 150 shown are in operation.

[0048] Return to Figure 3In PLC 100, the main storage unit 52, external storage unit 53, operation unit 54, display unit 55 and transceiver unit 56 are all connected to the control unit 51 via internal bus 50.

[0049] The PLC 100 utilizes the main storage unit 52, external storage unit 53, operation unit 54, display unit 55, and transceiver unit 56 as resources through the control unit 51, thereby achieving... Figure 2 The functions of the aforementioned units 110 to 160 are as follows. For example, the PLC 100 performs the PLC association information storage step performed by the PLC association information storage unit 110, the server request information receiving step performed by the server request information receiving unit 120, the server response information generation step performed by the server response information generation unit 130, and the server response information sending step performed by the server response information sending unit 140. Additionally, for example, the PLC 100 performs the software receiving step performed by the software receiving unit 150 and the installation execution step performed by the installation execution unit 160.

[0050] (Regarding the hardware structure of the development computer 200 involved in Implementation Method 1)

[0051] In addition, such as Figure 3 As shown, the development computer 200, like the PLC 100, has a control unit 51, a main storage unit 52, an external storage unit 53, an operation unit 54, a display unit 55, and a transceiver unit 56. The control unit 51 operates according to the control program 59. Figure 2 The server response information generation unit 230 and the installation execution unit 260 shown in the diagram function as the server response information generation unit 230 and the external storage unit 53, respectively. The external storage unit 53 functions as the development computer-associated information storage unit 210. Furthermore, the transceiver unit 56 functions as the server request information receiving unit 220, the server response information sending unit 240, and the software receiving unit 250.

[0052] Return to Figure 3 The development computer 200 uses the main storage unit 52, external storage unit 53, operation unit 54, display unit 55, and transceiver unit 56 as resources through the control unit 51, thereby achieving... Figure 2 The functions of the aforementioned units 210 to 260 are as follows. For example, the development computer 200 performs the development computer-related information storage step performed by the development computer-related information storage unit 210, the server request information receiving step performed by the server request information receiving unit 220, the server response information generation step performed by the server response information generation unit 230, and the server response information sending step performed by the server response information sending unit 240. Additionally, for example, the development computer 200 performs the software receiving step performed by the software receiving unit 250 and the installation execution step performed by the installation execution unit 260.

[0053] (Regarding the hardware structure of the management server 300 involved in Implementation Method 1)

[0054] In addition, such as Figure 3 As shown, the management server 300, like the PLC 100 and the development computer 200, has a control unit 51, a main storage unit 52, an external storage unit 53, an operation unit 54, a display unit 55, and a transceiver unit 56. The control unit 51 operates according to the control program 59. Figure 2 The installation request information receiving unit 305, installation determination unit 306, combination identification unit 309, illegal device determination unit 310, version consistency determination unit 312, debugging object identification unit 313, and debugging information generation unit 314 shown in the diagram function as follows: External storage unit 53 functions as software storage unit 301 and associated information storage unit 304, and display unit 55 functions as illegal device notification unit 311. Furthermore, transceiver unit 56 functions as server request information sending unit 302, server response information receiving unit 303, software sending unit 307, and ininstallability notification unit 308.

[0055] Return to Figure 3 The management server 300 uses the main storage unit 52, external storage unit 53, operation unit 54, display unit 55, and transceiver unit 56 as resources through the control unit 51, thereby achieving... Figure 2 The functions of the aforementioned parts 301 to 314 are as follows. For example, the management server 300 performs the software storage step performed by the software storage unit 301, the server request information sending step performed by the server request information sending unit 302, and the server response information receiving step performed by the server response information receiving unit 303. Additionally, for example, the management server 300 performs the association information storage step performed by the association information storage unit 304, the installation request information receiving step performed by the installation request information receiving unit 305, and the installation determination step performed by the installation determination unit 306.

[0056] Additionally, for example, the management server 300 performs a software delivery step by the software delivery unit 307 and an inability-to-install notification step by the inability-to-install notification unit 308. Additionally, for example, the management server 300 performs a combination identification step by the combination identification unit 309, an illegal device determination step by the illegal device determination unit 310, and an illegal device notification step by the illegal device notification unit 311. Additionally, for example, the management server 300 performs a version consistency determination step by the version consistency determination unit 312, a debug object identification step by the debug object identification unit 313, and a debug information generation step by the debug information generation unit 314.

[0057] (Details regarding the functional structure of PLC 100 in Implementation Method 1)

[0058] The PLC association information storage unit 110 stores PLC association information, which includes hardware association information (associated with the hardware constituting the PLC 100), software association information (associated with the software installed in the PLC 100), and individual identification information (associated with individual identification of the PLC 100). For example, the PLC association information storage unit 110 of the first PLC 101 stores PLC association information including the hardware association information, software association information, and individual identification information of the first PLC 101.

[0059] Here, the hardware association information of the PLC includes hardware structure information and hardware version information. The hardware structure information represents the hardware structure of the PLC 100, such as its CPU, RAM, flash memory, HDD, SSD, communication network terminal device, and wireless communication device. The hardware version information represents the version of these hardware components of the PLC 100. Similarly, the software association information of the PLC includes software structure information and software version information. The software structure information represents the software structure of the PLC 100, and the software version information represents the version of the PLC 100's software. Furthermore, the individual identification information of the PLC includes both hardware individual identification information and software individual identification information. The hardware individual identification information is used to identify the hardware of the PLC 100, and the software individual identification information is used to identify the software of the PLC 100.

[0060] For example, the PLC association information of the first PLC 101 can be... Figure 4 The information is displayed in tabular form. For example, the hardware association information of the first PLC 101 includes the hardware structure information A1 and hardware version information A1 of the first PLC 101. Similarly, the software association information of the first PLC 101 includes the software structure information A1 and software version information A1 of the first PLC 101. Furthermore, the individual identification information of the first PLC 101 includes the hardware individual identification information A1 and software individual identification information A1 of the first PLC 101. Additionally, as... Figure 4 As shown, for example, the PLC association information of the first PLC 101 includes arbitrary information A1, which is any information additionally input by the user.

[0061] Return to Figure 2 The server request information receiving unit 120 receives, for example, a server request information indicating a request to send PLC association information stored by PLC 100.

[0062] The server response information generation unit 130 generates server response information based on the PLC association information stored in the PLC association 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 send PLC association information, the server response information generation unit 130 generates server response information by setting the PLC association information stored in the PLC association information storage unit 110 as the server response information.

[0063] The server response information sending unit 140, for example, sends PLC association information generated by the server response information generation unit 130 as server response information.

[0064] Therefore, for example, in the first PLC 101, when a server request message indicating a request to send PLC association information is received, server response information is generated by setting the PLC association information of the first PLC 101 as server response information, and the PLC association information of the first PLC 101 is sent as server response information.

[0065] The software receiving unit 150 receives the functional software and installation instruction information (described later) sent by the management server 300. The installation execution unit 160 installs the functional software received by the software receiving unit 150 based on the installation instruction information. Furthermore, after installing the functional software, the installation execution unit 160 updates information such as software association information and software individual identification information stored in the PLC association information storage unit 110 based on information obtained from the installed functional software.

[0066] (Details regarding the functional structure of the development computer 200 involved in Implementation Method 1)

[0067] The development computer-related information storage unit 210 stores development computer-related information, which includes hardware-related information (associated with the hardware constituting the development computer 200), software-related information (associated with the software installed on the development computer 200), and individual identification information (associated with the individual identification of the development computer 200). For example, the development computer-related information storage unit 210 of the first development computer 201 stores development computer-related information, which includes hardware-related information, software-related information, and individual identification information of the first development computer 201.

[0068] Here, the hardware association information of the development computer 200 is similar to that of the PLC association information, including hardware structure information and hardware version information. The hardware structure information indicates the hardware structure of the development computer 200, and the hardware version information indicates the version of the hardware of the development computer 200. Similarly, the software association information of the development computer 200 is also similar to that of the PLC association information, including software structure information and software version information. The software structure information indicates the software structure of the development computer 200, and the software version information indicates the version of the software of the development computer 200. Furthermore, the individual identification information of the development computer 200 is also similar to that of the PLC association information, including both hardware individual identification information and software individual identification information. The hardware individual identification information is information that enables individual identification of the hardware of the development computer 200, and the software individual identification information is information that enables individual identification of the software of the development computer 200.

[0069] For example, the development computer associated information of the first development computer 201 can be... Figure 5 The information is displayed in the form of a table. For example, the hardware association information of the first development computer 201 includes hardware structure information B1 and hardware version information B1. Similarly, the software association information of the first development computer 201 includes software structure information B1 and software version information B1. Furthermore, the individual identification information of the first development computer 201 includes hardware individual identification information B1 and software individual identification information B1. Additionally, as shown... Figure 5 As shown, for example, the development computer associated information of the first development computer 201 includes arbitrary information B1, which is arbitrary information additionally input by the user.

[0070] Return to Figure 2 The server request information receiving unit 220 receives, for example, a server request information indicating a request to send development computer-related information stored by the development computer 200.

[0071] The server response information generation unit 230 generates server response information based on the development computer association information stored in the development computer association 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 to send development computer association information, the server response information generation unit 230 generates server response information by setting the development computer association information stored in the development computer association information storage unit 210 as the server response information.

[0072] The server response information sending unit 240, for example, sends computer-related information generated by the server response information generation unit 230 as server response information.

[0073] Therefore, for example, in the first development computer 201, when a server request message indicating a request to send development computer association information is received, server response information is generated by setting the development computer association information of the first development computer 201 as server response information, and the development computer association information of the first development computer 201 is sent as server response information.

[0074] The software receiving unit 250 receives the development software and installation instructions (described later) sent by the management server 300. The installation execution unit 260 installs the development software received by the software receiving unit 250 based on the installation instructions. Furthermore, after installing the development software, the installation execution unit 260 updates information such as software association information and software individual identification information stored in the development computer association information storage unit 210 based on information obtained from the installed development software.

[0075] (Details regarding the functional structure of the management server 300 involved in Implementation Method 1)

[0076] The software storage unit 301 stores all versions of the functional software and all versions of the development software. In this embodiment, the functional software stored by the software storage unit 301 refers to software called add-ons or add-ins that can be added to the PLC 100 to implement special functions. The development software stored by the software storage unit 301 is software added to the installed development software to generate programs that utilize the special functions of the PLC 100's add-ons and add-ins. In other words, the software storage unit 301 stores add-ons and add-ins for the PLC 100 for each version, as well as the corresponding additions to the development software.

[0077] The server request information sending unit 302 sends server request information to PLC 100 and development computer 200. For example, the server request information sending unit 302 sends server request information indicating a request to send PLC association information stored in PLC 100 to PLC 100, and server request information indicating a request to send development computer association information stored in development computer 200 to development computer 200. For example, the server request information sending unit 302 sends server request information indicating a request to send PLC association information stored in first PLC 101 to first PLC 101, and server request information indicating a request to send development computer association information stored in first development computer 201 to first development computer 201.

[0078] The server response information receiving unit 303 receives, for example, PLC association information stored in PLC 100 as server response information from PLC 100, and development computer association information stored in development computer 200 as server request information from development computer 200. For example, the server response information receiving unit 303 receives PLC association information stored in first PLC 101 as server response information from first PLC 101, and development computer association information stored in first development computer 201 as server response information from first development computer 201.

[0079] The association information storage unit 304 stores, for example, PLC association information and development computer association information received by the server response information receiving unit 303 as server response information. For example, the association information storage unit 304 stores the association information of each PLC of the first PLC 101, the second PLC 102, ..., the ninth PLC 109, and the association information of each development computer of the first development computer 201, the second development computer 202, ..., the ninth development computer 209.

[0080] Furthermore, the installation determination unit 306, described later, uses PLC association information and development computer association information when determining whether installation is possible. Therefore, the association 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, for example, needs to send a server request message indicating a request to send PLC association information to the PLC 100 and a server request message indicating a request to send development computer association information to the development computer 200, at least before the installation determination unit 306 makes its determination.

[0081] The installation request information receiving unit 305 receives installation request information from the user. This installation request information indicates an installation request for both the installation of functional software in the PLC 100 and the installation of development software in the development computer 200.

[0082] Here, for example, consider a case where the user's terminal (not shown) accesses the management server 300, which acts as a web server, via a communication network. In this case, the installation request information receiving unit 305 sends information about an installation request receiving screen (an example of a user interface) displayed on the user terminal, i.e., screen display information, to the transceiver unit 56, so that... Figure 6A The installation request receiving screen shown is displayed on the user terminal. Furthermore, the information displayed on the screen includes, for example, information that constitutes the elements of the installation request receiving screen as a website; specifically, information contained in various files such as HTML (Hyper Text Markup Language) files and image files.

[0083] In addition, such as Figure 6A As shown, the installation request receiving screen includes, for example, a first display bar, which displays options for "C Language Function Pack", "Install the following content", and "...". "C language functions of PLC" The system displays information such as "Development environment uses C language extended functions" and an installation button.

[0084] When a user selects any "Install" button image displayed in any of the display bars using a user terminal, the installation request information receiving unit 305 receives the request information. Figure 6B The selection bar for the installation object is displayed on the installation request receiving screen. Additionally, as shown... Figure 6B As shown, the installation object selection bar displays, for example, the character information "C Language Function Pack", "Please select the PLC and development environment to be installed", and check boxes for selecting "PLC1", "PLC2", ..., "PLC9", "Development Environment 1", "Development Environment 2", ..., "Development Environment 9" corresponding to PLC 100 and development computer 200, as well as a confirmation button.

[0085] When a user selects the PLC 100 and development computer 200 to be installed via a user terminal, the installation request information receiving unit 305 receives installation request information for the selected PLC 100 and development computer 200's function software and development software. For example, if the user terminal selects "C Language Function Pack," "PLC1," and "Development Environment 1," the installation request information receiving unit 305 receives installation request information indicating that function software and development software related to the "C Language Function Pack" will be installed on the first PLC 101 and the first development computer 201.

[0086] When the installation request information is received by the installation request information receiving unit 305, the installation determination unit 306 determines whether the installation of the functional software in the PLC 100 and the installation of the development software in the development computer 200 can be performed based on the PLC association information and the development computer association information.

[0087] Here, for example, consider a scenario where the installation request information receiving unit 305 receives an installation request indicating that the first PLC 101 and the first development computer 201 need to install function software and development software related to the "C language function pack". In this case, the installation determination unit 306 obtains the PLC association information of the first PLC 101 and the development computer association information of the first development computer 201 stored in the association information storage unit 304. Furthermore, the installation determination unit 306 uses this information to determine information such as the individual identification information, current structure, and version 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.

[0088] Specifically, the installation determination unit 306 determines, based on the individual identification information of the hardware and software of the first PLC 101, whether the first PLC 101 itself is not an illegal device and whether it can install functional software related to the "C language function pack". Furthermore, the installation determination unit 306 determines whether the hardware structure and version of the first PLC 101 are suitable for installing functional software related to the "C language function pack". Additionally, the installation determination unit 306 determines whether the current software structure and version of the first PLC 101 are suitable for installing functional software related to the "C language function pack". Furthermore, the installation determination unit 306 determines whether the hardware structure and version of the first development computer 201 are suitable for installing development software related to the "C language function pack". Additionally, the installation determination unit 306 determines, based on the individual identification information of the hardware and software of the first development computer 201, whether the first development computer 201 itself is not an illegal device and whether it can install development software related to the "C language function pack". In addition, the installation determination unit 306 determines whether the current software structure and version of the first development computer 201 can be used to install development software related to the "C language function pack". Furthermore, based on these determination results, the installation determination unit 306 determines whether the function software and development software related to the "C language function pack" can be installed on the first PLC 101 and the first development computer 201.

[0089] When the installation determination unit 306 determines that both the installation of the function software in the PLC 100 and the installation of the development software in the development computer 200 can be performed, the software delivery unit 307 sends the software to both the PLC 100 and the development computer 200. The software delivery unit 307 sends the function software and installation instruction information (i.e., installation instruction information) to the PLC 100, and sends the development software and installation instruction information (i.e., installation instruction information) to the development computer 200. For example, consider the case where it is determined that the first PLC 101 and the first development computer 201 can install the function software and development software related to the "C language function pack". In this case, the software delivery unit 307 sends the function software and installation instruction information to the first PLC 101, and sends the development software and installation instruction information to the first development computer 201.

[0090] If the installation determination unit 306 determines that the installation of both the functional software in the PLC 100 and the development software in the development computer 200 cannot be performed, the installation failure notification unit 308 will send an installation failure message to the user terminal indicating that installation is impossible. Therefore, for example, as... Figure 6CAs shown, the user terminal can display the characters "C Language Function Pack" and "Unable to Install" along with a return button on the installation request receiving screen.

[0091] The combination identification unit 309 identifies the combination of PLC 100 and the development computer 200, which serves as the development environment, based on the PLC association information and development computer association information stored in the association information storage unit 304. For example, the combination identification unit 309 obtains the PLC association information for the first PLC 101, the second PLC 102, ..., the ninth PLC 109, and the development computer association information for the first development computer 201, the second development computer 202, ..., the ninth development computer 209, stored in the association information storage unit 304. In addition, the combination identification unit 309 uses this information to determine information such as the current structure and version of the hardware and software, for example, identifying the situation where the first development computer 201 corresponds to the development environment of the first PLC 101, the second development computer 202 corresponds to the development environment of the second PLC 102, ..., the ninth development computer 209 corresponds to the development environment of the ninth PLC 109.

[0092] Furthermore, regarding the combinations identified by the combination identification unit 309, the PLC 100 and the development computer 200 may not be a one-to-one combination. For example, when n is set to any integer greater than or equal to 1, and m is set to any integer greater than or equal to 1 that is different from n, the PLC 100 and the development computer 200 may be an n-to-n or n-to-m combination. Therefore, for example, the combination identification unit 309 can identify the situation where the first development computer 201 and the second development computer 202 correspond to the development environment of the first PLC 101, and it can also identify the situation where the first development computer 201 corresponds to the development environment of the first PLC 101 and the second PLC 102. In addition, for example, the combination identification unit 309 can also identify the situation where the first development computer 201, the second development computer 202, and the third development computer 203 correspond to the development environment of the first PLC 101 and the second PLC 102.

[0093] Furthermore, the installation determination unit 306 can also determine whether the installation of the functional software in the PLC 100 and the development software in the development computer 200 can be performed based on the combination of the PLC 100 and the development computer 200 identified by the combination identification unit 309. For example, if the PLC 100 and the development computer 200 shown in the installation request information are the first PLC 101 and the first development computer 201, and the combination identification unit 309 does not identify the first development computer 201 as corresponding to the development environment of the first PLC 101, then it can also determine that installation is not possible.

[0094] When the installation request information receiving unit 305 receives installation request information, the illegal device determination unit 310 determines whether there is an illegal device among the managed PLC 100 and development computer 200 based on the combination identified by the combination identification unit 309. For example, if the illegal device determination unit 310 connects a computer device different from the first development computer 201, the second development computer 202, ..., the ninth development computer 209 to the management server 300 via a communication network as a development computer, it determines that the computer device is an illegal device based on the combination identified by the combination identification unit 309.

[0095] When the illegal device determination unit 310 determines that a device is illegal, the illegal device notification unit 311 notifies the administrator of the existence of an illegal device. For example, the illegal device notification unit 311 notifies the administrator of the existence of an illegal device by displaying information indicating that an illegal device has been detected on the display unit 55, or by sending it from the transceiver unit 56 to the administrator's terminal (not shown) used by the administrator on the management server 300.

[0096] When the installation request information receiving unit 305 receives installation request information, the version compatibility determination unit 312 determines whether the version of the function software installed on the PLC 100 is consistent with the version of the development software installed on the development computer 200, based on the PLC association information and development computer association information stored in the association information storage unit 304. For example, the version compatibility determination unit 312 obtains the PLC association information of the first PLC 101 and the development computer association information of the first development computer 201 stored in the association information storage unit 304. Furthermore, the version compatibility determination unit 312 uses this information to determine whether the version of the function software installed on the first PLC 101 is consistent with the version of the development software installed on the development computer 200.

[0097] Furthermore, the installation determination unit 306 can also determine whether the installation of the function software in the PLC 100 and the installation of the development software in the development computer 200 can be performed based on the determination result of the version compatibility determination unit 312. For example, consider the case where the PLC 100 and development computer 200 shown in the installation request information are the first PLC 101 and the first development computer 201. In this case, if the version compatibility determination unit 312 determines that the version of the function software installed on the first PLC 101 is inconsistent with the version of the development software installed on the development computer 200, then the installation determination unit 306 determines that installation is not possible.

[0098] The debugging target identification unit 313 identifies, based on the PLC association information and development computer association information stored in the association information storage unit 304, the PLC 100 capable of executing the program generated in the development computer 200 for debugging from the first PLC 101, the second PLC 102, ..., the ninth PLC 109. For example, the debugging target identification unit 313 obtains the PLC association information of the first PLC 101, the second PLC 102, ..., the ninth PLC 109 and the development computer association information of the first development computer 201, the second development computer 202, ..., the ninth development computer 209 stored in the association information storage unit 304. In addition, the debugging target identification unit 313 uses this information to determine information such as the current structure and version of the hardware and software, for example, identifying that the first PLC 101 and the second PLC 102 are the debugging PLCs capable of executing the program generated in the first development computer 201.

[0099] Based on the identification result of the debugging object identification unit 313, the debugging information generation unit 314 generates debugging information, i.e., debugging information, required for debugging the program generated in the development computer 200. For example, consider the case where the debugging object identification unit 313 identifies the first PLC 101 and the second PLC 102 as PLCs capable of executing the debugging of the program generated in the first development computer 201. In this case, the debugging information generation unit 314 generates information indicating that the first PLC 101 and the second PLC 102 can execute the debugging of the generated program, as the debugging information for the first development computer 201. In addition, the debugging information generation unit 314 generates information indicating that it itself can execute the debugging of the program generated in the first development computer 201, as the debugging information for the first PLC 101 and the second PLC 102.

[0100] Furthermore, the debugging information generation unit 314 stores the generated debugging information of the PLC 100 and the development computer 200 as PLC association information and development computer association information in the association information storage unit 304. Therefore, as Figure 4 As shown, for example, the PLC association information of the first PLC 101 stored in the association information storage unit 304 includes debugging information A1. Additionally, as... Figure 5 As shown, for example, the development computer association information of the first development computer 201 stored by the association information storage unit 304 includes debugging information B1.

[0101] (Regarding the software delivery process involved in Implementation Method 1)

[0102] Next, a flowchart is used to describe the actions of the management server 300 in receiving an installation request. If a user terminal accesses the management server (which acts as a web server) and displays an installation request receiving screen, the management server 300 begins execution. Figure 7 The software sending process is shown.

[0103] First, the installation request information receiving unit 305 determines whether it has received an installation request information from the user terminal (step S101). For example, the installation request information receiving unit 305 receives the installation request information based on the user's input of the buttons on the user terminal's installation request receiving screen. This installation request information indicates that the first PLC 101 and the first development computer 201 are to install functional software and development software related to the "C language function pack". If no installation request information is received (step S101; N), the installation request information receiving unit 305 repeats the process of step S101 until the installation request information is received.

[0104] On the other hand, upon receiving an installation request (step S101; Y), the installation determination unit 306 determines whether the installation of the functional software in the PLC 100 and the development software in the development computer 200 can be performed based on the PLC association information and development computer association information stored in the association information storage unit 304 (step S102). For example, firstly, the installation determination unit 306 obtains the PLC association information of the first PLC 101 and the development computer association information of the first development computer 201 stored in the association information storage unit 304. Then, the installation determination unit 306 uses this information to determine information such as the current structure and version of the hardware and software, and determines whether the functional software and development software related to the "C language function pack" can be installed.

[0105] If installation is successful (step S102; Y), the software sending unit 307 sends the functional software and installation instruction information to the PLC 100, and the development software and installation instruction information to the development computer 200 (step S103), and the process ends. For example, the software sending unit 307 sends the functional software and installation instruction information related to the "C language function pack" to the first PLC 101, and the development software and installation instruction information related to the "C language function pack" to the first development computer 201, and the process ends. On the other hand, if installation is unsuccessful (step S102; N), the installation failure notification unit 308 sends the installation failure information to the user terminal (step S104), and the process ends.

[0106] (Regarding the installation execution process involved in Implementation Method 1)

[0107] Next, a flowchart will be used to explain the installation steps of the PLC 100 execution function software. If the power is turned on, the PLC 100 will begin execution. Figure 8 The installation process is shown below.

[0108] First, the PLC 100 determines whether the software receiving unit 150 has received the functional software and installation instruction information from the management server 300 (step S201). If the functional software and installation instruction information are not received (step S201; N), the PLC 100 repeats step S201 until the functional software and installation instruction information are received. On the other hand, if the functional software and installation instruction information are received (step S201; Y), the installation execution unit 160 performs the installation of the received functional software based on the installation instruction information (step S202). After the functional software is installed, the installation execution unit 160 updates the software association information and software individual identification information stored in the PLC association information storage unit 110 based on the information obtained from the installed functional software (step S203), and the process ends.

[0109] Furthermore, regarding the installation of development software by the development computer 200, the same explanation applies if we set "PLC 100" to "development computer 200," "functional software" to "development software," "160" to "260," "PLC associated information storage unit 110" to "development computer associated information storage unit 210," and "PLC associated information" to "development computer associated information." Therefore, to reduce unnecessary explanations, illustrations and detailed descriptions have been omitted regarding the installation and execution process of the development computer 200.

[0110] (Regarding the notification and handling of illegal devices involved in Implementation Method 1)

[0111] Next, the actions taken by the management server 300 to identify and notify unauthorized devices will be explained. If power is on, the management server 300 will begin executing these actions. Figure 9 The illegal device notification process is as follows: First, the combination identification unit 309 identifies the combination of PLC 100 and development computer 200, which serves as the development environment, based on the PLC association information and development computer association information stored in the association information storage unit 304 (step S301). For example, first, the combination identification unit 309 obtains all PLC association information and all development computer association information stored in the association information storage unit 304. Then, the combination identification unit 309 uses this information to determine information such as the current structure and version of the hardware and software, for example, identifying that the first development computer 201 corresponds to the development environment of the first PLC 101.

[0112] After combination identification, the illegal device determination unit 310 determines whether the installation request information receiving unit 305 has received installation request information (step S302). If no installation request information is received (step S302; N), the illegal device determination unit 310 repeats the process of step S302 until installation request information is received. On the other hand, if installation request information is received (step S302; Y), the illegal device determination unit 310 determines whether there is an illegal device among the managed PLC 100 and development computer 200 based on the combination identified by the combination identification unit 309 (step S303). For example, if the illegal device determination unit 310 connects a computer device different from the development computer 200 to the management server 300 as a development computer, it determines that the computer device is an illegal device based on the above combination.

[0113] If an illegal device is detected (step S303; Y), the illegal device notification unit 311 informs the administrator of this situation (step S304) and the process ends. For example, the illegal device notification unit 311 informs the administrator of the existence of an illegal device by displaying information indicating that an illegal device has been detected on the display unit 55, or by sending it from the transceiver unit 56 to the administrator's terminal. On the other hand, if no illegal device is detected (step S303; N), the management server 300 does not inform the administrator of the existence of an illegal device and the process ends.

[0114] Furthermore, the actions of PLC 100 and development computer 200 in generating and sending server response information are simply that PLC 100 and development computer 200 generate and send server response information based on server request information received from management server 300. Additionally, the action of management server 300 in determining software version consistency is simply that, upon receiving installation request information, management server 300 determines whether the version of the functional software installed on PLC 100 is consistent with the version of the development software installed on development computer 200 based on stored PLC association information and development computer association information. Furthermore, the action of management server 300 in generating and storing debugging information is simply that, based on stored PLC association information and development computer association information, it identifies the PLC 100 capable of executing the debugging program generated on development computer 200, and generates and stores debugging information accordingly.

[0115] Therefore, to reduce unnecessary explanations, illustrations and detailed descriptions have been omitted regarding these actions.

[0116] As described above, in the development environment construction support system 1 according to 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 programs 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 for both the installation of the function software in the PLC 100 and the installation of the development software in the development computer 200.

[0117] Furthermore, when the installation request information is received by the installation request information receiving unit 305, the installation determination unit 306 of the management server 300 determines whether the installation of the functional software in the PLC 100 and the installation of the development software in the development computer 200 can be performed based on the PLC association information and the development computer association information. Moreover, if the installation determination unit 306 determines that the installation of both the functional software in the PLC 100 and the development software in the development computer 200 can be performed, the software sending unit 307 of the management server 300 sends the functional software to the PLC 100 and the development software to the development computer 200.

[0118] In addition, in PLC 100, software receiving unit 150 receives functional software, and installation execution unit 160 performs the installation of functional software. Furthermore, in development computer 200, software receiving unit 250 receives development software, and installation execution unit 260 performs the installation of development software.

[0119] Therefore, the development environment construction assistance system 1 according to this embodiment can determine whether software installation can be performed on both the PLC 100 and the development computer 200 based on PLC association information and development computer association information. Furthermore, if software installation can be performed on both the PLC 100 and the development computer 200, the development environment construction assistance system 1 according to this embodiment can send the functional software to the PLC 100 for installation, and can send the corresponding development software to the development computer 200 for installation. As a result, the development environment construction assistance system 1 according to this embodiment can automatically install software on both the PLC 100 and the development computer 200, thus reducing the time required for development environment construction compared to development environment construction assistance systems that require manual installation on the PLC and development computer.

[0120] Specifically, in the development environment construction assistance system 1 according to this embodiment, the PLC association information includes hardware association information, software association information, and individual identification information of the PLC 100. Similarly, the development computer association information also includes hardware association information, software association information, and individual identification information of the development computer 200. Therefore, in the development environment construction assistance system 1 according to this embodiment, the management server 300 can determine whether the installation of functional software in the PLC 100 and the installation of development software in the development computer 200 can be performed based on the PLC association information and the development computer association information. The PLC association information includes hardware association information, software association information, and individual identification information of the PLC 100, and the development computer association information includes hardware association information, software association information, and individual identification information of the development computer 200.

[0121] Therefore, the development environment construction assistance system 1 according to this embodiment can prevent installation from unauthorized PLC or development computer connections and determine whether new software that can be installed exists. As a result, the development environment construction assistance system 1 according to this embodiment can reduce situations where the number of required functional software and development software licenses is insufficient, or where an unnecessary number of functional software and development software licenses are purchased.

[0122] Furthermore, according to the development environment construction assistance system 1 of this embodiment, the association information storage unit 304 of the management server 300 stores PLC association information and development computer association information. Regarding the PLC association information, the hardware association information includes hardware structure information and hardware version information of the PLC 100, the software association information includes software structure information and software version information of the PLC 100, and the individual identification information includes hardware individual identification information and software individual identification information of the PLC 100. Similarly, the development computer association information also includes hardware structure information and hardware version information of the development computer 200, software structure information and software version information of the development computer 200, and hardware individual identification information and software individual identification information of the development computer 200, just like the PLC association information.

[0123] Therefore, compared to development environment construction assistance systems that determine whether software installation can be performed on both the PLC and the development computer based on PLC association information and development computer association information that do not include the aforementioned information, the development environment construction assistance system 1 of this embodiment can determine whether installation can be performed with high accuracy. Furthermore, compared to development environment construction assistance systems that determine whether software installation can be performed on both the PLC and the development computer based on PLC association information and development computer association information that do not include the aforementioned information, the development environment construction assistance system 1 of this embodiment can more easily identify whether the PLC 100 or the development computer 200 is an illegal device, and thus can more easily determine whether new software that can be installed on both the PLC 100 and the development computer 200 exists.

[0124] Furthermore, according to the development environment construction assistance system 1 of this embodiment, the combination identification unit 309 of the management server 300 identifies the combination of PLC 100 and development computer 200, which is the development environment, based on the PLC association information and development computer association information stored in the association information storage unit 304. Additionally, the illegal device determination unit 310 of the management server 300 determines whether an illegal device exists among the managed PLC 100 and development computer 200 based on the combination identified by the combination identification unit 309. Moreover, the illegal device notification unit 311 of the management server 300 notifies the existence of an illegal device if the illegal device determination unit 310 determines that an illegal device exists.

[0125] Therefore, if an illegal device exists in either the managed PLC 100 or the development computer 200, the development environment construction assistance system 1 according to this embodiment can inform the system of this situation. Furthermore, compared to development environment construction assistance systems that do not determine the presence of illegal devices after identifying the combination of the PLC and the development computer, the development environment construction assistance system 1 according to this embodiment can determine the presence of illegal devices with high accuracy. As a result, the development environment construction assistance system 1 according to this embodiment can build a secure system in which no illegal devices are connected to either the PLC 100 or the development computer 200.

[0126] Furthermore, according to the development environment construction assistance system 1 involved in this embodiment, the combination identified by the combination identification unit 309 can be an n-to-n or n-to-m combination of PLC 100 and development computer 200.

[0127] Therefore, in the development environment construction assistance system 1 according to this embodiment, the management server 300 can manage the number of licenses for functional software and corresponding development software based on the identified n-to-n and n-to-m combinations of PLC 100 and development computer 200. As a result, compared with development environment construction assistance systems that do not determine the existence of illegal devices based on the identified n-to-n and n-to-m combinations of PLC and development computer, the management of software licenses in the development environment construction assistance system 1 according to this embodiment becomes easier. In addition, compared with development environment construction assistance systems that do not determine the existence of illegal devices based on the identified n-to-n and n-to-m combinations of PLC and development computer, the development environment construction assistance system 1 according to this embodiment can determine the existence of illegal devices with high accuracy.

[0128] Furthermore, according to the development environment building assistance system 1 involved in this embodiment, the illegal device determination unit 310 of the management server 300 determines whether there is an illegal device when the installation request information receiving unit 305 receives the installation request information.

[0129] Therefore, the development environment construction assistance system 1 according to this embodiment can determine whether there is an illegal device each time it receives an installation request information from the user. As a result, the development environment construction assistance system 1 according to this embodiment does not require the management server 300 to constantly send and receive information with the PLC 100 and the development computer 200 in order to determine whether there is an illegal device, and can build a usable system.

[0130] Furthermore, according to the development environment construction assistance system 1 involved in this embodiment, the version consistency determination unit 312 of the management server 300 determines whether the version of the functional software installed on the PLC 100 is consistent with the version of the development software installed on the development computer 200 based on the PLC association information and development computer association information stored by the association information storage unit 304.

[0131] Therefore, the development environment construction assistance system 1 according to this embodiment can prevent inconsistencies in the software versions of the PLC 100 and the development computer 200. Thus, for example, in cases where the PLC 100 and the development computer 200 cannot install a new version of the functional software and development software that is the object of the installation request due to software version inconsistencies, the management server 300 can more easily determine whether installation is possible compared to a management server that does not check for version inconsistencies. As a result, the development environment construction assistance system 1 according to this embodiment can more easily determine whether new software exists that can be installed on both the PLC 100 and the development computer 200.

[0132] Furthermore, according to the development environment construction assistance system 1 involved in this embodiment, when the installation request information is received by the installation request information receiving unit 305, the version consistency determination unit 312 of the management server 300 determines whether the version of the functional software installed on the PLC 100 is consistent with the version of the development software installed on the development computer 200.

[0133] Therefore, the development environment construction assistance system 1 according to this embodiment can determine whether the version is consistent each time it receives installation request information from the user. As a result, the development environment construction assistance system 1 according to this embodiment does not require the management server 300 to constantly send and receive information with the PLC 100 and the development computer 200 in order to determine whether the version is consistent, and can build a usable system.

[0134] Furthermore, according to the development environment construction assistance system 1 of this embodiment, the debugging object identification unit 313 of the management server 300 identifies the PLC 100 capable of executing the debugging program generated in the development computer 200 from the first PLC 101, the second PLC 102, ..., the ninth PLC 109 based on the PLC association information and the development computer association information stored in the association information storage unit 304. Moreover, the debugging information generation unit 314 of the management server 300 generates debugging information based on the identification result of the debugging object identification unit 313 and stores it in the association information storage unit 304.

[0135] Thus, for example, when the user of the first development computer 201 generates and debugs a program to control the first PLC 101, they can identify the PLC 100 that can execute the program generated by the management server 300 and debug it.

[0136] Furthermore, in the development environment construction support system 1 according to this embodiment, the functional software is software such as plug-ins or add-ins that enable additional implementation of certain special functions in the PLC 100. Additionally, the development software is, for example, software added to the already installed development software to generate programs that additionally implement the special functions of plug-ins and add-ins using the PLC 100.

[0137] Therefore, the development environment construction assistance system 1 according to this embodiment can assist in the construction of a development environment that uses a program with some special functions added to the PLC 100 by installing function software and development software on the PLC 100 and the development computer 200.

[0138] Furthermore, according to the development environment construction assistance system 1 of this embodiment, the server request information sending unit 302 of the management server 300 sends 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 generation unit 130 generates server response information based on the PLC association information stored in the PLC association information storage unit 110 and the received server request information, and the server response information sending unit 140 sends the server response information. Similarly, in the development computer 200, the server request information receiving unit 220 receives the server request information, the server response information generation unit 230 generates server response information based on the development computer association information stored in the development computer association information storage unit 210 and the received server request information, and the server response information sending unit 240 sends the server response information. Moreover, the server response information receiving unit 303 of the management server 300 receives server response information from the PLC 100 and the development computer 200.

[0139] Therefore, in the development environment construction assistance system 1 according to this embodiment, when the management server 300 makes a request to the PLC 100 and the development computer 200, it can receive the server response information simply by sending the server request information. As a result, in the development environment construction assistance system 1 according to this embodiment, it is not necessary for the management server 300 to constantly send and receive information with the PLC 100 and the development computer 200 to build a usable system.

[0140] Furthermore, according to the development environment construction assistance system 1 of this embodiment, the server request information sending unit 302 of the management server 300 sends server request information indicating a request to send PLC association information stored in the PLC 100 to the PLC 100, and also sends server request information indicating a request to send development computer association information stored in the development computer 200 to the development computer 200. Additionally, the server response information sending unit 140 of the PLC 100 sends PLC association information generated by the server response information generation unit 130 as server response information. Furthermore, the server response information sending unit 240 of the development computer 200 sends development computer association information generated by the server response information generation unit 230 as server response information. Moreover, the server response information receiving unit 303 of the management server 300 receives the PLC association information and the development computer association information as server response information, and the association information storage unit 304 stores the received information.

[0141] Therefore, the management server 300 can obtain and store the latest information when requesting the PLC 100 and the development computer 200 to send PLC association information and development computer association information. As a result, the development environment construction assistance system 1 according to this embodiment can prevent a state of inconsistency between the PLC association information and development computer association information stored by the management server 300 and the PLC association information and development computer association information stored by the PLC 100 and the development computer 200 at any timing requested by the management server 300.

[0142] [Implementation Method 2]

[0143] In Implementation 1, the PLC 100 and the development computer 200 send this information when the management server 300 requests the transmission of PLC association information and development computer association information. However, this information can also be sent even without a request from the management server 300. Hereinafter, refer to... Figures 10-12 The development environment building support system 1 involved in Embodiment 2 will be described in detail. Furthermore, in Embodiment 2, structures different from those in Embodiment 1 will be described, while descriptions of structures identical to those in Embodiment 1 will be omitted due to redundancy.

[0144] like Figure 10As shown, in the development environment construction assistance system 1 according to this embodiment, the PLC 100 further includes a PLC association information sending unit 170 for sending PLC association information, and the development computer 200 further includes a development computer association information sending unit 270 for sending development computer association information. Additionally, the management server 300 further includes an association information receiving unit 315 for receiving PLC association information and development computer association information.

[0145] Return to Figure 3 The transceiver unit 56 of PLC 100, development computer 200 and management server 300 serves as... Figure 10 The PLC-related information sending unit 170, the development computer-related information sending unit 270, and the related information receiving unit 315 shown are in operation.

[0146] Return to Figure 3 The PLC 100, development computer 200, and management server 300 utilize the main storage unit 52, external storage unit 53, operation unit 54, display unit 55, and transceiver unit 56 as resources through the control unit 51, thereby achieving... Figure 10 The functions of the aforementioned units 170, 270, and 315 are as follows. For example, PLC 100 performs the PLC association information transmission step performed by PLC association information transmission unit 170, and development computer 200 performs the development computer association information transmission step performed by development computer association information transmission unit 270. Additionally, for example, management server 300 performs the association information receiving step performed by association information receiving unit 315.

[0147] (Details regarding the functional structure of PLC 100 in Implementation Method 2)

[0148] For example, if the PLC association information stored in the PLC association information storage unit 110 is updated, the PLC association information sending unit 170 will send the updated PLC association information to the management server 300.

[0149] (Details regarding the functional structure of the development computer 200 involved in Implementation Method 2)

[0150] For example, if the development computer association information stored in the development computer association information storage unit 210 is updated, the development computer association information sending unit 270 will send the updated development computer association information to the management server 300.

[0151] (Details regarding the functional structure of the management server 300 involved in Implementation Method 2)

[0152] like Figure 11As shown, in this embodiment, the functional software stored in the software storage unit 301 includes, for example, basic software for controlling the hardware of the PLC 100, such as the firmware and operating system (OS). Additionally, the development software stored in the software storage unit 301 is the basic software required to build a development environment for programs that control the PLC 100. In other words, the software storage unit 301 stores the firmware, OS, and new basic software for building development environments for each version of the PLC 100.

[0153] The illegal device determination unit 310 of this embodiment determines whether illegal devices exist at predetermined intervals. Additionally, the version compatibility determination unit 312 determines whether the version of the functional software installed on the PLC 100 is consistent with the version of the development software installed on the development computer 200 at predetermined intervals. For example, the illegal device determination unit 310 determines whether illegal devices exist every 8 hours, and the version compatibility determination unit 312 determines version compatibility monthly.

[0154] The association information receiving unit 315 receives PLC association information and development computer association information sent from PLC 100 and development computer 200, and stores the received PLC association information and development computer association information in the association information storage unit 304.

[0155] (Regarding the notification and handling of illegal devices involved in Implementation Method 2)

[0156] Next, the actions taken by the management server 300 to identify and notify unauthorized devices will be explained. If power is on, the management server 300 will begin executing these actions. Figure 12 The illegal device notification process is as follows: First, after the combination identification unit 309 identifies the combination by performing step S301, the illegal device determination unit 310 determines whether a predetermined period has elapsed (step S312). If the period has not elapsed (step S312; N), the illegal device determination unit 310 repeats step S312 until the period has elapsed. On the other hand, if the period has elapsed (step S312; Y), the illegal device determination unit 310 performs steps S303 and S304, ending the process.

[0157] Furthermore, regarding the actions of PLC 100, development computer 200, and management server 300 in sending and receiving PLC association information and development computer association information, the updated information is sent only when the PLC association information and development computer association information stored by PLC 100 and development computer 200 are updated, and is then received by management server 300. Additionally, regarding the action of management server 300 in determining software version consistency, the management server 300 only determines whether the version of the functional software installed on PLC 100 is consistent with the version of the development software installed on development computer 200 at predetermined intervals.

[0158] Therefore, to reduce unnecessary explanations, illustrations and detailed descriptions have been omitted regarding these actions.

[0159] As described above, in the development environment construction assistance system 1 according to this embodiment, the PLC association information sending unit 170 of the PLC 100 sends the PLC association information stored in the PLC association information storage unit 110 regardless of whether a server request message indicating a request to send PLC association information is received. Similarly, the development computer association information sending unit 270 of the development computer 200 sends the development computer association information stored in the development computer association information storage unit 210 regardless of whether a server request message indicating a request to send development computer association information is received. Furthermore, in the management server 300, the association information receiving unit 315 receives the PLC association information and development computer association information sent from the PLC 100 and the development computer 200, and stores the received PLC association information and development computer association information in the association information storage unit 304.

[0160] Therefore, even without requesting the PLC 100 and development computer 200 to send PLC association information and development computer association information, the management server 300 can still obtain and store this latest information. As a result, the development environment construction assistance system 1 according to this embodiment can prevent a state of inconsistency between the PLC association information and development computer association information stored by the management server 300 and the PLC association information and development computer association information stored by the PLC 100 and development computer 200 at any time when the PLC 100 and development computer 200 send information.

[0161] Furthermore, even if a new auxiliary system 1 is built in the development environment but the management server 300 does not store PLC association information and development computer association information, the PLC 100 and the development computer 200 can still send their own information to the management server 300 for storage, allowing the installed objects to be selected again.

[0162] Furthermore, according to the development environment construction assistance system 1 involved in this embodiment, the illegal device determination unit 310 of the management server 300 determines whether there is an illegal device every time a predetermined period has elapsed.

[0163] Therefore, in the development environment construction assistance system 1 involved in this embodiment, for example, the administrator can determine whether there is an illegal device every time a predetermined period has elapsed.

[0164] Furthermore, according to the development environment construction assistance system 1 of this embodiment, the version consistency determination unit 312 of the management server 300 determines whether the version of the functional software installed on the PLC 100 is consistent with the version of the development software installed on the development computer 200 every predetermined period.

[0165] Therefore, regarding the development environment construction assistance system 1 involved in this embodiment, for example, the administrator can determine whether the versions are consistent after each pre-defined period.

[0166] Furthermore, in the development environment construction auxiliary system 1 according to this embodiment, the functional software is basic software such as firmware and OS used for the general control of the hardware in the PLC 100. Additionally, the development software is, for example, basic software used to implement the functions of the development environment.

[0167] Therefore, the development environment construction assistance system 1 according to this embodiment can assist in constructing the basic development environment for the program that executes the control of the PLC 100 by enabling the PLC 100 and the development computer 200 to install functional software and development software. Furthermore, even when installing new basic software, the PLC 100 and the development computer 200 can determine whether installation is possible based on hardware and software information, and can automatically install the installable basic software.

[0168] In addition, the development environment construction assistance system 1 involved in this embodiment achieves the same effect as the development environment construction assistance system 1 involved in embodiment 1.

[0169] (Example of amendment)

[0170] Furthermore, as shown in embodiments 1 and 2 above, it is preferable that both the PLC association information and the development computer association information include individual identification information. However, it is also permissible for one of the PLC association information and the development computer association information to include individual identification information while the other does not. Thus, when the PLC association information includes individual identification information, it is possible to prevent installation from unauthorized PLC connections and to determine whether new software can be installed. Similarly, when the development computer association information includes individual identification information, it is possible to prevent installation from unauthorized development computer connections and to determine whether new software can be installed.

[0171] Furthermore, in the above embodiments 1 and 2, the individual identification information includes both hardware individual identification information and software individual identification information, but it is not limited to this, and may also include information that includes either hardware individual identification information or software individual identification information.

[0172] Furthermore, in embodiments 1 and 2 described above, the functional software to be installed is sent directly from the management server 300 to the PLC 100, but this is not a limitation. For example, the development computer 200 may receive the software from the management server 300 and then forward it to the PLC 100. That is, the PLC 100 may also receive the functional software via the development computer 200. Thus, for example, by having the PLC 100 and the development computer 200 exchange information via a LAN, and the development computer 200 and the management server 300 exchange information via the Internet, the PLC 100 can be prevented from connecting to the Internet, which poses a risk of connection to external terminals.

[0173] Furthermore, in embodiments 1 and 2 described above, the management server 300 determines whether installation is possible, whether the versions are consistent, and whether there is an illegal device based on the PLC association information and development computer association information stored in the association information storage unit 304, but is not limited to these methods. For example, the management server 300 may also authenticate the installed software for each individual PLC 100 and development computer 200 based on the hardware individual identification information and software individual identification information included in the PLC association information and development computer association information.

[0174] Furthermore, in embodiments 1 and 2 described above, the management server 300 performs a check on version consistency and the presence of an unauthorized device after a predetermined period of time upon receiving the installation request information. However, the timing of these checks is not limited to this. For example, the management server 300 may also perform these checks during maintenance.

[0175] Furthermore, in embodiments 1 and 2 described above, the management server 300 can manage the number of licenses for software installed on the PLC 100 and the development computer 200 based on the PLC association information and development computer association information stored in the association information storage unit 304. However, the method for managing the number of licenses is not limited to this. For example, the management server 300 can also manage the number of licenses for each software in use by counting and storing the number of times each software object to be installed has been sent to the PLC 100 and the development computer 200.

[0176] Furthermore, the PLC 100, development computer 200, and management server 300, which include a control unit 51, a main storage unit 52, an external storage unit 53, an operation unit 54, a transceiver unit 56, and an internal bus 50, form the central processing unit. For example, the PLC 100, development computer 200, and management server 300 can be configured to perform the aforementioned processing by distributing and installing the programs stored in a recording medium, such as flash memory, that can be read by the PLC 100, development computer 200, and management server 300. Alternatively, the programs can be pre-stored in the storage device of a server device on a communication network such as a LAN or the Internet, and downloaded to the PLC 100, development computer 200, and management server 300.

[0177] In addition, when the functions of PLC 100, development computer 200 and management server 300 are implemented through the sharing of OS and application, or the cooperation of OS and application, only the application part may be stored in the recording medium or storage device.

[0178] Alternatively, the program can be overlaid on a carrier wave and provided via a communication network. For example, the program can be published on a bulletin board system (BBS) on the communication network and provided via the network. Moreover, the program can be launched and executed under the control of the OS, performing the aforementioned processing in the same way as other applications.

[0179] This invention can be implemented and modified in various ways without departing from its broad spirit and scope. Furthermore, the above-described embodiments are for illustrative purposes only and are not intended to limit the scope of the invention. That is, the scope of the invention is not defined by the embodiments, but by the scope of the claims. Moreover, various modifications applied within the scope of the claims and their equivalents are considered to be within the scope of the invention.

[0180] Explanation of the label

[0181] 1…Development environment construction auxiliary system, 50…Internal bus, 51…Control unit, 52…Main storage unit, 53…External storage unit, 54…Operation unit, 55…Display unit, 56…Transmitter / receiver unit, 59…Control program, 100…PLC, 101…First PLC, 102…Second PLC, 109…Ninth PLC, 110…PLC associated information storage unit, 120, 220…Server request information receiving unit, 130, 230…Server response information generation unit, 140, 240…Server response information sending unit, 150, 250…Software receiving unit, 160, 260…Installation and execution unit, 170…PLC associated information sending unit, 200…Development computer, 201…First development computer, 202…Second Development Computer, 209…Ninth Development Computer, 210…Development Computer Related Information Storage Unit, 270…Development Computer Related Information Sending Unit, 300…Management Server, 301…Software Storage Unit, 302…Server Request Information Sending Unit, 303…Server Response Information Receiving Unit, 304…Related Information Storage Unit, 305…Installation Request Information Receiving Unit, 306…Installation Judgment Unit, 307…Software Sending Unit, 308…Installation Notification Unit, 309…Combination Identification Unit, 310…Illegal Device Judgment Unit, 311…Illegal Device Notification Unit, 312…Version Consistency Judgment Unit, 313…Debugging Object Identification Unit, 314…Debugging Information Generation Unit, 315…Related Information Receiving Unit.

Claims

1. A development environment building assistance system comprising: a programmable logic controller (PLC); a development computer, which is a computer device serving as a development environment for programs controlling the PLC; and a management server for managing the PLC and the development computer. The management server includes: The software storage unit stores functional software and development software. The functional software is software used to implement the functions of the programmable logic controller, and the development software is software used to develop the program corresponding to the functional software on the development computer. The installation request information receiving unit receives installation request information from the user, which is information indicating an installation request to perform both the installation of the functional software in the programmable logic controller and the installation of the development software in the development computer. The installation determination unit, upon receiving the installation request information from the installation request information receiving unit, determines whether the installation of the functional software in the programmable logic controller and the installation of the development software in the development computer can be performed based on information associated with the programmable logic controller (PLC association information) and information associated with the development computer (development computer association information). as well as The software delivery unit, when the installation determination unit determines that both the installation of the functional software in the programmable logic controller and the installation of the development software in the development computer are feasible, sends the functional software to the programmable logic controller and the development software to the development computer. The programmable logic controller includes: A software receiving unit that receives the functional software; and The installation execution unit performs the installation of the aforementioned functional software. The development computer includes: The software receiving unit receives the development software; and The installation execution unit performs the installation of the development software. The PLC association information includes hardware association information (associated with the hardware constituting the programmable logic controller), software association information (associated with the software installed on the programmable logic controller), and individual identification information (individual identification information) that enables individual identification of the programmable logic controller. The development computer association information includes information associated with the hardware constituting the development computer, namely hardware association information, and information associated with the software installed on the development computer, namely software association information.

2. A development environment building assistance system, comprising: a programmable logic controller (PLC); a development computer, which is a computer device serving as a development environment for programs that control the PLC; and a management server that manages the PLC and the development computer. The management server includes: The software storage unit stores functional software and development software. The functional software is software used to implement the functions of the programmable logic controller, and the development software is software used to develop the program corresponding to the functional software on the development computer. The installation request information receiving unit receives installation request information from the user, which is information indicating an installation request to perform both the installation of the functional software in the programmable logic controller and the installation of the development software in the development computer. The installation determination unit, upon receiving the installation request information from the installation request information receiving unit, determines whether the installation of the functional software in the programmable logic controller and the installation of the development software in the development computer can be performed based on information associated with the programmable logic controller (PLC association information) and information associated with the development computer (development computer association information). as well as The software delivery unit, when the installation determination unit determines that both the installation of the functional software in the programmable logic controller and the installation of the development software in the development computer are feasible, sends the functional software to the programmable logic controller and the development software to the development computer. The programmable logic controller includes: A software receiving unit that receives the functional software; and The installation execution unit performs the installation of the aforementioned functional software. The development computer includes: The software receiving unit receives the development software; and The installation execution unit performs the installation of the development software. The PLC association information includes information associated with the hardware constituting the programmable logic controller (PLC), i.e., hardware association information, and information associated with the software installed on the PLC, i.e., software association information. The development computer association information includes hardware association information, which is associated with the hardware constituting the development computer; software association information, which is associated with the software installed on the development computer; and individual identification information, which is capable of individual identification of the development computer.

3. The development environment construction auxiliary system according to claim 1, wherein, The management server also includes: The associated information storage unit stores the PLC associated information and the development computer associated information. In the PLC association information, The hardware association information includes information representing the structure of the hardware of the programmable logic controller, namely hardware structure information, and hardware version information representing the version of the hardware of the programmable logic controller. The software association information includes information representing the structure of the software of the programmable logic controller, i.e., software structure information, and software version information representing the version of the software of the programmable logic controller. The individual identification information includes either or both of the following: hardware individual identification information, which enables individual identification of the hardware of the programmable logic controller, and software individual identification information, which enables individual identification of the software of the programmable logic controller. In the computer-related information for development, The hardware association information includes information representing the structure of the hardware of the development computer, i.e., hardware structure information, and hardware version information representing the version of the hardware of the development computer. The software association information includes information representing the structure of the software on the development computer, i.e., software structure information, and software version information representing the version of the software on the development computer.

4. The development environment construction auxiliary system according to claim 3, wherein, The management server also includes: The combination identification unit identifies the combination of the programmable logic controller and the development computer, which is the development environment, based on the PLC association information and the development computer association information stored in the association information storage unit. An illegal device determination unit determines whether an illegal device exists in either the managed programmable logic controller or the development computer based on the combination identified by the combination identification unit. as well as The illegal device notification unit informs the illegal device unit of the existence of such illegal device if the illegal device determination unit determines that such illegal device exists.

5. The development environment construction auxiliary system according to claim 4, wherein, The programmable logic controller includes at least a first programmable logic controller and a second programmable logic controller that is different from the first programmable logic controller. The development computer includes at least a first development computer and a second development computer that is different from the first development computer. The combination refers to a combination of either the first programmable logic controller and the second programmable logic controller, or both of them, corresponding to either the first development computer and the second development computer, or both of them.

6. The development environment construction auxiliary system according to claim 4 or 5, wherein, The illegal device determination unit determines whether an illegal device exists at predetermined intervals.

7. The development environment construction auxiliary system according to claim 4 or 5, wherein, When the installation request information receiving unit receives the installation request information, the illegal device determination unit determines whether there is an illegal device.

8. The development environment construction auxiliary system according to claim 3, wherein, The management server also includes: The version consistency determination unit determines whether the version of the functional software installed on the programmable logic controller is consistent with the version of the development software installed on the development computer, based on the PLC association information and the development computer association information stored in the association information storage unit.

9. The development environment construction auxiliary system according to claim 8, wherein, The version consistency determination unit determines whether the version of the functional software installed on the programmable logic controller is consistent with the version of the development software installed on the development computer at predetermined intervals.

10. The development environment construction auxiliary system according to claim 8, wherein, When the installation request information receiving unit receives the installation request information, the version consistency determination unit determines whether the version of the functional software installed on the programmable logic controller is consistent with the version of the development software installed on the development computer.

11. The development environment construction auxiliary system according to claim 3, wherein, The programmable logic controller includes at least a first programmable logic controller and a second programmable logic controller that is different from the first programmable logic controller. The management server also includes: The debugging object identification unit identifies, based on the PLC association information and the development computer association information stored in the association information storage unit, the programmable logic controller (PLC) capable of debugging the program generated in the development computer from the first PLC and the second PLC. as well as The debugging information generation unit generates debugging information, which is the information required for debugging the program, based on the identification result of the debugging object identification unit.

12. The development environment construction auxiliary system according to claim 1, wherein, The functional software is software capable of additionally implementing a portion of the specific functions of the programmable logic controller. The development software is software that can additionally implement the program that uses the special functions.

13. The development environment construction auxiliary system according to claim 1, wherein, The functional software is the basic software used to control the hardware in the programmable logic controller. The development software is the basic software used to implement the functions of the development environment.

14. The development environment construction auxiliary system according to claim 3, wherein, The programmable logic controller further includes: The PLC-related information storage unit stores the PLC-related information. The server request information receiving unit receives information representing a request from the management server, i.e., server request information. The server response information generation unit generates server response information based on the PLC association information stored in the PLC association information storage unit and the server request information received by the server request information receiving unit, representing a response to the management server; and The server response information sending unit sends the server response information. The development computer also includes: A computer-related information storage unit for development, which stores the computer-related information for development; The server request information receiving unit receives the server request information; The server response information generation unit generates the server response information based on the development computer association information stored in the development computer association information storage unit and the server request information received by the server request information receiving unit. as well as The server response information sending unit sends the server response information. The management server also includes: The server request information sending unit sends the server request information; and The server response information receiving unit receives the server response information.

15. The development environment construction auxiliary system according to claim 14, wherein, In the management server, The server request information sending unit sends a server request information indicating a request to send the PLC association information stored by the programmable logic controller to the programmable logic controller, and also sends a server request information indicating a request to send the development computer association information stored by the development computer to the development computer. In the programmable logic controller, The server response information sending unit sends the PLC association information generated by the server response information generation unit as the server response information. In the development computer, The server response information sending unit sends the development computer association information generated by the server response information generation unit as the server response information. In the management server, The server response information receiving unit receives the PLC association information and the development computer association information as the server response information. The associated information storage unit stores the PLC associated information and the development computer associated information received by the server response information receiving unit as server response information.

16. The development environment construction auxiliary system according to claim 3, wherein, The programmable logic controller further includes: The PLC-related information storage unit stores the PLC-related information; and The PLC association information sending unit sends the PLC association information. The development computer also includes: A computer-related information storage unit for development, which stores the computer-related information for development; and The development computer-related information sending unit sends the development computer-related information. The management server also includes: The association information receiving unit sends the PLC association information and the development computer association information. The associated information storage unit stores the PLC associated information and the development computer associated information received by the associated information receiving unit.

17. A development environment building aid, which acts as a management server to manage a programmable logic controller (PLC) and a development computer, the development computer being a computer device serving as a development environment for a program that controls the PLC. This development environment build aid has the following features: The software storage unit stores functional software and development software. The functional software is software used to implement the functions of the programmable logic controller, and the development software is software used to develop the program corresponding to the functional software on the development computer. The installation request information receiving unit receives installation request information from the user, which is information indicating an installation request to perform both the installation of the functional software in the programmable logic controller and the installation of the development software in the development computer. The installation determination unit, upon receiving the installation request information from the installation request information receiving unit, determines whether the installation of the functional software in the programmable logic controller and the installation of the development software in the development computer can be performed based on PLC association information and development computer association information. The PLC association information is information associated with the programmable logic controller and includes information associated with the hardware constituting the programmable logic controller (i.e., hardware association information) and information associated with the software installed in the programmable logic controller (i.e., software association information). The development computer association information is information associated with the development computer and includes information associated with the hardware constituting the development computer (i.e., hardware association information) and information associated with the software installed in the development computer (i.e., software association information). as well as The software delivery unit, when the installation determination unit determines that both the installation of the functional software in the programmable logic controller and the installation of the development software in the development computer are feasible, sends the functional software to the programmable logic controller and the development software to the development computer. The PLC association information includes, at least if the development computer association information does not contain individual identification information capable of identifying the development computer, information capable of identifying the programmable logic controller (PLC). On the other hand, the development computer association information includes, at least in the case where the PLC association information does not include the individual identification information capable of identifying the individual of the programmable logic controller, the individual identification information capable of identifying the individual of the development computer.

18. A control method for a development environment building aid, wherein the development environment building aid acts as a management server to manage a programmable logic controller (PLC) and a development computer, the development computer being a computer device serving as a development environment for a program that controls the PLC. This control method includes: In the installation request information receiving step, the development environment building assistance device receives installation request information from the user. This installation request information indicates an installation request for both the software intended to implement the functions in the programmable logic controller (i.e., functional software) and the software intended to develop the program in the development computer (i.e., development software). In the installation determination step, when the development environment construction assistance device receives the installation request information in the installation request information receiving step, it determines whether the installation of the functional software in the programmable logic controller and the installation of the development software in the development computer can be performed based on the PLC association information and the development computer association information. The PLC association information is information associated with the programmable logic controller and includes information associated with the hardware constituting the programmable logic controller (i.e., hardware association information) and information associated with the software installed in the programmable logic controller (i.e., software association information). The development computer association information is information associated with the development computer and includes information associated with the hardware constituting the development computer (i.e., hardware association information) and information associated with the software installed in the development computer (i.e., software association information). as well as In the software delivery step, if the installation determination step determines that both the installation of the functional software in the programmable logic controller and the installation of the development software in the development computer are feasible, the development environment construction assistance device sends the pre-stored functional software to the programmable logic controller and the pre-stored development software to the development computer. The PLC association information includes, at least if the development computer association information does not contain individual identification information capable of identifying the development computer, information capable of identifying the programmable logic controller (PLC). On the other hand, the development computer association information includes, at least in the case where the PLC association information does not include the individual identification information capable of identifying the individual of the programmable logic controller, the individual identification information capable of identifying the individual of the development computer.

19. A control program that causes a development environment building aid, which serves as a management server, to function as a unit that manages a programmable logic controller (PLC) and a development computer, the development computer being a computer device serving as a development environment for a program that controls the PLC: The installation request information receiving unit receives installation request information from the user. This installation request information is information indicating an installation request for both the installation of software for implementing the functions in the programmable logic controller (i.e., functional software) and software for developing the program in the development computer (i.e., development software). The installation determination unit, upon receiving the installation request information from the installation request information receiving unit, determines whether the installation of the functional software in the programmable logic controller and the installation of the development software in the development computer can be performed based on PLC association information and development computer association information. The PLC association information is information associated with the programmable logic controller and includes information associated with the hardware constituting the programmable logic controller (i.e., hardware association information) and information associated with the software installed in the programmable logic controller (i.e., software association information). The development computer association information is information associated with the development computer and includes information associated with the hardware constituting the development computer (i.e., hardware association information) and information associated with the software installed in the development computer (i.e., software association information). as well as The software delivery unit, when the installation determination unit determines that both the installation of the functional software in the programmable logic controller and the installation of the development software in the development computer are feasible, sends the pre-stored functional software to the programmable logic controller and the pre-stored development software to the development computer. The PLC association information includes, at least if the development computer association information does not contain individual identification information capable of identifying the development computer, information capable of identifying the programmable logic controller (PLC). On the other hand, the development computer association information includes, at least in the case where the PLC association information does not include the individual identification information capable of identifying the individual of the programmable logic controller, the individual identification information capable of identifying the individual of the development computer.