JPH1069379A - 図的プログラミング方法 - Google Patents
図的プログラミング方法Info
- Publication number
- JPH1069379A JPH1069379A JP8226562A JP22656296A JPH1069379A JP H1069379 A JPH1069379 A JP H1069379A JP 8226562 A JP8226562 A JP 8226562A JP 22656296 A JP22656296 A JP 22656296A JP H1069379 A JPH1069379 A JP H1069379A
- Authority
- JP
- Japan
- Prior art keywords
- function block
- block
- name
- new
- program code
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
(57)【要約】
【課題】 ユーザーが新たに作成したプログラムを包含
する機能ブロックをソフトウェア部品として再利用でき
る図的プログラミング環境を提供する。 【解決手段】 新しい機能ブロックを生成する際に、接
続可能な他の機能ブロックの論理名称を前記新しい機能
ブロックにおいてあらかじめ明示し、かつ、前記新しい
機能ブロックが包含するプログラムコードをそれが参照
する他の機能ブロックの論理名称を用いて記述するよう
にした。また、前記新しい機能ブロックを利用する際
に、新しい機能ブロックを他の機能ブロックと接続した
ときに他の機能ブロックがあらかじめ明示された前記論
理名称を有するか否かを確認し、接続関係が定義された
機能ブロックを実体化するときに新しい機能ブロックが
包含するプログラムコード中の論理名称を実際に接続さ
れた前記他の機能ブロックの物理名称に自動的に置き換
えるようにした。
する機能ブロックをソフトウェア部品として再利用でき
る図的プログラミング環境を提供する。 【解決手段】 新しい機能ブロックを生成する際に、接
続可能な他の機能ブロックの論理名称を前記新しい機能
ブロックにおいてあらかじめ明示し、かつ、前記新しい
機能ブロックが包含するプログラムコードをそれが参照
する他の機能ブロックの論理名称を用いて記述するよう
にした。また、前記新しい機能ブロックを利用する際
に、新しい機能ブロックを他の機能ブロックと接続した
ときに他の機能ブロックがあらかじめ明示された前記論
理名称を有するか否かを確認し、接続関係が定義された
機能ブロックを実体化するときに新しい機能ブロックが
包含するプログラムコード中の論理名称を実際に接続さ
れた前記他の機能ブロックの物理名称に自動的に置き換
えるようにした。
Description
【0001】
【発明の属する技術分野】本発明は、コンピュータのプ
ログラミング方法に属し、詳しくはグラフィカルな手法
を用いた図的プログラミング方法において、特にシステ
ム制御用プログラム等のソースコードを生成する際のソ
フトウェア部品の再利用を考慮した図的プログラミング
方法に関する。
ログラミング方法に属し、詳しくはグラフィカルな手法
を用いた図的プログラミング方法において、特にシステ
ム制御用プログラム等のソースコードを生成する際のソ
フトウェア部品の再利用を考慮した図的プログラミング
方法に関する。
【0002】
【従来の技術】図的プログラミングは、コンピュータデ
ィスプレイ上でブロック図を用いてグラフィカルに接続
し、その接続関係からプログラムをコーディングするプ
ログラミング手法である。このような図的プログラミン
グを、制御設計用コンフィギュレーション・ツールを例
に説明すると以下のようになる。制御設計用コンフィギ
ュレーション・ツールのハードウェア構成を示す模式図
を図1に示す。図的プログラミング環境は、ディスプレ
イ11、CPUや記憶装置等からなる本体12、キーボ
ード13およびマウス14からなるパーソナルコンピュ
ータ(PC)またはワークステーション(WS)上に構
築される。
ィスプレイ上でブロック図を用いてグラフィカルに接続
し、その接続関係からプログラムをコーディングするプ
ログラミング手法である。このような図的プログラミン
グを、制御設計用コンフィギュレーション・ツールを例
に説明すると以下のようになる。制御設計用コンフィギ
ュレーション・ツールのハードウェア構成を示す模式図
を図1に示す。図的プログラミング環境は、ディスプレ
イ11、CPUや記憶装置等からなる本体12、キーボ
ード13およびマウス14からなるパーソナルコンピュ
ータ(PC)またはワークステーション(WS)上に構
築される。
【0003】この制御設計用コンフィギュレーション・
ツールのユーザー、すなわち制御用プログラムのプログ
ラマは、制御システムにおける入出力(I/O)ポイン
トや、PID部品といった制御ポイントなどに対応する
基本機能部品をコンピュータディスプレイ11上のブロ
ックメニュー16から選択して、これを編集画面15上
にアイコンとして表示する。このとき、編集画面15上
にアイコンとして表示される基本機能部品を機能ブロッ
クといい、編集画面15上に表示することを「張り付け
る」という。そしてユーザーは、これら編集画面15上
に張り付けられた機能ブロック17、19間の接続関係
をリンク18を用いて定義する。この制御設計用コンフ
ィギュレーション・ツールは、編集画面15上に張り付
けられた機能ブロックとユーザーによって定義された接
続関係とから制御用プログラムのソースコードを生成す
る。したがって、ユーザーは編集画面上で機能ブロック
の接続関係をグラフィカルに定義するだけで、各機能ブ
ロックが包含するプログラムを意識することなく、制御
用プログラムのソースコードを生成することができる。
ツールのユーザー、すなわち制御用プログラムのプログ
ラマは、制御システムにおける入出力(I/O)ポイン
トや、PID部品といった制御ポイントなどに対応する
基本機能部品をコンピュータディスプレイ11上のブロ
ックメニュー16から選択して、これを編集画面15上
にアイコンとして表示する。このとき、編集画面15上
にアイコンとして表示される基本機能部品を機能ブロッ
クといい、編集画面15上に表示することを「張り付け
る」という。そしてユーザーは、これら編集画面15上
に張り付けられた機能ブロック17、19間の接続関係
をリンク18を用いて定義する。この制御設計用コンフ
ィギュレーション・ツールは、編集画面15上に張り付
けられた機能ブロックとユーザーによって定義された接
続関係とから制御用プログラムのソースコードを生成す
る。したがって、ユーザーは編集画面上で機能ブロック
の接続関係をグラフィカルに定義するだけで、各機能ブ
ロックが包含するプログラムを意識することなく、制御
用プログラムのソースコードを生成することができる。
【0004】ここで機能ブロックは、その機能に対応し
た設定項目とそれに与えられた設定値、およびその機能
を実現するための手続、すなわちプログラムコードを含
むオブジェクトである。したがって、各機能ブロックは
図的プログラミングにおけるソフトウェア部品というこ
とができる。したがって、アプリケーションに合わせて
任意の機能持つ新たな機能ブロックをユーザーが定義で
き、さらに、ユーザーが一度定義した機能ブロックをソ
フトウェア部品として再利用することができれば、プロ
グラムの可搬性およびツールの汎用性を高め、ひいては
ソフトウェアの生産性向上を図ることができる。
た設定項目とそれに与えられた設定値、およびその機能
を実現するための手続、すなわちプログラムコードを含
むオブジェクトである。したがって、各機能ブロックは
図的プログラミングにおけるソフトウェア部品というこ
とができる。したがって、アプリケーションに合わせて
任意の機能持つ新たな機能ブロックをユーザーが定義で
き、さらに、ユーザーが一度定義した機能ブロックをソ
フトウェア部品として再利用することができれば、プロ
グラムの可搬性およびツールの汎用性を高め、ひいては
ソフトウェアの生産性向上を図ることができる。
【0005】
【発明が解決しようとする課題】しかしながら、従来の
図的プログラミング環境においては、利用できる機能ブ
ロックは、入出力(I/O)、ロジック演算、調節制御
機能などのように、標準部品としてあらかじめシステム
に定義された特定の機能のものに限られており、上述の
ようなプログラムの再利用を考慮した図的プログラミン
グ環境は存在していなかった。図的プログラミング環境
においてアプリケーションに合わせて任意の機能を持つ
新たな機能ブロックをユーザーが定義でき、かつそのよ
うな新しい機能ブロックをソフトウェア部品として再利
用できるようにするためには、各ブロックが参照するデ
ータの整合性をどのように担保するかが問題となる。通
常のプログラミングにおいては、ソフトウェア部品とし
て再利用を目的としたプログラムは、使用言語によるも
のの、一般的には関数(ファンクション)を定義すると
いう形式で記述され、ライブラリとして登録しておかな
ければならない。このような関数形式のプログラミング
方法においては、関数を定義する際にそのプログラムで
使用する入出力データの型(タイプ)等のパラメータを
宣言し、この関数を呼び出す側ではこのパラメータ、す
なわちインターフェース条件を考慮して適切なコーディ
ングを行わなければならない。
図的プログラミング環境においては、利用できる機能ブ
ロックは、入出力(I/O)、ロジック演算、調節制御
機能などのように、標準部品としてあらかじめシステム
に定義された特定の機能のものに限られており、上述の
ようなプログラムの再利用を考慮した図的プログラミン
グ環境は存在していなかった。図的プログラミング環境
においてアプリケーションに合わせて任意の機能を持つ
新たな機能ブロックをユーザーが定義でき、かつそのよ
うな新しい機能ブロックをソフトウェア部品として再利
用できるようにするためには、各ブロックが参照するデ
ータの整合性をどのように担保するかが問題となる。通
常のプログラミングにおいては、ソフトウェア部品とし
て再利用を目的としたプログラムは、使用言語によるも
のの、一般的には関数(ファンクション)を定義すると
いう形式で記述され、ライブラリとして登録しておかな
ければならない。このような関数形式のプログラミング
方法においては、関数を定義する際にそのプログラムで
使用する入出力データの型(タイプ)等のパラメータを
宣言し、この関数を呼び出す側ではこのパラメータ、す
なわちインターフェース条件を考慮して適切なコーディ
ングを行わなければならない。
【0006】これに対し、図的プログラミングにおいて
は、変数名やデータタイプ等のパラメータは機能ブロッ
ク内に包含されていてユーザーには陽に示されない。し
たがって、ソフトウェア部品を呼び出す側でインターフ
ェース条件を考慮したコーディングを行う関数形式とは
異なり、データの整合性を担保することが困難となる。
そのため、ユーザーが新たに作成したプログラムを機能
ブロックに割り付けることができたとしても、その機能
ブロックは特定のアプリケーションにのみに利用するこ
とができるだけで、プログラムの可搬性はあってもソフ
トウェア部品としての汎用性を欠いていた。
は、変数名やデータタイプ等のパラメータは機能ブロッ
ク内に包含されていてユーザーには陽に示されない。し
たがって、ソフトウェア部品を呼び出す側でインターフ
ェース条件を考慮したコーディングを行う関数形式とは
異なり、データの整合性を担保することが困難となる。
そのため、ユーザーが新たに作成したプログラムを機能
ブロックに割り付けることができたとしても、その機能
ブロックは特定のアプリケーションにのみに利用するこ
とができるだけで、プログラムの可搬性はあってもソフ
トウェア部品としての汎用性を欠いていた。
【0007】また、編集画面上で機能ブロックを接続し
ていく過程で、属性の一致しない機能ブロック同士を誤
って接続してしまうことも有り得る。このような場合で
も、従来の図的プログラミング環境においてはこれを即
座に指摘する機能がなかった。その結果、このような不
適切な接続に基づいて生成されるソースコードは、デー
タタイプが一致しないなどのバグを持ったものになり、
プログラムの信頼性を損なう結果となる。
ていく過程で、属性の一致しない機能ブロック同士を誤
って接続してしまうことも有り得る。このような場合で
も、従来の図的プログラミング環境においてはこれを即
座に指摘する機能がなかった。その結果、このような不
適切な接続に基づいて生成されるソースコードは、デー
タタイプが一致しないなどのバグを持ったものになり、
プログラムの信頼性を損なう結果となる。
【0008】上述のような問題に鑑み、本発明の目的
は、ソフトウェア部品となるプログラムの可搬性および
汎用性を高め、かつ生成されたプログラムの信頼性を担
保するために、データの整合性を考慮してソフトウェア
部品の再利用を可能とする図的プログラミング環境を提
供することにある。
は、ソフトウェア部品となるプログラムの可搬性および
汎用性を高め、かつ生成されたプログラムの信頼性を担
保するために、データの整合性を考慮してソフトウェア
部品の再利用を可能とする図的プログラミング環境を提
供することにある。
【0009】
【課題を解決するための手段】上述の目的を達成するた
めに、本発明は、図的プログラミング方法において、ア
プリケーションに合わせて任意の機能を表すプログラム
コードを包含する新しい機能ブロックを生成する方法
が、前記新しい機能ブロックがデータを参照することが
できる他の機能ブロックの属性を前記新しい機能ブロッ
クにおいて前記他の機能ブロックの論理名称をあらかじ
め明示することにより宣言する属性宣言手順と、前記新
しい機能ブロックが包含する前記プログラムコードにお
いて前記新しい機能ブロックが参照する前記他の機能ブ
ロックを前記論理名称を用いて記述するプログラムコー
ド作成手順とを含み、前記新しい機能ブロックを利用す
る方法が、前記新しい機能ブロックが他の機能ブロック
と前記コンピュータディスプレイ上でリンクによって接
続されたときに、前記接続された他の機能ブロックが前
記属性宣言手順においてあらかじめ明示された前記論理
名称を有するか否かを確認する接続関係確認手順と、前
記接続関係が定義された前記新しい機能ブロックと前記
他の機能ブロックを実体化するときに前記新しい機能ブ
ロックが包含するプログラムコード中の前記論理名称を
実際に接続された前記他の機能ブロックの物理名称に自
動的に置き換える名称置換手順とを備えることを特徴と
する。
めに、本発明は、図的プログラミング方法において、ア
プリケーションに合わせて任意の機能を表すプログラム
コードを包含する新しい機能ブロックを生成する方法
が、前記新しい機能ブロックがデータを参照することが
できる他の機能ブロックの属性を前記新しい機能ブロッ
クにおいて前記他の機能ブロックの論理名称をあらかじ
め明示することにより宣言する属性宣言手順と、前記新
しい機能ブロックが包含する前記プログラムコードにお
いて前記新しい機能ブロックが参照する前記他の機能ブ
ロックを前記論理名称を用いて記述するプログラムコー
ド作成手順とを含み、前記新しい機能ブロックを利用す
る方法が、前記新しい機能ブロックが他の機能ブロック
と前記コンピュータディスプレイ上でリンクによって接
続されたときに、前記接続された他の機能ブロックが前
記属性宣言手順においてあらかじめ明示された前記論理
名称を有するか否かを確認する接続関係確認手順と、前
記接続関係が定義された前記新しい機能ブロックと前記
他の機能ブロックを実体化するときに前記新しい機能ブ
ロックが包含するプログラムコード中の前記論理名称を
実際に接続された前記他の機能ブロックの物理名称に自
動的に置き換える名称置換手順とを備えることを特徴と
する。
【0010】ここで、機能ブロックの属性とは、その機
能ブロックのプログラムコードによって表される機能と
それに対応した設定項目をさす。したがって、機能ブロ
ックの属性を特定することによって、その機能ブロック
の入出力データのタイプを特定することができる。ま
た、機能ブロックは、論理名称と物理名称の少なくとも
2つの名称を持つことができる。論理名称とは、機能ブ
ロックの属性を示す名称であって、同一の設定項目およ
び同一のプログラムコードを有する機能ブロックは同一
の論理名称を有する。これに対し、物理名称は、特定の
アプリケーションの中で用いられる機能ブロックを特定
するために与えられる名称である。したがって、あるア
プリケーション中で同一の属性を有する機能ブロックは
共通の論理名称を持つが、それらはそれぞれ異なった物
理名称を有する。具体的には編集画面上に表示された機
能ブロックは、論理名称で特定される属性を持ったデー
タ本体を参照する見かけデータであり、この見かけデー
タに与えられる独自の名称が物理名称である。このと
き、物理名称はそのアプリケーションで使用される見か
けデータの格納場所を示すポインタとしての機能を有す
る。
能ブロックのプログラムコードによって表される機能と
それに対応した設定項目をさす。したがって、機能ブロ
ックの属性を特定することによって、その機能ブロック
の入出力データのタイプを特定することができる。ま
た、機能ブロックは、論理名称と物理名称の少なくとも
2つの名称を持つことができる。論理名称とは、機能ブ
ロックの属性を示す名称であって、同一の設定項目およ
び同一のプログラムコードを有する機能ブロックは同一
の論理名称を有する。これに対し、物理名称は、特定の
アプリケーションの中で用いられる機能ブロックを特定
するために与えられる名称である。したがって、あるア
プリケーション中で同一の属性を有する機能ブロックは
共通の論理名称を持つが、それらはそれぞれ異なった物
理名称を有する。具体的には編集画面上に表示された機
能ブロックは、論理名称で特定される属性を持ったデー
タ本体を参照する見かけデータであり、この見かけデー
タに与えられる独自の名称が物理名称である。このと
き、物理名称はそのアプリケーションで使用される見か
けデータの格納場所を示すポインタとしての機能を有す
る。
【0011】したがって、本発明においては、新しい機
能ブロックとデータの授受を行うことのできる他の機能
ブロック、すなわちその新しい機能ブロックと接続する
ことができる他の機能ブロックを、前記属性宣言手順に
おいて論理名称によって特定しておき、その新しい機能
ブロックをコンピュータディスプレイ上で他の機能ブロ
ックと接続しようとしたときに、接続確認手順におい
て、この他の機能ブロックの論理名称とあらかじめ宣言
した論理名称との照合を行っている。これによって、属
性の不一致を検知することができる。
能ブロックとデータの授受を行うことのできる他の機能
ブロック、すなわちその新しい機能ブロックと接続する
ことができる他の機能ブロックを、前記属性宣言手順に
おいて論理名称によって特定しておき、その新しい機能
ブロックをコンピュータディスプレイ上で他の機能ブロ
ックと接続しようとしたときに、接続確認手順におい
て、この他の機能ブロックの論理名称とあらかじめ宣言
した論理名称との照合を行っている。これによって、属
性の不一致を検知することができる。
【0012】さらに、プログラマが新しい機能ブロック
が包含するプログラムコードを書くプログラムコード作
成手順において、特定のアプリケーションでデータの授
受を行う他の機能ブロックを物理名称ではなく論理名称
を用いることを認めている。そして、新しい機能ブロッ
クと他の機能ブロックとの接続関係を定義した後にこれ
らの機能ブロック群を実体化するときに、プログラムコ
ード中の論理名称を実際に接続された他の機能ブロック
の物理名称に自動的に置き換える名称置換手順とを備え
ることによって、そのアプリケーションに対応したソー
スコードが生成されるようにした。これによって、プロ
グラムの可搬性と同時に汎用性を持たせ、新しい機能ブ
ロックのソフトウェア部品としての再利用性を高めてい
る。なお、ここで実体化とは、複数の機能ブロックに包
含された複数のプログラムコードをこれら機能ブロック
間の接続関係から統合して一連のソースコードを生成す
ることをいう。
が包含するプログラムコードを書くプログラムコード作
成手順において、特定のアプリケーションでデータの授
受を行う他の機能ブロックを物理名称ではなく論理名称
を用いることを認めている。そして、新しい機能ブロッ
クと他の機能ブロックとの接続関係を定義した後にこれ
らの機能ブロック群を実体化するときに、プログラムコ
ード中の論理名称を実際に接続された他の機能ブロック
の物理名称に自動的に置き換える名称置換手順とを備え
ることによって、そのアプリケーションに対応したソー
スコードが生成されるようにした。これによって、プロ
グラムの可搬性と同時に汎用性を持たせ、新しい機能ブ
ロックのソフトウェア部品としての再利用性を高めてい
る。なお、ここで実体化とは、複数の機能ブロックに包
含された複数のプログラムコードをこれら機能ブロック
間の接続関係から統合して一連のソースコードを生成す
ることをいう。
【0013】また、請求項2に記載された発明は、新し
い機能ブロックと他の機能ブロックとをコンピュータデ
ィスプレイ上でリンクによって接続しようとしたとき
に、前記接続関係確認手順が、前記接続された他の機能
ブロックが前記属性宣言手順においてあらかじめ明示さ
れた前記論理名称を有することが確認されたときにのみ
前記リンクを成立させることを特徴とする。これによっ
て、不一致が検知されたときにはリンクが成立できない
ようにして、データタイプの不一致となる接続関係が定
義できないようにしている。なお、ここでリンクが成立
するとは、二つの機能ブロックがコンピュータディスプ
レイ上でグラフィカルに接続されるのみならず、これら
の機能ブロック間の入出力関係、すなわちデータの流れ
が規定されることを意味する。したがって、リンクが成
立しないとは、コンピュータディスプレイ上で接続関係
が図示されないとともに、二つの機能ブロック間でのデ
ータの授受が行われないことを意味する。
い機能ブロックと他の機能ブロックとをコンピュータデ
ィスプレイ上でリンクによって接続しようとしたとき
に、前記接続関係確認手順が、前記接続された他の機能
ブロックが前記属性宣言手順においてあらかじめ明示さ
れた前記論理名称を有することが確認されたときにのみ
前記リンクを成立させることを特徴とする。これによっ
て、不一致が検知されたときにはリンクが成立できない
ようにして、データタイプの不一致となる接続関係が定
義できないようにしている。なお、ここでリンクが成立
するとは、二つの機能ブロックがコンピュータディスプ
レイ上でグラフィカルに接続されるのみならず、これら
の機能ブロック間の入出力関係、すなわちデータの流れ
が規定されることを意味する。したがって、リンクが成
立しないとは、コンピュータディスプレイ上で接続関係
が図示されないとともに、二つの機能ブロック間でのデ
ータの授受が行われないことを意味する。
【0014】また、コンピュータディスプレイ上でリン
クを用いて機能ブロック間のデータの流れを記述する際
に本発明の接続関係確認手順において属性の不一致が検
出された場合、リンクを成立させないようにするだけで
もよいが、請求項3に記載された発明は、ユーザーに属
性の不一致を積極的に知らせるように警告メッセージを
前記コンピュータディスプレイ上に表示することを特徴
とする。
クを用いて機能ブロック間のデータの流れを記述する際
に本発明の接続関係確認手順において属性の不一致が検
出された場合、リンクを成立させないようにするだけで
もよいが、請求項3に記載された発明は、ユーザーに属
性の不一致を積極的に知らせるように警告メッセージを
前記コンピュータディスプレイ上に表示することを特徴
とする。
【0015】また、請求項4に記載された発明は、リン
クによって接続された機能ブロックの属性に整合性があ
った場合に、リンクを成立させると共に、接続された二
つの機能ブロックおよび/またはそのリンクの表示を変
化させて接続関係が定義されたことを表示することを特
徴とする。これによって、属性の一致した適切な接続が
明示され、図的プログラミングにおける作業効率を向上
させることができる。
クによって接続された機能ブロックの属性に整合性があ
った場合に、リンクを成立させると共に、接続された二
つの機能ブロックおよび/またはそのリンクの表示を変
化させて接続関係が定義されたことを表示することを特
徴とする。これによって、属性の一致した適切な接続が
明示され、図的プログラミングにおける作業効率を向上
させることができる。
【0016】また、本発明の属性宣言手順において、た
とえば新しい機能ブロックに関連づけられたプロパティ
・シートにおいてその機能ブロックの設定値とともにそ
の新しい機能ブロックが参照可能な機能ブロックの論理
名称を指定(宣言)することも可能であるが、請求項5
に記載された発明は、新しい機能ブロックが参照するこ
とができる他の機能ブロックの論理名称を前記新しい機
能ブロックに包含されるプログラムコードの一部におい
てあらかじめ明示することを特徴とする。その結果、新
しい機能ブロックに包含されるプログラムコードは、た
とえば宣言文のような行を有することが考えられる。こ
れによって、プログラムコード作成手順においてその新
しい機能ブロックが担う機能を表すプログラムコードを
論理名称を用いて記述することが容易になり、コーディ
ングミスを減らすことができる。なお、本発明において
機能ブロックに包含されるプログラムコードを記述する
のに使用されるコンピュータ言語の種類は問わない。し
たがって、たとえばFORTRAN、BASIC、PA
SCAL、C言語などの従来のコンピュータ言語で記述
されていてもよく、また新たに開発された言語であって
もよい。
とえば新しい機能ブロックに関連づけられたプロパティ
・シートにおいてその機能ブロックの設定値とともにそ
の新しい機能ブロックが参照可能な機能ブロックの論理
名称を指定(宣言)することも可能であるが、請求項5
に記載された発明は、新しい機能ブロックが参照するこ
とができる他の機能ブロックの論理名称を前記新しい機
能ブロックに包含されるプログラムコードの一部におい
てあらかじめ明示することを特徴とする。その結果、新
しい機能ブロックに包含されるプログラムコードは、た
とえば宣言文のような行を有することが考えられる。こ
れによって、プログラムコード作成手順においてその新
しい機能ブロックが担う機能を表すプログラムコードを
論理名称を用いて記述することが容易になり、コーディ
ングミスを減らすことができる。なお、本発明において
機能ブロックに包含されるプログラムコードを記述する
のに使用されるコンピュータ言語の種類は問わない。し
たがって、たとえばFORTRAN、BASIC、PA
SCAL、C言語などの従来のコンピュータ言語で記述
されていてもよく、また新たに開発された言語であって
もよい。
【0017】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照しながら詳述する。本発明の第1の実施の
形態は、ユーザーがアプリケーションに合わせて新しい
機能ブロックを作ることができ、かつその機能ブロック
をソフトウェア部品として再利用することができる図的
プログラミング方法を備えた制御設計用コンフィギュレ
ーション・ツール(以下、コンフィギュレーション・ツ
ールという)である。本実施の形態にかかるコンフィギ
ュレーション・ツールのハードウェア構成は、図1に示
すように、ディスプレイ11、CPUや記憶装置等から
なる本体12、キーボード13およびマウス14からな
るパーソナルコンピュータ(PC)またはワークステー
ション(WS)である。
て図面を参照しながら詳述する。本発明の第1の実施の
形態は、ユーザーがアプリケーションに合わせて新しい
機能ブロックを作ることができ、かつその機能ブロック
をソフトウェア部品として再利用することができる図的
プログラミング方法を備えた制御設計用コンフィギュレ
ーション・ツール(以下、コンフィギュレーション・ツ
ールという)である。本実施の形態にかかるコンフィギ
ュレーション・ツールのハードウェア構成は、図1に示
すように、ディスプレイ11、CPUや記憶装置等から
なる本体12、キーボード13およびマウス14からな
るパーソナルコンピュータ(PC)またはワークステー
ション(WS)である。
【0018】図2は、上述のようなハードウェア上に構
築される本実施の形態にかかるコンフィギュレーション
・ツールの基本的な機能構成を示すブロック図である。
インターフェース21はディスプレイ11、キーボード
13およびマウス14からなる。設計部22は、リンク
によって機能ブロック間の接続関係を定義する設計環境
を提供する。ユーザーはブロックメニュー16を介して
機能ブロックデータベース24から必要な機能ブロック
を編集画面15に張り付ける。編集画面15に張り付け
られた機能ブロックのデータはワーキングメモリ23に
格納され、ユーザーはインターフェース21を介してワ
ーキングメモリ23上のデータに対してパラメータの変
更やリンクの接続などの加工をおこなう。また、後述す
るようにユーザー自身が生成した新しい機能ブロックを
ソフトウェア部品として機能ブロックデータベース24
に格納・保存することも可能である。
築される本実施の形態にかかるコンフィギュレーション
・ツールの基本的な機能構成を示すブロック図である。
インターフェース21はディスプレイ11、キーボード
13およびマウス14からなる。設計部22は、リンク
によって機能ブロック間の接続関係を定義する設計環境
を提供する。ユーザーはブロックメニュー16を介して
機能ブロックデータベース24から必要な機能ブロック
を編集画面15に張り付ける。編集画面15に張り付け
られた機能ブロックのデータはワーキングメモリ23に
格納され、ユーザーはインターフェース21を介してワ
ーキングメモリ23上のデータに対してパラメータの変
更やリンクの接続などの加工をおこなう。また、後述す
るようにユーザー自身が生成した新しい機能ブロックを
ソフトウェア部品として機能ブロックデータベース24
に格納・保存することも可能である。
【0019】設計作業の結果、ワーキングメモリ23上
で構築された設計用プログラムは、設計情報格納部25
に格納される。ユーザーは、実体化前の複数の機能ブロ
ックからなるデータ、実体化後のソースコードのいずれ
をも設計情報格納部25に格納することができる。さら
にユーザーは、設計情報格納部25に格納されているデ
ータをワーキングメモリ23に読み込み、設計作業を継
続したり、過去の設計データに変更を加えたりすること
ができる。
で構築された設計用プログラムは、設計情報格納部25
に格納される。ユーザーは、実体化前の複数の機能ブロ
ックからなるデータ、実体化後のソースコードのいずれ
をも設計情報格納部25に格納することができる。さら
にユーザーは、設計情報格納部25に格納されているデ
ータをワーキングメモリ23に読み込み、設計作業を継
続したり、過去の設計データに変更を加えたりすること
ができる。
【0020】次に、このコンフィギュレーション・ツー
ルにおける図的プログラミングの基本的な操作と機能を
図3を用いて説明する。設計作業中の編集画面15の表
示の例を図3(a)に示す。このコンフィギュレーショ
ン・ツールのユーザー、すなわち制御用プログラムのプ
ログラマは、ブロックメニュー16(図1参照)から制
御用プログラムを作成するのに必要な機能ブロックをマ
ウス14を使って選択し、編集画面15に張り付けてい
く。これによって制御用プログラムのソフトウェア部品
が選ばれたことになる。これをハードウェアとの関連で
説明するとすれば、編集画面15に張り付けることによ
ってこの機能ブロックに関するデータがシステムのワー
キングメモリ23上に呼び出されたことになる。これに
よって、ワーキングメモリ23上の機能ブロックとして
まとまったデータ、すなわちオブジェクトに対して接続
関係の定義や実体化等の処理を施すことができるように
なる。
ルにおける図的プログラミングの基本的な操作と機能を
図3を用いて説明する。設計作業中の編集画面15の表
示の例を図3(a)に示す。このコンフィギュレーショ
ン・ツールのユーザー、すなわち制御用プログラムのプ
ログラマは、ブロックメニュー16(図1参照)から制
御用プログラムを作成するのに必要な機能ブロックをマ
ウス14を使って選択し、編集画面15に張り付けてい
く。これによって制御用プログラムのソフトウェア部品
が選ばれたことになる。これをハードウェアとの関連で
説明するとすれば、編集画面15に張り付けることによ
ってこの機能ブロックに関するデータがシステムのワー
キングメモリ23上に呼び出されたことになる。これに
よって、ワーキングメモリ23上の機能ブロックとして
まとまったデータ、すなわちオブジェクトに対して接続
関係の定義や実体化等の処理を施すことができるように
なる。
【0021】本実施の形態において編集画面15上に張
り付けられた機能ブロックを表すアイコンを図3(b)
に示す。ここに示すように、機能ブロックを表すアイコ
ンは、ブロック名36、機能名37およびタグ名38を
表示する部分と、リンクを接続する接続端子39からな
っている。ここでブロック名は、仮想タグ名とも呼ば
れ、機能ブロックの論理名称に相当する。例として「温
度調節計01」、「温度指示計01」、「温度指示計0
2」、「流量調節計01」、「タイマー01」などがあ
る。
り付けられた機能ブロックを表すアイコンを図3(b)
に示す。ここに示すように、機能ブロックを表すアイコ
ンは、ブロック名36、機能名37およびタグ名38を
表示する部分と、リンクを接続する接続端子39からな
っている。ここでブロック名は、仮想タグ名とも呼ば
れ、機能ブロックの論理名称に相当する。例として「温
度調節計01」、「温度指示計01」、「温度指示計0
2」、「流量調節計01」、「タイマー01」などがあ
る。
【0022】ユーザーは、ブロックメニューから同一の
メニューを繰り返し選択することによって、同一のブロ
ック名を持った複数の機能ブロックを編集画面15に張
り付けることができる。このときでも、機能ブロックに
包含された設定項目やプログラムコードが同一である限
り、すなわち機能ブロックの属性が同一であるかぎり、
複数の機能ブロックは同一のブロック名を持つ。また、
後述する機能名が同一でも、ブロック名が異なれば、機
能ブロックは異なる属性を持つ。たとえば、ブロック名
「温度指示計01」を持つ機能ブロックと「温度指示計
02」を持つ機能ブロックは、共に温度調節計であるこ
とを示唆し、また機能名「アナログ入力」を持つ点で共
通するが、適用対象に合わせてそこに包含された設定値
やプログラムコードが異なるなど、異なる属性を持つこ
とを示している。
メニューを繰り返し選択することによって、同一のブロ
ック名を持った複数の機能ブロックを編集画面15に張
り付けることができる。このときでも、機能ブロックに
包含された設定項目やプログラムコードが同一である限
り、すなわち機能ブロックの属性が同一であるかぎり、
複数の機能ブロックは同一のブロック名を持つ。また、
後述する機能名が同一でも、ブロック名が異なれば、機
能ブロックは異なる属性を持つ。たとえば、ブロック名
「温度指示計01」を持つ機能ブロックと「温度指示計
02」を持つ機能ブロックは、共に温度調節計であるこ
とを示唆し、また機能名「アナログ入力」を持つ点で共
通するが、適用対象に合わせてそこに包含された設定値
やプログラムコードが異なるなど、異なる属性を持つこ
とを示している。
【0023】機能名37は、ユーザーの便宜を図るため
にその機能ブロックが持つ機能を示すものである。この
ような機能名には例えば「PID」、「アナログ入
力」、「ボックスタイマー」などがある。また、機能ブ
ロックのタグ名38は、特定のアプリケーションの中の
特定の機能ブロックを識別するための物理名称に相当す
る。したがって、同一のブロック名を持つ機能ブロック
であっても、アプリケーションの中では異なるタグ名を
持つ。例えば機能ブロックアイコンの3段目に表示され
た「TIC001」、「TI001」、「FIC00
1」、「TIM002」などはタグ名である。これら
は、ワーキングメモリ上に存在する個々の機能ブロック
(オブジェクト)に与えられた名称である。したがっ
て、タグ名は、機能ブロックを編集画面15上に張り付
けた後ユーザーによって個々の機能ブロックに与えら
れ、これらはワーキングメモリ上の機能ブロックデータ
を示すポインタとして機能する。
にその機能ブロックが持つ機能を示すものである。この
ような機能名には例えば「PID」、「アナログ入
力」、「ボックスタイマー」などがある。また、機能ブ
ロックのタグ名38は、特定のアプリケーションの中の
特定の機能ブロックを識別するための物理名称に相当す
る。したがって、同一のブロック名を持つ機能ブロック
であっても、アプリケーションの中では異なるタグ名を
持つ。例えば機能ブロックアイコンの3段目に表示され
た「TIC001」、「TI001」、「FIC00
1」、「TIM002」などはタグ名である。これら
は、ワーキングメモリ上に存在する個々の機能ブロック
(オブジェクト)に与えられた名称である。したがっ
て、タグ名は、機能ブロックを編集画面15上に張り付
けた後ユーザーによって個々の機能ブロックに与えら
れ、これらはワーキングメモリ上の機能ブロックデータ
を示すポインタとして機能する。
【0024】ユーザーはマウスを用いて編集画面15上
に表示された機能ブロックの接続端子39をリンクとよ
ぶ線で接続することにより二つの機能ブロック間のデー
タの流れをグラフィカルに記述し、これらの機能ブロッ
クの接続関係を定義する。そして、全ての接続関係を定
義し終えた後、これを実体化することにより、目的とす
る制御用プログラムのソースコードが生成される。
に表示された機能ブロックの接続端子39をリンクとよ
ぶ線で接続することにより二つの機能ブロック間のデー
タの流れをグラフィカルに記述し、これらの機能ブロッ
クの接続関係を定義する。そして、全ての接続関係を定
義し終えた後、これを実体化することにより、目的とす
る制御用プログラムのソースコードが生成される。
【0025】次に、本発明にかかる図的プログラミング
方法を用いて、このコンフィギュレーション・ツールの
ユーザーがアプリケーションに合わせて任意の機能を持
った新しい機能ブロックをソフトウェア部品として生成
する方法について説明する。アプリケーションに合わせ
て任意の機能を持った新しい機能ブロックを生成するに
は、ユーザー自身がその機能を実現するプログラムコー
ドを書き、それを新しい機能ブロックに包含させる必要
がある。そのために、ユーザーはまず、プログラムコー
ドを含まない機能ブロックを編集画面15上に張り付け
る。このような機能ブロックをブランク機能ブロックま
たはCL(Control Language)ブロックと呼ぶ。本実施
の形態においては、CLブロックを他の機能ブロックと
同様、ブロックメニュー16から選択し、編集画面15
上に張り付けることができるものとする。
方法を用いて、このコンフィギュレーション・ツールの
ユーザーがアプリケーションに合わせて任意の機能を持
った新しい機能ブロックをソフトウェア部品として生成
する方法について説明する。アプリケーションに合わせ
て任意の機能を持った新しい機能ブロックを生成するに
は、ユーザー自身がその機能を実現するプログラムコー
ドを書き、それを新しい機能ブロックに包含させる必要
がある。そのために、ユーザーはまず、プログラムコー
ドを含まない機能ブロックを編集画面15上に張り付け
る。このような機能ブロックをブランク機能ブロックま
たはCL(Control Language)ブロックと呼ぶ。本実施
の形態においては、CLブロックを他の機能ブロックと
同様、ブロックメニュー16から選択し、編集画面15
上に張り付けることができるものとする。
【0026】CLブロックを張り付けたら、次はアプリ
ケーションに合った機能を実現するプログラムコードを
書く。このとき、ソフトウェア部品の再利用性を高める
ために、ユーザーは以下に述べる属性宣言手順とプログ
ラムコード作成手順に対応したシンタックスでプログラ
ムコードを作成する必要がある。本実施の形態において
は、CL(Control Language)と呼ばれる言語を用いて
属性の宣言およびプログラムコードの作成を行うように
なっている。
ケーションに合った機能を実現するプログラムコードを
書く。このとき、ソフトウェア部品の再利用性を高める
ために、ユーザーは以下に述べる属性宣言手順とプログ
ラムコード作成手順に対応したシンタックスでプログラ
ムコードを作成する必要がある。本実施の形態において
は、CL(Control Language)と呼ばれる言語を用いて
属性の宣言およびプログラムコードの作成を行うように
なっている。
【0027】CLを用いて書かれたプログラムコードの
例を図4に示す。CLブロックに包含されるCLプログ
ラムコードは、このCLブロックと接続可能な機能ブロ
ックのブロック名(論理名称)を明示する宣言部分と、
新しい機能ブロックの機能を記述するプログラムコード
本体とからなる。すなわち、本実施の形態における属性
宣言手順は、CLブロックに包含させるプログラムコー
ド内に宣言部分を設け、そこで新しい機能ブロックと接
続できる他の機能ブロック、詳しくは新しい機能ブロッ
クがデータを参照することができる他の機能ブロックの
論理名称を明示する方法をとっている。
例を図4に示す。CLブロックに包含されるCLプログ
ラムコードは、このCLブロックと接続可能な機能ブロ
ックのブロック名(論理名称)を明示する宣言部分と、
新しい機能ブロックの機能を記述するプログラムコード
本体とからなる。すなわち、本実施の形態における属性
宣言手順は、CLブロックに包含させるプログラムコー
ド内に宣言部分を設け、そこで新しい機能ブロックと接
続できる他の機能ブロック、詳しくは新しい機能ブロッ
クがデータを参照することができる他の機能ブロックの
論理名称を明示する方法をとっている。
【0028】図4に示したプログラムリストにおいて
は、2行目が上述の宣言部分に相当する。「EXTERNAL」
に続く文字列が、このプログラムコードを包含する新し
い機能ブロックとデータの整合がとれた、すなわちこの
新しい機能ブロックと接続できる機能ブロックのブロッ
ク名(論理名称)である。ここで、「@」がそれに続く
文字列がブロック名(論理名称)であることを示すため
に付加されている。
は、2行目が上述の宣言部分に相当する。「EXTERNAL」
に続く文字列が、このプログラムコードを包含する新し
い機能ブロックとデータの整合がとれた、すなわちこの
新しい機能ブロックと接続できる機能ブロックのブロッ
ク名(論理名称)である。ここで、「@」がそれに続く
文字列がブロック名(論理名称)であることを示すため
に付加されている。
【0029】また、新しい機能を表現するプログラムコ
ード本体は、図4に示したプログラムリストの8行目
「STEP SETUP」以降に記述されている。ここで重要なこ
とは、新しい機能ブロックとデータの授受をする他の機
能ブロックが、先に上述の宣言部分において明示された
ブロック名(論理名称、「@」に続く文字列)を用いて
表されていることである(例えば、図4の9〜12行
目)。このように、特定のアプリケーションで実際に接
続される機能ブロックのタグ名(物理名称)の代わり
に、属性宣言手順において宣言されたブロック名(論理
名称)を用いてプログラムコード本体を作成することに
より、後述する属性確認手順と合わせて、データの整合
性とソフトウェア部品としての汎用性を同時に担保して
いる。
ード本体は、図4に示したプログラムリストの8行目
「STEP SETUP」以降に記述されている。ここで重要なこ
とは、新しい機能ブロックとデータの授受をする他の機
能ブロックが、先に上述の宣言部分において明示された
ブロック名(論理名称、「@」に続く文字列)を用いて
表されていることである(例えば、図4の9〜12行
目)。このように、特定のアプリケーションで実際に接
続される機能ブロックのタグ名(物理名称)の代わり
に、属性宣言手順において宣言されたブロック名(論理
名称)を用いてプログラムコード本体を作成することに
より、後述する属性確認手順と合わせて、データの整合
性とソフトウェア部品としての汎用性を同時に担保して
いる。
【0030】上述のようなプログラムコードを作成する
ために、本実施の形態では、編集画面15上に張り付け
たCLブロック32にマウス14を用いてカーソルを合
わせクリックすることによってエディタが起動し、プロ
グラムコードの生成、編集ができるようになってきる。
また、外部のエディタで作成したコードをCLブロック
32内にインポートすることも可能である。また、本実
施の形態ではユーザーは、このようにして生成された新
しい機能ブロックを機能ブロックデータベース24に保
存し、再利用に備えることができることはいうまでもな
い。
ために、本実施の形態では、編集画面15上に張り付け
たCLブロック32にマウス14を用いてカーソルを合
わせクリックすることによってエディタが起動し、プロ
グラムコードの生成、編集ができるようになってきる。
また、外部のエディタで作成したコードをCLブロック
32内にインポートすることも可能である。また、本実
施の形態ではユーザーは、このようにして生成された新
しい機能ブロックを機能ブロックデータベース24に保
存し、再利用に備えることができることはいうまでもな
い。
【0031】以上のようなプログラムコード作成手順を
踏んで作成したプログラムコードをCLブロックに包含
させ、このCLブロックに独自のブロック名(論理名
称)を与えれば新しい機能ブロックの完成となる。本実
施の形態においては、このように作成された新しい機能
ブロックの機能名は自動的に「CL」が与えられ、それ
がユーザーによって作成されたものであることを示すよ
うになっている。図3(a)のCLブロック32(ブロ
ック名「温度パターン制御」)がこれに相当する。
踏んで作成したプログラムコードをCLブロックに包含
させ、このCLブロックに独自のブロック名(論理名
称)を与えれば新しい機能ブロックの完成となる。本実
施の形態においては、このように作成された新しい機能
ブロックの機能名は自動的に「CL」が与えられ、それ
がユーザーによって作成されたものであることを示すよ
うになっている。図3(a)のCLブロック32(ブロ
ック名「温度パターン制御」)がこれに相当する。
【0032】なお、図4に示したプログラムリストのシ
ンタックスは、新しい機能ブロックの機能を記述する例
にすぎない。したがって、論理名称を宣言してこの新し
い機能ブロックに適応する属性をあらかじめ指定するこ
と、およびプログラムコードの本体を記述する際にこの
論理名称を用いることという二つの要件を満たしていれ
ば、どのような言語を用いてどのようなシンタックスで
プログラムコードを記述したかは問題ではない。
ンタックスは、新しい機能ブロックの機能を記述する例
にすぎない。したがって、論理名称を宣言してこの新し
い機能ブロックに適応する属性をあらかじめ指定するこ
と、およびプログラムコードの本体を記述する際にこの
論理名称を用いることという二つの要件を満たしていれ
ば、どのような言語を用いてどのようなシンタックスで
プログラムコードを記述したかは問題ではない。
【0033】また、宣言部分を設けず、実際の接続され
る機能ブロックの物理名称を用いてプログラムコードを
作成し、それをCLブロックに包含させて、新しい機能
ブロックを生成することも可能である。しかし、その場
合はその新しい機能ブロックは特定のアプリケーション
のみに利用することができるだけで、ソフトウェア部品
としての汎用性、再利用性を欠くことになる。
る機能ブロックの物理名称を用いてプログラムコードを
作成し、それをCLブロックに包含させて、新しい機能
ブロックを生成することも可能である。しかし、その場
合はその新しい機能ブロックは特定のアプリケーション
のみに利用することができるだけで、ソフトウェア部品
としての汎用性、再利用性を欠くことになる。
【0034】次に、上述のようにして生成された新しい
機能ブロックを利用する際の接続関係確認手順と実体化
における名称置換手順について説明する。新しい機能ブ
ロックはアプリケーションを開発するために、編集画面
15上において他の機能ブロックと接続される。このと
き、図的プログラミングシステムは、この他の機能ブロ
ックのブロック名(論理名称)と上述の属性宣言手順に
おいて新しい機能ブロック内であらかじめ宣言されたブ
ロック名(論理名称)とのマッチングを行う。
機能ブロックを利用する際の接続関係確認手順と実体化
における名称置換手順について説明する。新しい機能ブ
ロックはアプリケーションを開発するために、編集画面
15上において他の機能ブロックと接続される。このと
き、図的プログラミングシステムは、この他の機能ブロ
ックのブロック名(論理名称)と上述の属性宣言手順に
おいて新しい機能ブロック内であらかじめ宣言されたブ
ロック名(論理名称)とのマッチングを行う。
【0035】この接続関係確認手順を図3(a)を例に
説明する。なお、以下の説明においては、機能ブロック
を特定するのにタグ名を用いることとする。図3(a)
に示した例においては、タグ名「PMDP001」(ブ
ロック名「温度パターン制御」、機能名「CL」)を持
つ機能ブロック32が新しい機能ブロックである。この
新しい機能ブロック32が他の機能ブロック、たとえば
タグ名「TI001」を持ったアナログ入力機能ブロッ
ク33(ブロック名「温度指示計01」)のデータを参
照する場合には、その接続関係を定義するためにユーザ
ーはマウス14を用いてこれら二つの機能ブロックの接
続端子をリンク31で接続する。
説明する。なお、以下の説明においては、機能ブロック
を特定するのにタグ名を用いることとする。図3(a)
に示した例においては、タグ名「PMDP001」(ブ
ロック名「温度パターン制御」、機能名「CL」)を持
つ機能ブロック32が新しい機能ブロックである。この
新しい機能ブロック32が他の機能ブロック、たとえば
タグ名「TI001」を持ったアナログ入力機能ブロッ
ク33(ブロック名「温度指示計01」)のデータを参
照する場合には、その接続関係を定義するためにユーザ
ーはマウス14を用いてこれら二つの機能ブロックの接
続端子をリンク31で接続する。
【0036】このとき、図的プログラミングシステム
は、機能ブロック「PMDP001」32に包含された
プログラムコードの宣言部分(図4、3行目)にリスト
アップされたブロック名が、接続された機能ブロックの
ブロック名として存在するか否かを調べる。このような
接続関係確認手順は、ハードウェアとの関係において次
のようなものである。すなわち、タグ名「PMDP00
1」で特定されるオブジェクトデータに含まれたプログ
ラムコードのうち「EXTERNAL」と「@」で示されたブロ
ック名のリスト(図4、3行目)と、ワーキングメモリ
23上におかれたタグ名「TI001」で特定されるオ
ブジェクトデータのうち論理名称に対応したスロットに
格納されているブロック名「温度指示計01」との間で
マッチングを行うことによって実現される。
は、機能ブロック「PMDP001」32に包含された
プログラムコードの宣言部分(図4、3行目)にリスト
アップされたブロック名が、接続された機能ブロックの
ブロック名として存在するか否かを調べる。このような
接続関係確認手順は、ハードウェアとの関係において次
のようなものである。すなわち、タグ名「PMDP00
1」で特定されるオブジェクトデータに含まれたプログ
ラムコードのうち「EXTERNAL」と「@」で示されたブロ
ック名のリスト(図4、3行目)と、ワーキングメモリ
23上におかれたタグ名「TI001」で特定されるオ
ブジェクトデータのうち論理名称に対応したスロットに
格納されているブロック名「温度指示計01」との間で
マッチングを行うことによって実現される。
【0037】図4に示した機能ブロック「PMDP00
1」32に包含されたプログラムコードの宣言部分(図
4、3行目)には、先の属性宣言手順においてあらかじ
めブロック名「温度指示計01」が宣言されており、機
能ブロック「TI001」33のブロック名もまた「温
度指示計01」である。したがって、このような接続は
適切なもの認定され、その結果、機能ブロック「TI0
01」33と機能ブロック「PMDP001」32との
間のリンク31が成立する。リンクが成立したとき、編
集画面15上で適切なリンク31を示す線の表示はそれ
までの破線から実線に変わり、適切な接続関係が適宜さ
れたことを示す。
1」32に包含されたプログラムコードの宣言部分(図
4、3行目)には、先の属性宣言手順においてあらかじ
めブロック名「温度指示計01」が宣言されており、機
能ブロック「TI001」33のブロック名もまた「温
度指示計01」である。したがって、このような接続は
適切なもの認定され、その結果、機能ブロック「TI0
01」33と機能ブロック「PMDP001」32との
間のリンク31が成立する。リンクが成立したとき、編
集画面15上で適切なリンク31を示す線の表示はそれ
までの破線から実線に変わり、適切な接続関係が適宜さ
れたことを示す。
【0038】これに対し、不適切な接続を試みた場合の
例として、図5に示すように、機能ブロック「TI00
2」34を機能ブロック「PMDP001」32に接続
しようとした場合について説明する。ここで、機能ブロ
ック「TI002」34は、上述の例に挙げた機能ブロ
ック「TI001」33とは異なる属性を有しており、
機能ブロック「PMDP001」32とはデータの整合
性が取れていないものとする。これは、機能ブロック
「PMDP001」32のプログラムコードを作成した
ときに、宣言部分には機能ブロック「TI002」34
のブロック名(論理名称)「温度指示計02」が加えら
れていないことに反映されている。
例として、図5に示すように、機能ブロック「TI00
2」34を機能ブロック「PMDP001」32に接続
しようとした場合について説明する。ここで、機能ブロ
ック「TI002」34は、上述の例に挙げた機能ブロ
ック「TI001」33とは異なる属性を有しており、
機能ブロック「PMDP001」32とはデータの整合
性が取れていないものとする。これは、機能ブロック
「PMDP001」32のプログラムコードを作成した
ときに、宣言部分には機能ブロック「TI002」34
のブロック名(論理名称)「温度指示計02」が加えら
れていないことに反映されている。
【0039】ユーザーが機能ブロック「TI002」3
4と機能ブロック「PMDP001」32とをリンクし
ようとすると、図的プログラミングシステムは上述のよ
うなマッチングを実行する。このとき、機能ブロック
「PMDP001」32のプログラムコード内の宣言部
分(図4、3行目)には機能ブロック「TI002」の
ブロック名(論理名称)が含まれていない。したがっ
て、このような接続は不適切であると判断され、図的プ
ログラミングシステムは不適切なリンク51の成立を認
めない。このとき、本実施の形態においては、編集画面
15上のリンク51を示す線は表示されないとともに、
図6に示すような警告メッセージ61を表示し、ユーザ
ーの注意を促す。
4と機能ブロック「PMDP001」32とをリンクし
ようとすると、図的プログラミングシステムは上述のよ
うなマッチングを実行する。このとき、機能ブロック
「PMDP001」32のプログラムコード内の宣言部
分(図4、3行目)には機能ブロック「TI002」の
ブロック名(論理名称)が含まれていない。したがっ
て、このような接続は不適切であると判断され、図的プ
ログラミングシステムは不適切なリンク51の成立を認
めない。このとき、本実施の形態においては、編集画面
15上のリンク51を示す線は表示されないとともに、
図6に示すような警告メッセージ61を表示し、ユーザ
ーの注意を促す。
【0040】以上のように接続関係を確認することによ
って、機能ブロック「PMDP001」32の機能に対
してこれと接続される機能ブロックの属性が適切である
か否かが判断され、あらかじめ宣言された属性を持つ機
能ブロックのみとの間で接続関係が定義される。その結
果、機能ブロック「PMDP001」32に接続された
機能ブロックのデータと機能ブロック「PMDP00
1」32に包含されたプログラムコードとの間の整合性
を保証することができる。
って、機能ブロック「PMDP001」32の機能に対
してこれと接続される機能ブロックの属性が適切である
か否かが判断され、あらかじめ宣言された属性を持つ機
能ブロックのみとの間で接続関係が定義される。その結
果、機能ブロック「PMDP001」32に接続された
機能ブロックのデータと機能ブロック「PMDP00
1」32に包含されたプログラムコードとの間の整合性
を保証することができる。
【0041】次に、実体化における名称置換手順につい
て説明する。上述のような接続関係確認手順を経て接続
関係が定義された複数の機能ブロックから実体化を行う
ことによって制御用プログラムのソースコードを生成す
る際に、図的プログラミングシステムは、ユーザーが作
成したプログラムコード本体の中のブロック名(論理名
称)をタグ名(物理名称)に置き換える名称置換手順を
実行する。すなわち、先のプログラムコード作成手順に
おいては、機能ブロック「PMDP001」32の機能
を記述したプログラムコード本体において、データの参
照先を「@」付きのブロック名(論理名称)を用いて表
した(図4)。名称置換手順においては、ワーキングメ
モリ上に存在する機能ブロックに関して、このプログラ
ムコード本体の「@」付きブロック名の部分が、実際に
接続された機能ブロックのタグ名に自動的に名称置換さ
れる。
て説明する。上述のような接続関係確認手順を経て接続
関係が定義された複数の機能ブロックから実体化を行う
ことによって制御用プログラムのソースコードを生成す
る際に、図的プログラミングシステムは、ユーザーが作
成したプログラムコード本体の中のブロック名(論理名
称)をタグ名(物理名称)に置き換える名称置換手順を
実行する。すなわち、先のプログラムコード作成手順に
おいては、機能ブロック「PMDP001」32の機能
を記述したプログラムコード本体において、データの参
照先を「@」付きのブロック名(論理名称)を用いて表
した(図4)。名称置換手順においては、ワーキングメ
モリ上に存在する機能ブロックに関して、このプログラ
ムコード本体の「@」付きブロック名の部分が、実際に
接続された機能ブロックのタグ名に自動的に名称置換さ
れる。
【0042】このような名称置換手順を経た後の機能ブ
ロック「PMDP001」32に包含されたプログラム
コードの一部を図7に示す。これを図4と比較すると、
図7は、名称置換前においては「@」付きのブロック名
で表されていたデータの参照先(例えば「@温度指示計
01」)は、名称置換後においては実際に接続された機
能ブロックのタグ名(「TI001」)に置き換えられ
ていることを示している。
ロック「PMDP001」32に包含されたプログラム
コードの一部を図7に示す。これを図4と比較すると、
図7は、名称置換前においては「@」付きのブロック名
で表されていたデータの参照先(例えば「@温度指示計
01」)は、名称置換後においては実際に接続された機
能ブロックのタグ名(「TI001」)に置き換えられ
ていることを示している。
【0043】したがって、機能ブロック「PMDP00
1」のようなユーザーによって作成された新しい機能ブ
ロックは特定のアプリケーションに特化されたプログラ
ムコードを有することになる。その後は従来の図的プロ
グラミング方法と同じく実体化をすれば、そのアプリケ
ーションのソースコードが生成される。これによって、
ユーザーによって作成された機能ブロック「PMDP0
01」32は、異なるタグ名が用いられる異なるアプリ
ケーションを設計する際においてもソフトウェア部品と
して再利用することができる。
1」のようなユーザーによって作成された新しい機能ブ
ロックは特定のアプリケーションに特化されたプログラ
ムコードを有することになる。その後は従来の図的プロ
グラミング方法と同じく実体化をすれば、そのアプリケ
ーションのソースコードが生成される。これによって、
ユーザーによって作成された機能ブロック「PMDP0
01」32は、異なるタグ名が用いられる異なるアプリ
ケーションを設計する際においてもソフトウェア部品と
して再利用することができる。
【0044】以上のように、これまで述べた属性宣言手
順、プログラムコード作成手順にしたがって作成した新
しい機能ブロック「PMDP001」32は、図的プロ
グラミング方法によるプログラムの可搬性を実現すると
同時に、汎用性、再利用性を有するソフトウェア部品と
なることができる。
順、プログラムコード作成手順にしたがって作成した新
しい機能ブロック「PMDP001」32は、図的プロ
グラミング方法によるプログラムの可搬性を実現すると
同時に、汎用性、再利用性を有するソフトウェア部品と
なることができる。
【0045】さらに、新しい機能ブロック「PMDP0
01」32を単独のソフトウェア部品として再利用でき
ることはいうにおよばず、機能ブロック「PMDP00
1」32と他の機能ブロックとを接続し、特定の機能を
果たすようにした機能ブロック群全体をソフトウェア部
品として再利用することもできる。これは、機能ブロッ
ク群の構成要素となる各機能ブロックにおいて、ブロッ
ク名による接続関係の確認および名称置換が行われるか
らである。
01」32を単独のソフトウェア部品として再利用でき
ることはいうにおよばず、機能ブロック「PMDP00
1」32と他の機能ブロックとを接続し、特定の機能を
果たすようにした機能ブロック群全体をソフトウェア部
品として再利用することもできる。これは、機能ブロッ
ク群の構成要素となる各機能ブロックにおいて、ブロッ
ク名による接続関係の確認および名称置換が行われるか
らである。
【0046】
【発明の効果】以上のように、本発明によれば、任意の
機能を持った新しい機能ブロックをユーザーが作成でき
るのでプログラムの可搬性を高めることができる。この
とき、属性宣言手順、プログラムコード作成手順にした
がって作成された新しい機能ブロックは、物理名称では
なく、特定のアプリケーションに左右されない論理名称
を用いてプログラムコードを作成しているので、ソフト
ウェア部品としての汎用性を有する。そして、実体化を
行う際に名称置換手段が実行されるので、異なるアプリ
ケーションを開発する場合にもこの新しい機能ブロック
をソフトウェア部品として再利用することができる。
機能を持った新しい機能ブロックをユーザーが作成でき
るのでプログラムの可搬性を高めることができる。この
とき、属性宣言手順、プログラムコード作成手順にした
がって作成された新しい機能ブロックは、物理名称では
なく、特定のアプリケーションに左右されない論理名称
を用いてプログラムコードを作成しているので、ソフト
ウェア部品としての汎用性を有する。そして、実体化を
行う際に名称置換手段が実行されるので、異なるアプリ
ケーションを開発する場合にもこの新しい機能ブロック
をソフトウェア部品として再利用することができる。
【0047】このとき、ユーザーによって作成された新
しい機能ブロックを単独のソフトウェア部品として再利
用できることはいうにおよばず、この新しい機能ブロッ
クを含む複数の機能ブロックから構成されて特定の機能
を有する機能ブロック群を実体化する前に保存しておく
ことによって、このような機能ブロック群をもソフトウ
ェア部品として再利用することが可能となる。したがっ
て、使用頻度の高い機能ブロックや機能ブロック群を再
利用することによってソフトウェアの生産性が向上す
る。
しい機能ブロックを単独のソフトウェア部品として再利
用できることはいうにおよばず、この新しい機能ブロッ
クを含む複数の機能ブロックから構成されて特定の機能
を有する機能ブロック群を実体化する前に保存しておく
ことによって、このような機能ブロック群をもソフトウ
ェア部品として再利用することが可能となる。したがっ
て、使用頻度の高い機能ブロックや機能ブロック群を再
利用することによってソフトウェアの生産性が向上す
る。
【0048】また、論理名称をあらかじめ宣言し、これ
によって接続される機能ブロックの属性の一致・不一致
を判断しているので、不適切な機能ブロックと接続され
ることを避けることができる。したがって、データの整
合性を保証することができ、ひいては図的プログラミン
グによって完成したプログラムの信頼性を高めることも
できる。
によって接続される機能ブロックの属性の一致・不一致
を判断しているので、不適切な機能ブロックと接続され
ることを避けることができる。したがって、データの整
合性を保証することができ、ひいては図的プログラミン
グによって完成したプログラムの信頼性を高めることも
できる。
【0049】また、請求項2に記載された発明によれ
ば、上述の効果に加えて、属性の不一致が検知されたと
きにはリンクが成立できないようにして、データタイプ
の不一致となる接続関係が定義できないようにしてい
る。したがって、図的プログラミングのプログラミング
プロセスにおけるミスを減らすことができ、プログラム
の信頼性とともに生産性の向上に寄与することができ
る。
ば、上述の効果に加えて、属性の不一致が検知されたと
きにはリンクが成立できないようにして、データタイプ
の不一致となる接続関係が定義できないようにしてい
る。したがって、図的プログラミングのプログラミング
プロセスにおけるミスを減らすことができ、プログラム
の信頼性とともに生産性の向上に寄与することができ
る。
【0050】また、請求項3に記載された発明によれ
ば、属性の一致しない機能ブロック同士を接続しようと
した場合、警告メッセージを前記コンピュータディスプ
レイ上に表示することによって、ユーザーに属性の不一
致を積極的に知らせるようにしている。これによって、
図的プログラミング方法の使い勝手を向上させることが
できる。
ば、属性の一致しない機能ブロック同士を接続しようと
した場合、警告メッセージを前記コンピュータディスプ
レイ上に表示することによって、ユーザーに属性の不一
致を積極的に知らせるようにしている。これによって、
図的プログラミング方法の使い勝手を向上させることが
できる。
【0051】また、請求項4に記載された発明は、リン
クによって接続された機能ブロックの属性に整合性があ
った場合に、リンクを成立させると共に、接続された二
つの機能ブロックおよび/またはそのリンクの表示を変
化させて接続関係が定義されたことを表示することによ
って、図的プログラミング方法の使い勝手を向上させる
ことができる。
クによって接続された機能ブロックの属性に整合性があ
った場合に、リンクを成立させると共に、接続された二
つの機能ブロックおよび/またはそのリンクの表示を変
化させて接続関係が定義されたことを表示することによ
って、図的プログラミング方法の使い勝手を向上させる
ことができる。
【0052】また、請求項5に記載された発明によれ
ば、新しい機能ブロックが参照することができる他の機
能ブロックの論理名称をその新しい機能ブロックに包含
されるプログラムコードの一部として明示的に記述する
ので、ユーザーが新しい機能ブロックが担う機能を表す
プログラムコードを論理名称を用いて記述することが容
易になる。これによって、コーディングミスを減らすこ
とができ、プログラムコードを作成する際の効率を向上
させることができる。
ば、新しい機能ブロックが参照することができる他の機
能ブロックの論理名称をその新しい機能ブロックに包含
されるプログラムコードの一部として明示的に記述する
ので、ユーザーが新しい機能ブロックが担う機能を表す
プログラムコードを論理名称を用いて記述することが容
易になる。これによって、コーディングミスを減らすこ
とができ、プログラムコードを作成する際の効率を向上
させることができる。
【図1】 図的プログラミング方法を用いたコンフィギ
ュレーション・ツールのハードウェア構成を示す模式図
である。
ュレーション・ツールのハードウェア構成を示す模式図
である。
【図2】 コンフィギュレーション・ツールの基本的な
機能構成を示すブロック図である。
機能構成を示すブロック図である。
【図3】 図的プログラミングの基本的な操作と機能を
説明する模式図である。
説明する模式図である。
【図4】 新しい機能ブロックに包含されるプログラム
コードの例を示す図である。
コードの例を示す図である。
【図5】 不適切な機能ブロックの接続を試みた場合を
説明する模式図である。
説明する模式図である。
【図6】 不適切な機能ブロックの接続を試みた場合に
表示される警告メッセージの例を示す図である。
表示される警告メッセージの例を示す図である。
【図7】 実体化後のプログラムコードの例を示す図で
ある。
ある。
11…ディスプレイ、12…本体、13…キーボード、
14…マウス、15…編集画面、16…ブロックメニュ
ー、17、19、33、34…機能ブロック、18…リ
ンク、21…インターフェース、22…設計部、23…
ワーキングメモリ、24…機能ブロックデータベース、
25…設計情報格納部、31…適切なリンク、32…C
Lブロック、36…ブロック名、37…機能名、38…
タグ名、51…不適切なリンク、61…警告メッセー
ジ。
14…マウス、15…編集画面、16…ブロックメニュ
ー、17、19、33、34…機能ブロック、18…リ
ンク、21…インターフェース、22…設計部、23…
ワーキングメモリ、24…機能ブロックデータベース、
25…設計情報格納部、31…適切なリンク、32…C
Lブロック、36…ブロック名、37…機能名、38…
タグ名、51…不適切なリンク、61…警告メッセー
ジ。
Claims (5)
- 【請求項1】 特定の機能を表すプログラムコードを包
含した機能ブロックをコンピュータディスプレイ上に表
示し、複数の機能ブロックの接続関係を前記コンピュー
タディスプレイ上でリンクを用いて図的に定義すること
によって前記複数の機能ブロック間のデータの流れを記
述し、前記リンクにより接続関係が定義された前記複数
の機能ブロックを実体化することによって目的とするソ
ースコードを生成する図的プログラミング方法におい
て、 アプリケーションに合わせて任意の機能を表すプログラ
ムコードを包含する新しい機能ブロックを生成する方法
が、 前記新しい機能ブロックがデータを参照することができ
る他の機能ブロックの属性を前記新しい機能ブロックに
おいて前記他の機能ブロックの論理名称をあらかじめ明
示することにより宣言する属性宣言手順と、 前記新しい機能ブロックが包含する前記プログラムコー
ドにおいて前記新しい機能ブロックが参照する前記他の
機能ブロックを前記論理名称を用いて記述するプログラ
ムコード作成手順とを含み、 前記新しい機能ブロックを利用する方法が、 前記新しい機能ブロックが他の機能ブロックと前記コン
ピュータディスプレイ上でリンクによって接続されたと
きに、前記接続された他の機能ブロックが前記属性宣言
手順においてあらかじめ明示された前記論理名称を有す
るか否かを確認する接続関係確認手順と、 前記接続関係が定義された前記新しい機能ブロックと前
記他の機能ブロックを実体化するときに前記新しい機能
ブロックが包含するプログラムコード中の前記論理名称
を実際に接続された前記他の機能ブロックの物理名称に
自動的に置き換える名称置換手順とを備えることを特徴
とする図的プログラミング方法。 - 【請求項2】 請求項1に記載された図的プログラミン
グ方法において、 前記接続関係確認手順は、 前記新しい機能ブロックが他の機能ブロックと前記コン
ピュータディスプレイ上でリンクによって接続されたと
きに、前記接続された他の機能ブロックが前記属性宣言
手順においてあらかじめ明示された前記論理名称を有す
ることが確認されたときにのみ前記リンクを成立させる
ことを特徴とする図的プログラミング方法。 - 【請求項3】 請求項1または請求項2に記載された図
的プログラミング方法において、 前記接続関係確認手順は、 前記新しい機能ブロックに接続された他の機能ブロック
が前記属性宣言手順においてあらかじめ明示された前記
論理名称を有していない場合に、警告メッセージを前記
コンピュータディスプレイ上に表示することを特徴とす
る図的プログラミング方法。 - 【請求項4】 請求項1乃至請求項3のいずれかに記載
された図的プログラミング方法において、 前記接続関係確認手順は、 前記新しい機能ブロックに接続された他の機能ブロック
が前記属性宣言手順においてあらかじめ明示された前記
論理名称を有する場合に、接続された二つの機能ブロッ
クおよび/またはその接続関係を表すリンクの表示を変
化させて接続関係が定義されたことを表示することを特
徴とする図的プログラミング方法。 - 【請求項5】 請求項1乃至請求項4のいずれかに記載
された図的プログラミング方法において、 前記属性宣言手順は、 前記新しい機能ブロックが参照することができる他の機
能ブロックの論理名称を前記新しい機能ブロックに包含
されるプログラムコードの一部においてあらかじめ明示
することを特徴とする図的プログラミング方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22656296A JP3326713B2 (ja) | 1996-08-28 | 1996-08-28 | 図的プログラミング方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22656296A JP3326713B2 (ja) | 1996-08-28 | 1996-08-28 | 図的プログラミング方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH1069379A true JPH1069379A (ja) | 1998-03-10 |
| JP3326713B2 JP3326713B2 (ja) | 2002-09-24 |
Family
ID=16847110
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP22656296A Expired - Fee Related JP3326713B2 (ja) | 1996-08-28 | 1996-08-28 | 図的プログラミング方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3326713B2 (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7107576B2 (en) | 2001-11-29 | 2006-09-12 | Hitachi, Ltd. | Method for associating names and device for the same in enterprise applications |
| US7299419B2 (en) * | 2001-09-28 | 2007-11-20 | Business Objects, S.A. | Apparatus and method for combining discrete logic visual icons to form a data transformation block |
| JP2009193313A (ja) * | 2008-02-14 | 2009-08-27 | Hiroshima Univ | バグレスソフトウェアシステム設計支援装置、方法及びプログラム |
| WO2020141611A1 (ja) * | 2018-12-31 | 2020-07-09 | 株式会社コンシェルジュ | 対話型サービス提供システム、対話型サービス提供方法、シナリオ生成編集システム及びシナリオ生成編集方法 |
| US11568112B2 (en) | 2017-03-30 | 2023-01-31 | Mitsubishi Electric Corporation | System design support apparatus and system design support method |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4851420B2 (ja) * | 2007-11-02 | 2012-01-11 | 株式会社山武 | 制御プログラム作成コンバータおよび制御プログラム変換方法 |
-
1996
- 1996-08-28 JP JP22656296A patent/JP3326713B2/ja not_active Expired - Fee Related
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7299419B2 (en) * | 2001-09-28 | 2007-11-20 | Business Objects, S.A. | Apparatus and method for combining discrete logic visual icons to form a data transformation block |
| US7107576B2 (en) | 2001-11-29 | 2006-09-12 | Hitachi, Ltd. | Method for associating names and device for the same in enterprise applications |
| JP2009193313A (ja) * | 2008-02-14 | 2009-08-27 | Hiroshima Univ | バグレスソフトウェアシステム設計支援装置、方法及びプログラム |
| US11568112B2 (en) | 2017-03-30 | 2023-01-31 | Mitsubishi Electric Corporation | System design support apparatus and system design support method |
| WO2020141611A1 (ja) * | 2018-12-31 | 2020-07-09 | 株式会社コンシェルジュ | 対話型サービス提供システム、対話型サービス提供方法、シナリオ生成編集システム及びシナリオ生成編集方法 |
| JP2020109558A (ja) * | 2018-12-31 | 2020-07-16 | 株式会社コンシェルジュ | 対話型サービス提供システム、シナリオ生成編集システム及びプログラム |
| US11822905B2 (en) | 2018-12-31 | 2023-11-21 | Kuzen Inc. | Interactive service providing system, interactive service providing method, scenario generation and editing system, and scenario generation and editing method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3326713B2 (ja) | 2002-09-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112035101B (zh) | 结合rpa及ai的命令库创建方法、装置、介质及设备 | |
| US7024631B1 (en) | System and method for enabling graphical program polymorphism | |
| CN1105964C (zh) | 用于可视编程中显示功能对象的方法 | |
| JP4973867B2 (ja) | Plc制御プログラム開発装置及びプログラム | |
| JPS63181033A (ja) | プログラム自動生成方式 | |
| CN104216701B (zh) | 用于在制造执行系统内创建图形用户界面的系统和方法 | |
| US9798750B2 (en) | Parameter download verification in industrial control system | |
| CN110765028B (zh) | 验证环境的可视化搭建方法、装置及存储介质 | |
| WO2001075568A1 (en) | Method for gesture based modeling | |
| JP4302146B2 (ja) | プログラム作成支援装置 | |
| US7844952B2 (en) | Grouping threads in a debugger display | |
| CN115248570A (zh) | 一种编译型可编程逻辑控制器的开发环境及管理开发作业方法 | |
| CN114693103A (zh) | 设备管理模型生成与设备管理方法、设备及存储介质 | |
| US6275866B1 (en) | Manipulation and coupling of object oriented components | |
| CN109766139B (zh) | 配置文件的配置方法及装置 | |
| CN114564181A (zh) | 一种应用层模型与底层c代码的集成方法及装置 | |
| JP3326713B2 (ja) | 図的プログラミング方法 | |
| US20090241075A1 (en) | Test chip validation and development system | |
| US11188307B2 (en) | Modelizing resources and external data of a program for procedural language coding | |
| CN112446625A (zh) | 一种工艺线路生成系统、方法、平台及存储介质 | |
| CN115167841B (zh) | 数据库版本管理方法、装置及电子设备 | |
| US7900191B1 (en) | System and method of using an active link in a state programming environment to locate an element in a graphical programming environment | |
| CN115794717A (zh) | 基于模型的接口设计方法、系统、介质及设备 | |
| JPH09120357A (ja) | オブジェクト指向アプリケーション構築方法 | |
| KR100928895B1 (ko) | 제어시스템 개발을 위한 툴생성장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |