CONTROL SYSTEM, PROGRAMMABLE LOGIC CONTROLLER, AND RECORDING MEDIUM

A control system includes a programmable logic controller to execute at least one program and a programming support device to create the program. In the control system, an end process time measurer measures an execution time of an end process performed after execution of the program in a single scanning process, and a display displays the execution time of the end process on a screen in the programming support device.

TECHNICAL FIELD

The present disclosure relates to a control system, a programmable logic controller, a visualization method, and a program.

BACKGROUND ART

A technique is known for displaying the execution time of a program in order to visualize the performance of the program being executed by a programmable logic controller (PLC). For example, Patent Literature 1 describes a technique for outputting, onto a monitor of a programming console, the execution time of a subroutine executed by the PLC.

CITATION LIST

Patent Literature

Patent Literature 1: Unexamined Japanese Patent Application Publication No. H7-121212

SUMMARY OF INVENTION

Technical Problem

Typically, each time execution of the program is completed, the PLC performs an end process including checking the operation of the PLC and logging for collecting device data. The PLC then repeatedly performs a single scanning process including a program execution process and an end process. Such a technique described in Patent Literature 1 above does not measure the execution time of the end process and cannot refer to the execution time of the end process, and thus may not easily allow identification of the cause of a trouble that may occur in the end process.

Under such circumstances, one or more aspects of the present disclosure are directed to a control system, a programmable logic controller, a visualization method, and a program for allowing reference to the execution time of an end process performed each time execution of the program is completed.

Solution to Problem

To achieve the above objective, a control system according to an aspect of the present disclosure includes a programmable logic controller to execute at least one program, a programming support device to create the at least one program, end process time measurement means for measuring an execution time of an end process performed each time execution of each of the at least one program is completed, and display means for displaying the execution time of the end process on a screen included in the programming support device.

Advantageous Effects of Invention

The control system, the programmable logic controller, the visualization method, and the program according to the above aspect of the present disclosure allow reference to the execution time of the end process performed each time execution of the program is completed.

DESCRIPTION OF EMBODIMENTS

Embodiments

A control system1according to an embodiment is a system for controlling factory automation (FA) devices (not illustrated) that are connected to a programmable logic controller (PLC). As illustrated inFIG.1, the control system1includes a PLC100and a programming support device200. The PLC100is connected to the programming support device200with a network cable (not illustrated) or wirelessly.

The PLC100controls the FA devices and executes a program created by a user. The PLC100according to the present embodiment includes a multi-core processor including multiple processor cores, and executes the program with the multi-core processor. The processor cores included in the multi-core processor are hereafter simply referred to as cores.

The programming support device200is used to create a program to be executed by the PLC100. The programming support device200includes a programming tool being installed. The programming tool is an application for creating a program to be executed by the PLC100. The user uses the programming tool to create a program to be executed by the PLC100. The programming tool can also visualize the performance of the PLC100executing the program. The user uses the programming tool to check the performance of the PLC100. The performance of the PLC100is indicated using indicators including scan time (described later).

The PLC100performs an end process after executing the program created by the user. The end process is performed each time execution of the program is completed. The end process includes various processes. Content of the end process may be set automatically when the program is created, or may be set by the user creating the program in the programming support device200. The end process includes, for example, checking the operation of the PLC100, logging to collect device data about the PLC, reading and writing data from an external device, and resetting a watchdog timer.

When a program is executed by each of the multiple cores, the end process performed by each core is to be started at the same time. Thus, to align the starting time of the end process with the core having the longest program execution time, the other cores each perform a standby process to wait until the core with the longest program execution time completes the program execution. The core with the longest program execution time does not perform the standby process.

Each processor core in the PLC100repeatedly performs a single scanning process including a program execution process, a standby process, and an end process. The time taken to perform the single scanning process is referred to as a scan time. The scan time is determined by the sum of the execution times of the program, the standby process, and the end process. The execution time of the standby process is hereafter referred to as a wait time. The control system1according to the present embodiment visualizes the scan time as well as the details of the scan time.

FIG.2illustrates the hardware configuration of the PLC100.

The PLC100includes a multi-core processor11that performs various processes, a main storage12used as a work area for the multi-core processor11, an auxiliary storage13that stores various sets of data used for processing performed by the multi-core processor11, a first communicator14that communicates with external devices including the programming support device200, and a second communicator15that communicates with the FA devices. The main storage12, the auxiliary storage13, the first communicator14, and the second communicator15are all connected to the multi-core processor11with a bus16.

