WO2024201601A1 - プログラム、プログラム管理装置、プログラム管理システム、およびプログラム管理方法 - Google Patents

プログラム、プログラム管理装置、プログラム管理システム、およびプログラム管理方法 Download PDF

Info

Publication number
WO2024201601A1
WO2024201601A1 PCT/JP2023/011946 JP2023011946W WO2024201601A1 WO 2024201601 A1 WO2024201601 A1 WO 2024201601A1 JP 2023011946 W JP2023011946 W JP 2023011946W WO 2024201601 A1 WO2024201601 A1 WO 2024201601A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
error
control
revision
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2023/011946
Other languages
English (en)
French (fr)
Inventor
紘明 山川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to PCT/JP2023/011946 priority Critical patent/WO2024201601A1/ja
Priority to JP2023551954A priority patent/JP7415091B1/ja
Publication of WO2024201601A1 publication Critical patent/WO2024201601A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Definitions

  • This disclosure relates to a program, a program management device, a program management device system, and a program management method.
  • a control device controls FA equipment based on a written control program.
  • a developer may use a version control system to manage the program.
  • Patent Document 1 discloses a system that stores the device requirements of the device being developed in association with the version of the control program developed for that device, making it possible to check how the control program was modified and which version was used in the development of which device.
  • This disclosure has been made in consideration of the above problems, and aims to propose a program, a program management device, a program management device system, and a program management method that can quickly resolve errors in managed devices with minimal effort.
  • the program disclosed herein causes a computer to function as: an acquisition means for acquiring error information indicating that an execution error has occurred in a control program executed by a control device that controls an apparatus; an error-occurring program identification means for identifying an error-occurring program, which is a control program in which an execution error has occurred, based on identification information of the control device included in the acquired error information and a write history indicating the respective records of when the control program has been written to a plurality of control devices; an original revision identification means for identifying an original revision program of the error-occurring program based on association information that associates each control program with an original revision program, which is a control program used to develop the control program; an update program determination means for determining, from among the identified original revision programs, an original revision program that has no history of execution errors, as an update program, which is a control program for updating, based on error history information indicating the record of when an execution error has occurred for each control program; and a writing means for executing a write
  • the original control program of the control program in which an execution error occurred is identified, and a control program that has not had an execution error occurring is selected as an update program from among the original control programs based on error history information.
  • the selected update program is then written to a memory unit provided in the control device that executed the program in which the error occurred. This makes it possible to quickly resolve the problem.
  • FIG. 1 is a block diagram showing a configuration of a program management device according to an embodiment of the present disclosure.
  • FIG. 2 is a diagram showing an example of project management information stored in the data storage unit shown in FIG. 1 .
  • FIG. 2 is a diagram showing an example of version information managed by the revision history management unit shown in FIG. 1 .
  • FIG. 2 is a diagram showing an example of an operation status table generated by the schedule management unit shown in FIG. 1 .
  • FIG. 2 is a diagram showing an example of a schedule setting screen displayed by a schedule management unit shown in FIG. 1 .
  • FIG. 1 is a block diagram showing an example of a physical configuration of a program management device according to an embodiment. 1 is a flowchart showing an error resolution process performed by a program management device according to an embodiment.
  • FIG. 2 is a diagram showing an example of a display screen displayed by the error correction unit shown in FIG. 1 .
  • FIG. 2 is a diagram showing an example of a notification screen displayed by the error resolution unit shown
  • the program management device 100 is installed in each of the factories A-C, and is communicatively connected via a network 400 to a gateway 300 that collects data from a plurality of connected control devices 200.
  • the control devices 200 include, for example, a PLC (Programmable Logic Controller).
  • the control devices 200 control the FA equipment to be controlled by executing a control program, such as a ladder program.
  • a project file including a control program and setting information for the control device 200 is stored in the memory of the control device 200.
  • the project files stored in each control device 200 have different versions or revisions depending on the function executed by the control program, the model number of the device, the control contents, etc.
  • Each control device 200 executes the control program included in the stored project file.
  • the control device 200 transmits error information indicating that an execution error has occurred to the gateway 300.
  • the gateway 300 receives the error information, it assigns the device ID of the control device 200 in which the error occurred to the error information and transmits it to the program management device 100.
  • the control device 200 has a function for communicating with the program management device 100, the program management device 100 may communicate with the control device 200 without going through the gateway 300.
  • the memory of the control device 200 is an example of a storage unit.
  • the program management device 100 When the program management device 100 receives error information from the gateway 300, it identifies the control device 200 in which the error was detected and the project file including the control program executed by this control device 200.
  • the program management device 100 refers to the revision history and execution error occurrence history of each project file, and identifies a project file that has no history of error occurrence from among the project files included in the revision history.
  • the program management device 100 can write a project file that has no history of error occurrence to the control device 200 in which the execution error was detected, at the user's choice. Note that writing a project file to the control device 200 means storing the project file in the memory provided in the control device 200.
  • the program management device 100 identifies a derived project file that has been developed by revising the project file including the control program in which the execution error occurred.
  • the revision of the project file includes updating the control program, updating the setting information of the control device 200, and updating each of the control program and the setting information.
  • the program management device 100 notifies the user of the identified derived project file as a project file in which an error may occur.
  • the program management device 100 includes a program creation unit 110 that creates a project file including a control program, a data storage unit 120 that stores project management information that associates, for each project file, the writing history to the memory of the control device 200 with the error occurrence history, a project management unit 130 that manages the revision history of the project file and resolves any execution errors that occur, an asset management unit 140 that monitors the occurrence of execution errors in the control program and writes the project file to the memory of the control device 200, and a schedule management unit 150 that manages the schedule for writing the project file.
  • a program creation unit 110 that creates a project file including a control program
  • a data storage unit 120 that stores project management information that associates, for each project file, the writing history to the memory of the control device 200 with the error occurrence history
  • a project management unit 130 that manages the revision history of the project file and resolves any execution errors that occur
  • an asset management unit 140 that monitors the occurrence of execution errors in the control program and writes the project file to the memory of the control
  • the program creation unit 110 creates or edits a project file that includes a control program to be executed by the control device 200 and setting information for the control device 200.
  • the function of the program creation unit 110 is realized by a processor provided in the program management device 100 executing an engineering tool.
  • the setting information includes the model name of the control device 200, connection information for the control device 200, various parameters set in the control device 200, and the like.
  • the program creation unit 110 stores the created project file in the data storage unit 120.
  • the program creation unit 110 is an example of a program generation means.
  • the data storage unit 120 stores the project files created by the program creation unit 110 and project management information that associates information on the write history and error occurrence history for each project file.
  • the project management information includes a "revision number” that indicates information that uniquely identifies each project file, a "project name” that indicates the name of the project file, a “write history” that indicates the history of which control device 200 each project file was written to, a "write date and time” that indicates the date and time when each project file was written, and an "error occurrence history” that indicates the history of error occurrence.
  • the project file with revision number "31” has the project name "Project A” and indicates that it has been written to the control device 200 identified by the device ID "620" installed in "Factory B" at "0:00 on February 1, 2023".
  • this project file indicates that there has been no history of error occurrence.
  • the project management information is an example of write history and error history information.
  • the project management unit 130 includes a revision history management unit 131 that manages the revision history of the project file created by the program creation unit 110, and an error resolution unit 132 that identifies a project file that includes a control program in which an execution error has occurred and identifies a project file to be updated to resolve the error that has occurred.
  • the revision history management unit 131 generates version information indicating the revision history of the project file created by the program creation unit 110.
  • the version information includes a "revision number” indicating information that uniquely identifies the project file, a “version” indicating information that specifies the version of each project file, a "project name” indicating the name of each project file, and an "original project” indicating the revision number of the project file that is the original of each project file.
  • the project file with revision number "32” has a version of "1.0.1 (released by Company A)," a project name of "Project B,” and indicates that it was created by revising the project file with revision number "31.”
  • This version information makes it possible to know which project file each project file was created by revising.
  • the version information is an example of association information, or project association information.
  • the error resolution unit 132 identifies a project file including a control program in which an error has occurred based on the project management information stored in the data storage unit 120. Specifically, when the error resolution unit 132 receives error information from the gateway 300, it acquires the device ID included in the error information and identifies the control device 200 in which the execution error has occurred. Next, the error resolution unit 132 refers to the project management information shown in FIG. 2 and identifies the project file currently written in the memory of the control device 200 of the acquired device ID.
  • the error resolution unit 132 when the error resolution unit 132 acquires the device ID "620" from the error information, it reads out the "write history” information and identifies that the project files with a history of being written to the device ID "620" have revision numbers "31", "33", and "38". Next, the error resolution unit 132 reads out the respective "write date and time” information. Because the project file with revision number "31” was written at 00:00 on Feb. 1, 2023, the project file with revision number "33” was written at 00:00 on Jul. 1, 2023, and the project file with revision number "38” was written at 00:00 on Aug. 1, 2023, the error resolution unit 132 determines that an error has occurred in the project file with revision number "38", which has the latest write date and time.
  • the error resolution unit 132 identifies a project file to be updated in order to resolve the error that has occurred. Specifically, the error resolution unit 132 refers to the version information shown in FIG. 3, and obtains a revision history indicating which project file was revised to develop the project file in which the error occurred. Next, the error resolution unit 132 refers to the project management information shown in FIG. 2, and checks the history of error occurrences contained in the revision history, and determines a project file with no history of errors as the project file to be updated. Details of the process in which the error resolution unit 132 identifies a project file to be updated will be described later.
  • the error resolution unit 132 identifies a derived project file created by revising a project file including a control program in which an execution error has occurred, and notifies the user of the identified derived project file. This allows the user to know in advance project files that may experience the same error as the project file in which an execution error has occurred. Details of the process in which the error resolution unit 132 identifies a derived project file will be described later.
  • the error resolution unit 132 is an example of an error-occurring program identification means, a revision source identification means, an update program determination means, a derived destination identification means, and a notification means, and the derived project file is an example of a derived program.
  • the asset management unit 140 includes a writing unit 141 that writes the update project file identified by the project management unit 130 to the memory of the control device 200, an error monitoring unit 142 that monitors the occurrence of execution errors in the control program included in the project file, and a communication unit 143 that communicates with the gateway 300.
  • the writing unit 141 writes the update project file, which the project management unit 130 has identified as operating normally, into the memory of the control device 200 in which the error occurred. Specifically, the writing unit 141 acquires the project file of the revision number identified by the project management unit 130 from the data storage unit 120. Next, the writing unit 141 transmits the acquired project file to the control device 200 in which the error occurred, and writes the transmitted project file into the memory of the control device 200. Note that writing of the project file may be performed by the writing unit 141 transmitting the acquired project file and a message requesting the writing of this file to the control device 200, and the control device 200 writing the received project file into the memory of the control device 200 based on the received write request. Note that the writing unit 141 is an example of a writing means.
  • the error monitoring unit 142 monitors the occurrence of execution errors in the control program. Specifically, the error monitoring unit 142 waits for error information from the gateway 300. When the error monitoring unit 142 receives error information from the gateway 300, it sends the received error information to the project management unit 130.
  • the communication unit 143 includes a network interface for communication between the program management device 100 and the gateway 300.
  • the communication unit 143 transmits a write request from the writing unit 141 to the control device 200, and receives error information from the gateway 300.
  • the communication unit 143 is an example of an acquisition means.
  • the schedule management unit 150 sets the date and time when the update project file is written to the control device 200. Specifically, the schedule management unit 150 acquires operation data indicating the operation status of the control device 200 from the control device 200, and determines the time period when the control device 200 has operated in the past. For example, the schedule management unit 150 generates an operation status table showing the time period when each control device 200 has operated, as shown in FIG. 4, based on the operation data within a preset period such as the past week or the past month, and stores it in the data storage unit 120.
  • the user When setting the date and time when the update project file is written, the user performs a setting operation on the schedule setting screen shown in FIG. 5.
  • the schedule management unit 150 displays on the display unit a schedule setting screen in which the device ID of the control device 200 in which the execution error occurred, the factory name, and the scheduled start date and time of the write process are input. For example, in the case of the example of device ID "620" shown in the figure, the schedule management unit 150 acquires the current date "9/7" from the timer, and inputs the next day's date "9/8" into the form as the scheduled start date. Next, the schedule management unit 150 refers to the operation status table shown in FIG. 4 and inputs the time "23:00" when the device ID "620" has no operation record into the form as the scheduled start time.
  • the schedule management unit 150 sets a transmission timer that transmits an instruction signal to execute the write process to the writing unit 141 at the date and time inputted into the form for the scheduled start date and time.
  • the user may change the date and time inputted into the form for the scheduled start date and time, and by inputting a new date and time into the form and pressing the set button, the transmission timer based on the date and time changed by the user is set.
  • the schedule management unit 150 may display an error message to notify the user that the time will be changed.
  • the schedule management unit 150 may not display the time with an operation record in the form.
  • the schedule management unit 150 is an example of a schedule setting means, and the operation status table is an example of operation record information.
  • the program management device 100 comprises a processor 11 that executes processing according to a program, a RAM (Random Access Memory) 12 which is a volatile memory, a ROM (Read Only Memory) 13 which is a non-volatile memory, a storage unit 14 that stores data, an input unit 15 that accepts input of information, a display unit 16 that visualizes and displays information, and a communication unit 17 that transmits and receives information, all of which are connected via an internal bus 99.
  • a processor 11 that executes processing according to a program
  • a RAM Random Access Memory
  • ROM Read Only Memory
  • storage unit 14 that stores data
  • an input unit 15 that accepts input of information
  • a display unit 16 that visualizes and displays information
  • a communication unit 17 that transmits and receives information, all of which are connected via an internal bus 99.
  • the processor 11 includes a CPU (Central Processing Unit).
  • the processor 11 executes various processes by reading programs stored in the storage unit 14 into the RAM 12 and executing them.
  • the processor 11 executes processes by the program creation unit 110, project management unit 130, asset management unit 140, and schedule management unit 150 as the main functions provided by the programs.
  • RAM 12 is used as a work area for the CPU.
  • ROM 13 stores the control program executed by the CPU for the basic operation of the program management device 100, the BIOS (Basic Input Output System), etc.
  • the storage unit 14 includes a hard disk drive, stores the programs executed by the CPU, and stores various data used when executing the programs.
  • the storage unit 14 functions as a data storage unit 120.
  • the input unit 15 is a user interface equipped with a keyboard, mouse, etc.
  • the display unit 16 is a display device such as a liquid crystal display or an organic EL (Electro Luminescence) display that visualizes and displays information.
  • the communication unit 17 is a network termination device or a wireless communication device that connects to the network, and a serial interface or a LAN interface that connects to them.
  • the communication unit 17 receives a signal from the outside and outputs data indicated by this signal to the processor 11.
  • the communication unit 17 functions as the communication unit 143.
  • the data storage unit 120 of the program management device 100 prestores the project management information shown in FIG. 2, the version information shown in FIG. 3, and the operation status table shown in FIG. 4.
  • the writing unit 141 of the asset management unit 140 When the writing unit 141 of the asset management unit 140 performs a process of writing a project file to the memory of the control device 200, it adds the revision number and project name of the written project file, the device ID and factory name of the target control device 200, and the date and time of the write process to the project management information shown in FIG. 2, and updates it. Furthermore, when the error resolution unit 132 receives error information and identifies the project file in which an error has occurred, it reads the project management information from the data storage unit 120, enters "Yes" in the "Error occurrence history" column in the same row as the revision number of the identified project file, and updates the project management information. Furthermore, when the writing unit 141 outputs a write request message to the control device 200, it only needs to add the date and time when the write request message was output to the project management information and update it.
  • the schedule management unit 150 acquires operation data indicating the operating status of the control device 200 from the control device 200, and generates an operation status table indicating the time periods during which each control device 200 has operated. Specifically, the schedule management unit 150 determines the time periods during which the control device 200 has operated, based on operation data from a preset period such as the past week or the past month. The schedule management unit 150 generates an operation status table for a fixed period, for example, every week or month, and stores it in the data storage unit 120.
  • the program management device 100 starts the processing.
  • the error monitoring unit 142 of the asset management unit 140 waits for error information indicating that an execution error has occurred in the control program (step S11).
  • the error monitoring unit 142 receives error information from the gateway 300 via the communication unit 143 (step S12; Yes)
  • it sends the received error information to the project management unit 130 and proceeds to the processing of step S13.
  • the error monitoring unit 142 has not received error information (step S12; No)
  • it waits for error information until it receives it (step S11).
  • the error resolution unit 132 of the project management unit 130 receives the error information from the error monitoring unit 142, it identifies the project file that includes the control program in which the error occurred (step S13). Specifically, the error resolution unit 132 acquires the device ID of the control device 200 included in the error information, and identifies the control device 200 in which the execution error occurred. Next, the error resolution unit 132 refers to the project management information shown in FIG. 2, and identifies the project file currently written in the memory of the control device 200 with the acquired device ID.
  • the error resolution unit 132 when the error resolution unit 132 obtains the device ID "620" from the error information, it reads out the "write history” information and identifies that the project files with a history written to the device ID "620" have revision numbers "31", "33", and "38". Next, the error resolution unit 132 reads out the respective "write date and time” information. Since the project file with revision number "31” was written at 00:00 on Feb. 1, 2023, the project file with revision number "33” was written at 00:00 on Jul. 1, 2023, and the project file with revision number "38” was written at 00:00 on Aug.
  • the error resolution unit 132 identifies that the project file with revision number "38", which has the latest write date and time, is the project file currently written in the memory of the control device 200 of the device ID 620 and is the project file in which the error occurred.
  • the error resolution unit 132 updates the "Error Occurrence History" of revision number "38” in the project management information by adding "Yes", indicating that an execution error has occurred.
  • the project file with revision number "38” is an example of a program in which an error has occurred.
  • the error resolution unit 132 identifies a project file to be updated to resolve the error that has occurred (step S14). Specifically, the error resolution unit 132 refers to the version information shown in FIG. 3 to obtain a revision history indicating which project file was revised to develop the project file including the control program in which the error has occurred. For example, in the case of the project file with revision number "38" identified in step S13, the error resolution unit 132 reads out the "original project" in the version information and identifies the project file with revision number "38" as the project file with revision number "33” as the original revision. Next, the error resolution unit 132 performs a similar process to identify the project file with revision number "33" as the project file with revision number "31". Through these processes, the error resolution unit 132 obtains the project files with revision number "31” and revision number "33” as the revision history of the project file with revision number "38". The project files with revision number "31” and revision number "33” are examples of the original program.
  • the error resolution unit 132 refers to the project management information shown in FIG. 2, checks the error occurrence history of the project file included in the revision history, and determines the project file without an error occurrence history as the project file for update. Specifically, the error resolution unit 132 reads the "error occurrence history" of the project management information and obtains the error occurrence history of the project files with revision numbers "31" and "33". In the illustrated example, the project file with revision number "33" with the newer writing date and time has an error occurrence history "present", and the project file with revision number "31" with the older writing date and time has an error occurrence history "not present".
  • the error resolution unit 132 determines the project file with revision number "31" with no error occurrence history as the project file for update.
  • the error resolution unit 132 notifies the writing unit 141 that the project file with revision number "31” has been determined as the project file for update.
  • the project file with revision number "31" is an example of an update program.
  • FIG. 8 shows an example of a display screen that displays the result of the decision of the project file for update by the error resolution unit 132.
  • the vertical axis of this display screen displays version information indicating the version of the project file
  • the horizontal axis displays the revision number of the project file.
  • the cell where the version "1.0.0" of the project file decided as the project file for update in step S14 intersects with the revision number "31” are highlighted.
  • the revision history of the project file with revision number "38” and the project file created by revising the project file with revision number "38” are visualized and displayed by dotted lines connecting each cell. The user checks the contents displayed on the display screen and clicks the "Yes" icon to proceed to step S15.
  • the schedule management unit 150 sets a schedule for writing the update project file identified in step S14 to the memory of the control device 200 (step S15). Specifically, the schedule management unit 150 displays a schedule setting screen as exemplified in FIG. 5 on the display unit 16 and accepts user input operations. In the schedule setting screen, the schedule management unit 150 inputs the device ID and factory name of the target control device 200 into each form. Next, the schedule management unit 150 refers to the operation status table shown in FIG. 4 stored in the data storage unit 120, determines a time period with no operation history, and inputs it into the form for the scheduled start date and time.
  • the schedule management unit 150 obtains the current date "9/7" from the timer and inputs the next day's date "9/8" into the form as the scheduled start date.
  • the schedule management unit 150 refers to the operation status table and inputs "23:00," a time when device ID "620" has no operation history, into the form as the planned start time.
  • the schedule management unit 150 sets a transmission timer that sends an instruction signal to the writing unit 141 to execute the writing process at the date and time input into the form for the start date and time.
  • the error resolution unit 132 determines whether or not there is a derived project file created by revising the project file including the control program in which the execution error occurred (step S16). Specifically, the error resolution unit 132 identifies the derived project file by referring to the version information shown in FIG. 3. The error resolution unit 132 searches for a project file that includes the revision number "38" of the project file in which the execution error occurred in the "original project” of the version information. In the illustrated example, since the "original project" has a project file with revision number "41" that includes revision number "38", the error resolution unit 132 determines that there is a derived project file (step S16; Yes) and identifies the project file with revision number "41" as the derived project file.
  • the error resolution unit 132 refers to the project management information shown in FIG. 2 and identifies that the device 200 in which the project file with revision number "41" has been written has device ID "630". Next, the error resolution unit 132 determines whether or not there is a derived project file created by revising the project file with revision number "41” by a similar process. In the illustrated example, since there is no project file containing revision number "41" in the "original project,” the error resolution unit 132 determines that there is no derived project file based on the project file with revision number "41.”
  • the error resolution unit 132 notifies the user of the derived project file identified in step S16 (step S17). Specifically, the error resolution unit 132 generates a notification screen as shown in FIG. 9 and causes the display unit to display information indicating that the derived project file has been identified. This allows the user to know in advance the project file that contains a control program that may cause the same error. If the error resolution unit 132 determines that a derived project file with revision number "41" exists, it identifies the revision number of this derived project file and repeats the process until it determines that no derived project file exists.
  • the error resolution unit 132 identifies an update project file for the derived project file identified in step S16 (step S18). Specifically, the error resolution unit 132 obtains the revision history of the derived project file by processing similar to that in step S14, checks the history of errors in the project file included in the revision history, and determines the project file with no history of errors as the update project file.
  • the schedule management unit 150 sets a schedule for writing the update project file identified in step S18 to the memory of the control device 200 in which the derived project file is written (step S19). Specifically, the schedule management unit 150 displays the schedule setting screen shown in FIG. 5 on the display unit 16, as in step S15, and sets the schedule according to the user's input operation.
  • step S16 determines in step S16 that there is no derived project file (step S16; No)
  • the process proceeds to step S20.
  • the schedule management unit 150 detects that the date and time of the schedule set in step S15 or step S19 has arrived and the transmission timer has expired, it sends an instruction signal to the writing unit 141 to execute a write process.
  • the writing unit 141 executes a process of writing the update project file determined in step S14 or step S18 to the memory of the control device 200 (step S20).
  • the writing unit 141 acquires the project file with revision number "31" determined by the project management unit 130 from the data storage unit 120.
  • the writing unit 141 transmits the acquired project file to the control device 200 in which the error has occurred, and writes the transmitted project file to the memory of the error control device 200.
  • the writing unit 141 updates the project management information shown in FIG. 2 (step S21). Specifically, the writing unit 141 reads the project management information, adds "Factory B - Equipment ID: 620", which indicates the equipment ID and factory name of the control device 200 to which the information is written, to the "Writing History" of revision number "31" of the project file written in step S20, adds the date and time of writing to the "Writing Date and Time", updates the project management information, and ends the process. Note that the project management information is updated in a similar manner when writing an update project file for the derived project file identified in step S18.
  • the program management device 100 when an execution error occurs in a control program executed by the control device 200, the program management device 100 refers to the revision history and error occurrence history of the project file including the control program in which the execution error occurred, and identifies a project file that has not had an error occurrence. The program management device 100 writes the identified project file into the memory of the control device 200. Therefore, it becomes possible to quickly resolve the error that occurred in the control device 200 with little effort.
  • the program management device 100 also automatically identifies the derived project file created by revising the project file containing the control program in which the execution error occurred, and notifies the user. This allows the user to know in advance which project files may potentially contain the same execution error as the one that occurred. Then, before the execution error occurs, the user can write an updated project file to the memory of the control device 200 or start revising the derived project file, improving the reliability of the entire factory.
  • the program management device 100 also automatically generates a schedule for writing the update project file.
  • the user checks the date and time of the generated schedule and modifies the schedule by changing the date and time as necessary. This eliminates the need to manually check the operating status of the target control device 200 and create a schedule, making it possible to update the project file with less effort.
  • each control device 200 is described as executing a control program included in one project file, but this is not limited to the above.
  • the control device 200 may have multiple CPUs, and each CPU may execute a control program included in a different project file.
  • the control device 200 may add information for identifying the CPU to the error information and transmit it to the gateway 300.
  • the writing unit 141 may add the device ID and the identification information of the CPU to the "writing history" of the project management information shown in FIG. 2. In the process of step S13 of FIG.
  • the error resolution unit 132 of the project management unit 130 may obtain the device ID and the identification information of the CPU of the control device 200 included in the error information, refer to the project management information, and identify the project file currently written to the CPU of the control device 200 with the obtained device ID.
  • the writing unit 141 when it receives an instruction signal from the schedule management unit 150, it may execute a process of writing the update project file to the area of the memory that is read by the CPU identified in step S13.
  • the program management device 100 has been described as writing an update project file to the memory of the control device 200 in which an execution error has occurred, but this is not limited thereto.
  • the program management device 100 may identify other control devices 200 in which the same project file as that of the control device 200 in which an execution error has occurred has been written, and write the update project file to these memories.
  • the error resolution unit 132 acquires the device IDs of each control device 200 from the project management information.
  • the schedule management unit 150 refers to the operation status table and determines the time period in which each control device 200 with the acquired device ID has no operation history.
  • the schedule management unit 150 displays the scheduled disclosure date and time of the write process for each control device 200 on the schedule setting screen, and sets the write schedule.
  • step S20 when the writing unit 141 receives the instruction signal transmitted according to the schedule set in step S15, it writes the project file identified in step S14 to the memory of the control device 200.
  • the program management device 100 has been described as managing a project file including a control program, but this is not limited thereto, and the program management device 100 may also manage a control program and write the control program to the memory of the control device 200 in which an error has occurred.
  • the information stored in the data storage unit 120 may be managed centrally by a cloud server on the network, and the program management device 100 may access the cloud server as necessary to read and write information. In this case, the program management device 100 may not need to include the data storage unit 120.
  • the processing is executed by one program management device 100, but the system configuration is arbitrary.
  • the functions of the program management device 100 may be realized by a system including multiple devices that realize any of the functions of the program creation unit 110, the project management unit 130, the asset management unit 140, and the schedule management unit 150.
  • the program management device 100 can be realized using a normal computer system, without relying on a dedicated device.
  • a program for realizing each function of the program management device 100 can be stored and distributed on a computer-readable recording medium such as a CD-ROM (Compact Disc Read Only Memory) or a DVD-ROM (Digital Versatile Disc Read Only Memory), and a computer that can realize each of the above-mentioned functions can be configured by writing this program to a computer.
  • a computer-readable recording medium such as a CD-ROM (Compact Disc Read Only Memory) or a DVD-ROM (Digital Versatile Disc Read Only Memory)
  • 100 program management device 110 program creation section, 120 data storage section, 130 project management section, 131 revision history management section, 132 error resolution section, 140 asset management section, 141 writing section, 142 error monitoring section, 143 communication section, 150 schedule management section, 11 processor, 12 RAM, 13 ROM, 14 storage section, 15 input section, 16 display section, 17 communication section, 99 internal bus, 200 control device, 300 gateway, 400 network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

プログラム管理装置(100)は、機器を制御する制御装置(200)により実行される制御プログラムのエラー情報を取得する取得部と、エラー情報に含まれる制御装置(200)の識別情報と、制御プログラムの書き込み実績とに基づいて、エラー発生プログラムを特定するエラー発生プログラム特定部と、対応付け情報に基づき、エラー発生プログラムの改訂元プログラムを特定する改訂元特定部と、各制御プログラムのエラー履歴情報に基づいて、特定された改訂元プログラムの中から、実行エラーの発生実績がない改訂元プログラムを更新プログラムとして決定する更新プログラム決定部と、決定された更新プログラムを、エラー発生プログラムを実行した制御装置(200)が備える記憶部に書き込む書き込み処理を実行する書き込み部と、を備える。

Description

プログラム、プログラム管理装置、プログラム管理システム、およびプログラム管理方法
 本開示は、プログラム、プログラム管理装置、プログラム管理装置システム、およびプログラム管理方法に関する。
 FA機器を制御する制御装置は、書き込まれた制御プログラムに基づいてFA機器を制御する。開発者は、制御装置のプログラムを開発する際、バージョン管理システムを用いてプログラムを管理することがある。例えば、特許文献1には、開発対象の装置の装置要件と、この装置向けに開発された制御プログラムのバージョンと、を関連付けて記憶することにより、制御プログラムがどのように修正され、どのバージョンがどの装置開発にて利用されたかを確認できるシステムが開示されている。
