Sequence program editing device and computer-readable storage medium

The sequence program editing device improves address organization and searchability by detecting address input and displaying usage status, enabling efficient identification and selection of unused addresses, thus simplifying the editing process.

WO2026105237A1PCT designated stage Publication Date: 2026-05-21FANUC LTD
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
FANUC LTD
Filing Date
2024-11-13
Publication Date
2026-05-21

AI Technical Summary

Technical Problem

Existing sequence program editing tools lack effective methods for organizing address placement and efficiently identifying unused addresses during the editing process, which hinders visibility and searchability, especially when adding new functions to sequence programs.

Method used

A sequence program editing device equipped with a program storage unit, address map storage unit, sequence program editing unit, address input detection unit, and usage status display unit, which detects address input and displays the usage status of addresses within a predetermined range, facilitating the identification of unused addresses and supporting efficient address input.

Benefits of technology

Enhances address organization and searchability by displaying usage status, allowing users to easily find and select unused addresses directly on the editing screen, reducing the workload associated with checking address usage beforehand.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024040346_21052026_PF_FP_ABST
    Figure JP2024040346_21052026_PF_FP_ABST
Patent Text Reader

Abstract

A sequence program editing device according to the present disclosure stores a sequence program, stores the address of a data memory and the use state thereof, receives editing of the sequence program, detects input of a new address for an instruction of the sequence program, and displays the use state of addresses in a predetermined range centering on the inputted address.
Need to check novelty before this filing date? Find Prior Art

Description

Sequence Program Editing Device and Computer-Readable Storage Medium

[0006]

[0001] The present disclosure relates to a sequence program editing device and a computer-readable storage medium.

[0002] Sequence control is one of the methods for controlling the operation of machines and the like. A controller dedicated to sequence control is called a PLC (Programmable Logic Controller). The PLC controls actual devices connected to its input and output terminals.

[0003] There is an area called a data memory in the memory area of the PLC. The data memory is for storing signals handled by the PLC as data. An address is associated with each signal in the data memory. The address is composed of a device symbol and a number. Examples of device symbols include "X (input relay)", "Y (output relay)", "R (internal relay)", "T (timer)", "D (data register)", etc. An address starting with a letter such as "X", "Y", "R", etc. is assigned to the signal according to the type of the signal. The user defines the meaning of each address in the data memory and programs a sequence program using each address according to its meaning.

[0004] When specifying the signals used by various commands of the PLC, the address is input to the command. As a result, when the command is executed, the value of the address specified in the command is referred to or changed by the command. In editing a sequence program, when inputting a new address, the usage status of the address is checked and an unused address is input to the sequence program.

[0005] Conventionally, there is a function for investigating used addresses. For example, in Patent Document 1, means for investigating a data area used in a sequence program is presented.

[0006] Japanese Patent Application Laid-Open No. 2001-122409

[0007] When defining the purpose of each address, it is desirable to organize the address placement. Grouping similar or related signals together improves visibility and makes them easier to search. When adding new functions to a sequence program, for example, when entering new addresses, it is advisable to select unused addresses while checking their placement.

[0008] In sequence programs, it is desirable to have support for inputting new addresses.

[0009] The sequence program editing device according to this disclosure comprises: a program storage unit for storing a sequence program; an address map storage unit for storing the addresses of data memory and their usage status; a sequence program editing unit for receiving editing of the sequence program; an address input detection unit for detecting the input of an address in response to an instruction of the sequence program; and a usage status display unit for displaying the usage status of an address within a predetermined range centered on the input address.

[0010] This is a block diagram of a sequence program editing device. This is a diagram explaining ladder logic. This is a diagram showing the relationship between ladder symbols and instructions. This is a diagram showing the relationship between ladder logic and ST language. This is a diagram showing an example of a programming screen where an address is entered for an instruction. This is a diagram showing an example of a programming screen displaying usage status. This is an example of a programming screen that accepts input of unused addresses. This is a block diagram of a sequence program editing device of a second embodiment. This is a hardware configuration diagram of a sequence program editing device.