The multi-core processor11is a central processing unit (CPU) with multiple cores. The multi-core processor11implements various functions of the PLC100by executing a program stored in the auxiliary storage13.

The main storage12includes a random-access memory (RAM). The program is loaded into the main storage12from the auxiliary storage13. The main storage12is used as the work area for the multi-core processor11.

The auxiliary storage13includes a nonvolatile memory such as an electrically erasable programmable read-only memory (EEPROM). In addition to the program, the auxiliary storage13stores various sets of data used for processing performed by the multi-core processor11. The auxiliary storage13provides data to be used by the multi-core processor11to the multi-core processor11as instructed by the multi-core processor11, and stores data provided by the multi-core processor11.

The first communicator14includes network interface circuitry for communicating with the external devices including the programming support device200. The first communicator14receives signals from the external devices and outputs data indicated by the signals to the multi-core processor11. The first communicator14transmits signals indicating data output from the multi-core processor11to the external devices.

The second communicator15includes network interface circuitry for communicating with the FA devices that are controlled by the PLC100. The second communicator15receives signals from the FA devices and outputs data indicated by the signals to the multi-core processor11. The second communicator15transmits signals indicating data output from the multi-core processor11to the FA devices.

FIG.3illustrates the hardware configuration of the programming support device200.

The programming support device200includes a processor21that performs various processes, a main storage22used as a work area for the processor21, an auxiliary storage23that stores various sets of data used for processing performed by the processor21, a communicator24for communicating with the external devices including the PLC100, an input device25for acquiring input information, and an output device26for presenting various sets of information. The main storage22, the auxiliary storage23, the communicator24, the input device25, and the output device26are all connected to the processor21with a bus27.

The processor21includes a CPU. The processor21implements various functions of the programming support device200by executing a program stored in the auxiliary storage23.

The main storage22includes a RAM. The program is loaded into the main storage22from the auxiliary storage23. The main storage22is used as the work area for the processor21.

The auxiliary storage23includes a nonvolatile memory such as an

EEPROM. In addition to the program, the auxiliary storage23stores various sets of data used for processing performed by the processor21. The auxiliary storage23provides data to be used by the processor21to the processor21as instructed by the processor21, and stores data provided by the processor21.

The communicator24includes network interface circuitry for communicating with the external devices including the PLC100. The communicator24receives signals from the external devices and outputs data indicated by the signals to the processor21. The communicator24transmits signals indicating data output from the processor21to the external devices.

The input device25includes an input device such as an input key or a pointing device. The input device25receives information input by the user of the programming support device200and provides the acquired information to the processor

The output device26includes an output device such as a liquid crystal display (LCD) or a speaker. The output device26may include a touchscreen integral with the pointing device as the input device25. The output device26presents the various sets of information to the user as instructed by the processor21.

The functions of the PLC100and the programming support device200are described below. In the example below, the multi-core processor11has four cores, or specifically, “Core 1”, “Core 2”, “Core 3”, and “Core 4”. The user-created programs are

The functions of the PLC100inFIG.1are described below first. The PLC100includes, as functional components, a program execution time measurer101that measures the program execution time, an end process time measurer102that measures the execution time of the end process, a calculator103that calculates the wait time, a storage104storing monitor information (described later), a size information responder105that transmits a size information response including information about the size of the monitor information to the programming support device200, a monitor information responder106that transmits a monitor information response including the monitor information to the programming support device200.

The program execution time measurer101measures the execution time of a program executed by each of the multiple cores. The program execution time measurer101is implemented by the multi-core processor11. The program execution time measurer101is an example of program execution time measurement means.

For example, the program execution time measurer101measures the execution times of “PRG 1” and “PRG 2” executed by “Core 1” as “3.000 [ms]” and “7.000 [ms]”, and measures the execution time of “PRG 3” executed by “Core 2” as “4.600 [ms]”.

The end process time measurer102measures the execution time of the end process performed by each of the multiple cores. The end process time measurer102is implemented by the multi-core processor11. The end process time measurer102is an example of end process time measurement means.

For example, the end process time measurer102measures the execution times of “FUNC 1” and “FUNC 2” executed by “Core 1” as “5.000 [ms]” and “3.000 [ms]”, and measures the execution time of “FUNC 3” executed by “Core 2” as “8.000 [ms]”.

The calculator103calculates the wait time taken to cause the end process performed by each of the multiple cores to start at the same time. The calculator103stores information about the program execution time, the execution time of the end process, and the wait time into the storage104. The calculator103is implemented by the multi-core processor11. The calculator103is an example of calculation means.

For example, the calculator103compares the execution times of programs executed by the cores and calculates the wait time by subtracting, from the execution time for a core with the longest measured program execution time, the execution time of the program executed by each of the other cores. In this case, when multiple program execution times are measured for one core, the sum of the program execution times is used to compare the program execution times for the cores. With the execution times of multiple programs measured for “Core 1”, the calculator103determines the sum of the program execution times as “10.000 [ms] (=3.000 [ms]+7.000 [ms])”, and compares the value with the program execution time “4.600 [ms]” for “Core 2”. The calculator103then subtracts “4.600 [ms]” from “10.000 [ms]” that is the sum of the program execution times for “Core 1”, and calculates “5.400 [ms]” as the wait time for “Core 2”.

The calculator103then stores, into the storage104, the execution times of “PRG 1” and “PRG 2” as “3.000 [ms]” and “7.000 [ms]” and the execution times of “FUNC 1” and “FUNC 2” as “5.000 [ms]” and “3.000 [ms]” for “Core 1”, and the execution time of “PRG 3” as “4.600 [ms]”, the execution time of “FUNC 3” as “8.000 [ms]”, and the wait time as “5.400 [ms]” for “Core 2”.

The calculator103also calculates statistical information about the program execution time, the execution time of the end process, and the wait time for each core, and stores the statistical information into the storage104. The statistical information is, for example, a maximum value, a minimum value, or a moving average. The calculator103measures a cumulative program execution count in each core and stores information about the cumulative program execution count into the storage104.

The storage104stores the monitor information including information about the program execution time, the execution time of the end process, the wait time, and the cumulative program execution count. The monitor information is to be displayed on the screen in the programming support device200. The storage104is implemented by the auxiliary storage13. The storage104is an example of storage means.

FIG.4is a schematic diagram of the areas of the storage104storing the monitor information. The storage104includes areas for storing information about multiple items included in the monitor information. The calculator103compares information of items such as the measured execution time and the calculated wait time with the information stored in the areas, corresponding to the respective items, to update the monitor information. The monitor information inFIG.4includes information about the program execution time, the cumulative program execution count, the wait time, and the execution time of the end process for each of the multiple cores. The program execution time, the cumulative program execution count, and the execution time of the end process each include the current value indicating the latest value and the statistical information.

In response to a size information request transmitted from the programming support device200, the size information responder105determines the size of the monitor information stored in the storage104, and transmits the size information response including the size information indicating the determined size to the programming support device200. The size information responder105is implemented by the multi-core processor11and the first communicator14. The size information responder105is an example of size information response means.

The size information request is a request transmitted from the programming support device200to acquire information about the size of monitor information. The information about the size of the monitor information indicates the size of the monitor information in the area of the storage104illustrated inFIG.4excluding a free space.

For example, when the size information responder105receives a size information request, the size information responder105calculates the size of the monitor information in the first to tenth rows, the fourteenth to twentieth rows, and the twenty-fourth to thirty-third rows in the areas of the storage104illustrated inFIG.4, and transmits a size information response including the size information indicating the calculated size to the programming support device200. The size determined is hereafter referred to as “X bytes”.

The monitor information responder106transmits a monitor information response including the monitor information stored in the storage104to the programming support device200in response to a monitor information request transmitted from the programming support device200. The monitor information responder106divides the monitor information by including the monitor information of the size specified in the monitor information request in the monitor information response and transmits the divided monitor information to the programming support device200. The monitor information responder106is implemented by the multi-core processor11and the first communicator14. The monitor information responder106is an example of monitor information response means.

The monitor information request is transmitted from the programming support device200to acquire monitor information. The monitor information request specifies the size of the monitor information to be included in the monitor information response.