特開2008-226005号公報
 製造現場において、制御プログラムの実行エラーが発生した場合、実行エラーがどのプログラムのどのバージョンから発生しているかを特定してエラーを解消する必要がある。特許文献1のシステムでは、人手によって、実行エラーが発生した制御プログラムのバージョンを特定し、エラーを解消しなければならず、少ない手間で迅速にエラーを解消するという観点からは改善の余地がある。
 本開示は、上記のような問題点に鑑みてなされたものであり、少ない手間で迅速に管理対象装置のエラーを解消することができるプログラム、プログラム管理装置、プログラム管理装置システム、およびプログラム管理方法を提案することを目的にする。
 上記の目的を達成するため、本開示に係るプログラムは、コンピュータを、機器を制御する制御装置により実行される制御プログラムの実行エラーが発生したことを示すエラー情報を取得する取得手段、取得されたエラー情報に含まれる制御装置の識別情報と、制御プログラムが複数の制御装置に書き込まれたそれぞれの実績を示す書き込み実績とに基づいて、実行エラーが発生した制御プログラムであるエラー発生プログラムを特定するエラー発生プログラム特定手段、各制御プログラムと、制御プログラムを開発するために使用された制御プログラムである改訂元プログラムとを対応付けた対応付け情報に基づき、エラー発生プログラムの改訂元プログラムを特定する改訂元特定手段、制御プログラム毎の実行エラーが発生した実績を示すエラー履歴情報に基づいて、特定された改訂元プログラムの中から、実行エラーの発生実績がない改訂元プログラムを、更新用の制御プログラムである更新プログラムとして決定する更新プログラム決定手段、決定された更新プログラムを、エラー発生プログラムを実行した制御装置が備える記憶部に書き込む書き込み処理を実行する書き込み手段として機能させる。
 本開示によれば、実行エラーが発生した制御プログラムの改訂元の制御プログラムを特定し、エラー履歴情報に基づいて、改訂元の制御プログラムの中から、実行エラーの発生実績がない制御プログラムを更新プログラムとして決定する。そして、決定された更新プログラムを、エラー発生プログラムを実行した制御装置が備える記憶部に書き込む。したがって、迅速に不具合を解消することができる。
