WO2021156940A1 - プログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラム - Google Patents

プログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラム Download PDF

Info

Publication number
WO2021156940A1
WO2021156940A1 PCT/JP2020/004143 JP2020004143W WO2021156940A1 WO 2021156940 A1 WO2021156940 A1 WO 2021156940A1 JP 2020004143 W JP2020004143 W JP 2020004143W WO 2021156940 A1 WO2021156940 A1 WO 2021156940A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
terms
character string
input
program creation
Prior art date
Application number
PCT/JP2020/004143
Other languages
English (en)
French (fr)
Inventor
賢治 戸堀
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to CN202080095205.6A priority Critical patent/CN115039042A/zh
Priority to JP2020535153A priority patent/JP6837608B1/ja
Priority to PCT/JP2020/004143 priority patent/WO2021156940A1/ja
Publication of WO2021156940A1 publication Critical patent/WO2021156940A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts

Definitions

  • the present invention relates to a program creation support device that supports the creation of a program executed by a programmable logic controller (hereinafter referred to as PLC), a program creation support method, and a program creation support program.
  • PLC programmable logic controller
  • Patent Document 1 when creating a program, selection candidates for command words or selection candidates for related information of command words are displayed on a display device according to a character string in which input is received, and among the selection candidates. Described is an invention that allows a user to select a command word or related information to be input from. According to the invention described in Patent Document 1, it is possible to support the description of correct instruction words and related information in a program according to a correct grammar, and it is possible to realize an efficient program creation work.
  • the program executed by PLC may be large-scale, in which case multiple workers share the work to create the program.
  • multiple workers share the work to create a program it is important to unify the terms described in the program so that the program debugging work and repair work can be performed efficiently. That is, each worker needs to create a program while being careful not to mix a plurality of terms having the same meaning. If the terms are not unified, there may be a problem that when a program needs to be modified, it takes time for a worker different from the operator who created the program to make the modification.
  • a program created in the past may be diverted to create a new program. In this case as well, it is important to unify the terms used in the diverted part and the terms used in the newly created part.
  • Patent Document 1 it is possible to unify the terms in one program, but it is not possible to unify the terms with other programs such as programs created in the past, and the work There was a problem that the burden on the person was heavy.
  • the present invention has been made in view of the above, and obtains a program creation support device capable of reducing the burden on a worker when creating a program while unifying terms with other programs.
  • the purpose is.
  • the present invention is a program creation support device that supports the creation of project data including a program executed by a programmable logic controller, for creating project data.
  • An input reception unit that accepts input of character strings
  • a character string analysis unit that analyzes the character string that the input reception unit accepts input and extracts terms contained in the character string, created project data, and project data.
  • the program creation support device is also calculated by the usage frequency evaluation unit and the usage frequency evaluation unit, which calculate the number of times each of the terms used is used, based on the terms used, which are the terms extracted by the character string analysis unit and the external data analysis unit. It is provided with a candidate display processing unit for displaying candidates for terms for which the input receiving unit accepts input on the display unit based on the number of times of use.
  • the program creation support device has the effect of reducing the burden on the operator when creating a program while unifying the terms with other programs.
  • a flowchart showing a third operation example of the program creation support device according to the first embodiment.
  • FIG. 1 is a diagram showing a configuration example of a program creation support device according to the first embodiment of the present invention.
  • the program creation support device 100 includes an input operation reception unit 1, a character string analysis unit 2, and an external data analysis unit 3 including an input reception unit 11 and a character string input completion determination unit 12.
  • a term list update unit 4 including a term list generation unit 41 and a usage frequency evaluation unit 42, a candidate list generation unit 5, a candidate display processing unit 6, a display unit 7, and a term list 200 used. And.
  • the program creation support device 100 is a device that creates project data for operating the PLC.
  • the program creation support device 100 has a function for supporting the work of creating project data.
  • the project data includes a program executed by the PLC, parameters used when the PLC executes the program, and the like. PLC is sometimes called a sequencer.
  • the program executed by the PLC is also called a sequence program.
  • FIG. 2 is a diagram showing an example of the hardware configuration of the program creation support device 100 according to the first embodiment.
  • the program creation support device 100 is realized by an arithmetic unit 110, a storage device 120, a display device 130, an input device 140, and a communication device 150.
  • the arithmetic unit 110 is a CPU (Central Processing Unit), a system LSI (Large Scale Integration), or the like.
  • the storage device 120 is a RAM (Random Access Memory), a ROM (Read Only Memory), a hard disk drive, an SSD (Solid State Drive), a detachable memory device, or a combination thereof.
  • the display device 130 is a liquid crystal monitor, a display, or the like.
  • the input device 140 is a mouse, a keyboard, a touch panel, and the like.
  • the communication device 150 realizes communication with other devices by wire or wirelessly.
  • the hardware that realizes the program creation support device 100 may be an electronic computer such as a personal computer.
  • a program for operating as the program creation support device 100 is installed in the storage device provided in the computer, and the program is executed by the processor of the computer to support the program creation.
  • the device 100 is realized.
  • a program for operating the computer as the program creation support device 100 is provided in a state of being written on a recording medium such as a CD (Compact Disc) -ROM or a DVD (Digital Versatile Disc) -ROM.
  • the program for operating the computer as the program creation support device 100 may be provided via a communication network such as the Internet.
  • the candidate display processing unit 6 is realized by the arithmetic unit 110.
  • the display unit 7 is realized by the display device 130.
  • the used term list 200 is held in the storage device 120.
  • the storage device 120 also holds the project data 210 created by the program creation support device 100.
  • the input reception unit 11 receives various input operations such as character input operations for creating project data from the user.
  • the character string input completion determination unit 12 determines whether or not the input of the character string performed by using the input reception unit 11 is completed. For example, when the input completion button is present on the character input screen, the character string input completion determination unit 12 determines that the character string input is completed when the input completion button is pressed. The character string input completion determination unit 12 may determine that the character string input is completed when the Enter key is pressed. You may judge by other methods.
  • the character string analysis unit 2 analyzes the character string whose input is confirmed and extracts the terms included in this character string. For example, the character string analysis unit 2 searches for a character predetermined as a delimiter from the character string, and extracts a character string sandwiched between the two delimiters as a term.
  • the delimiter is a punctuation mark, a comma, a space, or the like. The configuration may be such that the user can specify the delimiter.
  • the character string analysis unit 2 may check whether or not a general term used for creating the project data is included in the character string, and if the term is included, extract it.
  • the external data analysis unit 3 acquires the project data 310 and the dictionary data 320 included in the external data 300, analyzes these data, and extracts terms. Similar to the character string analysis unit 2 described above, the external data analysis unit 3 analyzes the character string included in the data to find the delimiter, and extracts the character string sandwiched between the two delimiters as a term.
  • FIG. 1 shows an example in which the external data 300 includes a plurality of project data 310 and dictionary data 320, but the external data 300 includes at least one or more project data 310 or dictionary data 320. Just do it.
  • the project data 310 included in the external data 300 is project data created in the past by the program creation support device 100 or another device.
  • the dictionary data 320 is configured to include character string data explaining various terms related to factory automation (FA: Factory Automation).
  • the term list generation unit 41 generates and updates the used term list 200 based on the evaluation result of the usage frequency of each term by the usage frequency evaluation unit 42.
  • the usage frequency evaluation unit 42 evaluates the usage frequency of each of the usage terms, which are the terms extracted by the character string analysis unit 2 and the external data analysis unit 3. In the present embodiment, the usage frequency evaluation unit 42 counts the number of times each used term is used, and determines that the one having a large count value has a high usage frequency. Note that this determination method is an example, and other determination methods may be used.
  • the term list 200 is a database in which each term extracted by the character string analysis unit 2 and the external data analysis unit 3 is registered, and each term is held in a list format. Each term is registered in the used term list 200 in a state associated with the evaluation result of the usage frequency evaluation unit 42, that is, the number of times of use. Details of the terminology list 200 will be described separately.
  • the candidate list generation unit 5 creates a candidate list of terms for which the input reception unit 11 accepts input, based on the terms and the number of times of use registered in the term list 200 and the character string for which the input reception unit 11 accepts input. Generate.
  • the candidate display processing unit 6 causes the display unit 7 to display the candidate terms for which the input reception unit 11 accepts the input according to the candidate list generated by the candidate list generation unit 5.
  • FIG. 3 is a flowchart showing a first operation example of the program creation support device 100 according to the first embodiment, and is an operation example in the case of generating a term list 200 based on the project data 310 included in the external data 300. Is shown.
  • the operation of the program creation support device 100 to generate the term list 200 based on the project data 310 included in the external data 300 includes step S10 of extracting the term to be registered in the term list 200 from the external data 300 and the extracted term. Is composed of step S20 for registering the term in the term list 200 used.
  • the operation of generating the used term list 200 by the program creation support device 100 is executed when an operation for instructing the start of generation of the used term list 200 is received from the user.
  • step S10 of extracting the terms registered in the term list 200 used by the program creation support device 100 from the external data 300 first, the external data analysis unit 3 confirms whether the label file exists in the project data 310 (step S11). ).
  • the external data analysis unit 3 confirms whether or not a label file exists for each of the plurality of project data 310s.
  • the label file is a file in which the definition of the label given to the device, which is a variable whose value changes according to the state of each device controlled by the PLC, is described.
  • FIG. 4 is a diagram showing an example of a label file used when the program creation support device 100 according to the first embodiment generates a term list 200.
  • the label file is composed of a label name indicating the name of the label, a data type indicating the data type of the device to which the label is attached, and a comment of the label.
  • the external data analysis unit 3 extracts terms from the label name and the label comment included in the label file (step S12). At this time, as described above, the external data analysis unit 3 searches for the delimiter from the label name and the label comment, and extracts the character string sandwiched between the two delimiters as a term. Although the same term may be used multiple times in the label name and the label comment, the external data analysis unit 3 extracts each of the terms used in duplicate as one term. For example, when the term "device" is used 10 times, the external data analysis unit 3 extracts the "device” 10 times.
  • the external data analysis unit 3 executes step S12, or if the label file does not exist (step S11: No), confirms whether the device comment file exists in the project data 310 (step S13).
  • the external data 300 includes a plurality of project data 310s
  • the external data analysis unit 3 confirms whether or not a device comment file exists for each of the plurality of project data 310s.
  • the device comment file is a file in which the above-mentioned device comment is described, and has the configuration shown in FIG. 5, for example.
  • FIG. 5 is a diagram showing an example of a device comment file used when the program creation support device 100 according to the first embodiment generates a term list 200.
  • the device comment file is configured to include a device name indicating a device name and a device comment.
  • the external data analysis unit 3 extracts terms from the device comment (step S14).
  • the external data analysis unit 3 extracts terms from device comments in the same manner as when extracting terms from label names and label comments.
  • step S10 that is, the process of extracting the term to be registered in the term list 200 from the external data 300. Is finished, and step S20 is started.
  • step S20 of registering the terms extracted by the program creation support device 100 in the term list 200 used first, the frequency evaluation unit 42 confirms whether or not there are unrated terms (step S21).
  • the unevaluated terms are terms that have not been registered in the term list 200 used, specifically, the processes shown in steps S22 to S25 described later, among the terms extracted in step S10.
  • step S21 immediately after starting step S20 the determination result is "Yes".
  • step S20 ends.
  • the frequency evaluation unit 42 selects one of the unrated terms (step S22) and determines whether or not it has been registered in the used term list 200. Confirm (step S23).
  • the term list generation unit 41 registers the term in the term list 200 and sets the number of times this term is used to 1 (step S23: No). Step S25).
  • the term list 200 is data having the configuration shown in FIG. 6, for example.
  • FIG. 6 is a diagram showing an example of a list of terms used 200 generated by the program creation support device 100 according to the first embodiment. As shown in FIG. 6, the term list 200 is configured to include terms and the number of uses.
  • step S25 the term list generation unit 41 receives the term selected by the usage frequency evaluation unit 42 in step S22, registers it in the "term” column of the term list 200, and sets 1 in the "number of uses" column. do.
  • step S25 the process returns to step S21, and the frequency of use evaluation unit 42 reconfirms whether there are any unrated terms.
  • step S24 the term list generation unit 41 advances the number of times the term is used by one (step S24). That is, the term list generation unit 41 advances the number of times of use of the term selected by the usage frequency evaluation unit 42 in step S22 among the terms registered in the term list 200. After the completion of step S24, the process returns to step S21, and the frequency of use evaluation unit 42 reconfirms whether there are any unrated terms.
  • the program creation support device 100 generates a term list 200 based on the external project data 310 by executing the above steps S10 and S20.
  • the program creation support device 100 stores the information of the project data 310 used in the generation operation of the term list 200 so that the same project data 310 is not used twice in the generation operation of the term list 200. do.
  • the information to be stored is information that uniquely indicates the project data 310, such as the project name and the file name of the project data 310.
  • FIG. 7 is a flowchart showing a second operation example of the program creation support device 100 according to the first embodiment, and is an operation example when the used term list 200 is generated based on the dictionary data 320 included in the external data 300. Is shown.
  • step S10 of the flowchart shown in FIG. 3 replaces step S10 of the flowchart shown in FIG. 3 with step S30. It becomes a thing.
  • step S30 shown in FIG. 7 the external data analysis unit 3 extracts terms from the character string included in the dictionary data 320.
  • the method of extracting the character string by the external data analysis unit 3 in step S30 is the method of extracting the term from the label name and the label comment in step S12 shown in FIG. 3, and the method of extracting the term from the device comment in step S14. Is similar to.
  • step S30 after the external data analysis unit 3 extracts a term from the character string included in the dictionary data 320, the frequency evaluation unit 42 and the term list generation unit 41 execute steps S21 to S25 to list the terms used. Generate 200.
  • FIG. 8 is a flowchart showing a third operation example of the program creation support device 100 according to the first embodiment.
  • the input reception unit 11 of the program creation support device 100 confirms whether or not characters have been input (step S41). When there is no character input (step S41: No), the input receiving unit 11 continues the confirmation. When there is character input (step S41: Yes), the candidate list generation unit 5 and the candidate display processing unit 6 cause the display unit 7 to display term input candidates (step S42). Specifically, the candidate list generation unit 5 reads out the terms related to the input characters from the used term list 200, arranges the read terms in descending order of the number of times of use, and generates a list of term input candidates. The candidate display processing unit 6 displays the list generated by the candidate list generation unit 5 on the display unit 7. The candidate list generation unit 5 generates, for example, the list shown in FIG. FIG.
  • FIG. 9 is a diagram showing an example of an input candidate list of terms generated by the candidate list generation unit 5 of the program creation support device 100 according to the first embodiment.
  • FIG. 9 shows an example of an input candidate list generated when the input receiving unit 11 receives the inputs of the characters “m”, “i”, and “t” in order (see FIG. 10).
  • FIG. 10 is a diagram showing an example of a character input acceptance screen displayed by the program creation support device 100 according to the first embodiment, and shows a display example when a label name is being input.
  • "MIT" is used most frequently, followed by "MITE”. Therefore, on the character input acceptance screen shown in FIG. 10, term input candidates are displayed in the order of "MIT", “MITE”, “MIT Mito”, “MITOSIS”, ... According to the list of FIG.
  • the candidate list generation unit 5 reads a term that matches the prefix of the character string being input (“mit” in the example) from the term list 200 to generate an input candidate list.
  • the candidate list generation unit 5 may generate an input candidate list by reading out terms that partially match the characters being input.
  • the candidate list generation unit 5 may generate an input candidate list by extracting a fixed number of terms having a higher number of uses.
  • the character string input completion determination unit 12 determines whether the character string is confirmed, that is, whether the character string input is completed (step S43). For example, when the display unit 7 displays the character input acceptance screen shown in FIG. 10, the character string input completion determination unit 12 completes the character string input when the input completion button at the lower right of the screen is pressed. Judge. If the character string is not fixed (step S43: No), the process returns to step S41, and the input receiving unit 11 confirms whether or not the character has been input.
  • step S44 the character string analysis unit 2 extracts the term from the confirmed character string.
  • the method in which the character string analysis unit 2 extracts the term from the character string is a method in which the external data analysis unit 3 described above extracts the term from the label name and the label comment in step S12 shown in FIG. 3, and the device in step S14. It is similar to the method of extracting terms from comments.
  • steps S45 to S49 are executed. These steps S45 to S49 are the same processes as steps S21 to S25 shown in FIGS. 3 and 7, respectively. Therefore, the description of steps S45 to S49 will be omitted.
  • the program creation support device 100 has the character string analysis unit 2 that analyzes the character string and extracts the term when the character string is input in the project data creation work, and the user. It includes an external data analysis unit 3 that analyzes the project data 310 and the dictionary data 320 included in the external data 300 and extracts terms when instructed.
  • the program creation support device 100 also includes a term list update unit 4 that registers each term extracted by the character string analysis unit 2 and the external data analysis unit 3 and the number of times each term is used in the term list 200. Be prepared.
  • the program creation support device 100 further includes a candidate list generation unit 5 that generates a candidate list of terms that accept input when receiving a character string input in the project data creation work, and a candidate list, based on the term list 200 used. Based on this, a candidate display processing unit 6 that displays candidates for terms that accept input on the display unit 7 is provided. According to the program creation support device 100, the terms used in each of the plurality of project data can be unified, and the burden on the worker when creating the project data while unifying the terms with other project data. Can be reduced.
  • the character string analysis unit 2 and the external data analysis unit 3 find the same term in the analysis process, the same term is extracted a plurality of times. It may be counted and each term and the number of times of extraction may be output to the frequency of use evaluation unit 42 as an analysis result.
  • FIG. 11 is a diagram showing a configuration example of the program creation support device 100a according to the second embodiment.
  • the program creation support device 100a has a configuration in which the interface unit 8 is added to the program creation support device 100 according to the first embodiment. Since it is the same as the program creation support device 100 except that the interface unit 8 is provided, the description of the configuration other than the interface unit 8 will be omitted.
  • the interface unit 8 includes a data writing unit 81 and a data reading unit 82.
  • the data writing unit 81 writes the term list 200 generated in the program creation support device 100a to the storage unit not shown in the PLC 400.
  • the terminology list 200 written in the PLC400 is held by the PLC400 as a terminology list 410.
  • the data reading unit 82 reads the used term list 410 held by the PLC 400 from the PLC 400.
  • the program creation support device 100a holds the used term list 410 read from the PLC 400 as the used term list 200.
  • the program creation support device 100a overwrites the read used term list 410 and updates the used term list 200.
  • the term list 410 corresponding to the project data to be repaired can be used as the term list 200. It is possible to unify the terms used in the project data before the renovation and the terms used in the project data after the renovation. Therefore, it is possible to reduce the burden on the worker when repairing the project data while realizing the unification of terms.
  • the program creation support device 100a may be configured such that only the PLC 400 holds the used term list 410 without holding the used term list 200.
  • the term list update unit 4 (term list generation unit 41 and frequency evaluation unit 42) of the program creation support device 100a is described in the first embodiment when the PLC 400 is connected. 200 generation operations are performed.
  • FIG. 12 is a diagram showing a configuration example of the program creation support device 100b according to the third embodiment.
  • the program creation support device 100b has a configuration in which a data conversion unit 9 is added to the program creation support device 100a according to the second embodiment. Since it is the same as the program creation support device 100a except that the data conversion unit 9 is provided, the description of the configuration other than the data conversion unit 9 will be omitted.
  • the data conversion unit 9 converts the data format of the used term list 200 from the first format to the second format and passes it to the interface unit 8, and the data format of the used term list 410 read by the interface unit 8 from the PLC 400. Is converted from the second form to the first form. For example, the data conversion unit 9 compresses the used term list 200 to generate the used term list 410, and decompresses the used term list 410 to generate the used term list 200. That is, the data conversion unit 9 converts the data format from the first format to the second format by performing the compression process on the used term list 200, and decompresses the used term list 410 to change the data format. Convert from the second format to the first format. As a result, the amount of data written to the PLC 400 can be reduced.
  • the data format is converted by the compression process and the decompression process, but the data format may be converted by other processes such as the encryption process and the decryption process.
  • FIG. 13 is a diagram showing a configuration example of the program creation support device 100c according to the fourth embodiment.
  • the program creation support device 100c has a configuration in which the interface unit 8 of the program creation support device 100b according to the third embodiment is replaced with the interface unit 8c, and the candidate list generation unit 5 is deleted. Further, the PLC 400c connected to the program creation support device 100c is configured to include the candidate list generation unit 420. Since it is the same as the program creation support device 100b except that the candidate list generation unit 5 is deleted and the interface unit 8c is provided, the description of the configuration other than the interface unit 8c will be omitted.
  • the interface unit 8c of the program creation support device 100c includes a data writing unit 81 and a data relay unit 83.
  • the data writing unit 81 performs the same processing as the data writing unit 81 included in the interface unit 8 of the program creation support device 100b.
  • the data relay unit 83 relays data between the input reception unit 11, the candidate display processing unit 6, and the PLC 400c.
  • the candidate list generation unit 420 of the PLC 400c performs the same processing as the candidate list generation unit 5 included in the program creation support device 100b. That is, the program creation support device 100c according to the fourth embodiment is such that the process executed by the candidate list generation unit 5 of the program creation support device 100b is executed by the candidate list generation unit 420 of the PLC 400c.
  • the candidate list generation unit 420 receives the character string for which the input reception unit 11 has received the input via the data relay unit 83, and the candidate list of terms is based on the received character string and the used term list 410 held by the PLC 400c. To generate.
  • the candidate list generation unit 420 outputs the generated candidate list to the candidate display processing unit 6 via the data relay unit 83.
  • the PLC 400c connected to the program creation support device 100c may include the candidate list generation unit 420, and the PLC 400c may be configured to generate a term candidate list.
  • the configuration shown in the above-described embodiment shows an example of the content of the present invention, can be combined with another known technique, and is one of the configurations without departing from the gist of the present invention. It is also possible to omit or change the part.
  • 1 Input operation reception unit 2 Character string analysis unit, 3 External data analysis unit, 4 Used term list update unit, 5,420 Candidate list generation unit, 6 Candidate display processing unit, 7 Display unit, 8,8c interface unit, 9 Data conversion unit, 11 input reception unit, 12 character string input completion judgment unit, 41 term list generation unit, 42 usage frequency evaluation unit, 81 data writing unit, 82 data reading unit, 83 data relay unit, 100, 100a, 100b , 100c program creation support device, 110 arithmetic device, 120 storage device, 130 display device, 140 input device, 150 communication device, 200, 410 terminology list, 210, 310 project data, 300 external data, 320 dictionary data, 400, 400c PLC.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