For example, when the monitor information responder106receives a monitor information request specifying a size of “0.6X bytes”, the monitor information responder106specifies a “0.6X bytes” portion of monitor information among “X bytes” of monitor information stored in the storage104. For example, the monitor information responder106identifies monitor information with the size of “0.6X bytes” as information in the first to tenth rows and the fourteenth to twentieth rows in the areas of the storage104illustrated inFIG.4. The monitor information responder106then transmits a monitor information response including the identified information to the programming support device200. When the monitor information responder106receives a monitor information request specifying a size of “0.4X bytes”, the monitor information responder106transmits a monitor information response including monitor information stored in the storage104that has yet to be transmitted to the programming support device200. In other words, the monitor information responder106transmits, to the programming support device200, a monitor information response including information in the twenty-fourth to thirty-third rows in the areas of the storage104illustrated inFIG.4.

The functions of the programming support device200is described below with reference toFIG.1. The programming support device200includes, as functional components, a size information acquirer201for acquiring information about the size of monitor information, a monitor information acquirer202for acquiring monitor information, and a display203for displaying monitor information on a screen.

FIG.5illustrates monitor information displayed on the screen after being acquired by the programming support device200. A window300is displayed on the screen using the functions of the programming tool installed in the programming support device200.

The window300inFIG.5includes a button301to start displaying monitor information, a button302to end displaying monitor information, a bar graph303to indicate the details of scan time for each core, a table304including the value of the scan time for each core, a radio button305to display the current value in a table309or a table310, a radio button306to display the maximum value in the table309or the table310, a button307to display the program execution time in the table309, a button308to display the end program execution time in the table310, and the table309including the program execution time. When the button308is selected on the window300inFIG.5, the table310including the execution time of the end process is displayed in place of the table309including the program execution times as illustrated inFIG.6.

The bar graph303indicates the proportion of the program execution time, the wait time, and the execution time of the end process to the overall scan time. The table304includes the program execution time, the wait time, the execution time of the end process, and the scan time for each core. The table309including program execution times inFIG.5indicates the execution time and the cumulative execution count for every program executed by each core. The table310including the execution time of the end process inFIG.6indicates the execution time for every end process performed by each core and the total execution time of the end process performed by each core.

The size information acquirer201transmits the size information request to the PLC100to acquire size information of the monitor information to be displayed on the screen. The size information acquirer201is implemented by the processor21, the communicator24, and the input device25. The size information acquirer201is an example of size information acquisition means.

For example, when the user selects the button301, the size information acquirer201transmits a size information request to the PLC100to acquire size information of the monitor information to be displayed on the window300. The size information acquirer201then receives the size information response including the size information transmitted from the size information responder105.

The monitor information acquirer202compares the size indicated by the size information included in the size information response transmitted from the size information responder105with the size of information that can be included in a single monitor information response and determines the number of times of transmission of monitor information requests to the PLC100. The monitor information acquirer202then transmits the monitor information request to the PLC100by the determined number of times of transmission. The monitor information request is for acquiring monitor information to be displayed on the screen and specifies a size of the monitor information to be included in the monitor information response. The monitor information acquirer202is implemented by the processor21and the communicator24. The monitor information acquirer202is an example of monitor information acquisition means.

The size of information that can be included in a single monitor information response is, for example, the size of information that can be included in one packet used in communication between the programming support device200and the PLC100. Hereafter, the size of information that can be included in a single monitor information response is set to “0.6X bytes”. When the size information in the size information response indicates “X bytes”, the monitor information acquirer202determines that two packets are to be used to acquire the monitor information to be displayed on the screen, and determines that the number of times of transmission of monitor information is twice. The monitor information acquirer202transmits the monitor information request to the PLC100twice and acquires monitor information.

The monitor information acquirer202transmits, to the PLC100, a first monitor information request specifying a size of “0.6X bytes”. The monitor information acquirer202then receives, from the monitor information responder106, a monitor information response including “0.6X bytes” of monitor information. The monitor information response to the first monitor information request includes information in the first to tenth rows and the fourteenth to twentieth rows in the areas of the storage104illustrated inFIG.4. When receiving the monitor information response to the first monitor information request, the monitor information acquirer202transmits a second monitor information request specifying a size of “0.4X bytes” to the PLC100. The monitor information acquirer202then receives, from the monitor information responder106, a monitor information response including the remaining monitor information. The monitor information response to the second monitor information request includes information in the twenty-fourth to thirty-third rows in the areas of the storage104illustrated inFIG.4. In this manner, the monitor information acquirer202acquires the monitor information in the first to tenth rows, the fourteenth to twentieth rows, and the twenty-fourth to thirty-third rows in the areas of the storage104illustrated inFIG.4.

