JPH1124905A - プログラムの開発方法 - Google Patents
プログラムの開発方法Info
- Publication number
- JPH1124905A JPH1124905A JP17698497A JP17698497A JPH1124905A JP H1124905 A JPH1124905 A JP H1124905A JP 17698497 A JP17698497 A JP 17698497A JP 17698497 A JP17698497 A JP 17698497A JP H1124905 A JPH1124905 A JP H1124905A
- Authority
- JP
- Japan
- Prior art keywords
- program
- editor
- instruction
- conversion rule
- keyword
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
(57)【要約】
【課題】 既存のエディタを変更することなく新規命令
を追加したり、機能の変更や機能の拡張を容易にできる
とともに、実行環境特有の機能を直接含むプログラムを
異なる開発環境で作成できるプログラムの開発方法を得
る。 【解決手段】 エディタ1に未登録の特殊命令を含むプ
ログラムを開発する際、特殊命令をエディタ1に既存の
命令に特定の識別子を付与して記述しておき、特定の識
別子を上記特殊命令を表すキーワードとする変換ルール
4を用い、エディタ1から出力されるプログラム中の要
素が変換ルール4に表されている識別子に該当すると
き、この要素を変換ルール4に基づいて変換する。この
変換ルール4は、特定の識別子をキーワードとし、この
キーワードに対して特定の関数と引数の数を属性として
登録したものとする。
を追加したり、機能の変更や機能の拡張を容易にできる
とともに、実行環境特有の機能を直接含むプログラムを
異なる開発環境で作成できるプログラムの開発方法を得
る。 【解決手段】 エディタ1に未登録の特殊命令を含むプ
ログラムを開発する際、特殊命令をエディタ1に既存の
命令に特定の識別子を付与して記述しておき、特定の識
別子を上記特殊命令を表すキーワードとする変換ルール
4を用い、エディタ1から出力されるプログラム中の要
素が変換ルール4に表されている識別子に該当すると
き、この要素を変換ルール4に基づいて変換する。この
変換ルール4は、特定の識別子をキーワードとし、この
キーワードに対して特定の関数と引数の数を属性として
登録したものとする。
Description
【0001】
【発明の属する技術分野】本発明は、プログラムの開発
方法に関するものであり、例えばFA分野において、P
LC(Programmable Logic Con
troller)等のプログラムとして使われるラダー
プログラムなどの開発方法に関し、特に開発および実行
環境の拡張性の向上に関するものである。
方法に関するものであり、例えばFA分野において、P
LC(Programmable Logic Con
troller)等のプログラムとして使われるラダー
プログラムなどの開発方法に関し、特に開発および実行
環境の拡張性の向上に関するものである。
【0002】
【従来の技術】従来、プログラムの開発環境では、使用
するプログラム言語における使用可能な命令は、全てそ
のプログラム言語のエディタに登録されいる必要があ
り、命令の追加や引数の変更などの仕様を変更しようと
すると、エディタを修正する必要があった。命令の追加
や引数の変更を行なうと、それにつれてグラフィック表
示なども変更しなければならないことが多い。このよう
なグラフィック表示の変更は、煩雑な作業となる。一般
にこれらの環境では、新規命令のテストなど、命令の仕
様が頻繁に変わる場合には、開発したプログラムのテス
ト自体よりもエディタの修正作業の方が手間がかかって
いた。
するプログラム言語における使用可能な命令は、全てそ
のプログラム言語のエディタに登録されいる必要があ
り、命令の追加や引数の変更などの仕様を変更しようと
すると、エディタを修正する必要があった。命令の追加
や引数の変更を行なうと、それにつれてグラフィック表
示なども変更しなければならないことが多い。このよう
なグラフィック表示の変更は、煩雑な作業となる。一般
にこれらの環境では、新規命令のテストなど、命令の仕
様が頻繁に変わる場合には、開発したプログラムのテス
ト自体よりもエディタの修正作業の方が手間がかかって
いた。
【0003】例えば、図7は特殊命令を挿入した場合の
グラフィック表示の領域の変化を示すもので、図7
(a)は特殊命令挿入前の表示を示し、図7(b)は特
殊命令挿入後の表示を示す。ここで、X1,X2,Y
1,Y2はエディタに既存の命令であり、特殊命令’A
DD’命令は3つの引数を有し、例えば引数AをIN1
の端子,引数BをIN2の端子,引数CをOUTの端子
とする命令である。また、図8は引数の数が異なる場合
の、グラフィック表示に要する領域の変化を示すもの
で、図8(a)は引数が3つの場合の命令’ADD’の
表示を示し、図8(b)は引数がない場合の命令’NO
T’の表示を示す。
グラフィック表示の領域の変化を示すもので、図7
(a)は特殊命令挿入前の表示を示し、図7(b)は特
殊命令挿入後の表示を示す。ここで、X1,X2,Y
1,Y2はエディタに既存の命令であり、特殊命令’A
DD’命令は3つの引数を有し、例えば引数AをIN1
の端子,引数BをIN2の端子,引数CをOUTの端子
とする命令である。また、図8は引数の数が異なる場合
の、グラフィック表示に要する領域の変化を示すもの
で、図8(a)は引数が3つの場合の命令’ADD’の
表示を示し、図8(b)は引数がない場合の命令’NO
T’の表示を示す。
【0004】図7,図8に示すように、エディタに未登
録の特殊命令が追加されたり、引数の数が変わったりす
る場合、グラフィック表示に要する領域の大きさが変化
してしまう。命令のそれぞれに応じて表示する要素の大
きさが異なるので、エディタの編集時には、表示する要
素に合わせて表示を書き直さなければならず、煩雑なエ
ディタの修正作業が必要となっていた。
録の特殊命令が追加されたり、引数の数が変わったりす
る場合、グラフィック表示に要する領域の大きさが変化
してしまう。命令のそれぞれに応じて表示する要素の大
きさが異なるので、エディタの編集時には、表示する要
素に合わせて表示を書き直さなければならず、煩雑なエ
ディタの修正作業が必要となっていた。
【0005】
【発明が解決しようとする課題】上記のように従来のプ
ログラムの開発方法では、プログラムを開発する際に使
用できる命令は、全てエディタに登録されている必要が
あったため、新しい命令を追加する場合や、命令の仕様
を変更する場合には、まず、エディタの修正が必要であ
った。また、端子や機能毎に表示記号の大きさを変えて
いる場合、表示記号の挿入や削除によって表示する間隔
が変化するため、例えばCRTに表示する際の表示位置
を再計算するという煩雑な作業が必要であった。
ログラムの開発方法では、プログラムを開発する際に使
用できる命令は、全てエディタに登録されている必要が
あったため、新しい命令を追加する場合や、命令の仕様
を変更する場合には、まず、エディタの修正が必要であ
った。また、端子や機能毎に表示記号の大きさを変えて
いる場合、表示記号の挿入や削除によって表示する間隔
が変化するため、例えばCRTに表示する際の表示位置
を再計算するという煩雑な作業が必要であった。
【0006】また、従来の開発環境が実行環境と密接に
結びついており、それぞれの実行環境特有の機能を直接
含むようなプログラムは、その実行環境に対応した開発
環境のみでしか開発できず、異なる開発環境で作成する
ことができなかった。
結びついており、それぞれの実行環境特有の機能を直接
含むようなプログラムは、その実行環境に対応した開発
環境のみでしか開発できず、異なる開発環境で作成する
ことができなかった。
【0007】本発明は上記のような問題点を解消するた
めになされたもので、既存のエディタを変更することな
く新規命令を追加したり、機能の変更や機能の拡張を容
易にできるとともに、実行環境特有の機能を直接含むプ
ログラムを異なる開発環境で作成できるプログラムの開
発方法を得ることを目的とする。
めになされたもので、既存のエディタを変更することな
く新規命令を追加したり、機能の変更や機能の拡張を容
易にできるとともに、実行環境特有の機能を直接含むプ
ログラムを異なる開発環境で作成できるプログラムの開
発方法を得ることを目的とする。
【0008】
【課題を解決するための手段】本発明の第1の構成によ
るプログラムの開発方法は、エディタに未登録の特殊命
令を含むプログラムを開発する際、特殊命令をエディタ
に既存の命令に特定の識別子を付与して記述しておき、
特定の識別子を特殊命令を表すキーワードとする変換ル
ールを用い、エディタから出力されるプログラム中の要
素が変換ルールに表されている識別子に該当するとき、
この要素を変換ルールに基づいて変換することを特徴と
するものである。
るプログラムの開発方法は、エディタに未登録の特殊命
令を含むプログラムを開発する際、特殊命令をエディタ
に既存の命令に特定の識別子を付与して記述しておき、
特定の識別子を特殊命令を表すキーワードとする変換ル
ールを用い、エディタから出力されるプログラム中の要
素が変換ルールに表されている識別子に該当するとき、
この要素を変換ルールに基づいて変換することを特徴と
するものである。
【0009】また、本発明の第2の構成によるプログラ
ムの開発方法は、第1の構成における変換ルールを、特
定の識別子をキーワードとし、このキーワードに対して
特定の関数と引数の数を属性として登録したものとし、
エディタから出力されるプログラム中の要素がキーワー
ドに該当するとき、この要素を変換ルールに登録された
関数に変換するものである。
ムの開発方法は、第1の構成における変換ルールを、特
定の識別子をキーワードとし、このキーワードに対して
特定の関数と引数の数を属性として登録したものとし、
エディタから出力されるプログラム中の要素がキーワー
ドに該当するとき、この要素を変換ルールに登録された
関数に変換するものである。
【0010】また、本発明の第3の構成によるプログラ
ムの開発方法は、第1または第2の構成において、プロ
グラムをラダープログラムとしたものである。
ムの開発方法は、第1または第2の構成において、プロ
グラムをラダープログラムとしたものである。
【0011】また、本発明の第4の構成によるプログラ
ム開発方法は、第3の構成において、特殊命令をエディ
タに既存の命令として記述する際、既存の命令を出力端
子で記述することを特徴とするものである。
ム開発方法は、第3の構成において、特殊命令をエディ
タに既存の命令として記述する際、既存の命令を出力端
子で記述することを特徴とするものである。
【0012】
実施の形態1.以下、実施の形態1によるプログラムの
開発方法について、例えばラダープログラムを開発する
場合の方法について説明する。図1は本実施の形態によ
るラダープログラムの開発方法を用いた開発手順を示す
フローチャートである。
開発方法について、例えばラダープログラムを開発する
場合の方法について説明する。図1は本実施の形態によ
るラダープログラムの開発方法を用いた開発手順を示す
フローチャートである。
【0013】また、図2は、本実施の形態によるプログ
ラムの開発方法を用いたラダープログラムの開発および
実行環境の全体構成を示す構成図である。図2におい
て、1はラダーエディタ、2はルール変換フィルタ、3
は実行環境、4は変換ルール、5はラダープログラムを
開発するAシステム、6はラダープログラムで開発した
プログラムを実行するBシステムである。ラダーエディ
タ1はAシステムに属し、実行環境3はBシステムに属
している。
ラムの開発方法を用いたラダープログラムの開発および
実行環境の全体構成を示す構成図である。図2におい
て、1はラダーエディタ、2はルール変換フィルタ、3
は実行環境、4は変換ルール、5はラダープログラムを
開発するAシステム、6はラダープログラムで開発した
プログラムを実行するBシステムである。ラダーエディ
タ1はAシステムに属し、実行環境3はBシステムに属
している。
【0014】以下、図1,図2に基づいてプログラム開
発する場合の具体例を説明する。ここで、ラダープログ
ラムを開発するシステム(Aシステム5)と実行するシ
ステム(Bシステム6)は異なるものとし、プログラム
中には、Aシステム5のラダーエディタ1に未登録の特
殊命令として、’ADD’という命令を用いるものとす
る。この’ADD’命令はA,B,Cの3つの引数を有
する構成である。
発する場合の具体例を説明する。ここで、ラダープログ
ラムを開発するシステム(Aシステム5)と実行するシ
ステム(Bシステム6)は異なるものとし、プログラム
中には、Aシステム5のラダーエディタ1に未登録の特
殊命令として、’ADD’という命令を用いるものとす
る。この’ADD’命令はA,B,Cの3つの引数を有
する構成である。
【0015】まず、ステップST1でラダープログラム
によって機器用のプログラム開発を行う。このとき、A
システム5に属するラダーエディタ1に登録されていな
い’ADD’命令およびその引数を、例えば図3の様に
記述しておく。図3において、’IN’11と’OU
T’16はラダーエディタ1に既存の命令であり、新規
命令の’ADD’は’ADD’12,’A’13,’
B’14,’C’15のように、入力端子’IN’11
と同じ命令として記述し、図のようにそれぞれ特定の識
別子として例えば名前を付与しておく。ラダーエディタ
1によって編集した結果、中間プログラムを出力する。
によって機器用のプログラム開発を行う。このとき、A
システム5に属するラダーエディタ1に登録されていな
い’ADD’命令およびその引数を、例えば図3の様に
記述しておく。図3において、’IN’11と’OU
T’16はラダーエディタ1に既存の命令であり、新規
命令の’ADD’は’ADD’12,’A’13,’
B’14,’C’15のように、入力端子’IN’11
と同じ命令として記述し、図のようにそれぞれ特定の識
別子として例えば名前を付与しておく。ラダーエディタ
1によって編集した結果、中間プログラムを出力する。
【0016】図4は、図3に示したプログラムをラダー
エディタ1によって編集し出力した中間プログラムを示
す出力例である。即ち、’ADD’命令および3つの引
数はそれぞれ、ラダーエディタ1の既存の命令’AN
D’として出力され、テキスト21のように既存の命
令’AND’に編集されている。
エディタ1によって編集し出力した中間プログラムを示
す出力例である。即ち、’ADD’命令および3つの引
数はそれぞれ、ラダーエディタ1の既存の命令’AN
D’として出力され、テキスト21のように既存の命
令’AND’に編集されている。
【0017】このAシステム5で出力された中間プログ
ラムには、新規の’ADD’命令が一時的に他の命令
(AND)として作成されている。このため、ステップ
ST2で、新規の特殊命令を編集するための変換ルール
4を作成すると共に、その変換ルール4に基づいて特殊
命令である’ADD’命令を編集するルール変換フィル
タ2を作成する。変換ルール4には、特殊命令を表すキ
ーワードとしての特定の識別子を特定の関数と属性に任
意に結び付けるものであり、その具体例を図5に示す。
具体的にキーワードと引数の数と変換コード($1,$
2,...はキーワードに続く端子の名前が対応してい
る)の関係を表している。
ラムには、新規の’ADD’命令が一時的に他の命令
(AND)として作成されている。このため、ステップ
ST2で、新規の特殊命令を編集するための変換ルール
4を作成すると共に、その変換ルール4に基づいて特殊
命令である’ADD’命令を編集するルール変換フィル
タ2を作成する。変換ルール4には、特殊命令を表すキ
ーワードとしての特定の識別子を特定の関数と属性に任
意に結び付けるものであり、その具体例を図5に示す。
具体的にキーワードと引数の数と変換コード($1,$
2,...はキーワードに続く端子の名前が対応してい
る)の関係を表している。
【0018】ステップST3では、ルール変換フィルタ
2で中間プログラムを変換してプログラムBを出力す
る。ルール変換フィルタ2により、図4に示す中間プロ
グラムを図5に示す変換ルールに基づいて編集すると、
図6の様に変換される。即ち、図3の’ADD’が図5
の変換ルール4内のキーワードとして登録されているの
を認識し、これに対応する変換コードとして CALL ADD($1、$2、$3) と、変換される。これと同時に引数を認識してテキスト
22に示すように、 CALL ADD(A,B,C) と変換され、図6に示すようにプログラムBが生成され
る。このプログラムBはBシステム6で実行可能なもの
であり、ステップST4で実行する。
2で中間プログラムを変換してプログラムBを出力す
る。ルール変換フィルタ2により、図4に示す中間プロ
グラムを図5に示す変換ルールに基づいて編集すると、
図6の様に変換される。即ち、図3の’ADD’が図5
の変換ルール4内のキーワードとして登録されているの
を認識し、これに対応する変換コードとして CALL ADD($1、$2、$3) と、変換される。これと同時に引数を認識してテキスト
22に示すように、 CALL ADD(A,B,C) と変換され、図6に示すようにプログラムBが生成され
る。このプログラムBはBシステム6で実行可能なもの
であり、ステップST4で実行する。
【0019】プログラムの開発環境であるAシステム5
と実行環境であるBシステム6とは異なる環境を使用し
ているので、実行環境のシステム依存のコードである特
殊命令を含むプログラムに対しては、本来互換性がな
い。本実施の形態では、ラダーエディタ1で出力した中
間プログラムは、ラダーエディタ1が属するAシステム
5に依存した実行環境で実行可能なプログラムとなって
いる。これをルール変換フィルタ2により、キーワード
を含んだ命令を変換ルール4を用いて特殊命令に置き換
えたプログラムに変換すると、Bシステム6の実行環境
で実行可能な特殊命令を含んだプログラムBが生成され
る。
と実行環境であるBシステム6とは異なる環境を使用し
ているので、実行環境のシステム依存のコードである特
殊命令を含むプログラムに対しては、本来互換性がな
い。本実施の形態では、ラダーエディタ1で出力した中
間プログラムは、ラダーエディタ1が属するAシステム
5に依存した実行環境で実行可能なプログラムとなって
いる。これをルール変換フィルタ2により、キーワード
を含んだ命令を変換ルール4を用いて特殊命令に置き換
えたプログラムに変換すると、Bシステム6の実行環境
で実行可能な特殊命令を含んだプログラムBが生成され
る。
【0020】従来のプログラムの開発方法では、’AD
D’命令がラダーエディタに登録されている必要がある
が、本実施の形態によるプログラムの開発方法では、特
殊命令の’ADD’という識別子をキーワードとして登
録することで、図3に示すように、複数の入力端子12
〜15だけを用いて、ADDという機能を表現すること
ができる。この場合、入力端子がこのキーワードを識別
子として使用した場合にのみ、特殊命令として解釈する
という変換ルールを用いる。
D’命令がラダーエディタに登録されている必要がある
が、本実施の形態によるプログラムの開発方法では、特
殊命令の’ADD’という識別子をキーワードとして登
録することで、図3に示すように、複数の入力端子12
〜15だけを用いて、ADDという機能を表現すること
ができる。この場合、入力端子がこのキーワードを識別
子として使用した場合にのみ、特殊命令として解釈する
という変換ルールを用いる。
【0021】以上のように、端子が特定の識別子を持つ
とき、キーワードマッチング方式により、通常の機能と
異なる別の命令として解釈して変換するルール変換フィ
ルタ2を備えることで、既存のラダーエディタ1を変更
することなく新規命令を追加したり、機能の変更や機能
の拡張を容易にできるとともに、実行環境特有の機能を
直接含むプログラムを異なる開発環境で作成できる。ま
た、ラダーエディタ1と実行環境3が互換性のない異な
るシステム(Aシステム、Bシステム)に属していて
も、ラダーエディタ1を修正することなく、実行環境特
有の特殊命令を使用したプログラムを作成することがで
きる。
とき、キーワードマッチング方式により、通常の機能と
異なる別の命令として解釈して変換するルール変換フィ
ルタ2を備えることで、既存のラダーエディタ1を変更
することなく新規命令を追加したり、機能の変更や機能
の拡張を容易にできるとともに、実行環境特有の機能を
直接含むプログラムを異なる開発環境で作成できる。ま
た、ラダーエディタ1と実行環境3が互換性のない異な
るシステム(Aシステム、Bシステム)に属していて
も、ラダーエディタ1を修正することなく、実行環境特
有の特殊命令を使用したプログラムを作成することがで
きる。
【0022】なお、この例では、変換の対象となる入力
端子12〜15は通常の入力として扱われているが、こ
れらの端子の値を常にTRUEにしておくことで、後続
の命令である出力端子16の状態に影響を与えない入力
命令の列となる。このため、ラダーエディタ1で出力し
たプログラムを、そのままラダーエディタ1が属するA
システム5で実行しても、特殊命令部分は他の端子の状
態に影響を与えない端子の列となる。従って、特殊命令
に対応する部分を除いたプログラムについて、ラダーエ
ディタ1が属する開発環境でそのままデバッグすること
もできる。
端子12〜15は通常の入力として扱われているが、こ
れらの端子の値を常にTRUEにしておくことで、後続
の命令である出力端子16の状態に影響を与えない入力
命令の列となる。このため、ラダーエディタ1で出力し
たプログラムを、そのままラダーエディタ1が属するA
システム5で実行しても、特殊命令部分は他の端子の状
態に影響を与えない端子の列となる。従って、特殊命令
に対応する部分を除いたプログラムについて、ラダーエ
ディタ1が属する開発環境でそのままデバッグすること
もできる。
【0023】また、本実施の形態を新規命令をテストす
るためのプロトタイプとして利用すると、最も時間のか
かるラダーエディタ1の修正作業を必要としないので、
容易にテストができる。
るためのプロトタイプとして利用すると、最も時間のか
かるラダーエディタ1の修正作業を必要としないので、
容易にテストができる。
【0024】図5に示した変換ルール4は、通常のキー
ワードマッチングによる変換ルールを例としている。即
ち、キーワードの属性として、特殊命令に与える引数の
数や変換するコードを指定する。このように構成する
と、引数の数や内容は変換ルールだけで決まるので、特
殊解釈する命令に与える引数を任意の数に設定できる。
また、これらの変更も容易にできる。なお、変換ルール
4は図5のような構成に限るものではないが、変換ルー
ルとして一般的な形式とし、汎用性を持たせることで、
ルール変換フィルタ2も開発プログラムに応じてその度
に作成する必要がなく、変換ルールの追加や修正のみで
特殊命令を含むプログラムの開発を実現できる。
ワードマッチングによる変換ルールを例としている。即
ち、キーワードの属性として、特殊命令に与える引数の
数や変換するコードを指定する。このように構成する
と、引数の数や内容は変換ルールだけで決まるので、特
殊解釈する命令に与える引数を任意の数に設定できる。
また、これらの変更も容易にできる。なお、変換ルール
4は図5のような構成に限るものではないが、変換ルー
ルとして一般的な形式とし、汎用性を持たせることで、
ルール変換フィルタ2も開発プログラムに応じてその度
に作成する必要がなく、変換ルールの追加や修正のみで
特殊命令を含むプログラムの開発を実現できる。
【0025】実施の形態2.実施の形態1では、特殊命
令をラダーエディタに既存の命令のうち、入力端子を用
いて記述したが、1つのラングに複数の出力端子を記述
可能なラダーエディタを使用した場合には、特殊命令と
引数を割り当てる既存の命令を出力端子としてもよい。
令をラダーエディタに既存の命令のうち、入力端子を用
いて記述したが、1つのラングに複数の出力端子を記述
可能なラダーエディタを使用した場合には、特殊命令と
引数を割り当てる既存の命令を出力端子としてもよい。
【0026】出力端子の値は後続の端子の状態に影響を
与えない。このため、入力端子で記述した場合にはその
入力端子の値を常にTRUEにしておく必要があった
が、出力端子で記述した場合には、これらの出力端子の
値をTRUEに保つ必要がなくなる。
与えない。このため、入力端子で記述した場合にはその
入力端子の値を常にTRUEにしておく必要があった
が、出力端子で記述した場合には、これらの出力端子の
値をTRUEに保つ必要がなくなる。
【0027】実施の形態3.実施の形態3によるプログ
ラムの開発方法を実現するAシステム,Bシステムの構
成および動作は実施の形態1と同様である。ここで、A
システムにおけるラダーエディタ1として、入出力端子
などの標準的な命令のみを登録しておく。そして、入出
力端子以外のシステム依存の機能に係わる命令は、全て
ダミー命令、即ちラダーエディタ1に既存の命令に特定
の識別子を付与して記述する。ラダーエディタ1によっ
て編集し出力された中間プログラムを、特定の識別子を
特殊命令を表すキーワードとする変換ルールに基づいて
キーワードマッチング方式で変換する。
ラムの開発方法を実現するAシステム,Bシステムの構
成および動作は実施の形態1と同様である。ここで、A
システムにおけるラダーエディタ1として、入出力端子
などの標準的な命令のみを登録しておく。そして、入出
力端子以外のシステム依存の機能に係わる命令は、全て
ダミー命令、即ちラダーエディタ1に既存の命令に特定
の識別子を付与して記述する。ラダーエディタ1によっ
て編集し出力された中間プログラムを、特定の識別子を
特殊命令を表すキーワードとする変換ルールに基づいて
キーワードマッチング方式で変換する。
【0028】この場合、ラダーエディタ1の機能として
は単純なものだけを用意すればよく、またこのラダーエ
ディタ1で編集し出力した中間プログラムには、他のシ
ステムで使えない命令は含まれない。ラダーエディタ1
に登録されていない特殊命令に関しては、変換ルール4
を汎用的なファイル構成にしておき、このファイルに特
殊命令に関する情報を追加したり、修正したりすれば、
移植の容易なプログラムが開発できる。また変換ルール
4を別に作成し、交換してもよい。
は単純なものだけを用意すればよく、またこのラダーエ
ディタ1で編集し出力した中間プログラムには、他のシ
ステムで使えない命令は含まれない。ラダーエディタ1
に登録されていない特殊命令に関しては、変換ルール4
を汎用的なファイル構成にしておき、このファイルに特
殊命令に関する情報を追加したり、修正したりすれば、
移植の容易なプログラムが開発できる。また変換ルール
4を別に作成し、交換してもよい。
【0029】本実施の形態では、システム依存の機能は
全てキーワードマッチング方式による変換方法を用いる
ため、新規命令の追加や、命令の仕様の変更において、
ラダーエディタ1の修正作業が不要となり、プログラム
開発の効率が上がる。
全てキーワードマッチング方式による変換方法を用いる
ため、新規命令の追加や、命令の仕様の変更において、
ラダーエディタ1の修正作業が不要となり、プログラム
開発の効率が上がる。
【0030】また、このプログラムの開発方法を用いる
と、ラダーエディタ1は非常に小規模で簡単なものとな
り、高価なGUI処理(Graphic User I
nterface処理)を行わなくても、キャラクタエ
ディタのような低機能なエディタでも実現が可能とな
る。さらに、ラダーエディタ1によって出力される中間
プログラムも単純になるので、コンパイラも単純にな
り、小さくて簡単な開発環境が実現できる。これらによ
り、安価なシステムを提供できるので、特に組み込むS
/W部品の低価格化や小規模化を要求される機器組み込
み用に適する。
と、ラダーエディタ1は非常に小規模で簡単なものとな
り、高価なGUI処理(Graphic User I
nterface処理)を行わなくても、キャラクタエ
ディタのような低機能なエディタでも実現が可能とな
る。さらに、ラダーエディタ1によって出力される中間
プログラムも単純になるので、コンパイラも単純にな
り、小さくて簡単な開発環境が実現できる。これらによ
り、安価なシステムを提供できるので、特に組み込むS
/W部品の低価格化や小規模化を要求される機器組み込
み用に適する。
【0031】以上、ラダープログラムを対象とした実施
の形態1〜3について説明してきたが、本プログラムの
開発方法はラダープログラムだけでなく、プログラム開
発全般に適用できる。例えばNC分野では、モーショ
ン,ロボット,ビジョン等の言語を含んだ多言語系の開
発環境が必要とされているが、これらの言語系において
も固有の命令の存在がプログラムの移植性を下げてい
る。この多言語系においても、個々の命令や引数に対し
て本発明を適用することによって、ラダープログラムの
場合と同様の効果を得ることができる。
の形態1〜3について説明してきたが、本プログラムの
開発方法はラダープログラムだけでなく、プログラム開
発全般に適用できる。例えばNC分野では、モーショ
ン,ロボット,ビジョン等の言語を含んだ多言語系の開
発環境が必要とされているが、これらの言語系において
も固有の命令の存在がプログラムの移植性を下げてい
る。この多言語系においても、個々の命令や引数に対し
て本発明を適用することによって、ラダープログラムの
場合と同様の効果を得ることができる。
【0032】
【発明の効果】以上のように、本発明の第1の構成によ
れば、エディタに未登録の特殊命令を含むプログラムを
開発する際、特殊命令をエディタに既存の命令に特定の
識別子を付与して記述しておき、特定の識別子を特殊命
令を表すキーワードとする変換ルールを用い、エディタ
から出力されるプログラム中の要素が変換ルールに表さ
れている識別子に該当するとき、この要素を変換ルール
に基づいて変換することにより、既存のエディタを変更
することなく新規命令を追加したり、機能の変更や機能
の拡張を容易にできるとともに、実行環境特有の機能を
直接含むプログラムを異なる開発環境で作成できるプロ
グラムの開発方法を得ることができる。
れば、エディタに未登録の特殊命令を含むプログラムを
開発する際、特殊命令をエディタに既存の命令に特定の
識別子を付与して記述しておき、特定の識別子を特殊命
令を表すキーワードとする変換ルールを用い、エディタ
から出力されるプログラム中の要素が変換ルールに表さ
れている識別子に該当するとき、この要素を変換ルール
に基づいて変換することにより、既存のエディタを変更
することなく新規命令を追加したり、機能の変更や機能
の拡張を容易にできるとともに、実行環境特有の機能を
直接含むプログラムを異なる開発環境で作成できるプロ
グラムの開発方法を得ることができる。
【0033】また、本発明の第2の構成によれば、第1
の構成における変換ルールを、特定の識別子をキーワー
ドとし、このキーワードに対して特定の関数と引数の数
を属性として登録したものとし、エディタから出力され
るプログラム中の要素がキーワードに該当するとき、こ
の要素を変換ルールに登録された関数に変換することに
より、特殊命令の引数の数や内容を任意に簡単に設定で
きるプログラムの開発方法が得られる。
の構成における変換ルールを、特定の識別子をキーワー
ドとし、このキーワードに対して特定の関数と引数の数
を属性として登録したものとし、エディタから出力され
るプログラム中の要素がキーワードに該当するとき、こ
の要素を変換ルールに登録された関数に変換することに
より、特殊命令の引数の数や内容を任意に簡単に設定で
きるプログラムの開発方法が得られる。
【0034】また、本発明の第3の構成によれば、第1
または第2の構成におけるプログラムをラダープログラ
ムとしたことにより、ラダーエディタと実行環境が互換
性のない異なるシステムに属していても、実行環境特有
の特殊命令を使用したラダープログラムをラダーエディ
タを修正することなく作成できるプログラムの開発方法
が得られる。
または第2の構成におけるプログラムをラダープログラ
ムとしたことにより、ラダーエディタと実行環境が互換
性のない異なるシステムに属していても、実行環境特有
の特殊命令を使用したラダープログラムをラダーエディ
タを修正することなく作成できるプログラムの開発方法
が得られる。
【0035】また、本発明の第4の構成によれば、第1
の構成において、特殊命令をエディタに既存の命令とし
て記述する際、既存の命令を出力端子としたことによ
り、後続の端子の状態に影響を及ぼさず、特殊命令以外
の部分の検証や実行を従来のままで行なうことのできる
プログラムの開発方法が得られる。
の構成において、特殊命令をエディタに既存の命令とし
て記述する際、既存の命令を出力端子としたことによ
り、後続の端子の状態に影響を及ぼさず、特殊命令以外
の部分の検証や実行を従来のままで行なうことのできる
プログラムの開発方法が得られる。
【図1】 本発明の実施の形態1によるプログラムの開
発方法を示すフローチャートである。
発方法を示すフローチャートである。
【図2】 実施の形態1に係わるプログラムの開発シス
テムを示す説明図である。
テムを示す説明図である。
【図3】 実施の形態1に係わるラダープログラムを示
す説明図である。
す説明図である。
【図4】 実施の形態1に係わる中間プログラムを示す
説明図である。
説明図である。
【図5】 実施の形態1に係わる変換ルールを示す説明
図である。
図である。
【図6】 実施の形態1に係わるプログラムBを示す説
明図である。
明図である。
【図7】 従来のラダープログラムの記述例を示す説明
図である。
図である。
【図8】 従来のラダープログラムの記述例を示す説明
図である。
図である。
1 ラダーエディタ、2 ルール変換フィルタ、3 実
行環境、4 変換ルール、5 Aシステム、6 Bシス
テム、12 キーワードを名前に持つ端子、13〜15
特殊命令の引数にあたる端子、16 後続の出力端
子、21 特殊命令とその引数にあたる端子の部分のテ
キスト、22 変換された特殊命令のテキスト。
行環境、4 変換ルール、5 Aシステム、6 Bシス
テム、12 キーワードを名前に持つ端子、13〜15
特殊命令の引数にあたる端子、16 後続の出力端
子、21 特殊命令とその引数にあたる端子の部分のテ
キスト、22 変換された特殊命令のテキスト。
Claims (4)
- 【請求項1】 エディタに未登録の特殊命令を含むプロ
グラムを開発する際、上記特殊命令を上記エディタに既
存の命令に特定の識別子を付与して記述しておき、上記
特定の識別子を上記特殊命令を表すキーワードとする変
換ルールを用い、上記エディタから出力されるプログラ
ム中の要素が上記変換ルールに表されている識別子に該
当するとき、この要素を上記変換ルールに基づいて変換
することを特徴とするプログラムの開発方法。 - 【請求項2】 上記変換ルールは、特定の識別子をキー
ワードとし、このキーワードに対して特定の関数と引数
の数を属性として登録したものとし、エディタから出力
されるプログラム中の要素が上記キーワードに該当する
とき、この要素を上記変換ルールに登録された関数に変
換することを特徴とする請求項1記載のプログラムの開
発方法。 - 【請求項3】 上記プログラムはラダープログラムであ
ることを特徴とする請求項1または請求項2記載のプロ
グラムの開発方法。 - 【請求項4】 特殊命令をエディタに既存の命令として
記述する際、上記既存の命令は出力端子であることを特
徴とする請求項3記載のプログラムの開発方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17698497A JPH1124905A (ja) | 1997-07-02 | 1997-07-02 | プログラムの開発方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17698497A JPH1124905A (ja) | 1997-07-02 | 1997-07-02 | プログラムの開発方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1124905A true JPH1124905A (ja) | 1999-01-29 |
Family
ID=16023155
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP17698497A Pending JPH1124905A (ja) | 1997-07-02 | 1997-07-02 | プログラムの開発方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH1124905A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPWO2011080945A1 (ja) * | 2009-12-28 | 2013-05-09 | 三菱電機株式会社 | プログラム作成支援装置 |
-
1997
- 1997-07-02 JP JP17698497A patent/JPH1124905A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPWO2011080945A1 (ja) * | 2009-12-28 | 2013-05-09 | 三菱電機株式会社 | プログラム作成支援装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5504902A (en) | Multi-language generation of control program for an industrial controller | |
| US5557774A (en) | Method for making test environmental programs | |
| JP2666847B2 (ja) | 異種言語間連絡方式 | |
| US7062427B2 (en) | Batch editor for netlists described in a hardware description language | |
| US20060117267A1 (en) | System and method for property-based focus navigation in a user interface | |
| JPH11513512A (ja) | ディジタル信号プロセッサの製造方法 | |
| US6055368A (en) | Batch execution control programming device and method | |
| JP2004213677A (ja) | Guiを有するコンピュータシステムでタスクを実行する方法 | |
| JPS6017539A (ja) | エミユレ−シヨン方式 | |
| CN111611008A (zh) | 一种软件代码打包部署方法、装置、设备及存储介质 | |
| CN116860589A (zh) | 一种寄存器验证方法、装置、电子设备及计算机存储介质 | |
| US9329840B1 (en) | Graphical programming of custom device drivers | |
| US7152214B2 (en) | Recognition of a state machine in high-level integrated circuit description language code | |
| CN113238746A (zh) | 一种混合编程控制方法、装置、设备及存储介质 | |
| JPH1124905A (ja) | プログラムの開発方法 | |
| EP0692112B1 (en) | Dynamic browser system | |
| JPH0934698A (ja) | ソフトウェア生成方法及び開発支援方法 | |
| US20020104073A1 (en) | Component oriented programming (cop) language | |
| CN114356430A (zh) | 一种基于airflow调度系统的DAG依赖配置工具 | |
| JP2002116911A (ja) | オブジェクト指向プログラムの自動生成装置 | |
| JP2003050722A (ja) | プログラム解析システムとプログラム解析方法 | |
| JPH0612250A (ja) | 視覚的プログラミング方法 | |
| JP2551935B2 (ja) | 図的言語処理方式 | |
| JP2945753B2 (ja) | 情報処理装置 | |
| JPS6033640A (ja) | デ−タ・モニタ方式 |