プログラマブルロジックコントローラで実行されるプログラムを含むプロジェクトデータの作成を支援するプログラム作成支援装置(100)は、プロジェクトデータを作成するための文字列の入力を受け付ける入力受付部(11)と、入力受付部が入力を受け付けた文字列を解析して文字列に含まれる用語を抽出する文字列解析部(2)と、作成済みのプロジェクトデータ(310)、および、プロジェクトデータの作成時に用いられる用語を含む各種用語が登録された辞書データ(320)、の少なくとも一方を含む外部データ(300)を解析して外部データに含まれる用語を抽出する外部データ解析部(3)と、文字列解析部および外部データ解析部が抽出した用語の使用回数を算出する使用頻度評価部(42)と、使用頻度評価部が算出した使用回数に基づいて、入力受付部が入力を受け付ける用語の候補を表示部(7)に表示させる候補表示処理部(6)と、を備える。

Description

プログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラム
 本発明は、プログラマブルロジックコントローラ(Programmable Logic Controller、以下PLCと称する)で実行されるプログラムの作成を支援するプログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラムに関する。
 特許文献1には、プログラムを作成する際に、入力を受け付けた文字列に応じて、命令語の選択候補、または、命令語の関連情報の選択候補を表示装置に表示し、選択候補の中から入力する命令語または関連情報を選択させる発明が記載されている。特許文献1に記載の発明によれば、正しい命令語および関連情報を正しい文法に従ってプログラムに記述することを支援することができ、効率的なプログラム作成作業を実現できる。