[0011] Embodiments of this disclosure will be described below with reference to the drawings. In the following description, components having the same or similar functions will be denoted by the same reference numerals. Duplication of these components may be omitted.

[0012] In this application, "based on XX" means "based on at least XX," and includes cases where it is based on another element in addition to XX. Furthermore, "based on XX" is not limited to cases where XX is used directly, but also includes cases where it is based on something that has been calculated or processed. "XX" is any element (for example, any information).

[0013] The sequence program editing device 100 of this embodiment can be applied to information processing devices such as PLCs (Programmable Logic Controllers) and industrial PCs (personal computers).

[0014] [First Embodiment] Figure 1 is a block diagram of the sequence program editing device 100 according to the first embodiment. The sequence program editing device 100 includes a program storage unit 11, an address map storage unit 12, a sequence program editing unit 13, an address input detection unit 14, a usage status display unit 15, and an input reception unit 16.

[0015] The program storage unit 11 stores sequence programs. Sequence programs can be written in languages ​​such as ladder logic or ST (Structure) logic. A sequence program consists of instructions and addresses. An address is a combination of a device symbol and a number. Note that an address is sometimes simply called a device.

[0016] Ladder logic is a programming language for describing logic circuits using relays, as shown in Figure 2. A ladder program has a ladder-like structure consisting of two parallel rails (busbars) and a horizontal line between them. Ladder symbols are the elements that make up a ladder. As shown in Figure 3, ladder symbols correspond to instructions. For example, an 'a' contact corresponds to a load instruction, and a 'b' contact corresponds to a load inverse instruction. Also, arranging 'a' contacts in series corresponds to an AND instruction, and arranging 'b' contacts in series corresponds to an AND inverse instruction.

[0017] Instructions in ladder logic and ST language are also mapped. Figure 4 shows an example of the correspondence between ladder logic and ST language.

[0018] The address map memory unit 12 stores the addresses of the PLC's memory and the usage status of each address. The PLC's memory includes internal memory for temporarily storing the execution results of sequences, timer memory for storing timer times, counter memory for storing counts, and register memory for storing numerical data. The PLC also has I / O memory for storing input and output data. The I / O memory stores inputs from or outputs to external devices.

[0019] The sequence program editing unit 13 displays the sequence program editing screen and accepts editing of the sequence program. The address input detection unit 14 detects the input of an address corresponding to an instruction in the sequence program. The input of an address will be explained with reference to the ladder program in Figure 5. In Figure 5, the symbol for an a-contact is placed in the editing area of ​​the ladder program. As mentioned above, the a-contact can also be considered an instruction. The address "R100" is input to the a-contact. The address input detection unit 14 detects the input of an address corresponding to the instruction, that is, the input of an address to the a-contact.

[0020] When an address is entered in response to a command, the usage status display unit 15 displays the usage status of addresses within a predetermined range centered on the entered address. The address usage status can be obtained from the address map storage unit 12.

[0021] The usage status display unit 15 may determine the range of addresses to display so as to include at least one unused address. This makes it easier to search for unused addresses.

[0022] Furthermore, if only a portion of an address is entered, the usage status display unit 15 may display the usage status of addresses within the range where the portion of the address matches. For example, if only the first few characters of an address are entered, the usage status display unit 15 will display the usage status of addresses within the range where the first few characters match.

[0023] Figure 6 shows an example of the usage status display. The usage status display screen shows the usage status of addresses within a predetermined range centered on the entered address "R100". However, in the example in Figure 6, the usage status of addresses "R0097" to "R0103", which are around the address "R0100" corresponding to "R100", is displayed. Here, "*" means that the address has been used. A scroll bar is provided on the display screen, allowing you to check the usage status of other addresses.

