WO2019093170A1 - 制御プログラム開発支援装置、制御プログラム開発支援システム、制御プログラム開発支援方法、および、制御プログラム開発支援プログラム - Google Patents

制御プログラム開発支援装置、制御プログラム開発支援システム、制御プログラム開発支援方法、および、制御プログラム開発支援プログラム Download PDF

Info

Publication number
WO2019093170A1
WO2019093170A1 PCT/JP2018/040052 JP2018040052W WO2019093170A1 WO 2019093170 A1 WO2019093170 A1 WO 2019093170A1 JP 2018040052 W JP2018040052 W JP 2018040052W WO 2019093170 A1 WO2019093170 A1 WO 2019093170A1
Authority
WO
WIPO (PCT)
Prior art keywords
control program
editing
debugging
program
variable
Prior art date
Application number
PCT/JP2018/040052
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 CN201880053234.9A priority Critical patent/CN111033475B/zh
Priority to EP18877182.8A priority patent/EP3709172A4/en
Priority to US16/639,126 priority patent/US11151016B2/en
Publication of WO2019093170A1 publication Critical patent/WO2019093170A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Definitions

  • the present invention relates to a technology for supporting development of a control program.
  • the FA system comprises a controller and a plurality of slave devices.
  • the controller is provided with a control program, and the control program sets the operation and processing of the controller, and the operation and processing of the slave device.
  • Patent Document 1 As an apparatus for creating such a control program, there is one having a configuration as shown in Patent Document 1.
  • a control program creation apparatus including the apparatus described in Patent Document 1 is generally provided with a debugging function.
  • an object of the present invention is to make it possible to more easily identify the cause of an error and to shorten the time for debugging.
  • the control program development support device includes an editing unit and a display unit.
  • the editing unit executes editing of the control program and debugging of the control program.
  • the display unit displays the contents of editing and the contents of debugging. Furthermore, when the editing unit designates the same processing multiple times for the program component or variable to be debugged included in the control program at the time of debugging, the past edited content related to the program component or variable to be debugged
  • the display unit displays debug auxiliary information including at least one of the change contents of the control program or the related error information.
  • debugging auxiliary information to be a reference during debugging is simultaneously displayed on the debugging screen.
  • the editing unit edits the program component a plurality of times in succession as processing for the program component, and when it is transmitted to the controller, displays the debug auxiliary information related to the program component It may be displayed on the unit.
  • the editing unit sets acceptance of observation of the designated variable as processing for the variable, and if the same variable is set for acceptance of observation performed a plurality of times, the variable is set to the variable.
  • Related debugging auxiliary information may be displayed on the display unit.
  • the editing unit may cause the display unit to display a comparison image of the program component to be debugged and the portion related to the program component to be debugged included in the debugging auxiliary information.
  • the editing unit may cause the display unit to display a comparison image of the parameter of the variable to be debugged and the parameter of the variable included in the debugging auxiliary information.
  • Such display makes it easy to compare the parameter of the variable to be debugged with the parameter of the variable to be compared.
  • control program development support system includes each configuration of the control program development support device described in any of the above and a server connected to the control program development support device.
  • the server stores debugging auxiliary information.
  • the editing unit acquires past editing content from the server.
  • the storage amount can be improved by storing the past edited content in the server. Therefore, the control program development support device can display a large amount of information to assist in debugging.
  • the cause of an error can be identified more easily, and the time for debugging can be shortened.
  • 5 is a table showing an example of debugging auxiliary information collected by a server. It is a flow chart which shows an example of processing at the time of debugging. It is a figure which shows an example of the display screen at the time of debugging. It is a flowchart which shows an example of a display process of a comparison screen. It is a figure which shows an example of a comparison screen. It is a flowchart which shows another example of the process at the time of debugging.
  • FIG. 1 It is a figure which shows an example of the display screen at the time of debugging. It is a flowchart which shows an example of a display process of error information or a comparison screen.
  • A is a figure which shows an example of a comparison screen
  • B is a figure which shows an example of the list of error information.
  • FIG. 1 is a functional block diagram of a control program development support apparatus according to an embodiment of the present invention.
  • control program development support device 10 at least includes an editing unit 11 and a display unit 14.
  • the editing unit 11 edits and debugs the control program.
  • the editing unit 11 outputs the control program editing screen and the debugging screen to the display unit 14.
  • the display unit 14 displays an edit screen and a debug screen of the control program.
  • the editing unit 11 detects this process if the same process is designated multiple times for the program component or variable to be debugged included in the control program.
  • the editing unit 11 extracts debug auxiliary information using the detection of this process as a trigger.
  • the debugging auxiliary information is information including at least one of past edited contents related to a program component or variable to be debugged, changed contents of a control program, or related error information.
  • the editing unit 11 outputs the extracted debugging auxiliary information to the display unit 14.
  • the display unit 14 superimposes and displays the extracted debug auxiliary information on the debug screen.
  • FIG. 1 is a functional block diagram of a control program development support apparatus according to an embodiment of the present invention.
  • FIG. 2 is a schematic configuration diagram of a control system including a control program development support system according to an embodiment of the present invention.
  • the control program development support device 10 includes an editing unit 11, a storage unit 12, an operation input unit 13, a display unit 14, and a communication control unit 15.
  • the editing unit 11 is connected to the storage unit 12, the operation input unit 13, the display unit 14, and the communication control unit 15.
  • the control program development support device 10 is realized by, for example, an arithmetic processing device such as a personal computer.
  • the editing unit 11 is realized by an arithmetic processing element such as a CPU and a program to be executed by the arithmetic processing element.
  • the editing unit 11 executes various processes related to the development of the control program such as editing and debugging of the control program.
  • the storage unit 12 is a storage area used at the time of various processing by the arithmetic processing element, and is realized by a predetermined storage medium. In addition, it is also possible to increase the capacity of the storage unit 12 and store the past editing content described later.
  • the operation input unit 13 is realized by, for example, a keyboard or a mouse.
  • the operation input unit 13 receives an operation input from an operator such as a programmer, and gives the operation input to the editing unit 11.
  • the display unit 14 is realized by, for example, a liquid crystal display or the like.
  • the display unit 14 displays an editing screen and a debug screen of the control program input from the editing unit 11, and further, information (debug auxiliary information) that aids in debugging such as past editing contents described later.
  • the communication control unit 15 is an interface for connecting the control program development support device 10 to an external network.
  • Such a control program development support device 10 is applied to a control system as shown in FIG.
  • the control system 1 includes a control program development support device 10, a controller 21, slave devices 221, 222, 223, and a server 40.
  • the controller 21 is connected to the slave devices 221, 222, 223 via the control network 30.
  • the control network 30 is set, for example, in accordance with Ethernet (registered trademark) or EtherCAT (registered trademark).
  • the control program development support apparatus 10, the controller 21, and the server 40 are connected via an information communication network 50.
  • the information communication network 50 is set, for example, in accordance with Ethernet (registered trademark).
  • the controller 21 receives a control program from the control program development support device 10 and stores it.
  • the controller 21 controls the processing of the own device and the operations and processing of the slave devices 211, 222, 223 based on the control program.
  • the server 40 collects debugging auxiliary information from the control program development support apparatus 10 and the controller 21 via the information communication network 50.
  • the auxiliary information for debugging is, for example, the edited contents of the control program executed in the past by the control program development support apparatus 10, and error information of the controller 21 and the slave devices 211, 222, 223.
  • the server 40 may collect debugging auxiliary information directly from the control program development support device 10 and the controller 21 respectively, or may collect it via the control program development support device 10.
  • FIG. 3 is a table showing an example of debugging auxiliary information collected by the server.
  • the auxiliary information for debugging is itemized as, for example, operation content, data collection source, and data to be collected, and each item is associated with each other.
  • the operation content is processing that triggers collection, download, online edit transfer, offline edit history, observation of specified variable, writing of variable to controller, setting of breakpoint, setting of bookmark, detection of failure of slave, There are minor fault detection, all clear memory, etc.
  • the data collection source indicates the target device for which the operation content has been executed, and there are, for example, a development program (control program development support device 10), a controller, and the like.
  • the data to be collected is information that serves as a reference for debugging auxiliary information, and information that assists in debugging itself: program component POU, circuit, variable parameter, POU line number, circuit line number, The node number of the slave, information on an error, etc.
  • Pieces of information may be stored in the control program development support apparatus 10.
  • a large storage capacity of information can be secured.
  • a large amount of debugging auxiliary information can be held, and provision of suitable auxiliary information becomes more reliable and easier.
  • FIG. 4 is a flowchart showing an example of processing at the time of debugging.
  • the editing unit 11 of the control program development support device 10 receives the start of debugging of the control program (S11).
  • the debugging is performed by activation of the simulator or connection to the controller 21 (on-line state).
  • the editing unit 11 receives editing and transfer of the program component POU via the operation input unit 13 (S12).
  • the editing unit 11 sends the program component element POU in the debug portion.
  • Debugging auxiliary information such as the editing history (the past editing content) of the related program component POU is extracted from the server 40 (S14).
  • the editing unit 11 extracts the editing history of the program component POU using the data to be edited shown in FIG. 3 as a keyword.
  • the editing unit 11 generates a list image of the editing history of the extracted program component POU, and outputs the list image to the display unit 14.
  • the display unit 14 displays this list image (S15).
  • FIG. 5 is a view showing an example of a display screen at the time of debugging.
  • the display screen 140 has an index 141, a debug screen 142, and a list 143 of auxiliary information.
  • the index 141 displays the program being debugged.
  • On the debug screen 142 the progress of debugging, the program component POU of the program being debugged, and the like are displayed.
  • the list 143 of the auxiliary information a list image of the editing history extracted as described above is displayed.
  • the list of auxiliary information 143 includes an edit date Date, an edited program component POU, an editor User, and the like.
  • the plurality of pieces of auxiliary information may be displayed in time series. This makes it possible to easily recognize the recent editing history.
  • the arrangement of the plurality of pieces of auxiliary information is not limited to this, and may be arranged based on, for example, the degree of coincidence of keywords. When the keyword matching degree is used, it is possible to easily recognize an editing history more suitable for the current debugging.
  • the programmer can easily confirm auxiliary information suitable for debugging the program component POU to be debugged. This reduces the burden on the programmer's debugging.
  • FIG. 6 is a flowchart showing an example of display processing of the comparison screen.
  • the editing unit 11 receives the selection of one item of the list 143 of the auxiliary information as shown in FIG. 5 via the operation input unit 13 (S21).
  • the editing unit 11 generates a comparison image of the program component POU being debugged and the program component POU of the selected auxiliary information, and the display unit 14 displays the comparison image (S22).
  • FIG. 7 is a diagram showing an example of the comparison screen. As shown in FIG. 7, the display screen 140 is divided in the horizontal direction, and the display area 411 of the program component POU being debugged and the display area 412 of the program component POU of the selected auxiliary information are arranged side by side. Be done. Furthermore, in the display area 411 and the display area 412, highlighting of different portions in the program component POU is performed.
  • the programmer can visually observe the program component POU being debugged and the program component POU of the selected auxiliary information side by side.
  • the programmer can easily recognize the difference between the program component POU being debugged and the program component POU of the selected auxiliary information, and can facilitate debugging.
  • highlighting of the different portions enables the programmer to more clearly and easily recognize the difference between the program component POU being debugged and the program component POU of the selected auxiliary information, thereby enabling debugging. You can do it easily.
  • FIG. 8 is a flowchart showing another example of processing at the time of debugging.
  • the editing unit 11 of the control program development support device 10 receives the start of debugging of the control program (S31).
  • the debugging is performed by activation of the simulator or connection to the controller 21 (on-line state).
  • the editing unit 11 receives observation of the designated variable via the operation input unit 13 (S32). Specifically, the editing unit 11 sets a watch window and observes a variable registered in the watch window.
  • the editing unit 11 designates a single (identical) variable multiple times (S33: YES)
  • the debugging auxiliary information such as the editing history of the program component POU related to the variable is sent from the server 40 Extract (S34).
  • the editing unit 11 extracts the editing history of the program component POU using the data to be edited shown in FIG. 3 as a keyword.
  • the editing unit 11 generates a list image of the editing history of the extracted program component POU, and outputs the list image to the display unit 14. Alternatively, the editing unit 11 generates a list image of the history of the corresponding function in the editing history of the program component POU.
  • the display unit 14 displays these list images (S35).
  • FIG. 9 is a view showing an example of a display screen at the time of debugging.
  • the display screen 140 has an index 141, a watch window setting field 144, a list 143 of auxiliary information, and a list 145 of auxiliary information on variables.
  • the index 141 indicates that the watch window is activated.
  • the designated variable is displayed in the watch window setting field 144.
  • the list 143 of the auxiliary information a list image of the editing history extracted as described above is displayed.
  • the list of auxiliary information 143 includes an edit date Date, an edited program component POU, an editor User, and the like.
  • the list 145 of auxiliary information on variables includes an edit date Date, a control element for which the variable is to be set (an axis in the example of FIG. 9), an editor User, and the like.
  • the respective auxiliary information may be displayed in time series. This makes it possible to easily recognize the recent editing history.
  • a programmer can easily confirm auxiliary information suitable for debugging a variable to be debugged. This reduces the burden on the programmer's debugging.
  • FIG. 10 is a flowchart showing an example of display processing of error information or comparison screen.
  • the editing unit 11 receives the selection of one item of the list 145 of the auxiliary information on the variable as shown in FIG. 9 via the operation input unit 13 (S41).
  • the editing unit 11 If there is error information for the selection item (S42: YES), the editing unit 11 generates error information, and the display unit 14 displays this error information (S43). If there is no error information for the selection item (S42: NO), the editing unit 11 generates a comparison image, and the display unit 14 displays this comparison image.
  • FIG. 11A is a diagram showing an example of the comparison screen. As shown in FIG. 11A, on the comparison screen 413, the value of the variable to be debugged and the value of the variable of the selected auxiliary information are displayed side by side.
  • the programmer can easily recognize the difference between the variable being debugged and the variable of the selected auxiliary information, and can facilitate the debugging.
  • FIG. 11B is a diagram showing an example of a list of error information. As shown in FIG. 11B, in the error information list 414, error information related to a variable being debugged is displayed as a list.
  • Control system 10 Control program development support device 11: Editing unit 12: Storage unit 13: Operation input unit 14: Display unit 15: Communication control unit 21: Controller 30: Control network 40: Server 50: Information communication network 140: Display screen 141: Index 142: Debug screen 143: List of auxiliary information 144: Watch window setting column 145: List of auxiliary information on variables 211, 221, 223: slave device 411: display area 412: display area 413: comparison screen 414 : List

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