本開示の実施の形態に係るプログラム管理装置の構成を示すブロック図 図1に示すデータ保存部に記憶されるプロジェクト管理情報の一例を示す図 図1に示す改訂履歴管理部により管理されるバージョン情報の一例を示す図 図1に示すスケジュール管理部により生成される稼働状況テーブルの一例を示す図 図1に示すスケジュール管理部により表示されるスケジュール設定画面の一例を示す図 実施の形態に係るプログラム管理装置の物理構成の一例を示すブロック図 実施の形態に係るプログラム管理装置によるエラー解消処理を示すフローチャート 図1に示すエラー解消部により表示される表示画面の一例を示す図 図1に示すエラー解消部により表示される通知画面の一例を示す図
 以下、本開示の実施の形態に係るプログラム、プログラム管理装置、プログラム管理システム、およびプログラム管理方法について、図面を参照して説明する。なお、図中同一または相当する部分には同じ符号を付す。
 図1に示す通り、本実施の形態に係るプログラム管理装置100は、工場A-Cにそれぞれ設置され、接続される複数の制御装置200からデータを収集するゲートウェイ300と、ネットワーク400を介して通信可能に接続される。制御装置200は、例えば、PLC(Programmable Logic Controller)を含む。制御装置200は、ラダープログラムに代表される制御プログラムを実行することにより、制御対象のFA機器を制御する。制御装置200のメモリには、制御プログラムと制御装置200の設定情報とを含むプロジェクトファイルが格納される。各制御装置200に格納されるプロジェクトファイルは、制御プログラムにより実行される機能、装置の型番、制御内容等に応じて、バージョン、または、リビジョンが異なる。各制御装置200は、格納されたプロジェクトファイルに含まれる制御プログラムをそれぞれ実行する。制御装置200は、制御プログラムの実行エラーが発生した場合、ゲートウェイ300に対し、実行エラーが発生したことを示すエラー情報を送信する。ゲートウェイ300は、エラー情報を受信すると、エラー情報に、エラーが発生した制御装置200の装置IDを付与して、プログラム管理装置100に送信する。なお、図示する例において、制御装置200が、プログラム管理装置100と通信する機能を備えている場合、プログラム管理装置100は、ゲートウェイ300を介さずに、制御装置200と通信してもよい。なお、制御装置200のメモリは、記憶部の一例である。
 プログラム管理装置100は、ゲートウェイ300から、エラー情報を受信すると、エラーが検出された制御装置200と、この制御装置200により実行された制御プログラムを含むプロジェクトファイルとを特定する。プログラム管理装置100は、各プロジェクトファイルの改訂履歴と実行エラーの発生履歴とを参照して、改訂履歴に含まれるプロジェクトファイルの中から、エラー発生の実績がないプロジェクトファイルを特定する。プログラム管理装置100は、ユーザの選択により、実行エラーが検出された制御装置200に、エラー発生の実績がないプロジェクトファイルを書き込むことができる。なお、制御装置200にプロジェクトファイルを書き込むとは、制御装置200が備えるメモリにプロジェクトファイルを格納することを意味する。また、プログラム管理装置100は、実行エラーが発生した制御プログラムを含むプロジェクトファイルを改訂して開発された派生プロジェクトファイルを特定する。プロジェクトファイルの改訂は、制御プログラムの更新、制御装置200の設定情報の更新、制御プログラムおよび設定情報それぞれの更新を含む。プログラム管理装置100は、特定した派生プロジェクトファイルを、エラー発生の可能性があるプロジェクトファイルとしてユーザに通知する。
 プログラム管理装置100は、制御プログラムを含むプロジェクトファイルを作成するプログラム作成部110と、プロジェクトファイル毎の、制御装置200のメモリへの書き込み履歴とエラー発生履歴とを関連付けたプロジェクト管理情報を記憶するデータ保存部120と、プロジェクトファイルの改訂履歴を管理し、発生した実行エラーを解消するプロジェクト管理部130と、制御プログラムの実行エラーの発生を監視し、制御装置200のメモリへプロジェクトファイルを書き込むアセット管理部140と、プロジェクトファイルを書き込むスケジュールを管理するスケジュール管理部150と、を備える。
 プログラム作成部110は、制御装置200に実行させる制御プログラムと制御装置200の設定情報とを含むプロジェクトファイルを作成し、又は、編集する。具体的に、プログラム作成部110の機能は、プログラム管理装置100に備えられているプロセッサが、エンジニアリングツールを実行することによって実現される。設定情報には、制御装置200の型名、制御装置200の接続情報、制御装置200に設定されている各種パラメータなどが含まれる。プログラム作成部110は、データ保存部120に作成したプロジェクトファイルを記憶させる。なお、プログラム作成部110は、プログラム生成手段の一例である。
 データ保存部120は、プログラム作成部110により作成されたプロジェクトファイルと、プロジェクトファイル毎の書き込み履歴とエラー発生履歴との情報を関連付けたプロジェクト管理情報と、を記憶する。図2に示す通り、プロジェクト管理情報は、各プロジェクトファイルを一意に識別する情報を示す「リビジョン番号」と、プロジェクトファイルの名前を示す「プロジェクト名」と、各プロジェクトファイルがどの制御装置200のメモリに書き込まれたかの履歴を示す「書き込み履歴」と、各プロジェクトファイルが書き込まれた日時を示す「書き込み日時」とエラー発生の実績を示す「エラー発生履歴」と、を含む。図示する例において、リビジョン番号「31」のプロジェクトファイルは、プロジェクト名が「プロジェクトA」であり、「工場B」に設置されている装置ID「620」により識別される制御装置200に、「2023年2月1日の0時00分」に書き込まれた実績があることを示す。また、「エラー発生履歴」に「なし」が入力されているため、このプロジェクトファイルは、エラー発生の実績がないことを示す。なお、プロジェクト管理情報は、書き込み実績、エラー履歴情報の一例である。
 図1に戻り、プロジェクト管理部130は、プログラム作成部110により作成されたプロジェクトファイルの改訂履歴を管理する改訂履歴管理部131と、実行エラーが発生した制御プロクラムを含むプロジェクトファイルを特定し、発生したエラーを解消するための更新用のプロジェクトファイルを特定するエラー解消部132と、を備える。
 改訂履歴管理部131は、プログラム作成部110により作成されたプロジェクトファイルの改訂履歴を示すバージョン情報を生成する。図3に示す通り、バージョン情報は、プロジェクトファイルを一意に識別する情報を示す「リビジョン番号」と、各プロジェクトファイルのバージョンを特定する情報を示す「バージョン」と、各プロジェクトファイルの名前を示す「プロジェクト名」と、各プロジェクトファイルの改訂元となるプロジェクトファイルのリビジョン番号を示す「改訂元プロジェクト」との情報を有する。図示する例において、リビジョン番号「32」のプロジェクトファイルは、バージョンが「1.0.1(A社リリース)」であり、プロジェクト名が「プロジェクトB」であり、リビジョン番号が「31」のプロジェクトファイルを改訂して作成されたプロジェクトファイルであることを示す。このバージョン情報により、各プロジェクトファイルがそれぞれどのプロジェクトファイルを改訂して作成されたものであるかを把握することが可能となる。なお、バージョン情報は、対応付け情報、プロジェクト対応付け情報の一例である。
 図1に戻り、エラー解消部132は、データ保存部120に保存されたプロジェクト管理情報に基づき、エラーが発生した制御プログラムを含むプロジェクトファイルを特定する。具体的に、エラー解消部132は、ゲートウェイ300から、エラー情報を受信すると、エラー情報に含まれる装置IDを取得して、実行エラーが発生した制御装置200を特定する。次に、エラー解消部132は、図2に示すプロジェクト管理情報を参照して、取得した装置IDの制御装置200のメモリに現在書き込まれているプロジェクトファイルを特定する。例えば、エラー解消部132は、エラー情報から装置ID「620」を取得した場合、「書き込み履歴」の情報を読み出して、装置ID「620」に書き込まれた履歴のあるプロジェクトファイルは、リビジョン番号「31」、「33」、「38」であることを特定する。次に、エラー解消部132は、それぞれの「書き込み日時」の情報を読み出す。リビジョン番号「31」のプロジェクトファイルは、2023年2月1日の0時00分に書き込まれ、リビジョン番号「33」のプロジェクトファイルは、2023年7月1日の0時00分に書き込まれ、リビジョン番号「38」のプロジェクトファイルは、2023年8月1日の0時00分に書き込まれていることから、エラー解消部132は、書き込み日時の遅いリビジョン番号「38」のプロジェクトファイルにエラーが発生したと特定する。
 図1に戻り、エラー解消部132は、発生したエラーを解消するための更新用のプロジェクトファイルを特定する。具体的に、エラー解消部132は、図3に示すバージョン情報を参照して、エラーが発生したプロジェクトファイルがどのプロジェクトファイルを改訂して開発されたものかを示す改訂履歴を取得する。次に、エラー解消部132は、図2に示すプロジェクト管理情報を参照して、改訂履歴に含まれるエラー発生の実績を確認し、エラー実績のないプロジェクトファイルを更新用のプロジェクトファイルに決定する。エラー解消部132が更新用のプロジェクトファイルを特定する処理の詳細については、後述する。
 エラー解消部132は、実行エラーが発生した制御プログラムを含むプロジェクトファイルを改訂して作成された派生プロジェクトファイルを特定してユーザに通知する。これにより、ユーザは、実行エラーが発生したプロジェクトファイルと同じエラーが発生し得るプロジェクトファイルを事前に把握することが可能になる。エラー解消部132が派生プロジェクトファイルを特定する処理の詳細については、後述する。なお、エラー解消部132は、エラー発生プログラム特定手段、改訂元特定手段、更新プログラム決定手段、派生先特定手段、通知手段の一例であり、派生プロジェクトファイルは、派生プログラムの一例である。
 図1に戻り、アセット管理部140は、制御装置200のメモリにプロジェクト管理部130により特定された更新用のプロジェクトファイルを書き込む書き込み部141と、プロジェクトファイルに含まれる制御プログラムの実行エラーの発生を監視するエラー監視部142と、ゲートウェイ300と通信する通信部143と、を備える。
 書き込み部141は、エラーが発生した制御装置200のメモリに、プロジェクト管理部130により正常に動作すると特定された更新用のプロジェクトファイルを書き込む。具体的に、書き込み部141は、プロジェクト管理部130により特定されたリビジョン番号のプロジェクトファイルをデータ保存部120から取得する。次に、書き込み部141は、取得したプロジェクトファイルをエラーが発生した制御装置200に送信し、制御装置200のメモリに送信したプロジェクトファイルを書き込む。なお、プロジェクトファイルの書き込みは、書き込み部141が、取得したプロジェクトファイルとこのファイルの書き込みを要求するメッセージとを制御装置200に送信し、制御装置200が、受信した書き込み要求に基づき、制御装置200が備えるメモリに、受信したプロジェクトファイルを書き込むことにより、実行されてもよい。なお、書き込み部141は、書き込み手段の一例である。
 エラー監視部142は、制御プログラムの実行エラーの発生を監視する。具体的に、エラー監視部142は、ゲートウェイ300からのエラー情報を待ち受ける。エラー監視部142は、ゲートウェイ300からエラー情報を受信すると、受信したエラー情報をプロジェクト管理部130に送信する。
 通信部143は、プログラム管理装置100とゲートウェイ300との間の通信のためのネットワークインタフェースを含む。通信部143は、書き込み部141からの書き込み要求を、制御装置200に送信し、ゲートウェイ300からエラー情報を受信する。なお、通信部143は、取得手段の一例である。
 スケジュール管理部150は、更新用のプロジェクトファイルを制御装置200に書き込む日時を設定する。具体的に、スケジュール管理部150は、制御装置200から制御装置200の稼働状況を示す稼働データを取得して、制御装置200が過去に稼働した時間帯を割り出す。例えば、スケジュール管理部150は、過去1週間、過去1か月などの予め設定された期間内の稼働データに基づいて、図4に示す、制御装置200毎の稼働した実績のある時間帯を示す稼働状況テーブルを生成し、データ保存部120に保存する。更新用のプロジェクトファイルを書き込む日時を設定する際、ユーザは、図5に示すスケジュール設定画面上で設定操作を行う。スケジュール管理部150は、実行エラーが発生した制御装置200の機器IDと工場名と書き込み処理の開始予定日時を入力したスケジュール設定画面を表示部に表示させる。例えば、図示する機器ID「620」の例の場合、スケジュール管理部150は、現在の日付「9/7」をタイマから取得し、翌日の日付である「9/8」を開始予定日の日付としてフォームに入力する。次に、スケジュール管理部150は、図4に示す稼働状況テーブルを参照して、機器ID「620」の稼働実績がない時間「23:00」を開始予定時間としてフォームに入力する。ユーザにより設定ボタンが押下されると、スケジュール管理部150は、開始予定日時のフォームに入力された日時に、書き込み部141に書き込み処理を実行する指示信号を送信する送信タイマを設定する。なお、ユーザは、開始予定日時のフォームに入力された日時を変更してもよく、フォームに新たな日時を入力して、設定ボタンを押下することにより、ユーザにより変更された日時に基づく送信タイマが設定される。また、ユーザにより、稼働実績のある時間が入力された場合、スケジュール管理部150は、エラーメッセージを表示させて、時間を変更する旨をユーザに通知してもよい。また、スケジュール管理部150は、フォームにおいて、稼働実績のある時間は表示させないことにしてもよい。なお、スケジュール管理部150は、スケジュール設定手段の一例であり、稼働状況テーブルは、稼働実績情報の一例である。
 次に、図6を参照してプログラム管理装置100の物理的構成について説明する。プログラム管理装置100は、プログラムに従った処理を実行するプロセッサ11と、揮発性メモリであるRAM(Random Access Memory)12と、不揮発性メモリであるROM(Read Only Memory)13と、データを記憶する記憶部14と、情報の入力を受け付ける入力部15と、情報を可視化して表示する表示部16と、情報の送受信を行う通信部17と、を備え、これらが内部バス99を介して接続されている。
 プロセッサ11は、CPU(Central Processing Unit)を含む。プロセッサ11は、記憶部14に記憶されるプログラムをRAM12に読み出して実行することにより、各種処理を実行する。プロセッサ11は、プログラムにより提供される主要な機能として、プログラム作成部110、プロジェクト管理部130、アセット管理部140、スケジュール管理部150による処理を実行する。
 RAM12は、CPUのワークエリアとして使用される。ROM13は、プログラム管理装置100の基本動作のためにCPUが実行する制御プログラム、BIOS(Basic Input Output System)等を記憶する。
 記憶部14は、ハードディスクドライブを備え、CPUが実行するプログラムを記憶し、プログラム実行の際に使用される各種データを記憶する。記憶部14は、データ保存部120として機能する。
 入力部15は、キーボード、マウス等を備えるユーザインタフェースである。表示部16は情報を可視化して表示する液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等の表示装置である。
 通信部17は、ネットワークに接続する網終端装置または無線通信装置、およびそれらと接続するシリアルインタフェースまたはLANインタフェースである。通信部17は、外部から信号を受信して、この信号により示されるデータをプロセッサ11へ出力する。通信部17は、通信部143として機能する。
 次に、上記構成を有するプログラム管理装置100による動作について、図7を参照して説明する。
 プログラム管理装置100のデータ保存部120には、図2に示すプロジェクト管理情報と、図3に示すバージョン情報と、図4に示す稼働状況テーブルとが予め記憶されている。
 アセット管理部140の書き込み部141は、制御装置200のメモリにプロジェクトファイルを書き込む処理を行った場合、書き込んだプロジェクトファイルのリビジョン番号とプロジェクト名、対象の制御装置200の装置IDと工場名、書き込む処理を行った日時の情報を、図2に示すプロジェクト管理情報に追加して、更新する。また、エラー解消部132は、エラー情報を受信してエラーが発生したプロジェクトファイルを特定した場合、データ保存部120からプロジェクト管理情報を読み出して、特定したプロジェクトファイルのリビジョン番号と同列の「エラー発生履歴」に「あり」を入力してプロジェクト管理情報を更新する。なお、書き込み部141が制御装置200に書き込み要求メッセージを出力した場合、書き込み要求メッセージを出力した日時をプロジェクト管理情報に追加して更新すればよい。
 プロジェクトファイルの開発者は、新たなプロジェクトファイルを作成した場合、または、既存のプロジェクトファイルを改訂して新たなバージョン、または、新たなリビジョンのプロジェクトファイルを作成した場合、図3に示すバージョン情報を読み出して、「リビジョン番号」、「バージョン」、「プロジェクト名」、「改訂元プロジェクト」の項目に、情報を追加して、バージョン情報を更新する。
 スケジュール管理部150は、制御装置200から制御装置200の稼働状況を示す稼働データを取得して、制御装置200毎の稼働した実績のある時間帯を示す稼働状況テーブルを生成する。具体的に、スケジュール管理部150は、過去1週間、過去1か月などの予め設定された期間内の稼働データに基づいて、制御装置200が稼働した実績のある時間帯を割り出す。スケジュール管理部150は、例えば、1週間毎、1か月毎などの一定期間毎に、稼働状況テーブルを生成して、データ保存部120に保存する。
 図7に戻り、ユーザが入力部15を操作して、エラー解消処理の開始を要求すると、プログラム管理装置100は、処理を開始する。
 アセット管理部140のエラー監視部142は、制御プログラムの実行エラーが発生したことを示すエラー情報を待ち受ける(ステップS11)。エラー監視部142は、通信部143を介して、ゲートウェイ300からエラー情報を受信すると(ステップS12;Yes)、受信したエラー情報をプロジェクト管理部130に送信して、ステップS13の処理に移行する。一方、エラー監視部142は、エラー情報を受信していない場合(ステップS12;No)、エラー情報を受信するまで、エラー情報を待ち受ける(ステップS11)。
 プロジェクト管理部130のエラー解消部132は、エラー監視部142からエラー情報を受信すると、エラーが発生した制御プログラムを含むプロジェクトファイルを特定する(ステップS13)。具体的に、エラー解消部132は、エラー情報に含まれる制御装置200の装置IDを取得して、実行エラーが発生した制御装置200を特定する。次に、エラー解消部132は、図2に示すプロジェクト管理情報を参照して、取得した装置IDの制御装置200のメモリに現在書き込まれているプロジェクトファイルを特定する。
 例えば、エラー解消部132は、エラー情報から装置ID「620」を取得した場合、「書き込み履歴」の情報を読み出して、装置ID「620」に書き込まれた履歴のあるプロジェクトファイルは、リビジョン番号「31」、「33」、「38」であることを特定する。次に、エラー解消部132は、それぞれの「書き込み日時」の情報を読み出す。リビジョン番号「31」のプロジェクトファイルは、2023年2月1日の0時00分に書き込まれ、リビジョン番号「33」のプロジェクトファイルは、2023年7月1日の0時00分に書き込まれ、リビジョン番号「38」のプロジェクトファイルは、2023年8月1日の0時00分に書き込まれていることから、エラー解消部132は、書き込み日時の遅いリビジョン番号「38」のプロジェクトファイルが装置ID620の制御装置200のメモリに現在書き込まれているプロジェクトファイルであり、エラーが発生したプロジェクトファイルであると特定する。エラー解消部132は、プロジェクト管理情報のリビジョン番号「38」の「エラー発生履歴」に、実行エラーが発生したことを示す「あり」を追加し、更新する。なお、リビジョン番号「38」のプロジェクトファイルは、エラー発生プログラムの一例である。
 図7に戻り、次に、エラー解消部132は、発生したエラーを解消するための更新用のプロジェクトファイルを特定する(ステップS14)。具体的に、エラー解消部132は、図3に示すバージョン情報を参照して、エラーが発生した制御プログラムを含むプロジェクトファイルがどのプロジェクトファイルを改訂して開発されたものかを示す改訂履歴を取得する。例えば、ステップS13で特定したリビジョン番号「38」のプロジェクトファイルの場合、エラー解消部132は、バージョン情報の「改訂元プロジェクト」を読み出し、リビジョン番号「38」のプロジェクトファイルは、リビジョン番号「33」を改訂元とするプロジェクトファイルであると特定する。次に、エラー解消部132は、同様の処理により、リビジョン番号「33」のプロジェクトファイルは、リビジョン番号「31」を改訂元とするプロジェクトファイルであると特定する。これらの処理により、エラー解消部132は、リビジョン番号「31」、および、リビジョン番号「33」のプロジェクトファイルを、リビジョン番号「38」のプロジェクトファイルの改訂履歴として取得する。なお、リビジョン番号「31」、および、リビジョン番号「33」のプロジェクトファイルは、改訂元プログラムの一例である。
 図7に戻り、次に、エラー解消部132は、図2に示すプロジェクト管理情報を参照して、改訂履歴に含まれるプロジェクトファイルのエラー発生の実績を確認し、エラー実績のないプロジェクトファイルを更新用のプロジェクトファイルに決定する。具体的に、エラー解消部132は、プロジェクト管理情報の「エラー発生履歴」を読み出して、リビジョン番号「31」、および、「33」のプロジェクトファイルのエラー発生の実績を取得する。図示する例において、書き込み日時の新しいリビジョン番号「33」のプロジェクトファイルは、エラー発生履歴が「あり」であり、書き込み日時の古いリビジョン番号「31」のプロジェクトファイルは、エラー発生履歴が「なし」である。エラー解消部132は、エラー発生履歴がない、リビジョン番号「31」のプロジェクトファイルを更新用のプロジェクトファイルに決定する。エラー解消部132は、リビジョン番号「31」のプロジェクトファイルを更新用のプロジェクトファイルに決定した旨を書き込み部141に通知する。なお、リビジョン番号「31」のプロジェクトファイルは、更新プログラムの一例である。
 図8は、エラー解消部132により更新用のプロジェクトファイルが決定された結果を表示する表示画面の一例を示す。この表示画面の縦軸には、プロジェクトファイルのバージョンを示すバージョン情報が表示され、横軸には、プロジェクトファイルのリビジョン番号が表示される。また、実行エラーが発生したプロジェクトファイルのバージョン「1.0.3」とリビジョン番号「38」とが交差するセルと、ステップS14にて更新用のプロジェクトファイルとして決定されたプロジェクトファイルのバージョン「1.0.0」とリビジョン番号「31」とが交差するセルがそれぞれ強調されて表示される。また、各セルを結ぶ点線により、リビジョン番号「38」のプロジェクトファイルの改訂履歴と、リビジョン番号「38」のプロジェクトファイルを改訂して作成されたプロジェクトファイルとが可視化されて表示される。ユーザは、表示画面に表示された内容を確認し、「はい」のアイコンをクリックすることで、ステップS15に移行する。
 図7に戻り、次に、スケジュール管理部150は、ステップS14により特定された更新用のプロジェクトファイルを制御装置200のメモリに書き込むスケジュールを設定する(ステップS15)。具体的に、スケジュール管理部150は、図5に例示するスケジュール設定画面を表示部16に表示させ、ユーザの入力操作を受け付ける。スケジュール設定画面において、スケジュール管理部150は、対象の制御装置200の機器IDと、工場名とをそれぞれのフォームに入力する。次に、スケジュール管理部150は、データ保存部120に記憶されている図4に示す稼働状況テーブルを参照して、稼働実績のない時間帯を割り出し、開始予定日時のフォームに入力する。例えば、機器ID「620」が対象の制御装置200の場合、スケジュール管理部150は、現在の日付「9/7」をタイマから取得し、翌日の日付である「9/8」を開始予定の日付としてフォームに入力する。次に、スケジュール管理部150は、稼働状況テーブルを参照して、機器ID「620」の稼働実績がない「23:00」を開始予定時間としてフォームに入力する。ユーザにより設定ボタンが押下されると、スケジュール管理部150は、開始日時のフォームに入力された日時に、書き込み部141に書き込み処理を実行する指示信号を送信する送信タイマを設定する。
 図7に戻り、エラー解消部132は、実行エラーが発生した制御プログラムを含むプロジェクトファイルを改訂して作成された派生プロジェクトファイルがあるか否かを判定する(ステップS16)。具体的に、エラー解消部132は、図3に示すバージョン情報を参照して、派生プロジェクトファイルを特定する。エラー解消部132は、バージョン情報の「改訂元プロジェクト」に実行エラーが発生したプロジェクトファイルのリビジョン番号「38」を含むプロジェクトファイルを検索する。図示する例において、「改訂元プロジェクト」にリビジョン番号「38」を含むリビジョン番号「41」のプロジェクトファイルがあるため、エラー解消部132は、派生プロジェクトファイルがあると判定して(ステップS16;Yes)、リビジョン番号「41」のプロジェクトファイルを派生プロジェクトファイルとして特定する。次に、エラー解消部132は、図2に示すプロジェクト管理情報を参照して、リビジョン番号「41」のプロジェクトファイルが書き込まれた装置200は、装置ID「630」であると特定する。次に、エラー解消部132は、同様の処理により、リビジョン番号「41」のプロジェクトファイルを改訂して作成された派生プロジェクトファイルの有無を判定する。図示する例において、「改訂元プロジェクト」に、リビジョン番号「41」を含むプロジェクトファイルがないため、エラー解消部132は、リビジョン番号「41」のプロジェクトファイルを元とする派生プロジェクトファイルはないと判定する。
 次に、エラー解消部132は、ステップS16で特定した派生プロジェクトファイルをユーザに通知する(ステップS17)。具体的に、エラー解消部132は、図9に示す通知画面を生成して、派生プロジェクトファイルを特定したことを示す情報を表示部に表示させる。これにより、ユーザは、同じエラーが発生し得る制御プログラムを含むプロジェクトファイルを事前に把握することが可能になる。なお、エラー解消部132は、リビジョン番号「41」の派生プロジェクトファイルがあると判定した場合、この派生プロジェクトファイルのリビジョン番号を特定し、派生プロジェクトファイルがないと判定するまで処理を繰り返す。
 図7に戻り、次に、エラー解消部132は、ステップS16で特定した派生プロジェクトファイルに対する更新用のプロジェクトファイルを特定する(ステップS18)。具体的に、エラー解消部132は、ステップS14と同様の処理により、派生プロジェクトファイルの改訂履歴を取得し、改訂履歴に含まれるプロジェクトファイルのエラー発生の実績を確認して、エラー実績のないプロジェクトファイルを更新用のプロジェクトファイルに決定する。
 次に、スケジュール管理部150は、ステップS18により特定された更新用のプロジェクトファイルを、派生プロジェクトファイルが書き込まれている制御装置200のメモリに書き込むスケジュールを設定する(ステップS19)。具体的に、スケジュール管理部150は、ステップS15と同様に、図5に例示するスケジュール設定画面を表示部16に表示させ、ユーザの入力操作に応じてスケジュールを設定する。
 図7に戻り、ステップS16にて、エラー解消部132は、派生プロジェクトファイルがないと判定すると(ステップS16;No)、ステップS20に移行する。
 次に、スケジュール管理部150は、ステップS15、または、ステップS19にて設定したスケジュールの日時になり、送信タイマが満了したことを検知すると、書き込み部141に書き込み処理を実行する指示信号を送信する。書き込み部141は、指示信号を受信すると、ステップS14、または、ステップS18にて決定された更新用のプロジェクトファイルを制御装置200のメモリに書き込む処理を実行する(ステップS20)。具体的に、ステップS15で設定した書き込みを実行する場合、書き込み部141は、プロジェクト管理部130により決定されたリビジョン番号「31」のプロジェクトファイルをデータ保存部120から取得する。次に、書き込み部141は、取得したプロジェクトファイルをエラーが発生した制御装置200に送信し、エラー制御装置200のメモリに送信したプロジェクトファイルを書き込む。
 次に、書き込み部141は、図2に示すプロジェクト管理情報を更新する(ステップS21)。具体的に、書き込み部141は、プロジェクト管理情報を読み出して、ステップS20で書き込んだプロジェクトファイルのリビジョン番号「31」の「書き込み履歴」に、書き込み先の制御装置200の装置IDと工場名とを示す「工場B-装置ID:620」を追加し、書き込みを行った日時を「書き込み日時」に追加して、プロジェクト管理情報を更新し、処理を終了する。なお、ステップS18で特定した派生プロジェクトファイルに対する更新用のプロジェクトファイルの書き込みを実行した場合も、同様にプロジェクト管理情報を更新する。
 以上のように、制御装置200が実行する制御プログラムに実行エラーが発生した場合、プログラム管理装置100は、実行エラーが発生した制御プログラムを含むプロジェクトファイルの改訂履歴とエラー発生履歴とを参照して、エラー発生実績のないプロジェクトファイルを特定する。プログラム管理装置100は、特定したプロジェクトファイルを制御装置200のメモリに書き込む。したがって、少ない手間で、迅速に制御装置200に発生したエラーを解消することが可能となる。
 また、プログラム管理装置100は、実行エラーが発生した制御プログラムを含むプロジェクトファイルを改訂して作成された派生プロジェクトファイルを自動的に特定してユーザに通知する。したがって、ユーザは、発生した実行エラーと同じエラーが発生する可能性のあるプロジェクトファイルを予め把握することが可能となる。そして、実行エラーが発生する前に、制御装置200のメモリに更新用のプロジェクトファイルの書き込みをしたり、派生プロジェクトファイルの改訂作業を始めることができ、工場全体の信頼性を向上することができる。
 また、プログラム管理装置100は、更新用のプロジェクトファイルを書き込むスケジュールを自動的に生成する。ユーザは、生成されたスケジュールの日時を確認し、必要に応じて日時を変更することによりスケジュールを変更する。したがって、対象の制御装置200の稼働状況を人手で確認して、スケジュールを作成する手間が省けるため、少ない手間でプロジェクトファイルを更新することが可能となる。
 本開示の主旨を逸脱しない限り、上記実施の形態で挙げた構成を取捨選択したり、他の構成に適宜変更したりすることが可能である。
 上記実施の形態において、各制御装置200は、1つのプロジェクトファイルに含まれる制御プログラムをそれぞれ実行するものとして説明したがこれに限られない。制御装置200は、複数のCPUを備え、CPU毎に異なるプロジェクトファイルに含まれる制御プログラムを実行してもよい。この場合、制御装置200は、エラー情報に、CPUを識別する情報を付加して、ゲートウェイ300に送信すればよい。また、書き込み部141は、図2に示すプロジェクト管理情報の「書き込み履歴」に装置IDとCPUの識別情報とを追加すればよい。プロジェクト管理部130のエラー解消部132は、図7のステップS13の処理において、エラー情報に含まれる制御装置200の装置IDとCPUの識別情報とを取得して、プロジェクト管理情報を参照し、取得した装置IDの制御装置200のCPUに現在書き込まれているプロジェクトファイルを特定すればよい。また、図7のステップS20において、書き込み部141は、スケジュール管理部150から指示信号を受信すると、ステップS13で特定したCPUが読み出すメモリの領域に更新用のプロジェクトファイルを書き込む処理を実行すればよい。
 上記実施の形態において、プログラム管理装置100は、実行エラーが発生した制御装置200のメモリに更新用のプロジェクトファイルを書き込むものとして説明したがそれに限られない。プログラム管理装置100は、実行エラーが発生した制御装置200と同じプロジェクトファイルがメモリに書き込まれた他の制御装置200を特定して、これらのメモリに更新用のプロジェクトファイルを書き込んでもよい。具体的に、図2に示すプロジェクト管理情報において、図7のステップS13で特定したプロジェクトファイルが、複数の制御装置200のメモリに書き込まれている場合、エラー解消部132は、プロジェクト管理情報からそれぞれの制御装置200の装置IDを取得する。ステップS15において、スケジュール管理部150は、稼働状況テーブルを参照して、取得した装置IDの制御装置200それぞれの稼働実績のない時間帯を割り出す。スケジュール管理部150は、制御装置200それぞれの書き込み処理の開示予定日時をスケジュール設定画面に表示させ、書き込みスケジュールを設定する。ステップS20において、書き込み部141は、ステップS15で設定されたスケジュールにより送信された指示信号を受信すると、制御装置200のメモリにステップS14で特定されたプロジェクトファイルを書き込む。
 また、上記実施の形態では、プログラム管理装置100は、制御プログラムを含むプロジェクトファイルを管理することとして説明したがこれに限られず、制御プログラムを管理し、エラーが発生した制御装置200のメモリに制御プログラムを書き込むものであってもよい。
 また、データ保存部120が記憶する情報は、ネットワーク上に存在するクラウドサーバで一括管理され、プログラム管理装置100は必要に応じて当該クラウドサーバにアクセスして情報の読み書きを行うようにしてもよい。この場合プログラム管理装置100はデータ保存部120を備えなくてもよい。
 また、上記実施の形態において、1台のプログラム管理装置100により処理を実行することとしたが、システム構成は任意である。例えば、プログラム作成部110と、プロジェクト管理部130と、アセット管理部140と、スケジュール管理部150と、の機能のいずれかの機能を実現する複数の装置を備えるシステムによりプログラム管理装置100の機能を実現してもよい。
 また、プログラム管理装置100は、専用の装置によらず、通常のコンピュータシステムを用いて実現可能である。例えば、プログラム管理装置100における各機能を実現するためのプログラムを、コンピュータが読み取り可能なCD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)等の記録媒体に格納して配布し、このプログラムをコンピュータに書き込むことにより、上述の各機能を実現することができるコンピュータを構成してもよい。
 また、各機能をOS(Operating System)とアプリケーションとの分担、またはOSとアプリケーションとの協同により実現する場合には、アプリケーションのみを記録媒体に格納してもよい。
 また、本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この開示を説明するためのものであり、本開示の範囲を限定するものではない。すなわち、本開示の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
 100 プログラム管理装置、110 プログラム作成部、120 データ保存部、130 プロジェクト管理部、131 改訂履歴管理部、132 エラー解消部、140 アセット管理部、141 書き込み部、142 エラー監視部、143 通信部、150 スケジュール管理部、11 プロセッサ、12 RAM、13 ROM、14 記憶部、15 入力部、16 表示部、17 通信部、99 内部バス、200 制御装置、300 ゲートウェイ、400 ネットワーク。