[0024] Possible triggers for displaying usage status include (1) detection of address input in response to a command, (2) when the user requests the display of usage status, and (3) when a predetermined period of inactivity is detected before address input is completed.

[0025] (3) In this case, the system assumes that the user entered part or all of an address but stopped the operation at that point, and displays the usage status of the surrounding addresses that match the entered content (including partial and exact matches).

[0026] The input receiving unit 16 accepts address input on the usage status display screen. In Figure 7, the unused address "R100.2" is selected. When an address is selected, the input receiving unit 16 changes the entered address "R100" to "R100.2". Once the user confirms the input, the address "R100.2" received by the input receiving unit 16 is input as the value of the target command, the normally open contact.

[0027] As described above, when the sequence program editing device 100 of the first embodiment detects the input of an address for a sequence program instruction, it displays the usage status of the input address and nearby addresses.

[0028] Users can easily search for unused addresses and enter their desired address. Furthermore, since the system accepts address selection directly on the screen displaying address usage, users do not need to check address usage beforehand, thus reducing their workload.

[0029] [Second Embodiment] Figure 8 is a block diagram of the sequence program editing device 100 of the second embodiment. The sequence program editing device of the second embodiment includes an assignment rule storage unit. The following describes the configuration that differs from the sequence program editing device of the first embodiment.

[0030] The assignment rule storage unit 17 contains the signal assignment rules. The assignment rules are a set of rules for assigning related signals, such as those used by the same device or process, to a predetermined range of addresses. For example, the address range or specific addresses used are set for each type of signal, such as the address of a signal used by a touch panel, the address of a signal used for communication, and the address of a signal used in process 1.

[0031] The usage status display unit 15 displays the usage status along with the allocation rules. Addresses are divided by process, such as "M200" to "M209" for process 1 and "M210" to "M219" for process 2, or by type of device, such as "X1000" to "X1999" for displays and "X2000" to "X2999" for control panels, etc.

[0032] The usage status display unit 15 restricts the range of addresses to be displayed based on the allocation rules. For example, it displays only the usage status of the section to which the newly entered address in response to the command belongs. This ensures that addresses are allocated according to the rules, creating an address map that is easy to read.

[0033] The usage status display unit 15 may also display the allocation rules along with the usage status. This allows the user to input addresses while checking the allocation rules.

[0034] The hardware configuration of the sequence program editing device 100 to which this disclosure is applied will be described below. Figure 9 is a hardware configuration diagram of the sequence program editing device 100. As shown in Figure 9, the sequence program editing device 100 includes a CPU 111 that controls the sequence program editing device 100 as a whole, a ROM 112 that records programs and data, and a RAM 113 for temporarily expanding data. The CPU 111 reads the system program recorded in the ROM 112 via a bus.

[0035] The non-volatile memory 114 is backed up, for example, by a battery (not shown), so that its stored state is maintained even when the power to the sequence program editing device 100 is turned off. Various data such as programs read from the external device 120 via interfaces 115, 118, and 119, and operation inputs input via the input device 20 are stored in the non-volatile memory 114. Programs and data for executing the sequence program editing device 100 of this embodiment may also be stored in the non-volatile memory 114.

[0036] Interface 115 is an interface for connecting the sequence program editing device 100 to an external device 120 such as an adapter. Programs and various parameters are read from the external device 120. Interface 118 is an interface for connecting the sequence program editing device 100 to a display device 30 such as a liquid crystal display. The display device 30 displays data read into memory, data obtained as a result of executing programs, etc. Interface 119 is an interface for connecting the sequence program editing device 100 to an input device 20 such as a keyboard or pointing device. The input device 20 passes commands, data, etc. based on operator operations to the CPU 111 via interface 119.