制御プログラム開発支援装置(10)は、編集部(11)と表示部(14)とを備える。編集部(11)は、制御プログラムの編集と制御プログラムのデバッグとを実行する。表示部(14)は、編集の内容およびデバッグの内容を表示する。さらに、編集部(11)は、デバッグ時に、制御プログラムに含まれるデバッグ対象のプログラム構成要素または変数に対して複数回同じ処理が指定されると、デバッグ対象のプログラム構成要素または変数に関連する過去の編集内容、制御プログラムの変更内容、もしくは、関連するエラー情報の少なくとも1つを含むデバッグ補助情報を表示部(14)に表示させる。

Description

制御プログラム開発支援装置、制御プログラム開発支援システム、制御プログラム開発支援方法、および、制御プログラム開発支援プログラム
 この発明は、制御プログラムの開発支援の技術に関する。
 現在、FA(ファクトリー オートメーション)システムが多く実用化されている。FAシステムは、コントローラと複数のスレーブ装置と備える。コントローラには制御プログラムが提供されており、当該制御プログラムによって、コントローラの動作、処理、および、スレーブ装置の動作、処理が設定される。
 このような制御プログラムの作成装置としては、特許文献1に示すような構成のものがある。
 特許文献1に記載の装置を含む制御プログラム作成装置には、通常、デバッグ機能が備えられている。
