JP5726108B2 - 編集装置および編集方法 - Google Patents

編集装置および編集方法 Download PDF

Info

Publication number
JP5726108B2
JP5726108B2 JP2012046635A JP2012046635A JP5726108B2 JP 5726108 B2 JP5726108 B2 JP 5726108B2 JP 2012046635 A JP2012046635 A JP 2012046635A JP 2012046635 A JP2012046635 A JP 2012046635A JP 5726108 B2 JP5726108 B2 JP 5726108B2
Authority
JP
Japan
Prior art keywords
diagram
program
sequence
data
unit
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
JP2012046635A
Other languages
English (en)
Other versions
JP2013182473A (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.)
Sumitomo Heavy Industries Ltd
Original Assignee
Sumitomo Heavy Industries 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 Sumitomo Heavy Industries Ltd filed Critical Sumitomo Heavy Industries Ltd
Priority to JP2012046635A priority Critical patent/JP5726108B2/ja
Publication of JP2013182473A publication Critical patent/JP2013182473A/ja
Application granted granted Critical
Publication of JP5726108B2 publication Critical patent/JP5726108B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Description

本発明は、プログラムの編集装置および編集方法に関する。
現在、多くの産業機器や民生機器に組み込みシステムが使用されている。組み込みシステムは特定の機能を実現するためのコンピュータシステムの総称であり、特に特定の機能を実現するための必要十分条件を満たす、選択および交換不可能なハードウエアとプログラムで構成されるコンピュータシステムであると言ってもよい。
本出願人は特許文献1において、組み込みシステムのソフトウエアの開発環境で利用可能なプログラミング装置を提案している。このプログラミング装置によると、組み込みシステムで実行される予め決められた順序・手続きに沿って動作するシーケンスプログラムを効率よく作成することができる。特許文献1に記載されるプログラミング装置は以下の特徴を有する。
(1)一連のシーケンス処理をモジュール化できる。
(2)同じ一連のシーケンス処理を繰り返し使用する場合は、そのモジュールを複製するだけでよい。
(3)モジュールは内部変数を独自に含むので、同様な一連処理を繰り返しプログラミングする場合は、再利用するモジュールにユーザが内部変数を別に割り当てる必要がない。これにより、複製されたそれぞれのモジュールの内部変数に対し、違う値を与えることができる。
特開2009−271770号公報
特許文献1に記載されるプログラミング装置はシーケンスプログラムのみに特化しており、機械装置のサーボ制御に必要なサーボ制御プログラム等は考慮されていない。例えば、機械装置の複数の軸が同じ動作をする場合は、軸の特性により、制御パラメータは変わっても、サーボ制御プログラムの構造は同じものとなることが多い。この場合、特許文献1の利点が生きるものの、サーボ制御プログラムをシーケンス処理的に記述しようとしても演算式の羅列のような形となり、プログラムが煩雑になる可能性がある。
さらに、サーボ制御プログラム用に別の開発環境を使用したとしても、そのように開発されたサーボ制御プログラムをそのままシーケンスプログラムの開発環境に導入することは、データの互換性の観点から困難である。
本発明はこうした課題に鑑みてなされたものであり、その目的は、組み込みシステムで使用されるプログラムの開発を効率化できるプログラム編集技術の提供にある。
本発明のある態様は編集装置に関する。この編集装置は、ブロック線図により記述された線図データを取得する線図取得部と、線図取得部によって取得された線図データをプログラムに変換する変換部と、組み込みシステムのシーケンス制御が所定の態様で記述されたシーケンスデータに、変換部による変換の結果得られるプログラムを、シーケンス制御のステップとして関連付ける関連付け部と、を備える。
この態様によると、組み込みシステムのシーケンス制御を所定の態様で記述する際、ブロック線図による記述を利用することができる。
なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を装置、方法、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。
本発明によれば、組み込みシステムで使用されるプログラムの開発を効率化できる。
実施の形態に係る編集装置の機能および構成を示すブロック図である。 例示的なブロック線図を示す代表画面図である。 制御パラメータ記述領域の代表画面図である。 図1の線図データ保持部の一例を示すデータ構造図である。 線図モジュールの代表画面図である。 シーケンスデータに同じ線図プログラムに対応する2つの線図モジュールを含めた場合のそれらの線図モジュールの代表画面図である。 線図モジュール変数指定領域の代表画面図である。 シーケンスプログラムの構成を示す模式図である。 図1の編集装置における一連の処理を示すフローチャートである。 図1の編集装置におけるデータの流れを示す模式図である。
以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。
実施の形態に係る編集装置は、組み込みシステムを制御するためのソフトウエアを開発する環境に設けられる。ユーザは所望の制御内容の図的な表現を編集装置に入力し、編集装置は入力された図的な表現を、C言語などのテキストベースのプログラミング言語で記述されたソースプログラムに変換すなわちコンパイルする。編集装置は、図的な表現として、
(A)サーボ制御やフィードバック制御などのループを含む制御を好適に表せるブロック線図と、
(B)組み込みシステムのシーケンス制御を記述するのに好適なラダー図やシーケンシャル・ファンクション・チャートや特許文献1に記載される表現(以下、シーケンシャルな記述態様と総称する)と、
を利用可能としている。
編集装置は、ブロック線図により記述されたデータ(以下、線図データと称する)をコンパイルしてソースプログラム(以下、線図プログラムと称す)を生成し、生成された線図プログラムをモジュール化する。編集装置は、シーケンシャルな記述態様により組み込みシステムのシーケンス制御が記述される際、線図プログラムの指定を受け付け、指定された線図プログラムへのリンクを生成する。編集装置は、シーケンシャルな記述態様により記述されたデータ(以下、シーケンスデータと称する)をコンパイルしてソースプログラム(以下、シーケンスプログラムと称す)を生成する際、リンクに基づきシーケンスプログラムに線図プログラムを含める。
これにより、組み込みシステムのシーケンスプログラムおよび線図プログラムの開発を同じ環境で実現できる。加えて、線図プログラムをモジュール化してシーケンスプログラムに取り込むことで線図プログラムの再利用を可能としている。その結果、ユーザが線図プログラムの資産を有していれば、それをそのままシーケンスプログラムに取り込むことができるので、プログラム資産を有効に活用することができる。また、組み込みシステムのシーケンス制御に、サーボ制御やフィードバック制御などのブロック線図による記述が好適なステップが含まれている場合、そのステップをブロック線図で記述することができる。これはプログラム開発の効率化に寄与する。
図1は、実施の形態に係る編集装置10の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのCPU(central processing unit)をはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
編集装置10は、マウスやキーボードなどの入力装置12から入力される入力情報に基づいて線図データやシーケンスデータを生成することによって取得し、または外部から線図データやシーケンスデータを取得する。編集装置10はディスプレイ14と接続される。
編集装置10は、線図プログラムのモジュールを含むシーケンスプログラムを生成する。生成されたシーケンスプログラムはそのまま、もしくはさらに機械語へ翻訳された後、ターゲットボードに実装され、様々な機械装置のシミュレーションに利用される。また、生成されたシーケンスプログラムを組み込みシステムに導入することで、機械装置を直接駆動・制御することができる。
編集装置10は、線図編集部16と、線図コンパイル部18と、シーケンス編集部20と、シーケンスコンパイル部22と、表示制御部24と、線図データ保持部26と、線図モジュール保持部28と、シーケンスデータ保持部48と、を備える。
線図編集部16は入力装置12および表示制御部24と協働して、インタラクティブなブロック線図の編集を可能とする。線図編集部16はブロック線図取得部30と線図変数指定受付部32とを含む。
ブロック線図取得部30は線図データを取得する。ブロック線図取得部30は、ユーザからの入力情報に基づいてブロック線図を編集し、その線図データを線図データ保持部26に登録する。ブロック線図の編集は、新たにブロック線図を生成することと、既存のブロック線図を例えば線図データ保持部26から呼び出して変更することと、を含む。ブロック線図取得部30においては、例えばMathWorks社が提供するMATLAB/Simulinkに使用されているブロック線図編集技術と同様のブロック線図編集技術が使用されてもよい。
あるいはまた、ブロック線図取得部30は、外部記憶装置やネットワーク(いずれも不図示)などから線図データを取得してもよい。
図2は、表示制御部24がディスプレイ14に表示させる例示的なブロック線図102を示す代表画面図である。図2はPID(Proportinal Integral Differential)制御のように制御器が複数のブロックに分かれている場合のブロック線図102を示す。
ブロック線図102は、積分動作ブロック138と、微分動作ブロック140と、比例動作ブロック142と、プラントブロック144と、プラントブロック144を始点とする第1アーク146と、第1アーク146から第1分岐点162で分かれて第1合流点166に入る第2アーク148と、第1合流点166を始点とし積分動作ブロック138に入る第3アーク150と、第3アーク150から第2分岐点164で分かれて第2合流点168に入る第4アーク152と、第3アーク150から第2分岐点164で分かれて微分動作ブロック140に入る第5アーク154と、積分動作ブロック138を始点とし第2合流点168に入る第6アーク156と、第2合流点168を始点とし比例動作ブロック142に入る第7アーク158と、比例動作ブロック142を始点としプラントブロック144に入る第8アーク160と、微分動作ブロック140を始点とし第2合流点168に入る第9アーク170と、第1合流点166に入る第10アーク163と、を含む。
ブロック線図102はさらに、ブロック線図102の名前が記載された名称枠130と、制御周期が記載された周期枠132と、を含む。
図1に戻り、線図変数指定受付部32は、ブロック線図取得部30によって取得された線図データに対応するブロック線図のブロックで使用される制御パラメータのうち、変数として扱われるべき制御パラメータの指定を受け付ける。線図変数指定受付部32は、指定された制御パラメータの情報を線図データに対応付けて線図データ保持部26に登録する。
線図変数指定受付部32は、表示制御部24を介して、編集中のブロック線図に対応付ける形で制御パラメータ記述領域をディスプレイ14に表示させる。
図3は、制御パラメータ記述領域180の代表画面図である。ユーザは入力装置12を使用して、編集中のブロック線図に含まれる各ブロック内で使用される制御パラメータを制御パラメータ記述領域180に入力する。制御パラメータは、線図プログラム内で値を代入する定数または線図プログラムの変数として定義される。制御パラメータ記述領域180は、定数が記述される定数記述領域182、184、186および変数が記述される変数記述領域188を含む。
線図プログラム内で値を代入する定数は、例えば「パラメータ名=値または数式」のように演算式の形式で記述される。制御パラメータ記述領域180において値が定義された定数は、同じ制御パラメータ記述領域180に記述された数式のパラメータとして使用されうる。例えば、図3の定数記述領域182、184において値が定義された定数「M」および「D」は、定数記述領域186に記述された数式「1/(M*s^2+D*s)」のパラメータとして使用されている。なお、「s」は線図プログラムの内部変数である。
制御パラメータを変数として扱う場合、ユーザは制御パラメータ記述領域180に、変数を表す識別子「var」と変数名とを列挙する。例えば図2に示されるブロック線図102について、比例動作ブロック142や微分動作ブロック140に含まれる数式や伝達関数等に使用されるパラメータが変数として指定されうる。
線図変数指定受付部32は、制御パラメータ記述領域180に入力された情報を取得し、取得された情報を線図データに対応付けて線図データ保持部26に登録する。特に線図変数指定受付部32は、識別子「var」に対応する制御パラメータを、線図プログラムにおいて変数として扱われるべき制御パラメータとして取得する。
図4は、線図データ保持部26の一例を示すデータ構造図である。線図データ保持部26は、線図データを特定する線図IDと、ブロック線図取得部30によって取得された線図データと、制御パラメータ記述領域を通じて指定された定数と、制御パラメータ記述領域を通じて指定された変数と、を対応付けて保持する。
図1に戻り、線図コンパイル部18は、ユーザからの要求に基づき、線図データ保持部26によって保持される線図データを線図プログラムに変換する。線図コンパイル部18は状態方程式導出部34と線図プログラム生成部36とを含む。
ユーザは入力装置12を介して、線図データ保持部26に保持される線図データのなかから線図プログラムに変換したい線図データを指定する。状態方程式導出部34は、指定された線図データを線図データ保持部26から取得する。状態方程式導出部34は、取得された線図データに対応するブロック線図についての状態方程式を導出する。状態方程式導出部34は、ブロック線図の各ブロックを状態方程式に変換する。この状態方程式は、以下のように記述されてもよい。
x[k+1]=Ax[k]+Bu[k]
y[k]=Cx[k]+Du[k]
ここで、kおよびk+1は時刻を表す。A,B,C,Dは行列係数である。u[k],y[k]はそれぞれ各ブロックの入力、出力を表す。x[k]は各ブロックの内部状態を表す。
状態方程式導出部34は、変換された状態方程式の全てに対して行列演算を行い、ひとつの状態方程式にまとめる。
線図プログラム生成部36は、状態方程式導出部34によって導出された状態方程式を線図プログラムに変換する。状態方程式をプログラムに変換する処理自体は公知である。線図プログラム生成部36は、線図プログラムへの変換の際、線図データ保持部26を参照し、変数として指定されている制御パラメータを変数として線図プログラムに含める。線図プログラム生成部36は、変換の結果得られた線図プログラムを線図ファイルに含め、線図ファイルを線図モジュール保持部28にモジュールとして登録する。
線図ファイルは複数の線図プログラムを含んでもよい。この場合、例えばシーケンスプログラム上で扱う制御器の設計案を1つの線図ファイル内で列挙し、最終的に適切な制御器を選ぶという手法を実現できる。
シーケンス編集部20は入力装置12および表示制御部24と協働して、インタラクティブなシーケンスデータの編集を可能とする。シーケンス編集部20は、線図プログラムをモジュールとして利用するための以下の機能を除いて、基本的に特許文献1に記載されるプログラミング装置と同様に構成される。シーケンス編集部20は、編集されたシーケンスデータをシーケンスデータ保持部48に登録する。
シーケンス編集部20はステップ指定受付部40とリンク部38とシーケンス変数指定受付部42とを含む。
ステップ指定受付部40は、シーケンス制御のステップの指定を受け付ける。ユーザは、シーケンスデータの編集中、線図モジュール保持部28によって保持される線図プログラムを適用したいシーケンスデータ上の箇所を指定する。この箇所はシーケンス制御のステップに対応し、ディスプレイ14上で入力装置12を使用して図的に指定されてもよい。ステップ指定受付部40は、表示制御部24を介して、指定された箇所に線図モジュールを表示させる。
図5は、線図モジュール200の代表画面図である。線図モジュール200は、適用されるべき線図プログラムが含まれる線図ファイルのファイル名の入力を受け付けるファイル名入力領域202と、適用されるべき線図プログラムのプログラム名の入力を受け付けるプログラム名入力領域204と、線図プログラムを再利用する際の識別子であるラベルの入力を受け付けるラベル入力領域206と、線図プログラムの入力変数208と、線図プログラムの出力変数210と、を有する。シーケンスデータのコンパイル時、入力変数208は対応する入力値で置換され、出力変数210は対応する出力値で置換される。
図6は、シーケンスデータに同じ線図プログラムに対応する2つの線図モジュールを含めた場合のそれらの線図モジュールの代表画面図である。第1線図モジュール212のファイル名入力領域214に入力されているファイル名「サーボ制御モジュール」と第2線図モジュール220のファイル名入力領域222に入力されているファイル名「サーボ制御モジュール」とは同一である。第1線図モジュール212のプログラム名入力領域216に入力されているプログラム名「サーボ制御モジュール」と第2線図モジュール220のプログラム名入力領域224に入力されているプログラム名「サーボ制御モジュール」とは同一である。したがって、第1線図モジュール212および第2線図モジュール220は、線図モジュール保持部28によって保持される同一の線図プログラムを指定している。第1線図モジュール212のラベル入力領域218に入力されているラベル「#1」と第2線図モジュール220のラベル入力領域226に入力されているラベル「#2」とは異なっている。このように異なるラベルを付すことにより、複製された線図モジュール212、220同士をシーケンスデータ内で識別することができる。
図1に戻り、リンク部38は、シーケンスデータに線図プログラムをシーケンス制御のステップとして関連付ける。特にリンク部38は、シーケンスデータ上の指定された箇所と、適用されるべき線図プログラムと、を関連付ける。リンク部38は、線図モジュール200に入力された情報を取得し、取得された情報に基づき適用されるべき線図プログラムを特定し、特定された線図プログラムに関する情報をシーケンスデータ上の指定された箇所に含める。リンク部38は、シーケンスデータ上の指定された箇所に、ファイル名入力領域に入力されたファイル名およびプログラム名入力領域に入力されたプログラム名によって特定される線図プログラムへの参照を含める。なお、リンク部38は、参照を含める代わりに線図プログラムそのものを含めてもよい。
シーケンス変数指定受付部42は、線図モジュールに対応する線図プログラムに含まれる変数の値の指定を受け付ける。特にシーケンス変数指定受付部42は、リンク部38によってシーケンスデータの複数の箇所に同じ線図プログラムへの参照が含められている場合すなわちシーケンスデータが同じ線図プログラムに対応する線図モジュールを複数有する場合、線図モジュールごとに変数の値の指定を受け付ける。
シーケンス変数指定受付部42は表示制御部24を介して線図モジュール変数指定領域をディスプレイ14に表示させる。
図7は、線図モジュール変数指定領域230の代表画面図である。線図モジュール変数指定領域230はシーケンスデータの一部として表示される。線図モジュール変数指定領域230は、線図プログラムのプログラム名の入力を受け付けるプログラム名入力領域232と、ラベルの入力を受け付けるラベル入力領域234と、変数の入力を受け付ける変数入力領域236と、値の入力を受け付ける値入力領域238と、を有する。
シーケンス変数指定受付部42は、プログラム名入力領域232、ラベル入力領域234、変数入力領域236、値入力領域238のそれぞれに入力された情報を取得し、シーケンスデータに含める。
図1に戻り、シーケンスコンパイル部22は、ユーザからの要求に基づき、シーケンスデータ保持部48によって保持されるシーケンスデータをシーケンスプログラムに変換する。シーケンシャルな記述態様によって記述されたデータをプログラムに変換する処理自体は公知である。シーケンスコンパイル部22は、以下の機能を除いて、この公知の変換処理技術を使用して構成される。
シーケンスコンパイル部22は整合コード生成部44とシーケンスプログラム生成部46とを含む。
整合コード生成部44は、シーケンスデータ保持部48に保持されるシーケンスデータがシーケンスプログラムに変換される際、シーケンスプログラムの線図部分の変数のデータ型と、それ以外の部分の対応する変数のデータ型と、の整合をとる整合コードを生成する。線図部分は、シーケンスプログラムのうち、シーケンスデータで参照されている線図プログラムに対応する部分である。それ以外の部分は、例えばシーケンシャルな記述態様に対応するシーケンス部分である。特に整合コードは、線図部分の変数および入出力変数のそれぞれのデータ型を、シーケンス部分の対応する変数のデータ型に変換する。例えば、線図部分の変数のデータ型が「double」であり、シーケンス部分の対応する変数のデータ型が「integer」である場合、整合コードは線図部分の変数のデータ型「double」をデータ型「integer」に変換するキャスト演算子等を含む。
シーケンスプログラム生成部46は、シーケンスデータから線図プログラムへの参照を抽出する。シーケンスプログラム生成部46は、参照される線図プログラムを線図モジュール保持部28から取得し、線図部分としてシーケンスプログラムに含める。この際、シーケンスプログラム生成部46は、参照される線図プログラムの変数の値が図7の線図モジュール変数指定領域230などにより指定されている場合は、その変数の値を指定するコードをシーケンスプログラムに含める。シーケンスプログラム生成部46は、参照される線図プログラムに対して整合コード生成部44によって生成された整合コードを、参照される線図プログラムに対応する線図部分に含める。
図8は、シーケンスプログラム250の構成を示す模式図である。シーケンスプログラム250はシーケンス部分252と線図部分254とを有する。シーケンス部分252と線図部分254とはひとつのファイルに含まれていてもよいし、別々のファイルに含まれていてもよい。
線図部分254は、整合コード生成部44によって生成された整合コード256を含む。整合コード256はシーケンス部分用のデータ型の内部変数258とデータ型の変換処理部260とを有する。
シーケンス部分用のデータ型の内部変数258は、線図部分254を扱うデータ領域内に格納される。変換処理部260は、線図部分254の変数262と、シーケンス部分用のデータ型の内部変数258と、の間のデータ型の変換処理を行う。シーケンス部分252の内部変数264とシーケンス部分252用のデータ型の内部変数258との間でデータのやりとりすなわち授受処理が行われる。シーケンス部分252の内部変数264は、例えば図7に示される線図モジュール変数指定領域230のメンバのように扱われる変数である。
なお、シーケンスデータに線図モジュールの複製が含まれる場合、その複製された線図モジュールに対応して、内部変数を含めた形で線図部分254と同様の部分がシーケンスプログラム250に追加される。
シーケンスプログラム250では、線図部分254のパラメータは変数262と定数266とに分けられる。変数262はデータ型の変換を行いシーケンス部分252に引き渡すものとして扱われ、定数266はそれ以外のものとして扱われる。例えば線図部分254がサーボ制御に関する場合は、変数262は制御器のゲインや入出力変数等であり、定数266は計算過程で現れる変数等である。
図9は、編集装置10における一連の処理を示すフローチャートである。ブロック線図取得部30は、ブロック線図により記述された線図データを取得する(S302)。線図コンパイル部18は、取得された線図データをコンパイルしてモジュール化する(S304)。ユーザは、シーケンスデータの編集中、線図モジュールを埋め込むべき箇所を指定する。ステップ指定受付部40はそのような指定を受け付ける(S306)。ユーザは、指定に対応してディスプレイ14に表示される線図モジュールに、適用したい線図プログラムの情報を入力する。リンク部38は、指定された箇所とその線図プログラムとを関連付ける(S308)。シーケンスコンパイル部22は、シーケンスデータをコンパイルする(S310)。
以上の構成による編集装置10の動作を説明する。
図10は、編集装置10におけるデータの流れを示す模式図である。ユーザは、サーボ制御やフィードバック制御を第1ブロック線図400や第2ブロック線図402の形で記述する。ユーザは編集装置10に、生成された第1ブロック線図400や第2ブロック線図402をコンパイルさせる。コンパイルの結果、線図モジュール保持部28に、第1ブロック線図400に対応する第1C言語線図プログラム404および第2ブロック線図402に対応する第2C言語線図プログラム406が登録される。なお、ユーザは、シーケンスデータの編集中に必要に応じてブロック線図の編集およびコンパイルを行ってもよい。
ユーザは、ディスプレイ14に表示されるシーケンスデータの編集画面408に対して、第1移動ステップ410および位置決めステップ412を入力する。ユーザは、位置決めステップ412の後にサーボ制御のステップを入れる場合、編集画面408上でそのステップが入るべき領域414をマウスのクリック等により指定する。
編集装置10は、指定された領域414に、ファイル名入力領域、プログラム名入力領域、ラベル入力領域等が未入力の状態の第1サーボ制御線図モジュール416を表示させる。ユーザは、表示された第1サーボ制御線図モジュール416のファイル名入力領域およびプログラム名入力領域に、線図モジュール保持部28に保持されている第1C言語線図プログラム404を特定するためのファイル名、プログラム名をそれぞれ入力する。また、ユーザは、表示された第1サーボ制御線図モジュール416のラベル入力領域にラベルを入力する。
編集装置10は、第1サーボ制御線図モジュール416のファイル名入力領域およびプログラム名入力領域に入力されたファイル名、プログラム名に基づき第1C言語線図プログラム404を特定し、特定された第1C言語線図プログラム404と第1サーボ制御線図モジュール416のシーケンスデータ上での位置とを関連付ける。すなわち、編集装置10は、シーケンスデータの位置決めステップ412に対応する部分の後に、第1C言語線図プログラム404への参照を示す部分を含める。
ユーザはさらに、編集画面408に対して、第1サーボ制御線図モジュール416の後に第2移動ステップ418を入力し、第2移動ステップ418の後に第2サーボ制御線図モジュール420を入力する。第2サーボ制御線図モジュール420は第1サーボ制御線図モジュール416と同じ第1C言語線図プログラム404に対応する。ユーザは、第1サーボ制御線図モジュール416と第2サーボ制御線図モジュール420とを区別するために、それぞれのラベルを異ならせる。
ユーザは編集装置10にシーケンスデータをコンパイルさせる。コンパイルの結果、シーケンスプログラム422が生成される。シーケンスプログラム422は、第1移動ステップ410、位置決めステップ412および第2移動ステップ418に対応するシーケンス部分424と、第1サーボ制御線図モジュール416に対応する第1線図部分426と、第2サーボ制御線図モジュール420に対応する第2線図部分428と、を有する。第1線図部分426は第1整合コード430を含み、第2線図部分428は第2整合コード432を含む。
なお、シーケンス部分424、第1線図部分426、第2線図部分428はそれぞれ別のファイルとして生成されてもよい。
本実施の形態に係る編集装置10によると、シーケンシャルな記述態様でシーケンス制御を記述する環境と同じ環境において、そのような記述態様とは異なるブロック線図により線図データを記述し、線図プログラムを生成することができる。また、シーケンス制御のステップと線図プログラムとを関連付けることで、シーケンスプログラムに線図プログラムを容易に導入することができ、また使い回しもより容易となる。
また、本実施の形態に係る編集装置10によると、線図モジュールを複製し、線図モジュールの外で線図モジュールのパラメータを変更することによって、シーケンスデータにおいて同じ構造の線図プログラムを別の用途で再利用することができる。例えば、大きさの違うモータを同じPID制御器の構造で制御しようとする場合に、2つの制御器で制御パラメータを変えたシーケンスデータをより容易に作成することができる。この場合、例えば図7に示されるような線図モジュール変数指定領域を使用してそれぞれの制御パラメータを指定すればよい。
一般にシーケンシャルな記述態様では、ブロック線図よりも条件分岐を容易に扱うことができる。そして本実施の形態に係る編集装置10では、シーケンスデータが同じ線図プログラムに対応する線図モジュールを複数有する場合、線図モジュールごとに変数の値を指定することができる。したがって、組み込みシステムの動作状況に応じて線図プログラムの変数の値を変更するような制御の記述がより容易となる。
シーケンスデータと線図データとはそれぞれの記述態様における最適化のために、コンパイル後のプログラムの変数のデータ型の扱いが異なることが想定される。そこで本実施の形態に係る編集装置10では、整合コードによって、線図部分の変数のデータ型とシーケンス部分の対応する変数のデータ型との整合をとることができる。これにより、シーケンシャルな記述態様とブロック線図との間の、変数の扱いについての違いを吸収することができる。
以上、実施の形態に係る編集装置10の構成と動作について説明した。この実施の形態は例示であり、その各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
実施の形態では、シーケンシャルな記述態様が図に基づく記述態様である場合について説明したが、これに限られず、例えばストラクチャード・テキストなどのテキストベースの記述態様であってもよい。
10 編集装置、 12 入力装置、 14 ディスプレイ、 16 線図編集部、 18 線図コンパイル部、 20 シーケンス編集部、 22 シーケンスコンパイル部、 24 表示制御部、 26 線図データ保持部、 28 線図モジュール保持部。

