Computer-readable recording medium, debugging assistance device, and debugging assistance method
By automatically identifying and displaying the tag values in the PLC sequencer program, the problem of inflexible tag width allocation in the existing technology is solved, the debugging process is simplified and the visualization effect is improved, and the debugging time is reduced.
Patent Information
- Application Number
- CN202280085812.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-02-18
- Publication Date
- 2026-01-27
- Estimated Expiration
- 2042-02-18
AI Technical Summary
In existing technologies, the label width allocation in PLC sequencers is inflexible, requiring users to manually specify the width to display label values, which makes debugging inconvenient.
A debugging auxiliary program and device are provided, which identifies the information receiving unit, acquisition unit and display unit through the sequencing program, automatically identifies and displays the tag value in the PLC sequencing program, and displays it using the bit string of the bit width allocated to the tag.
It enables the display of label values in the PLC sequencer program without requiring the user to manually specify the bit width, simplifying the debugging process, reducing working hours, and improving the visualization effect through color and bit string display methods, making it easier to identify multiple labels and structures.
Smart Images

Figure CN118451376B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to computer-readable recording media, debugging aids, and debugging aids. Background Technology
[0002] It is known that techniques are used to display the values of tags representing data from input / output devices, data from working memory, etc., contained in a sequence program executed by a Programmable Logic Controller (PLC) for the purpose of debugging the program. For example, Patent Document 1 discloses a technique that sends the action result after the sequence program is started in the PLC, sends the status information of the input / output devices to a monitoring device, and the monitoring device displays the status information of the input / output devices bit by bit.
[0003] Patent Document 1: Japanese Patent Application Publication No. 2003-122405 Summary of the Invention
[0004] In the technology disclosed in Patent Document 1 above, the bit width of the bit string used to display the status information of the input / output device is fixed. However, the bit width allocated to the tags included in the sequencing program varies correspondingly with the information associated with the tags. In such a technology, when displaying the value of a tag, the user needs to specify the bit width allocated to the tag to be displayed.
[0005] The present invention was made in view of the above circumstances, and its object is to provide a debugging aid program, a debugging aid device, and a debugging aid method that can display the value of the tag contained in the sequencing program by means of a bit string of bit width allocated to the tag.
[0006] To achieve the above objectives, the debugging assistance program of the present invention enables the computer to function as a unit in the following way:
[0007] Sequence program identification information receiving unit, which receives the input of sequence program identification information used to identify the sequence program;
[0008] The acquisition unit acquires the value of the tag contained in the sequencer identified by the sequencer identification information from a programmable logic controller that has executed the sequencer identified by the sequencer identification information; and
[0009] The display unit displays the obtained tag value by using a bit string of bit width assigned to the tag involved in the value.
[0010] The effects of the invention
[0011] According to the present invention, a debugging aid program, a debugging aid device, and a debugging aid method can be provided that can display the value of a tag contained in a sequencing program by means of a bit string of bit width allocated to the tag. Attached Figure Description
[0012] Figure 1 This is a diagram illustrating the functional structure of the debugging auxiliary device involved in the implementation method.
[0013] Figure 2 This is a block diagram illustrating the hardware structure of the debugging aid device involved in the implementation method.
[0014] Figure 3 This is a diagram illustrating an example of a label value display window related to an implementation method.
[0015] Figure 4 This is a diagram showing how the values of the labels of the sequencing procedures involved in the implementation are displayed.
[0016] Figure 5 This is a diagram showing how the values of the tags contained in the constructs involved in the implementation are displayed.
[0017] Figure 6 This is a diagram showing how the values of the labels included in an instance of a functional module involved in an implementation method are displayed.
[0018] Figure 7 This is a diagram showing the display of the label values after the filtering process involved in the implementation method has been performed.
[0019] Figure 8 This diagram illustrates the situation where the values of the labels involved in the implementation method have been changed.
[0020] Figure 9 This is a diagram showing the display of the values of the labels contained in an instance generated from a specified functional module involved in the implementation.
[0021] Figure 10 This is a flowchart illustrating the display processing involved in the implementation method. Detailed Implementation
[0022] (Implementation Method)
[0023] The debugging assistance device 100 described in this embodiment is an apparatus for assisting in the debugging of a sequenced program executed by the PLC 200. The debugging assistance device 100 is communicatively connected to the PLC 200 via a network cable (not shown) or wirelessly.
[0024] exist Figure 1The functional structure of the debugging assistance device 100 is shown in the figure. Functionally, the debugging assistance device 100 includes: a sequence program storage unit 101 for storing sequence programs; a sequence program identification information receiving unit 102 for receiving input sequence program identification information; an acquisition unit 103 for acquiring the values of tags included in the sequence program identified by the sequence program identification information; a display unit 104 for displaying the acquired tag values as bit strings; a filtering processing unit 105 for performing filtering processing on the tags displayed by the display unit 104 using the string of tag names; a modification unit 106 for modifying the values of the bit strings based on modification operations; and a function module identification information receiving unit 107 for receiving input function module identification information.
[0025] Figure 1 The debugging auxiliary device 100 has Figure 2 The hardware structure shown.
[0026] The debugging auxiliary device 100 includes: a processor 11 that performs various processes; a main storage unit 12 that serves as the working area of the processor 11; an auxiliary storage unit 13 that stores various data used in the processing of the processor 11; a communication unit 14 for communicating with external devices; an input unit 15 that acquires input information; an output unit 16 that displays various information; and an RTC (Real Time Clock) 17 for timing. The main storage unit 12, auxiliary storage unit 13, communication unit 14, input unit 15, output unit 16, and RTC 17 are all connected to the processor 11 via a bus 18.
[0027] The processor 11 includes a CPU (Central Processing Unit). The processor 11 executes programs stored in the auxiliary storage unit 13, thereby enabling various functions of the debugging auxiliary device 100.
[0028] The main storage unit 12 contains RAM (Random Access Memory). Programs are loaded into the main storage unit 12 from the secondary storage unit 13. Furthermore, the main storage unit 12 serves as the working area for the processor 11.
[0029] The auxiliary storage unit 13 includes non-volatile memory, such as EEPROM (Electrically Erasable Programmable Read-Only Memory). In addition to programs, the auxiliary storage unit 13 also stores various data used for processing by the processor 11. Following instructions from the processor 11, the auxiliary storage unit 13 supplies data used by the processor 11 to the processor 11 and stores the data supplied from the processor 11.
[0030] The communication unit 14 includes a network interface circuit for communicating with external devices. The communication unit 14 receives signals from external devices and outputs the data represented by those signals to the processor 11. Additionally, the communication unit 14 transmits signals representing data output from the processor 11 to external devices.
[0031] The input unit 15 includes input devices such as input keys and pointing devices. The input unit 15 acquires information input by the user of the debugging assistance device 100 and notifies the processor 11 of the acquired information.
[0032] The output unit 16 includes output devices such as an LCD (Liquid Crystal Display) and a speaker. The output unit 16 can also be configured as a touchscreen integrated with the pointing device constituting the input unit 15. The output unit 16 displays various information to the user according to the instructions of the processor 11.
[0033] The RTC 17 is a timing device with an oscillating circuit composed of a quartz oscillator. The RTC 17, for example, has a built-in battery and continues timing even when the power to the adjustment auxiliary device 100 is disconnected.
[0034] exist Figure 1 The sequence program storage unit 101 stores the sequence program executed in the PLC 200. The sequence program storage unit 101 is implemented by the auxiliary storage unit 13.
[0035] The debugging aid 100 has the function of displaying the values of the tags contained in the sequence program stored in the sequence program storage unit 101 on the screen.
[0036] Tags are elements contained in a sequencer that represent the variables used by the sequencer. Tags are associated, for example, with data from input / output devices connected to the PLC 200, or with data from the working memory used when the sequencer is executed in the PLC 200.
[0037] For example, if the user performs an operation to launch an application that displays the values of the tags contained in the sequencing program within the debugging assistance device 100, then Figure 3 The label value display window shown is displayed on the screen of the debugging aid 100. Hereinafter, the application used to display the values of the labels contained in the sequencing program will be referred to as the "label value display application".
[0038] exist Figure 3The label value display window includes a column 301 for recording the name of the sequencer, a drop-down button 302 for displaying a list of sequencers included in the sequencer storage unit 101, a column 303 for recording the string contained in the label name, a drop-down button 304 for displaying a list of content previously entered into column 303, a column 305 for recording the name of the function module, a drop-down button 306 for displaying a list of function modules used in the sequencers included in the sequencer storage unit 101, and a display button 307 for displaying the label value based on the content recorded in columns 301, 303, and 305.
[0039] In addition, Figure 3 The label value display window contains a table associated with the name of the label included in the sequencer (item 308), the data type of the label (item 309), the bit string representing the current value of the label (item 310), the current value of the label (item 311), and the string stored in the label (item 312).
[0040] In the debugging aid 100, if a tag value display application is executed, the debugging aid 100 establishes communication with the PLC 200. For example, communication between the debugging aid 100 and the PLC 200 is established via the acquisition unit 103. Once communication is established, the debugging aid 100 can refer to the tag data stored in the tag data storage unit 201 of the PLC 200. The tag data stored in the tag data storage unit 201 is data associated with tags included in the sequencing program, such as data from input / output devices connected to the PLC 200, or data from the working memory used when the sequencing program is executed in the PLC 200.
[0041] Figure 1 The sequencer identification information receiving unit 102 receives input sequencer identification information used to identify the sequencer. The sequencer identification information receiving unit 102 is implemented by the processor 11 and the input unit 15. Furthermore, the sequencer identification information receiving unit 102 is an example of a sequencer identification information receiving unit.
[0042] Sequencing program identification information is information used to identify the sequencing program stored in the sequencing program storage unit 101, such as the name of the sequencing program.
[0043] For example, if a user enters the name of the sequencer, namely "Sequencer A", in column 301 of the label value display window and selects the display button 307, the sequencer identification information receiving unit 102 receives the input of the sequencer identification information of "Sequencer A".
[0044] Figure 1The acquisition unit 103 acquires the value of the tag contained in the sequencer program that has been executed by the PLC 200, which has identified the information through the sequencer program identification. The acquisition unit 103 is implemented by the processor 11 and the communication unit 14. Furthermore, the acquisition unit 103 is an example of an acquisition unit.
[0045] For example, the acquisition unit 103 determines the tags included in "Sequence Program A" and acquires the tag data associated with the determined tags from the tag data storage unit 201 of the PLC 200. The acquired tag data includes a bit string representing the current value of the tag and the current value of the tag. In addition, if the tag's data type is a data type that can store strings, the acquired tag data also includes the string stored in the tag.
[0046] Here, the sequencer identified by the sequencer identification information contains multiple tags, and the acquisition unit 103 acquires the values of the multiple tags contained in the sequencer identified by the sequencer identification information. The multiple tags include tags contained in instances generated from functional modules or tags contained in constructs.
[0047] For example, as a label included in "sequencing program A", the acquisition unit 103 acquires the label data of the label names "wLabel", "dLabel", "wArray", "bArray", "stLabel" and "Instance_FB_A_1".
[0048] The label named "wLabel" is assigned a 16-bit width, and the label named "dLabel" is assigned a 32-bit width. The labels "wArray" and "bArray" are each representing an array. The label named "wArray" is assigned a 16-bit width and is associated with a 16-bit bit string × 4 array of data. Conversely, the label named "bArray" is assigned an 18-bit width and is associated with an 18-bit bit string × 1 array of data.
[0049] The tag named "stLabel" represents a constructor. A constructor contains one or more tags. The tag named "stLabel" contains the tags "uLabel1", "uLabel2", "uLabel3", "bLabel1", and "sLabel1". The tags "uLabel1", "bLabel1", "sLabel1", and "uLabel3" are allocated 16 bits of width, and the tag "uLabel2" is allocated 32 bits of width.
[0050] The tag named "InstanceFBA1" represents an instance generated from the functional module "FB_A". Hereinafter, instances generated from functional modules will be simply referred to as "instances". An instance's tags contain one or more tags. The tag name "Instance_FB_A_1" contains the tags "vLabel1", "vLabel2", "vLabel3", "cLabel1", and "tLabel1". The tags "vLabel1", "vLabel2", "vLabel3", and "cLabel1" are allocated a 16-bit width, and the tag "tLabel1" is allocated a 32-bit width.
[0051] Figure 1 The display unit 104 displays the acquired tag value using a bit string with a bit width allocated to the tag involved in that value. When multiple tag values are acquired through the acquisition unit 103, the display unit 104 displays each of the acquired tag values using a bit string with a bit width allocated to each of the multiple tags involved in that value. The display unit 104 is implemented by the processor 11 and the output unit 16. Furthermore, the display unit 104 is an example of a display unit.
[0052] For example, such as Figure 4 As shown, the display unit 104 displays the tag data of the tags included in the "sequencing program A" acquired by the acquisition unit 103. For example, the display unit 104 displays the bit strings of the tag names "wLabel", "dLabel", "wArray", and "bArray" with widths of 16 bits, 32 bits, 16 bits, and 18 bits, respectively. Figure 4 As shown in rows 8 and 9 of the table, the 18-bit wide bit string of the label name "bArray" is displayed in reverse order. Additionally, the display unit 104 colors the columns for the values of "1" in the bit string.
[0053] In addition, the display unit 104 adds a "+" symbol to the label names of the labels representing structures and the labels representing instances, and displays the label names. For example, as Figure 4 As shown in rows 10 and 11 of the table, the display unit 104 displays the label names "+stLabel" and "+Instance_FB_A_1". If the user selects a label name with the symbol "+", the display unit 104 displays one or more labels contained in the constructor and instance.
[0054] For example, if you choose Figure 4 If the label name in row 10 of the table is "+stLabel", then display section 104 as shown. Figure 5As shown in rows 10-16 of the table, the labels contained in the label with the name "+stLabel" are expanded and displayed.
[0055] Additionally, for example, if you select Figure 4 If the label name in row 11 of the table is "+InstanceFBA_1", then display section 104 is as follows. Figure 6 As shown in rows 11-17 of the table, the tags contained in the tag with the tag name "+InstanceFBA1" are expanded and displayed.
[0056] Figure 1 The filtering processing unit 105 receives input of a string contained in the name of a tag, and displays the tags whose names contain the received string on the display unit 104. The filtering processing unit 105 is implemented by the processor 11 and the input unit 15. Furthermore, the filtering processing unit 105 is an example of a filtering processing unit.
[0057] For example, if a user enters the string "Array" in field 303 of the label value display window and selects the display button 307, then the filtering processing unit 105 will... Figure 7 As shown in rows 1 to 6 of the table, the values of the labels containing the string "Array" and the label names "wArray" and "bArray" are displayed in the display section 104.
[0058] Figure 1 The change unit 106 receives changes to the value of the bit string displayed by the display unit 104, and uses the data shown in the changed bit string to cause the PLC 200 to execute the sequence program identified by the sequence program identification information. The change unit 106 is implemented by the processor 11, the communication unit 14, and the input unit 15. Furthermore, the change unit 106 is an example of a change unit.
[0059] For example, such as Figure 6 As shown, if the user double-clicks the value corresponding to the "D" item in the bit string at row 17 of the table using pointer 313, the change unit 106 receives a change operation that changes the value "1" corresponding to the "D" item in the bit string at row 17 of the table to "0". If a change operation is received, then... Figure 8 As shown in row 17 of the table, the modified bit string "0000000000100011" is displayed on the display unit 104. Then, the modification unit 106 requests the PLC 200 to execute "Sequence Program A" which uses the data shown by the modified bit string.
[0060] The acquisition unit 103 executes the sequencer program identified by the sequencer program identification information from the PLC 200 using the data shown in the modified bit string, and newly acquires the value of the tag contained in the sequencer program identified by the sequencer program identification information. Then, the display unit 104 displays the newly acquired tag value using a bit string with a bit width assigned to the tag involved in the value.
[0061] For example, PLC 200 executes "Sequence Program A" using the modified bit string "0000000000100011", updating the values of the tags included in "Sequence Program A" in the tag data storage unit 201. Acquisition unit 103 acquires the updated tag values included in "Sequence Program A" from PLC 200, and display unit 104 displays the acquired tag values in the tag value display window. By executing the sequence program using the modified bit string, if the values of tags other than those whose values were modified by the user change change, the values of the tags modified by the user and the changed tags are displayed in the tag value display window. If the values of tags other than those whose values were modified by the user do not change, the values of the tags modified by the user and the values of other tags that did not change are displayed in the tag value display window. Figure 8 The table shows cases where the values of other labels remain unchanged even if the value of the label named "tLabel1" is changed.
[0062] Figure 1 The function module identification information receiving unit 107 receives input function module identification information used to identify function modules. The function module identification information receiving unit 107 is implemented by the processor 11 and the input unit 15. Furthermore, the function module identification information receiving unit 107 is an example of a function module identification information receiving unit.
[0063] Functional module identification information is information used to identify the functional modules used in the sequencer stored in the sequencer storage unit 101, such as the name of the functional module.
[0064] For example, if a user enters the name of a function module, namely “FB_A”, in column 305 of the label value display window and selects the display button 307, the function module identification information receiving unit 107 receives the input of the function module identification information of “FB_A”.
[0065] The acquisition unit 103 acquires the values of tags contained in instances generated from function modules identified by function module identification information from the PLC 200, which has executed a sequence program that identifies information through a sequence program. Then, the display unit 104 displays the acquired tag values.
[0066] For example, the acquisition unit 103 determines the instance generated from "FB_A" in the sequencer stored in the sequencer storage unit 101. That is, the acquisition unit 103 determines not only "Sequencer A," which is input by the user as sequencer identification information, but also instances generated from "FB_A" in other sequencers. Next, the acquisition unit 103 acquires the tag data of the tags included in the determined instance from the PLC 200. For example, the acquisition unit 103 determines instances with tag names "Instance_FB_A_1" and "Instance_FB_A_2" as instances generated from "FB_A." The instance with tag name "Instance_FB_A_2" is an instance used in a sequencer other than "Sequencer A." Moreover, the acquisition unit 103 acquires the tag values included in the instances with tag names "Instance_FB_A_1" and "Instance_FB_A_2." Figure 9 As shown, the display unit 104 displays the value of the acquired tag.
[0067] Next, use Figure 10 The flowchart below describes the display processing performed by the debugging assistance device 100 according to this embodiment. Figure 10 The display processing, for example, is the processing performed if the user receives an action to display the application with a launch tag value.
[0068] The communication between the debugging auxiliary device 100 and the PLC 200 is established by the acquisition unit 103 (step S101).
[0069] The sequencer identification information receiving unit 102 determines whether it has received input for identifying the sequencer program (step S102). If the sequencer identification information receiving unit 102 determines that it has received input for identifying the sequencer program (step S102; YES), the acquisition unit 103 acquires the value of the tag included in the sequencer program identified by the sequencer identification information from the PLC 200 that has executed the sequencer program identified by the sequencer identification information (step S103). On the other hand, if the sequencer identification information receiving unit 102 determines that it has not received input for identifying the sequencer program (step S102; NO), it remains in standby mode.
[0070] For example, if a user enters the name of the sequencer program, "Sequencer A," in column 301 of the label value display window and selects the display button 307, the sequencer program identification information receiving unit 102 determines that it has received input of sequencer program identification information for "Sequencer A." Then, the acquisition unit 103 determines the labels included in "Sequencer A" and retrieves the label data associated with the labels from the label data storage unit 201 of the PLC 200. On the other hand, if no input is made by the user in column 301 of the label value display window and the display button 307 is selected, the sequencer program identification information receiving unit 102 determines that no input of sequencer program identification information has been received and remains in standby mode.
[0071] The display unit 104 displays the value of the obtained tag by a bit string of the bit width of the tag involved in the value (step S104).
[0072] For example, such as Figure 4 As shown, the display unit 104 displays the tag data of the tags included in the "sequencing program A" obtained by the acquisition unit 103.
[0073] Next, the filtering processing unit 105 determines whether an input containing a string in the tag's name has been received (step S105). If the filtering processing unit 105 determines that an input containing a string in the tag's name has been received (step S105; YES), then the tags whose names contain the received string are displayed on the display unit 104 (step S106). Then, it returns to step S102. On the other hand, if the filtering processing unit 105 determines that an input containing a string in the tag's name has not been received (step S105; NO), then it proceeds to step S107.
[0074] For example, if a user enters the string "Array" in field 303 of the label value display window and selects the display button 307, the filtering processing unit 105 determines that it has received the input of the string "Array". Then, the filtering processing unit 105... Figure 7 As shown in rows 1 to 6 of the table, the values of the labels “wArray” and “bArray” are displayed on the display unit 104. On the other hand, if the user does not input data into the label value display window’s column 303 or select the display button 307, the filtering processing unit 105 determines that no string input has been received and proceeds to step S107.
[0075] The modification unit 106 determines whether a change in the value of the bit string displayed by the display unit 104 has been received (step S107). If the modification unit 106 determines that a change in the value of the bit string displayed by the display unit 104 has been received (step S107; YES), then the modified bit string is displayed on the display unit 104 (step S108). Then, the modification unit 106 requests the PLC 200 to use the data shown by the modified bit string and executes the sequencing program identified by the sequencing program identification information (step S109).
[0076] For example, such as Figure 6 As shown, if the user double-clicks the value corresponding to the "D" item in the bit string at row 17 of the table by pointing pointer 313, the change unit 106 determines that a change has been received to the value corresponding to the "D" item in the bit string at row 17 of the table. Figure 8 As shown in row 17 of the table, the modification unit 106 displays the modified bit string "0000000000100011" on the display unit 104. Then, the modification unit 106 requests the PLC 200 to execute "Sequence Program A" which uses the data shown by the modified bit string.
[0077] The acquisition unit 103 executes the sequencer program identified by the sequencer program identification information from the PLC 200 using the data shown in the modified bit string, and acquires the value of the tag included in the sequencer program identified by the sequencer program identification information (step S110). Then, the display unit 104 displays the newly acquired tag value using a bit string with a bit width assigned to the tag involved in the value (step S111). After that, it returns to step S102. On the other hand, if the modification unit 106 determines that it has not received a change to the value of the bit string displayed by the display unit 104 (step S107; NO), it proceeds to step S112.
[0078] For example, the acquisition unit 103 acquires the value of the tag contained in "Sequence Program A" executed using the modified bit string "0000000000100011" from the PLC 200. Then, the display unit 104 displays the acquired tag value in the tag value display window. On the other hand, if no change operation to the bit string is performed by the user, the modification unit 106 determines that no change has been received and proceeds to step S112.
[0079] The function module identification information receiving unit 107 determines whether it has received input for identifying function modules (step S112). If the function module identification information receiving unit 107 determines that it has received input for identifying function modules (step S112; YES), the acquisition unit 103 acquires the value of the tag included in the instance generated by the function module identified by the function module identification information from the PLC 200, which has executed the sequence program for identifying identification information by the sequence program (step S113). Then, the display unit 104 displays the acquired tag value (step S114). After that, it returns to step S102. On the other hand, if the function module identification information receiving unit 107 determines that it has not received input for identifying function modules (step S112; NO), it returns to step S102.
[0080] For example, if a user enters the name of a function module, "FB_A," in field 305 of the label value display window and selects the display button 307, the function module identification information receiving unit 107 determines that it has received input of function module identification information for "FB_A." Next, the acquisition unit 103, as an instance generated from "FB_A," determines "Instance_FB_A_1" and "Instance_FB_A_2," and acquires the values of the labels contained in these instances. Then, as... Figure 9 As shown, the display unit 104 displays the acquired tag value. On the other hand, if the user does not input data into the bar 305 of the tag value display window or select the display button 307, the function module identification information receiving unit 107 determines that no function module identification information has been received and returns to step S102.
[0081] According to this embodiment, the values of tags included in the sequencing program can be displayed using a bit string with a bit width allocated to the tag. Therefore, the tag values can be displayed as bit strings even when the user does not specify the bit width. Furthermore, since the fields for "1" values in the bit string are displayed with color, the on and off positions can be visually and easily understood. Additionally, as in instances generated from constructors and functional modules, even when multiple tags are included, the bit strings can be centrally checked using the bit width allocated to each tag. Therefore, debugging time can be reduced.
[0082] Furthermore, according to this embodiment, by specifying the string contained in the tag name, it is possible to display only the values of tags whose names contain the string. Therefore, even if the sequencing program is large in size and contains a large number of tags, the desired tag values can be easily confirmed.
[0083] Furthermore, according to this embodiment, the bit string can be modified, and the values of the tags included in the sequencing program executed using the data shown by the modified bit string can be displayed. Therefore, it is easy to confirm how the values of other tags change by modifying the value of one tag.
[0084] Furthermore, according to this embodiment, by specifying the functional module, the value can be easily confirmed for the tags contained in the instance generated from the functional module and the tags used in other sequencing procedures.
[0085] (Modified Example)
[0086] The embodiments of the present invention have been described above, but various modifications and applications can be made when implementing the present invention.
[0087] The debugging aid 100 can also be configured to omit some functions. For example, the debugging aid 100 can also be configured to not include the functional module identification information receiving unit 107.
[0088] Additionally, the color of the label names can be changed based on the content of the data assigned to the label. For example, in this instance, colors could be added to the characters of the label name or the label name field to distinguish between labels associated with input data and labels associated with output data. For instance, if the input data is associated with labels named "vLabel1", "vLabel2", and "vLabel3", and the output data is associated with labels named "cLabel1" and "tLabel1", then in Figure 6 and Figure 8 In the output data, the labels “vLabel1”, “vLabel2”, and “vLabel3” can be displayed in red, while the labels “cLabel1” and “tLabel1” can be displayed in blue. This allows for easy differentiation between labels associated with the input data and labels associated with the output data.
[0089] Furthermore, in the above embodiment, the column displaying the value of "1" in the bit string is colored, but the display method of the bit string value displayed by the display unit 104 is not limited to this. Any display method is acceptable as long as it can visually and easily represent the connected and disconnected parts of the bit string. That is, the display unit 104 changes the display method of the bit string value based on the bit string value. For example, the display unit 104 sets the value of "1" in the bit string to a bold character, or sets the column displaying the value of "1" in the bit string to a shaded area. Alternatively, the display unit 104 can use these display methods to set the value of "1" in the bit string to a bold character, or set the column displaying the value of "1" to a shaded area.
[0090] Furthermore, the display processing flow performed by the debugging assistance device 100 is not limited to... Figure 10 The process is shown. For example, in Figure 10 In this process, after the processing in step S105, the processing in steps S107 and S112 continues. However, the processing in steps S105 or S112 can also continue after the processing in step S107, or the processing in steps S105 or S107 can continue after the processing in step S112.
[0091] In addition, by applying a prescribed procedure to the operation of the debugging assistance device 100 according to the above embodiments to an existing personal computer or information terminal device, the personal computer or information terminal device can also function as the debugging assistance device 100 according to the embodiments.
[0092] Furthermore, the method of distributing such a program is arbitrary. For example, it can be distributed by storing it on computer-readable recording media such as CD-ROM (Compact Disk Read-Only Memory), DVD (Digital Versatile Disk), or memory card, or it can be distributed via communication networks such as the Internet.
[0093] This invention can be implemented and modified in various ways without departing from its broad spirit and scope. Furthermore, the above-described embodiments are for illustrative purposes only and are not intended to limit the scope of the invention. That is, the scope of the invention is defined not by the embodiments, but by the claims. Moreover, various modifications applied within the scope of the claims and their equivalents are considered to be within the scope of the invention.
[0094] Industrial applicability
[0095] According to the present invention, a debugging aid program, a debugging aid device, and a debugging aid method can be provided that can display the value of a tag contained in a sequencing program by means of a bit string of bit width allocated to the tag.
[0096] Explanation of the label
[0097] 11 Processor, 12 Main Storage Unit, 13 Auxiliary Storage Unit, 14 Communication Unit, 15 Input Unit, 16 Output Unit, 17 RTC, 18 Bus, 100 Debugging Auxiliary Device, 101 Sequencing Program Storage Unit, 102 Sequencing Program Identification Information Receiving Unit, 103 Acquisition Unit, 104 Display Unit, 105 Filtering Processing Unit, 106 Change Unit, 107 Functional Module Identification Information Receiving Unit, 200 PLC, 201 Tag Data Storage Unit, 301, 303, 305 Columns, 302, 304, 306 Drop-down Buttons, 307 Display Buttons, 308-312 Items, 313 Pointer.
Claims
1. A computer-readable recording medium storing a debugging aid program that enables a computer to function as a unit: The acquisition unit acquires the values of multiple tags contained in the sequencer identified by the sequencer identification information from a programmable logic controller that executes the sequencer identified by the sequencer identification information; and The display unit displays each of the acquired values of the plurality of tags using a bit string of bit width assigned to each of the plurality of tags to which the value relates.
2. The computer-readable recording medium according to claim 1, wherein, The plurality of tags include tags contained in instances generated from functional modules or tags contained in constructors.
3. The computer-readable recording medium according to claim 1 or 2, wherein, The debugging assistance program enables the computer to function as a filtering processing unit, which receives input of the string contained in the name of the label, and displays the labels whose names contain the received string in the values displayed by the display unit.
4. The computer-readable recording medium according to claim 1 or 2, wherein, The debugging assistance program enables the computer to function as a unit in the following way: A sequencer identification information receiving unit, which receives the input of the sequencer identification information; and The functional module identification information receiving unit receives inputs used to identify functional modules. The acquisition unit obtains the value of the tag contained in the instance generated by the functional module identified by the functional module identification information from the programmable logic controller that has executed the sequence program identification information identification program.
5. The computer-readable recording medium according to claim 1 or 2, wherein, The debugging assistance program enables the computer to function as a modification unit, receiving changes to the values of the bit strings displayed by the display unit, and using the data shown in the modified bit strings to cause the programmable logic controller to execute the sequencing program identified by the sequencing program identification information. The acquisition unit executes a programmable logic controller (PLC) that has been programmed using the data shown in the modified bit string and the sequencer identified by the sequencer identification information, and acquires the value of the tag contained in the sequencer identified by the sequencer identification information. The display unit displays the value of the newly acquired tag by using a bit string of the bit width assigned to the tag involved in the value.
6. The computer-readable recording medium according to claim 1 or 2, wherein, The display unit changes the display method of the bit string based on its value.
7. A debugging auxiliary device, comprising: The acquisition unit acquires the values of multiple tags contained in the sequencer identified by the sequencer identification information from a programmable logic controller that executes the sequencer identified by the sequencer identification information; and The display unit displays each of the acquired values of the plurality of tags using a bit string of bit width assigned to each of the plurality of tags to which the value relates.
8. A debugging assistance method, wherein, The acquisition unit obtains the values of multiple tags contained in the sequencer identified by the sequencer identification information from the programmable logic controller that has executed the sequencer. The display unit displays each of the acquired values of the multiple tags using a bit string of bit width assigned to each of the multiple tags involved in that value.
Citation Information
Patent Citations
Programmable logic controller, method for confirming operation of ladder sequence program thereof, and debugging tool
JP2003122405A
Visual terminal debugging method and device
CN101938566A
Debugging assistance device, debugging assistance method and debugging assistance program
CN113711142A