特開2011-28552号公報
 PLCで実行されるプログラムは大規模となる場合があり、その場合、複数の作業者が分担してプログラムを作成する。複数の作業者が分担してプログラムを作成する場合、プログラムのデバッグ作業、改修作業などが効率的に行えるよう、プログラムに記述する用語を統一化しておくことが重要となる。すなわち、各作業者は、同じ意味の複数の用語が混在することがないように気を付けながらプログラムを作成する必要がある。用語が統一化されていない場合、プログラムの修正が必要となった場合に、プログラムを作成した作業者とは異なる作業者が修正を行う際に時間を要するといった問題が生じる可能性がある。また、プログラムの作成作業では過去に作成したプログラムを流用して新しいプログラムを作成する場合がある。この場合も、流用する部分で使用されている用語と、新たに作成する部分で使用される用語とを統一化することが重要となる。
 特許文献1に記載の発明では1つのプログラム内で用語を統一化することが可能であるが、過去に作成済みのプログラムなど、他のプログラムとの間で用語を統一することはできず、作業者の負担が大きい、という問題があった。
 本発明は、上記に鑑みてなされたものであって、他のプログラムとの間で用語を統一化しながらプログラムを作成する際の作業者の負担を軽減することが可能なプログラム作成支援装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本発明は、プログラマブルロジックコントローラで実行されるプログラムを含むプロジェクトデータの作成を支援するプログラム作成支援装置であって、プロジェクトデータを作成するための文字列の入力を受け付ける入力受付部と、入力受付部が入力を受け付けた文字列を解析して文字列に含まれる用語を抽出する文字列解析部と、作成済みのプロジェクトデータ、および、プロジェクトデータの作成時に用いられる用語を含む各種用語が登録された辞書データ、の少なくとも一方を含む外部データを解析して外部データに含まれる用語を抽出する外部データ解析部と、を備える。プログラム作成支援装置は、また、文字列解析部および外部データ解析部が抽出した用語である使用用語に基づいて、使用用語それぞれの使用回数を算出する使用頻度評価部と、使用頻度評価部が算出した使用回数に基づいて、入力受付部が入力を受け付ける用語の候補を表示部に表示させる候補表示処理部と、を備える。
 本発明にかかるプログラム作成支援装置は、他のプログラムとの間で用語を統一化しながらプログラムを作成する際の作業者の負担を軽減することができる、という効果を奏する。