Claims (8)

  1.  コンピュータを、
     機器を制御する制御装置により実行される制御プログラムの実行エラーが発生したことを示すエラー情報を取得する取得手段、
     取得されたエラー情報に含まれる前記制御装置の識別情報と、前記制御プログラムが複数の前記制御装置に書き込まれたそれぞれの実績を示す書き込み実績とに基づいて、実行エラーが発生した前記制御プログラムであるエラー発生プログラムを特定するエラー発生プログラム特定手段、
     各前記制御プログラムと、該制御プログラムを開発するために使用された制御プログラムである改訂元プログラムとを対応付けた対応付け情報に基づき、前記エラー発生プログラムの前記改訂元プログラムを特定する改訂元特定手段、
     前記制御プログラム毎の実行エラーが発生した実績を示すエラー履歴情報に基づいて、特定された前記改訂元プログラムの中から、実行エラーの発生実績がない前記改訂元プログラムを、更新用の前記制御プログラムである更新プログラムとして決定する更新プログラム決定手段、
     決定された前記更新プログラムを、前記エラー発生プログラムを実行した制御装置が備える記憶部に書き込む書き込み処理を実行する書き込み手段、
     として機能させる、プログラム。
  2.  前記書き込み実績は、前記制御装置により実行される前記制御プログラムを含むプロジェクトが書き込まれた実績を含み、
     前記エラー発生プログラム特定手段は、前記識別情報と前記書き込み実績とに基づいて、実行エラーが発生した前記エラー発生プログラムを含むプロジェクトを特定し、
     前記改訂元特定手段は、各プロジェクトと該プロジェクトの改訂元のプロジェクトとの対応付けを含むプロジェクト対応付け情報に基づき、前記エラー発生プログラムを含むプロジェクトの改訂元のプロジェクトを特定し、
     前記更新プログラム決定手段は、前記改訂元特定手段により特定された改訂元のプロジェクトの中から、実行エラーの発生実績がない前記改訂元プログラムを含むプロジェクトを更新用のプロジェクトとして決定し、
     前記書き込み手段は、決定された更新用の前記プロジェクトを、前記エラー発生プログラムを実行した制御装置が備える記憶部に書き込む、
     請求項1に記載のプログラム。
  3.  前記コンピュータを、
     前記対応付け情報に基づき、前記エラー発生プログラム特定手段により特定された前記エラー発生プログラムを改訂して作成された制御プログラムである派生プログラムを特定する派生先特定手段、
     前記派生先特定手段により特定された前記派生プログラムを通知する通知手段、
     としてさらに機能させる、請求項1または2に記載のプログラム。
  4.  前記コンピュータを、
     前記制御装置の稼働時間の実績を示す稼働実績情報に基づき、前記書き込み手段が前記書き込み処理を実行する日時を設定するスケジュール設定手段、
     としてさらに機能させる、請求項1から3のいずれか1項に記載のプログラム。
  5.  前記コンピュータを、
     機器を制御する制御装置により実行される制御プログラムを生成するプログラム生成手段、
     としてさらに機能させる、請求項1から4のいずれか1項に記載のプログラム。
  6.  機器を制御する制御装置により実行される制御プログラムの実行エラーが発生したことを示すエラー情報を取得する取得手段と、
     前記取得手段により取得されたエラー情報に含まれる制御装置の識別情報と、前記制御プログラムの書き込み実績とに基づいて、実行エラーが発生した前記制御プログラムであるエラー発生プログラムを特定するエラー発生プログラム特定手段と、
     各前記制御プログラムと、該制御プログラムを開発するために使用された制御プログラムである改訂元プログラムとを対応付けた対応付け情報に基づき、前記エラー発生プログラムの前記改訂元プログラムを特定する改訂元特定手段と、
     各前記制御プログラムのエラー履歴情報に基づいて、特定された前記改訂元プログラムの中から、実行エラーの発生実績がない前記改訂元プログラムを、更新用の前記制御プログラムである更新プログラムとして決定する更新プログラム決定手段と、
     決定された前記更新プログラムを、前記エラー発生プログラムを実行した制御装置が備える記憶部に書き込む書き込み処理を実行する書き込み手段と、
     を備える、プログラム管理装置。
  7.  請求項6に記載のプログラム管理装置と、
     機器を制御する制御装置により実行される制御プログラムの実行エラーが発生したことを示すエラー情報を送信する制御装置と、
     前記制御装置から送信されたエラー情報を取得して、前記プログラム管理装置に送信するゲートウェイと、
     を備えるプログラム管理システム。
  8.  機器を制御する制御装置により実行される制御プログラムの実行エラーが発生したことを示すエラー情報を取得するステップと、
     取得されたエラー情報に含まれる制御装置の識別情報と、前記制御プログラムの書き込み実績とに基づいて、実行エラーが発生した前記制御プログラムであるエラー発生プログラムを特定するステップと、
     各前記制御プログラムと、該制御プログラムを開発するために使用された制御プログラムである改訂元プログラムとを対応付けた対応付け情報に基づき、前記エラー発生プログラムの前記改訂元プログラムを特定するステップと、
     各前記制御プログラムのエラー履歴情報に基づいて、特定された前記改訂元プログラムの中から、実行エラーの発生実績がない前記改訂元プログラムを、更新用の前記制御プログラムである更新プログラムとして決定するステップと、
     決定された前記更新プログラムを、前記エラー発生プログラムを実行した制御装置が備える記憶部に書き込むステップと、
     を含む、プログラム管理方法。