特開2016-200872号公報
 しかしながら、制御プログラムが大規模になると、デバッグの対象となるPOU(Program Organization Unit)や変数の個数も増加する。この場合、エラーの原因箇所の特定、POUと変数の依存関係が複雑になり、デバッグに係る時間が長くなってしまう。特に、複雑な原因のエラーの場合、制御プログラムに精通したプログラマしかデバッグを行うことが難しくなってしまう。
 したがって、本発明の目的は、エラーの原因等をより容易に特定でき、デバッグに係る時間を短縮可能にすることである。
 この制御プログラム開発支援装置は、編集部と表示部とを備える。編集部は、制御プログラムの編集と制御プログラムのデバッグとを実行する。表示部は、編集の内容およびデバッグの内容を表示する。さらに、編集部は、デバッグ時に、制御プログラムに含まれるデバッグ対象のプログラム構成要素または変数に対して複数回同じ処理が指定されると、デバッグ対象のプログラム構成要素または変数に関連する過去の編集内容、制御プログラムの変更内容、もしくは、関連するエラー情報の少なくとも1つを含むデバッグ補助情報を表示部に表示させる。
 この構成では、複数回、同じデバッグ処理が実行されると、デバッグ時に参考となるデバッグ補助情報がデバッグ画面に同時に表示される。
 また、この制御プログラム開発支援装置では、編集部は、プログラム構成要素に対する処理として、当該プログラム構成要素を複数回連続して編集し、コントローラに送信すると、プログラム構成要素に関連するデバッグ補助情報を表示部に表示させてもよい。
 また、この制御プログラム開発支援装置では、編集部は、変数に対する処理として、指定した変数の観測の受け付けを設定し、複数回行った観測の受け付けに同じ変数が設定されていると、該変数に関連するデバッグ補助情報を表示部に表示させてもよい。
 これらは、デバッグ補助情報の表示処理のトリガとなる処理例を示している。これらの通常のデバッグで実行される処理に基づいて、デバッグ補助情報が表示されるので、デバッグ補助情報を表示するために別途操作を行わなくてもよい。
 また、この制御プログラム開発支援装置では、編集部は、デバッグ対象のプログラム構成要素とデバッグ補助情報に含まれるデバッグ対象のプログラム構成要素に関する箇所との比較画像を、表示部に表示させてもよい。
 このように構成すると、デバッグ対象のプログラム構成要素と、比較対象のプログラム構成要素との比較が容易になる。
 また、この制御プログラム開発支援装置では、編集部は、デバッグ対象の変数のパラメータとデバッグ補助情報に含まれる変数のパラメータとの比較画像を、表示部に表示させてもよい。
 このように表示した場合、デバッグ対象の変数のパラメータと、比較対象の変数のパラメータとの比較が容易になる。
 また、この制御プログラム開発支援システムでは、上述のいずれかに記載の制御プログラム開発支援装置の各構成と、制御プログラム開発支援装置に接続されたサーバと、を備える。サーバは、デバッグ補助情報を記憶している。編集部は、サーバから過去の編集内容を取得する。
 この構成では、サーバに過去の編集内容が記憶されることで、記憶量を向上できる。したがって、制御プログラム開発支援装置としては、デバッグの補助となる情報を多く表示できる。
 この発明によれば、エラーの原因等をより容易に特定でき、デバッグに係る時間を短縮できる。
