WO2019167187A1 - プログラミング支援装置、プログラミング支援方法およびプログラミング支援プログラム - Google Patents

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

Info

Publication number
WO2019167187A1
WO2019167187A1 PCT/JP2018/007600 JP2018007600W WO2019167187A1 WO 2019167187 A1 WO2019167187 A1 WO 2019167187A1 JP 2018007600 W JP2018007600 W JP 2018007600W WO 2019167187 A1 WO2019167187 A1 WO 2019167187A1
Authority
WO
WIPO (PCT)
Prior art keywords
function
unit
user
user operation
argument
Prior art date
Application number
PCT/JP2018/007600
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 JP2018544374A priority Critical patent/JPWO2019167187A1/ja
Priority to PCT/JP2018/007600 priority patent/WO2019167187A1/ja
Publication of WO2019167187A1 publication Critical patent/WO2019167187A1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Definitions

  • the present invention relates to a programming support apparatus, a programming support method, and a programming support program for supporting program creation.
  • a PLC Programmable Logic Controller
  • the PLC controls an industrial machine based on a sequence program in which control contents are described. This sequence program is created by a programming support device.
  • the sequence program is composed of multiple functions. Even if the functions in the sequence program perform the same operation, they are treated as different functions when the number of arguments or the argument types are different.
  • Patent Document 1 in order to support the description of a function and an argument corresponding to the function, function data is searched based on the input function name or the process name corresponding to the function, and the process name and function type are searched. , An apparatus for displaying function data including a function format, arguments, and the like is disclosed.
  • the device described in Patent Document 1 searches for function data based on a function name or a process name, and displays function data arguments.
  • the function name and the process name are unknown, the function data Cannot be searched.
  • the apparatus described in Patent Document 1 cannot retrieve the corresponding function from the argument, reducing the man-hours for creating a sequence program. Can not do it.
  • the present invention has been made in view of the above, and an object of the present invention is to obtain a programming support device, a programming support method, and a programming support program that can reduce the number of steps for creating a sequence program.
  • the present invention provides a user operation receiving unit that receives an operation by a user, a function storage unit that stores a function, and a function received by the user operation receiving unit.
  • a control unit that retrieves a function from the function storage unit based on the information related to the argument, and causes the notification unit to notify the searched function;
  • the programming support apparatus has an effect that the number of steps for creating a sequence program can be reduced.
  • the figure which shows the structure of the programming assistance apparatus in embodiment The figure which shows the structural example of the variable table in embodiment
  • the figure which shows the structural example of the function table in embodiment The figure which shows an example of the screen alert
  • wrist of the candidate function in embodiment The figure which shows a mode that the function of the list
  • the figure which shows the state by which the function component and variable component of the function in embodiment are connected Flowchart for explaining the flow of operations of the programming support apparatus according to the embodiment
  • FIG. 1 is a diagram illustrating a configuration of a programming support apparatus 1 according to an embodiment.
  • the programming support apparatus 1 stores a user operation reception unit 11 that receives an operation by a user, a search condition generation unit 12 that generates a search condition based on an operation by a user that is received by the user operation reception unit 11, and a variable table. And a first storage unit 21.
  • FIG. 2 is a diagram showing a configuration example of a variable table.
  • the variable table is configured by associating variable names with variable types.
  • the variable name is expressed by “Label 1”, for example, and can be arbitrarily set by the user.
  • Variable types are expressed in bits, words, double words, double precision real numbers, and so on.
  • the user inputs information about function arguments.
  • Information related to function arguments includes the type of input argument, the type of output argument, the number of input arguments, the number of output arguments, and the like.
  • the search condition generation unit 12 generates a search condition based on information related to function arguments received by the user operation reception unit 11.
  • the search condition includes one or more of an input argument type, an output argument type, the number of input arguments, and the number of output arguments.
  • the search condition generation unit 12 supplies the generated search condition to the function search unit 13. Search conditions will be described later.
  • the programming support apparatus 1 includes a second storage unit 22 that stores a function table, a function search unit 13 that searches for a function based on a search condition, and a control unit 14 that controls the operation of the entire programming support apparatus 1. .
  • the control unit 14 searches for a function from the second storage unit based on the information related to the function argument received by the user operation receiving unit 11 and causes the notification unit 15 to notify the searched function.
  • the control unit 14 causes the notification unit 15 to notify the function searched by the function search unit 13.
  • the notification unit 15 notifies the function searched by the function search unit 13 based on the control of the control unit 14.
  • reporting part 15 is a display part, a speaker etc. may be sufficient.
  • the display unit displays the function searched by the function search unit 13 based on the control of the control unit 14. Further, the speaker outputs the function searched by the function search unit 13 based on the control of the control unit 14. Below, the alerting
  • FIG. 3 is a diagram illustrating a configuration example of the function table.
  • the function table is configured by associating the number of arguments, the type of argument, the function name, the description of the function operation, the type of function, and the like.
  • the number of arguments is expressed by, for example, “two input arguments, one output argument”.
  • the type of argument is expressed by “word”, for example.
  • the function name is expressed by, for example, “PLUS”.
  • the description of the function operation is expressed by, for example, “adding input arguments and outputting as output arguments”.
  • the type of function is expressed by, for example, “arithmetic operation instruction” or “basic instruction”.
  • the function search unit 13 searches for a function that meets the search condition based on the function table stored in the second storage unit 22.
  • the program editor creates a sequence program in a program language such as FBD (Function Block Diagram).
  • a program for realizing the program editor is installed in the programming support apparatus 1.
  • the search condition generation unit 12, the function search unit 13, and the control unit 14 function as a part of the program editor.
  • the user selects a variable notified to the notification unit 15 by the program editor using a pointing device such as a mouse.
  • the user selects an input connection point in the screen notified to the notification unit 15 by the program editor as an output argument, and the output connection in the screen notified to the notification unit 15 by the program editor. Select point as an input argument.
  • An output connection point of another component is connected to the input connection point.
  • An input connection point of another component is connected to the output connection point.
  • the search condition generation unit 12 specifies the type of the variable selected by the user based on the variable table stored in the first storage unit 21. Here, the identification of the variable will be described.
  • a label name that is a variable name defined by the user is specified in association with a variable type.
  • the search condition generation unit 12 can specify the type of the corresponding variable by referring to the variable table.
  • the names of internal variables such as input / output values, internal relays, and data registers from each device to be controlled are composed of “symbol + number” such as “D0”.
  • the search condition generation unit 12 can specify the type of the variable from the symbol part when “D0” or the like is designated.
  • FIG. 4 is a diagram illustrating an example of the screen 100 that is notified to the notification unit 15 by the program editor.
  • FIG. 4 shows a state where variable parts a1, a2, and a3 to which word type variables are assigned are selected by the user.
  • Variable parts a1, a2, and a3 indicate variables as function arguments.
  • the variable type is not limited to the word type, and may be a bit type or a double word type.
  • the word type refers to a variable type having a 16-bit integer value.
  • the bit type refers to a variable type having a value of 0 (false) or 1 (true).
  • the double word type is a variable type having a 32-bit integer value.
  • the variable component a1 includes an input connection point a11 and an output connection point a12.
  • the variable component a2 includes an input connection point a21 and an output connection point a22.
  • the variable component a3 includes an input connection point a31 and an output connection point a32.
  • FIG. 4 shows a state in which the output connection point a12 of the variable component a1, the output connection point a22 of the variable component a2, and the input connection point a31 of the variable component a3 are selected.
  • X1, X2, and X3 indicate locations selected by the user.
  • the variable types are all word types, but other types such as integer types may be mixed.
  • the search condition generation unit 12 supplies the generated search condition to the function search unit 13.
  • the function search unit 13 searches for a function that meets the search condition based on the function table stored in the second storage unit 22.
  • the function search unit 13 generates a list of candidate functions based on the search result, and supplies the generated list of candidate functions to the control unit 14.
  • the control unit 14 causes the notification unit 15 to notify the list of candidate functions.
  • FIG. 5 is a diagram illustrating an example of the list 101 of candidate functions.
  • the candidate function list 101 includes an item 101a indicating a function name, an item 101b indicating a function type, and an item 101c indicating an explanation of the operation of the function.
  • the user can select a desired function from the functions in the list 101 of candidate functions by the user operation reception unit 11.
  • FIG. 5 shows that the variable component a1 is selected by highlighting the variable component a1.
  • the programming support device 1 can search for usable function candidates by selecting the input side and the output side of the variable.
  • a condition for narrowing down functions can be input to the input unit 102 of the candidate function list 101.
  • the candidate function list 101 shows functions narrowed down based on the input conditions.
  • the user operation accepting unit 11 accepts a keyword related to the operation of the function and supplies the accepted keyword to the function search unit 13.
  • the keyword is, for example, “addition”.
  • the function search unit 13 narrows down the functions that match the keyword from the functions that match the search condition. For example, the function search unit 13 narrows down the functions that match the keyword based on whether or not the keyword supplied from the user operation reception unit 11 is included in the function name of the function that matches the search condition. . In addition, the function search unit 13 narrows down the functions that match the keyword based on whether or not the keyword supplied from the user operation reception unit 11 is included in the description of the function that matches the search condition. .
  • the control unit 14 causes the notification unit 15 to notify the function narrowed down by the function search unit 13.
  • the user operation accepting unit 11 accepts a function type and supplies the accepted function type to the function search unit 13.
  • the types of functions include, for example, logical operation, arithmetic operation, type conversion, character string combination, edge detection, counter, and timer.
  • the function search unit 13 narrows down the functions that match the function type from the functions that match the search condition. For example, the function search unit 13 determines whether the function that matches the search condition includes a function that matches the keyword based on whether or not the same function type supplied from the user operation reception unit 11 is included. Narrow down.
  • the control unit 14 causes the notification unit 15 to notify the function narrowed down by the function search unit 13.
  • FIG. 6 shows a state where “addition” is input as a keyword to the input unit 102 of the candidate function list 101, the functions are narrowed down based on the inputted “addition”, and the narrowed function candidates are notified. .
  • the programming support apparatus 1 when the programming support apparatus 1 notifies the search result based on the search condition and then receives the input of the condition by the user, the programming support apparatus 1 narrows down the function based on the input condition, so that the number of functions included in the search result is In many cases, it is possible to narrow down only functions that satisfy the input conditions.
  • control unit 14 connects the input argument or the output argument to the selected one function so as to notify the notification unit 15. .
  • FIG. 7 shows a state in which the function component a4 to which the ADD function is assigned and the variable components a1, a2, and a3 are connected.
  • the function component a4 to which the ADD function is assigned is referred to as a function component a4 of the ADD function.
  • the function component a4 of the ADD function includes a first input connection point a41, a second input connection point a42, and an output connection point a43.
  • the first input connection point a41 of the function component a4 of the ADD function and the output connection point a12 of the variable component a1 are connected, and the ADD function
  • the second input connection point a42 of the function component a4 and the output connection point a22 of the variable component a2 are connected, and the output connection point a43 of the function component a4 of the ADD function and the input connection point a31 of the variable component a3 are connected. Connected.
  • the programming support apparatus 1 since the programming support apparatus 1 notifies the notification unit 15 in a state where the function component of the function and the variable component as the argument of the function are connected, the connection is automated and the work burden of the connection by the user is reduced. be able to.
  • the notification unit 15 in a state where the function component and the variable component of the function are connected has been described. However, the notification unit 15 in a state where the function component and the variable component of the function are not connected. May be notified.
  • step ST1 the user operation reception unit 11 receives an operation by the user.
  • the user selects an input connection point or an output connection point of a variable block that is notified to the screen 100 by the user operation reception unit 11.
  • step ST2 the search condition generating unit 12 specifies the type of the variable selected by the user based on the variable table stored in the first storage unit 21.
  • step ST3 the search condition generating unit 12 is based on the type of the variable identified in the process of step ST2, the number of variables for which the output connection point is selected, and the number of variables for which the input connection point is selected. To generate a search condition.
  • the search condition generation unit 12 supplies the generated search condition to the function search unit 13.
  • step ST4 a function that meets the search condition is searched based on the function table stored in the second storage unit 22.
  • the function search unit 13 generates a list of candidate functions based on the search result, and supplies the generated list of candidate functions to the control unit 14.
  • step ST5 the control unit 14 causes the notification unit 15 to notify the list of candidate functions.
  • step ST6 the control unit 14 determines whether a function is selected by the user. Specifically, the user selects one function from the list of candidate functions notified to the notification unit 15 by the user operation reception unit 11. The user operation accepting unit 11 supplies the selected function to the control unit 14 when accepting an operation for selecting a function by the user.
  • step ST6 determines that the function is selected by the user.
  • step ST7 determines that the function is not selected by the user.
  • step ST7 the function search unit 13 determines whether a condition for narrowing down the function is input by the user.
  • the function search unit 13 determines that the condition for narrowing down the function is input by the user (Yes in step ST7), the function search unit 13 proceeds to step ST8 and determines that the condition for narrowing down the function is not input by the user. In case (step ST7 No), the process returns to step ST6.
  • step ST8 the function search unit 13 narrows down functions that meet the conditions input in step ST7 based on the list of candidate functions notified to the notification unit 15.
  • the function search unit 13 generates a list of candidate functions based on the function narrowing down and supplies the generated list of candidate functions to the control unit 14.
  • step ST9 the control unit 14 causes the notification unit 15 to notify the list of candidate functions.
  • step ST10 the control unit 14 determines whether a function is selected by the user. Specifically, the user selects one function from the list of candidate functions notified to the notification unit 15. The user operation accepting unit 11 supplies the selected function to the control unit 14 when accepting an operation for selecting a function by the user.
  • step ST10 Yes When the control unit 14 determines that the function is selected by the user (step ST10 Yes), the control unit 14 proceeds to step ST11. When the control unit 14 determines that the function is not selected by the user (step ST10 No), the control unit 14 proceeds to step ST7. Return to. When returning to the process of step ST7, the user may delete the currently input condition and input another condition, or may add another condition to the currently input condition. .
  • step ST11 the control unit 14 causes the notification unit 15 to notify the function component of the selected function and the variable component in a connected state.
  • the programming support apparatus 1 can search for usable function candidates by selecting the input connection point and the output connection point of the variable part.
  • the programming support apparatus 1 informs the search result based on the search condition and then receives the input of the condition by the user, the function is narrowed down based on the input condition. Therefore, the number of functions included in the search result When there are many, it is possible to narrow down only the functions that satisfy the input conditions.
  • the programming support device 1 causes the notification unit 15 to notify the function component of the function and the variable component in a connected state, so that the operation amount by the user can be reduced.
  • the programming support apparatus 1 can re-input the conditions for narrowing down the functions to redo the narrowing down of the functions, or add the conditions for the functions to further narrow down the functions.
  • FIG. 9 is a diagram illustrating a hardware configuration example of the programming support apparatus 1.
  • the programming support apparatus 1 is a computer and includes a processor 201, a memory 202, a display 203, and an input unit 204.
  • the notification unit 15 illustrated in FIG. 1 is realized by the display 203.
  • the search condition generation unit 12, the function search unit 13, and the control unit 14 illustrated in FIG. 1 are realized by the processor 201 executing a program stored in the memory 202.
  • the processor 201 is, for example, a CPU (Central Processing Unit), a microprocessor, and the like, and is a processing circuit.
  • the memory 202 is also used as a storage area when a program is executed by the processor 201.
  • the user operation receiving unit 11 shown in FIG. 1 is realized by the input unit 204.
  • the user operation receiving unit 11 shown in FIG. 1 is realized by the input unit 204.
  • the configuration described in the above embodiment shows an example of the contents of the present invention, and can be combined with another known technique, and can be combined with other configurations without departing from the gist of the present invention. It is also possible to omit or change the part.
  • 1 programming support device 11 user operation reception unit, 12 search condition generation unit, 13 function search unit, 14 control unit, 15 notification unit, 21 first storage unit, 22 second storage unit.

