WO2024014355A1 - 制御プログラム編集装置、編集方法、およびプログラム - Google Patents

制御プログラム編集装置、編集方法、およびプログラム Download PDF

Info

Publication number
WO2024014355A1
WO2024014355A1 PCT/JP2023/024760 JP2023024760W WO2024014355A1 WO 2024014355 A1 WO2024014355 A1 WO 2024014355A1 JP 2023024760 W JP2023024760 W JP 2023024760W WO 2024014355 A1 WO2024014355 A1 WO 2024014355A1
Authority
WO
WIPO (PCT)
Prior art keywords
instruction
command
control program
function
instructions
Prior art date
Application number
PCT/JP2023/024760
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 オムロン株式会社
Publication of WO2024014355A1 publication Critical patent/WO2024014355A1/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 control program editing device.
  • Patent Document 1 discloses a method for supporting input of variable names in programming of a PLC (Programmable Logic Controller).
  • PLC Programmable Logic Controller
  • the number of instructions provided in a PLC is enormous, and an instruction search function is used to find the desired instruction. Since the command search function generally only searches for prefix matches for commands, the user must judge whether the commands displayed as search results are appropriate or not before creating a program. That is, the user needs to understand the commands and their functions.
  • An object of one aspect of the present invention is to provide a control program editing device that allows a user to create a program using appropriate instructions even if the user does not know the instructions and their functions that the user wants to use.
  • a control program editing device that edits a control program of an FA system, and includes, as a user instruction to input a command to the control program, a search word input unit that receives a user input of a search word; an instruction list that obtains an instruction list that includes instruction candidates, instruction names corresponding to each of the instructions, and function descriptions corresponding to each of the instructions; an acquisition unit; an extraction unit that extracts the command related to the search term from the command list; the command extracted by the extraction unit; the command name of the command; and the function description of the command.
  • a display control section that performs display control; a selection section that accepts user input for selecting one of the instructions displayed by the display control section; and an application section for inputting input to the control program.
  • an editing method for a control program editing device is an editing method for a control program editing device that edits a control program of an FA system, the method comprising: as a user instruction for inputting a search word, including a search word input step that accepts a user input of a search word, candidate commands, command names corresponding to each command, and function descriptions corresponding to each command.
  • the user when inputting a command, the user can select the command while checking the command, command name, and function description. Therefore, a command can be input even if the user does not understand the command and its function.
  • an appropriate command can be input even if the user does not know the command.
  • FIG. 1 is a block diagram showing a configuration of main parts of a control program editing device according to a first embodiment
  • FIG. 3 is a flowchart illustrating an example of the operation of the control program editing device according to the first embodiment.
  • FIG. 3 is a diagram showing an example of extracted instructions. This is an example of a screen for selecting a function command at a stage where a search word has not been input. This is an example of a screen for selecting a function command at the stage where "timer" is input as a search word. This is an example of a screen for selecting a function command at the stage where "timer TRUE" is input as a search word.
  • This is an example of a screen at a stage where an instruction is selected based on the extraction results.
  • This is an example of a screen showing processing when the selected instruction and the circuit component are different in type.
  • the extracted results are sorted and displayed with priority. It is an example showing the priority of the display order in a display control part.
  • this embodiment according to one aspect of the present invention will be described based on the drawings.
  • the same reference numerals are attached to the same or corresponding parts in the drawings, and the description thereof will not be repeated.
  • Application example PLC programs are created using a control program editing device such as an IDE.
  • the control program editing device allows development in five languages specified by IEC61131-3. In these languages, programs are created and devices are controlled using functions that have a single function and function blocks that have complex functions that are configured by combining contacts, coils, and functions.
  • the IDE When entering a function or function block command, the IDE is equipped with an input support function that searches by writing part of the command and displays a list of commands corresponding to the search word.
  • this input support function includes, in addition to the command, the command name of the command (name in the language of each country used), and function description of the command (description of the function performed by the command in the language of each country used). ) can be searched (extracted). Therefore, even if the user does not remember any instructions (commands) and only remembers the functions of the instructions, the input support function allows the user to select and input the correct instruction.
  • FIG. 1 is a block diagram showing the configuration of main parts of a control program editing device 1 according to the first embodiment.
  • the control program editing device 1 includes a recording section 17, a search word input section 11, an instruction list acquisition section 12, an extraction section 13, a display control section 14, a selection section 15, and an application section 16. Further, an input device 20 such as a keyboard and a mouse, and a display device 30 such as a display are connected to the control program editing device 1.
  • the recording unit 17 records an instruction table 17a used in the control program.
  • the control program editing device 1 acquires the command table 17a from the recording unit 17 as appropriate to realize an input support function.
  • the command table 17a may be recorded in an external device (for example, a cloud server).
  • Instructions are functions that perform a single function, and function blocks that implement multiple functions. Further, the contents recorded in the instruction table 17a are the command of the instruction (hereinafter referred to as an instruction), the instruction name of the instruction, and the function description of the instruction. Further, the category of the command may also be recorded.
  • the search term input unit 11 accepts user input of search terms to narrow down a plurality of instructions to appropriate instructions.
  • the search word input unit 11 inputs, through the input device 20, a search word for searching (specifying) an instruction, an instruction name related to the instruction, and a character string described in a functional description related to the instruction.
  • the search word input section 11 outputs the search word to the extraction section 13 .
  • the instruction list acquisition unit 12 acquires an instruction list including instruction candidates, instruction names corresponding to each of the instructions, and function descriptions corresponding to each of the instructions.
  • the command list acquisition unit 12 outputs the command list to the extraction unit 13.
  • the extraction unit 13 extracts commands, command names, and function descriptions related to the search word from the command list. As long as the search word is included in the command, command name, or function description, the command is extracted. Details of this processing will be described later.
  • the extraction unit 13 outputs the extracted command to the display control unit 14.
  • the display control unit 14 displays the command extracted by the extraction unit 13 on the display device 30. At this time, the display control unit 14 displays the command, command name, and function description together. Further, the type of instruction (function or function block) and the category of the instruction (for example, "+", "ADD”, etc. are “arithmetic", etc.) may also be displayed.
  • the selection unit 15 receives, through the input device 20, a user input for selecting one element from among the commands displayed by the display control unit. The received user input is output to the application unit 16.
  • the application unit 16 inputs the elements selected by the selection unit 15 into the control program. In other words, the selected command is input to the circuit component.
  • FIG. 2 is a flowchart showing an operation example of the control program editing device 1 according to the first embodiment.
  • the instruction list acquisition unit 12 acquires the definition names of all functions and all function blocks as an instruction list (S101).
  • the command list includes commands, command names corresponding to the commands, and function descriptions corresponding to the commands.
  • the search word input unit 11 accepts input of a search word as a user instruction to input a command to the control program.
  • the input search term may be "overflow.”
  • this example will be explained as a representative example.
  • the extraction unit 13 extracts instructions related to the search word from the instruction list (S102). For example, when the search term is "overflow”, for example, an instruction whose instruction name is “multiplication (with overflow check)" is extracted.
  • FIG. 3 is a diagram showing an example of extracted instructions.
  • Reference numeral 101 in FIG. 3 indicates a search word, and reference numeral 102 indicates an extracted instruction.
  • the search term may be highlighted in bold or by changing the font color. Note that the category of the instruction may be displayed together with the display content of the extracted instruction.
  • the selection unit 15 receives a user input for selecting one command from among the extracted commands displayed by the display control unit 14 (S104). Then, it is determined whether the selected command and the type of circuit component input in advance are the same (S105). This is because in a PLC program, a function and a function block have different instruction formats and therefore need to be distinguished.
  • the application unit 16 changes the circuit component to a format that matches the selected instruction (S106). That is, if the selected instruction is a function and the circuit component is a function block, the circuit component is changed to a function. The same is true vice versa.
  • the application unit 16 inputs the selected command to the circuit component (S107).
  • FIG. 4 is an example of a screen for selecting a function command at a stage where a search word has not been input. As shown in FIG. 4, all functions and function blocks are displayed as extracted instructions before a search word is input. In other words, a command list is essentially displayed. At this time, since no search word is set, the display order is in ascending alphabetical order with respect to the commands.
  • the first column is a column that displays whether it is a function or a function block
  • the second column is an instruction
  • the third column is an instruction name
  • the fourth column is an instruction category.
  • the fifth column is a functional explanation. This display order is the same in subsequent figures as well.
  • FIG. 5 is an example of a screen for selecting a function command at the stage where "timer" is input as a search word. As shown in FIG. 5, this is a display example in which "timer" is extracted from the command list of FIG. 4 based on the description "timer" in the command name and function description. Note that the instruction category may be added to the search target.
  • FIG. 6 is an example of a screen for selecting a function command at the stage where "timer TRUE" is input as a search word.
  • the extraction unit 13 performs extraction using the "timer” and "TRUE". That is, as shown in FIG. 6, a plurality of search terms may be separated by spaces and searched using the respective AND conditions. This makes it possible to narrow down the instructions with higher precision.
  • FIG. 7 is an example of a screen at the stage where an instruction is selected based on the extraction results.
  • the user confirms the appropriate command, selects the appropriate command from among the displayed commands, and inputs the command by inputting "ENTER".
  • the input device 20 is not limited to keyboard operations, and may also be clicked using a pointing device such as a mouse.
  • the command name and functional description regarding the command may be displayed. These correspondences allow the user to confirm whether he or she has selected an appropriate command.
  • the portion of the manual that corresponds to the instruction may be displayed in a pop-up. In this case, the user's effort can be reduced because the user can confirm how to use the instruction without referring to a manual.
  • FIG. 8 is an example of a screen showing processing when the selected command and circuit component are different in type.
  • the search was performed using function as the type of circuit component.
  • the type of instruction selected in FIG. 7 is a function block. Therefore, the types of circuit components and the selected instructions are different.
  • the application unit 16 converts the circuit component at the position selected by the user into a circuit of the selected instruction type. Change to parts.
  • the circuit component at the position is changed from a function to a function block.
  • the block has been changed to a function block, and the control program editing device 1 requests the user to input the instance name and variable of the function block.
  • the display control unit 14 may control to display a graphical editing screen in which figures representing circuit components constituting the control program are connected to each other.
  • the display control unit 14 may rearrange the extracted results and display them with priority.
  • FIG. 9 shows the extracted results sorted and displayed with priority.
  • the display control unit 14 performs control to prioritize and display instructions that match the beginning of the search word. Since the prefix of "Reset” is "R”, it is earlier in alphabetical order than the prefix "S” of "Set”, but in order to sort by prefix match for the search word (here "Set”), "Set” ” comes before “Reset”.
  • the first search term entered will be sorted to give priority to the command whose prefix matches the search term, and the next search term will be searched. I'll search for it. Therefore, the search words do not need to be rearranged for the second and subsequent search words.
  • the display control unit 14 may set priorities in the display order of commands, command names, and function descriptions. Specifically, the display control unit 14 first displays the instructions extracted by the extraction unit 13 in which the search word exists. Thereafter, the display control unit 14 next displays the command names extracted by the extraction unit 13 in which the search word exists. After that, the display control unit 14 further displays the function descriptions extracted by the extraction unit 13 in which the search term exists.
  • FIG. 10 is an example showing the priority of display order in the display control unit 14.
  • "second" is specified as a search word
  • commands containing "second” are displayed as prefix matches.
  • commands whose name includes "second” are displayed as prefix matches.
  • functions that include "seconds” in the function description are displayed as prefix matches.
  • the priority of the display order is changed depending on whether the search word is extracted by command, command name, or function description. This makes it possible to easily select an instruction that is considered to be more appropriate.
  • a control program editing device that edits a control program of an FA system, and includes, as a user instruction to input a command to the control program, a search word input unit that receives a user input of a search word; an instruction list that obtains an instruction list that includes instruction candidates, instruction names corresponding to each of the instructions, and function descriptions corresponding to each of the instructions; an acquisition unit; an extraction unit that extracts the command related to the search term from the command list; the command extracted by the extraction unit; the command name of the command; and the function description of the command.
  • a display control section that performs display control; a selection section that accepts user input for selecting one of the instructions displayed by the display control section; and an application section for inputting input to the control program.
  • an editing method for a control program editing device is an editing method for a control program editing device that edits a control program of an FA system, the method comprising: as a user instruction for inputting a search word, including a search word input step that accepts a user input of a search word, candidate commands, command names corresponding to each command, and function descriptions corresponding to each command.
  • the user when inputting a command, the user can select the command while checking the command, command name, and function description. Therefore, a command can be input even if the user does not understand the command and its function.
  • the extraction unit may extract character strings of the command, the command name, and the function description in which the search term exists.
  • the extraction unit can search (extract) a character string described in any one of an instruction, an instruction name, or a function description using a search word. Therefore, since the search is not limited to instructions, the necessary process can be found more easily.
  • the display control unit may perform control to prioritize and display the commands whose prefix matches the search word.
  • the display control unit first displays the commands extracted by the extraction unit in which the search term exists, and displays the command names extracted by the extraction unit in which the search term exists. Next, the function description extracted by the extraction unit in which the search word exists may be displayed next.
  • the display control unit controls to display a graphical editing screen in which figures representing program elements constituting the control program are connected to each other, and the application unit controls the position selected by the user on the graphical editing screen.
  • the program element may be a program element corresponding to the instruction.
  • the instruction may be a function or a function block.
  • a function or a function block can be selected as an instruction.
  • control program editing device may be realized by a computer, and in this case, the control program editing device A program for a control program editing device that allows a computer to implement the program, and a computer-readable recording medium on which the program is recorded also fall within the scope of the present invention.
  • control program editing device 1 (hereinafter referred to as the "device") are realized by a program for causing a computer to function as the device, and for making the computer function as each control block of the device. I can do it.
  • the device includes a computer having at least one control device (for example, a processor) and at least one storage device (for example, a memory) as hardware for executing the program.
  • control device for example, a processor
  • storage device for example, a memory
  • the above program may be recorded on one or more computer-readable recording media instead of temporary.
  • This recording medium may or may not be included in the above device. In the latter case, the program may be supplied to the device via any transmission medium, wired or wireless.
  • each of the control blocks described above can also be realized by a logic circuit.
  • a logic circuit for example, an integrated circuit in which a logic circuit functioning as each of the control blocks described above is formed is also included in the scope of the present invention.
  • each process described in each of the above embodiments may be executed by AI (Artificial Intelligence).
  • AI Artificial Intelligence
  • the AI may operate on the control device, or may operate on another device (for example, an edge computer or a cloud server).
  • Control program editing device 11 Search word input unit 12 Command list acquisition unit 13 Extraction unit 14 Display control unit 15 Selection unit 16 Application unit 17 Recording unit 17a Command table 20 Input device 30 Display device

Landscapes

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

Abstract

利用したい命令とその機能とをユーザが把握していなくても、適切な命令を用いることができる制御プログラム編集装置を提供する。制御プログラムを編集する制御プログラム編集装置(1)であって、命令を入力するユーザ指示として、検索語のユーザ入力を受け付ける検索語入力部(11)と、命令、命令名称、および機能説明の命令リストを取得する命令リスト取得部(12)と、検索語に関連した命令を抽出する抽出部(13)と、抽出部によって抽出された命令、命令名称および機能説明を表示する表示制御部(14)と、を備え、表示された命令の中から、1つの命令を選択するユーザ入力を受け付け、制御プログラムに適用する。

Description

制御プログラム編集装置、編集方法、およびプログラム
 本発明は制御プログラム編集装置に関する。
 IDE(Integrated Development Environment)によって、プログラムを開発することが一般的である。IDEでは、ユーザの入力量を削減するために、入力された情報に基づき、入力内容を補完する入力支援機能が搭載されている。例えば、特許文献1には、PLC(Programmable Logic Controller)のプログラミングにおける変数名の入力支援方法が開示されている。この入力支援方法では、予め記憶した変数名称のみの中から、入力された文字列を含む変数名称の変数を抽出し、一覧で表示する。
 FA(Factory Automation)システムではPLCを用いることが一般的である。PLCには多数の命令が用意されており、ユーザは当該多数の命令を適宜用いてプログラムを作成する。
日本国特開2005-352612号公報
 PLCに用意されている命令数は膨大であり、目的の命令を探し出すために、命令の検索機能が用いられる。命令の検索機能では、一般的には、命令に対する前方一致の検索しかできないため、検索結果として表示された命令が適切か否かを、ユーザは判断してプログラムを作成する必要がある。すなわち、ユーザは命令とその機能とを把握しておく必要がある。
 本発明の一態様は、利用したい命令とその機能とをユーザが把握していなくても、適切な命令を用いたプログラムをユーザが作成可能な制御プログラム編集装置を提供することを目的とする。
 上記の課題を解決するために、本発明の一態様に係る制御プログラム編集装置は、FAシステムの制御プログラムを編集する制御プログラム編集装置であって、前記制御プログラムに命令を入力するユーザ指示として、検索語のユーザ入力を受け付ける検索語入力部と、前記命令の候補、および、それぞれの前記命令に対応した命令名称、ならびに、それぞれの前記命令に対応した機能説明を含む命令リストを取得する命令リスト取得部と、前記命令リストの中から、前記検索語に関連した前記命令を抽出する抽出部と、前記抽出部によって抽出された前記命令と、当該命令の命令名称、および当該命令の機能説明を表示する制御を行う表示制御部と、前記表示制御部によって表示された前記命令の中から、1つの前記命令を選択するユーザ入力を受け付ける選択部と、前記選択部によって選択された前記命令を前記制御プログラムに入力する適用部と、を備える。
 上記の課題を解決するために、本発明の別の態様に係る制御プログラム編集装置の編集方法は、FAシステムの制御プログラムを編集する制御プログラム編集装置の編集方法であって、前記制御プログラムに命令を入力するユーザ指示として、検索語のユーザ入力を受け付ける検索語入力ステップと、前記命令の候補、および、それぞれの前記命令に対応した命令名称、ならびに、それぞれの前記命令に対応した機能説明を含む命令リストを取得する命令リスト取得ステップと、前記命令リストの中から、前記検索語に関連した前記命令を抽出する抽出ステップと、前記抽出ステップによって抽出された前記命令と、当該命令の命令名称、および当該命令の機能説明を表示する制御を行う表示制御ステップと、前記表示制御ステップによって表示された前記命令の中から、1つの前記命令を選択するユーザ入力を受け付ける選択ステップと、前記選択ステップによって選択された前記命令を前記制御プログラムに入力する適用ステップと、を含む。
 上記の構成によれば、ユーザは命令の入力に際し、命令、命令名称、および機能説明を確認しながら、命令を選択することができる。そのため、命令と、その命令の機能を把握していなくても、命令を入力することができる。
 本発明の一態様によれば、命令を把握していなくても適切な命令を入力することができる。
実施形態1に係る制御プログラム編集装置の要部の構成を示すブロック図である。 実施形態1に係る制御プログラム編集装置の動作例を示すフローチャートである。 抽出された命令の一例を示す図である。 検索語を入力していない段階における、ファンクションの命令を選択する画面の一例である。 検索語として「タイマ」を入力した段階における、ファンクションの命令を選択する画面の一例である。 検索語として「タイマ TRUE」を入力した段階における、ファンクションの命令を選択する画面の一例である。 抽出結果を踏まえて、命令を選択した段階における、画面の一例である。 選択された命令と回路部品との種類が異なる場合の処理を表す画面の一例である。 抽出された結果を並び替えて優先して表示したものである。 表示制御部における表示順番の優先度を表す一例である。
 以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
 §1.適用例
 PLCのプログラムの作成はIDEなどに代表される制御プログラム編集装置を用いて行う。制御プログラム編集装置では、IEC61131-3で規定される5言語での開発が可能である。これら言語では、単一の機能を有するファンクション、ならびに、接点、コイル、およびファンクションを組み合わせて構成された複雑な機能を有するファンクションブロックを用いて、プログラムを作成し、装置を制御する。
 ファンクションおよびファンクションブロックは、様々な用途を満たせるように多数存在する。そのため、ファンクションの場合は、ファンクションの回路部品を配置したうえで、当該ファンクションの機能を選択するためにどの命令を用いるかをユーザは選択することになる。ファンクションブロックに関しても同様である。
 ファンクションまたはファンクションブロックの命令を入力する際に、命令の一部を記述することによって検索し、検索語に対応した命令のリストが表示される入力支援機能が、IDEには搭載されている。
 本実施形態では、この入力支援機能として、命令に加え、命令の命令名称(使用している各国言語における名称)、および命令の機能説明(使用している各国言語における当該命令で行う機能の説明)を対象に検索(抽出)を行うことができる。そのため、ユーザが命令(コマンド)を全く覚えておらず、命令の機能だけを覚えていた場合であっても、入力支援機能によって正しい命令を選択して入力することができるようになる。
 §2.構成例
 (制御プログラム編集装置1)
 図1は、実施形態1に係る制御プログラム編集装置1の要部の構成を示すブロック図である。制御プログラム編集装置1は、記録部17と、検索語入力部11と、命令リスト取得部12と、抽出部13と、表示制御部14と、選択部15と、適用部16と、を備える。また、制御プログラム編集装置1には、キーボードおよびマウスなどの入力装置20と、ディスプレイなどの表示装置30とが、接続されている。
 記録部17は、制御プログラムで用いる命令テーブル17aを記録している。制御プログラム編集装置1は、適宜記録部17から命令テーブル17aを取得し、入力支援機能を実現している。なお、命令テーブル17aは、外部の装置(例えば、クラウドサーバ)に記録されていてもよい。
 また、命令テーブル17aには、多数の命令が記録されている。命令は、単一の機能を実行するファンクション、および複数の機能を実現するファンクションブロックである。また、命令テーブル17aに記録されている内容としては、当該命令のコマンド(以降、命令と記す)、命令の命令名称、および命令の機能説明である。また、命令のカテゴリなども記録されていてもよい。
 検索語入力部11は、複数の命令から適切な命令に絞り込むための、検索語のユーザ入力を受け付ける。つまり、検索語入力部11は、命令、当該命令に関する命令名称、および当該命令に関する機能説明に記載の文字列を検索する(特定する)ための検索語を入力装置20によってユーザ入力する。検索語入力部11は、検索語を抽出部13に出力する。
 命令リスト取得部12は、命令の候補、およびそれぞれの前記命令に対応した命令名称、ならびに、それぞれの前記命令に対応した機能説明を含む、命令リストを取得する。命令リスト取得部12は、命令リストを抽出部13に出力する。
 抽出部13は、命令リストの中から、検索語に関連した命令、命令名称、および機能説明を抽出する。命令、命令名称、または機能説明の何れかに検索語が含まれさえすれば、当該命令は抽出される。この処理の詳細は後述する。抽出部13は、抽出した命令を表示制御部14に出力する。
 表示制御部14は、抽出部13によって抽出された命令を表示装置30に表示する。この際、表示制御部14は、命令と、命令名称と、機能説明と、を合わせて表示する。また、命令の種類(ファンクションまたはファンクションブロック)、および命令のカテゴリ(例えば、「+」、「ADD」などは、「算術」等)をも合わせて表示しても構わない。
 選択部15は、表示制御部によって表示された命令の中から、1つの要素を選択するユーザ入力を入力装置20によって受け付ける。受け付けたユーザ入力を適用部16に出力する。
 適用部16は、選択部15によって選択された要素を制御プログラムに入力する。つまり、回路部品に対し選択された命令を入力する。
 §3.動作例
 図2は、実施形態1に係る制御プログラム編集装置1の動作例を示すフローチャートである。
 まず、命令リスト取得部12は、全ファンクションおよび全ファンクションブロックの定義名を命令リストとして取得する(S101)。ここで、命令リストには、命令、命令に対応した命令名称、および命令に対応した機能説明が含まれる。
 検索語入力部11は、制御プログラムに命令を入力するユーザ指示として、検索語の入力を受け付ける。例えば、入力される検索語としては、「オーバーフロー」などが挙げられる。以降は、この例を代表例として説明していく。
 抽出部13は、命令リストの中から、検索語に関連した命令を抽出する(S102)。例えば、検索語が「オーバーフロー」の場合、例えば命令名称が「乗算(オーバーフローチェック付き)」である命令などが抽出される。
 表示制御部14は、抽出部13によって抽出された命令と、当該命令の命令名称、および当該命令の機能説明を併記して表示する(S103)。図3は、抽出された命令の一例を示す図である。図3における符号101は検索語を示し、符号102は抽出された命令を示す。符号102において、検索語は太字や文字色の変更などによって強調表示されてもよい。なお、抽出された命令の表示内容に命令のカテゴリを合わせて表示してもよい。
 選択部15は、表示制御部14によって表示された、抽出された命令の中から、1つの命令を選択するユーザ入力を受け付ける(S104)。その上で、選択された命令と予め入力されている回路部品の種類が同一かを判断する(S105)。これは、PLCのプログラムでは、ファンクションとファンクションブロックでは、異なる命令形態をしているため、区別する必要があるためである。
 選択された命令と回路部品の種類が同一な場合(S105においてYes)、S107に処理を進める。
 選択された命令と回路部品の種類が異なる場合(S105においてNo)、適用部16は、回路部品を選択された命令に合わせた形式に変更する(S106)。すなわち、選択された命令がファンクションで、回路部品がファンクションブロックであった場合は、回路部品をファンクションに変更する。逆も同様である。
 適用部16は、回路部品に選択された命令を入力する(S107)。
 (抽出処理と回路部品の確定)
 抽出部13による命令リストから命令を抽出する処理に関してより詳しく説明する。
 図4は、検索語を入力していない段階における、ファンクションの命令を選択する画面の一例である。図4に示すように、検索語を入力していない段階では、全てのファンクションおよびファンクションブロックを抽出した命令として表示している。すなわち、実質的に命令リストを表示している。この際の表示順序は、検索語が設定されていないため、命令に対しアルファベットによる昇順とする。
 なお、図4では、1列目はファンクションなのか、ファンクションブロックなのかを表示する列であり、2列目は命令であり、3列目は命令名称であり、4列目は命令のカテゴリであり、5列目は機能説明である。以降の図においても、この表示順は同一である。
 図5は、検索語として「タイマ」を入力した段階における、ファンクションの命令を選択する画面の一例である。図5に示すように、命令名称および機能説明に記載の「タイマ」という記載に基づき、図4の命令リストに対し、「タイマ」で抽出を行った表示例である。なお、命令のカテゴリを検索対象に加えてもよい。
 図6は、検索語として「タイマ TRUE」を入力した段階における、ファンクションの命令を選択する画面の一例である。この入力に対して抽出部13は、「タイマ」かつ「TRUE」で抽出を行う。すなわち、図6に示すように、複数の検索語をスペースで区切って、それぞれのアンド条件で検索してもよい。これにより、より高精度に命令を絞り込むことができる。
 図7は、抽出結果を踏まえて、命令を選択した段階における、画面の一例である。図6を参考に、ユーザが適切な命令を確認し、表示されている命令の中から適切な命令を選択し、「ENTER」を入力することで当該命令が入力される。なお、入力装置20としてキーボード操作に限定されず、マウスなどのポインティングデバイスでもってクリックしてもよい。
 ここで、ユーザが意図した適切な命令が選択された場合であっても、当該命令に関する、命令名称および機能説明を表示してもよい。これらの対応によって、ユーザは適切な命令を選択しているかを確認できる。また、これら情報に加えて単体の命令が選択されている際は、マニュアルの命令に該当する箇所をポップアップで表示してもよい。この場合、当該命令の使用方法を、マニュアルを参照せずに確認できるため、ユーザの労力を削減することができる。
 図8は、選択された命令と回路部品との種類が異なる場合の処理を表す画面の一例である。図4~7では、回路部品の種類としてファンクションを用いて検索していた。対して、図7において選択された命令の種類は、ファンクションブロックである。そのため、回路部品と選択された命令との種類が異なっている。
 元の回路部品と選択された命令の種類とが異なる場合、プログラムを編集することができないため、適用部16は、ユーザが選択している位置の回路部品を、選択された命令の種類の回路部品に変更する。
 具体的には、ある位置の選択している回路部品がファンクションの状態において、ファンクションブロックである「TON」命令を選択したため、当該位置の回路部品をファンクションからファンクションブロックに変更する。その結果、図8では、ファンクションブロックに変わっており、制御プログラム編集装置1は、当該ファンクションブロックのインスタンス名、および変数の入力をユーザに求めている。
 ここで、表示制御部14は、制御プログラムを構成する回路部品を表す図形を互いに接続したグラフィカル編集画面を表示するように制御してもよい。
 (抽出した結果の表示順番)
 表示制御部14は、抽出した結果を並び替えて、優先して表示してもよい。図9は、抽出された結果を並び替えて優先して表示したものである。
 図9に示すように、検索語が「Set」の場合、「Set」から始まるものに加え、「Reset」などに代表されるように、「set」が含まれるものも抽出してもよい。この際、抽出部13は、抽出に際し、大文字小文字の区別なく判定する。
 また、表示制御部14において、検索語に対して前方一致する命令を優先して表示する制御を行う。「Reset」の接頭辞は「R」なため、「Set」の接頭辞「S」よりもアルファベット順では早いが、検索語(ここでは「Set」)に対する前方一致で並び替えるために、「Set」が「Reset」の前になる。
 複数の検索語を入力している場合は、先に入力された検索語で検索されたものに対し、当該検索語が前方一致する命令を優先するように並び替え、次に入力された検索語で検索していく。そのため、2つ目以降の検索語では並び替えされなくてもよい。
 (抽出する対象による表示順番)
 なお、表示制御部14は、命令、命令名称、および機能説明に対する表示順番には、優先度を設けてもよい。具体的には、表示制御部14は、抽出部13によって抽出された命令に、検索語が存在するものを最初に表示する。その後、表示制御部14は、抽出部13によって抽出された命令名称に、検索語が存在するものを次に表示する。さらにその後、表示制御部14は、抽出部13によって抽出された機能説明に、検索語が存在するものをさらに次に表示する。
 図10は、表示制御部14における表示順番の優先度を表す一例である。図10に示すように、検索語として「秒」を指定した場合に、まず、命令に「秒」が含まれるものが前方一致で表示される。次に、命令名称に「秒」が含まれるものが前方一致で表示される。さらにその後に、機能説明に「秒」が含まれるものが前方一致で表示される。このように多段階で抽出し、表示順番を並び替えることによって、より検索語から適当な可能性が高いものが上部に表示されることになる。そのため、適当な可能性が高いものを容易に選択することができる。
 §4.作用・効果
 ユーザは命令の入力に際し、命令、命令名称、および機能説明に関する表示を確認しながら、命令を選択することができる。そのため、命令と、その命令の機能を把握していなくても、命令を入力することができる。この際、命令、命令名称、または機能説明の何れかに記載の文字列に対し、検索語で抽出することができる。そのため、命令に限定して抽出するわけではないことから、ユーザが必要としている適切な処理をより容易に探し出すことができる。
 また、ただ検索語でもって抽出するのではなく、検索語に対し前方一致した命令を優先して表示することができる。そのため、多数の命令が抽出された場合であっても、目的の命令を容易に探し出すことができる。
 検索語による抽出が、命令で抽出されたのか、命令名称で抽出されたのか、機能説明で抽出されたのかに応じて、表示する順番の優先度を異ならせる。これにより、より適切であろうと考えられる命令を容易に選択することができる。
 グラフィカル編集画面に表示された回路部品の種類が、選択された命令の種類と異なる場合であっても、適切なプログラム要素に変換することができる。そのため、ファンクションとファンクションブロックとを間違えて回路部品を配置していた場合であっても適切な制御プログラムを作成することができる。
 〔まとめ〕
 上記の課題を解決するために、本発明の一態様に係る制御プログラム編集装置は、FAシステムの制御プログラムを編集する制御プログラム編集装置であって、前記制御プログラムに命令を入力するユーザ指示として、検索語のユーザ入力を受け付ける検索語入力部と、前記命令の候補、および、それぞれの前記命令に対応した命令名称、ならびに、それぞれの前記命令に対応した機能説明を含む命令リストを取得する命令リスト取得部と、前記命令リストの中から、前記検索語に関連した前記命令を抽出する抽出部と、前記抽出部によって抽出された前記命令と、当該命令の命令名称、および当該命令の機能説明を表示する制御を行う表示制御部と、前記表示制御部によって表示された前記命令の中から、1つの前記命令を選択するユーザ入力を受け付ける選択部と、前記選択部によって選択された前記命令を前記制御プログラムに入力する適用部と、を備える。
 上記の課題を解決するために、本発明の別の態様に係る制御プログラム編集装置の編集方法は、FAシステムの制御プログラムを編集する制御プログラム編集装置の編集方法であって、前記制御プログラムに命令を入力するユーザ指示として、検索語のユーザ入力を受け付ける検索語入力ステップと、前記命令の候補、および、それぞれの前記命令に対応した命令名称、ならびに、それぞれの前記命令に対応した機能説明を含む命令リストを取得する命令リスト取得ステップと、前記命令リストの中から、前記検索語に関連した前記命令を抽出する抽出ステップと、前記抽出ステップによって抽出された前記命令と、当該命令の命令名称、および当該命令の機能説明を表示する制御を行う表示制御ステップと、前記表示制御ステップによって表示された前記命令の中から、1つの前記命令を選択するユーザ入力を受け付ける選択ステップと、前記選択ステップによって選択された前記命令を前記制御プログラムに入力する適用ステップと、を含む。
 上記の構成によれば、ユーザは命令の入力に際し、命令、命令名称、および機能説明を確認しながら、命令を選択することができる。そのため、命令と、その命令の機能を把握していなくても、命令を入力することができる。
 前記抽出部は、前記命令、前記命令名称、および前記機能説明の文字列中に、前記検索語が存在するものを抽出してもよい。
 上記の構成によれば、抽出部は、命令、命令名称または機能説明の何れかに記載の文字列に対し、検索語で検索(抽出)をすることができる。そのため、命令に限定して検索するわけではないため、必要な処理をより容易に探し出すことができる。
 前記表示制御部は、前記抽出部によって抽出された前記命令に関して、前記検索語に対して前方一致する前記命令を優先して表示する制御を行ってもよい。
 上記の構成によれば、検索語に対し前方一致した命令を優先して表示するため、多数の命令(命令名称、または機能説明)が抽出された場合であっても、目的の命令を容易に探し出すことができる。
 前記表示制御部は、前記抽出部によって抽出された前記命令に、前記検索語が存在するものを最初に表示し、前記抽出部によって抽出された前記命令名称に、前記検索語が存在するものを次に表示し、前記抽出部によって抽出された前記機能説明に、前記検索語が存在するものをさらに次に表示してもよい。
 上記の構成によれば、抽出された命令に関して表示する順番に優先度をつけることができる。そのため、より適切であろうと考えられるものが上部に表示されることになり、容易に選択することができる。
 前記表示制御部は、前記制御プログラムを構成するプログラム要素を表す図形を互いに接続したグラフィカル編集画面を表示するように制御するとともに、前記適用部は、前記グラフィカル編集画面においてユーザが選択している位置の前記プログラム要素を、前記命令に対応するプログラム要素としてもよい。
 上記の構成によれば、制御プログラムを構成するプログラム要素(回路部品)を間違って配置した場合であっても、適切なプログラム要素に変換することができる。
 前記命令は、ファンクションまたはファンクションブロックであってもよい。
 上記の構成によれば、命令としてファンクションまたはファンクションブロックを選択することができる。
 本発明の各態様に係る制御プログラム編集装置は、コンピュータによって実現してもよく、この場合には、コンピュータを前記制御プログラム編集装置が備える各部(ソフトウェア要素)として動作させることにより前記制御プログラム編集装置をコンピュータにて実現させる制御プログラム編集装置のプログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
 〔ソフトウェアによる実現例〕
 制御プログラム編集装置1(以下、「装置」と呼ぶ)の機能は、当該装置としてコンピュータを機能させるためのプログラムであって、当該装置の各制御ブロックとしてコンピュータを機能させるためのプログラムにより実現することができる。
 この場合、上記装置は、上記プログラムを実行するためのハードウェアとして、少なくとも1つの制御装置(例えばプロセッサ)と少なくとも1つの記憶装置(例えばメモリ)を有するコンピュータを備えている。この制御装置と記憶装置により上記プログラムを実行することにより、上記各実施形態で説明した各機能が実現される。
 上記プログラムは、一時的ではなく、コンピュータ読み取り可能な、1または複数の記録媒体に記録されていてもよい。この記録媒体は、上記装置が備えていてもよいし、備えていなくてもよい。後者の場合、上記プログラムは、有線または無線の任意の伝送媒体を介して上記装置に供給されてもよい。
 また、上記各制御ブロックの機能の一部または全部は、論理回路により実現することも可能である。例えば、上記各制御ブロックとして機能する論理回路が形成された集積回路も本発明の範疇に含まれる。この他にも、例えば量子コンピュータにより上記各制御ブロックの機能を実現することも可能である。
 また、上記各実施形態で説明した各処理は、AI(Artificial Intelligence:人工知能)に実行させてもよい。この場合、AIは上記制御装置で動作するものであってもよいし、他の装置(例えばエッジコンピュータまたはクラウドサーバ等)で動作するものであってもよい。
 〔付記事項〕
 本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
 1 制御プログラム編集装置
 11 検索語入力部
 12 命令リスト取得部
 13 抽出部
 14 表示制御部
 15 選択部
 16 適用部
 17 記録部
 17a 命令テーブル
 20 入力装置
 30 表示装置

Claims (8)

  1.  FAシステムの制御プログラムを編集する制御プログラム編集装置であって、
     前記制御プログラムに命令を入力するユーザ指示として、検索語のユーザ入力を受け付ける検索語入力部と、
     前記命令の候補、および、それぞれの前記命令に対応した命令名称、ならびに、それぞれの前記命令に対応した機能説明を含む命令リストを取得する命令リスト取得部と、
     前記命令リストの中から、前記検索語に関連した前記命令を抽出する抽出部と、
     前記抽出部によって抽出された前記命令と、当該命令の命令名称、および当該命令の機能説明を表示する制御を行う表示制御部と、
     前記表示制御部によって表示された前記命令の中から、1つの前記命令を選択するユーザ入力を受け付ける選択部と、
     前記選択部によって選択された前記命令を前記制御プログラムに入力する適用部と、を備える、制御プログラム編集装置。
  2.  前記抽出部は、前記命令、前記命令名称、および前記機能説明の文字列中に、前記検索語が存在するものを抽出する、請求項1に記載の制御プログラム編集装置。
  3.  前記表示制御部は、前記抽出部によって抽出された前記命令に関して、前記検索語に対して前方一致する前記命令を優先して表示する制御を行う、請求項1に記載の制御プログラム編集装置。
  4.  前記表示制御部は、
      前記抽出部によって抽出された前記命令に、前記検索語が存在するものを最初に表示し、
      前記抽出部によって抽出された前記命令名称に、前記検索語が存在するものを次に表示し、
      前記抽出部によって抽出された前記機能説明に、前記検索語が存在するものをさらに次に表示する、請求項2に記載の制御プログラム編集装置。
  5.  前記表示制御部は、前記制御プログラムを構成するプログラム要素を表す図形を互いに接続したグラフィカル編集画面を表示するように制御するとともに、
     前記適用部は、前記グラフィカル編集画面においてユーザが選択している位置の前記プログラム要素を、前記命令に対応するプログラム要素とする、請求項1に記載の制御プログラム編集装置。
  6.  前記命令は、ファンクションまたはファンクションブロックである、請求項1から5のいずれか1項に記載の制御プログラム編集装置。
  7.  FAシステムの制御プログラムを編集する制御プログラム編集装置の編集方法であって、
     前記制御プログラムに命令を入力するユーザ指示として、検索語のユーザ入力を受け付ける検索語入力ステップと、
     前記命令の候補、および、それぞれの前記命令に対応した命令名称、ならびに、それぞれの前記命令に対応した機能説明を含む命令リストを取得する命令リスト取得ステップと、
     前記命令リストの中から、前記検索語に関連した前記命令を抽出する抽出ステップと、
     前記抽出ステップによって抽出された前記命令と、当該命令の命令名称、および当該命令の機能説明を表示する制御を行う表示制御ステップと、
     前記表示制御ステップによって表示された前記命令の中から、1つの前記命令を選択するユーザ入力を受け付ける選択ステップと、
     前記選択ステップによって選択された前記命令を前記制御プログラムに入力する適用ステップと、を含む、編集方法。
  8.  請求項1に記載の制御プログラム編集装置としてコンピュータを機能させるためのプログラムであって、上記検索語入力部、上記命令リスト取得部、上記抽出部、上記表示制御部、上記選択部および上記適用部としてコンピュータを機能させるためのプログラム。
PCT/JP2023/024760 2022-07-15 2023-07-04 制御プログラム編集装置、編集方法、およびプログラム WO2024014355A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022114135A JP2024011851A (ja) 2022-07-15 2022-07-15 制御プログラム編集装置、編集方法、およびプログラム
JP2022-114135 2022-07-15

Publications (1)

Publication Number Publication Date
WO2024014355A1 true WO2024014355A1 (ja) 2024-01-18

Family

ID=89536585

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/024760 WO2024014355A1 (ja) 2022-07-15 2023-07-04 制御プログラム編集装置、編集方法、およびプログラム

Country Status (2)

Country Link
JP (1) JP2024011851A (ja)
WO (1) WO2024014355A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110273A (ja) * 2007-10-30 2009-05-21 Brother Ind Ltd Ncプログラム編集装置、ncプログラム編集プログラム及びncプログラム編集プログラムを記録したコンピュータ読取可能な記録媒体
JP2011028552A (ja) * 2009-07-27 2011-02-10 Keyence Corp プログラム作成支援装置、プログラム作成支援方法及びコンピュータプログラム
JP2011128951A (ja) * 2009-12-18 2011-06-30 Mitsubishi Electric Corp 試験テーブル生成装置及び試験テーブル生成方法
WO2014080490A1 (ja) * 2012-11-22 2014-05-30 三菱電機株式会社 プログラム作成支援装置、方法および記録媒体
JP2019159893A (ja) * 2018-03-14 2019-09-19 オムロン株式会社 ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110273A (ja) * 2007-10-30 2009-05-21 Brother Ind Ltd Ncプログラム編集装置、ncプログラム編集プログラム及びncプログラム編集プログラムを記録したコンピュータ読取可能な記録媒体
JP2011028552A (ja) * 2009-07-27 2011-02-10 Keyence Corp プログラム作成支援装置、プログラム作成支援方法及びコンピュータプログラム
JP2011128951A (ja) * 2009-12-18 2011-06-30 Mitsubishi Electric Corp 試験テーブル生成装置及び試験テーブル生成方法
WO2014080490A1 (ja) * 2012-11-22 2014-05-30 三菱電機株式会社 プログラム作成支援装置、方法および記録媒体
JP2019159893A (ja) * 2018-03-14 2019-09-19 オムロン株式会社 ラダー図プログラム作成支援装置、ラダー図プログラム作成支援方法、およびラダー図プログラム作成支援プログラム

Also Published As

Publication number Publication date
JP2024011851A (ja) 2024-01-25

Similar Documents

Publication Publication Date Title
US5845119A (en) Software development tool for combining software components/modules
CN101105481B (zh) 辅助创建自动采样器控制程序的系统和方法
US6119136A (en) Manuscript text composition system featuring a parameter table for specifying template parameters and characters
US20110252062A1 (en) Electronic device for searching for entry word in dictionary data, control method thereof and program product
JP4420210B2 (ja) プログラム開発支援装置および処理方法
JP3409269B2 (ja) プログラム作成装置
WO2024014355A1 (ja) 制御プログラム編集装置、編集方法、およびプログラム
JPH07200587A (ja) 文書編集装置
JP2009245456A (ja) プログラム開発支援装置および処理方法
WO2024014354A1 (ja) 制御プログラム編集装置、編集方法、およびプログラム
JP2006344053A (ja) 特許明細書作成支援プログラム
JPS63109578A (ja) 論理図概要表示処理方式
JPS62197826A (ja) システムフロ−仕様生成方式
JP2659092B2 (ja) 論理図作成処理装置におけるカーソル表示制御方式
JP2518157B2 (ja) プログラムの改定履歴の生成方法とその装置
JP3102222B2 (ja) 知識獲得方法及びその実施装置
JP2001282773A (ja) 構造化文書編集装置及び、構造化文書編集方法及び記録媒体
JPH0760363B2 (ja) ユーザ定義コマンドの自動作成方式
JP2701781B2 (ja) 文書編集装置
JPS6389979A (ja) 論理図概要記述変換処理方式
JP2724241B2 (ja) ブロック図部品処理機能付きプログラム自動生成装置
JPH08180085A (ja) 設計支援装置および設計支援方法
JP2008198010A (ja) 構造化文書作成支援装置及び構造化文書作成支援プログラム
JPH1069381A (ja) プログラム説明書作成支援装置
JPH08185401A (ja) 文書検索装置

Legal Events

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

Ref document number: 23839527

Country of ref document: EP

Kind code of ref document: A1