本発明の実施形態に係る制御プログラム開発支援装置の機能ブロック図である。 本発明の実施形態に係る制御プログラム開発支援システムを含む制御システムの概略構成図である。 サーバに収集されるデバッグの補助情報の一例を示す表である。 デバッグ時の処理の一例を示すフローチャートである。 デバッグ時の表示画面の一例を示す図である。 比較画面の表示処理の一例を示すフローチャートである。 比較画面の一例を示す図である。 デバッグ時の処理の他の一例を示すフローチャートである。 デバッグ時の表示画面の一例を示す図である。 エラー情報または比較画面の表示処理の一例を示すフローチャートである。 (A)は、比較画面の一例を示す図であり、(B)は、エラー情報の一覧の一例を示す図である。
 以下、本発明の実施形態を、図を参照して説明する。
・適応例
 まず、図1を用いて、本発明が適用される一例について説明する。図1は、本発明の実施形態に係る制御プログラム開発支援装置の機能ブロック図である。
 図1に示すように、制御プログラム開発支援装置10は、編集部11、および、表示部14を少なくとも備える。
 編集部11は、制御プログラムの編集、および、デバッグを実行する。編集部11は、制御プログラムの編集画面およびデバッグ画面を、表示部14に出力する。表示部14は、制御プログラムの編集画面およびデバッグ画面を表示する。
 このような構成において、編集部11は、デバッグ時に、制御プログラムに含まれるデバッグ対象のプログラム構成要素または変数に対して複数回同じ処理が指定されると、この処理を検出する。編集部11は、この処理の検出をトリガとして、デバッグ補助情報を抽出する。デバッグ補助情報とは、デバッグ対象のプログラム構成要素または変数に関連する過去の編集内容、制御プログラムの変更内容、もしくは、関連するエラー情報の少なくとも1つを含む情報である。編集部11は、抽出したデバッグ補助情報を、表示部14に出力する。表示部14は、抽出されたデバッグ補助情報を、デバッグ画面に重ねて表示する。このような構成および処理によって、プログラマは、デバッグ箇所に関連する、デバッグの補助となり得る情報を画面上に見ながら、デバッグを行うことができる。