Landscapes

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

Abstract

ユーザによる操作を受け付けるユーザ操作受付部(11)と、関数が記憶されている第2記憶部(22)と、ユーザ操作受付部(11)によって受け付けられた関数の引数に関する情報に基づいて、第2記憶部(22)から関数を検索し、検索された関数を報知部(15)に報知させる制御部(14)とを備える。ユーザ操作受付部(11)は、関数の動作に関するキーワード、または関数の動作に関するキーワードなどを受け付ける。制御部(14)は、ユーザ操作受付部(11)によって受け付けられた関数の動作に関するキーワード、または関数の動作に関するキーワードなどに基づいて、第2記憶部(22)から関数を検索し、検索された関数を報知部(15)に報知させる。

Description

プログラミング支援装置、プログラミング支援方法およびプログラミング支援プログラム
 本発明は、プログラムの作成支援を行うプログラミング支援装置、プログラミング支援方法およびプログラミング支援プログラムに関する。
 FA(Factory Automation)分野では、産業用機械を制御するPLC(Programmable Logic Controller)が利用されている。PLCは、制御内容が記述されているシーケンスプログラムに基づいて、産業用機械を制御する。このシーケンスプログラムは、プログラミング支援装置により作成される。
 シーケンスプログラムは、複数の関数により構成されている。シーケンスプログラムにおける関数は、同じ動作を行う場合でも、引数の個数または引数の型が違う場合には異なる関数として扱われる。
 近年、FA分野では、複雑なシステムを組むことが増えている。そのため、シーケンスプログラムは、複雑化し、より多くの関数により構成されている。ユーザは、全ての関数を引数との組み合わせで覚えることは困難であり、マニュアルなどを使って使用可能な関数を調べる必要がある。また、ユーザは、シーケンスプログラムのコンパイル時に、引数の型が誤っていることを発見した場合、シーケンスプログラムの修正を行う必要がある。このようにして、シーケンスプログラムの作成には、多大な工数がかかる。
 特許文献1には、関数とこの関数に対応する引数の記述を支援するために、入力された関数名または関数に対応する処理名に基づいて、関数データを検索し、処理名、関数の型、関数の形式、引数などからなる関数データを表示する装置が開示されている。