Claims (5)

  1. フィードバックのためのループを含むサーボ制御用のブロック線図により記述された線図データを取得する線図取得部と、
    前記線図取得部によって取得された線図データを線図プログラムに変換する第1変換部と、
    組み込みシステムのシーケンス制御が所定の態様で記述されたシーケンスデータに、前記第1変換部による変換の結果得られる線図プログラムを、シーケンス制御のステップとして関連付ける関連付け部と、
    線図プログラムと関連付けられたシーケンスデータをシーケンスプログラムに変換し、関連付けられた線図プログラムをシーケンスプログラムに含める第2変換部と、を備えることを特徴とする編集装置。
  2. 前記線図取得部によって取得された線図データに対応するブロック線図のブロックで使用される制御パラメータのうち、変数として扱われるべきパラメータの指定を受け付ける第1変数指定受付部をさらに備え、
    前記第1変換部は、指定されたパラメータを変数として線図プログラムに含め、
    本編集装置はさらに、
    前記関連付け部によって複数のステップに同じプログラムが関連付けられている場合、そのステップごとに変数の値の指定を受け付ける第2変数指定受付部を備え、
    前記第2変換部は、前記第2変数指定受付部にて複数のステップごとに受け付けた変数の値を指定するコードをシーケンスプログラムに含めることを特徴とする請求項1に記載の編集装置。
  3. 線図プログラムと関連付けられたシーケンスデータがシーケンスプログラムに変換される際、シーケンスプログラムのうち線図プログラムに対応する部分の変数のデータ型と、それ以外の部分の対応する変数のデータ型と、の整合をとるコードを生成する整合コード生成部をさらに備え、
    前記第2変換部は、前記整合コード生成部にて生成したデータ型の整合をとるコードをシーケンスプログラムに含めることを特徴とする請求項1または2に記載の編集装置。
  4. フィードバックのためのループを含むサーボ制御用のブロック線図により記述された線図データを取得するステップと、
    取得された線図データを線図プログラムに変換するステップと、
    組み込みシステムのシーケンス制御が所定の態様で記述されたシーケンスデータに、変換の結果得られる線図プログラムを、シーケンス制御のステップとして関連付けるステップと、
    線図プログラムと関連付けられたシーケンスデータをシーケンスプログラムに変換し、関連付けられた線図プログラムをシーケンスプログラムに含めるステップと、を含むことを特徴とする編集方法。
  5. フィードバックのためのループを含むサーボ制御用のブロック線図により記述された線図データを取得する機能と、
    取得された線図データを線図プログラムに変換する機能と、
    組み込みシステムのシーケンス制御が所定の態様で記述されたシーケンスデータに、変換の結果得られる線図プログラムを、シーケンス制御のステップとして関連付ける機能と、
    線図プログラムと関連付けられたシーケンスデータをシーケンスプログラムに変換し、関連付けられた線図プログラムをシーケンスプログラムに含める機能と、をコンピュータに実現させることを特徴とするコンピュータプログラム。