・構成例
 次に、本発明の実施形態に係る制御プログラム開発支援技術について、図を参照して説明する。上述のように、図1は、本発明の実施形態に係る制御プログラム開発支援装置の機能ブロック図である。図2は、本発明の実施形態に係る制御プログラム開発支援システムを含む制御システムの概略構成図である。
 図1に示すように、制御プログラム開発支援装置10は、編集部11、記憶部12、操作入力部13、表示部14、および、通信制御部15を備える。編集部11は、記憶部12、操作入力部13、表示部14、および、通信制御部15にそれぞれ接続されている。
 制御プログラム開発支援装置10は、例えば、パーソナルコンピュータ等の演算処理装置によって実現される。
 具体的には、編集部11は、CPU等の演算処理素子と当該演算処理素子で実行させるプログラム等によって実現される。編集部11は、制御プログラムの編集、デバッグ等の制御プログラムの開発に係わる各種の処理を実行する。
 記憶部12は、演算処理素子による各種の処理時に利用される記憶領域であり、所定の記憶媒体によって実現される。なお、記憶部12を大容量化して、後述の過去の編集内容を記憶することも可能である。
 操作入力部13は、例えば、キーボードやマウスによって実現される。操作入力部13は、プログラマ等の操作者からの操作入力を受け付けて、編集部11に与える。
 表示部14は、例えば、液晶ディスプレイ等によって実現される。表示部14は、編集部11から入力された制御プログラムの編集画面、デバッグ画面、さらには、後述の過去の編集内容等のデバッグの補助となる情報(デバッグ補助情報)を表示する。
 通信制御部15は、制御プログラム開発支援装置10を外部のネットワークに接続するインターフェースである。
 このような制御プログラム開発支援装置10は、図2に示すような制御システムに適用される。
 図2に示すように、制御システム1は、制御プログラム開発支援装置10、コントローラ21、スレーブ装置221、222、223、サーバ40を備える。コントローラ21は、制御ネットワーク30を介して、スレーブ装置221、222、223に接続されている。制御ネットワーク30は、例えば、Ethernet(登録商標)やEtherCAT(登録商標)に準じて設定されている。
 制御プログラム開発支援装置10、コントローラ21、および、サーバ40は、情報通信ネットワーク50を介して接続されている。情報通信ネットワーク50は、例えば、Ethernet(登録商標)に準じて設定されている。
 コントローラ21は、制御プログラム開発支援装置10から制御プログラムを受信して記憶する。コントローラ21は、当該制御プログラムに基づいて、自装置の処理、スレーブ装置211、222、223の動作および処理を制御する。
 サーバ40は、デバッグの補助情報を、情報通信ネットワーク50を介して、制御プログラム開発支援装置10およびコントローラ21から収集する。デバッグの補助情報とは、例えば、制御プログラム開発支援装置10で過去に実行された制御プログラムの編集内容、コントローラ21およびスレーブ装置211、222、223のエラー情報である。サーバ40は、デバッグの補助情報を、制御プログラム開発支援装置10およびコントローラ21からそれぞれに直接収集してもよく、制御プログラム開発支援装置10を介して収集してもよい。
 図3は、サーバに収集されるデバッグの補助情報の一例を示す表である。デバッグの補助情報は、例えば、操作内容、データの収集元、収集対象のデータのように項目分けされ、それぞれが関連付けされている。
 操作内容は、収集のトリガとなる処理であり、ダウンロード、オンラインエディット転送、オフライン編集履歴、指定変数の観測、コントローラへの変数の書き込み、ブレークポイントの設定、ブックマークの設定、スレーブの電断検出、軽度のフォルトの検出、メモリのオールクリア等がある。
 データの収集元は、操作内容が実行された対象装置を示すものであり、例えば、開発プログラム(制御プログラム開発支援装置10)、コントローラ等がある。
 収集対象のデータとは、デバッグの補助情報のリファレンスとなる情報、および、デバッグの補助となる情報そのものであり、プログラム構成要素POU、回路、変数のパラメータ、POUの行番号、回路の行番号、スレーブのノード番号、エラーに関する情報等である。
 なお、これらの情報は、制御プログラム開発支援装置10に記憶してもよい。しかしながら、これらの情報をサーバ40に記憶することによって、情報の記憶容量を大きく確保できる。これにより、デバッグの補助情報の情報量を多く保持でき、適する補助情報の提供がより確実且つ容易になる。