特開平5-150970号公報
 しかしながら、特許文献1に記載の装置は、関数名または処理名に基づいて関数データを検索し、関数データの引数を表示するものであり、関数名および処理名が不明な場合には、関数データの検索はできない。このため、ユーザが、既存の変数を引数として用いて関数を作成したい場合、特許文献1に記載の装置では引数から対応する関数を検索することはできず、シーケンスプログラム作成のための工数を削減することができない。
 本発明は、上記に鑑みてなされたものであって、シーケンスプログラム作成のための工数を削減することができるプログラミング支援装置、プログラミング支援方法およびプログラミング支援プログラムを得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本発明は、ユーザによる操作を受け付けるユーザ操作受付部と、関数が記憶されている関数記憶部と、ユーザ操作受付部によって受け付けられた関数の引数に関する情報に基づいて、関数記憶部から関数を検索し、検索された関数を報知部に報知させる制御部とを備える。
 本発明にかかるプログラミング支援装置は、シーケンスプログラム作成のための工数を削減することができるという効果を奏する。
実施の形態におけるプログラミング支援装置の構成を示す図 実施の形態における変数テーブルの構成例を示す図 実施の形態における関数テーブルの構成例を示す図 実施の形態におけるプログラムエディタによって報知部に報知される画面の一例を示す図 実施の形態における候補関数のリストの一例を示す図 実施の形態における候補関数のリストの関数が絞り込まれ、絞り込まれた関数の候補が報知される様子を示す図 実施の形態における関数のファンクション部品と変数部品とが結線されている状態を示す図 実施の形態におけるプログラミング支援装置の動作の流れについての説明に供するフローチャート 実施の形態におけるプログラミング支援装置のハードウェアの構成例を示す図
 以下に、本発明の実施の形態にかかるプログラミング支援装置、プログラミング支援方法およびプログラミング支援プログラムを図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態
 図1は、実施の形態におけるプログラミング支援装置1の構成を示す図である。プログラミング支援装置1は、ユーザによる操作を受け付けるユーザ操作受付部11と、ユーザ操作受付部11によって受け付けられたユーザによる操作に基づいて、検索条件を生成する検索条件生成部12と、変数テーブルを記憶する第1記憶部21とを備える。
 図2は、変数テーブルの構成例を示す図である。変数テーブルは、変数名と変数の型などが対応付けられて構成されている。変数名は、例えば、「Label1」などで表現され、ユーザが任意に設定することができる。変数の型は、ビット、ワード、ダブルワード、倍精度実数などで表現される。
 ユーザは、関数の引数に関する情報を入力する。関数の引数に関する情報とは、入力引数の型、出力引数の型、入力引数の数、出力引数の数などである。検索条件生成部12は、ユーザ操作受付部11によって受け付けた関数の引数に関する情報に基づいて検索条件を生成する。検索条件は、入力引数の型と、出力引数の型と、入力引数の数と、出力引数の数とのうち1つ以上を含んでいる。検索条件生成部12は、生成した検索条件を関数検索部13に供給する。検索条件については後述する。
 プログラミング支援装置1は、関数テーブルを記憶する第2記憶部22と、検索条件に基づいて、関数を検索する関数検索部13と、プログラミング支援装置1全体の動作を制御する制御部14とを備える。具体的には、制御部14は、ユーザ操作受付部11によって受け付けられた関数の引数に関する情報に基づいて、第2記憶部から関数を検索し、検索された関数を報知部15に報知させる。また、制御部14は、関数検索部13によって検索された関数を報知部15に報知させる。報知部15は、制御部14の制御に基づいて、関数検索部13によって検索された関数を報知する。なお、報知部15の一例は、表示部であるが、スピーカなどであってもよい。表示部は、制御部14の制御に基づいて、関数検索部13によって検索された関数を表示する。また、スピーカは、制御部14の制御に基づいて、関数検索部13によって検索された関数を音声出力する。以下では、報知部15は、表示部であるとして説明する。
 図3は、関数テーブルの構成例を示す図である。関数テーブルは、引数の数、引数の種類、関数名、関数の動作の説明、関数の種類などが対応付けられて構成されている。引数の数は、例えば、「入力引数2つ、出力引数1つ」などで表現される。引数の種類は、例えば、「ワード」などで表現される。関数名は、例えば、「PLUS」などで表現される。関数の動作の説明は、例えば、「入力引数の加算を行い、出力引数として出力する」などで表現される。関数の種類は、例えば、「算術演算命令」または、「基本命令」などで表現される。
 関数検索部13は、第2記憶部22に記憶されている関数テーブルに基づいて、検索条件に適合する関数を検索する。
 ここで、プログラムエディタを利用して、変数を選択する動作について説明する。プログラムエディタは、FBD(Function Block Diagram)などのプログラム言語によりシーケンスプログラムを作成する。プログラミング支援装置1には、このプログラムエディタを実現するためのプログラムがインストールされている。検索条件生成部12、関数検索部13および制御部14は、プログラムエディタの一部として機能する。
 ユーザは、マウスなどのポインティングデバイスを利用して、プログラムエディタによって報知部15に報知されている変数を選択する。
 具体的には、ユーザは、プログラムエディタによって報知部15に報知されている画面内の入力接続ポイントを出力引数として選択し、また、プログラムエディタによって報知部15に報知されている画面内の出力接続ポイントを入力引数として選択する。入力接続ポイントには、他の部品の出力接続ポイントが接続される。出力接続ポイントには、他の部品の入力接続ポイントが接続される。
 検索条件生成部12は、第1記憶部21に記憶されている変数テーブルに基づいて、ユーザにより選択された変数の型を特定する。ここで、変数の特定について説明する。変数テーブルには、ユーザにより定義された変数名であるラベル名が変数の型に対応付けて指定されている。検索条件生成部12は、ラベル名が指定されると変数テーブルを参照して対応する変数の型を特定することができる。また、シーケンスプログラムでは、制御対象である各機器からの入出力値、内部リレー、データレジスタなどの内部変数の名称が「D0」などの「記号+数字」で構成されている。例えば、機器からの入力(ビット)の場合には、「X+数字」で構成され、機器への出力(ビット)の場合には、「Y+数字」で構成され、内部リレー(ビット)の場合には、「M+数字」で構成され、データレジスタ(ワード)の場合には、「D+数字」で構成される。また、「X」、「Y」、「M」および「D」は、変数の型を示している。検索条件生成部12は、「D0」などが指定されたときに、記号部分から変数の型を特定することができる。
 図4は、プログラムエディタによって報知部15に報知される画面100の一例を示す図である。図4は、ユーザによりワード型の変数が割り当てられている変数部品a1,a2,a3が選択された状態を示している。変数部品a1,a2,a3は、関数の引数としての変数を示している。なお、変数の型は、ワード型に限られず、ビット型またはダブルワード型などでもよい。ワード型とは、16ビットの整数値を持つ変数の型をいう。ビット型とは、0(false)または1(true)のどちらかの値を持つ変数の型をいう。ダブルワード型とは、32ビットの整数値を持つ変数の型をいう。変数部品a1は、入力接続ポイントa11と出力接続ポイントa12とを備える。変数部品a2は、入力接続ポイントa21と出力接続ポイントa22とを備える。変数部品a3は、入力接続ポイントa31と出力接続ポイントa32とを備える。図4では、変数部品a1の出力接続ポイントa12と、変数部品a2の出力接続ポイントa22と、変数部品a3の入力接続ポイントa31とが選択された状態を示している。図4中のX1,X2,X3は、ユーザにより選択された箇所を示している。なお、図4に示す例では、変数の型は、すべてワード型になっているが、整数型などの他の型が混在してもよい。
 図4に示すようにX1,X2,X3がユーザにより選択された場合、検索条件生成部12は、出力接続ポイントが選択されている変数部品が二つであり、入力接続ポイントが選択されている変数部品が一つであるので、入力引数が二つであり、出力引数が一つであり、それぞれの引数がワード型の引数である関数を検索するための検索条件を生成する。例えば、検索条件は、ANDなどの論理演算子を用いて、「入力引数=2 AND 出力引数=1 AND 引数の型=ワード型」などで示される。検索条件生成部12は、生成した検索条件を関数検索部13に供給する。
 関数検索部13は、第2記憶部22に記憶されている関数テーブルに基づいて、検索条件に適合する関数を検索する。関数検索部13は、検索結果に基づいて、候補関数のリストを生成し、生成した候補関数のリストを制御部14に供給する。制御部14は、候補関数のリストを報知部15に報知させる。
 図5は、候補関数のリスト101の一例を示す図である。候補関数のリスト101は、関数名を示す項目101aと、関数の種類を示す項目101bと、関数の動作の説明を示す項目101cとから構成されている。ユーザは、ユーザ操作受付部11により、候補関数のリスト101の関数の中から所望の関数を選択することができる。また、図5では、変数部品a1を反転表示することにより、変数部品a1が選択されていることを示している。
 よって、プログラミング支援装置1は、関数名または処理名が不明であっても、変数の入力側と出力側とを選択することにより、使用可能な関数の候補を検索することができる。
 また、候補関数のリスト101の入力部102には、関数を絞り込むための条件を入力することができる。候補関数のリスト101には、入力された条件に基づいて絞り込まれた関数が示される。
 具体的には、ユーザ操作受付部11は、関数の動作に関するキーワードを受け付け、受け付けたキーワードを関数検索部13に供給する。キーワードは、例えば、「加算」などである。
 関数検索部13は、検索条件に適合する関数の中から、キーワードに適合する関数の絞り込みを行う。例えば、関数検索部13は、検索条件に適合する関数の関数名の中に、ユーザ操作受付部11から供給されたキーワードが含まれているか否かに基づき、キーワードに適合する関数の絞り込みを行う。また、関数検索部13は、検索条件に適合する関数の説明文の中に、ユーザ操作受付部11から供給されたキーワードが含まれているか否かに基づき、キーワードに適合する関数の絞り込みを行う。
 制御部14は、関数検索部13によって絞り込まれた関数を報知部15に報知させる。
 また、ユーザ操作受付部11は、関数の種類を受け付け、受け付けた関数の種類を関数検索部13に供給する。関数の種類は、例えば、論理演算、算術演算、型変換、文字列の結合、エッジ検出、カウンタ、タイマなどである。
 関数検索部13は、検索条件に適合する関数の中から、関数の種類に適合する関数の絞り込みを行う。例えば、関数検索部13は、検索条件に適合する関数の中に、ユーザ操作受付部11から供給された関数の種類と同一のものが含まれているか否かに基づき、キーワードに適合する関数の絞り込みを行う。
 制御部14は、関数検索部13によって絞り込まれた関数を報知部15に報知させる。
 図6には、候補関数のリスト101の入力部102にキーワードとして「加算」が入力され、入力された「加算」に基づいて、関数を絞り込み、絞り込んだ関数の候補が報知される様子を示す。
 よって、プログラミング支援装置1は、検索条件に基づく検索結果を報知した後、ユーザによる条件の入力を受け付けた場合、入力された条件に基づいて関数を絞り込むので、検索結果に含まれる関数の数が多い場合に、入力した条件を満たす関数だけを絞り込むことができる。
 また、制御部14は、報知部15に報知されている関数の中から一の関数が選択された場合、選択された一の関数に入力引数または出力引数を結線して報知部15に報知させる。
 ここで、候補関数のリスト101に報知されている関数の中から、入力値の和を出力するADD関数が選択された場合を一例にして説明する。
 図7は、ADD関数が割り当てられているファンクション部品a4と、変数部品a1,a2,a3とが結線されている状態を示す。以下では、ADD関数が割り当てられているファンクション部品a4は、ADD関数のファンクション部品a4という。ADD関数のファンクション部品a4は、第1の入力接続ポイントa41と、第2の入力接続ポイントa42と、出力接続ポイントa43とを備える。
 具体的には、プログラムエディタによって報知部15に報知される画面100において、ADD関数のファンクション部品a4の第1の入力接続ポイントa41と、変数部品a1の出力接続ポイントa12とが結線され、ADD関数のファンクション部品a4の第2の入力接続ポイントa42と、変数部品a2の出力接続ポイントa22とが結線され、ADD関数のファンクション部品a4の出力接続ポイントa43と、変数部品a3の入力接続ポイントa31とが結線される。
 よって、プログラミング支援装置1は、関数のファンクション部品と、関数の引数としての変数部品とが結線された状態で報知部15に報知させるので、結線が自動化され、ユーザによる結線の作業負担を軽減させることができる。
 なお、上述では、関数のファンクション部品と変数部品とが結線された状態で報知部15に報知される場合について説明したが、関数のファンクション部品と変数部品とが結線されていない状態で報知部15に報知されてもよい。
 つぎに、変数が選択されてから、関数のファンクション部品と変数部品とが結線された状態で報知部15に報知されるまでのプログラミング支援装置1の動作の流れについて、図8を用いて説明する。
 ステップST1において、ユーザ操作受付部11は、ユーザによる操作を受け付ける。ユーザは、ユーザ操作受付部11により画面100に報知されている変数ブロックの入力接続ポイントまたは出力接続ポイントを選択する。
 ステップST2において、検索条件生成部12は、第1記憶部21に記憶されている変数テーブルに基づいて、ユーザにより選択された変数の型を特定する。
 ステップST3において、検索条件生成部12は、ステップST2の工程で特定した変数の型と、出力接続ポイントが選択されている変数の数と、入力接続ポイントが選択されている変数の数とに基づいて、検索条件を生成する。検索条件生成部12は、生成した検索条件を関数検索部13に供給する。
 ステップST4において、第2記憶部22に記憶されている関数テーブルに基づいて、検索条件に適合する関数を検索する。関数検索部13は、検索結果に基づいて、候補関数のリストを生成し、生成した候補関数のリストを制御部14に供給する。
 ステップST5において、制御部14は、候補関数のリストを報知部15に報知させる。
 ステップST6において、制御部14は、ユーザにより関数が選択されたかどうかを判断する。具体的には、ユーザは、ユーザ操作受付部11により報知部15に報知されている候補関数のリストの中から一の関数を選択する。ユーザ操作受付部11は、ユーザにより関数の選択の操作を受け付けた場合、選択された関数を制御部14に供給する。
 制御部14は、ユーザにより関数が選択されたと判断した場合(ステップST6 Yes)には、ステップST11に進み、ユーザにより関数が選択されていないと判断した場合(ステップST6 No)には、ステップST7に進む。
 ステップST7において、関数検索部13は、ユーザにより関数を絞り込むための条件が入力されたかどうかを判断する。関数検索部13は、ユーザにより関数を絞り込むための条件が入力されたと判断した場合(ステップST7 Yes)には、ステップST8に進み、ユーザにより関数を絞り込むための条件が入力されていないと判断した場合(ステップST7 No)には、ステップST6に戻る。
 ステップST8において、関数検索部13は、報知部15に報知されている候補関数のリストに基づいて、ステップST7の工程により入力された条件に適合する関数の絞り込みを行う。関数検索部13は、関数の絞り込みに基づいて、候補関数のリストを生成し、生成した候補関数のリストを制御部14に供給する。
 ステップST9において、制御部14は、候補関数のリストを報知部15に報知させる。
 ステップST10において、制御部14は、ユーザにより関数が選択されたかどうかを判断する。具体的には、ユーザは、報知部15に報知されている候補関数のリストの中から一の関数を選択する。ユーザ操作受付部11は、ユーザにより関数の選択の操作を受け付けた場合、選択された関数を制御部14に供給する。
 制御部14は、ユーザにより関数が選択されたと判断した場合(ステップST10 Yes)には、ステップST11に進み、ユーザにより関数が選択されていないと判断した場合(ステップST10 No)には、ステップST7に戻る。ステップST7の工程に戻った場合、ユーザは、現在入力されている条件を消去して、別の条件を入力してもよいし、現在入力されている条件に他の条件を追加してもよい。
 ステップST11において、制御部14は、選択された関数のファンクション部品と、変数部品とを結線した状態で報知部15に報知させる。
 よって、プログラミング支援装置1は、関数名または処理名が不明であっても、変数部品の入力接続ポイントと出力接続ポイントとを選択することにより、使用可能な関数の候補を検索することができる。
 また、プログラミング支援装置1は、検索条件に基づく検索結果を報知させた後、ユーザによる条件の入力を受け付けた場合、入力された条件に基づいて関数を絞り込むので、検索結果に含まれる関数の数が多い場合に、入力した条件を満たす関数だけを絞り込むことができる。
 また、プログラミング支援装置1は、関数のファンクション部品と、変数部品とが結線された状態で報知部15に報知させるので、ユーザによる操作量を減少させることができる。
 また、プログラミング支援装置1は、関数を絞り込む条件を再入力して、関数の絞り込みをやり直したり、関数の条件を追加して、さらに関数を絞り込むこともできる。
 図9は、プログラミング支援装置1のハードウェア構成例を示す図である。プログラミング支援装置1は、コンピュータであり、プロセッサ201、メモリ202、ディスプレイ203および入力部204を備える。図1に示した報知部15は、ディスプレイ203により実現される。
 図1に示した検索条件生成部12、関数検索部13および制御部14は、メモリ202に格納されたプログラムがプロセッサ201により実行されることにより実現される。
 図1に示した第1記憶部21および第2記憶部22は、メモリ202により実現される。
 プロセッサ201は、例えば、CPU(Central Processing Unit)、マイクロプロセッサなどであり、処理回路である。メモリ202は、プロセッサ201によりプログラムが実行される際の記憶領域としても用いられる。
 図1に示したユーザ操作受付部11は、入力部204により実現される。
 以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
 1 プログラミング支援装置、11 ユーザ操作受付部、12 検索条件生成部、13 関数検索部、14 制御部、15 報知部、21 第1記憶部、22 第2記憶部。

