Display device and display method
The display device for PLCs addresses the space limitations in conventional systems by employing multiple views and scrolling, allowing users to view and develop user programs efficiently without disruption.
Patent Information
- Application Number
- JP2022062122
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-04-01
- Publication Date
- 2025-12-09
- Estimated Expiration
- 2042-04-01
AI Technical Summary
Conventional display technologies for programmable logic controllers (PLCs) lack sufficient space to simultaneously display subprograms beyond the third level, requiring users to perform special operations, which disrupts their thought process.
A display device that displays user programs with a hierarchical structure by using multiple views, allowing seamless scrolling to accommodate deeper levels of subprograms, ensuring continuous visibility without interrupting the user's thought process.
Enables simultaneous viewing of multiple levels of subprograms without requiring special operations, maintaining uninterrupted user interaction and enhancing development efficiency.
Smart Images

Figure 0007782357000001 
Figure 0007782357000002 
Figure 0007782357000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a display device and a display method for displaying a user program executed in a programmable logic controller. [Background technology]
[0002] Control devices such as programmable logic controllers (PLCs) are being introduced in various manufacturing sites. These control devices are a type of computer that executes user programs designed for manufacturing devices or manufacturing facilities. These user programs are created in a development environment that is prepared separately from the control devices.
[0003] As an example of a device that provides such a development environment, Patent Document 1 discloses an information processing device that supports the development of a user program to be executed by a control device that controls a control target, the information processing device comprising: an acceptance means for accepting user operations; a storage means for storing user programs created or updated by a user; and a display means for displaying the user programs stored in the storage means, wherein the user programs include a first program defined using formal arguments and a second program having a call instruction for specifying actual arguments to call the first program, and when the display means displays the contents of the first program in association with the call instruction in the second program in response to user operations, the display means reflects the actual arguments specified in the call instruction in the formal arguments in the first program. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent Publication No. 2021-26642 Summary of the Invention [Problem to be solved by the invention]
[0005] In the above-mentioned conventional technology, when the hierarchical structure of subprograms up to the third level is displayed simultaneously on the display screen as shown in FIG. 10 of Patent Document 1, there is no more display space on the display screen. Therefore, if a user wants to simultaneously view a subprogram in the third level and a subprogram in the fourth level, they must perform a special operation such as adjusting the display window. This causes a problem in the conventional technology, in that the user's thinking is disturbed when viewing a user program.
[0006] An object of one aspect of the present invention is to prevent a user's thoughts from being interrupted when a user program executed in a programmable logic controller is displayed. [Means for solving the problem]
[0007] In order to solve the above-mentioned problems, a display device according to one aspect of the present invention is a display device that displays a user program executed in a programmable logic controller on a display screen, the user program including at least a first subprogram having at least one first function element and a second subprogram having at least one second function element, the display device including a display control unit that displays the at least one first function element included in the first subprogram in a first view included in the display screen, and when any of the at least one first function element displayed in the first view is selected by a user, the display control unit displays the selected first function element. The at least one second function element included in the second subprogram called by the function element is displayed in a second view adjacent to the first view on the display screen, and when any of the at least one second function element displayed in the second view is selected, a third view is placed next to the second view so as to face the first view across the second view, and when the third view at least partially extends beyond the display screen, the first to third views are scrolled until the entire second view and the entire third view are displayed on the display screen, and information regarding the selected second function element is displayed in the third view after scrolling.
[0008] According to the above configuration, when a user selects any of the second function elements displayed in the second view, the display device displays information about the selected second function element on the display screen while leaving the display of the second subprogram that called it on the display screen. Therefore, the user can simultaneously refer to the second program that called it and the information about the selected second function element. This allows the display device to prevent the user's thoughts from being interrupted when the user refers to the user program on the display screen.
[0009] In one embodiment, the user program further includes a third subprogram having at least one third function element, and the display control unit displays the at least one third function element included in the third subprogram called by the selected second function element in the third view after scrolling.
[0010] According to the above configuration, when a user selects any of the second function elements displayed in the second view, the display device displays on the display screen the third function element of the third program called by the selected second function element, while leaving the display of the calling second subprogram on the display screen. Therefore, the user can simultaneously refer to the calling second subprogram and the selected third subprogram. This allows the display device to prevent the user's thoughts from being interrupted when the user refers to the user program on the display screen.
[0011] In one embodiment, the user program further includes a fourth subprogram having at least one fourth function element, and when any of the at least one third function element displayed in the third view is selected, the display control unit places the fourth view next to the third view so as to face the second view across the third view, and when the fourth view at least partially extends beyond the display screen, scrolls the first to fourth views until the entire third view and the entire fourth view are displayed on the display screen, and displays the at least one fourth function element included in the fourth subprogram called by the selected third function element in the fourth view after scrolling.
[0012] According to the above configuration, when a user selects any of the third function elements displayed in the third view, the display device displays on the display screen the fourth function element of the fourth program called by the selected third function element, while leaving the display of the calling third subprogram on the display screen. Therefore, the user can simultaneously refer to the calling third subprogram and the selected fourth subprogram. This allows the display device to prevent the user's thoughts from being interrupted when the user refers to the user program on the display screen.
[0013] In one embodiment, the display control unit displays setting items related to variables used as arguments of the selected second function element in the third view after scrolling.
[0014] According to the above configuration, the efficiency of user program development by the user can be improved.
[0015] In one embodiment, the display control unit displays a list of variables used as arguments of the selected second function element in the third view after scrolling.
[0016] According to the above configuration, the efficiency of user program development by the user can be improved. [Effects of the Invention]
[0017] According to one aspect of the present invention, it is possible to prevent the user's thoughts from being disturbed when a user program executed in a programmable logic controller is displayed on a screen. [Brief explanation of the drawings]
[0018] [Figure 1] 1 is a block diagram showing a configuration of an information processing device according to an embodiment of the present invention; [Figure 2] FIG. 10 is a diagram showing the configuration of an LD program. [Figure 3] FIG. 2 is a diagram showing the configuration of a program POU. [Figure 4] FIG. 1 is a diagram illustrating the configuration of an FBPOU. [Figure 5] FIG. 10 is a flowchart showing the flow of display processing of the LD program executed by the information processing device. [Figure 6] FIG. 10 is a diagram illustrating a specific configuration example of an LD program. [Figure 7] 7 is a diagram showing a specific example of the configuration of a program POU included in the LD program shown in FIG. 6. FIG. [Figure 8] 7 is a diagram showing a specific example of the configuration of an FBPOU included in the LD program shown in FIG. 6. FIG. [Figure 9] FIG. 10 is a diagram showing a display screen of a display unit including a caller view in which each function element of a program POU is displayed. [Figure 10] 10 is a diagram showing a display screen of a display unit on which a program POU and an FBPOU called by the program POU are displayed. FIG. [Figure 11] FIG. 10 is a flowchart showing the flow of display processing of the LD program executed by the information processing device. [Figure 12] FIG. 10 is a diagram showing a display screen in which a new called view is placed immediately to the right of an existing called view. [Figure 13] FIG. 10 is a diagram illustrating a display screen on which an existing callee view and a new callee view are displayed. [Figure 14] FIG. 10 is a diagram showing a display screen in which function elements of an FBPOU are displayed in a new callee view. [Figure 15] FIG. 10 is a diagram illustrating a display screen on which a callee view is arranged, displaying setting items related to variables used as arguments of a function element selected by a user. [Figure 16] FIG. 10 is a diagram showing a display screen on which a callee view is arranged, displaying a list of variables used as arguments of a function element selected by a user. [Figure 17] FIG. 10 is a diagram showing a display screen in which a new called view is placed immediately to the right of an existing called view. [Figure 18]FIG. 10 is a diagram illustrating a display screen on which an existing callee view and a new callee view are displayed. DETAILED DESCRIPTION OF THE INVENTION
[0019] [Embodiment 1] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment according to one aspect of the present invention (hereinafter also referred to as "the present embodiment") will be described below with reference to the drawings.
[0020] §1 Application Examples An example of a situation in which the present invention is applied will be described with reference to Fig. 1 and Figs. 12 to 14. An information processing device according to this embodiment is realized as an information processing device 1 shown in Fig. 1. The information processing device 1 has a function of displaying, on a screen, an LD (Ladder Diagram) program 20 executed in a programmable logic controller. The LD program 20 is a user program written in a ladder diagram defined in the international standard IEC61131-3. The LD program 20 is executed in a programmable logic controller (PLC) that controls various devices to be controlled.
[0021] As shown in Fig. 1, the information processing device 1 includes a display control unit 12. As shown in Fig. 6, the LD program 20 includes programs POU21, FBPOU22A, FBPOU22B, and FBPOU22C. As shown in Fig. 7, the program POU21 includes a function element 30. As shown in Fig. 12, the display control unit 12 of the information processing device 1 displays each function element 30 (FB1 to FB3) of the program POU21 in a caller view 51 arranged on the display screen of the display unit 6.
[0022] As shown in Fig. 8, the FBPOU22A includes a plurality of function elements 42A. As shown in Fig. 12, the display control unit 12 displays each of the function elements 42A (FB11 to FB14) of the FBPOU22A that is called by any of the function elements 30 selected by the user in a callee view 52 adjacent to the caller view 51. This allows the user to simultaneously refer to the program POU21 and the FBPOU22A.
[0023] 12, when the user selects any of the function elements 42A displayed in the callee view 52, the display control unit 12 places a new callee view 53 next to the callee view 52 so as to correspond to the caller view 51 with the callee view 52 in between. When the callee view 53 is at least partially outside the display screen as shown in FIG. 12, the display control unit 12 scrolls the caller view 51, the callee view 52, and the callee view 53 to the left until the entirety of each of the callee views 52 and 53 is displayed on the display screen, as shown in FIG.
[0024] As shown in FIG. 8, the FBPOU 22B includes multiple function elements 42B. The display control unit 12 displays information about the function element 42A selected by the user in the callee view 53 after scrolling. For example, as shown in FIG. 14, the display control unit 12 displays each function element 42B of the FBPOU 22B called by the function element 42A in the callee view 53. Alternatively, as shown in FIG. 15 or 16, the display control unit 12 may display some information about the function element 42A in the callee view 53 after scrolling, instead of each function element 42B of the FBPOU 22B.
[0025] As described above, when the function element 42A is selected by the user, the information processing device 1 displays information about the selected function element 42 on the display screen while leaving the display of the FBPOU 22A from which it was read on the display screen. Therefore, the user can simultaneously refer to the FBPOU 22A from which it was read and the information about the selected function element 42. This allows the information processing device 1 to prevent the user's thinking from being disturbed when the user refers to the LD program 20.
[0026] §2 Configuration example (Configuration of information processing device 1) 1 is a block diagram showing the configuration of an information processing device 1 according to one embodiment of the present invention. The information processing device 1 (display device) is a device for supporting the development of an LD program 20. The information processing device 1 has, as a function for supporting the development of the LD program 20, for example, an editor function for editing or updating the LD program 20. The editor function may include an online editor function and an offline editor function.
[0027] The information processing device 1 may not have an editor function, but may have only a function for displaying the LD program 20, for example, as a function for supporting the development of the LD program 20.
[0028] 1, the information processing device 1 includes a control unit 2, an input unit 4, a display unit 6, and a storage unit 8. The control unit 2 includes an input control unit 11, a display control unit 12, and a program creation unit 13.
[0029] The storage unit 8 holds an LD program 20 created or edited by a user. The storage unit 8 is typically a hard disk that holds various programs executed in the information processing device 1 in a non-volatile manner.
[0030] The LD program 20 is a user program written in a ladder diagram defined in the international standard IEC 61131-3. The LD program 20 is executed in a PLC that controls various devices to be controlled.
[0031] (LD Program 20 Structure) Fig. 2 is a diagram showing the configuration of an LD program 20. In the example of Fig. 2, the LD program 20 (user program) includes one program POU 21 and at least one FBPOU 22. A POU is called a Program Organization Unit and is a functional unit that constitutes the LD program 20. An FB is called a Function Block and is a functional unit included in each LD program 20.
[0032] Program POU21 is the main program in the LD program 20. FBPOU22 is a subprogram in the LD program 20. In the LD program 20, program POU21 and multiple FBPOU22 have a hierarchical relationship. Program POU21 is located at the first level. FBPOU22, which is directly called by program POU21, is located at the next level, the second level. FBPOU22, which is called by FBPOU22 located at the second level, is located at the next level, the third level.
[0033] When the PLC executes the LD program 20, it first executes the program POU 21. While executing the program POU 21, the PLC calls and executes one of the multiple FBPOU 22 as needed. While executing the called FBPOU 22, the PLC reads and executes another FBPOU 22 as needed.
[0034] (Configuration of program POU21) FIG. 3 is a diagram showing the configuration of program POU21. In the example of FIG. 3, program POU21 includes at least one function element 30. The function element 30 is an element that defines an FB that is executed when program POU21 is executed. Each function element 30 includes position information, a function name, an argument name, and a function ID. The position information indicates the display position of the corresponding function element 30 when it is displayed on the display screen. The function name is the name of the corresponding function element 30. The argument name is an argument used when the corresponding function element 30 is executed. The function ID is an identifier for individually identifying the corresponding function element 30.
[0035] (Configuration of FBPOU22) Fig. 4 is a diagram showing the configuration of an FBPOU 22. In the example of Fig. 4, the FBPOU 22 includes at least one FB element 40. Each FB element 40 includes IF information 41 and a function element 42. Therefore, it can be said that the FBPOU 22 includes at least one function element 42.
[0036] The IF information 41 is information about the interface of the FB element 40. The IF information 41 is public information of the FB for using the corresponding FB element 40 from outside the FBPOU 22. The development environment of the LD program provides the developer writing the LD program with the function name, argument names, and number of functions of the called FB element 40 through the IF information 41. The developer can write the called subprogram based on the IF information 41.
[0037] The IF information 41 includes a function name, an argument name, and a function ID. The function name of the IF information 41 is the name of the corresponding function element 42. The argument name of the IF information 41 is an argument passed to the function element 42 when the corresponding function element 42 is executed. The function ID of the IF information 41 is an identifier for individually identifying the corresponding function element 42.
[0038] A function element 42 includes position information, a function name, an argument name, and a function ID. The position information indicates the display position of the corresponding function element 42 when it is displayed on the display screen. The function name is the name of the corresponding function element 42. The argument name is an argument passed to the function element 42 when the corresponding function element 42 is executed. The function ID is an identifier for individually identifying the corresponding function element 42.
[0039] As shown in FIG. 1, the storage unit 8 further stores control setting information 81 and variable information 82 related to the LD program 20. The control setting information 81 is information related to the control settings of a control object (such as a motor) controlled by the PLC that executes the LD program 20. The variable information 82 is information related to variables used as arguments by the LD program 20. The control setting information 81 includes information related to all parameters that can be set for each control object controlled by the PLC that executes the LD program 20. The variable information 82 includes information related to all variables used as arguments by each function element 42 included in the LD program 20.
[0040] §3 Control Examples Fig. 5 is a flowchart showing the flow of display processing of the LD program 20 executed by the information processing device 1. Fig. 6 is a diagram showing a specific configuration example of the LD program 20. The following will explain an example in which the information processing device 1 displays the LD program 20 shown in Fig. 6 on the display screen of the display unit 6. In the example of Fig. 6, the LD program 20 (user subprogram) includes programs POU21 (first subprogram), FBPOU22A (second subprogram), FBPOU22B (third subprogram), and FBPOU22C (fourth subprogram).
[0041] Fig. 7 is a diagram showing a specific example of the configuration of a program POU21 included in the LD program 20 shown in Fig. 6. In the example of Fig. 7, the program POU21 includes a function element 30-1 (first function element), a function element 30-2 (first function element), and a function element 30-3 (first function element). The function elements 30-1 to 30-3 are FBs corresponding to different functions in the PLC. For the sake of simplicity, Fig. 7 shows only the function IDs of the information included in each function element 30. The function element 30-1 includes a function ID1, the function element 30-2 includes a function ID2, and the function element 30-3 includes a function ID3.
[0042] FIG. 8 is a diagram showing a specific example of the configuration of the FBPOUs 22A to 22C included in the LD program 20 shown in FIG. 6. For ease of explanation, FIG. 8 omits the illustration of the IF information 41 included in each FB element 40. Furthermore, of the information included in the function element 42 included in each FB element 40, only the function ID is shown. In the example of FIG. 8, the FBPOU 22A includes four FB elements 40, namely, FB element 40A-1, FB element 40A-2, FB element 40-3, and FB element 40-4. The FBPOU 22B includes two FB elements 40, namely, FB element 40B-1 and FB element 40B-2. The FBPOU 22C includes one FB element 40C-1.
[0043] In FBPOU22A, FB element 40A-1 includes function element 42A-1 (second function element), which further includes function ID2. As shown in FIGS. 7 and 8, function ID2 included in function element 30-2 and function ID2 included in function element 42A-1 are identical. This means that when program POU21 is executed, function element 30-2, which includes function ID2, calls FBPOU22A, which includes the same function ID2. In FBPOU22A, FB element 40A-2 includes function element 42A-2 (second function element), which further includes function ID12. FB element 40A-3 includes function element 42A-3 (second function element), which further includes function ID13. The FB element 40A-4 includes a function element 42A-4 (second function element), and the function element 42A-4 further includes a function ID14.
[0044] In FBPOU22B, FB element 40B-1 includes function element 42B-1 (third function element), which in turn includes function ID 21. FB element 40B-2 includes function element 42B-2 (third function element), which in turn includes function ID 14. As shown in FIGS. 7 and 8, function ID 14 included in function element 42A-4 and function ID 14 included in function element 42B-1 are the same. This means that when FBPOU22A is executed, function element 42A-4, which includes function ID 14, calls FBPOU22B, which includes the same function ID 14.
[0045] In FBPOU22C, FB element 40C-1 includes function element 42C-1 (fourth function element), which in turn includes function ID 21. As shown in Figures 7 and 8, function ID 21 included in function element 42B-2 and function ID 21 included in function element 42C-1 are the same. This means that when FBPOU22B is executed, function element 42B-2, which includes function ID 21, calls FBPOU22C, which includes the same function ID 21.
[0046] 5, the user inputs an operation to select a program POU21 to be displayed into the input unit 4. In step S1, the input control unit 11 accepts the user's selection operation for the program POU21 input into the input unit 4. Here, it is assumed that the program POU21 included in the LD program 20 shown in FIG. 6 has been selected by the user. The input control unit 11 notifies the program creation unit 13 of information identifying the selected program POU21. Based on this notification, the program creation unit 13 reads out the program POU21 shown in FIG. 6 from the LD program 20 stored in the storage unit 8. The program creation unit 13 outputs the read out program POU21 to the display control unit 12.
[0047] 9 is a diagram showing the display screen of the display unit 6 including a caller view 51 displaying each of the function elements 30-1 to 30-3 of the program POU21. The display control unit 12 displays a program view, which is an area for displaying the LD program 20, on the display screen of the display unit 6. As shown in FIG. 9, in step S2, the display control unit 12 displays the caller view 51 (first view) of the program view at the left side position within the display screen of the display unit 6. The caller view 51 is a display area for displaying the caller program POU21.
[0048] In step S3, the display control unit 12 displays each of the function elements 30-1 to 30-3 included in the program POU21 in the caller view 51, as shown in Fig. 9. In detail, the display control unit 12 displays each of the function elements 30-1 to 30-3 at a position in the caller view 51 specified by the position information included in each of the function elements 30-1 to 30-3. In the example of Fig. 9, the display control unit 12 displays each of the function elements 30-1 to 30-3 as corresponding FB1 to FB3. FB1 shown in Fig. 9 corresponds to the function element 30-1, FB2 corresponds to the function element 30-2, and FB3 corresponds to the function element 30-3.
[0049] FIG. 10 is a diagram showing the display screen of the display unit 6 on which the program POU21 and the FBPOU22A called by the program POU21 are displayed. The user inputs an operation to select one of the elements displayed in the caller view 51 to the input unit 4. In step S4, the input control unit 11 accepts the user's selection operation for one of the elements input to the input unit 4. Here, it is assumed that the function element 30-2 (i.e., FB2) displayed in the caller view 51 has been selected. As shown in FIG. 10, the display control unit 12 makes the display state of the function element 30-2 selected by the user different from the other function elements 30-1 and 30-3. This allows the user to understand that the function element 30-2 has been selected in the caller view 51.
[0050] The input control unit 11 notifies the program creation unit 13 of information identifying the selected function element 30-2. In step S5, the program creation unit 13 determines, based on the notified information, whether or not a function ID is included in the function element 30-2 in the program POU21 stored in the storage unit 8. If NO in step S5, the process shown in FIG. 5 returns to step S4. If YES in step S5, the process shown in FIG. 5 proceeds to the next step S6. In the example shown in FIG. 7, the function element 30-2 includes function ID2. Therefore, the determination result in step S5 is YES.
[0051] The program creation unit 13 acquires the function ID2 of the function element 30 from the function element 30-2 in the program POU21 stored in the storage unit 8. In step S6, the program creation unit 13 searches the LD program 20 stored in the storage unit 8 for an FBPOU22 that includes the same function ID2 as the acquired function ID2. More specifically, if the function ID2 is included in a function element 42 in any of the FB elements 40 in FBPOU22B, the program creation unit 13 finds that FBPOU22 as an FBPOU22 that includes the function ID2.
[0052] In step S7, the program creation unit 13 determines whether an FBPOU22 containing the same function ID2 has been found. If the result in step S7 is NO, the processing shown in FIG. 5 ends. If the result in step S7 is YES, the processing shown in FIG. 5 proceeds to the next step S8. Here, as shown in FIG. 7, function ID2 is included in function element 42-1 in FB element 40-1 in FBPOU22A. Therefore, the program creation unit 13 finds FBPOU22A as an FBPOU22 containing the same function ID2. Therefore, the determination result in step S7 is YES.
[0053] The program creation unit 13 notifies the display control unit 12 of information identifying the found FBPOU 22A. In step S8, based on this notification, the display control unit 12 displays a called view 52 (second view) for displaying the FBPOU 22A to the right of the caller view 51 on the display screen, as shown in Fig. 10. The called view 52 is a display area for displaying the called FBPOU 22A.
[0054] In step S9, the display control unit 12 displays each of the function elements 42A-1 to 42A-4 in each of the FB elements 40A-1 to 40A-4 included in the FBPOU 22A in the callee view 52, as shown in FIG. 10. In detail, the display control unit 12 displays each of the function elements 42A-1 to 42A-4 at a position in the callee view 52 specified by the position information included in each of the function elements 42A-1 to 42A-4. In the example of FIG. 10, the display control unit 12 displays each of the function elements 42A-1 to 42A-4 as corresponding FB11 to FB14. FB11 shown in FIG. 10 corresponds to the function element 42A-1, FB12 corresponds to the function element 42A-2, FB13 corresponds to the function element 42A-3, and FB14 corresponds to the function element 42A-4.
[0055] 11 is a flowchart showing the flow of display processing of the LD program 20 executed by the information processing device 1. The information processing device 1 executes the series of processing shown in FIG. 5, and then executes the series of processing shown in FIG.
[0056] FIG. 12 is a diagram showing a display screen in which a new callee view 53 is placed immediately to the right of an existing callee view 52. The user inputs an operation to select one of the elements displayed in the callee view 52 to the input unit 4. In step S11, the input control unit 11 accepts the user's selection operation for one of the elements input to the input unit 4. Here, it is assumed that a function element 42A-4 (i.e., FB14) displayed in the callee view 52 has been selected. As shown in FIG. 11, the display control unit 12 makes the display state of the function element 42A-4 selected by the user different from that of the other function elements 42A-1 to 42A-3. This allows the user to understand that the function element 42A-4 has been selected in the callee view 52.
[0057] The input control unit 11 notifies the program creation unit 13 of information identifying the selected function element 42A-4. In step S12, the program creation unit 13 determines, based on the notified information, whether or not a function ID is included in the function element 42A-4 in the FBPOU 22A stored in the storage unit 8. If the result in step S12 is NO, the process shown in FIG. 11 returns to step S11. If the result in step S12 is YES, the process shown in FIG. 11 proceeds to the next step S13. In the example shown in FIG. 8, the function element 42A-4 includes the function ID 14. Therefore, the determination result in step S12 is YES.
[0058] The program creation unit 13 acquires the function ID 14 of the function element 42A-4 from the function element 42A-4 in the FBPOU22A stored in the storage unit 8. In step S13, the program creation unit 13 searches the LD program 20 stored in the storage unit 8 for an FBPOU22 that includes the same function ID as the acquired function ID 14. More specifically, if the function ID 14 is included in a function element 42 in any of the FB elements 40 in the FBPOU22, the program creation unit 13 finds that FBPOU22 as an FBPOU22 that includes the function ID 14.
[0059] In step S14, the program creation unit 13 determines whether or not an FBPOU22 containing the same function ID 14 has been found. If the result in step S14 is NO, the process shown in FIG. 11 ends. If the result in step S14 is YES, the process shown in FIG. 11 proceeds to the next step S15. Here, as shown in FIG. 8, the same function ID 14 is contained in function element 42B-2 in FB element 40B-2 in FBPOU22B. Therefore, the program creation unit 13 finds FBPOU22B as an FBPOU22 containing the same function ID 14. Therefore, the determination result in step S14 is YES.
[0060] The program creation unit 13 notifies the display control unit 12 of information identifying the found FBPOU 22B. In step S15, based on this notification, the display control unit 12 displays a new callee view 53 (third view) for displaying the callee FBPOU 22B to the right of the callee view 52, as shown in FIG. 11. That is, the display control unit 12 places the callee view 53 next to the callee view 52 so as to face the caller view 51 with the callee view 52 in between. As shown in FIG. 12, at this point, the callee view 53 is placed outside the display screen. Therefore, the callee view 53 is not displayed on the display screen.
[0061] 13 is a diagram showing a display screen on which existing callee view 52 and new callee view 53 are displayed. In step S16, display control unit 12 scrolls caller view 51, callee view 52, and callee view 53 to the left of the display screen. More specifically, if callee view 53 at least partially extends beyond the display screen as shown in FIG. 12, display control unit 12 automatically scrolls caller view 51, callee view 52, and callee view 53 until callee view 52 and callee view 53 are entirely displayed on the display screen as shown in FIG.
[0062] As a result, caller view 51 moves outside the display screen and is therefore erased from the display screen. Meanwhile, callee view 52 is now displayed in the left position of the display screen, and callee view 53 is now displayed in the right position of the display screen. In other words, the display content on the left side of the display screen switches from caller view 51 to callee view 52, and the display content on the right side of the display screen switches from callee view 52 to callee view 53.
[0063] FIG. 14 is a diagram showing a display screen including a callee view 53 displaying function elements 42B-1 and 42B-2 of FBPOU 22B. In step S17, the display control unit 12 displays each of the function elements 42B-1 and 42B-2 in each of the FB elements 40B-1 and 40B-2 included in FBPOU 22B in the callee view 53 as shown in FIG. 14. In detail, the display control unit 12 displays each of the function elements 42B-1 and 42B-2 at a position in the callee view 53 specified by the position information included in each of the function elements 42B-1 and 42B-2. In the example of FIG. 14, the display control unit 12 displays each of the function elements 42B-1 and 42B-2 as corresponding FBs 21 and 22. FB 21 shown in FIG. 14 corresponds to the function element 42B-1, and FB 22 corresponds to the function element 42B-2.
[0064] (Major effects) When the user selects the function element 30-2 displayed in the caller view 51, the display control unit 12 displays each of the function elements 42A-1 to 42A-4 included in the FBPOU22A called by the function element 30-2 in the callee view 52 adjacent to the caller view 51 on the display screen. This allows the user to simultaneously refer to the caller program POU21 and the callee FBPOU22A on the display screen.
[0065] Furthermore, when the user selects function element 42A-4 displayed in callee view 52, display control unit 12 displays each of function elements 42B-1 and 42B-2 included in FBPOU 22B called by function element 42A-4 in callee view 53 arranged next to callee view 52. At this time, caller view 51, callee view 52, and callee view 53 are scrolled until the entire callee view 52 and the entire callee view 53 are displayed on the display screen. As a result, callee views 52 and 53 are displayed side by side on the display screen. This allows the user to simultaneously view caller FBPOU 22A and callee FBPOU 22B on the display screen.
[0066] As described above, the information processing device 1 always displays the calling program and the called program side by side on the display screen. This allows the user to refer to the LD program 20 on the display screen like a scroll, and no special operation is required to refer to the calling program and the called program simultaneously. Therefore, the information processing device 1 can prevent the user's thinking from being disturbed when the user refers to the LD program 20.
[0067] (Other examples) 15 is a diagram showing a display screen including a callee view 53 that displays setting items related to variables used as arguments of a function element 42A-4 selected by the user. When the function element 42A-4 is selected by the user, the display control unit 12 may display information related to the function element 42A-4 in the callee view 53 after scrolling. In the example of FIG. 15, the display control unit 12 displays setting items related to variables used as arguments in the function element 42A-4 in the callee view 53 after scrolling.
[0068] This setting item is an item for setting parameters of a control target controlled by a PLC when the function element 42A-4 is executed. In this example, the variable used as the argument of the function element 42A-4 is, for example, a variable related to motor control (e.g., the number of the motor to be controlled). In this case, the display control unit 12 acquires the motor number used as the argument of the function element 42A-4 from the variable information 82. The display control unit 12 further reads out a list of motor control parameters indicated by the acquired motor number from the control setting information 81 and displays it in the callee view 53. This is because the function element 42A-4 selected in the callee view 52 does not call any other FBPOU 22 as a child element, and therefore no other FBPOU 22 is displayed in the callee view 53. Therefore, the display control unit 12 displays information other than the FBPOU 22 (here, control setting information of peripheral devices such as a motor) as information related to the function element 42A-4 in the callee view 53, thereby improving the efficiency of the user's development of the LD program 20.
[0069] 16 is a diagram showing a display screen including a callee view 53 displaying a list of variables used as arguments of a function element 42A-4 selected by the user. In this example, when the user selects a function element 42A-4 as shown in FIG. 16, the display control unit 12 reads out a list of variables used as arguments in the function element 42A-4 from the variable information 82 and displays the list in the callee view 53 after scrolling. This is because the function element 42A-4 selected in the callee view 52 does not call any other FBPOU 22 as a child element, and therefore no other FBPOU 22 is displayed in the callee view 53. Therefore, the display control unit 12 displays information other than the FBPOU 22 (here, variable information) in the callee view 53 as information related to the function element 42A-4, thereby improving the efficiency of the user's development of the LD program 20.
[0070] (Called view 54 display) 17 is a diagram showing a display screen in which a new callee view 54 is placed immediately to the right of an existing callee view 53. When a user selects any of the function elements 42 displayed in the callee view 53, the display control unit 12 may display, in a new callee view 54 (fourth view), a function element 42 included in an FBPOU 22 called by the selected function element 42.
[0071] In the example of FIG. 17, the user inputs to the input unit 4 an operation to select the function element 42B-1 (i.e., FB21) displayed in the callee view 53. The input control unit 11 accepts the user's selection operation for the function element 42B-1 input to the input unit 4. The display control unit 12 makes the display state of the function element 4B-1 selected by the user different from that of the other function element 42B-2, as shown in FIG. 17. This allows the user to understand that the function element 42B-1 has been selected in the callee view 53.
[0072] The input control unit 11 notifies the program creation unit 13 of information identifying the selected function element 42B-2. In the example shown in FIG. 8, the function element 42B-1 includes a function ID 21. Therefore, the program creation unit 13 acquires the function ID 21 of the function element 42B-1 from the function element 42B-1 in the FBPOU22B stored in the storage unit 8. The program creation unit 13 searches the LD program 20 stored in the storage unit 8 for an FBPOU22 that includes the same function ID as the acquired function ID 21. More specifically, if the function ID 21 is included in a function element 42 in any FB element 40 in the FBPOU22, the program creation unit 13 finds the FBPOU22 as an FBPOU22 that includes the function ID 21. Here, as shown in FIG. 8, the same function ID 21 is included in a function element 42C-1 in an FB element 40C-1 in the FBPOU22C. Therefore, the program creation unit 13 finds FBPOU22C as FBPOU22 that includes the same function ID21.
[0073] The program creation unit 13 notifies the display control unit 12 of information identifying the found FBPOU 22C. Based on this notification, the display control unit 12 displays a new called view 54 (fourth view) for displaying FBPOU 22C to the right of the called view 53, as shown in FIG. 17. That is, the display control unit 12 places the called view 54 next to the called view 53 so as to face the called view 52 with the called view 53 in between. As shown in FIG. 17, at this point, the called view 54 is placed outside the display screen. Therefore, the called view 54 is not displayed on the display screen.
[0074] 18 is a diagram showing a display screen on which existing callee view 53 and new callee view 54 are displayed. Display control unit 12 scrolls callee view 52, callee view 53, and callee view 54 to the left of the display screen. More specifically, if callee view 54 at least partially extends beyond the display screen as shown in FIG. 17, display control unit 12 automatically scrolls callee view 52, callee view 53, and callee view 54 until callee view 53 and callee view 54 are entirely displayed on the display screen as shown in FIG. 18.
[0075] As a result, called view 52 moves outside the display screen and is therefore erased from the display screen. Meanwhile, called view 53 is now displayed in the left position of the display screen, and called view 54 is now displayed in the right position of the display screen. In other words, the display content in the left position of the display screen switches from called view 52 to called view 53, and the display content in the right position of the display screen switches from called view 53 to called view 54.
[0076] The display control unit 12 displays the function element 4CB-1 in the FB element 40C-1 included in the FBPOU22C in the callee view 54, as shown in Fig. 18. In detail, the display control unit 12 displays the function element 42C-1 at a position in the callee view 54 specified by the position information included in the function element 42C-1. In the example of Fig. 18, the display control unit 12 displays the function element 42C-1 as the corresponding FB31.
[0077] In the examples of FIGS. 17 and 18 , when a user selects function element 42B-1 displayed in callee view 53, display control unit 12 displays function element 42C-1 included in FBPOU 22C called by function element 42B-1 in callee view 54 arranged next to callee view 53. At this time, callee views 52 to 54 are scrolled to the left until the entire callee view 53 and the entire callee view 54 are displayed on the display screen. As a result, callee views 53 and 54 are displayed side by side on the display screen. This allows the user to simultaneously view caller FBPOU 22B and callee FBPOU 22C on the display screen.
[0078] As described above, when displaying the FBPOU 22C at a lower level, the information processing device 1 displays the caller FBPOU 22B and the callee FBPOU 22C side by side on the display screen. This eliminates the need for the user to perform any special operations to simultaneously refer to the caller FBPOU 22B and the callee FBPOU 22C. Therefore, the information processing device 1 can prevent the user's thinking from being disturbed when referring to the LD program 20.
[0079] In this example, FBPOU 22A to 22C correspond to specific examples of the first to third subprograms described in the claims. In this way, the first to third subprograms may be FBPOU 22 for any three consecutive layers included in the hierarchically structured LD program 20.
[0080] Display control unit 12 may simultaneously display three or more views on the display screen. For example, if the horizontal width of the display screen is equal to or greater than the sum of the horizontal widths of caller view 51, callee view 52, and callee view 53, display control unit 12 may simultaneously display these views side by side on the display screen.
[0081] In this example, when the user selects function element 42B-1 displayed in callee view 53, display control unit 12 places callee view 54 to the immediate right of callee view 53 (outside the display screen). Display control unit 12 scrolls and displays each view so that the number of views simultaneously displayed on the display screen remains at three. Specifically, caller view 51 and callee views 52 to 54 are scrolled and displayed to the left of the display screen until each of callee views 52 to 54 is displayed in its entirety on the display screen.
[0082] As a result, the display of the caller view 51 is erased from the display screen, and the callee views 52 to 54 are newly displayed side by side on the display screen. In this example, too, the user can refer to the LD program 20 like a scroll, so that it is possible to prevent the user's thinking from being disturbed when the user refers to the LD program 20.
[0083] (Variation) The display control unit 12 may display functions, rather than function blocks, as the function elements 30 or 42 on the display screen.
[0084] The subprogram called by the program POU21 is not limited to the FBPOU22 written in a ladder diagram, but may be a subprogram written in any other language conforming to the international standard IEC61131-3. Examples of such languages include a function block diagram (FBD), a sequential function chart (SFC), an instruction list (IL), and a structured text (ST). This example also provides the same effects as the above-described embodiment.
[0085] [Example of implementation] Each functional block of the information processing device (particularly the display control unit 12) may be realized by a logic circuit (hardware) formed on an integrated circuit (IC chip) or the like, or may be realized by software.
[0086] In the latter case, the control device includes a computer that executes instructions of a program, which is software that realizes each function. This computer includes, for example, one or more processors and a computer-readable recording medium that stores the program. The object of the present invention is achieved by having the processor in the computer read and execute the program from the recording medium.
[0087] The processor may be, for example, a CPU (Central Processing Unit).The recording medium may be a "non-transitory tangible medium," such as a ROM (Read Only Memory), a tape, a disk, a card, a semiconductor memory, a programmable logic circuit, or the like.
[0088] The computer may further include a RAM (Random Access Memory) for expanding the program. The program may be supplied to the computer via any transmission medium capable of transmitting the program (such as a communication network or broadcast waves). One aspect of the present invention may also be realized in the form of a data signal embedded in a carrier wave, in which the program is embodied by electronic transmission.
[0089] The present invention is not limited to the above-described embodiments, and various modifications are possible within the scope of the claims. Embodiments obtained by appropriately combining the technical means disclosed in different embodiments are also included in the technical scope of the present invention. [Explanation of symbols]
[0090] 1. Information processing equipment 2. Control section 4 Input section 6 Display section 8 Memory section 11 Input control section 12 Display control unit 13 Program Creation Department 20. LD Program 21 Program POU 22 FBPOU 30 Function Elements 40 FB elements 41 IF Information 42 Function Elements 51 Caller View 52, 53, 54 Callee View 81 Control setting information 82 Variable Information
Claims
1. A display device that displays a user program executed in a programmable logic controller on a display screen, the user program includes at least a first subprogram having at least one first function element and a second subprogram having at least one second function element; The display device includes a display control unit, The display control unit displaying the at least one first function element included in the first subprogram in a first view included in the display screen; when any one of the at least first function elements displayed in the first view is selected by a user, displaying the at least one second function element included in the second subprogram called by the selected first function element in a second view adjacent to the first view on the display screen; when any one of the at least one second function element displayed in the second view is selected, a third view is disposed adjacent to the second view so as to face the first view across the second view; if the third view at least partially extends beyond the display screen, scrolling the first to third views until the second view and the third view are entirely displayed on the display screen; A display device that displays information about the selected second function element in the third view after scrolling.
2. the user program further includes a third subprogram having at least one third function element; The display device according to claim 1 , wherein the display control unit displays the at least one third function element included in the third subprogram called by the selected second function element in the third view after scrolling.
3. the user program further includes a fourth subprogram having at least one fourth function element; The display control unit when any one of the at least one third function element displayed in the third view is selected, a fourth view is disposed adjacent to the third view so as to face the second view across the third view; if the fourth view at least partially extends beyond the display screen, scrolling the first to fourth views until the third view and the fourth view are entirely displayed on the display screen; The display device according to claim 2 , wherein the at least one fourth function element included in the fourth subprogram called by the selected third function element is displayed in the fourth view after scrolling.
4. The display device according to any one of claims 1 to 3, wherein the display control unit displays setting items related to variables used as arguments of the selected second function element in the third view after scrolling.
5. The display device according to any one of claims 1 to 3, wherein the display control unit displays a list of variables used as arguments of the selected second function element in the third view after scrolling.
6. A display method executed by a display device that displays a user program executed in a programmable logic controller on a display screen, comprising: the user program includes at least a first subprogram having at least one first function element and a second subprogram having at least one second function element; The display method includes: displaying the at least one first function element included in the first subprogram in a first view included in the display screen; when any one of the at least first function elements displayed in the first view is selected by a user, displaying the at least one second function element included in the second subprogram called by the selected first function element in a second view adjacent to the first view on the display screen; when any one of the at least one second function element displayed in the second view is selected, placing a third view adjacent to the second view so as to face the first view across the second view; if the third view at least partially extends beyond the display screen, scrolling the first to third views until the second view and the third view are entirely displayed on the display screen; and displaying information about the selected second function element in the third view after scrolling.
Citation Information
Patent Citations
Hierarchical menu type graphical user interface
JP2002514328A
Information processor, support program, and support system
JP2021026642A
Graphical program analyzer with framework for adding user-defined tests
US20050268288A1