・デバッグ時の具体的な処理の一例(1)
 図4は、デバッグ時の処理の一例を示すフローチャートである。
 制御プログラム開発支援装置10の編集部11は、制御プログラムのデバッグの開始を受け付ける(S11)。デバッグは、シミュレータの起動、または、コントローラ21への接続状態(オンライン状態)によって実行される。
 デバッグのエラーの発生時において、編集部11は、操作入力部13を介して、プログラム構成要素POUの編集、転送を受け付ける(S12)。
 編集部11は、当該編集、転送の操作が、1つ(同一)のプログラム構成要素POUに対して、複数回(例えば、2回)行われていなければ(S13:NO)、デバッグを継続する。
 編集部11は、当該編集、転送の操作が、1つ(同一)のプログラム構成要素POUに対して、複数回行われていると(S13:YES)、当該デバッグの箇所のプログラム構成要素POUに関連するプログラム構成要素POUの編集履歴(過去の編集内容)等のデバッグ補助情報を、サーバ40から抽出する(S14)。この際、編集部11は、上述の図3に示した編集対象のデータをキーワードとして、プログラム構成要素POUの編集履歴を抽出する。
 編集部11は、抽出したプログラム構成要素POUの編集履歴の一覧画像を生成し、表示部14に出力する。表示部14は、この一覧画像を表示する(S15)。
 図5は、デバッグ時の表示画面の一例を示す図である。図5に示すように、表示画面140は、インデックス141、デバッグ画面142、補助情報の一覧143を有する。インデックス141には、デバッグ中のプログラムが表示されている。デバッグ画面142には、デバッグの進行状態、デバッグ中のプログラムのプログラム構成要素POU等が表示されている。
 補助情報の一覧143には、上述のように抽出された編集履歴の一覧画像が表示されている。補助情報の一覧143には、編集日時Date、編集されたプログラム構成要素POU、編集者User等が含まれている。この際、複数の補助情報は、時系列に表示されているとよい。これにより、最近の編集履歴を容易に認識できる。なお、複数の補助情報の並びはこれに限らず、例えば、キーワードの一致度等に基づいて並べることも可能である。キーワードの一致度を用いた場合には、今回のデバッグに対してより適する編集履歴を容易に認識できる。
 このような構成および処理を用いることによって、プログラマは、デバッグ対象のプログラム構成要素POUのデバッグに適する補助情報を容易に確認できる。これにより、プログラマのデバッグに対する負荷を軽減できる。
 さらに、制御プログラム開発支援装置10は、次の処理を行う。図6は、比較画面の表示処理の一例を示すフローチャートである。
 編集部11は、操作入力部13を介して、図5に示したような補助情報の一覧143の1項目の選択を受け付ける(S21)。
 編集部11は、デバッグ中のプログラム構成要素POUと、選択した補助情報のプログラム構成要素POUとの比較画像を生成し、表示部14は、この比較画像を表示する(S22)。図7は、比較画面の一例を示す図である。図7に示すように、表示画面140は、横方向に分割されており、デバッグ中のプログラム構成要素POUの表示領域411と選択した補助情報のプログラム構成要素POUの表示領域412とが並んで配置される。さらに、表示領域411と表示領域412とでは、プログラム構成要素POUにおける異なる箇所の強調表示が行われる。
 これにより、プログラマは、デバッグ中のプログラム構成要素POUと、選択した補助情報のプログラム構成要素POUとを、並べて視認できる。これにより、プログラマは、デバッグ中のプログラム構成要素POUと、選択した補助情報のプログラム構成要素POUとの差異を容易に認識でき、デバックを容易にできる。さらに、異なる箇所が強調表示されていることによって、プログラマは、デバッグ中のプログラム構成要素POUと、選択した補助情報のプログラム構成要素POUとの差異を、さらに明確に且つ容易に認識でき、デバックを容易にできる。
 ・デバッグ時の具体的な処理の一例(2)
 図8は、デバッグ時の処理の他の一例を示すフローチャートである。
 制御プログラム開発支援装置10の編集部11は、制御プログラムのデバッグの開始を受け付ける(S31)。デバッグは、シミュレータの起動、または、コントローラ21への接続状態(オンライン状態)によって実行される。
 編集部11は、操作入力部13を介して、指定変数の観測を受け付ける(S32)。具体的には、編集部11は、ウォッチウィンドウを設定して、当該ウォッチウィンドウに登録された変数を観測する。
 編集部11は、1つ(同一)の変数に対して、複数回(例えば、2回)指定を行っていなければ(S33:NO)、デバッグを継続する。
 編集部11は、1つ(同一)の変数に対して、複数回指定を行うと(S33:YES)、当該変数に関連するプログラム構成要素POUの編集履歴等のデバッグ補助情報を、サーバ40から抽出する(S34)。この際、編集部11は、上述の図3に示した編集対象のデータをキーワードとして、プログラム構成要素POUの編集履歴を抽出する。
 編集部11は、抽出したプログラム構成要素POUの編集履歴の一覧画像を生成し、表示部14に出力する。または、編集部11は、プログラム構成要素POUの編集履歴における該当する関数の履歴の一覧画像を生成する。表示部14は、これらの一覧画像を表示する(S35)。
 図9は、デバッグ時の表示画面の一例を示す図である。図9に示すように、表示画面140は、インデックス141、ウォッチウィンドウ設定欄144、補助情報の一覧143、変数に関する補助情報の一覧145を有する。インデックス141には、ウォッチウィンドウが起動していることが表示されている。ウォッチウィンドウ設定欄144には、指定した変数が表示されている。
 補助情報の一覧143には、上述のように抽出された編集履歴の一覧画像が表示されている。補助情報の一覧143には、編集日時Date、編集されたプログラム構成要素POU、編集者User等が含まれている。
 変数に関する補助情報の一覧145には、編集日時Date、変数の設定対象の制御要素(図9の例では軸)、編集者User等が含まれている。
 この際、それぞれの補助情報は、時系列に表示されているとよい。これにより、最近の編集履歴を容易に認識できる。
 このような構成および処理を用いることによって、プログラマは、デバッグ対象の変数のデバッグに適する補助情報を容易に確認できる。これにより、プログラマのデバッグに対する負荷を軽減できる。
 さらに、制御プログラム開発支援装置10は、次の処理を行う。図10は、エラー情報または比較画面の表示処理の一例を示すフローチャートである。
 編集部11は、操作入力部13を介して、図9に示したような変数に関する補助情報の一覧145の1項目の選択を受け付ける(S41)。
 編集部11は、選択項目に対してエラー情報があれば(S42:YES)、エラー情報を生成して、表示部14は、このエラー情報を表示する(S43)。編集部11は、選択項目に対してエラー情報がなければ(S42:NO)、比較画像を生成し、表示部14は、この比較画像を表示する。
 図11(A)は、比較画面の一例を示す図である。図11(A)に示すように、比較画面413には、デバッグ対象の変数の値と、選択した補助情報の変数の値とが並んで表示されている。
 これにより、プログラマは、デバッグ中の変数と、選択した補助情報の変数との差異を容易に認識でき、デバックを容易にできる。
 図11(B)は、エラー情報の一覧の一例を示す図である。図11(B)に示すように、エラー情報の一覧414には、デバッグ中の変数に関連するエラー情報が一覧表示されている。
 これにより、プログラマは、デバッグ中の変数に関連するエラーを容易に認識でき、デバックを容易にできる。
 なお、上述の各実施形態の処理は、適宜組み合わせることが可能であり、組み合わせることによって、組合せに応じた作用効果を得られる。これにより、プログラマは、デバッグをより容易にできる。
1:制御システム
10:制御プログラム開発支援装置
11:編集部
12:記憶部
13:操作入力部
14:表示部
15:通信制御部
21:コントローラ
30:制御ネットワーク
40:サーバ
50:情報通信ネットワーク
140:表示画面
141:インデックス
142:デバッグ画面
143:補助情報の一覧
144:ウォッチウィンドウ設定欄
145:変数に関する補助情報の一覧
211、221、223:スレーブ装置
411:表示領域
412:表示領域
413:比較画面
414:一覧