Claims (8)

  1.  ユーザによる操作を受け付けるユーザ操作受付部と、
     関数が記憶されている関数記憶部と、
     前記ユーザ操作受付部によって受け付けられた関数の引数に関する情報に基づいて、前記関数記憶部から関数を検索し、検索された関数を報知部に報知させる制御部とを備えることを特徴とするプログラミング支援装置。
  2.  前記ユーザ操作受付部は、関数の動作に関するキーワードを受け付け、
     前記制御部は、前記ユーザ操作受付部によって受け付けられた関数の動作に関するキーワードに基づいて、前記関数記憶部から関数を検索し、検索された関数を前記報知部に報知させることを特徴とする請求項1に記載のプログラミング支援装置。
  3.  前記ユーザ操作受付部は、関数の種類を受け付け、
     前記制御部は、前記ユーザ操作受付部によって受け付けられた関数の種類に基づいて、前記関数記憶部から関数を検索し、検索された関数を前記報知部に報知させることを特徴とする請求項1に記載のプログラミング支援装置。
  4.  前記制御部は、前記報知部に報知されている関数の中から一の関数が選択された場合、選択された前記一の関数と、入力引数および出力引数とを結線して前記報知部に報知させることを特徴とする請求項1、2または3に記載のプログラミング支援装置。
  5.  ユーザによる操作を受け付けるユーザ操作受付工程と、
     前記ユーザ操作受付工程によって受け付けられた関数の引数に関する情報に基づいて、関数記憶部から関数を検索し、検索された関数を報知部に報知させる制御工程とを含むことを特徴とするプログラミング支援方法。
  6.  前記ユーザ操作受付工程および前記制御工程は、FBD(Function Block Diagram)により作成されたプログラムエディタの一部であることを特徴とする請求項5に記載のプログラミング支援方法。
  7.  前記ユーザ操作受付工程は、前記報知部に報知されている入力接続ポイントを出力引数として選択された操作と、前記報知部に報知されている出力接続ポイントを入力引数として選択された操作とを受け付けることを特徴とする請求項5または6に記載のプログラミング支援方法。
  8.  ユーザによる操作を受け付けるユーザ操作受付工程と、
     前記ユーザ操作受付工程によって受け付けられた関数の引数に関する情報に基づいて、関数記憶部から関数を検索し、検索された関数を報知部に報知させる制御工程とを、コンピュータに実行させることを特徴とするプログラミング支援プログラム。