PCT/JP2023/011946 2023-03-24 2023-03-24 プログラム、プログラム管理装置、プログラム管理システム、およびプログラム管理方法 Ceased WO2024201601A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2023/011946 WO2024201601A1 (ja) 2023-03-24 2023-03-24 プログラム、プログラム管理装置、プログラム管理システム、およびプログラム管理方法
JP2023551954A JP7415091B1 (ja) 2023-03-24 2023-03-24 プログラム、プログラム管理装置、プログラム管理システム、およびプログラム管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/011946 WO2024201601A1 (ja) 2023-03-24 2023-03-24 プログラム、プログラム管理装置、プログラム管理システム、およびプログラム管理方法

Publications (1)

Publication Number Publication Date
WO2024201601A1 true WO2024201601A1 (ja) 2024-10-03

Family

ID=89534349

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/011946 Ceased WO2024201601A1 (ja) 2023-03-24 2023-03-24 プログラム、プログラム管理装置、プログラム管理システム、およびプログラム管理方法

Country Status (2)

Country Link
JP (1) JP7415091B1 (ja)
WO (1) WO2024201601A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006243929A (ja) * 2005-03-01 2006-09-14 Fujitsu Peripherals Ltd 端末装置管理システム、端末装置管理方法、およびコンピュータプログラム
JP2008217168A (ja) * 2007-02-28 2008-09-18 Toshiba Corp バージョン管理装置
JP2011238007A (ja) * 2010-05-10 2011-11-24 Canon Inc 配信装置、プログラム配信システム、配信方法及びプログラム
JP2018200536A (ja) * 2017-05-26 2018-12-20 京セラドキュメントソリューションズ株式会社 画像形成システム、サーバー、及びファームウェア更新制御方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097447A (ja) * 2006-10-13 2008-04-24 Fuji Xerox Co Ltd 不具合解消装置及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006243929A (ja) * 2005-03-01 2006-09-14 Fujitsu Peripherals Ltd 端末装置管理システム、端末装置管理方法、およびコンピュータプログラム
JP2008217168A (ja) * 2007-02-28 2008-09-18 Toshiba Corp バージョン管理装置
JP2011238007A (ja) * 2010-05-10 2011-11-24 Canon Inc 配信装置、プログラム配信システム、配信方法及びプログラム
JP2018200536A (ja) * 2017-05-26 2018-12-20 京セラドキュメントソリューションズ株式会社 画像形成システム、サーバー、及びファームウェア更新制御方法