本発明の実施の形態1にかかるプログラム作成支援装置の構成例を示す図 実施の形態1にかかるプログラム作成支援装置のハードウェア構成の一例を示す図 実施の形態1にかかるプログラム作成支援装置の第1の動作例を示すフローチャート 実施の形態1にかかるプログラム作成支援装置が使用用語一覧を生成する際に用いるラベルファイルの一例を示す図 実施の形態1にかかるプログラム作成支援装置が使用用語一覧を生成する際に用いるデバイスコメントファイルの一例を示す図 実施の形態1にかかるプログラム作成支援装置が生成する使用用語一覧の一例を示す図 実施の形態1にかかるプログラム作成支援装置の第2の動作例を示すフローチャート 実施の形態1にかかるプログラム作成支援装置の第3の動作例を示すフローチャート 実施の形態1にかかるプログラム作成支援装置の候補リスト生成部が生成する用語の入力候補リストの一例を示す図 実施の形態1にかかるプログラム作成支援装置が表示する文字入力受け付け画面の一例を示す図 実施の形態2にかかるプログラム作成支援装置の構成例を示す図 実施の形態3にかかるプログラム作成支援装置の構成例を示す図 実施の形態4にかかるプログラム作成支援装置の構成例を示す図
 以下に、本発明の実施の形態にかかるプログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
 図1は、本発明の実施の形態1にかかるプログラム作成支援装置の構成例を示す図である。実施の形態1にかかるプログラム作成支援装置100は、入力受付部11および文字列入力完了判断部12を含んで構成される入力操作受付部1と、文字列解析部2と、外部データ解析部3と、用語一覧生成部41および使用頻度評価部42を含んで構成される使用用語一覧更新部4と、候補リスト生成部5と、候補表示処理部6と、表示部7と、使用用語一覧200とを備える。
 プログラム作成支援装置100は、PLCを動作させるためのプロジェクトデータを作成する装置である。また、プログラム作成支援装置100は、プロジェクトデータの作成作業を支援するための機能を有する。プロジェクトデータは、PLCで実行されるプログラム、PLCがプログラムを実行する際に使用されるパラメータなどを含む。PLCはシーケンサと呼ばれる場合がある。また、PLCで実行されるプログラムはシーケンスプログラムとも呼ばれる。なお、図1では、プログラム作成支援装置100が作成するプロジェクトデータについての記載を省略しているが、プログラム作成支援装置100は作成中のプロジェクトデータを保持しているものとする。
 ここで、プログラム作成支援装置100の図1に示す各構成要素を実現するハードウェアの構成について説明する。図2は、実施の形態1にかかるプログラム作成支援装置100のハードウェア構成の一例を示す図である。図2に示すように、プログラム作成支援装置100は、演算装置110、記憶装置120、表示装置130、入力装置140および通信装置150により実現される。
 演算装置110は、CPU(Central Processing Unit)、システムLSI(Large Scale Integration)などである。記憶装置120は、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスクドライブ、SSD(Solid State Drive)、着脱可能なメモリデバイス、またはこれらの組み合わせたものである。表示装置130は、液晶モニタ、ディスプレイなどである。入力装置140は、マウス、キーボード、タッチパネルなどである。通信装置150は、他の装置との通信を有線または無線によって実現する。
 なお、プログラム作成支援装置100を実現するハードウェアは、パーソナルコンピュータなどの電子計算機であってもよい。電子計算機でプログラム作成支援装置100を実現する場合、プログラム作成支援装置100として動作させるためのプログラムを電子計算機が備える記憶装置にインストールし、このプログラムを電子計算機のプロセッサが実行することによりプログラム作成支援装置100が実現される。電子計算機をプログラム作成支援装置100として動作させるためのプログラムは、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROMなどの記録媒体に書き込まれた状態で提供される。電子計算機をプログラム作成支援装置100として動作させるためのプログラムは、インターネットなどの通信ネットワークを介して提供される形態であってもよい。
 図2に示すように、入力受付部11、文字列入力完了判断部12、文字列解析部2、外部データ解析部3、用語一覧生成部41、使用頻度評価部42、候補リスト生成部5および候補表示処理部6は、演算装置110により実現される。表示部7は表示装置130により実現される。使用用語一覧200は記憶装置120で保持される。記憶装置120は、プログラム作成支援装置100が作成するプロジェクトデータ210も保持する。
 図1の説明に戻り、入力操作受付部1において、入力受付部11は、プロジェクトデータ作成のための文字入力操作などの各種入力操作をユーザより受け付ける。文字列入力完了判断部12は、入力受付部11を用いて行われる文字列の入力が完了したか否かを判断する。文字列入力完了判断部12は、例えば、文字入力画面に入力完了ボタンが存在する場合は入力完了ボタンが押されると文字列の入力が完了したと判断する。文字列入力完了判断部12は、Enterキーが押された場合に文字列の入力が完了したと判断してもよい。その他の方法で判断しても構わない。
 文字列解析部2は、文字列入力完了判断部12が文字列の入力が完了したと判断した場合に、入力が確定した文字列を解析してこの文字列に含まれる用語を抽出する。文字列解析部2は、例えば、区切り文字として予め定められた文字を文字列から探し出し、2つの区切り文字に挟まれた文字列を用語として抽出する。区切り文字は、句点、読点、カンマ、空白、などとする。ユーザが区切り文字を指定できる構成としてもよい。文字列解析部2は、プロジェクトデータの作成に用いられる一般的な用語が文字列に含まれているか否かを確認し、用語が含まれている場合にそれを抽出してもよい。
 外部データ解析部3は、外部データ300に含まれるプロジェクトデータ310および辞書データ320を取得し、これらのデータを解析して用語を抽出する。外部データ解析部3は、上記の文字列解析部2と同様に、データに含まれる文字列を解析して区切り文字を探し出し、2つの区切り文字に挟まれた文字列を用語として抽出する。図1では外部データ300が複数のプロジェクトデータ310と辞書データ320とを含む場合の例を示したが、外部データ300は、少なくとも1つ以上のプロジェクトデータ310、または、辞書データ320を含んでいればよい。
 外部データ300に含まれるプロジェクトデータ310は、プログラム作成支援装置100または他の装置が過去に作成済みのプロジェクトデータである。辞書データ320は、ファクトリーオートメーション(FA:Factory Automation)に関連する各種用語を説明する文字列データを含んで構成される。
 使用用語一覧更新部4において、用語一覧生成部41は、使用頻度評価部42による各用語の使用頻度の評価結果に基づいて使用用語一覧200の生成および更新を行う。使用頻度評価部42は、文字列解析部2および外部データ解析部3が抽出した用語である使用用語のそれぞれについて、使用用語それぞれの使用頻度を評価する。本実施の形態において、使用頻度評価部42は、各使用用語が使用されている回数をカウントし、カウント値が大きいものを使用頻度が高いと判断する。なお、この判断方法は一例であり、他の方法で判断しても構わない。
 使用用語一覧200は、文字列解析部2および外部データ解析部3で抽出された各用語が登録されるデータベースであり、各用語を一覧形式で保持する。各用語は、使用頻度評価部42での評価結果すなわち使用回数と対応付けられた状態で使用用語一覧200に登録される。使用用語一覧200の詳細については別途説明する。
 候補リスト生成部5は、使用用語一覧200に登録された用語および使用回数と、入力受付部11が入力を受け付けた文字列とに基づいて、入力受付部11が入力を受け付ける用語の候補リストを生成する。候補表示処理部6は、候補リスト生成部5が生成した候補リストに従い、入力受付部11が入力を受け付ける用語の候補を表示部7に表示させる。
 つづいて、プログラム作成支援装置100の動作の詳細について説明する。まず、プログラムの作成支援に用いる使用用語一覧200を生成する動作について、図3を参照しながら説明する。図3は、実施の形態1にかかるプログラム作成支援装置100の第1の動作例を示すフローチャートであり、外部データ300に含まれるプロジェクトデータ310に基づいて使用用語一覧200を生成する場合の動作例を示す。
 プログラム作成支援装置100が外部データ300に含まれるプロジェクトデータ310に基づいて使用用語一覧200を生成する動作は、使用用語一覧200に登録する用語を外部データ300から抽出するステップS10と、抽出した用語を使用用語一覧200に登録するステップS20とで構成される。プログラム作成支援装置100が使用用語一覧200を生成する動作は、使用用語一覧200の生成開始を指示する操作をユーザより受け付けた場合に実行する。
 プログラム作成支援装置100が使用用語一覧200に登録する用語を外部データ300から抽出するステップS10では、まず、外部データ解析部3が、プロジェクトデータ310にラベルファイルが存在するかを確認する(ステップS11)。外部データ300に複数のプロジェクトデータ310が含まれる場合、外部データ解析部3は、複数のプロジェクトデータ310それぞれについて、ラベルファイルが存在するかを確認する。ラベルファイルとは、PLCが制御する各機器の状態に応じて値が変化する変数であるデバイスに付与されるラベルの定義が記述されたファイルである。
 ラベルファイルの構成は、例えば図4に示すものとなる。図4は、実施の形態1にかかるプログラム作成支援装置100が使用用語一覧200を生成する際に用いるラベルファイルの一例を示す図である。図4に示すように、ラベルファイルは、ラベルの名称を示すラベル名と、ラベルが付与されたデバイスのデータ型を示すデータ型と、ラベルのコメントとを含んで構成される。
 外部データ解析部3は、ラベルファイルが存在する場合(ステップS11:Yes)、ラベルファイルに含まれるラベル名およびラベルのコメントから用語を抽出する(ステップS12)。このとき、外部データ解析部3は、上述したように、ラベル名およびラベルのコメントから区切り文字を探し出し、2つの区切り文字に挟まれた文字列を用語として抽出する。なお、ラベル名およびラベルのコメントにおいて同じ用語が複数回にわたって使用されている可能性があるが、外部データ解析部3は、重複して使用されている用語のそれぞれを1つの用語として抽出する。例えば、用語「装置」が10回使用されている場合、外部データ解析部3は、「装置」を10回抽出する。
 外部データ解析部3は、ステップS12を実行するか、ラベルファイルが存在しない場合(ステップS11:No)、プロジェクトデータ310にデバイスコメントファイルが存在するかを確認する(ステップS13)。外部データ300に複数のプロジェクトデータ310が含まれる場合、外部データ解析部3は、複数のプロジェクトデータ310それぞれについて、デバイスコメントファイルが存在するかを確認する。デバイスコメントファイルとは、上述したデバイスのコメントが記述されたファイルであり、例えば図5に示す構成となる。なお、図5は、実施の形態1にかかるプログラム作成支援装置100が使用用語一覧200を生成する際に用いるデバイスコメントファイルの一例を示す図である。図5に示すように、デバイスコメントファイルは、デバイスの名称を示すデバイス名と、デバイスのコメントとを含んで構成される。
 外部データ解析部3は、デバイスコメントファイルが存在する場合(ステップS13:Yes)、デバイスのコメントから用語を抽出する(ステップS14)。外部データ解析部3は、ラベル名、ラベルのコメントから用語を抽出する場合と同様の方法でデバイスのコメントから用語を抽出する。
 外部データ解析部3がステップS14の処理を終了するか、デバイスコメントファイルが存在しない場合(ステップS13:No)、ステップS10、すなわち、使用用語一覧200に登録する用語を外部データ300から抽出する処理が終了となり、ステップS20が開始となる。
 プログラム作成支援装置100が抽出した用語を使用用語一覧200に登録するステップS20では、まず、使用頻度評価部42が、未評価の用語が存在するかを確認する(ステップS21)。未評価の用語とは、ステップS10で抽出された用語のうち、使用用語一覧200への登録処理、具体的には後述するステップS22~S25に示す処理が済んでいない用語である。なお、ステップS20を開始した直後のステップS21では、判定結果が「Yes」となる。
 未評価の用語が存在しない場合(ステップS21:No)、ステップS20は終了となる。
 未評価の用語が存在する場合(ステップS21:Yes)、使用頻度評価部42は、未評価の用語の中の1つを選択し(ステップS22)、使用用語一覧200に登録済みか否かを確認する(ステップS23)。選択した用語が使用用語一覧200に登録されていない場合(ステップS23:No)、用語一覧生成部41が、使用用語一覧200に用語を登録するとともに、この用語の使用回数を1に設定する(ステップS25)。使用用語一覧200は、例えば図6に示す構成のデータである。図6は、実施の形態1にかかるプログラム作成支援装置100が生成する使用用語一覧200の一例を示す図である。図6に示すように、使用用語一覧200は、用語および使用回数を含んで構成される。ステップS25において、用語一覧生成部41は、使用頻度評価部42がステップS22で選択した用語を受け取り、これを使用用語一覧200の「用語」欄に登録し、「使用回数」欄に1を設定する。ステップS25が完了した後は、ステップS21に戻り、使用頻度評価部42が未評価の用語があるかを再度確認する。
 一方、選択した用語が使用用語一覧200に登録済の場合(ステップS23:Yes)、用語一覧生成部41が、用語の使用回数を1つ繰り上げる(ステップS24)。すなわち、用語一覧生成部41は、使用用語一覧200に登録済の用語のうち、使用頻度評価部42がステップS22で選択した用語の使用回数を1つ繰り上げる。ステップS24が完了した後は、ステップS21に戻り、使用頻度評価部42が未評価の用語があるかを再度確認する。
 プログラム作成支援装置100は、以上のステップS10およびS20を実行することで、外部のプロジェクトデータ310に基づいて使用用語一覧200を生成する。なお、プログラム作成支援装置100は、使用用語一覧200の生成動作で同じプロジェクトデータ310を重複して使用することがないよう、使用用語一覧200の生成動作で使用済みのプロジェクトデータ310の情報を記憶する。記憶する情報は、例えばプロジェクトデータ310のプロジェクト名、ファイル名など、プロジェクトデータ310を一意に示す情報とする。
 外部のプロジェクトデータ310に基づいて使用用語一覧200を生成する場合の動作について説明したが、辞書データ320に基づいて使用用語一覧200を生成する場合の動作は図7に示すものとなる。図7は、実施の形態1にかかるプログラム作成支援装置100の第2の動作例を示すフローチャートであり、外部データ300に含まれる辞書データ320に基づいて使用用語一覧200を生成する場合の動作例を示す。
 図7に示すように、プログラム作成支援装置100が外部データ300に含まれる辞書データ320に基づいて使用用語一覧200を生成する場合の動作は、図3に示すフローチャートのステップS10をステップS30に置き換えたものとなる。
 図7に示すステップS30では、外部データ解析部3が、辞書データ320に含まれる文字列から用語を抽出する。このステップS30で外部データ解析部3が文字列を抽出する方法は、図3に示すステップS12でラベル名、ラベルのコメントから用語を抽出する方法、ステップS14でデバイスのコメントから用語を抽出する方法と同様である。ステップS30は、外部データ解析部3が辞書データ320に含まれる文字列から用語を抽出した後は、使用頻度評価部42および用語一覧生成部41が、ステップS21~S25を実行して使用用語一覧200を生成する。
 つづいて、プログラム作成支援装置100がプロジェクトデータを作成する際の動作について説明する。プログラム作成支援装置100は、プロジェクトデータの作成作業において文字の入力を受け付ける際、使用用語一覧200に基づいて、入力候補の用語を表示部7に表示する。この動作により、作業者による用語の入力作業を支援するとともに、使用する用語の統一化を実現する。また、プログラム作成支援装置100は、文字列の入力を受け付けるごとに、入力された文字列に基づいて使用用語一覧200を更新する。この動作をフローチャートで示すと図8のようになる。なお、図8は、実施の形態1にかかるプログラム作成支援装置100の第3の動作例を示すフローチャートである。
 プログラム作成支援装置100の入力受付部11は、文字の入力があるかを確認する(ステップS41)。文字の入力が無い場合(ステップS41:No)、入力受付部11は、確認を続ける。文字の入力がある場合(ステップS41:Yes)、候補リスト生成部5および候補表示処理部6が、表示部7に用語の入力候補を表示させる(ステップS42)。具体的には、候補リスト生成部5が、入力された文字に関連する用語を使用用語一覧200から読み出し、読み出した用語を使用回数が多い順に並べて、用語の入力候補のリストを生成する。候補表示処理部6は、候補リスト生成部5が生成したリストを表示部7に表示する。候補リスト生成部5は、例えば、図9に示すリストを生成する。図9は、実施の形態1にかかるプログラム作成支援装置100の候補リスト生成部5が生成する用語の入力候補リストの一例を示す図である。図9は、入力受付部11が文字「m」、「i」、「t」の入力を順番に受け付けた時点で生成する入力候補リストの例を示す(図10参照)。図10は、実施の形態1にかかるプログラム作成支援装置100が表示する文字入力受け付け画面の一例を示す図であり、ラベル名を入力しているときの表示例を示している。図9に示す例では、「MIT」の使用回数が最も多く、次に「MITE」の使用回数が多い。そのため、図10に示す文字入力受け付け画面では図9のリストに従い「MIT」、「MITE」、「MIT水戸」、「MITOSIS」、…の順番で用語の入力候補を表示する。
 なお、図9および図10に示す例では、候補リスト生成部5が、入力中の文字列(例では「mit」)と前方一致する用語を使用用語一覧200から読み出して入力候補リストを生成する場合の例を示したがこれに限定されない。候補リスト生成部5は、入力中の文字と部分一致する用語を読み出して入力候補リストを生成してもよい。入力中の文字列に対応する用語が多数存在する場合、候補リスト生成部5は、使用回数が上位の一定数の用語を抽出して入力候補リストを生成してもよい。
 図8の説明に戻り、ステップS42を実行後、文字列入力完了判断部12が、文字列が確定したか、すなわち、文字列の入力が終了したかを判定する(ステップS43)。文字列入力完了判断部12は、例えば、図10に示す文字入力受け付け画面を表示部7が表示している場合、画面右下の入力完了ボタンが押された場合に文字列の入力が終了したと判断する。文字列が確定していない場合(ステップS43:No)、ステップS41に戻り、入力受付部11が、文字の入力があるかを確認する。
 文字列が確定した場合(ステップS43:Yes)、文字列解析部2が、確定した文字列から用語を抽出する(ステップS44)。文字列解析部2が文字列から用語を抽出する方法は、上述した外部データ解析部3が、図3に示すステップS12でラベル名、ラベルのコメントから用語を抽出する方法、ステップS14でデバイスのコメントから用語を抽出する方法と同様である。ステップS44において文字列解析部2が文字列から用語を抽出した後は、ステップS45~S49が実行される。これらのステップS45~S49はそれぞれ、図3および図7に示すステップS21~S25と同様の処理である。そのため、ステップS45~S49については説明を省略する。
 以上のように、本実施の形態にかかるプログラム作成支援装置100は、プロジェクトデータの作成作業で文字列が入力されると文字列を解析して用語を抽出する文字列解析部2と、ユーザから指示を受けると外部データ300に含まれるプロジェクトデータ310および辞書データ320を解析して用語を抽出する外部データ解析部3とを備える。プログラム作成支援装置100は、また、文字列解析部2および外部データ解析部3が抽出した各用語と各用語の使用回数とを対応付けて使用用語一覧200に登録する使用用語一覧更新部4を備える。プログラム作成支援装置100は、さらに、使用用語一覧200に基づいて、プロジェクトデータの作成作業での文字列入力受け付け時に、入力を受け付ける用語の候補リストを生成する候補リスト生成部5と、候補リストに基づいて、入力を受け付ける用語の候補を表示部7に表示する候補表示処理部6とを備える。プログラム作成支援装置100によれば、複数のプロジェクトデータそれぞれで使用する用語を統一化することができ、他のプロジェクトデータとの間で用語を統一化しながらプロジェクトデータを作成する際の作業者の負担を軽減できる。
 なお、本実施の形態において、文字列解析部2および外部データ解析部3は、解析処理で同じ用語を発見した場合に、同じ用語を複数回抽出することとしたが、同じ用語の抽出回数をカウントし、各用語と抽出回数とを解析結果として使用頻度評価部42に出力するようにしてもよい。