PCT/JP2018/007600 2018-02-28 2018-02-28 プログラミング支援装置、プログラミング支援方法およびプログラミング支援プログラム WO2019167187A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018544374A JPWO2019167187A1 (ja) 2018-02-28 2018-02-28 プログラミング支援装置、プログラミング支援方法およびプログラミング支援プログラム
PCT/JP2018/007600 WO2019167187A1 (ja) 2018-02-28 2018-02-28 プログラミング支援装置、プログラミング支援方法およびプログラミング支援プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/007600 WO2019167187A1 (ja) 2018-02-28 2018-02-28 プログラミング支援装置、プログラミング支援方法およびプログラミング支援プログラム

Publications (1)

Publication Number Publication Date
WO2019167187A1 true WO2019167187A1 (ja) 2019-09-06

Family

ID=67806014

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/007600 WO2019167187A1 (ja) 2018-02-28 2018-02-28 プログラミング支援装置、プログラミング支援方法およびプログラミング支援プログラム

Country Status (2)

Country Link
JP (1) JPWO2019167187A1 (ja)
WO (1) WO2019167187A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216142A (ja) * 2000-02-04 2001-08-10 Hitachi Ltd プログラム作成支援装置
JP2014186678A (ja) * 2013-03-25 2014-10-02 Hitachi Systems Ltd 部品生成システムおよび方法ならびにプログラム
WO2015132971A1 (ja) * 2014-03-07 2015-09-11 三菱電機株式会社 プログラミング装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03223926A (ja) * 1990-01-29 1991-10-02 Shimadzu Corp プログラム部品の二重登録防止装置
JP2004280416A (ja) * 2003-03-14 2004-10-07 Toshiba Corp ソフトウェア部品管理システム、ソフトウェア部品管理方法およびソフトウェア部品管理プログラム
JP2014186508A (ja) * 2013-03-22 2014-10-02 Canon Inc プログラミング装置、プログラミング支援方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216142A (ja) * 2000-02-04 2001-08-10 Hitachi Ltd プログラム作成支援装置
JP2014186678A (ja) * 2013-03-25 2014-10-02 Hitachi Systems Ltd 部品生成システムおよび方法ならびにプログラム
WO2015132971A1 (ja) * 2014-03-07 2015-09-11 三菱電機株式会社 プログラミング装置