JP2012046635A 2012-03-02 2012-03-02 編集装置および編集方法 Active JP5726108B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012046635A JP5726108B2 (ja) 2012-03-02 2012-03-02 編集装置および編集方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012046635A JP5726108B2 (ja) 2012-03-02 2012-03-02 編集装置および編集方法

Publications (2)

Publication Number Publication Date
JP2013182473A JP2013182473A (ja) 2013-09-12
JP5726108B2 true JP5726108B2 (ja) 2015-05-27

Family

ID=49273069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012046635A Active JP5726108B2 (ja) 2012-03-02 2012-03-02 編集装置および編集方法

Country Status (1)

Country Link
JP (1) JP5726108B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7170679B2 (ja) * 2020-01-16 2022-11-14 三菱電機株式会社 エンジニアリングツール

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03123939A (ja) * 1989-10-06 1991-05-27 Hitachi Ltd 多言語混在計算機システム
JPH07191840A (ja) * 1993-12-27 1995-07-28 Mitsubishi Electric Corp プログラム自動生成装置
JP3829905B2 (ja) * 1999-08-06 2006-10-04 オムロン株式会社 プログラマブル・コントローラ
JP3963174B2 (ja) * 2003-03-14 2007-08-22 オムロン株式会社 表示・編集装置及び表示方法並びにプログラム
JP2008102648A (ja) * 2006-10-18 2008-05-01 Meidensha Corp ラダープログラムによるファンクション実行方式