実施の形態2.
 図11は、実施の形態2にかかるプログラム作成支援装置100aの構成例を示す図である。プログラム作成支援装置100aは、実施の形態1にかかるプログラム作成支援装置100にインタフェース部8を追加した構成である。インタフェース部8を備える点以外はプログラム作成支援装置100と同様であるため、インタフェース部8以外の構成については説明を省略する。
 インタフェース部8は、データ書込部81およびデータ読出部82を含んで構成される。データ書込部81は、プログラム作成支援装置100a内で生成した使用用語一覧200をPLC400の図示を省略した記憶部に書き込む。PLC400に書き込まれた使用用語一覧200は、使用用語一覧410としてPLC400で保持される。データ読出部82は、PLC400が保持する使用用語一覧410をPLC400から読み出す。プログラム作成支援装置100aは、PLC400から読み出した使用用語一覧410を使用用語一覧200として保持する。プログラム作成支援装置100aは、使用用語一覧200を保持している状態でPLC400から使用用語一覧410を読み出した場合、読み出した使用用語一覧410を上書きして使用用語一覧200を更新する。
 本実施の形態にかかるプログラム作成支援装置100aによれば、PLC400で実行されているプロジェクトデータを改修する場合に、改修するプロジェクトデータに対応する使用用語一覧410を使用用語一覧200として使用することができ、改修前のプロジェクトデータで使用する用語と改修後のプロジェクトデータで使用する用語の統一化が可能となる。よって、用語の統一化を実現しつつプロジェクトデータを改修する際の作業者の負担を軽減できる。
 なお、プログラム作成支援装置100aは使用用語一覧200を保持せずに、PLC400のみが使用用語一覧410を保持する構成としてもよい。この場合、プログラム作成支援装置100aの使用用語一覧更新部4(用語一覧生成部41および使用頻度評価部42)は、PLC400が接続されている状態の時に、実施の形態1で説明した使用用語一覧200の生成動作を行う。