Also Published As

Publication number Publication date
JPWO2019167187A1 (ja) 2020-04-09

Similar Documents

Publication Publication Date Title
JPS62174878A (ja) 設計基準作成支援方法及びその作成支援装置
CN104731509A (zh) 基于触摸操作的搜索方法、装置和终端
US10628143B2 (en) Program development assist system, program development assist method, and non-transitory computer readable recording medium
US20060117315A1 (en) Help system, automation device with a help system and a method for providing help data
JP2007011604A (ja) 不具合診断システム及びプログラム
WO2019167187A1 (ja) プログラミング支援装置、プログラミング支援方法およびプログラミング支援プログラム
JP2009193181A (ja) ソフトウェアの開発支援システム、支援方法およびこの方法のプログラム
US20050066268A1 (en) Method for displaying information in an automation system
CN114546220A (zh) 页面配置方法及装置、存储介质、计算机设备
JP2018206102A (ja) 作業指示装置、作業指示方法および作業指示プログラム
JP6664562B1 (ja) デバッグ支援装置、デバッグ支援方法、デバッグ支援プログラム
WO2015019459A1 (ja) コントローラ
Kho et al. MIPSers: MIPS extension release 6 simulator
JP2009193488A (ja) ソフトウェアテスト項目編集支援装置およびソフトウェアテスト項目編集支援方法
JP2003208333A (ja) トレース情報検索装置およびその方法
JP2021077161A (ja) 数値制御装置
CN110377277A (zh) 提示方法及其电脑系统
US11921496B2 (en) Information processing apparatus, information processing method and computer readable medium
JP2798015B2 (ja) プログラムエラー解析支援システム
CN113778512B (zh) 谈判数据处理方法及设备
US20160283605A1 (en) Information extraction device, information extraction method, and display control system
JP2011096154A (ja) 入力支援装置、入力支援方法及び入力支援プログラム
JP2009123138A (ja) 処理手順生成装置及び処理手順生成方法
JP2825372B2 (ja) ハードウェア構造表示装置
GB2291513A (en) Speculative history field in a branch target buffer.

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2018544374

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: 18907878

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: 18907878

Country of ref document: EP

Kind code of ref document: A1