Also Published As

Publication number Publication date
JP2013182473A (ja) 2013-09-12

Similar Documents

Publication Publication Date Title
CN108351636B (zh) 工程设计工具、系统及模块
Rubin et al. Managing cloned variants: a framework and experience
White et al. Improving domain-specific language reuse with software product line techniques
CN106737676B (zh) 一种基于脚本可二次开发的工业机器人编程系统
Bessai et al. Combinatory logic synthesizer
WO2018047620A1 (ja) 実行可能プログラム作成装置、実行可能プログラム作成方法、および、実行可能プログラム作成プログラム
Di Marino et al. Enhancing Human-Robot Collaboration in the Industry 5.0 Context: Workplace Layout Prototyping
Wortmann et al. A fully model-based approach to software development for industrial centrifuges
Adams et al. YAWL: An open source Business Process Management System from science for science
Fischer et al. Abstract syntax trees-and their role in model driven software development
Rudtsch et al. Approach for the conceptual design validation of production systems using automated simulation-model generation
JP5726108B2 (ja) 編集装置および編集方法
CN106293651A (zh) 一种通用接口的实现方法及装置
Bartelt et al. More than a Mockup: SmartComponents: reusable fully functional virtual components from scratch
Becker et al. Integration tools supporting cooperative development processes in chemical engineering
JP2008293186A (ja) 鉄鋼プラント制御プログラムの自動生成方法およびその装置
WO2012104959A1 (ja) モーションsfcプログラム部品作成装置
Schiavi et al. A VR training scenario editor for operation in construction based on BIM 4D and domain expert authoring
Kutscher et al. Upgrading of legacy systems to cyber-physical systems
JP2005222221A (ja) 組込コントローラ開発ツール、組込コントローラ、及び組込コントローラ開発プロセス
JP2010049439A (ja) ソフトウェアモデルを用いたシステム構築方法およびモデリング装置
JP4301976B2 (ja) プログラミングツール
Aabidi et al. Benefits of reverse engineering technologies in software development makerspace
Olbort et al. Integration of Communication using OPC UA in MBSE for the Development of Cyber-Physical Systems
KR101907199B1 (ko) 계측제어 설비에서의 프로그램 구동 장치 및 계측제어 설비에서의 프로그램 구동 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140414

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150306

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150331

R150 Certificate of patent or registration of utility model

Ref document number: 5726108

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150