実施の形態3.
 図12は、実施の形態3にかかるプログラム作成支援装置100bの構成例を示す図である。プログラム作成支援装置100bは、実施の形態2にかかるプログラム作成支援装置100aにデータ変換部9を追加した構成である。データ変換部9を備える点以外はプログラム作成支援装置100aと同様であるため、データ変換部9以外の構成については説明を省略する。
 データ変換部9は、使用用語一覧200のデータ形式を第1の形式から第2の形式に変換してインタフェース部8に受け渡すとともに、インタフェース部8がPLC400から読み出した使用用語一覧410のデータ形式を第2の形式から第1の形式に変換する。データ変換部9は、例えば、使用用語一覧200を圧縮して使用用語一覧410を生成し、使用用語一覧410を解凍して使用用語一覧200を生成する。すなわち、データ変換部9は、使用用語一覧200に圧縮処理を行うことでデータ形式を第1の形式から第2の形式に変換し、使用用語一覧410に解凍処理を行うことでデータ形式を第2の形式から第1の形式に変換する。これにより、PLC400に書き込むデータ量を削減できる。ここでは圧縮処理および解凍処理によりデータ形式を変換することとしたが、他の処理、例えば、暗号化処理および復号処理によりデータ形式を変換してもよい。
実施の形態4.
 図13は、実施の形態4にかかるプログラム作成支援装置100cの構成例を示す図である。プログラム作成支援装置100cは、実施の形態3にかかるプログラム作成支援装置100bのインタフェース部8をインタフェース部8cに置き換え、候補リスト生成部5を削除した構成である。また、プログラム作成支援装置100cに接続するPLC400cが、候補リスト生成部420を備える構成である。候補リスト生成部5を削除した点およびインタフェース部8cを備える点以外はプログラム作成支援装置100bと同様であるため、インタフェース部8c以外の構成については説明を省略する。
 プログラム作成支援装置100cのインタフェース部8cは、データ書込部81およびデータ中継部83を含んで構成される。データ書込部81は、プログラム作成支援装置100bのインタフェース部8が備えるデータ書込部81と同じ処理を行う。データ中継部83は、入力受付部11および候補表示処理部6とPLC400cとの間でデータを中継する。
 PLC400cの候補リスト生成部420は、プログラム作成支援装置100bが備える候補リスト生成部5と同様の処理を行う。すなわち、実施の形態4にかかるプログラム作成支援装置100cは、プログラム作成支援装置100bの候補リスト生成部5で実行する処理をPLC400cの候補リスト生成部420で実行するようにしたものである。候補リスト生成部420は、入力受付部11が入力を受け付けた文字列をデータ中継部83経由で受け取り、受け取った文字列とPLC400cが保持している使用用語一覧410とに基づいて用語の候補リストを生成する。候補リスト生成部420は、生成した候補リストをデータ中継部83経由で候補表示処理部6に出力する。
 このように、プログラム作成支援装置100cに接続されたPLC400cが候補リスト生成部420を備え、PLC400cで用語の候補リストを生成する構成としてもよい。
 以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
 1 入力操作受付部、2 文字列解析部、3 外部データ解析部、4 使用用語一覧更新部、5,420 候補リスト生成部、6 候補表示処理部、7 表示部、8,8c インタフェース部、9 データ変換部、11 入力受付部、12 文字列入力完了判断部、41 用語一覧生成部、42 使用頻度評価部、81 データ書込部、82 データ読出部、83 データ中継部、100,100a,100b,100c プログラム作成支援装置、110 演算装置、120 記憶装置、130 表示装置、140 入力装置、150 通信装置、200,410 使用用語一覧、210,310 プロジェクトデータ、300 外部データ、320 辞書データ、400,400c PLC。