Claims (8)

  1.  制御プログラムの編集と前記制御プログラムのデバッグとを実行する編集部と、
     前記編集の内容および前記デバッグの内容を表示する表示部と、
     を備え、
     前記編集部は、
     前記デバッグ時に、前記制御プログラムに含まれるデバッグ対象のプログラム構成要素または変数に対して複数回同じ処理が指定されると、前記デバッグ対象のプログラム構成要素または変数に関連する過去の編集内容、前記制御プログラムの変更内容、もしくは、関連するエラー情報の少なくとも1つを含むデバッグ補助情報を前記表示部に表示させる、
     制御プログラム開発支援装置。
  2.  前記編集部は、
     前記プログラム構成要素に対する処理として、当該プログラム構成要素を複数回連続して編集し、コントローラに送信すると、
     前記プログラム構成要素に関連する前記デバッグ補助情報を前記表示部に表示させる、
     請求項1に記載の制御プログラム開発支援装置。
  3.  前記編集部は、
     前記変数に対する処理として、指定した変数の観測の受け付けを設定し、
     複数回行った観測の受け付けに同じ変数が設定されていると、該変数に関連する前記デバッグ補助情報を前記表示部に表示させる、
     請求項1に記載の制御プログラム開発支援装置。
  4.  前記編集部は、
     前記デバッグ対象のプログラム構成要素と前記デバッグ補助情報に含まれる前記デバッグ対象のプログラム構成要素に関する箇所との比較画像を、前記表示部に表示させる、
     請求項1または請求項2に記載の制御プログラム開発支援装置。
  5.  前記編集部は、
     前記デバッグ対象の変数のパラメータと前記デバッグ補助情報に含まれる前記変数のパラメータとの比較画像を、前記表示部に表示させる、
     請求項3に記載の制御プログラム開発支援装置。
  6.  請求項1乃至請求項5のいずれかに記載の制御プログラム開発支援装置の各構成と、
     前記制御プログラム開発支援装置に接続されたサーバと、
     を備え、
     前記サーバは、前記デバッグ補助情報を記憶しており、
     前記編集部は、前記サーバから前記過去の編集内容を取得する、
     制御プログラム開発支援システム。
  7.  制御プログラムの編集と前記制御プログラムのデバッグとを実行する編集処理と、
     前記編集の内容および前記デバッグの内容を表示する表示処理と、
     を有し、
     前記編集処理においては、前記デバッグ時に、前記制御プログラムに含まれるデバッグ対象のプログラム構成要素または変数に対して、複数回同じ処理が指定されると、前記デバッグ対象のプログラム構成要素または変数に関連する過去の編集内容、前記制御プログラムの変更内容、もしくは、関連するエラー情報の少なくとも1つを含むデバッグ補助情報を抽出し、
     前記表示処理において、前記デバッグ補助情報を表示する、
     制御プログラム開発支援方法。
  8.  制御プログラムの編集と前記制御プログラムのデバッグとを実行する編集処理と、
     前記編集の内容および前記デバッグの内容を表示する表示処理と、
     を含み、
     前記編集処理においては、前記デバッグ時に、前記制御プログラムに含まれるデバッグ対象のプログラム構成要素または変数に対して、複数回同じ処理が指定されると、前記デバッグ対象のプログラム構成要素または変数に関連する過去の編集内容、前記制御プログラムの変更内容、もしくは、関連するエラー情報の少なくとも1つを含むデバッグ補助情報を抽出し、
     前記表示処理において、前記デバッグ補助情報を表示する、
     処理を演算装置に実行させる、制御プログラム開発支援プログラム。
PCT/JP2018/040052 2017-11-10 2018-10-29 制御プログラム開発支援装置、制御プログラム開発支援システム、制御プログラム開発支援方法、および、制御プログラム開発支援プログラム WO2019093170A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201880053234.9A CN111033475B (zh) 2017-11-10 2018-10-29 控制程序开发支持装置、***、方法以及计算机可读存储介质
EP18877182.8A EP3709172A4 (en) 2017-11-10 2018-10-29 DEVICE TO SUPPORT THE DEVELOPMENT OF A CONTROL PROGRAM, SYSTEM TO SUPPORT THE DEVELOPMENT OF A CONTROL PROGRAM, METHOD TO SUPPORT THE DEVELOPMENT OF A CONTROL PROGRAM AND PROGRAM DEVELOPMENT OF THE CONTROL PROGRAM
US16/639,126 US11151016B2 (en) 2017-11-10 2018-10-29 Control-program-development supporting apparatus, control-program-development supporting system, control-program-development supporting method, and non-transitory computer-readable storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-216937 2017-11-10
JP2017216937A JP6946953B2 (ja) 2017-11-10 2017-11-10 制御プログラム開発支援装置、制御プログラム開発支援システム、制御プログラム開発支援方法、および、制御プログラム開発支援プログラム

Publications (1)

Publication Number Publication Date
WO2019093170A1 true WO2019093170A1 (ja) 2019-05-16

Family

ID=66438334

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/040052 WO2019093170A1 (ja) 2017-11-10 2018-10-29 制御プログラム開発支援装置、制御プログラム開発支援システム、制御プログラム開発支援方法、および、制御プログラム開発支援プログラム

Country Status (5)