The display203displays, for each of the multiple cores, the program execution time, the wait time, and the execution time of the end process on the screen in the programming support device200. The display203is implemented by the processor21and the output device26. The display203is an example of display means.

For example, the display203displays information including the program execution time, the wait time, and the execution time of the end process as in the window300inFIG.5based on the monitor information acquired by the monitor information acquirer202.

A method for visualizing the scan time according to the present embodiment is described below with reference toFIGS.7and8.

FIG.7is a flowchart of a measurement process performed by the PLC100according to the present embodiment. The measurement process inFIG.7is, for example, a process performed when an operation to execute a program is input from the user.

The program execution time measurer101measures the execution time of the program executed by each of the multiple cores (step S101).

For example, the program execution time measurer101measures the execution time of “PRG 1” and “PRG 2” executed by “Core 1” and the execution time of “PRG 3” executed by “Core 2”.

The program execution time measurer101determines whether execution of the program for each core is complete (step S102). When the program execution time measurer101determines that program execution on each core is complete (Yes in step S102), the end process time measurer102measures the execution time of the end process performed by each of the multiple cores (step S103). In contrast, when determining that execution of the program performed by each core is incomplete (No in step S102), the end process time measurer102remains on standby.

For example, when “Core 1” completes execution of “PRG 1” and “PRG 2” and “Core 2” completes execution of “PRG 3”, the end process time measurer102measures the execution times of “FUNC 1” and “FUNC 2” executed by “Core 1”, and the execution time of “FUNC 3” executed by “Core 2”. In contrast, when execution of the program by “Core 1” or “Core 2” is incomplete, the end process time measurer102remains on standby.

The end process time measurer102determines whether execution of the end process by each core is complete (step S104). When the end process time measurer102determines that execution of the end process by each core is complete (Yes in step S104), the calculator103calculates the wait time for each core (step S105). In contrast, when determining that execution of the end process by each core is incomplete (No in step S104), the calculator103remains on standby.

For example, when “Core 1” completes execution of “FUNC 1” and “FUNC 2” and “Core 2” completes execution of “FUNC 3”, the calculator103calculates the wait time for “Core 2” as “5.400 [ms]”. In contrast, when determining that the end process performed by “Core 1” or “Core 2” is incomplete, the calculator103remains on standby.

The calculator103stores information about the program execution time, the execution time of the end process time, and the wait time into the storage104(step S106).

For example, the calculator103stores, into the storage104, the execution times of “3.000 [ms]” of “PRG 1” and “7.000 [ms]” of “PRG 2”, and “5.000 [ms]” of “FUNC 1” and “3.000 [ms]” of “FUNC 2” for “Core 1”, and the execution times of “4.600 [ms]” of “PRG 3” and “8.000 [ms]” of “FUNC 3”, and the wait time of “5.400 [ms]” for “Core 2”.

FIG.8is a sequence diagram illustrating processes performed between the PLC100and the programming support device200in the present embodiment.

The size information acquirer201in the programming support device200transmits a size information request to the PLC100to acquire size information of the monitor information to be displayed on the screen (step S201).

For example, when the user selects the button301, the size information acquirer201transmits a size information request to the PLC100to acquire size information of the monitor information to be displayed on the window300.

When receiving the size information request from the size information acquirer201, the size information responder105in the PLC100calculates the size of the monitor information stored in the storage104(step S202). The size information responder105then transmits a size information response including size information indicating the calculated size to the programming support device200(step S203).

For example, when receiving the size information request, the size information responder105calculates “X bytes” as the size of the monitor information in the first to tenth rows, the fourteenth to twentieth rows, and the twenty-fourth to thirty-third rows in the areas of the storage104illustrated inFIG.4. The size information responder105then transmits a size information response including the size information indicating the calculated size to the programming support device200.

When receiving the size information response from the size information responder105, the monitor information acquirer202in the programming support device200compares the size indicated by the size information included in the size information response with the size of information that can be included in a single monitor information response to determine the number of times n (n is a natural number greater than or equal to 1) of transmission of a monitor information request to the PLC100(step S204). The monitor information acquirer202then transmits the monitor information request to the PLC100by the determined number of times of transmission (step S205). The monitor information request is for acquiring monitor information to be displayed on the screen and specifies a size of the monitor information to be included in the monitor information response.