Claims (8)

  1.  プログラマブルロジックコントローラで実行されるプログラムを含むプロジェクトデータの作成を支援するプログラム作成支援装置であって、
     前記プロジェクトデータを作成するための文字列の入力を受け付ける入力受付部と、
     前記入力受付部が入力を受け付けた文字列を解析して前記文字列に含まれる用語を抽出する文字列解析部と、
     作成済みのプロジェクトデータ、および、プロジェクトデータの作成時に用いられる用語を含む各種用語が登録された辞書データ、の少なくとも一方を含む外部データを解析して前記外部データに含まれる用語を抽出する外部データ解析部と、
     前記文字列解析部および前記外部データ解析部が抽出した用語である使用用語に基づいて、前記使用用語それぞれの使用回数を算出する使用頻度評価部と、
     前記使用頻度評価部が算出した使用回数に基づいて、前記入力受付部が入力を受け付ける用語の候補を表示部に表示させる候補表示処理部と、
     を備えることを特徴とするプログラム作成支援装置。
  2.  前記使用用語が当該使用用語の使用回数と対応付けられた状態で登録された一覧表である使用用語一覧を生成する用語一覧生成部、
     を備えることを特徴とする請求項1に記載のプログラム作成支援装置。
  3.  前記使用用語一覧をプログラマブルロジックコントローラに書き込む書込み処理と、前記使用用語一覧をプログラマブルロジックコントローラから読み出す読出し処理とを行うインタフェース部、
     を備えることを特徴とする請求項2に記載のプログラム作成支援装置。
  4.  前記用語一覧生成部が生成した前記使用用語一覧に対して圧縮処理または暗号化処理を実行し、前記使用用語一覧のデータ形式を第1の形式から第2の形式に変換して前記インタフェース部に受け渡し、前記インタフェース部が前記プログラマブルロジックコントローラから読み出した前記使用用語一覧のデータ形式を前記第2の形式から前記第1の形式に変換するデータ変換部、
     を備えることを特徴とする請求項3に記載のプログラム作成支援装置。
  5.  前記インタフェース部は、前記使用用語一覧および前記入力受付部が入力を受け付けた文字を前記プログラマブルロジックコントローラに出力し、前記入力受付部が入力を受け付ける用語の候補リストを前記プログラマブルロジックコントローラに作成させ、
     前記候補表示処理部は、前記プログラマブルロジックコントローラが生成した前記候補リストを前記表示部に表示させる、
     ことを特徴とする請求項3に記載のプログラム作成支援装置。
  6.  前記使用用語一覧および前記入力受付部が入力を受け付けた文字に基づいて、前記入力受付部が入力を受け付ける用語の候補リストを生成する候補リスト生成部、
     を備え、
     前記候補表示処理部は、前記候補リスト生成部が生成した前記候補リストを前記表示部に表示させる、
     ことを特徴とする請求項2から4のいずれか一つに記載のプログラム作成支援装置。
  7.  プログラマブルロジックコントローラで実行されるプログラムを含むプロジェクトデータの作成を支援するプログラム作成支援装置が実行するプログラム作成支援方法であって、
     前記プロジェクトデータを作成するための文字列の入力を受け付ける入力受付ステップと、
     前記入力受付ステップで入力を受け付けた文字列を解析して前記文字列に含まれる用語を抽出する文字列解析ステップと、
     作成済みのプロジェクトデータ、および、プロジェクトデータの作成時に用いられる用語を含む各種用語が登録された辞書データ、の少なくとも一方を含む外部データを解析して前記外部データに含まれる用語を抽出する外部データ解析ステップと、
     前記文字列解析ステップおよび前記外部データ解析ステップで抽出した用語である使用用語に基づいて、前記使用用語それぞれの使用回数を算出する使用頻度評価ステップと、
     前記使用頻度評価ステップで算出した使用回数に基づいて、前記入力受付ステップで入力を受け付ける用語の候補を表示部に表示させる候補表示ステップと、
     を含むことを特徴とするプログラム作成支援方法。
  8.  プログラマブルロジックコントローラで実行されるプログラムを含むプロジェクトデータの作成を支援するプログラム作成支援プログラムであって、
     前記プロジェクトデータを作成するための文字列の入力を受け付ける入力受付ステップと、
     前記入力受付ステップで入力を受け付けた文字列を解析して前記文字列に含まれる用語を抽出する文字列解析ステップと、
     作成済みのプロジェクトデータ、および、プロジェクトデータの作成時に用いられる用語を含む各種用語が登録された辞書データ、の少なくとも一方を含む外部データを解析して前記外部データに含まれる用語を抽出する外部データ解析ステップと、
     前記文字列解析ステップおよび前記外部データ解析ステップで抽出した用語である使用用語に基づいて、前記使用用語それぞれの使用回数を算出する使用頻度評価ステップと、
     前記使用頻度評価ステップで算出した使用回数に基づいて、前記入力受付ステップで入力を受け付ける用語の候補を表示部に表示させる候補表示ステップと、
     を含むことを特徴とするプログラム作成支援プログラム。