Country Link
US (1) US11151016B2 (ja)
EP (1) EP3709172A4 (ja)
JP (1) JP6946953B2 (ja)
CN (1) CN111033475B (ja)
WO (1) WO2019093170A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023119519A1 (ja) * 2021-12-22 2023-06-29 三菱電機株式会社 Fa制御テスト支援プログラム、fa制御テスト支援装置、fa制御テスト支援方法及びfa制御テスト支援システム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04370805A (ja) * 1991-06-20 1992-12-24 Hitachi Ltd プログラマブルコントローラ、並びにプログラム編集表示方法およびプログラム編集表示装置
JPH05204629A (ja) * 1992-01-30 1993-08-13 Matsushita Electric Ind Co Ltd プログラム編集装置
JP2005316986A (ja) * 2004-03-31 2005-11-10 Omron Corp 開発支援装置およびアウトライン情報生成プログラムならびにアウトライン情報生成方法
JP2006330867A (ja) * 2005-05-24 2006-12-07 Keyence Corp プログラム変更履歴管理システム及びこれに適用されるプログラム編集装置並びにプログラム
JP2016200872A (ja) 2015-04-07 2016-12-01 株式会社東芝 制御プログラム作成装置、及び制御プログラムのデバッグ方法
JP2017182661A (ja) * 2016-03-31 2017-10-05 ダイキン工業株式会社 プログラム作成支援システム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06250876A (ja) * 1993-02-26 1994-09-09 Nec Software Ltd 対話型デバック支援システム
JP3770660B2 (ja) 1996-08-16 2006-04-26 富士通株式会社 マルチタスクオペレーティングシステムのキュー表示方法およびデバッグ装置
US8739133B2 (en) * 2007-12-21 2014-05-27 International Business Machines Corporation Multi-threaded debugger support
DE112012006107B4 (de) * 2012-03-26 2015-12-03 Mitsubishi Electric Corp. Sequenzprogramm-Fehlerbehebungs-Hilfsvorrichtung
JP6250876B2 (ja) * 2012-12-20 2017-12-20 富士機械製造株式会社 スプライシング誤作業検出装置
KR101889631B1 (ko) * 2013-11-20 2018-08-17 미쓰비시덴키 가부시키가이샤 시퀀스 프로그램 작성 지원 장치
KR101627488B1 (ko) * 2014-05-08 2016-06-03 미쓰비시덴키 가부시키가이샤 엔지니어링 툴, 프로그램 편집 장치 및 프로그램 편집 시스템
US10261885B2 (en) * 2016-11-02 2019-04-16 Servicenow, Inc. Debug event handling

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04370805A (ja) * 1991-06-20 1992-12-24 Hitachi Ltd プログラマブルコントローラ、並びにプログラム編集表示方法およびプログラム編集表示装置
JPH05204629A (ja) * 1992-01-30 1993-08-13 Matsushita Electric Ind Co Ltd プログラム編集装置
JP2005316986A (ja) * 2004-03-31 2005-11-10 Omron Corp 開発支援装置およびアウトライン情報生成プログラムならびにアウトライン情報生成方法
JP2006330867A (ja) * 2005-05-24 2006-12-07 Keyence Corp プログラム変更履歴管理システム及びこれに適用されるプログラム編集装置並びにプログラム
JP2016200872A (ja) 2015-04-07 2016-12-01 株式会社東芝 制御プログラム作成装置、及び制御プログラムのデバッグ方法
JP2017182661A (ja) * 2016-03-31 2017-10-05 ダイキン工業株式会社 プログラム作成支援システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3709172A4

Also Published As

Publication number Publication date
EP3709172A4 (en) 2021-09-01
US20200233778A1 (en) 2020-07-23
CN111033475B (zh) 2023-08-11
EP3709172A1 (en) 2020-09-16
JP6946953B2 (ja) 2021-10-13
US11151016B2 (en) 2021-10-19
CN111033475A (zh) 2020-04-17
JP2019087174A (ja) 2019-06-06

Similar Documents

Publication Publication Date Title
JP2015176370A (ja) 制御システム、方法、プログラムおよび情報処理装置
KR101860252B1 (ko) 작화 장치 및 제어 시스템
US10139805B2 (en) Ladder diagram monitoring device capable of additionally displaying operation situation of CNC in comment
WO2020054422A1 (ja) 端末装置、作業機械システム、情報処理方法、およびサーバ装置
JP2016012172A (ja) 通信システム、プログラマブル表示器、情報処理装置、動作制御方法、情報処理方法、およびプログラム
JP2017142767A (ja) コントローラシステム、変数連携支援装置
JP2008097424A (ja) エンジニアリングツール
JP2017528781A (ja) 情報検索システム及び方法
US20120072777A1 (en) Debugging device, debugging method, and computer program for sequence program
EP3321752B1 (en) Controller, control method for controller, and information processing program
US9811071B2 (en) System construction support apparatus
WO2019093170A1 (ja) 制御プログラム開発支援装置、制御プログラム開発支援システム、制御プログラム開発支援方法、および、制御プログラム開発支援プログラム
JP6813077B1 (ja) 生産システム、復旧システム、生産方法、及びプログラム
US20230195076A1 (en) Storage medium to store data display control program, data display control method, and data display controller
JP6746003B2 (ja) 管理装置、管理方法及びプログラム
KR20180096796A (ko) 프로그래머블 표시기
JP2017107467A (ja) エンジニアリングツール
JP6247542B2 (ja) 監視ポイント定義変更方法およびエンジニアリング装置
JP4032874B2 (ja) プラントコントローラのプログラム監視装置
JP7020863B2 (ja) プラント監視システムの試験支援装置、その試験支援方法、及びその試験支援プログラム
US10935965B2 (en) Operation management apparatus
US20210181723A1 (en) Production system, production method, and information storage medium
CN116324765A (zh) 操作辅助***以及操作辅助方法
JPWO2016139805A1 (ja) プログラマブルロジックコントローラエンジニアリングツール及びプログラマブルロジックコントローラエンジニアリングツールプログラム
JP2005316778A (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: 18877182

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018877182

Country of ref document: EP

Effective date: 20200610