When receiving the monitor information request from the monitor information acquirer202, the monitor information responder106in the PLC100transmits a monitor information response including monitor information of the specified size to the programming support device200(step S206). Steps S205and S206are repeated by n number of times of transmission.

For example, when the size of information that can be included in a packet is set to “0.6X bytes” and the size information in the size information response indicates “X bytes”, the monitor information acquirer202determines that the number of times of transmission of a monitor information request is twice to acquire the monitor information to be displayed on the screen. The monitor information acquirer202then transmits the first monitor information request specifying a size of “0.6X bytes” to the PLC100. When receiving the first monitor information request, the monitor information responder106transmits a first monitor information response including monitor information of the size specified in the first monitor information request to the programming support device200. When receiving the first monitor information response, the monitor information acquirer202transmits the second monitor information request specifying a size of “0.4X bytes” to the PLC100. When receiving the second monitor information request, the monitor information responder106transmits a second monitor information response including monitor information of the size specified in the second monitor information request to the programming support device200. The monitor information acquirer202then receives the second monitor information response.

When receiving n monitor information responses from the monitor information acquirer202, the display203in the programming support device200displays the monitor information included in the received monitor information responses on the screen (step S207).

For example, the display203displays information including the program execution time, the wait time, and the execution time of the end process as on the window300inFIG.5based on the monitor information acquired by the monitor information acquirer202.

The structure according to the present embodiment visualizes the execution time of the end process performed each time execution of the program is completed. This facilitates identification of the cause of a trouble that may occur in the end process.

The structure according to the present embodiment can also measure the program execution time, the wait time, and the execution time of the end process for each core and visualize these times. This allows the user to optimize allocation of the program and the end process to each core and easily distribute the load. This may also allow the user to easily achieve consideration of shortening the scan time and identification of the cause of a trouble that may occur in executing a program created by the user.

The programming support device in the present embodiment can also specify the size of monitor information to be displayed on the screen to allow transmission of the monitor information of the specified size from the PLC. This minimizes the communication load between the programming support device and the PLC without involving transmission and reception of any unintended information other than monitor information to be displayed on the screen in the communication.

When the number of programs executed by the PLC changes as a result of writing programs while the control system is operating, monitor information acquired from the PLC may have the size exceeding the maximum size of a single packet. In the present embodiment, the programming support device determines information about the size of the monitor information before acquiring the monitor information, and acquires the monitor information with multiple packets when the size of the monitor information exceeds the size of a single packet. This allows flexible acquisition of monitor information when the number of programs executed changes.

Modifications

Although the embodiment of the present disclosure is described above, various forms of variations and applications are possible in implementing the present disclosure.

In the above embodiment, the program execution time measurer101may further measure the execution time of an interrupt program included in the program. The display203may then display the execution time of the interrupt program on the screen. In this case, the storage104further stores information about the execution time of the interrupt program and the execution count of the interrupt program, and the monitor information includes information about the execution time of the interrupt program and the execution count of the interrupt program.

For example, “PRG3” executed by “Core 2” includes interrupt program A that is executed twice in “PRG3”. In this case, the program execution time measurer101measures the execution time of “interrupt program A”. As illustrated in the table309inFIG.9, the display203displays, for “interrupt program A”, the execution time of “1.000 [ms]” and the cumulative execution count of “2 times”.

This structure allows the user designing an interrupt program to identify the degree by which the interrupt program can affect the scan time, thus facilitating the design of the interrupt program. In addition, when the interrupt program as designed increases the scan time, the user can easily identify the cause of such an increase in the scan time.

In the above embodiment, the monitor information is displayed on the screen in the programming support device200, but the embodiment is not limited to this structure. The monitor information may be displayed on the screen in another device connected to the PLC100or on the screen in the PLC100.

In addition, the operation program describing the operation of the PLC100and the programming support device200in the above embodiment may be used for an existing personal computer or an existing information terminal device to allow the personal computer or the information terminal device to function as the PLC100and the programming support device200.

Such a program may be distributed in any manner. For example, the program may be distributed as being stored in a non-transitory computer-readable recording medium such as a compact disk read-only memory (CD-ROM), a digital versatile disc (DVD), or a memory card, or may be distributed through a communication network such as the Internet.

INDUSTRIAL APPLICABILITY

The control system, the programmable logic controller, the visualization method, and the program according to the embodiments of the present disclosure allow reference to the execution time of the end process performed each time execution of the program is completed.

REFERENCE SIGNS LIST