PCT/JP2020/004143 2020-02-04 2020-02-04 プログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラム WO2021156940A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202080095205.6A CN115039042A (zh) 2020-02-04 2020-02-04 程序创建辅助装置、程序创建辅助方法及程序创建辅助程序
JP2020535153A JP6837608B1 (ja) 2020-02-04 2020-02-04 プログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラム
PCT/JP2020/004143 WO2021156940A1 (ja) 2020-02-04 2020-02-04 プログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/004143 WO2021156940A1 (ja) 2020-02-04 2020-02-04 プログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラム

Publications (1)

Publication Number Publication Date
WO2021156940A1 true WO2021156940A1 (ja) 2021-08-12

Family

ID=74673585

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/004143 WO2021156940A1 (ja) 2020-02-04 2020-02-04 プログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラム

Country Status (3)

Country Link
JP (1) JP6837608B1 (ja)
CN (1) CN115039042A (ja)
WO (1) WO2021156940A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165040A (ja) * 2009-01-13 2010-07-29 Toshiba Corp 語分割装置および方法
JP2011028552A (ja) * 2009-07-27 2011-02-10 Keyence Corp プログラム作成支援装置、プログラム作成支援方法及びコンピュータプログラム
JP2011028562A (ja) * 2009-07-27 2011-02-10 Keyence Corp プログラム作成支援装置、プログラム作成支援方法及びコンピュータプログラム
WO2014080490A1 (ja) * 2012-11-22 2014-05-30 三菱電機株式会社 プログラム作成支援装置、方法および記録媒体
JP6509468B1 (ja) * 2018-04-27 2019-05-08 三菱電機株式会社 プログラマブル表示システム及びプログラマブル表示器

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005032111A (ja) * 2003-07-09 2005-02-03 Sharp Corp 文字列処理装置、文字列処理方法、プログラム及び記録媒体
JP5496947B2 (ja) * 2011-05-27 2014-05-21 株式会社Nttドコモ 機能提示システム、端末装置及びプログラム
JP5369156B2 (ja) * 2011-09-16 2013-12-18 ヤフー株式会社 端末装置、方法及びプログラム
JP2014026514A (ja) * 2012-07-27 2014-02-06 Fujitsu Ltd 文字入力支援プログラム、文字入力支援方法および文字入力支援装置
WO2014132427A1 (ja) * 2013-02-28 2014-09-04 発紘電機株式会社 作画エディタ装置、プログラム
EP3324305A4 (en) * 2015-07-13 2018-12-05 Teijin Limited Information processing apparatus, information processing method, and computer program
JP6422614B1 (ja) * 2018-08-09 2018-11-14 株式会社三菱電機ビジネスシステム 文章入力支援システム、文章入力支援方法、及び文章入力支援プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165040A (ja) * 2009-01-13 2010-07-29 Toshiba Corp 語分割装置および方法
JP2011028552A (ja) * 2009-07-27 2011-02-10 Keyence Corp プログラム作成支援装置、プログラム作成支援方法及びコンピュータプログラム
JP2011028562A (ja) * 2009-07-27 2011-02-10 Keyence Corp プログラム作成支援装置、プログラム作成支援方法及びコンピュータプログラム
WO2014080490A1 (ja) * 2012-11-22 2014-05-30 三菱電機株式会社 プログラム作成支援装置、方法および記録媒体
JP6509468B1 (ja) * 2018-04-27 2019-05-08 三菱電機株式会社 プログラマブル表示システム及びプログラマブル表示器

Also Published As

Publication number Publication date
JP6837608B1 (ja) 2021-03-03
JPWO2021156940A1 (ja) 2021-08-12
CN115039042A (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
JP2007058444A (ja) 文字入力補助方法及び情報処理装置
JP6035843B2 (ja) 数式入力装置、数式入力方法およびプログラム
JP5726387B2 (ja) システム構築支援装置
JP5921765B2 (ja) プログラムグラフ表示装置、プログラムグラフ表示方法およびプログラムグラフ表示プログラム
JP2007011605A (ja) ソフトウェア動作仕様のモデル検査支援装置およびこれを備えたモデル検査システム並びにモデル検査支援プログラム
WO2021156940A1 (ja) プログラム作成支援装置、プログラム作成支援方法およびプログラム作成支援プログラム
JP5023038B2 (ja) プログラム生成用プログラム及びプログラム生成装置
JP2011008358A (ja) 情報処理装置、情報処理方法
JP2018120256A (ja) 設定操作入力支援装置、設定操作入力支援システム
JP2013257624A (ja) データ入力支援装置、方法、およびプログラム
JP3765299B2 (ja) 情報処理装置
JP2008117029A (ja) 運用作業手順作成時の不正手順チェックアウト方法、障害発生防止のためのコマンド生成方法、および自動実行コマンド生成システム、ならびにそのプログラム
JP3904504B2 (ja) 文字列変換装置、履歴情報生成方法、および履歴情報生成処理プログラム。
JP2006331184A (ja) 電子機器およびその制御プログラム
US11921496B2 (en) Information processing apparatus, information processing method and computer readable medium
JP7346671B2 (ja) データ変換装置およびデータ変換方法
JP5304191B2 (ja) 分数表示装置
JP2007115071A (ja) テスト支援システム
JP2012118822A (ja) ドキュメント作成支援方法とドキュメント作成支援装置とドキュメント作成支援プログラム
JP3824468B2 (ja) データ管理システム
JP5968186B2 (ja) プログラム作成支援装置及びプログラム
JP2010128893A (ja) データベース生成装置、データベース生成方法及びコンピュータプログラム
JP2017194738A (ja) 制御プログラム作成装置及び制御プログラム作成方法
JP4576872B2 (ja) 情報処理装置およびプログラム
JP2008134847A (ja) 自然文作成装置、その制御方法及びコンピュータプログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2020535153

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 20917941

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20917941

Country of ref document: EP

Kind code of ref document: A1