Also Published As

Publication number Publication date
JP7415091B1 (ja) 2024-01-16
JPWO2024201601A1 (ja) 2024-10-03

Similar Documents

Publication Publication Date Title
EP1351108B1 (en) Method and apparatus for programming
CN102713774B (zh) 可编程控制器系统及开发系统
US7117040B2 (en) Tool attachable to controller
CN113986237B (zh) Jenkins编译任务的创建方法、装置
JP5024036B2 (ja) プログラムの配信サーバ、配信システム、配信方法、および、配信対象プログラム
JP7119443B2 (ja) 情報処理装置、電子機器及び情報処理システム
US7555752B2 (en) Configurable levels of source control for the configuration of a process automation system
TWI719420B (zh) 資訊處理裝置、資訊處理方法及程式
WO2024201601A1 (ja) プログラム、プログラム管理装置、プログラム管理システム、およびプログラム管理方法
JP2008226005A (ja) 制御ソフトウェア部品の配布管理システム
JP6054008B1 (ja) データ管理装置、データ管理方法及びデータ管理プログラム
JP2018180722A (ja) データ管理システム
JP6576852B2 (ja) デバイス情報管理システム
JP2008123195A (ja) 不具合防止装置及びプログラム
JP2013175079A (ja) 分散データ管理システムおよびその動作方法
US11842116B2 (en) Screen data generating system, screen data generating method, and program
JP4567311B2 (ja) 開発管理システムおよび開発管理プログラム
JP7630747B1 (ja) 開発環境構築支援システム、開発環境構築支援装置、制御方法及び制御プログラム
TWI907922B (zh) 文件資訊提供方法及其電子裝置
CN115080351B (zh) 一种系统交互方法、装置、设备及介质
JP4666172B2 (ja) 制御システム設定管理システム
CN111819502A (zh) 数据管理系统、控制装置、数据管理装置、数据管理方法以及数据管理程序
JP2005316778A (ja) プラント監視制御装置
WO2024190554A1 (ja) サポート装置、制御方法、およびサポートプログラム
CN114787770A (zh) 系统构成信息管理装置及操作输入装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2023551954

Country of ref document: JP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23930242

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 23930242

Country of ref document: EP

Kind code of ref document: A1