[0037] While embodiments of this disclosure have been described in detail above, this disclosure is not limited to the individual embodiments described above. These embodiments can be added, replaced, modified, partially deleted, etc., in any way that does not depart from the spirit of the invention or from the idea and intent of this disclosure derived from the claims and their equivalents. For example, the order of operations and processes in the embodiments described above are shown as examples only and are not limited thereto. The same applies when numerical values ​​or mathematical formulas are used in the description of the embodiments described above.

[0038] The following are annotations relating to embodiments of the present disclosure. (Annotation 1) A sequence program editing device (100) according to one aspect of the present disclosure includes a program storage unit (11) for storing a sequence program, an address map storage unit (12) for storing addresses of data memory and their usage status, a sequence program editing unit (13) for receiving editing of the sequence program, an address input detection unit (14) for detecting the input of a new address for an instruction in the sequence program, and a usage status display unit (15) for displaying the usage status of addresses in a predetermined range centered on the input address. (Annotation 2) The usage status display unit (15) determines a range of addresses to be displayed so as to include at least one unused address. (Annotation 3) The usage status display unit (15) indicates whether the addresses in the predetermined range are used or unused. (Annotation 4) The sequence program editing device (100) includes an input receiving unit (16) for receiving input of unused addresses on the usage status display screen. (Note 5) The usage status display unit (15) displays the usage status when instructed by the user. (Note 6) The usage status display unit (15) displays the usage status when it detects no operation for a predetermined period of time before the address input is completed. (Note 7) The sequence program editing device (100) includes an assignment rule storage unit (17) that stores the rules for assigning signals to the addresses, and the usage status display unit (15) limits the range of addresses to be displayed based on the assignment rules. (Note 8) The computer-readable storage media (112, 113, 114) record a program that causes the computer (111) to operate as a program storage unit (11) for storing a sequence program, an address map storage unit (12) for storing the addresses of data memory and their usage status, a sequence program editing unit (13) for accepting edits of the sequence program, an address input detection unit (14) for detecting the input of a new address for an instruction in the sequence program, and a usage status display unit (15) for displaying the usage status of addresses in a predetermined range centered on the input address.

[0039] 100 Sequence program editing device 11 Program storage unit 12 Address map storage unit 13 Sequence program editing unit 14 Address input detection unit 15 Usage status display unit 16 Input reception unit 17 Assignment rule storage unit 111 CPU 112 ROM 113 RAM 114 Non-volatile memory

Claims

1. A sequence program editing device comprising: a program storage unit for storing a sequence program; an address map storage unit for storing the addresses of data memory and their usage status; a sequence program editing unit for accepting editing of the sequence program; an address input detection unit for detecting the input of a new address in response to an instruction in the sequence program; and a usage status display unit for displaying the usage status of addresses within a predetermined range centered on the input address.

2. The sequence program editing device according to claim 1, wherein the usage status display unit determines a range of addresses to be displayed so as to include at least one unused address.

3. The sequence program editing device according to claim 1, wherein the usage status display unit displays whether the addresses within the predetermined range are used or unused.

4. The sequence program editing device according to claim 1, further comprising an input receiving unit for receiving input of unused addresses on the usage status display screen.

5. The sequence program editing device according to claim 1, wherein the usage status display unit displays the usage status when instructed by the user.

6. The sequence program editing device according to claim 1, wherein the usage status display unit displays the usage status when it detects no operation for a predetermined period of time before the address input is completed.

7. The sequence program editing device according to claim 1, comprising an assignment rule storage unit for storing rules for assigning signals to the addresses, wherein the usage status display unit limits the range of addresses to be displayed based on the assignment rules.

8. A computer-readable storage medium on which a program is recorded that causes the computer to operate as: a program storage unit for storing sequence programs; an address map storage unit for storing data memory addresses and their usage status; a sequence program editing unit for accepting edits of the sequence programs; an address input detection unit for detecting the input of new addresses in response to instructions in the sequence programs; and a usage status display unit for displaying the usage status of addresses within a predetermined range centered on the input addresses.