JP5754014B2 - プログラム作成方法 - Google Patents

プログラム作成方法 Download PDF

Info

Publication number
JP5754014B2
JP5754014B2 JP2013038717A JP2013038717A JP5754014B2 JP 5754014 B2 JP5754014 B2 JP 5754014B2 JP 2013038717 A JP2013038717 A JP 2013038717A JP 2013038717 A JP2013038717 A JP 2013038717A JP 5754014 B2 JP5754014 B2 JP 5754014B2
Authority
JP
Japan
Prior art keywords
concept
chart
program
control program
water temperature
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2013038717A
Other languages
English (en)
Other versions
JP2013152727A (ja
Inventor
弘芳 薮崎
弘芳 薮崎
石川 亨
石川  亨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Denno Co., Ltd.
Original Assignee
Nippon Denno Co., Ltd.
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 Nippon Denno Co., Ltd. filed Critical Nippon Denno Co., Ltd.
Priority to JP2013038717A priority Critical patent/JP5754014B2/ja
Publication of JP2013152727A publication Critical patent/JP2013152727A/ja
Application granted granted Critical
Publication of JP5754014B2 publication Critical patent/JP5754014B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、プログラム開発支援装置及びプログラム作成方法に関する。
現在、種々の産業分野において、搬送機械、工作機械、産業用ロボット等の種々の産業機械を同期させて制御するシステムの開発が進められている。このようなシステムを統合制御する制御装置の一つとして、従来は、プログラマブル・ロジック・コントローラ(Programmable Logic Controller:以下、「PLC」という。)が採用されている。
PLCによって制御される新たなシステムを開発する際には、(1)要求仕様を設定する、(2)各種機械相互の動作仕様に基づいてPLC制御用のプログラムを作成する、(3)システムを組み立てる、(4)組み立てられたシステムにプログラムを載せて試験を行う、という工程群を経るのが一般的である。
PLC制御用のプログラムとして、従来は、ラダー言語で作成されたラダープログラムが採用されている(例えば、特許文献1参照)。ラダー言語とは、多数のリレーとコイルを論理的に接続した形式の図式言語であり、PLCが直接実行できる言語の一種である。
特開平7−191717号公報
ところが、ラダープログラムは、電気回路についての専門的な知識を有する電気技術者によって作成されるため、システム開発に携わる他の技術者(仕様技術者、ハードウェア技術者、ソフトウェア技術者等)にとっては理解が困難なものであった。このため、ラダープログラムを採用すると、システム開発時における技術者間での意思疎通が困難となって連携試験時にしわ寄せが来る可能性が高くなる。また、ラダープログラム作成の際には、ソフトウェア作成の際に採用される種々の手法(機能の分担開発、再利用、構造化設計等)を利用することができないため、ラダープログラム自体の開発性能に限界があり、大規模で複雑なシステムを構築することが困難となっていた。
このような問題を解決するため、近年においては、ラダー言語に代わる他のプログラミング言語(例えばBASICやC言語等)で作成したPLC制御用のプログラムが採用されているが、かかる場合においても、採用したプログラミング言語に精通した専門の要員が必要となる。また、近年においては、例えばプログラマブルユニット等のようなPLCに代わる他の制御装置が提案されているが、このようなユニットを開発する際にも、ハードウェアに精通しかつ高級言語を理解することができる専門の開発要員が必要となる。
本発明は、かかる事情に鑑みてなされたものであり、システム開発に携わる要員の誰もが容易にかつ迅速に巨大で複雑なシステムを構築することができるようなシステム開発支援ツールを提供することを目的とする。
前記目的を達成するため、本発明に係るプログラム開発支援装置は、特定のシステムのコンセプトを表現するためのコンセプト部品とコンセプトを実現させるために機能の流れに従って構成されたリアライズ部品とを有するコンセプトチャートを作成するためのチャート作成手段と、チャート作成手段で作成したコンセプトチャートを制御プログラムに変換するチャート変換手段と、を備えるプログラム開発支援装置であって、チャート作成手段は、オペレータが操作可能な入力部と、コンセプトチャートの作成過程を表示するための表示部と、オペレータによる入力部の操作に基づいて、コンセプトチャートを構成するコンセプト部品及びリアライズ部品を含む複数の部品を表示部に表示するとともに、部品の各々に関する情報と部品同士の関係を規定する情報とを表示部に表示する部品情報表示手段と、を有するものである。
かかる構成を採用すると、特定のシステムのコンセプト自体及びそのコンセプトを実現させるための機能の流れを視覚的・直感的に理解可能なコンセプトチャートを用いて、そのシステムの制御プログラムを開発することができるので、専門性の異なった技術者同志が容易に意思疎通を図ることができる。従って、システムの開発が全体的にスムーズとなり、連携試験時にしわ寄せが来る可能性を低減させることができる。この結果、複雑で大規模なシステムの開発を、容易にかつ迅速に低コスト・高品質で実現させることが可能となる。
前記プログラム開発支援装置において、コンセプトを具体化した複数のサブコンセプトを階層的に表現するための複数のサブコンセプト部品を有するコンセプトチャートを採用することもできる。
かかる構成を採用すると、抽象的なコンセプトを具体的なサブコンセプトに分割し、サブコンセプトの各々を実現させるようなコンセプトチャートを作成することができる。すなわち、あるコンセプトを実現するための詳細なコンセプト(サブコンセプト)を階層的に洗い出すことができ、人間の思考を直接的に表現することができるため、誰もが容易に理解することが可能なコンセプトチャートを作成することができる。
また、前記プログラム開発支援装置において、制御プログラムをコンセプトチャートに逆変換する逆変換手段を備えることもできる。
かかる構成を採用すると、設計と実装とのずれを確認することができるので、メンテナンス性を向上させることができ、移植性能を高めることが可能となる。また、例えば、ソフトウェア技術者が制御プログラムを変更した場合に、その変更結果を他の技術者(仕様技術者やハードウェア技術者)がコンセプトチャートの形式で確認することができる。従って、システムの設計変更及びその確認がきわめて容易となる。
また、前記プログラム開発支援装置において、チャート作成手段で作成したコンセプトチャートを、FA制御言語で記述された第一の制御プログラムに変換する第一変換手段と、第一変換手段で得た第一の制御プログラムを、C言語で記述された第二の制御プログラムに変換する第二変換手段と、を有するチャート変換手段を採用することができる。ここで、FA制御言語とは、コンセプトチャートとC言語との中間に位置し日本語で理解可能な新規なプログラミング言語である。
かかる構成を採用すると、コンセプトチャートを、比較的理解し易いFA制御言語及びC言語に変換することができるので、従来PLC分野で用いられていた専門の要員にしか理解できないラダー言語等を用いる必要がない。従って、専門の開発要員が不要となるため、システムの設計・開発に要するコストを著しく低減させることが可能となる。
また、本発明に係るプログラム作成方法は、特定のシステムのコンセプトを表現するためのコンセプト部品とコンセプトを実現させるために機能の流れに従って構成されたリアライズ部品とを有するコンセプトチャートを用いて、システムの制御プログラムを作成するプログラム作成方法であって、オペレータによる所定の入力部の操作に基づいて、コンセプトチャートを構成するコンセプト部品及びリアライズ部品を含む複数の部品と、部品の各々に関する情報と、部品同士の関係を規定する情報と、を所定の表示部に表示してコンセプトチャートを作成するチャート作成工程と、チャート作成工程で作成したコンセプトチャートを制御プログラムに変換するチャート変換工程と、を備えるものである。
かかる方法を採用すると、特定のシステムのコンセプト自体及びそのコンセプトを実現させるための機能の流れを視覚的・直感的に理解可能なコンセプトチャートを用いて、そのシステムの制御プログラムを作成することができるので、専門性の異なった技術者同志が容易に意思疎通を図ることができる。従って、システムの開発が全体的にスムーズとなり、連携試験時にしわ寄せが来る可能性を低減させることができる。この結果、複雑で大規模なシステムの開発を、容易にかつ迅速に低コスト・高品質で実現させることが可能となる。
前記プログラム作成方法において、チャート変換工程で得た制御プログラムのシステム適用試験を実施する試験工程と、システム適用試験の結果に基づいて制御プログラムを修正すべきか否かを判定する修正判定工程と、を備え、修正判定工程において制御プログラムを修正すべきであると判定した場合に、再度チャート作成工程及びチャート変換工程を経ることにより制御プログラムを修正することもできる。
かかる方法を採用すると、作成した制御プログラムに不具合があった場合においても、コンセプトチャートを用いることにより容易にかつ迅速に制御プログラムを修正することが可能となる。
本発明によれば、システム開発に携わる要員の誰もが容易にかつ迅速に巨大で複雑なシステムの構築を実現させることができるようなシステム開発支援ツールを提供することが可能となる。
本発明の実施形態に係るプログラム開発支援装置の構成を説明するためのブロック図である。 図1に示したプログラム開発支援装置の表示部に表示されたコンセプトチャート作成画面を示す図である。 図2に示したコンセプトチャート作成画面にコンセプトチャートを構成する部品を貼り付けた状態を示す図である。 図3に示した部品に関する情報を表示した状態を示す図である。 図2に示したコンセプトチャート作成画面にコンセプトチャートを構成する複数の部品を貼り付けた状態を示す図である。 図5に示した部品同士の関係を規定する情報を表示した状態を示す図である。 本発明の実施形態で作成される制御プログラムが適用される水温制御システムの構成図である。 図7に示した水温制御システムのタスクを示す概念図である。 図7に示した水温制御システムに適用される制御プログラムを作成する方法を説明するためのフローチャートである。 図7に示した水温制御システムのコンセプトチャートを構成するコンセプト部品を示す概念図である。 図10に示したコンセプト部品を複数のサブコンセプト部品に分割した状態を示す概念図である。 図11に示した操作パネル制御に係るサブコンセプト部品を実現させるためのリアライズ部品を示す概念図である。 図11に示した水温監視に係るサブコンセプト部品を実現させるためのリアライズ部品を示す概念図である。 図11に示した水温制御に係るサブコンセプト部品を実現させるためのリアライズ部品を示す概念図である。 図14に示したヒータ制御に係るリアライズ部品を具体化したリアライズ部品を示す概念図である。
以下、図面を参照して、本発明の実施形態に係るプログラム開発支援装置について説明する。
まず、図1〜図6を用いて、本実施形態に係るプログラム開発支援装置1の構成について説明する。
プログラム開発支援装置1は、図1に示すように、各種情報処理を行う中央情報処理装置10と、中央情報処理装置10に接続された入力部20及び表示部30と、を備えている。本装置1は、コンセプトチャートを採用することにより、システム開発に携わる技術者によるプログラムの開発を支援するものである。なお、コンセプトチャートとは、特定のシステムのコンセプトを表現しかつそのコンセプトを実現させるためのチャート(図表)であり、コンセプト自体を表現するコンセプト部品と、コンセプトを構成する複数のサブコンセプトを表現する複数のサブコンセプト部品と、コンセプト及びサブコンセプトを実現させるためのリアライズ部品と、を含む複数の部品から構成されている。
入力部20は、マウスやキーボード等を含む各種ポインティングデバイスであり、オペレータが中央情報処理装置10に対して各種情報の入力を行う際に使用される。オペレータは、入力部20を用いて、コンセプトチャートを構成する部品(コンセプト部品やリアライズ部品)の選択入力を行うことができるとともに、これら部品に関する各種情報や部品同士の関係を規定する情報を入力することができる。表示部30は、図2に示すように、中央情報処理装置10から出力される画像信号を受けて、各種画像を表示するものである。表示部30には、図3〜図6に示すように、入力部20により選択入力されたコンセプトチャートを構成する部品が表示される。
中央情報処理装置10は、CPU、ROM、RAM、HDD、入出力インタフェース等を備えるコンピュータシステムであり、ROMに記録された各種制御プログラムをCPUが読み込んで所望の演算を実行することにより、種々の処理や制御を行う。具体的には、中央情報処理装置10は、入力部20からの入力信号を受けて、表示部30に表示すべき画像信号を表示部30に出力することにより、入力部20を介して選択入力されたコンセプトチャートを構成する部品を表示部30に表示する。また、中央情報処理装置10は、入力部20からの入力信号を受けて、表示された部品の各々に関する情報や、表示された部品同士の関係を規定する情報を表示する。すなわち、中央情報処理装置10は、本発明における部品情報表示手段として機能する。また、中央情報処理装置10、入力部20及び表示部30により、本発明におけるチャート作成手段が構成される。
また、中央情報処理装置10は、作成したコンセプトチャートを制御プログラムに変換する。具体的には、中央情報処理装置10は、作成したコンセプトチャートを、FA制御言語で記述された制御プログラム(第一の制御プログラム)に変換する。また、中央情報処理装置10は、FA制御言語で記述された制御プログラムを、C言語で記述された制御プログラム(第二の制御プログラム)に変換する。すなわち、中央情報処理装置10は、チャート変換手段(第一変換手段及び第二変換手段)として機能する。 また、中央情報処理装置10は、FA制御言語又はC言語で記述された制御プログラムをコンセプトチャートに逆変換することができる。すなわち、中央情報処理装置10は、逆変換手段としても機能する。
ここで、図2〜図6を用いて、本実施形態に係るプログラム開発支援装置1におけるコンセプトチャートの作成方法の一例について説明する。
まず、オペレータは、図2に示すような表示部30に表示されたツールバー31(コンセプトチャートを構成する部品に対応するボタン群)の中から、入力部20を用いて、貼り付けたい部品のボタンを選択する。例えば、オペレータが入力部20(マウス)を用いてツールバー31の中の「開始部品」ボタンをクリックすると、その入力信号を受けた中央情報処理装置10は、表示部30の下部に「部品選択モード:開始部品」という文字を表示する。このような「部品選択モード」の状態で、オペレータが入力部20(マウス)を用いて表示部30の中央部にあるチャート作成画面32をクリックすると、その入力信号を受けた中央情報処理装置10は、図3に示すように、表示部30のチャート作成画面32に開始部品Sを貼り付ける(表示する)。この時点で、「部品選択モード」は解除される。
次いで、オペレータが、表示部30のチャート作成画面32に貼り付けられた(表示された)開始部品Sをクリックすると、その入力信号を受けた中央情報処理装置10は、図4に示すように、チャート作成画面32の右側にあるプロパティ画面33に開始部品Sのプロパティリストを表示する。オペレータは、入力部20を用いて、このプロパティリストに、開始部品Sのプロパティを入力する。例えば、オペレータが入力部20(キーボード)を用いてプロパティリストの「Summary」の欄に「プログラム開始」と入力すると、その入力信号を受けた中央情報処理装置10は、図4に示すように、チャート作成画面32の開始部品Sの上方に「プログラム開始」と表示する。
オペレータは、上記と同様の手順で、図5に示すように、表示部30のチャート作成画面32に別の部品(例えばコンセプト部品C1)を貼り付けることができる。この後、オペレータは、入力部20(マウス)を用いて、開始部品Sとコンセプト部品C1とを線で結ぶ。具体的には、オペレータは、チャート作成画面32の開始部品Sの上にマウスポインタを配置した状態でマウスの左ボタンを押し、押したままマウスポインタをコンセプト部品C1へと移動させた後、左ボタンを離す。このような入力信号を受けた中央情報処理装置10は、図6に示すように、開始部品Sとコンセプト部品C1とを結ぶ線Lを表示する。以下、同様の手順で、コンセプトチャートを作成することができる。
次いで、図7〜図15を用いて、特定のシステムに適用される制御プログラムを作成する方法を説明する。本実施形態においては、タンク内の水温を一定に保つように水温を制御する水温制御システム100に適用される制御プログラムを作成する方法について説明する。
図7は、本実施形態で作成される制御プログラムが適用される水温制御システム100の構成図である。水温制御システム100は、水を貯留するタンク110と、タンク110内の水温を検出する水温センサ120と、タンク110内の水を加温するヒータ130と、タンク110内の水温の目標値(設定温度)を設定するための操作ボタン(UP/DOWNボタン)や設定温度を表示する表示部を有する操作パネル140と、タンク110内の水温を一定(操作パネル140での設定温度)に保つようにヒータ130をON/OFF制御するコントローラ150と、を備えている。
本実施形態では、水温制御システム100のコンセプトチャートを使用して、コントローラ150の動作を制御するための制御プログラムを作成することとする。一般的には、図8に示すようなタスク構成図を用いて、水温制御システム100の主要な構成におけるタスクを明確にするが、コンセプトチャートにおいては、後述するコンセプト部品を具現化(リアライズ)して作成されたモジュール部品にタスク属性をプロパティで設定するだけでタスクとして実行される。
ここで、「タスク」とは、水温制御システム100のコンセプト(目的・機能)を実現させるために、水温制御システム100の主要な構成が達成すべきサブコンセプトである。操作パネル140におけるタスクは、操作ボタンを押下操作することによりタンク110内の水温の目標値(設定温度)を設定すること(操作パネル制御タスクT1)である。コントローラ150は、所定時間毎に操作ボタンの状態をチェックして設定温度を更新し、設定温度に変化があった場合には、その変化を水温制御タスクT3に反映させる。水温センサ120におけるタスクは、所定時間毎にタンク110内の水温を検出すること(水温監視タスクT2)である。コントローラ150は、水温センサ120を介して所定時間毎にタンク110内の水温を検出し、水温に変化があった場合には、その変化を水温制御タスクT3に反映させる。コントローラ150におけるタスクは、操作パネル140による設定温度の変化と、水温センサ120で検出されたタンク110内の水温の変化と、に基づいて、ヒータ130を制御すること(水温制御タスクT3)である。
まず、図9及び図10に示すように、オペレータは、水温制御システム100のコンセプトを示すコンセプト部品C1を、プログラム開発支援装置1の表示部30に表示して定義する(コンセプト定義工程:S1)。コンセプト定義工程S1においては、オペレータが、入力部20を用いて、コンセプトチャートを構成する部品群の中からコンセプト部品C1を選択して入力操作を行う。かかる入力操作を受けた中央情報処理装置10は、表示部30にコンセプト部品C1を表示する。また、オペレータは、入力部20を用いて、表示したコンセプト部品C1に関する情報(内容や属性)を入力する。かかる入力操作を受けた中央情報処理装置10は、表示部30にコンセプト部品C1に関する情報を表示する。例えば、水温制御システム100のコンセプトは「タンク内の水温を一定に制御する」ことであるので、その旨が入力されて表示される。なお、コンセプト定義工程S1においては、コンセプトチャートの開始部品S及び終了部品Eも併せて表示(定義)する。
次いで、オペレータは、図11に示すように、コンセプト定義工程S1で表示したコンセプト部品C1を、複数のサブコンセプト部品C2〜C4に分割する(コンセプト分割工程:S2)。コンセプト分割工程S2においては、オペレータが、入力部20を用いて、コンセプト部品C1を構成するサブコンセプト部品C2〜C4を選択して入力操作を行う。入力操作を受けた中央情報処理装置10は、表示部30にサブコンセプト部品C2〜C4を表示する。また、オペレータは、入力部20を用いて、表示したサブコンセプト部品C2〜C4に関する情報を入力するとともに、表示したサブコンセプト部品同士の関係を規定する情報を入力する。かかる入力操作を受けた中央情報処理装置10は、表示部30にサブコンセプト部品C2〜C4に関する情報を表示するとともに、部品間の関係を規定する情報を表示する。水温制御システム100のサブコンセプトは、前記したタスク(操作パネル制御タスクT1、水温監視タスクT2、水温制御タスクT3)に相当するので、その旨が入力されて項目列挙的に表示される。なお、図11において、サブコンセプト部品C2〜C4は直列的に表示されているが、この直列的関係は時系列的な関係を示すものではない。各サブコンセプト部品C2〜C4は、前記したようなモジュールをタスク化する設定を利用することにより、実際は並列的(同時並行的)に実行することができる。
次いで、オペレータは、図12〜図15に示すように、サブコンセプト部品C2〜C4を実現させるためのリアライズ部品を、プログラム開発支援装置1の表示部30に表示する(リアライジング工程:S3)。オペレータは、入力部20を用いて、サブコンセプト部品C2〜C4を実現させるためのリアライズ部品を選択して入力操作を行う。かかる入力操作を受けた中央情報処理装置10は、表示部30にリアライズ部品を表示する。また、オペレータは、入力部20を用いて、貼り付けたリアライズ部品に関する情報を入力するとともに、表示したリアライズ部品同士の関係を規定する情報を入力する。かかる入力操作を受けた中央情報処理装置10は、表示部30にリアライズ部品に関する情報やリアライズ部品同士の関係を規定する情報を表示する。
<操作パネル制御>
ここで、図12を用いて、サブコンセプト部品C2を実現させるためのリアライズ部品R1〜R17について具体的に説明する。サブコンセプト部品C2のサブコンセプトは、操作パネル制御タスクT1に相当するものである。二個一組で配置されるR1及びR2は、反復を表すリアライズ部品であり、これらの間に配置されたリアライズ部品は所定の周期で繰り返し実行される。二個一組で配置されるR3〜R12(R3及びR4の組、R5及びR6の組、R7及びR8の組、R9及びR10の組、R11及びR12の組)は条件を表すリアライズ部品であり、一定の条件を満たした場合に、これらの間に配置されたリアライズ部品が実行される。R13〜R17は、各々、実行する内容を具体的に表示するリアライズ部品である。R13は「現在の設定温度を保存する」ことを実行するものであり、R14は「設定温度を1℃上げる」ことを実行するものであり、R15は「設定温度を1℃下げる」ことを実行するものであり、R16は「設定温度を水温制御に反映させる」ことを実行するものであり、R17は「所定時間の遅延処理(周期に相当する時間だけ処理を遅れさせること)」を実行するものである。
本実施形態においては、水温制御タスクT3が実行された場合に、R3及びR4の間に配置されたリアライズ部品群(R5〜R17)が実行される。水温制御タスクT3が実行された場合には、R13が実行されて、現在の設定温度が保存される。続いて、操作パネル140の操作ボタンが押下操作された場合に、R5及びR6の間に配置されたリアライズ部品群(R7〜R10、R14及びR15)が実行される。操作ボタンのうちUPボタンが押下操作され、かつ設定温度が上限値以下である場合には、R7及びR8の間に配置されたR14が実行されて、設定温度が1℃上げられる。一方、操作ボタンのうちDOWNボタンが押下操作され、かつ設定温度が下限値以上である場合には、R9及びR10の間に配置されたR15が実行されて、設定温度が1℃下げられる。続いて、設定温度が変更された場合に、R11及びR12の間に配置されたR16が実行されて、設定温度の変更情報が水温制御タスクT3に通知されて水温制御に反映される。その後R17が実行されて、所定時間の遅延処理がなされる。
<水温監視>
次いで、図13を用いて、サブコンセプト部品C3を実現させるためのリアライズ部品R20〜R28について具体的に説明する。サブコンセプト部品C3のサブコンセプトは、水温監視タスクT2に相当するものである。二個一組で配置されるR20及びR21は、反復を表すリアライズ部品であり、これらの間に配置されたリアライズ部品は所定の周期で繰り返し実行される。二個一組で配置されるR22〜R25(R22及びR23の組、R24及びR25の組)は条件を表すリアライズ部品であり、一定の条件を満たした場合に、これらの間に配置されたリアライズ部品が実行される。R26〜R28は、各々、実行する内容を具体的に表示するリアライズ部品である。R26は「現在の水温を保存する」ことを実行するものであり、R27は「検出された水温(検出温度)を水温制御に反映させる」ことを実行するものであり、R28は「所定時間の遅延処理(周期に相当する時間だけ処理を遅れさせること)」を実行するものである。
本実施形態においては、水温制御タスクT3が実行されていた場合に、R22及びR23の間に配置されたリアライズ部品群(R24〜R28)が実行される。水温制御タスクT3が実行されていた場合には、R26が実行されて、現在のタンク110内の水温が保存される。続いて、水温センサ120で検出された水温(検出温度)が変更された場合に、R24及びR25の間に配置されたR27が実行されて、検出温度の変更情報が水温制御タスクT3に通知されて水温制御に反映される。その後R28が実行されて、所定時間の遅延処理がなされる。
<水温制御>
続いて、図14及び図15を用いて、サブコンセプト部品C4を実現させるためのリアライズ部品R30〜R44について具体的に説明する。サブコンセプト部品C4のサブコンセプトは、水温制御タスクT3に相当するものである。R30〜R32は、各々、実行する内容を具体的に表示するリアライズ部品である。R30は「水温制御を初期化する」ことを実行するものであり、R31は「メッセージの待機」を実行するものであり、R32は「受信メッセージをマップする(受信したメッセージを構成する情報を他のリアライズ部品でも参照できるようにする)」ことを実行するものである。二個一組で配置されるR33及びR34は、メッセージの振分を表すリアライズ部品であり、メッセージの内容に応じて、これらの間に配置されたリアライズ部品が実行される。R35、R36及びR40は、各々、実行する内容を具体的に表示するリアライズ部品である。R35は「設定温度を更新する」ことを実行するものであり、R36は「検出温度を変更する」ことを実行するものであり、R40は「ヒータを制御する」ことを実行するものである。
本実施形態においては、まず、R30が実行されて、水温制御の初期化(設定温度を下限値に設定するとともに水温を未検出状態とすること)が実現される。続いて、R31及びR32が実行されて、メッセージ(操作パネル制御タスクT1における設定温度の変更情報及び水温監視タスクT2における検出温度の変更情報)の待機がなされ、メッセージを受信した場合には、待機が解除されて、受信したメッセージを構成する情報が他のリアライズ部品で参照可能となる。その後、受信したメッセージが「設定温度の変更情報」であった場合には、R33及びR34の間に配置されたR35及びR40が実行されて、設定温度が変更された状態でヒータが制御される。一方、受信したメッセージが「検出温度の変更情報」であった場合には、R33及びR34の間に配置されたR35及びR40が実行されて、検出温度が変更された状態でヒータが制御される。
40は、図15に示すようなリアライズ部品R41〜R44によって構成されている。二個一組で配置されるR41及びR42は条件を表すリアライズ部品であり、一定の条件を満たした場合に、これらの間に配置されたリアライズ部品が実行される。R43及びR44は、各々、実行する内容を具体的に表示するリアライズ部品である。R43は「ヒータをONにする」ことを実行するものであり、R44は「ヒータをOFFにする」ことを実行するものである。本実施形態においては、検出温度が設定温度未満であった場合に、R43が実行されてヒータがONにされ、タンク110内の水が加温される。一方、検出温度が設定温度以上であった場合に、R44が実行されてヒータがOFFにされ、タンク110内の水が自然冷却される。
以上のコンセプト定義工程S1、コンセプト分割工程S2及びリアライジング工程S3を経ることにより、水温制御システム100のコンセプトチャートが作成されることとなる。すなわち、これらの工程群は、本発明におけるチャート作成工程を構成する。このようなコンセプトチャートにより、システム開発に携わる全ての要員が、水温制御システム100のコンセプトを明確に把握することができ、このコンセプトを実現させるための段階的なタスク(サブコンセプト)を認識することができ、さらに、これらサブコンセプトを実現させるための具体的なプロセスを認識することができる。
このようなコンセプトチャートを作成した後、オペレータは、入力部20を用いて、コンセプトチャートを所定の制御プログラムに変換するための入力操作を行う。かかる入力操作を受けた中央情報処理装置10は、コンセプトチャートとFA制御言語との対応テーブルを参照して、作成したコンセプトチャートをFA制御言語で記述された制御プログラムに変換し、さらに、FA制御言語で記述された制御プログラムをC言語で記述された制御プログラムに変換する(チャート変換工程:S4)。FA制御言語とは、コンセプトチャートとC言語との中間に位置し日本語で理解可能な新規なプログラミング言語である。本実施形態においては、例えばコンセプトチャートのヒータ制御に係る部分を、以下のようなFA制御言語プログラムに変換する。
modeule ヒータ制御
(in short 水温, // 水温
in short 設定温度, // 設定温度
out_at bool ヒータ) // ヒータ制御リレー
[ //
// 水温が設定温度以下の場合
if(水温 < 設定温度)
[ //
// ヒータをONにする
ヒータ = true; ]
//
// 水温が設定温度以上の場合
else
[ // ヒータをOFFにする
// ヒータ = false; ] ]
なお、チャート変換工程S4では、FA制御言語とC言語との対応テーブルを参照して、FA制御言語で記述された制御プログラムをC言語で記述された制御プログラムに変換する。中央情報処理装置10は、このようにC言語で記述された制御プログラムを得た後、C言語コンパイラを用いて制御プログラムをオブジェクトファイルに変換し、最終的に実行ファイルを作成する。
その後、所定の要員(例えばハードウェア技術者)は、チャート変換工程S4を経て作成された制御プログラムの実行ファイルを実際のシステム(又はシミュレータ)に適用して試験を行う(試験工程:S5)。そして、オペレータは、その試験結果に基づいて、制御プログラムを修正する必要があるか否かを判定し(修正判定工程:S6)、修正する必要がないと判断した場合には、制御プログラムの作成を終了する。一方、修正判定工程S6において、制御プログラムを修正する必要があると判断した場合には、オペレータは、前記したチャート作成工程(例えばコンセプト分割工程S2やリアライジング工程S3)に戻ってコンセプトチャートを修正し、その後チャート変換工程S4以降の工程を経て制御プログラムの修正を行う。以上の手順を経て、水温制御システム100に適用される制御プログラムを作成することができる。オペレータは、表示部30に表示されているコンセプトチャートを参照しながら入力部20を操作し、コンセプトチャート上で視覚的・直感的に試験を行うことができる。
以上説明した実施形態に係るプログラム開発支援装置1においては、特定のシステムのコンセプト自体及びそのコンセプトを実現させるアルゴリズムを視覚的・直感的に理解可能なコンセプトチャートを用いて、そのシステムの制御プログラムを開発することができるので、専門性の異なった技術者同志が容易に意思疎通を図ることができる。従って、システムの開発が全体的にスムーズとなり、連携試験時にしわ寄せが来る可能性を低減させることができる。この結果、複雑で大規模なシステムの開発を、容易にかつ迅速に低コスト高品質で実現させることが可能となる。
また、以上説明した実施形態に係るプログラム開発支援装置1においては、抽象的なコンセプトを具体的なサブコンセプトに分割し、サブコンセプトの各々を実現させるようなコンセプトチャートを作成することができる。すなわち、あるコンセプトを実現するための詳細なコンセプト(サブコンセプト)を階層的に洗い出すことができ、人間の思考を直接的に表現することができるため、誰もが容易に理解することが可能なコンセプトチャートを作成することができる(ラダー言語では、このような人間の思考を階層的に表現することができないので、大規模で複雑なシステムの開発が困難となっている)。
また、以上説明した実施形態に係るプログラム開発支援装置1においては、コンセプトチャートを、比較的理解し易いFA制御言語及びC言語に変換することができるので、従来PLC分野で用いられていた専門の要員にしか理解できないラダー言語等を用いる必要がない。従って、専門の開発要員が不要となるため、システムの設計・開発に要するコストを著しく低減させることが可能となる。
なお、以上の実施形態においては、修正判定工程S6において、制御プログラムを修正する必要があると判断した場合に、コンセプトチャートの修正及び変換を介して制御プログラムを修正した例を示したが、FA制御言語やC言語で記述された制御プログラムを直接修正することもできる。かかる場合には、オペレータは、入力部20を用いて、制御プログラムをコンセプトチャートに逆変換するための入力操作を行うことができる。かかる入力操作を受けた中央情報処理装置10は、修正した制御プログラム(FA制御言語やC言語で記述された制御プログラム)をコンセプトチャートに変換する。
このようにすると、ソフトウェア技術者が制御プログラムを変更した場合に、その変更結果を他の技術者(仕様技術者やハードウェア技術者)がコンセプトチャートの形式で確認することができる。従って、システムの設計変更及びその確認がきわめて容易となる。
1…プログラム開発支援装置
10…中央情報処理装置(部品情報表示手段、チャート作成手段、チャート変換手段、第一変換手段、第二変換手段、逆変換手段)
20…入力部(チャート作成手段)
30…表示部(チャート作成手段)
100…水温制御システム
1…コンセプト部品
2〜C4…サブコンセプト部品
1〜R44…リアライズ部品

Claims (3)

  1. 特定のシステムのコンセプトを表現するためのコンセプト部品と前記コンセプトを実現させるために機能の流れに従って構成されたリアライズ部品とを有するコンセプトチャートを所定の入力部及び所定の表示部を用いて作成し、前記コンセプトチャートをPLCの制御プログラムに変換し、前記制御プログラムのシステム適用試験を実施することにより、前記コンセプトチャート上でのプログラム開発を実現させてPLCの制御プログラムを作成する、プログラム作成方法であって、
    前記コンセプトチャートを作成するためのチャート作成手段と、前記チャート作成手段で作成した前記コンセプトチャートを前記制御プログラムに変換するチャート変換手段と、を備えるプログラム開発支援装置を使用し、
    前記チャート作成手段は、オペレータが操作可能な入力部と、前記コンセプトチャートの作成過程を表示するための表示部と、オペレータによる前記入力部の操作に基づいて前記コンセプトチャートを構成する前記コンセプト部品及び前記リアライズ部品を含む複数の部品を前記表示部に表示するとともに前記部品の各々に関する情報と前記部品同士の関係を規定する情報とを前記表示部に表示する部品情報表示手段と、を有するものであり、
    前記チャート変換手段は、前記チャート作成手段で作成した前記コンセプトチャートをFA制御言語で記述された第一の制御プログラムに変換する第一変換手段と、前記第一変換手段で得た前記第一の制御プログラムを、C言語で記述された第二の制御プログラムに変換する第二変換手段と、を有するものである、プログラム作成方法。
  2. 前記プログラム開発支援装置は、前記制御プログラムを前記コンセプトチャートに逆変換する逆変換手段を備える、請求項に記載のプログラム作成方法。
  3. 前記コンセプトチャートは、前記コンセプトを具体化した複数のサブコンセプトを階層的に表現するための複数のサブコンセプト部品を有するものである、請求項1又は2に記載のプログラム作成方法。
JP2013038717A 2013-02-28 2013-02-28 プログラム作成方法 Active JP5754014B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013038717A JP5754014B2 (ja) 2013-02-28 2013-02-28 プログラム作成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013038717A JP5754014B2 (ja) 2013-02-28 2013-02-28 プログラム作成方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008180382A Division JP2010020539A (ja) 2008-07-10 2008-07-10 プログラム開発支援装置及びプログラム作成方法

Publications (2)

Publication Number Publication Date
JP2013152727A JP2013152727A (ja) 2013-08-08
JP5754014B2 true JP5754014B2 (ja) 2015-07-22

Family

ID=49048976

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013038717A Active JP5754014B2 (ja) 2013-02-28 2013-02-28 プログラム作成方法

Country Status (1)

Country Link
JP (1) JP5754014B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0614320B2 (ja) * 1984-10-17 1994-02-23 株式会社日立製作所 図式プログラム・テスト方法
JP3446256B2 (ja) * 1993-09-03 2003-09-16 株式会社日立製作所 Faシステムの制御方法及び装置
JPH0916382A (ja) * 1995-06-30 1997-01-17 Oki Electric Ind Co Ltd プログラム開発支援システム
JP2938374B2 (ja) * 1995-09-07 1999-08-23 株式会社東芝 順序シーケンス・プログラムの作成装置及び制御装置
JPH11353164A (ja) * 1998-06-09 1999-12-24 Toshiba Corp ソースプログラム生成システムおよびソースプログラム生成方法ならびにチャート生成システムおよびチャート生成方法
JP2002268713A (ja) * 2001-03-12 2002-09-20 Toyo Eng Corp バッチプラントの制御装置及び制御方法
JP2006285754A (ja) * 2005-04-01 2006-10-19 Fuji Electric Holdings Co Ltd プログラムソースコード自動生成装置

Also Published As

Publication number Publication date
JP2013152727A (ja) 2013-08-08

Similar Documents

Publication Publication Date Title
US9122269B2 (en) Method and system for operating a machine from the field of automation engineering
CN105656386A (zh) 频率转换器
JP2015176340A (ja) プログラマブルコントローラおよびプログラマブルコントローラによるデバイス制御方法
US20130185620A1 (en) Ladder program creation apparatus
US20140344428A1 (en) System architecture support tool
JP2018114576A (ja) オフラインプログラミング装置及び位置パラメータ補正方法
JP6318500B2 (ja) シミュレーション装置およびシミュレーションプログラム
JP2010020539A (ja) プログラム開発支援装置及びプログラム作成方法
US10295981B2 (en) Engineering tool
KR101706029B1 (ko) 시스템 구축 지원 장치
JP5754014B2 (ja) プログラム作成方法
US20130238104A1 (en) System design device
US10461997B2 (en) Information processing device and program
JP5996150B2 (ja) プログラマブル表示器及び作画ソフトウェア
JP2008226090A (ja) プラントモデル開発システム
US11009848B2 (en) Scalable intelligent query-based interface to navigate and find industrial information on a visual interface
KR101624971B1 (ko) 흐름논리도로 절차수행단계를 표시하는 방법 및 장치
JP3390569B2 (ja) プラント監視制御装置
JP2005251116A (ja) プログラミングツール
JP6225542B2 (ja) 連携シミュレーション装置
US11579580B2 (en) Control system, control method, and non-transitory computer readable medium
US10782982B2 (en) Information processing apparatus and system, and method and recording medium for generating user interface
JP2011242970A (ja) Plmナビゲーションシステム
JP2015215898A (ja) データ処理装置の複数のデータ構造体と複数のマンマシンインタフェース要素とを接続する方法、及び、データ処理装置
JP2015001912A (ja) プラント運転監視装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131127

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141009

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141029

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20141119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150406

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150420

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150424

R150 Certificate of patent or registration of utility model

Ref document number: 5754014

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250