JP2002527803A - 制御プログラムを生成するためのシステムおよび方法 - Google Patents

制御プログラムを生成するためのシステムおよび方法

Info

Publication number
JP2002527803A
JP2002527803A JP2000576325A JP2000576325A JP2002527803A JP 2002527803 A JP2002527803 A JP 2002527803A JP 2000576325 A JP2000576325 A JP 2000576325A JP 2000576325 A JP2000576325 A JP 2000576325A JP 2002527803 A JP2002527803 A JP 2002527803A
Authority
JP
Japan
Prior art keywords
state
condition
program
variable
control program
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
Application number
JP2000576325A
Other languages
English (en)
Inventor
ハリス,リチャード
ウィーンズ,ジャック
フレイザー,ジョセフ
カスク,ヘイキ
ノーベル,ピーター
Original Assignee
サイアントロニクス・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/172,473 external-priority patent/US6167319A/en
Priority claimed from US09/189,027 external-priority patent/US6505341B1/en
Application filed by サイアントロニクス・インコーポレーテッド filed Critical サイアントロニクス・インコーポレーテッド
Publication of JP2002527803A publication Critical patent/JP2002527803A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/36Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
    • G05B11/42Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential for obtaining a characteristic which is both proportional and time-dependent, e.g. P. I., P. I. D.
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】 論理制御装置(12)によって実行するための制御プログラムを生成するプロセス(10)が提供される。このプロセスは、対応する出力信号に関連する変数をユーザが定義および編集できるようにする変数編集ユーザ・インターフェース(65)を提供するステップと、制御プログラムの複数の状態をユーザが定義および編集できるようにする状態編集ユーザ・インターフェース(65)を提供するステップと、制御プログラムの各状態につき少なくとも1つの条件をユーザが定義および編集できるようにする条件編集ユーザ・インターフェース(65)を提供するステップと、変数と状態と条件との関連に応じて制御プログラムを生成するステップとを含む。

Description

【発明の詳細な説明】
【0001】 (発明の背景) (発明の分野) 本発明は一般に、分散プロセス制御システム中の論理制御装置を構成するため
のシステムおよび方法に関し、より詳細には、状態機械理論の形式に基づいて論
理制御装置をプログラムするため、および制御プログラムに対応するフロー・チ
ャートを生成するために使用されるコンピュータ実装プログラミング・プロセス
に関する。
【0002】 (従来技術の説明) 分散プロセス制御システムは、工作機械、運搬、アセンブリ・システム、成形
鋳造機、およびロボット工学システムを含めた多くの適用分野で広く使用されて
いる。このようなシステムは通常、特殊データ・プロセッサである市販のプログ
ラマブル・ロジック・コントローラ(PLC)などの論理制御装置(LCU)を
含む。PLCは通常、制御下にあるシステムのコンポーネントからアナログ入力
信号およびディジタル入力信号を受け取るための複数の入力ポートと、ディジタ
ル出力信号およびアナログ出力信号をシステムのコンポーネントに提供する複数
の出力ポートと、マイクロプロセッサと、制御プログラムを記憶するためのメモ
リとを含む。PLCは、システムを制御するために、入力ポートにある信号を走
査して入力データを決定し、メモリに記憶された制御プログラムを用いて入力デ
ータを分析して対応する出力データを決定し、出力データに基づいて出力ポート
で出力信号を提供することを繰り返すことによって動作する。
【0003】 PLCを構成する従来技術の方法によれば、制御プログラムは、「ラダー・ロ
ジック」プログラミング方法を使用して作成される。ラダー・ロジック・プログ
ラムは通常、「ラング(rung)」と一般に呼ばれる複数のラダー・ロジック
・ステートメントを含む。各ラダー・ロジック・ステートメントは、出力変数と
入力変数との間などの変数間の関係を定義する。単純なラダー・ロジック・ステ
ートメントは、変数AとBが両方ともONである場合に、かつその場合に限り特
定の出力変数がONであることを示す場合がある。ラダー・ロジック・プログラ
マがより理解しやすいように、ラダー・ロジック・エディタはラダー・ロジック
・ステートメントを使用する。プログラムはしばしば、入力記号、線分、および
変数名を含むラダー・ロジック・グラフで表される。
【0004】 ラダー・ロジック・プログラムは、パーソナル・コンピュータやミニ・コンピ
ュータなど、PLCとは別個のプログラミング・コンピュータ・システムを使用
して作成および編集される。完成した論理プログラムは、磁気テープまたはディ
スクに記録され、プログラミング・コンピュータからPLCのメモリにアップロ
ードされる。
【0005】 ラダー・ロジック・エディタを使用した方法など、論理制御装置をプログラム
する従来技術の方法に伴う重要な問題は、ラダー・ロジック・プログラムを作成
するのに熟練したラダー・ロジック・プログラマが必要なことである。典型的な
従来技術のPLC開発サイクルによれば、開発はハードウェア・アプリケーショ
ン技術者によって開始する。ハードウェア・アプリケーション技術者は、制御下
にあるシステム用にハードウェアを設計および構築する。次いで、PLCプログ
ラマがハードウェア・アプリケーション技術者とインターフェースし、ハードウ
ェア・アプリケーション技術者がシステムの仕様をプログラマに説明する。次い
で、プログラマがソフトウェア開発を開始する。ハードウェア技術者は通常、ラ
ダー・ロジック命令の形であってもラダー・ロジック・グラフの形であっても、
ラダー・ロジック・プログラム・リストを読むことができない。したがって、P
LCに対してソフトウェアを実行した後で初めて、制御システムに伴う多くの問
題がハードウェア技術者に発見されることがよくある。構成済みのPLCによっ
て制御されるシステムの性能の評価をアプリケーション技術者が開始するとき、
技術者はシステムに伴う問題を決定し、次いでそれをプログラマに伝達しなけれ
ばならない。プログラマは、ハードウェア・アプリケーション技術者からプログ
ラマに伝達された実装済みシステム中の問題に対して図のどのラングが対応する
かを決定するために、ラダー・ロジック・グラフまたはステートメントを読む。
プログラマとアプリケーション技術者との間のこうした伝達の繰返しは、厄介で
あり時間がかかるものの、ハードウェア・アプリケーション技術者が通常ラダー
・ロジック・エディタを使用したPLCプログラミングの当業者ではないため必
要である。
【0006】 論理制御装置をプログラムするためのシステムおよび方法であって、制御プロ
グラムを開発およびテストするのに必要な時間が削減されるシステムおよび方法
が必要とされている。
【0007】 また、論理制御装置をプログラムするためのシステムおよび方法であって、ソ
フトウェア工学ラダー・ロジック命令またはラダー・ロジック・グラフの技術分
野で訓練を積んでいないアプリケーション技術者が容易に理解できるインターフ
ェースをプログラミング・プロセスが提供するシステムおよび方法も必要とされ
ている。
【0008】 (発明の概要) 本発明の一目的は、論理制御装置をプログラムするためのシステムおよび方法
であって、制御プログラムを開発およびテストするのに必要な時間が削減される
システムおよび方法を提供することである。
【0009】 本発明の一目的はまた、論理制御装置をプログラムするためのシステムおよび
方法であって、ソフトウェア工学ラダー・ロジック命令またはラダー・ロジック
・グラフの技術分野で訓練を積んでいないアプリケーション技術者が容易に理解
できるインターフェースをプログラミング・プロセスが提供するシステムおよび
方法を提供することである。
【0010】 本発明の別の目的は、プログラムされたプロセスの動作を記述したプログラミ
ング・リストであってソフトウェア工学の技術分野で訓練を積んでいないアプリ
ケーション技術者が容易に読んで理解できるプログラミング・リストを生成する
ことのできる、このようなシステムおよび方法を提供することである。
【0011】 本発明の別の目的は、ロジック・コントローラをプログラムする方法であって
、制御下にあるシステムの変更の実施および変更への対応が容易な方法を提供す
ることである。本発明の他の目的は、フロー・チャートの自動生成の実現、自己
文書化機能、および制御プロセスの品質向上を含む。
【0012】 本発明は、制御下にある外部システムのコンポーネントから入力信号を受け取
るための複数の入力ポートと、外部システムのコンポーネントに出力信号を提供
するための複数の出力ポートとを有する論理制御装置によって実行するための制
御プログラムを生成するプロセスを提供する。このプロセスは、入力信号のうち
の対応する信号に関連する入力変数と出力信号のうちの対応する信号に関連する
出力変数とを含めた変数をユーザが定義および編集できるようにする変数編集ユ
ーザ・インターフェースを提供するステップと、変数を内部ファイルに記憶する
ステップとを含む。
【0013】 このプロセスはまた、制御プログラムの複数の状態をユーザが定義および編集
できるようにする状態編集ユーザ・インターフェースを提供するステップであっ
て、変数のうちの選択された変数が、状態のうちの対応する状態に関連し、論理
制御装置による制御プログラムの実行中に制御プログラムが選択された対応する
状態に遷移するとき、選択された各変数に、対応する選択されたデータ値が割り
当てられるステップと、状態を内部ファイルに記憶するステップとを含む。この
プロセスはさらに、制御プログラムの各状態につき少なくとも1つの条件をユー
ザが定義および編集できるようにする条件編集ユーザ・インターフェースを提供
するステップであって、各条件が、論理制御装置による制御プログラムの実行中
に条件が満たされたときに制御プログラムがソース状態としての関連する状態か
ら対応する選択された宛先状態に遷移することを指定するステップと、条件を内
部ファイルに記憶するステップと、内部ファイルに記憶された変数と状態と条件
との関連に応じて制御プログラムを生成するステップとを含む。
【0014】 好ましい一実施態様では、このプロセスはさらに、対応する複数の状態をそれ
ぞれが含む複数のプログラム・レベルをユーザが定義および編集できるようにす
るプログラム・レベル編集ユーザ・インターフェースを提供するステップも含む
。各プログラム・レベルは、制御プログラムのサブプロセスを定義するためのも
のであり、かつ、論理制御装置によって非同期実行するためのものである。プロ
グラム・レベルは、少なくとも1つのタスク・プログラム・レベルと、プログラ
ム・レベルのうちの対応する呼出しプログラム・レベルによって呼び出すことが
できる少なくとも1つのサブルーチン・プログラム・レベルとを含む。対応する
呼出しプログラム・レベルの複数の状態は、それに関連する呼出し条件を有する
少なくとも1つの状態を含む。その呼出し条件は、呼出しプログラム・レベルの
関連する状態から対応するサブルーチン・プログラム・レベルの対応する選択さ
れた宛先状態への遷移を指定する。対応するサブルーチン・プログラム・レベル
の複数の状態は、それに関連する戻り条件を有する少なくとも1つの状態を含み
、戻り条件は、制御プログラムの実行中に戻り条件が満たされたときに制御プロ
グラムが対応する呼出しプログラム・レベルの戻り状態に遷移すべきであること
を指定する。戻り状態は、対応する呼出しプログラム・レベルの呼出し条件に関
連する戻り状態フィールドによって示される。各サブルーチン・プログラム・レ
ベルおよび対応する呼出しプログラム・レベルは、論理制御装置によって単一ス
レッドで実行される。各プログラム・レベルは、それに関連するプログラム・レ
ベル値フィールドを有する。このプログラム・レベル値フィールドは、プログラ
ム・レベルを一意的に識別する対応するプログラム・レベル値を有するためのも
のである。
【0015】 各プログラム・レベルの各状態は、対応するプログラム・レベルのプログラム
・レベル値によって定義される対応する状態アドレスと、状態を一意的に識別す
る対応する状態値とを有するための、それに関連する状態アドレス・フィールド
を有する。各条件は、それに関連する条件フィールドを有し、条件フィールドは
、条件を示す対応する条件アドレスを有するための条件アドレス・フィールドで
あって、対応するプログラム・レベルのプログラム・レベル値、対応する状態の
状態値、および対応する条件を一意的に識別する対応する条件値によって条件ア
ドレスが形成される条件アドレス・フィールドと、論理制御装置による制御プロ
グラムの実行中に条件が真であると決定された場合に処理が遷移する先である、
対応する選択された宛先状態の状態アドレスを有する宛先状態アドレス・フィー
ルドを含む。
【0016】 各プログラム・レベルは、それに関連するプログラム・レベル名フィールドを
有し、このプログラム・レベル名フィールドは、対応するプログラム・レベルを
記述するユーザ指定の文字列を受け取るためのものである。各プログラム・レベ
ルの各状態は、それに関連する状態名フィールドを有し、この状態名フィールド
は、対応する状態を記述するユーザ指定の文字列を受け取るためのものである。
条件フィールドはさらに、対応する条件を記述するユーザ指定の文字列を受け取
るための条件名フィールドも含む。
【0017】 状態値および条件値は、ユーザが状態編集ユーザ・インターフェースおよび条
件編集ユーザ・インターフェースを介して状態および条件を定義するのに伴い、
プログラミング・プロセスによって順次自動的に生成される。変数はさらに記憶
場所変数も含み、この記憶場所変数は、制御プログラムの実行時に論理制御装置
によって関連するプログラム変数データ・フィールドがそれに割り振られる少な
くとも1つのプログラム変数と、制御プログラムの実行時に論理制御装置によっ
て関連するディジタル変数データ・フィールドがそれに割り振られる少なくとも
1つのディジタル変数とを含む。
【0018】 入力変数は、外部システムのコンポーネントのうちの対応するコンポーネント
から受け取った対応するアナログ入力信号に関連するアナログ入力変数と、外部
システムのコンポーネントのうちの対応するコンポーネントから受け取った対応
するディジタル入力信号に関連するディジタル入力変数とを含む。出力変数は、
外部システムのコンポーネントのうちの対応するコンポーネントに提供される対
応するアナログ出力信号に関連するアナログ出力変数と、外部システムのコンポ
ーネントのうちの対応するコンポーネントに提供される対応するディジタル出力
信号に関連するディジタル出力変数とを含む。
【0019】 条件は、関連するソース状態から対応する宛先状態への遷移が起こるかどうか
を判定するための条件ステートメントを含み、この条件ステートメントは、関連
する条件が満たされるには状態のうちの1つである選択されたチェック状態がア
クティブでなければならないことを指定する状態チェック条件ステートメントを
含み、選択されたチェック状態およびソース状態は、プログラム・レベルのうち
の異なるレベルに関連する。プログラム・レベルのうちの選択された被制限レベ
ルは、対応する選択された制限状態がアクティブであるときに論理制御装置によ
る実行を制限され、各制限状態は、対応する被制限プログラム・レベル以外のプ
ログラム・レベルに関連する。
【0020】 本発明の前述およびその他の目的、特徴、および利点は、図面のうちいくつか
の図を参照する好ましい実施形態に関する後続の詳細な説明から明らかになるで
あろう。
【0021】 (好ましい実施形態の詳細な説明) 本発明は、修正状態マシン理論に基づき、分散処理制御システム内で使用する
ように構成されている論理制御装置(LCU)を構成するためのプログラミング
・システムおよびその処理を提供する。本発明のプログラミング・システムは、
プログラミング専門家である必要のない処理制御技術者により、またはその監督
の下で使用するように設計された、ユーザ・フレンドリなグラフィック・インタ
ーフェースに従ったLCUのプログラミングを可能にする。
【0022】 次に、図面を参照すると、図1は、本発明を実行するのに使用することができ
る、分散処理制御システム10の概略ブロック図を示している。システム10は
、論理制御装置(LCU)12を含む。LCU12は制御下のシステムのコンポ
ーネント(図示せず)からデジタル入力信号を受信する複数のデジタル入力ポー
ト14と、制御下のシステムのコンポーネントにデジタル出力信号を提供する複
数のデジタル出力ポート16と、シリアル・バス・ポート18と、デジタル・イ
ンターロック・ポート20と、複数のタイマ/カウンタ入力ポート22と、複数
のタイマ/カウンタ出力ポート24と、前面パネル・ポート26と、ポート28
と、制御プログラム・インストレーション・ポート30とを有している。
【0023】 好ましい実施形態では、デジタル入力ポート14のそれぞれおよびデジタル出
力ポート16のそれぞれが、8ビットである。また、好ましい実施形態では、前
面パネル・ポート26およびグラフィックス・ポート28は、両方とも、RS2
32タイプのシリアル通信ポートであり、LCU12は、各R232ポートごと
に必要なすべてのハードウェアを含んでいる。さらに、好ましい実施形態では、
シリアル・バス・ポート18は、同期シリアル入力/出力ポートである。一実施
形態では、LCU12は、追加の論理制御装置またはネットワーク・ハブと結合
するための、追加のRS232タイプのポート(図示せず)を含み得る。
【0024】 描かれている制御システム10は、また、LCU12のシリアル・バス・ポー
ト18に結合されたポート32、制御下のシステムのコンポーネントからアナロ
グ入力信号を受信する複数のアナログ入力ポート33、制御下のシステムのコン
ポーネントにアナログ出力信号を提供する複数のアナログ出力ポート34を有す
るアナログ入力/出力拡張装置31と、LCU12のシリアル・バス・ポート1
8と結合されたポート36、複数の追加デジタル入力ポート37、複数の追加デ
ジタル出力ポート38を有するデジタル入力/出力拡張装置35とを含む。LC
U12のシリアル・バス・ポート18は、ロボット工学拡張装置(図示せず)や
PID拡張装置(図示せず)などのような追加の拡張装置とのシリアル通信を行
うことが可能である。
【0025】 描かれた制御システム10は、デジタル入力/出力インターロック・ユニット
40を備えている。そのユニットは、LCU12のデジタル・インターロック・
ポート20と結合されたポート42と、制御下のシステムの外部機器に、制御下
のシステムがインターロック条件のために停止されることを示すデジタル・イン
ターロック出力信号を提供する複数のデジタル・インターロック出力ポート44
と、制御下のシステムの外部機器から、制御下のシステムがインターロック条件
のために停止されることを示すデジタル・インターロック入力信号を受信する複
数のデジタル・インターロック・入力ポート46とを含む。
【0026】 描かれた制御システム10は、エンド・ユーザ前面パネル・ユニット50をさ
らに含み、このユニットは、LCU12の複数のポート14と接続されたポート
51と、LCUの前面パネル・ポート26と結合されたポート52と、パネル・
ユニット50のポート52を介してLCUの前面パネル・ポート26と接続され
たポート54を有するパネル制御論理ユニット53と、パネル・プロセッサ53
と結合されたキーボード55と、バス57を介してパネル制御論理ユニット53
と結合された液晶表示装置(LCD装置)と、バス57を介してパネル論理制御
装置と結合されたポート59を有し、かつ複数の発光ダイオード(LED)60
を有するLEDパネル58と、パネル・ユニット50のポート51を介してLC
U12のポート14と結合され、複数のスイッチ64を有するポート63を有す
るスイッチ・パネル62とを有する。
【0027】 描かれた制御システム10は、エンド・ユーザ・インターフェース(エンド・
ユーザGUI)65を備えている。これは、LCU12のポート28に接続され
たポート66と、エンド・ユーザGUIのポート66を介してLCUのポート2
8との通信のために結合されたポート70およびポート72を有するグラフィッ
クス・コントローラ・ユニット68と、グラフィックス・コントローラ・ユニッ
ト68のポート72に結合されたポート76を有するグラフィックス表示装置7
4とを含む。
【0028】 エンド・ユーザ前面パネル50は、LCU12による制御プログラムの実行中
、エンド・ユーザと分散処理制御システム10の間のインターフェースを提供す
る。エンド・ユーザ前面パネル50のLED60のそれぞれは、LCUの前面パ
ネル・ポート26と結合されたRS232通信チャネルを介して受信された信号
に応答するパネル制御論理ユニット53を介して、LCU12により、個々にア
ドレス指定可能である。LCU12は、前面パネルLED出力信号をパネル制御
論理ユニット53に与える。この信号はLED60のどれが活動化されるべきか
を示す情報を搬送する。例えば、前面パネルLED出力信号は、LED60の特
定の1つを活動化して、エンド・ユーザに圧力値がしきい値を越えたことを示す
ように、パネル制御論理ユニット53に指示する情報を搬送するのに使用され得
る。
【0029】 エンド・ユーザ前面パネルのスイッチ64は、前面パネル・スイッチ信号をL
CUの特定のデジタル入力14に送る。この前面パネル・スイッチ信号は、どの
スイッチ64がオンで、どれがオフであるのかを示す情報を搬送する。例えば、
前面パネル・スイッチ信号は、スイッチ64の特定の1つが、圧力値を減少させ
るためにエンド・ユーザによって活動化されたことを示す情報を搬送するのに、
使用することができる。
【0030】 好ましい実施形態では、LEDパネル58は、128個の個々にアドレス指定
可能なLED60を含み、スイッチ・パネル62は、4行の40個のスイッチ6
4を含む。描かれた実施形態では、アナログ入力/出力拡張装置31およびデジ
タル入力/出力拡張装置35は、非インテリジェント・カードである。ただし、
代替の実施形態では、拡張装置31および35は、追加の処理機能および追加の
メモリ機能を含み得る。
【0031】 好ましい実施形態では、制御システム10は、LCU12を構成するために本
発明によるプログラミング・プロセスを実行するためのプログラミング・コンピ
ュータ・システム80をさらに含む。パーソナル・コンピュータ、ワークステー
ション、または他の適切なコンピュータであり得るプログラミング・システム8
0は、LCU12のプログラミング・ポート30と結合されたポート82と、コ
ンピュータ処理−メモリ・ユニット81と、コンピュータと結合された表示装置
83と、コンピュータと結合されたキーボードやマウスなどのインターフェース
・デバイス84と、プリンタ85を含む。下記にさらに説明するとおり、本発明
によるプログラミング・プロセスは、通常は、プロセス技術者であるエンドユー
ザが、修正状態マシン理論に基づき、システムを制御するためのデータおよび命
令を含んだ内部ファイルを生成することができるようにする、グラフィカル・ユ
ーザ・インターフェースを提供する。内部ファイルは、コンパイルされて、下記
にさらに説明するとおり、コンパイル、データ変換、およびロードを含んだシー
ケンスのステップを介して、LCU12にアップロードするための制御プログラ
ムを生成する。
【0032】 様々な実施形態では、本発明のプログラミング・プロセスは、コンピュータ・
プログラミング・ソフトウェア、ファームウェア、またはハードウェアの任意の
組み合せを使用して実装することが可能である。本発明を実行するまたは本発明
による装置を構成する準備ステップとして、本発明によるコンピュータ・プログ
ラミング・コード(ソフトウェアまたはファームウェアのいずれか)は、通常、
固定(ハード)ドライブ、ディスケット、光ディスク、磁気テープ、ROM、P
ROMなどの半導体メモリなど、1つまたは複数のマシン可読記憶装置内に記憶
されることになり、これによって、本発明による製造品目を構成する。コンピュ
ータ・プログラミング・コードを含んだこの製造品目は、記憶装置から直接にコ
ードを実行すること、記憶装置からハードディスクやRAMなどの別の記憶装置
にコードをコピーすること、または遠隔実行のためにコードをネットワーク上で
伝送することのいずれかによって使用される。方法形態での本発明は、本発明に
よるコードを含んだ1つまたは複数のマシン可読記憶装置を、そこに含んだコー
ドを実行する適切な標準コンピュータ・ハードウェアと組み合わせることによっ
て、実行することができる。本発明を実行するための装置は、本発明によって符
号化されたコンピュータ・プログラムを含んだ、またはそれに対するネットワー
ク・アクセスを有する、プログラミング・システム80などの、1つまたは複数
のコンピュータおよび記憶システムでよい。
【0033】 エンド・ユーザGUI65は、プログラミング・プロセスによって生成された
変数の値をグラフィック形式で表示する。この変数は、アナログとデジタルの入
力/出力信号と関連付けられた制御情報、および様々な制御プログラム・パラメ
ータを搬送する。各変数は、対応する変数の関連するデータ・フィールドが、読
取り専用(RO)タイプの値または読取り/書込みタイプの値として、エンド・
ユーザGUI65からアクセス可能であるかどうかを示す、アクセス権フィール
ドを含む。下記にさらに説明するとおり、各変数のアクセス権フィールド内に記
憶されたアクセス権値は、プログラミング・プロセス内で変数を定義し、編集す
るとき、初期に割り当てられる。また、本発明のプログラミング・プロセスによ
り、アクセス権値は、制御プログラムの実行中、試験を受けているシステムの現
行の状態に依存して、様々であり得る。プログラミング・プロセスは、各変数お
よびエンド・ユーザが使用するためのその関連するアクセス権を含んだプログラ
ム・リストを生成することもある。
【0034】 図2は、汎用コントローラ・ボード(UCB)88によって形成されたLCU
12(図1)の好ましい実施形態の概略ブロック図である。このボードは、第1
ポート91、シリアル・バス93に結合された第2ポート92、第3ポート94
、バス96と結合された第4ポート95を有する中央演算処理装置(CPU)9
0と、バス96と結合され、LCU12のデジタル入力ポート14を介してデジ
タル入力信号を受信するように結合された複数の入力と、LCU12のデジタル
出力ポート16を介してデジタル出力信号を提供するように結合された複数の出
力と、LCU12のデジタル・インターロック・ポート20を介してデジタル・
インターロック信号を提供するように結合された複数のデジタル・インターロッ
ク端末とを有するデジタルI/Oハードウェア・ユニット98と、バス96を介
した通信のために結合された静的RAM(SRAM)100と、それぞれ、バス
96を介して通信のために結合されたRAM103および並列フラッシュEPR
OM104を有するメモリ・カード102と、シリアル・バス93を介してCP
U90との通信のために結合されたポート107を有し、かつシリアル・バス・
ポート18を介して拡張装置31および35(図1)との通信のために結合され
たポートを有する同期シリアルI/Oハードウェア・ユニット106と、シリア
ル・バス93を介して同期シリアルI/Oハードウェア・ユニット106および
CPU90との通信のために結合されたシリアルEPROM108と、CPU9
0の第3ポート94との通信のために結合されたポート110を有し、かつLC
U12の前面パネル・ポート26を介してエンド・ユーザ前面パネル50(図1
)のパネル制御論理ユニット53との通信のために結合されたポートを有する第
1RS232ハードウェア・ユニット109と、バス114を介して二重汎用非
同期受信側/送信側ハードウェア・ユニット(二重UARTハードウェア・ユニ
ット)との通信のために結合され、第1ポートが、LCU12のインストレーシ
ョン・ポート30を介してプログラミング・コンピュータ・システム80(図1
)との通信のために結合され、第2ポートが、LCU12のグラフィックス・ポ
ート28を介してエンド・ユーザGUI65(図1)との通信のために結合され
ている第2RS232ハードウェア・ユニット112とを含む。二重UART1
13は、バス96(図19)との通信のために結合されたポート115を有し、
RS232ポート28および30とバス96の間の通信を提供する。
【0035】 並列フラッシュEPROM104は、ソフトウェアを記憶するために使用され
、このソフトウェアには、オペレーティング・システム・カーネルと、I/O信
号を提供し、受信して制御下のシステムの外部デバイスとのインターフェースを
とるためのI/Oデバイス・ドライバと、制御プログラムの命令およびデータを
変換し、実行するためのインタプリタとが含まれる。シリアル・フラッシュEP
ROM108が、下記にさらに説明するとおり、構成データを記憶するために使
用される。SPRAM100は、UCBのための作業読取り/書込みメモリを提
供する。
【0036】 特定の処理を制御するためにUCB88によって実行される制御プログラムを
開発する過程で、プログラミング・プロセスのユーザが、前に記憶済みの制御プ
ログラムを上書きすることによって、UCBを再構成する必要がある可能性があ
る。UCBによる制御プログラムの実行中、エンド・ユーザは、通常、I/O信
号をLCU12(図1)に対して送信し、またそこから受信する様々なコンポー
ネント(例えば、変換器)の調整を監視する。また、エンド・ユーザは、制御シ
ステムを調整するために、下記にさらに説明するとおり、制御下のシステムのコ
ンポーネントのいくつかのパラメータを変更することを望む可能性がある。例え
ば、アナログ入力ポートのうちの1つを介してデバイス(図示せず)から受信さ
れた各アナログ入力信号は、ドライバ・ソフトウェア内に含まれる最小デバイス
値および最大デバイス値によって定義される一範囲の信号プログラム・レベル値
を有する。下記にさらに説明するとおり、本発明のプログラミング・プロセスで
は、対応するアナログ入力信号と関連するアナログ入力変数を定義するとき、そ
れぞれ、デバイス低の値およびデバイス高の値に対応するエンジニアリング・ユ
ニット低の値およびエンジニアリング・ユニット高の値に対して、初期値を割り
当てることが可能である。エンド・ユーザGUI65(図1)またはエンド・ユ
ーザ前面パネル50は、制御プログラムをUCBにアップロードするのに続いて
、エンジニアリング・ユニット低の値またはエンジニアリング・ユニット高の値
を変更するのに使用することができる。後に、修正された制御プログラムがUC
Bにアップロードされたとき、オペレータ調整されたエンジニアリング・ユニッ
ト低の値またはエンジニアリング・ユニット高の値が上書きされないことが望ま
しい。したがって、本発明のプログラミング・プロセスによれば、制御プログラ
ムのいくつかのパラメータは、構成データとして定義される。構成データは、修
正された制御プログラムのアップロード中、そうするオプションが選択された場
合にのみ、上書きされ得る。構成データは、制御プログラムの他のデータおよび
命令とは別にEPROM100内に保持される。
【0037】 図3Aは、本発明により、LCU12(図1)を構成する処理を一般的に12
0で図示する論理流れ図を示している。LCUの構成は、プログラミング・シス
テム80(図1)に実装されたプログラミング・プロセス128のグラフィカル
・ユーザ・インターフェースを使用して、制御プログラムを作成するユーザ12
4によって指定される。下記にさらに説明するとおり、本発明のプログラミング
・プロセス128は、ユーザ124が、修正状態マシン理論に基づき、プログラ
ムのレベル、状態、および条件の点で制御プログラムを設計することができるよ
うにする。プログラミング・プロセス128のインターフェースは、内部ファイ
ル132を作成するのに使用され、このファイルには、制御プログラムを定義す
るソース・コードを有するソース・ファイルと、下記にさらに説明するとおり、
プログラミング・プロセス内で使用されるすべての変数を定義する情報を有する
変数ファイルと、識別ファイルと、状態名ファイルと、条件名ファイルと、テキ
スト・ファイルとが含まれる。
【0038】 好ましい実施形態では、プログラミング・プロセスはC言語で実施される。コ
ンピュータ・プログラミング分野の専門家には、容易に明白となように、プログ
ラミング・プロセスは、C++、アセンブリ言語、または任意の他の適切なプロ
グラミング言語を含む様々な他のプログラミング言語で実施することが可能であ
る。プログラミング・プロセス128は、内部ファイル132を使用して、制御
プログラムの仕様を提供するアプリケーション技術者によって容易に読み取られ
、理解され得る、本発明によるプログラム・リスト138を生成する。下記にさ
らに説明するとおり、プログラム・リスト138は、論理制御装置を構成するの
に必要な時間を劇的に短縮することができる。
【0039】 プログラミング・プロセス128は、ソース・コードを内部ファイル132か
ら、そのソース・コードをコンパイルしてコントロール・プログラム・オブジェ
クト・ファイル140を作成するコンパイラ136に提供する。内部ファイル1
32の識別ファイル、状態名ファイル、条件名ファイル、テキスト・ファイルは
、コンパイルされず、オブジェクト・ファイル140内に含まれない。
【0040】 アップロード・モジュール142は、オブジェクト・ファイル140の変換お
よびLCU12(図1)へのアップロードを提供する。プログラマブル論理コン
トローラ(PLC)を使用する制御システムの場合、オブジェクト・ファイル1
40は、PLC形式データ変換器148によって、プログラミング・システム8
0(図1)の形式(例えば、PC形式)からPLC形式制御プログラム152に
変換されて、次に、これが、PLC形式ローダ156によって、LCU12を実
装するPLC160にロードされる。本発明による好ましいUCB88(図2)
を使用する論理制御システムの場合、オブジェクト・ファイル140は、UCB
形式変換器モジュール164によって、プログラミング・システムの形式から、
UCB形式制御プログラム168に変換されて、これが、UCB形式ローダ・モ
ジュール172により、LCU12を実装するUCB88にロードされる。当技
術分野の専門家には、データ形式変換とアップロードの機能が、様々なよく知ら
れた方法のいずれに従っても、本発明で実施できることが明白であろう。アップ
ロード・モジュール142は、制御プログラムをシミュレートして、それと関連
する問題を判定するための診断ソフトウェア174をさらに含む。
【0041】 図3Bは、本発明により生成された制御プログラムを受信し、解釈し、実行す
るためのコントローラ・ソフトウェア180のモジュールを一般的に図示する機
能ブロック図を示している。制御ソフトウェア180は、並列フラッシュEPR
OMユニット98(図2)内に記憶され、図2のUCBのCPU90によって実
行される。コントローラ・ソフトウェア180は、マルチタスク・オペレーティ
ング・システム・カーネル(OSカーネル)182と、構成可能I/Oシステム
184と、インタプリタ186とを含む。
【0042】 OSカーネル182は、並列フラッシュEPROMユニット98(図2)から
制御プログラムのデータおよび命令を受信して、そのデータおよび命令をインタ
プリタ186に渡す。インタプリタは制御プログラムの命令を1つづつ変換して
実行する。OSカーネル182およびインタプリタ186は、並列フラッシュE
PROM104(図3A)内に記憶されている。構成可能I/Oシステム184
は、複数のI/Oドライバを含む。
【0043】 変数を作成し、編集すること 本発明のプログラミング・プロセスで使用される変数は、入力/出力デバイス
変数(I/Oデバイス変数)、メモリ・ロケーション変数、およびタイマ変数と
して分類することが可能である。I/Oデバイス変数には、アナログ入力変数と
、アナログ出力変数と、デジタル入力変数と、デジタル出力変数と、前面パネル
LED変数と、前面パネル・スイッチ変数とが含まれる。メモリ・ロケーション
変数には、プログラム変数およびデジタル変数が含まれる。下記にさらに説明す
るとおり、変数のそれぞれは、対応する変数を一意的に識別し、またLCU12
(図1)によるフォーマット済み制御プログラムの実行中に、LCU12(図1
)によって割り振られる関連データ・フィールドのタイプを指定するID値を記
憶するためにプログラミング・プロセス内で使用される識別フィールドを含み、
データ・フィールドのタイプは、対応する変数に関連するデータ値を記憶するの
に適切なものとなっている。
【0044】 変数は、異なる変数に対してLCUによって割り振られるデータ・フィールド
のタイプにより、分類することが可能である。デジタル値タイプの変数には、デ
ジタル入力変数と、デジタル出力変数と、パネル・スイッチ変数と、パネルLE
D変数とが含まれる。浮動値タイプの変数には、アナログ入力変数と、アナログ
出力変数と、プログラム変数とが含まれる。ロング値タイプの変数には、タイマ
変数が含まれる。デジタル値タイプのデータ・フィールドが、LCU12(図1
)によって、デジタル値タイプの変数のそれぞれに対して割り振られる。本発明
の好ましい実施形態では、各デジタル値タイプのデータ・フィールドごとに、8
ビットがLCUによって割り振られる。浮動点値データ・フィールドが、LCU
12(図1)によって、浮動値タイプの変数のそれぞれに対して割り振られる。
ロング値タイプのデータ・フィールドが、LCU12(図1)によって、ロング
値タイプの変数のそれぞれに対して割り振られる。下記にさらに記載するとおり
、プログラミング・プロセスは、内部ファイル132(図3)の変数ファイル内
に記憶されたカウント値を使用して、識別値を変数に割り当てる。内部ファイル
の変数ファイル内に記憶されたデジタル・タイプの変数カウント値が、ユーザに
よって新しいデジタル・タイプの変数が生成されるたびに増加される。内部ファ
イルの変数ファイル内に記憶された浮動タイプの変数カウント値が、ユーザによ
って新しい浮動タイプの変数が生成されるたびに増加される。内部ファイルの変
数ファイル内に記憶された長い変数カウント値が、ユーザによって新しい長いタ
イプの変数が生成されるたびに増加される。
【0045】 図4Aは、本発明のプログラミング・プロセス内で使用されるアナログ入力変
数のフィールドを200として図示するブロック図を示す。このフィールドには
、プログラミング・プロセスによって自動的に割り当てられるID値を受け取る
ための識別フィールド(IDフィールド)202が含まれ、このID値は、対応
するアナログ入力変数を一意的に識別するためのものであり、またLCU12(
図1)によって割り振られ、LCUの入力ポート36(図1)で受信されたアナ
ログ入力信号のうちの対応する1つから導出されたサンプル値を受け取るための
関連アナログ入力データ・フィールド(図示せず)の長さを指定するためのもの
である。さらに、このフィールドには、対応するアナログ入力信号のソースを、
またはそれによって搬送される情報を記述するユーザ指定文字ストリングを受信
するためのアナログ入力変数名フィールド203と、対応するアナログ入力信号
が受信されるアナログI/O拡張装置33(図1)のアナログ入力ポート36(
図1)のうちの特定の1つを示すユーザ指定値を受け取るための入力/出力アド
レス・フィールド204と、対応するアナログ入力値が、論理制御装置12(図
1)により、電圧モードで検出されるか、あるいは電流モードで検出されるかを
示すユーザ指定モード値を受け取るための、デバイス電圧/電流モード・フィー
ルド205と、対応するアナログ入力信号の最低電圧値または最低電流値(デバ
イス・モード・フィールド205内に記憶された対応するモード値によって指定
された)を示すユーザ指定のデバイス低の値を受け取るためのデバイス低の値の
フィールド206と、対応するアナログ入力信号の最高電圧値または最高電流値
(対応するモード値によって指定された)を示すユーザ指定のデバイス高の値を
受け取るためのデバイス高の値のフィールド207とが含まれる。デバイス低と
高の値のフィールド206および207に入力される値は、UCBに渡される必
要はない。というのは、UCBのメモリ内に記憶されたデバイス・ドライバが、
デバイス低と高の値を含んでいるからである。ただし、デバイス低と高の値のフ
ィールド206および207内に記憶されたユーザ指定値が、下記にさらに説明
するとおり、プログラム・リストを生成するのに使用される。
【0046】 200で図示されるアナログ入力変数のフィールドは、さらに、ユーザ指定サ
ンプル数値を受け取るためのサンプル数フィールド208、およびユーザ指定サ
ンプル時間値を受け取るためのサンプル時間フィールド209を含む。サンプル
数値およびサンプル時間値は、分散処理制御システム10(図1)内での多種多
様な電気効果および機械効果のいずれによっても生じ得る、対応するアナログ入
力信号でのノイズ障害をろ波するための、本発明のソフトウェア実装されたフィ
ルタ処理スキーム内で使用される。サンプル数値およびサンプル時間の値は、対
応するアナログ入力信号が安定していると見なされるためには、その間、所定し
きい値内の信号プログラム・レベルを有していなければならない指定されたサン
プル時間中の、連続サンプルの必要な数を指定する。しきい値は、アナログ入力
信号を提供するデバイスの製造業者による仕様を考慮して決定される。
【0047】 200で図示されるアナログ入力変数のフィールドは、エンジニアリング・ユ
ニット低のフィールド(EU LOフィールド)210およびエンジニアリング
・ユニット高のフィールド(EU HIフィールド)211をさらに含む。EU
LOフィールド210は、EU低の名フィールド217と、EU低の値のフィ
ールド218と、EU低アクセス権フィールド219と、EU低構成状況フィー
ルド220とを含む複数のサブフィールドを有する。
【0048】 EU HIフィールド211は、EU高の名前のフィールド221と、EU高
の値のフィールド222と、EU高アクセス権フィールド223と、EU高構成
状況フィールド224とを含む複数のサブフィールドを有する。EU低とEU高
の名前のフィールド217および221は、それぞれ、対応するアナログ入力信
号によって搬送される許容可能範囲のユニット値の絶対最低値および絶対最高値
をそれぞれ記述するユーザ指定文字ストリングを受け取る。
【0049】 EU低フィールド210のサブフィールド217、218、219、220は
、下記にさらに説明するとおり、アナログ入力変数200とは異なるEU低プロ
グラム変数225を自動的に生成するために、本発明のプログラミング・プロセ
スによって使用される。EU低プログラム変数225は、EU低プログラム変数
225を一意的に識別する固有ID値を受け取るためのIDフィールド226、
およびEUサブフィールド217、218、219、220を含む。同様に、E
U高フィールド211のサブフィールド221、222、223、224は、ア
ナログ入力変数200およびEU低プログラム変数225とはやはり異なるEU
高プログラム変数227を生成するため、下記にさらに説明するとおり、本発明
のプログラム・プロセスによって使用される。EU高プログラム変数227は、
EU高プログラム変数227を一意的に識別するプログラム生成のID値を受け
取るためのIDフィールド228、およびEU高サブフィールド221、222
、223、224を含む。
【0050】 EU低の値のフィールド218は、適切なエンジニアリング・ユニット(例え
ば、psi)で表されたユーザ指定絶対最低値を受け取る。これは、デバイス低
フィールド206に入力されたデバイス低の値に対応する。EU低アクセス権フ
ィールド219は、EU LOプログラム変数225が、エンド・ユーザGUI
65(図1)により、読取り専用値としてアクセスされるか、あるいは読取り/
書込み値としてアクセスされるかを示す値を有する。EU低構成ステータス・フ
ィールド220は、コントロール・プログラム・オブジェクト・ファイル140
(図3)がUCB88にインストールされたとき、EU低プログラム変数225
が、UCBのシリアル・フラッシュEPROMユニット100(図2)内の構成
データベース内に記憶されるべきか、あるいは並列フラッシュEPROMユニッ
ト98(図2)内の主データベース内に記憶されるべきかを示す値を有する。
【0051】 EU高値フィールド222は、適切なユニットで表された値を示すユーザ指定
絶対最高値を受け取る。これは、デバイス高フィールド207に入力されるデバ
イス高の値と一致する。EU高アクセス権フィールド223は、EU高プログラ
ム変数227が、エンド・ユーザGUI65(図1)によって読取り専用値とし
てアクセスされるか、あるいは読取り/書込み値としてアクセスされるかを示す
ユーザ指定値を受け取る。EU高構成状況フィールド224は、コントロール・
プログラム・オブジェクト・ファイル140(図3)がUCB88にインストー
ルされたとき、EU高プログラム変数227が、UCBのシリアル・フラッシュ
EPROMユニット100(図2)内の構成データベース内に記憶されるべきか
、あるいは並列フラッシュEPROMユニット98(図2)内の主データベース
内に記憶されるべきかを示すユーザ指定値を受け取る。
【0052】 例として、圧力変換器(図示せず)によって提供され、LCU12(図1)の
アナログI/O拡張装置のアナログ入力ポート36(図1)のうちの1で受信さ
れるアナログ入力信号を代表するため、アナログ入力変数200を本発明のプロ
グラミング・プロセス内で使用することができる。圧力変換器によって提供され
るアナログ入力変換器は、5psiから100psiの間の範囲にある圧力変化
を表す0ボルトから20ボルトの範囲を有し得る。この例では、デバイス・モー
ド・フィールド205は、「電圧」を示す値を有する。デバイス低およびデバイ
ス高のフィールド206、207は、それぞれ、0ボルトおよび20ボルトを示
す値を有する。フィールド215および220内にあるEU高と低の名は、「p
si」でもよく、フィールド218および222内にあるEU高と低の値は、本
発明のプログラミング・プロセスのユーザによって、それぞれ、5および100
に設定されることになる。EU高と低のフィールドは、UCBに渡される。
【0053】 下記にさらに記載するとおり、フィールド203〜211に対する前述の値は
、本発明のプログラミング・プロセスに従ってユーザ指定される。好ましい実施
形態では、アナログ入力ID値が、関連するアナログ入力データ・フィールド(
図1のLCU12によって割り振られる)のための長さを指定し、これは、浮動
点数を記憶するのに適切なものである。アナログ入力変数のIDフィールド20
2内に記憶されたID値は、プログラミング・プロセスによって自動的に指定さ
れ、プログラミング・プロセスは、新しい浮動タイプの変数がユーザによって生
成されるごとに、内部ファイル132(図3)の対応する識別ファイル内に記憶
された浮動タイプ変数カウンタ値を増加する。前述のとおり、浮動タイプの変数
には、アナログ入力変数と、アナログ出力変数と、プログラム変数とが含まれる
【0054】 下記にさらに説明するとおり、フィールド202、204〜209、218〜
220、222〜224は、論理制御装置12への制御プログラムのインストレ
ーション時に、すべてプログラミング・システム80(図1)から論理制御装置
12(図1)に渡される。ただし、本発明のプログラミング・プロセス内で使用
されるすべての変数に関して一般的に当てはまるように、名前のフィールド(描
かれたアナログ入力変数に関するフィールド203、217、221を含め)は
、論理制御装置に渡されない。また、デバイス低フィールドおよびデバイス高フ
ィールドは、論理制御装置に渡されない。というのは、前述のとおり、デバイス
低とデバイス高の値は、I/Oドライバ内に含まれているからである。
【0055】 図4Bは、本発明のプログラミング・プロセス内で使用されるアナログ出力変
数のフィールドを図示するブロック図を示している。アナログ出力変数は、アナ
ログI/O拡張ボードの複数のアナログ出力ポート38(図1)のそれぞれで提
供されるアナログ出力信号を生成するのに使用される。描かれたアナログ出力変
数は、200(図4A)でのアナログ入力変数に下記の点で似ている。アナログ
出力変数のフィールドもまた、プログラミング・プロセスによって自動的に割り
当てられるAO識別値を受け取るためのIDフィールドを含み、このAO識別値
が、対応するアナログ出力変数を一意的に識別するため、かつまた、LCUのポ
ート38(図1)で提供されるアナログ出力信号のうちの対応する1つを生成す
るのに使用されるアナログ出力値を受け取るため、LCU12(図1)によって
割り振られる関連するアナログ出力データ・フィールド(図示せず)の長さを指
定するためのものであり、対応するアナログ出力信号によって搬送される情報を
記述するユーザ指定文字ストリングを受け取るためのアナログ出力変数名フィー
ルドと、そこから対応するアナログ出力信号が提供されるアナログI/O拡張装
置33(図1)のアナログ出力ポート38(図1)のうちの特定の1つを示すユ
ーザ指定値を受け取るための入力/出力アドレス・フィールドと、対応するアナ
ログ出力信号が、論理制御装置12(図1)によって、電圧モードで制御される
べきか、あるいは電流モードで制御されるべきかを示すユーザ指定モード値を受
け取るためのデバイス電圧/電流モード・フィールドと、対応するアナログ出力
信号の最低電圧値または最低電流値(デバイス・モード・フィールド205内に
記憶された対応するモード値によって指定される)を示すユーザ指定デバイス低
の値を受け取るためのデバイス低フィールドと、対応するアナログ出力信号の最
高電圧値または最高電流値(対応するモード値によって指定される)を示すユー
ザ指定のデバイス高の値を受け取るためのデバイス高フィールドとを含むという
点である。
【0056】 好ましい実施形態では、アナログ出力識別値は、浮動点数を記憶するのに適切
な、関連するアナログ出力データ・フィールド(図1のLCUによって割り振ら
れる)のための長さを指定する。描かれたアナログ出力変数230はまた、下記
の点で、アナログ入力変数200(図4A)に似ている。アナログ出力変数23
0が、EU低の名のサブフィールドと、EU低の値のサブフィールドと、EU低
アクセス権サブフィールドと、EU低構成状況サブフィールドとを有するエンジ
ニアリング・ユニット低フィールド(EU低フィールド)232、およびEU高
の名のサブフィールドと、EU高の値のサブフィールドと、EU高アクセス権サ
ブフィールドと、EU高構成状況サブフィールドとを有するエンジニアリング・
ユニット高フィールド(EU高フィールド)240をさらに含むという点である
【0057】 EU低フィールド232のサブフィールドは、アナログ出力変数230と関連
しているが、下記にさらに説明するとおり、それとは異なるEU低プログラム変
数236を自動的に生成するために、本発明のプログラミング・プロセス内で使
用される。EU低プログラム変数236は、EU低プログラム変数236を一意
的に識別する固有ID値を受け取るためのIDフィールド237、およびEU低
サブフィールドを含む。同様に、EU高フィールド234のサブフィールドは、
アナログ出力変数230とやはり関連するが、それとは異なるEU高プログラム
変数238を生成するため、下記にさらに説明するとおり、本発明のプログラミ
ング・プロセス内で使用される。EU高プログラム変数238は、EU高プログ
ラム変数238を一意的に識別するプログラム生成のID値を受け取るためのI
Dフィールド239、およびEU高サブフィールドを含む。
【0058】 ただし、アナログ入力変数200(図4A)とは異なり、描かれたアナログ出
力変数は、サンプル数フィールドまたはサンプル時間フィールドを含まない。さ
らに、描かれたアナログ出力変数は、アクセス権フィールド240および遅延フ
ィールド242を有し、このいずれも、アナログ入力変数内には含まれていない
。アナログ出力変数230のアクセス権フィールド240は、アナログ出力変数
が、制御プログラムの実行中、エンド・ユーザGUI65(図1)から、読取り
専用値としてアクセスされるか、あるいは読取り/書込み値としてアクセスされ
るかを示すユーザ指定値を受け取る。遅延フィールド242は、試験を受けるシ
ステムの外部コンポーネントが、対応するアナログ出力信号に応答するため必要
な遅延時間を示すユーザ指定の遅延時間値を受け取る。
【0059】 200(図4A)でのアナログ入力変数の場合と同様の方式で、名前のフィー
ルドを除き、アナログ出力変数の描かれたフィールドのすべてが、LCU12(
図1)に渡される。アナログ入力変数200(図4A)は、アクセス権フィール
ドを含まないことに留意されたい。エンド・ユーザGUI65(図1)からのア
ナログ入力変数へのアクセスは、デフォルトでは読取り専用になり、したがって
、エンド・ユーザGUI65(図1)からのアナログ入力変数に対する読取り/
書込みアクセスは、制御プログラムの実行中、許可されない。
【0060】 図4Cは、本発明のプログラミング・プロセス内で使用されるデジタル入力変
数のフィールドを246で図示するブロック図を示しており、このフィールドに
は、対応するデジタル入力変数246を一意的に識別するためのデジタル入力識
別値を受け取るため、かつまた、LCUのデジタル入力ポート14および37で
受信されるデジタル入力信号のうちの対応する1つから導出される値を記憶する
ための、LCU12(図1)によって割り振られる関連するデジタル入力データ
・フィールドの長さを指定するための、識別フィールド(IDフィールド)と、
論理制御装置の複数のデジタル入力ポート14(図1)のうちの対応する1つで
受信される対応するデジタル入力信号のソースを、またはそれによって搬送され
る情報を記述するユーザ指定文字ストリングを受け取るためのデジタル変数名フ
ィールドと、そこで対応するデジタル入力信号が受信されるLCU12のデジタ
ル入力ポート14(図1)のうちの特定の1つを示すユーザ指定値を受け取るた
めの入力/出力アドレス・フィールドとが含まれる。
【0061】 246でのデジタル入力変数のフィールドには、さらに、そこから対応するデ
ジタル入力信号が受信されるソース・デバイス(図示せず)に対するオン状態に
対応する論理プログラム・レベルを示すユーザ指定値を受け取るためのオン状態
論理プログラム・レベル・フィールド248と、ユーザ指定のサンプル数値を受
け取るためのサンプル数フィールド250と、ユーザ指定のサンプル時間値を受
け取るためのサンプル時間フィールド252とが含まれる。サンプル数値および
サンプル時間値は、本発明のソフトウェア実装されるデバウンシング・スキーム
内で使用されて、このスキームが、分散処理制御システム10(図1)内での多
種多様な電気効果および機械効果のいずれによっても生じ得る対応するデジタル
入力信号のデバウンシングを提供する。サンプル数値およびサンプル時間値は、
デジタル入力信号の論理値の変位が起こったと判定するには、その間、対応する
デジタル入力信号が、オン状態論理プログラム・レベル値より上または下になけ
ればならない指定サンプル時間中、サンプルされる連続値の必要な数を指定する
。デジタル入力変数246は、アクセス権フィールドを含まないことに留意され
たい。エンド・ユーザGUI65(図1)からの入力変数へのアクセスは、デフ
ォルトでは読取り専用になり、したがって、エンド・ユーザGUI65(図1)
からのデジタル入力変数246に対する読取り/書込みアクセスは、制御プログ
ラムの実行中、提供されない。
【0062】 好ましい実施形態では、デジタル入力変数246のIDフィールド内にあるデ
ジタル入力識別値は、関連するデジタル入力データ・フィールド(図1のLCU
12内に割り振られる)のための長さを指定し、これは、1ビット値を記憶する
のに適切なものとなっている。
【0063】 図4Dは、本発明のプログラミング・プロセス内で使用されるデジタル入力変
数のフィールドを254で図示するブロック図を示しており、このフィールドに
は、対応するデジタル出力変数254を一意的に識別するためのデジタル出力識
別値を受け取るため、かつまたLCUおよびデジタルI/O拡張装置40(図1
)のデジタル出力ポート16および38で提供されるデジタル出力信号のうちの
対応する1つを生成するために使用される値を記憶するため、LCU12(図1
)によって割り振られる関連するデジタル出力データ・フィールドの長さを指定
するための、識別フィールド(IDフィールド)と、対応するデジタル出力信号
のソースを、またはそれによって搬送される情報を記述するユーザ指定文字スト
リングを受け取るためのデジタル出力変数名フィールドと、そこで対応するデジ
タル出力信号が提供されることになるデジタル出力ポート16(図1)のうちの
特定の1つを示すユーザ指定値を受け取るための入力/出力アドレス・フィール
ドとが含まれる。デジタル出力変数254は、それがやはり、オン状態論理プロ
グラム・レベル・フィールドを含むという点で、デジタル入力変数246(図4
C)に似ている。ただし、描かれたデジタル出力変数は、それがサンプル数フィ
ールドまたはサンプル時間フィールドを含まないという点で、デジタル入力変数
246(図4C)とは異なっている。さらに、デジタル出力変数254は、それ
がアクセス権フィールド256と、遅延フィールド258と、LEDプロパティ
・フィールド260とを含むという点で、デジタル入力変数とは異なっている。
好ましい実施形態では、デジタル出力変数254のIDフィールド内にあるデジ
タル出力識別値は、関連するデジタル出力データ・フィールド(図1のLCU1
2内に割り振られる)のための長さを指定し、これは、1ビット値を記憶するの
に適切なものとなっている。
【0064】 アクセス権フィールド256は、デジタル出力変数254が、エンド・ユーザ
GUI65(図1)によって読取り専用値としてアクセスされるか、あるいは読
取り/書込み値としてアクセスされるかを示すユーザ指定値を受け取る。
【0065】 デジタル出力変数の遅延フィールド258は、試験を受けるシステムの外部コ
ンポーネントが対応するデジタル出力信号に応答するために必要な遅延時間を示
すユーザ指定の遅延時間値を受け取る。
【0066】 デジタル出力変数のLEDプロパティ・フィールドは、デジタル出力変数25
4と一致するデジタル出力信号を受信したのに応答して、制御下のシステムの外
部LED(図1のLEDパネルのLED60以外の)の動作を指定するための、
LEDプロパティ値を保持するのに使用される。
【0067】 図4Eは、本発明のプログラミング・プロセス内で使用される前面パネルLE
D変数のフィールドを262で図示するブロック図を示しており、このフィール
ドには、対応する前面パネルLED変数262を一意的に識別するための前面パ
ネルLED変数識別値を受け取るため、かつまたLCU12(図1)の前面パネ
ル・ポート26で提供されるLED出力信号のうちの対応する1つを生成するた
めに使用される値を記憶するため、LCU12(図1)によって割り振られる関
連するLEDデータ・フィールドの長さを指定するためのIDフィールドと、対
応するLED出力信号のソースを、またはそれによって搬送される情報を記述す
るユーザ指定文字ストリングを受け取るための前面パネルLED変数名フィール
ドと、そこで対応するLED出力信号が提供されることになるポート26(図1
)を示すユーザ指定値を受け取るためのIO入力/出力アドレス・フィールドと
、デジタル出力変数254が、エンド・ユーザGUI65(図1)によって、読
取り専用(R/O)値としてアクセスされるか、あるいは読取り/書込み(R/
W)値としてアクセスされるかを示すユーザ指定値を受け取るためのアクセス権
フィールドと、オン状態論理プログラム・レベル・フィールドとが含まれる。前
面パネルLED変数262は、デジタル出力変数254(図4)に非常によく似
ている。好ましい実施形態では、前面パネルLED変数262のIDフィールド
内にある前面パネルLED変数識別値は、関連するLEDデータ・フィールド(
図1のLCU内に割り振られる)のための長さを指定する。これは、2ビット値
を記憶するのに適切となっている。LCUによって割り振られるべきLEDデー
タ・フィールドの2ビットは、オン、オフ、ゆっくり明滅する、速く明滅するを
含んだLED状態を表すLED値を記憶するために使用される。
【0068】 図4Fは、本発明のプログラミング・プロセス内で使用されるパネル・スイッ
チ変数のフィールドを264で図示するブロック図を示し、このフィールドには
、対応するパネル・スイッチ変数264を識別するためのパネル・スイッチ変数
識別値を受け取るため、かつまた、LCU12(図1)の前面パネル・ポート2
6で受信されるパネル・スイッチ信号のなかの対応する1つを介して受け取られ
る値を記憶するため、LCU12(図1)によって割り振られる関連するパネル
・スイッチ・データ・フィールドの長さを指定するための識別フィールドと、対
応するパネル・スイッチ信号のソースを、またはそれによって搬送される情報を
記述するユーザ指定文字ストリングを受け取るためのパネル・スイッチ変数名フ
ィールドと、そこで対応するパネル・スイッチ信号が提供されることになる特定
のデジタル入力ポート14(図1)を示すユーザ指定値を受け取るための入力/
出力アドレス・フィールドと、対応するパネル・スイッチ変数246が、エンド
・ユーザGUI65(図1)によって、読取り専用(R/O)値としてアクセス
されるか、あるいは読取り/書込み(R/W)値としてアクセスされるかを示す
ユーザ指定値を受け取るためのアクセス権フィールドと、オン状態論理プログラ
ム・レベル・フィールドとが含まれる。
【0069】 好ましい実施形態では、パネル・スイッチ変数264のIDフィールド内にあ
るパネル・スイッチ変数識別値は、関連するパネル・スイッチ変数データ・フィ
ールド(図1のLCU12内に割り振られる)のための長さを指定し、これは、
1ビット値を記憶するのに適切となっている。
【0070】 図4Gは、本発明のプログラミング・プロセス内で使用されるプログラム変数
のフィールドを266で図示するブロック図を示しており、このフィールドには
、対応するプログラム変数266を識別するID値を受け取るため、かつまた、
プログラム値を記憶するためLCU12(図1)によって割り振られる関連する
プログラム変数データ・フィールド(図示せず)の長さを指定するための識別フ
ィールドと、対応するプログラム変数を記述するユーザ指定文字ストリングを受
け取るためのプログラム変数名フィールドと、プログラム変数266が、制御プ
ログラム・オブジェクト・ファイル140(図3)がUCB88にインストール
されたとき、UCBのシリアル・フラッシュEPROMユニット100(図2)
内の構成データベース内に記憶されるべきか、あるいは並列フラッシュEPRO
Mユニット98(図2)内の主データベース内に記憶されるべきかを示すユーザ
指定値を受け取るための構成プロパティ・フィールド268と、プログラム変数
データ・フィールド(図示せず)に対する、対応するユーザ指定の初期設定値を
受け取るための初期設定値フィールド270と、対応するプログラム変数266
が、エンド・ユーザGUI65(図1)によって、読取り専用(R/O)値とし
てアクセスされるか、あるいは読取り/書込み(R/W)値としてアクセスされ
るかを示すユーザ指定値を受け取るためのアクセス権フィールドとが含まれる。
好ましい実施形態では、プログラム変数266のIDフィールド内にあるプログ
ラム変数識別値は、関連するプログラム変数データ・フィールド(図1のLCU
12内に割り振られる)のための長さを指定し、これは、浮動点数を記憶するの
に適切なものとなっている。
【0071】 図4Hは、本発明のプログラミング・プロセス内で使用されるデジタル変数の
フィールドを272で図示するブロック図を示している。描かれたデジタル変数
のフィールドには、対応するデジタル変数272を識別するID値を受け取るた
め、かつまた、デジタル値を記憶するためにLCU12(図1)によって割り振
られる関連するデジタル変数データ・フィールド(図示せず)の長さを指定する
ための識別フィールドと、対応するデジタル変数を記述するユーザ指定文字スト
リングを受け取るためのデジタル変数名フィールドと、デジタル変数272が、
構成データとして記憶されるべきかどうかを示すユーザ指定値を受け取るための
構成プロパティ・フィールドと、デジタル変数データ・フィールド(図示せず)
に対する、対応するユーザ指定の初期設定値を受け取るための初期設定値フィー
ルド274と、対応するデジタル変数272が、エンド・ユーザGUI65(図
1)から、読取り専用(R/O)値としてアクセスされるか、あるいは読取り/
書込み(R/W)値としてアクセスされるかを示すユーザ指定値を受け取るため
のアクセス権フィールドと、LEDプロパティ・フィールド276とが含まれる
。LEDプロパティ・フィールド276は、指定のLEDが現在、またはある時
刻に速く明滅しているか、あるいはゆっくり明滅しているかを示す値を保持する
ために使用される。
【0072】 好ましい実施形態では、デジタル変数272のIDフィールド内にある識別値
は、関連するデジタル変数データ・フィールド(図1のLCU12内に割り振ら
れる)のための長さを指定し、これは、1ビット値を記憶するのに適切となって
いる。
【0073】 図4Iは、本発明のプログラミング・プロセス内で使用されるタイマ変数のフ
ィールドを278で図示するブロック図を示している。タイマ変数の描かれたフ
ィールド278には、対応するタイマ変数278を識別するID値を受け取るた
め、かつまた、タイマ値を記憶するためにLCU12(図1)によって割り振ら
れる関連するタイマ変数データ・フィールド(図示せず)の長さを指定するため
の識別フィールドと、対応するタイマ変数を記述するユーザ指定文字ストリング
を受け取るためのタイマ変数名フィールドと、タイマ変数278が、構成データ
として記憶されるべきかどうかを示すユーザ指定値を受け取るための構成プロパ
ティ・フィールドと、タイマ変数データ・フィールド(図示せず)に対する、対
応するユーザ指定の初期設定値を受け取るための初期設定値フィールド280と
、対応するタイマ変数278が、エンド・ユーザGUI65(図1)から、読取
り専用(R/O)値としてアクセスされるか、あるいは読取り/書込み(R/W
)値としてアクセスされるかを示すユーザ指定値を受け取るためのアクセス権フ
ィールドとが含まれる。好ましい実施形態では、タイマ変数278のIDフィー
ルド内にある識別値は、関連するタイマ変数データ・フィールド(LCU内に割
り振られる)のための長さを指定し、これは、整数を記憶するのに適切なものと
なっている。
【0074】 プログラミング・プロセス 図5は、論理制御装置を構成するため、本発明のプログラミング・プロセスの
ユーザ・インターフェースのメインメニューを実施するための一連のステップを
400で図示する流れ図を示している。図示してはいないが、好ましい実施形態
では、プログラミング・プロセスは、メインメニュー内で、編集または作成され
るべき複数の制御プログラムから選択するオプションを提供する。図のプロセス
は、ステップ402で開始し、そこでプログラミング・プロセスは、変数の編集
と、状態マシン・プロセスの編集と、コンパイルと、アップロードとを含んだプ
ログラミング・オプションから選択するように、ユーザにプロンプト指示する。
ステップ404で、プログラミング・プロセスは、ステップ402で指定された
選択項目から選択されたユーザ入力を受け取る。ステップ406で、プログラミ
ング・プロセスは、変数を編集するオプションが選択されているかどうかを判定
する。ユーザが、変数を編集するオプションを選択している場合、描かれたプロ
セスは、「A1」に(図6に)進む。ステップ407で、ユーザが、現在の制御
プログラムに対する変数リストを印刷するオプションを選択しているかどうかを
判定し、選択している場合、プロセスは、「A2」に(図17に)進む。ステッ
プ408で、ユーザが、状態マシン・プロセスを編集するオプションを選択して
いるかどうかが判定される。選択している場合、描かれたプロセスは、「B」に
(図18に)進む。ステップ409で、ユーザが、プログラム・リストを生成す
るオプションを選択しているかどうかが判定され、選択している場合、プロセス
は、「C」に(図32に)進む。ステップ410で、ユーザが、コンパイルする
オプションを選択しているかどうかが判定され、選択している場合、描かれたプ
ロセスは、ステップ411に進み、そこでプログラミング・システムが、様々な
良く知られているコンパイル技法に従って、内部ファイル132(図3A)をコ
ンパイルする。ステップ412で、プログラミング・プロセスは、ユーザがアッ
プロードするオプションを選択しているかを判定する。412で、ユーザが、ア
ップロードするオプションを選択していると判定された場合、描かれたプロセス
は、ステップ413に進み、そこで、アップロード・モジュール142(図3A
)が、前述のとおり、オブジェクト・ファイル140のLCU12(図1)への
変換およびアップロードを提供する。412で、ユーザが、アップロードするオ
プションを選択していないと判定された場合、描かれたプロセスは、終了する。
【0075】 論理制御変数を編集すること 図6は、本発明のプログラミング・プロセス内の様々なタイプの変数を編集す
る選択をユーザに適用する変数編集サブプロセスを420で図示する流れ図を示
している。描かれたプロセスは、ステップ422で開始し、そこでプログラミン
グ・プロセスは、アナログ入力変数と、アナログ出力変数と、デジタル入力変数
と、デジタル出力変数と、プログラム変数と、デジタル変数と、パネル発光ダイ
オード(パネルLED)変数と、パネル・スイッチ変数と、タイマ変数と、比例
積分微分(PID)変数の編集を含んだ変数編集オプションから選択するように
、ユーザにプロンプト指示する。ステップ424で、プログラミング・プロセス
は、ステップ422で提供される変数編集オプションのうちの1つを示すユーザ
入力を受け取る。
【0076】 ステップ424から、描かれたプロセスは、426に進み、そこで、アナログ
入力変数を編集するオプションが選択されているかが判定される。選択されてい
る場合、描かれたプロセスは、「AI」に(図7に)進む。426から、描かれ
たプロセスは、428に進み、そこで、アナログ出力変数を編集するオプション
をユーザが選択しているかどうかが判定され、選択している場合、描かれたプロ
セスは、「AO」に(図8に)進む。428から、描かれたプロセスは、430
に進み、そこで、デジタル入力変数を編集するオプションをユーザが選択してい
るかどうかが判別され、選択している場合、プロセスは、「DI」に(図9に)
進む。430から、描かれたプロセスは、432に進み、そこで、デジタル出力
変数を編集するオプションをユーザが選択しているかどうかが判定され、選択し
ている場合、描かれたプロセスは、「DO」に(図10)に進む。
【0077】 434で、前面パネルLED変数を編集するオプションをユーザが選択してい
るかどうかが判定され、選択している場合、プロセスは、「LED」に(図11
に)進む。436で、プログラミング・プロセスは、パネル・スイッチ変数を編
集するオプションをユーザが選択しているかどうかを判定して、選択している場
合、プロセスは、「PS」に(図12に)進む。436から、プロセスは、43
8に進み、そこで、プログラム変数を編集するオプションをユーザが選択してい
るかが判定され、選択している場合、プロセスは、「PV」に(図13に)進む
。440で、プログラミング・プロセスは、デジタル変数を編集するオプション
をユーザが選択しているかを判定して、選択している場合、プロセスは、「DV
」に(図14に)進む。442で、タイマ変数を編集するオプションをユーザが
選択しているかどうかが判定され、選択している場合、プロセスは、「T」に(
図15に)進む。最後に444で、PID変数を編集するオプションをユーザが
選択しているかどうかが判定され、選択している場合、プロセスは、「PID」
に(図16に)進み、選択していない場合、描かれたプロセスは、終了する。
【0078】 図7は、アナログ入力変数(AI変数)200(図4A)を編集するための、
本発明のプログラミング・プロセスのサブプロセスを450で図示する流れ図を
示している。描かれたものは、「AI」(図6から)452に進み、そこで、プ
ログラミング・システムは、すべての前に定義済みのアナログ変数のリストを表
示する。ステップ454で、プログラミング・システムは、新しいアナログ入力
変数を定義する、あるいは前に定義済みのアナログ入力変数を編集して、対応す
るユーザ入力を受け取るオプションからユーザが選択できるようにするユーザ・
インターフェースを提供する。ステップ456で、プログラミング・システムは
、新しい/選択された現行のアナログ入力変数200(図4A)のフィールド2
02〜211のすべてに対する現行の値を表示する。現行のアナログ入力変数が
、新しい変数である場合には、フィールド202〜211(図4A)は、未定義
であり、各フィールドに対して何もエントリは表示されない。ステップ456か
ら、描かれたステップは、ステップ458に進み、そこで、プログラミング・シ
ステムは、現行のアナログ入力変数のフィールド202〜211(図4A)を編
集/定義し、かつまた関連するEU低プログラム変数225(図4A)とEU高
プログラム変数277のフィールドを編集/定義することをユーザが行えるよう
にするインターフェースを提供する。ステップ460で、プログラミング・シス
テムは、現行のアナログ入力変数のフィールド202〜211(図4A)のそれ
ぞれに対するユーザ入力を受け取って、それを表示する。
【0079】 ステップ426で、プログラミング・システムは、新しいアナログ入力変数を
定義するオプションをユーザが選択しているかどうかを判定する。426で、新
しい入力変数を定義するオプションをユーザが選択していると判定された場合、
描かれたプロセスは、ステップ464に進み、そこで、プログラミング・システ
ムは、自動的に、アナログ入力変数識別値を現行のアナログ入力変数200のI
Dフィールド202(図4A)に割り当てる。値は、新しい浮動タイプの変数が
定義されるたびに増加される内部ファイル132(図3)の変数ファイル内に記
憶された浮動タイプ変数のカウンタ値から読取ることによって、各新しいアナロ
グ入力変数のIDフィールド202(図4A)に割り当てられる。ステップ46
4から、プロセスは、ステップ466に進み、そこでプログラミング・システム
は、関連するアナログ入力変数200(図4A)のEU低フィールド210およ
びEU高フィールド211のサブフィールド217〜220およびサブフィール
ド221〜224それぞれから、新しいEU低プログラム変数255(図4A)
および新しいEU高プログラム変数227を生成する。ステップ468で、プロ
グラミング・システムは、浮動タイプのカウンタ値から読取ることによって、新
しいEU低プログラム変数225および新しいEU高プログラム変数227それ
ぞれのIDフィールド226および228に、識別値を自動的に割り当てる。ス
テップ468から、プロセスは、ステップ470に進み、そこで、プログラミン
グ・システムは、現行のアナログ入力変数の新しい/編集された値、ならびに現
行のアナログ入力変数と関連付けられたEU低の変数およびEU高の変数のフィ
ールドを保存する。462で、新しいアナログ入力変数を定義するオプションを
ユーザが選択しておらず、前に定義済みのアナログ入力変数を編集するオプショ
ンを選択していると判定された場合、描かれたプロセスは、462から進んで、
前述のとおり、直接にステップ470を実行する。
【0080】 図8は、アナログ出力変数(AO変数)230(図4B)を編集するための、
本発明のプログラミング・プロセスのサブプロセスを480で図示する流れ図を
示している。描かれたものは、「AO」から(図6から)482に進み、そこで
、プログラミング・システムが、すべての前に定義済みのアナログ出力変数のリ
ストを表示する。ステップ484で、プログラミング・システムは、新しいアナ
ログ出力変数を定義する、あるいは前に定義済みのアナログ出力変数を編集して
、対応するユーザ入力を受け取るオプションから、ユーザが選択できるようにす
るユーザ・インターフェースを提供する。ステップ486で、プログラミング・
システムは、新しい/選択された現行のアナログ出力変数230(図4B)のフ
ィールド(図4B)のすべてに対する現行の値を表示する。現行のアナログ出力
変数が、新しい変数である場合には、アナログ出力変数(図4B)の対応するフ
ィールドは、未定義であり、各フィールドに対して、何もエントリは表示されな
い。ステップ486から、描かれたプロセスは、ステップ488に進み、そこで
、プログラミング・システムは、現行のアナログ出力変数230のフィールドを
編集/定義し、かつまた、関連するEU低プログラム変数236(図4B)とE
U高プログラム変数238のフィールドを編集/定義することをユーザが行える
ようにするインターフェースを提供する。ステップ490で、プログラミング・
システムは、現行のアナログ出力変数のフィールド(図4B)のそれぞれに対す
るユーザ入力を受け取って、それを表示する。
【0081】 ステップ492で、プログラミング・システムは、新しいアナログ出力変数を
定義するオプションをユーザが選択しているかどうかを判定する。492で、新
しいアナログ出力変数を定義するオプションをユーザが選択していると判定され
た場合、描かれたプロセスは、ステップ494に進み、そこでプログラミング・
システムは、アナログ出力変数識別値を現行のアナログ出力変数230のIDフ
ィールド(図4B)に自動的に割り当てる。値は、新しい浮動タイプの変数が定
義されるたびに増加される、内部ファイル132(図3)の変数ファイル内に記
憶された浮動タイプ変数のカウンタ値から読み取ることによって、各新しいアナ
ログ出力変数のIDフィールドに割り当てられる。ステップ494から、プロセ
スは、ステップ496に進み、そこでプログラミング・システムは、関連するア
ナログ出力変数230(図4B)のEU低フィールド232およびEU高フィー
ルド234それぞれのサブフィールドから新しいEU低プログラム変数236(
図4B)およびEU高プログラム変数238を生成する。ステップ498で、プ
ログラミング・システムは、浮動タイプ・カウンタ値から読み取ることによって
、識別値を新しいEU低プログラム変数236および新しいEU高プログラム変
数のIDフィールド237および239(図4B)それぞれに自動的に割り当て
る。ステップ498から、プロセスは、ステップ500に進み、そこでプログラ
ミング・システムは、現行のアナログ出力変数のフィールドに対する新しい/編
集された値、および現行のアナログ出力変数と関連付けられたEU低の変数とE
U高の変数のフィールドを保存する。492で、新しいアナログ出力変数を定義
するオプションをユーザが選択しておらず、前に定義済みのアナログ出力変数を
定義するオプションを選択していると判断された場合、描かれたプロセスは、4
92から進んで、前述のとおり、直接にステップ500を実行する。
【0082】 図9は、デジタル入力変数(DI変数)246(図4C)を編集するための、
本発明のプログラミング・プロセスのサブフィールドを520で図示する流れ図
を示している。描かれたプロセスは、「DI」から(図6から)531に進み、
そこで、プログラミング・システムは、すべての前に定義済みのデジタル入力変
数のリストを表示する。ステップ522で、プログラミング・システムは、新し
いデジタル入力変数を定義する、あるいは前に定義済みのデジタル入力変数を編
集して、対応するユーザ入力を受け取るオプションからユーザが選択できるよう
にするユーザ・インターフェースを提供する。ステップ523で、プログラミン
グ・システムは、ステップ522で選択されたデジタル入力変数のフィールド(
図4C)のすべてに対して前に入力済みの値を表示し、このフィールドには、D
I変数名フィールドと、I/Oアドレス・フィールドと、オン状態論理プログラ
ム・レベル・フィールドと、サンプル数フィールドと、サンプル時間フィールド
(図4C)とが含まれる。現行のデジタル入力変数が新しい変数である場合には
、デジタル入力変数のフィールド(図4C)は、未定義であり、各フィールドに
対して何もエントリは、表示されない。
【0083】 ステップ524で、プログラミング・システムは、現行のデジタル入力変数の
フィールド(図4C)を編集/定義することをユーザが行えるようにするインタ
ーフェースを提供する。ステップ525で、プログラミング・システムは、現行
のデジタル入力変数のフィールド(図4C)のそれぞれに対するユーザ入力を受
け取って、それを表示する。描かれたプロセスは、ステップ525から526に
進み、そこでプログラミング・システムは、新しいデジタル入力変数を定義する
オプションをユーザが選択しているかどうかを判定する。526で、新しいデジ
タル入力変数を定義するオプションをユーザが選択していると判定された場合、
プロセスは、ステップ527に進み、そこでプログラミング・システムは、デジ
タル入力変数識別値を現行のデジタル入力変数のIDフィールド(図4C)に自
動的に割り当てる。値は、新しいデジタル・タイプの変数が定義されるたびに増
加されるデジタル・タイプ変数カウンタ値から読み取ることによって、各新しい
デジタル入力変数のIDフィールドに、順次、割り当てられる。ステップ527
から、プロセスは、ステップ528に進み、そこでプログラミング・システムは
、現行のデジタル入力変数のフィールドに対する新しい/編集された値を保存す
る。526で、新しいデジタル入力変数を定義するオプションをユーザが選択し
ていないと判定された場合、プロセスは、前述のとおり、ステップ528を直接
に実行するように進み、その後、プロセスは、「A1」に(図6に)戻る。
【0084】 図10は、デジタル出力変数(DO変数)254(図4D)を編集するための
、本発明のプログラミング・プロセスのサブプロセスを530で図示する流れ図
を示す。描かれたものは、「DO」から(図6から)531に進み、そこで、プ
ログラミング・システムは、すべての前に定義済みの出力変数のリストを表示す
る。ステップ532で、プログラミング・システムは、新しいデジタル出力変数
を定義する、あるいは前に定義済みのデジタル出力変数を編集して、対応するユ
ーザ入力を受け取るオプションから、ユーザが選択できるようにするユーザ・イ
ンターフェースを提供する。ステップ533で、プログラミング・システムは、
デジタル出力変数名フィールドと、I/Oアドレス・フィールドと、アクセス権
と、オン状態論理プログラム・レベル・フィールドと、遅延258と、LEDプ
ロパティ260と(図4D)を含んだ新しい/選択されたデジタル出力変数のフ
ィールド(図4D)のすべてに対する、前に入力済みの値を表示する。現行のデ
ジタル出力変数が、新しい変数である場合には、デジタル出力変数のフィールド
(図4D)は、未定義であり、各フィールドに対して何もエントリは、表示され
ない。
【0085】 ステップ534で、プログラミング・システムは、現行のデジタル出力変数の
フィールド(図4D)を編集/定義することをユーザが行えるようにするインタ
ーフェースを提供する。ステップ535で、プログラミング・システムは、現行
のデジタル出力変数のフィールド(図4D)のそれぞれに対するユーザ入力を受
け取って、それを表示する。描かれたプロセスは、ステップ535から536に
進み、そこでプログラミング・システムは、新しいデジタル出力変数を定義する
オプションをユーザが選択しているかどうかを判定する。新しいデジタル出力変
数を定義するオプションをユーザが選択していると判定された場合、プロセスは
、ステップ537に進み、そこでプログラミング・システムは、デジタル出力変
数識別値を現行のデジタル出力変数のIDフィールド(図4D)に自動的に割り
当てる。値は、新しいデジタル・タイプの変数が定義されるたびに増加されるデ
ジタル・タイプ変数カウンタ値から読み取ることによって、各新しいデジタル出
力変数のIDフィールドに割り当てられる。ステップ537から、プロセスは、
ステップ538に進み、そこでプログラミング・システムは、現行のデジタル出
力変数のフィールドに対する新しい/編集された値を保存する。536で、新し
いデジタル入力変数を定義するオプションをユーザが選択していないと判定され
た場合、プロセスは、前述のとおり、ステップ538を直接に実行するように進
み、その後、プロセスは、「A1」に(図6に)戻る。
【0086】 図11は、前面パネルLED変数262(図4E)を編集するための、本発明
のプログラミング・プロセスのサブプロセスを540で図示する流れ図を示す。
描かれたものは、「LED」から(図6から)541に進み、そこでプログラミ
ング・システムは、すべての前に定義済みのLED変数のリストを表示する。ス
テップ542で、プログラミング・システムは、新しいLED変数を定義する、
あるいは前に定義済みのLED変数を編集して、対応するユーザ入力を受け取る
オプションから、ユーザが選択できるようにするユーザ・インターフェースを提
供する。ステップ523で、プログラミング・システムは、変数名フィールドと
、I/Oアドレス・フィールドと、アクセス権と、オン状態論理プログラム・レ
ベル・フィールドと(図4E)を含んだ新しい/選択された前面パネルLED変
数のフィールド(図4E)のすべてに対する、前に入力済みの値を表示する。
【0087】 ステップ524で、プログラミング・システムは、現行のLED変数のフィー
ルド(図4E)を編集/定義することをユーザが行えるようにするインターフェ
ースを提供する。ステップ525で、プログラミング・システムは、現行のLE
D変数のフィールド(図4E)のそれぞれに対するユーザ入力を受け取って、そ
れを表示する。描かれたプロセスは、ステップ525から526に進み、そこで
プログラミング・システムは、新しいLED変数を定義するオプションをユーザ
が選択しているかどうかを判定する。526で、新しいLED変数を定義するオ
プションをユーザが選択していると判定された場合、プロセスは、ステップ52
7に進み、そこでプログラミング・システムは、LED変数識別値を現行のデジ
タル入力変数のIDフィールド(図4C)に自動的に割り当てる。値は、デジタ
ル・タイプ変数カウンタ値から読み取ることによって、各新しい前面パネルLE
D変数のIDフィールドに割り当てられる。ステップ527から、プロセスは、
ステップ528に進み、そこでプログラミング・システムは、現行のLED変数
のフィールドに対する新しい/編集された値を保存する。526で、新しいLE
D変数を定義するオプションをユーザが選択していないと判定された場合、プロ
セスは、前述のとおり、ステップ528を直接に実行するように進み、この後、
プロセスは、「A1」に(図6に)戻る。
【0088】 図12は、パネル・スイッチ変数264(図4F)を編集するための、本発明
のプログラミング・プロセスのサブプロセスを550で図示する流れ図を示す。
描かれたものは、「PS」から(図6から)ステップ551に進み、そこでプロ
グラミング・システムは、すべての前に定義済みのパネル・スイッチ変数のリス
トを表示する。ステップ552で、プログラミング・システムは、新しいパネル
・スイッチ変数を定義する、あるいは前に定義済みのパネル・スイッチ変数を定
義して、対応するユーザ入力を受け取るオプションから、ユーザが選択できるよ
うにするユーザ・インターフェースを提供する。ステップ553で、プログラミ
ング・システムは、パネル・スイッチ変数名フィールドと、I/Oアドレス・フ
ィールドと、アクセス権と、オン状態論理プログラム・レベル・フィールドと(
図4F)を含んだ新しい/選択されたパネル・スイッチ変数のフィールド(図4
F)のすべてに対する、前に入力済みの値を表示する。
【0089】 ステップ554で、プログラミング・システムは、新しい/選択されたパネル
・スイッチ変数のフィールド(図4F)を編集/定義することをユーザが行える
ようにするインターフェースを提供する。ステップ555で、プログラミング・
システムは、現行のパネル・スイッチ変数のフィールド(図4F)のそれぞれに
対するユーザ入力を受け取って、それを表示する。描かれたプロセスは、ステッ
プ555から556に進み、そこでプログラミング・システムは、新しいパネル
・スイッチ変数を定義するオプションをユーザが選択しているかどうかを判定す
る。556で、新しいパネル・スイッチ変数を定義するオプションをユーザが選
択していると判定された場合、プロセスは、ステップ557に進み、そこでプロ
グラミング・システムは、パネル・スイッチ変数識別値を現行のデジタル入力変
数のIDフィールド(図4F)に自動的に割り当てる。値は、デジタル・タイプ
変数カウンタ値から読み取ることによって、各新しいパネル・スイッチ変数のI
Dフィールドに割り当てられる。ステップ557から、プロセスは、ステップ5
58に進み、そこでプログラミング・システムは、現行のパネル・スイッチ変数
のフィールドに対する新しい/編集された値を保存する。556で、新しいパネ
ル・スイッチ変数を定義するオプションをユーザが選択していないと判断された
場合、プロセスは、前述のとおり、ステップ558を直接に実行するように進み
、その後、プロセスは、「A1」に(図6に)戻る。
【0090】 図13は、プログラム変数226(図4G)を編集するための、本発明のプロ
グラミング・プロセスのサブプロセスを560で図示する流れ図である。描かれ
たものは、「PV」から(図6から)ステップ561に進み、そこでプログラミ
ング・システムは、すべての前に定義済みのプログラム変数のリストを表示する
。ステップ562で、プログラミング・システムは、新しいプログラム変数を定
義する、あるいは前に定義済みのプログラム変数を編集して、対応するユーザ入
力を受け取るオプションから、ユーザが選択できるようにするユーザ・インター
フェースを提供する。ステップ563で、プログラミング・システムは、プログ
ラム変数名フィールドと、構成プロパティ・フィールド268と、初期設定値フ
ィールド270と、アクセス権フィールドと(図4G)を含んだ新しい/選択さ
れたプログラム変数のフィールド(図4G)のすべてに対する、前に入力済みの
値を表示する。
【0091】 ステップ564で、プログラミング・システムは、新しい/選択されたプログ
ラム変数のフィールド(図4G)を編集/定義することをユーザが行えるように
するインターフェースを提供する。ステップ565で、プログラミング・システ
ムは、現行のプログラム変数のフィールド(図4G)のそれぞれに対するユーザ
入力を受け取って、それを表示する。描かれたプロセスは、ステップ565から
566に進み、そこでプログラミング・システムは、新しいプログラム変数を定
義するオプションをユーザが選択しているかどうかを判定する。566で、新し
いプログラム変数を定義するオプションをユーザが選択していると判定された場
合、プロセスは、ステップ567に進み、そこでプログラミング・システムは、
プログラム変数識別値を現行のプログラム変数のIDフィールド(図4G)に自
動的に割り当てる。値は、新しい浮動タイプの変数が定義されるたびに増加され
る、内部ファイル322(図3)の変数ファイル内に保存された浮動タイプ変数
カウンタ値から読み取ることによって、各新しいプログラム変数のIDフィール
ドに、順次、割り当てられる。ステップ567から、プロセスは、ステップ56
8に進み、そこでプログラミング・システムは、現行のプログラム変数のフィー
ルドに対する新しい/編集された値を保存する。566で、新しいプログラム変
数を定義するオプションをユーザが選択していないと判定された場合、プロセス
は、前述のとおり、ステップ568を直接に実行するように進み、その後、プロ
セスは、「A1」に(図6に)戻る。
【0092】 図14に、デジタル変数272(図4H)を編集するための本発明のプログラ
ミング・プロセスのサブプロセスを示す流れ図570を示す。図は「DV」から
(図6から)ステップ571に進み、プログラミング・システムはそこで、以前
に定義された全デジタル変数のリストを表示する。ステップ572でプログラミ
ング・システムは:新しいデジタル変数を定義するか、または以前に定義された
デジタル変数を編集するかの選択肢からユーザが選択できるようにするユーザ・
インターフェースを提供し;それに対応するユーザ入力を受け取る。ステップ5
73でプログラミング・システムは、デジタル変数名フィールド、構成プロパテ
ィ・フィールド、初期化値フィールド274、アクセス権フィールド、LEDプ
ロパティ・フィールド276(図4H)を含む、選択されたデジタル変数の全フ
ィールド(図4H)について以前に入力された値を表示する。
【0093】 ステップ574でプログラミング・システムは、ユーザが現在のデジタル変数
のフィールド(図4H)を編集/定義できるようにするインターフェースを提供
する。ステップ575でプログラミング・システムは、現在のデジタル変数の各
フィールド(図4H)についてのユーザ入力を受け取り、表示する。図のプロセ
スはステップ575から576に進み、プログラミング・システムはそこで、ユ
ーザが新しいデジタル変数を定義する選択肢を選択したかどうかを判定する。ス
テップ576でユーザが新しいデジタル変数を定義する選択肢を選択したと判定
される場合プロセスはステップ577に進み、そこでプログラミング・システム
はデジタル変数識別値を現在のデジタル変数のIDフィールド(図4H)に自動
的に割り振る。値は、デジタル・タイプ変数カウンタ値を読み取ることにより各
新デジタル変数のIDフィールドに割り振られる。プロセスはステップ577か
らステップ578に進み、そこでプログラミング・システムは、現在のデジタル
変数のフィールドの新しい/編集された値を保存する。ステップ576で、ユー
ザが新しいデジタル変数を定義する選択肢を選択しなかったと判定される場合、
プロセスは進行して上記で説明したようにステップ578を直接実行し、その後
プロセスは「A1」に(図6に)戻る。
【0094】 図15に、タイマ変数278(図4I)を編集するための本発明のプログラミ
ング・プロセスのサブプロセスを図示する流れ図580を示す。図は「T」から
(図6から)581に進み、そこでプログラミング・システムは以前に定義され
た全タイマ値のリストを表示する。ステップ582でプログラミング・システム
は:新タイマ値を定義するか、または以前に定義されたタイマ値を編集するかの
選択肢からユーザが選択できるようにするユーザ・インターフェースを提供し;
それに対応するユーザ入力を受け取る。ステップ583でプログラミング・シス
テムは、タイマ変数名フィールド、構成プロパティ・フィールド、初期化値フィ
ールド280、アクセス権フィールド(図4I)を含む、選択されたタイマ変数
の全フィールド(図4I)について以前に入力された値を表示する。
【0095】 ステップ584でプログラミング・システムは、新しい/選択されたタイマ変
数のフィールド(図4I)をユーザが編集/定義できるようにするインターフェ
ースを提供する。ステップ585でプログラミング・システムは、現在のタイマ
変数の各フィールド(図4I)に対するユーザ入力を受け取り、表示する。図の
プロセスはステップ585から586に進み、そこでプログラミング・システム
は、ユーザが新タイマ変数を定義する選択肢を選択したかどうかを判定する。ス
テップ586で、ユーザが新しいタイマ変数を定義する選択肢を選択したと判定
されるとプロセスはステップ587に進み、そこでプログラミング・システムは
現在のタイマ変数のIDフィールド(図4I)にタイマ変数識別値を自動的に割
り振る。値は、ロング・タイプの変数カウンタ値から読み出すことにより、各新
タイマ変数のIDフィールドに割り振られる。プロセスはステップ587からス
テップ588に進み、そこでプログラミング・システムは現在のタイマ変数のフ
ィールドに対する新しい/編集された値を保存する。ステップ586でユーザが
新しいタイマ変数を定義する選択肢を選択していないと判定される場合、プロセ
スは進行してステップ588を上記に説明したように直接実行し、その後プロセ
スは「A1」に(図6に)戻る。
【0096】 上記のように、比例積分微分(PID)変数を本発明のプログラミング・プロ
セスで定義し、LCU12(図1)によって実行される制御プログラムを生成し
て、閉じたループのフィード・バックを有するシステムを制御することも可能で
ある。このようなシステムを制御するためにLCU12(図1)は、LCUにロ
ードされた制御プログラムのPID変数に対して応答する、追加ソフトウェア・
モジュールを含んでいる。
【0097】 PIDフィールドは:PDI名フィールド;対応するタイマ変数を生成するた
めの時間サンプリング間隔フィールドであって、タイマ変数を識別しそのタイマ
変数についてLCUによって割当てられるべき関連するデータ・フィールドの長
さを指定する識別値を伝搬する識別フィールドと、構成サブフィールドと、アク
セス権サブフィールドとを有する時間サンプリング間隔フィールド;3つの会話
モードのうち1つを指定するための会話モード・フィールドであって、構成フィ
ールドおよびアクセス権サブフィールドを有する会話モード・フィールドを含む
【0098】 PIDフィールドはまた:対応するプログラム変数を生成するための比例係数
フィールドであって、プログラム変数を識別しそのプログラム変数についてLC
Uによって割当てられるべき関連するデータ・フィールドの長さを指定する識別
値を伝搬する識別フィールドと、構成フィールドと、アクセス権フィールドを有
する比例係数フィールド;対応するプログラム変数を生成するための積分係数フ
ィールドであって、プログラム変数を識別しそのプログラム変数についてLCU
によって割当てられるべき関連するデータ・フィールドの長さを指定する識別値
を伝搬する識別フィールドと、構成フィールドと、アクセス権フィールドとを有
する積分係数フィールド;対応するプログラム変数を生成するための微分係数フ
ィールドであって、プログラム変数を識別しそのプログラム変数についてLCU
によって割当てられるべき関連するデータ・フィールドの長さを指定する識別値
を伝搬する識別フィールドと、構成フィールドと、アクセス権フィールドとを有
する微分係数フィールド;対応するプログラム変数を生成するためのヒステレシ
ス・フィールドであって、プログラム変数を識別しそのプログラム変数について
LCUによって割当てられるべき関連するデータ・フィールドの長さを指定する
識別値を伝搬する識別フィールドと、構成フィールドと、アクセス権フィールド
を有するヒステレシス・フィールド:を含む。
【0099】 PIDフィールドはさらに:対応するタイマ変数を生成するためのプロセス変
数遅延フィールドであって、タイマ値を識別しそのタイマ変数についてLCUに
よって割当てられるべき関連するデータ・フィールドの長さを指定する識別値を
伝搬する識別フィールドと、構成フィールドと、アクセス権フィールドとを有す
るプロセス変数遅延フィールド;対応するタイマ変数を生成するためのプロセス
変数平均フィールドであって、タイマ変数を識別しそのタイマ変数についてLC
Uによって割当てられるべき関連するデータ・フィールドの長さを指定する識別
値を伝搬する識別フィールドと、構成フィールドと、アクセス権フィールドとを
有するプロセス変数平均フィールド;対応するプログラム変数を生成するための
出力上限パーセンテージ・フィールドであって、プログラム変数を識別しそのプ
ログラム変数についてLCUによって割当てられるべき関連するデータ・フィー
ルドの長さを指定する識別値を伝搬する識別フィールドと、構成フィールドと、
アクセス権フィールドとを有する出力上限パーセンテージ・フィールド;対応す
るプログラム変数を生成するための出力下限パーセンテージ・フィールドであっ
て、プログラム変数を識別しそのプログラム変数についてLCUによって割当て
られるべき関連するデータ・フィールドの長さを指定する識別値を伝搬する識別
フィールドと、構成フィールドと、アクセス権フィールドとを有する出力下限パ
ーセンテージ・フィールド;事前定義しなければならないデジタル出力信号フィ
ールド;事前定義しなければならないハードウェア入出力PID手動モード・フ
ィールド;を含む。
【0100】 PIDフィールドはさらに:デジタル変数を生成するためのハードウェア入出
力PID手動モード・フィールド;事前定義しなければならないセット・ポイン
ト・ハードウェア入出力フィールド;プログラム変数を生成するためのセット・
ポイント・フィールド;事前定義しなければならないプロセス・ハードウェア入
出力フィールド;プログラム変数を生成するためのプロセス・フィールドと;事
前定義しなければならない手動出力パーセンテージ・ハードウェア入出力フィー
ルド;プログラム変数を生成するための手動出力パーセンテージ・フィールド;
事前定義しなければならないアナログ出力ハードウェア入出力フィールド;プロ
グラム変数を生成するためのアナログ出力ハードウェア入出力フィールド;対応
するプログラム変数を生成するためのパルス長であって、プログラム変数を識別
しそのプログラム変数についてLCUによって割当てられるべき関連するデータ
・フィールドの長さを指定する識別値を伝搬する識別フィールドと、構成フィー
ルドと、アクセス権フィールドとを有するパルス長、を含む。
【0101】 PIDフィールドはさらに:対応するプログラム変数を生成するための、最大
出力に対する周波数一致フィールドであって、プログラム変数を識別しそのプロ
グラム変数についてLCUによって割当てられるべき関連するデータフィールド
の長さを指定する識別値を伝搬する識別フィールドと、構成フィールドと、アク
セス権フィールドと、パルス周波数モード・フィールドとを有する最大出力に対
する周波数一致フィールド;対応するプログラム変数を生成するための最小周波
数許可フィールドであって、プログラム変数を識別しそのプログラム変数につい
てLCUによって割当てられるべき関連するデータ・フィールドの長さを指定す
る識別値を伝搬する識別フィールドと、構成フィールドと、アクセス権フィール
ドと、パルス周波数モード・フィールドとを有する最小周波数許可フィールド;
対応するプログラム変数を生成するための最大周波数許可フィールドであって、
プログラム変数を識別しそのプログラム変数についてLCUによって割当てられ
るべき関連するデータ・フィールドの長さを指定する識別値を伝搬する識別フィ
ールドと、構成フィールドと、アクセス権フィールドと、パルス周波数モード・
フィールドとを有する最大周波数許可フィールド;対応するプログラム変数を生
成するためのパルス・ピリオド・フィールドであって、プログラム変数を識別し
そのプログラム変数についてLCUによって割当てられるべき関連するデータ・
フィールドの長さを指定する識別値を伝搬する識別フィールドと、構成フィール
ドと、アクセス権フィールドと、パルス長モード・フィールドとを有するパルス
・ピリオド・フィールドを含む。
【0102】 図15に、PID変数を編集する本発明のプログラミング・プロセスのサブプ
ロセスを示す流れ図590を示す。図はPIDから(図6から)591に進み、
そこでプログラミング・システムは以前に定義された全PID変数のリストを表
示する。ステップ592でプログラミング・システムは:新しいPID変数を定
義するか、または以前に定義されたPID変数を編集するかの選択肢からユーザ
が選択できるようにするユーザ・インターフェースを提供し;それに対応するユ
ーザ入力を受け取る。ステップ593でプログラミング・システムは、PID変
数名フィールド、構成プロパティ・フィールド、初期化値フィールド280、ア
クセス権フィールドを含む選択されたPID変数の全フィールドに対して以前に
入力された値を表示する。
【0103】 ステップ594でプログラミング・システムは、新しい/選択されたPID変
数のフィールドをユーザが編集/定義できるようにするインターフェースを提供
する。ステップ595でプログラミング・システムは、現在のPID変数の各フ
ィールドに対するユーザ入力を受け取り、表示する。図のプロセスはステップ5
95から596に進み、そこでプログラミング・システムはユーザが新しいPI
D変数を定義する選択肢を選択したかどうかを判定する。ステップ596で、ユ
ーザが新しいPID変数を定義する選択肢を選択したと判定される場合、プロセ
スはステップ597に進み、そこでプログラミング・システムはPID変数識別
値を現在のPID変数のIDフィールドに自動的に割り振る。新しいPID変数
が定義されるたびに増加される、内部ファイル332(図3)の変数ファイルに
記憶されているPID変数カウンタから読み出すことにより、値は新しい各PI
D変数のIDフィールドに順次割り振られる。プロセスはステップ597からス
テップ598に進み、そこでプログラミング・システムは現在のPID変数のフ
ィールドに対する新しい/編集された値を記憶する。596でユーザが新しいP
ID変数を定義する選択肢を選択しなかったと判定される場合は、プロセスは進
行してステップ598を直接上記のように実行し、その後プロセスは「A1」に
(図6に)戻る。
【0104】 本発明の好ましい実施形態では、上記で説明した変数編集の各プロセスは、保
存、削除、キャンセルを含む機能をユーザが変数編集サブプロセス中の任意の時
間に選択できるようにする、ウィンドウ・タイプのユーザ・インターフェースを
使用して実施される。保存、削除、キャンセル機能はそれぞれ、変数について入
力されたフィールドの保存、以前に定義された変数の削除、変数フィールドに行
われた編集のキャンセルを可能にする。また上記で説明した各編集プロセスのユ
ーザ・インターフェースは、変数編集サブプロセスのステップ452、482、
521、531、541、551、561、571、581、591で表示され
る変数の順序をユーザが再構成できるようにする、移動機能の選択をユーザに提
供する。
【0105】 図17に、本発明のプログラミング・プロセスで変数リスティングを生成する
サブプロセスの流れ図610を示す。図のプロセスは「A2」から(図5から)
ステップ612に進み、そこでプログラミング・システムは(プログラミング・
システム80(図1)の表示装置83を介するか、あるいはプログラミング・シ
ステム80と結合されたプリンタを介して)現在の制御プログラムに関して以前
に定義された全変数を表示する。ステップ614でプログラミング・システムは
、以前に定義された変数と関連付けられた全フィールドに入力された値を表示す
る。図はステップ614から「A」に(図5に)戻る。
【0106】 プログラム・レベル、状態、条件の編集 前述のように、本発明のプログラミング・プロセスでは、複数のプログラム・
レベル、状態、条件がユーザによって定義されて、修正された状態のマシン理論
に基づいて制御プログラムを作成する。制御プログラムのサブプロセスを定義す
る各プログラム・レベルは、制御プログラムが操作されている複数の状態を含む
。プログラミング・プロセスで定義することのできる2つのタイプのプログラム
・レベルがあり、それはタスク・プログラム・レベルおよびサブルーチン・プロ
グラム・レベルを含む。プログラミング・プロセスで生成される各タスク・プロ
グラム・レベルは、LCU12(図1)によって非同期に実行されるべき制御プ
ログラムのメジャー・サブプロセス、またはスレッドを定義する。プログラミン
グ・プロセスの好ましい実施形態では、定義された最初のプログラム・レベルは
タスク・プログラム・レベルでなければならない。オペレーティング・システム
・カーネル182(図3B)はマルチタスキング・システムであり、オペレーテ
ィング・システムが2つまたはそれ以上のプログラム・レベルから同時に要求を
受け取る場合、UCB88のCPU90(図2)の処理資源をめぐる競争におい
て、最高プログラム・レベルに優先権が与えられる。
【0107】 ユーザが、制御中のプロセスの「通常の」オペレーティング条件を定義する、
すべての状態を含む単一のタスク・プログラム・レベルを定義するのはよいプロ
グラミング慣行である。またよいプログラミング慣行に従い、ユーザは制御プロ
グラムの追加のタスク・プログラム・レベルを指定して制御中のプロセスのアラ
ーム条件を記述することを望むこともできる。サブルーチン・プログラムは通常
プログラミング・プロセスにおいて使用され、もう一方のプログラム・レベルか
ら頻繁に呼び出されるべき制御プログラムのサブプロセスを定義する。各サブル
ーチン・プログラムは1つの制御プログラムの呼び出しプログラム・レベルだけ
から呼び出され、それはタスク・プログラムかまたは別のサブルーチン・プログ
ラム・レベルである可能性がある。また各サブルーチン・プログラム・レベルは
、呼び出しプログラム・レベルが定義したサブプロセスのスレッド内でLCU1
2(図1)によって実行される、制御プログラムのサブプロセスを定義する。サ
ブルーチン・プログラム・レベルの呼び出し、およびサブルーチン・プログラム
・レベルからの戻りに関する詳細については下記でさらに詳しく説明する。
【0108】 各プログラム・レベルには、プログラム・レベルと関連する複数の状態がユー
ザによって定義される。各状態はユーザ指定の値をユーザ指定の変数に割り振り
、それにより制御プログラムの制御下にあるシステムの動作状態を定義する。L
CU12(図1)によって制御プログラムが実行される間、アクティブな状態が
遊休状態や待機状態であっても、各プログラム・レベルにはアクティブの状態が
常に1つある。各状態は、対応状態から宛先状態への遷移についての条件を少な
くとも1つ含まなければならない。ソース状態から宛先状態への遷移は、制御プ
ログラムの実行中に、関連するユーザ定義の条件が満たされたときに行われる。
下記でさらに説明するように、ユーザ定義の条件は指定された変数値をテストし
、また条件が真であると判定される場合に現在の状態から宛先状態への遷移を指
定する。プログラミング・プロセスにおけるユーザの開始点は、第1のプログラ
ム・レベルおよび制御プログラムの第1の状態である。
【0109】 本発明のプログラミング・プロセスのアドレス指定方式に従い、ユーザはアド
レスまたは記述名を使用して各プログラム・レベル、状態、条件を指定すること
ができる。プログラミング・プロセスはプログラミング・システム80(図1)
によって実行されると、各新状態および制御プログラムの各新条件のアドレスを
生成する。各プログラム・レベルには、プログラム・レベル・アドレス、または
プログラム・レベル番号Xがユーザによって割り振られる。プログラム・レベル
番号Xは、特定の制御プログラムについてはユーザ指定であり、連続的に番号を
振る必要はない。特定のプログラム・レベルの各状態には状態番号Yが割り振ら
れ、したがって各状態は固有の状態アドレスX:Yを有する。下記でさらに説明
するように状態番号Yは、プログラミング・プロセスにおいて連続的に特定プロ
グラム・レベルの各状態に割り振られる。特定状態の各条件には条件番号Zが割
り振られ、従って各条件は条件アドレスX:Y:Zを有し、この場合Zは状態Y
およびプログラム・レベルXにおける条件の条件番号である。条件番号Zは、プ
ログラミング・プロセスに従って各プログラム・レベルXの状態Yごとに連続的
に割り振られる。ユーザ定義の各プログラム・レベル、状態、条件のアドレスは
内部ファイル132(図3A)のソース・ファイル中に記憶され、次いでコンパ
イラ136、データ変換器164、データ・ローダ172(図3A)を介してL
CU12(図1)に送られる。
【0110】 本発明に従い下記でさらに説明するように、ユーザ指定の条件は、指定条件が
満たされた際に、特定のサブルーチン・プログラム・レベルの呼び出しを指定す
ることができる。制御プログラムの呼び出しプログラム・レベルでこのタイプの
条件を定義する際、ユーザは:サブルーチン・プログラム・レベルにある宛先状
態の宛先状態アドレス;ならびに制御プログラムがサブルーチン・プログラム・
レベルの実行後に進むべき呼び出し中にある、状態のサブルーチン状態アドレス
を指定する必要がある。各サブルーチン・プログラム・レベルは少なくとも1つ
の条件を含まなければならず、この条件は制御プログラムの実行中に真であると
判定される場合、サブルーチン・プログラム・レベルと関連する呼び出しプログ
ラム・レベルへの戻りを指定する。
【0111】 図18に、本発明のプログラミング・プロセスを介して生成される、ユーザ指
定の制御プログラムのプログラム・レベル、状態、条件を編集するためのサブプ
ロセスの流れ図630を示す。図のプロセスは「B」から(図5から)ステップ
632に進み、そこでプログラミング・システムは、以前に定義された各プログ
ラム・レベルについて関連するプログラム・レベル・フィールドに入力された値
を表示する。このプログラム・レベル・フィールドには、ユーザ指定のプログラ
ム・レベル番号Xを伝搬するプログラム・レベルIDフィールドと、対応するプ
ログラム・レベルがタスク・プログラムであるかまたはサブルーチン・プログラ
ム・レベルであるかを示す値を伝搬するプログラム・レベル・タイプ・フィール
ドと、制御プログラムの対応するプログラム・レベルの機能を記述する、ユーザ
指定の文字列を伝搬するプログラム・レベル記述フィールドが含まれる。ステッ
プ634でプログラミング・システムは:ステップ632で表示される、以前に
定義されたプログラム・レベルのうち1つを編集のために選択する第1の選択肢
か;新しいプログラム・レベルを定義する第2の選択肢からユーザが選択できる
ようにするインターフェースを提供する。
【0112】 ステップ636でプログラミング・システムは、ステップ634で提供された
選択に基づくユーザ入力を受け取り、その後プロセスは638に進み、ユーザが
新しいプログラム・レベルを定義する選択肢を選んだかどうかを判定する。63
8で、ユーザが新しいプログラム・レベルを定義する選択肢を選ばず、以前に定
義されたプログラム・レベルを編集する選択肢を選んだと判定される場合、図の
プロセスは「E」に(図19に)進み、下記でさらに述べるようにプログラム・
レベルを編集するためにサブプロセスを実行する。
【0113】 638で、ユーザが新しいプログラム・レベルを定義する選択肢を選んだと判
定される場合図のプロセスはステップ640に進み、プログラミング・システム
はそこで、プログラム・レベル番号フィールド、プログラム・レベル記述フィー
ルド、プログラム・レベル・タイプ・フィールドを含む、新しいプログラム・レ
ベルと関連付けられたプログラム・レベル・フィールドについてユーザが値を入
力できるようにするユーザ・インターフェースを提供する。ステップ642でプ
ログラミング・システムは、プログラム・レベル番号フィールド、プログラム・
レベル記述フィールド、プログラム・レベルタイプフィールドについてのユーザ
入力を受け取り、表示する。ステップ642の実行後、図のプロセスは「F」に
(図20に)進んで状態編集サブプロセスを実行し、ユーザ・インターフェース
を提供して、下記でさらに述べるようにユーザが新プログラム・レベルの状態を
定義できるようにする。
【0114】 図19に、以前に定義されたプログラム・レベルを編集する、プログラム・レ
ベル編集サブプロセスの流れ図650を示す。図のプロセスは「E」から(図1
8から)ステップ652に進み、ステップ636(図18)で編集するために選
択されたプログラム・レベルの以前に定義された各状態についてプログラミング
・システムは、状態名フィールドと、関連付けられた状態アドレスX:Yを伝搬
する状態アドレス・フィールドとを含む状態フィールドの関連する値を表示する
。好ましい実施形態では、プログラム・レベル編集サブプロセスが提供するユー
ザ・インターフェースが「MOVE」ファンクションを選択する選択肢をユーザ
に提供し、ユーザがステップ652で表示される状態の順序を再構成できるよう
にする。
【0115】 ステップ654でプログラミング・システムは、選択されたプログラム・レベ
ルの以前に定義された各状態について、対応する状態からの遷移についての、以
前に定義された条件の各リストの条件フィールドの値を表示する。条件フィール
ドは:対応する条件を示す条件アドレス(X:Y:Z)を伝搬する条件アドレス
・フィールド;対応する条件を記述するユーザ指定の文字列を伝搬する条件名フ
ィールド;対応する条件が真である場合プロセスが進む先である、ユーザ指定の
宛先状態アドレス(X,Y)を伝搬する宛先状態アドレス・フィールド;宛先状
態を記述するユーザ指定の文字列を伝搬する宛先状態名フィールドを含む。
【0116】 ステップ656でプログラミング・システムは、新状態または新条件を定義す
るか、またはステップ636(図18)で選択されたプログラム・レベルの以前
に定義された状態および条件を選択するかの選択肢をユーザが選ぶことを可能に
するインターフェースを提供し;それに対応するユーザ入力を受け取る。ステッ
プ656を実行後、658でユーザが新しい状態を定義する選択肢を選んだかど
うかが判定され、選んでいる場合は図のプロセスは「F」に(図20に)進んで
状態編集サブプロセスを実行し、下記で述べるようにユーザが新しい状態を定義
できるようにするユーザ・インターフェースを提供する。次いで660で、ユー
ザが新条件を定義する選択肢を選んだかどうかが判定され、選んでいる場合は、
図のプロセスは「G」に(図26に)進んで条件編集サブプロセスを実行し、下
記でさらに説明するようにユーザが新しい条件を定義できるようにするユーザ・
インターフェースを提供する。
【0117】 次いで662で、ユーザが以前に定義された状態を編集する選択肢を選んだか
どうかが判定され、選んでいる場合は、図のプロセスは「F」に(図20に)進
み、ステップ656でユーザによって選択された状態を編集するために状態編集
サブプロセスを実行する。次いで664で、ユーザが新条件を編集する選択肢を
選んだかどうかが判定され、選んでいる場合は、図のプロセスは「G」に(図2
6に)進み、ステップ656でユーザが選択した条件を編集するために条件編集
サブプロセスを実行する。最後に666で、現在のプログラム・レベルについて
ユーザが限界を定義する選択肢を選択しているかどうかが判定され、選択してい
る場合プロセスは「E1」に(図25に)進み、上記で述べたような限界定義プ
ロセスを実行する。
【0118】 図20に、制御プログラムの現在のプログラム・レベルの状態をユーザが編集
できるようにするユーザ・インターフェースを実施するための状態編集サブプロ
セスの流れ図670を示す。本発明の好ましい実施形態では、状態編集サブプロ
セス670は、制御プログラムの新しい/選択された状態の編集中任意の時間に
、保存、削除、キャンセルを含む機能をユーザが選択できるようにするウィンド
ウ・タイプのユーザ・インターフェースを使用して実施される。保存、削除、キ
ャンセル機能はそれぞれ、ある状態について入力されたフィールドの保存、制御
プログラムの以前に定義された状態の削除、状態のフィールドに行われた編集の
キャンセルを可能にする。好ましい実施形態では、ユーザ・インターフェースは
;ユーザがメッセージのみのためにテキストを入力できるようにする、第1のイ
ンターフェース(例えばテキストが入力されるカーソル位置);下記でさらに説
明するように、ユーザがそのメッセージに関してテキストおよび変数を入力でき
るようにする第2インターフェース手段を提供する。
【0119】 図のプロセスは「F」から(図19から)ステップ674に進み、プログラミ
ング・システムはそこで、現在のプログラム・レベルの新しい/選択された現在
の状態と関連付けられた記述名をユーザが入力できるようにするユーザ・インタ
ーフェースを提供し;それに対応するユーザ入力を受け取る。現在の状態が、編
集のために選択されている以前に定義された状態である場合、プログラミング・
システムは最初にネーム・フィールドに対する以前の入力を表示する。現在の状
態が新状態である場合、プログラミング・システムは初めに入力を表示しない。
ステップ676でプログラミング・システムはユーザ・インターフェースを提供
し、これによりユーザは、新しい/選択された状態と関連付けられたテキストの
みのメッセージ・フィールドについて記述メッセージを形成する文字列を任意選
択で入力することができる。ステップ678でプログラミング・システムは、そ
のメッセージ・フィードへのユーザ入力を受け取り、表示する。
【0120】 ステップ680でプログラミング・システムは、新しい/選択された状態につ
いての式をユーザが任意選択で定義/編集できるようにするインターフェースを
提供する。プロセスはステップ680から682に進み、ここでユーザが現在の
状態について式を定義する選択肢を選んだかどうかが判定される。682で式を
定義すると判定される場合、図のプロセスは「H」に(図23に)進み、状態式
編集プロセスを下記でさらに述べるように実行し、その後プロセスはステップ6
86に進む。682で式を定義しないと判定される場合図のプロセスは直接ステ
ップ686に進み、プログラミング・システムは、ユーザが現在の状態のログ・
メッセージを任意選択で入力できるようにするユーザ・インターフェースを提供
する。次いで688で、ユーザがログ・メッセージを入力する選択肢を選択して
いるかどうかが判定され、選択している場合図のプロセスは「J」に(図20に
)進み、下記にさらに述べるようにログ・メッセージ編集プロセスを実行しその
後プロセスはステップ690に進む。688でユーザがログ・メッセージを入力
する選択肢を選択していないと判定される場合、プロセスは直接688から69
0に進む。
【0121】 ステップ690でプログラミング・システムは、アナログ出力変数、デジタル
出力変数、プログラム変数、デジタル変数、フロント・パネルLED変数、タイ
マ変数を含む、以前に入力されたすべての状態定義タイプの変数のリストを表示
する。好ましい実施形態では、状態エディタのユーザ・インターフェースは、現
在の状態において使用するために以前に選択された変数だけを、ユーザがステッ
プ690で表示できるようにするビュー機能を選択する選択肢をユーザに提供す
る。好ましい実施形態では、状態編集サブプロセスによって提供されるユーザ・
インターフェースは「MOVE」ファンクションを選択する選択肢をユーザに提
供し、ユーザがステップ654(図19)で表示される状態の順序を再構成でき
るようにする。ステップ692でプログラミング・システムは、ユーザがステッ
プ690で表示される変数の中から選択できるようにするユーザ・インターフェ
ースを提供し、その後図のプロセスは「K」に(図21に)進む。
【0122】 図21に、図20に示した状態編集サブプロセスのさらなるステップの流れ図
700を示す。図のステップによりユーザは、制御プログラムの実行中に制御プ
ログラムが現在の状態に遷移すると、選択された変数によって想定されるべき値
を定義および編集することができる。図のプロセスは「K」から(図20から)
ステップ702に進み、プログラミング・システムはそこで:ステップ686(
図20)で選択された変数のアクセス権フィールドについて入力されたデフォル
ト値を、ユーザが置き換えられるようにするユーザ・インターフェースを提供し
;それに対応するユーザ入力を受け取る。例えば、特定の変数のアクセス権フィ
ールドに以前に入力されたデフォルト値は読み出し専用である。ステップ702
で、ユーザは論理制御装置12(図1)を構成することができ、現在編集を受け
ている状態において制御プログラムが動作する間に、この特定の変数がエンド・
ユーザGUI65(図1)から読み出し/書き込み変数としてアクセス可能であ
るようにする。図のプロセスはステップ702からステップ704に進みプログ
ラミング・システムはそこで、ステップ702で受け取ったユーザ入力に従って
アクセス権フィールドを修正変更する。
【0123】 ステップ706でプログラミング・システムは、ユーザが(1)選択された変
数に値を割り振るか、(2)ステップ692(図20)で選択された変数に別の
変数を割り振るかの選択肢から選ぶことを可能にするユーザ・インターフェース
を提供する。プロセスはステップ706から708に進み、プログラミング・シ
ステムはそこで、選択された変数に値を割り振る選択肢をユーザが選んだかどう
かを判定する。選択された変数に値を割り振る選択肢をユーザが選んだ場合、図
のプロセスは進行してステップ710および712を実行し、プログラミング・
システムはそこで;ユーザが選択された変数に値を入力できるようにするユーザ
・インターフェースを提供し;入力された値を受け取り、割り振り、表示する。
【0124】 708でユーザが別の変数を現在選択されている変数に割り振る選択肢を選択
したと判定される場合、図のプロセスはステップ718に進み、プログラミング
・システムはここで、ステップ692(図20)で選択された現在の変数に割り
振られる可能性のあるすべての変数のリストを表示する。現在の変数には、同タ
イプのデータ・フィールド(すなわちロング値、浮動小数点値、デジタル値)が
制御プログラムの実行中にLCU12(図1)によって割当てられる、他のいず
れの変数の値を割り振ることができる。さらにロング値タイプの変数には浮動小
数点タイプの変数を割り振ることが可能であり、その逆も同様に可能である。ス
テップ720でプログラミング・システムは、ステップ718で表示された変数
リストからユーザが選択できるようにするユーザ・インターフェースを提供する
。ステップ722でプログラミング・システムは、ステップ692(図20)で
選択された現在の変数に割り振るために選択された変数を受け取り、割り振り、
表示する。
【0125】 図のプロセスはステップ722から724に進み、そこで現在の状態のために
ステップ692(図20)でタイマ変数が選択されているかどうかを判定する。
現在の状態の定義に使用するためにタイマ変数がステップ692(図20)で選
択されていると724で判定される場合、プロセスは「L」に(図22に)進み
、現在のタイマ変数と関連するタイマの制御を構成するサブプロセスを実行し、
その後プロセスは726に進む。724でタイマ変数がステップ692(図20
)で選択されていないと判定される場合、プロセスは724から直接726に進
み、そこで現在の状態が新しい状態であるかまたは以前に定義された状態である
かを判定する。
【0126】 726で現在の状態が新しい状態であると判定される場合プロセスは727に
進み、プログラミング・システムはそこで状態番号Yを現在の状態の状態番号フ
ィールドに自動的に割り振り、その後プロセスはステップ728に進み、プログ
ラミング・システムは上記のユーザ入力に基づいて、現在の状態についてのソー
ス・コードを生成および保存する。726で現在の状態が新しい状態ではなく以
前に定義された状態であると判定される場合、プロセスは上記のように726か
ら直接進んでステップ728を実行する。
【0127】 図22に、制御プログラムの現在の状態で使用するためにステップ692(図
20)で選択された、タイマ変数と関連付けられたタイマの制御を構成するため
のプログラミング・プロセスのタイマ構成サブプロセスの流れ図730を示す。
図のプロセスは「L」から(図21から)ステップ732に進み、プログラミン
グ・システムはそこで、ステップ692(図20)で選択されたタイマ変数と関
連付けられたタイマを制御する選択肢をユーザが選択し、現在の状態が活動化さ
れた際に開始させるかまたは停止できるようにするユーザ・インターフェースを
提供する。プロセスはステップ732から734に進み、プログラミング・シス
テムはそこで、現在のタイマ変数と関連付けられたタイマを制御する選択肢をユ
ーザが選択したかどうかを判定し、選んでいる場合プロセスはステップ736に
進む。選んでいない場合はプロセスは直接「LR」に(図21に)進み、現在の
状態の編集を再開する。
【0128】 ステップ736でプログラミング・システムはユーザ・インターフェースを提
供し、LCU12(図1)によって制御プログラムが実行されている間に現在の
状態が活動化された際に、現在のタイマ変数と関連付けられたタイマを実行する
かまたは停止するかの選択肢からユーザが選択できるようにする。各タイマ変数
は、それと関連付けられたタイマ開始/停止フィールドを有する。ステップ73
8でプログラミング・システムはユーザ・インターフェースを提供し、選択され
たタイマ変数と関連付けられ、また現在の状態とも関連付けられた第2アクセス
権フィールドについて、ユーザが読み取り/書き込み(R/W)かまたは読み出
しのみ(R/O)から選択できるようにする。ステップ738でプログラミング
・システムは、ステップ738で提供されたユーザ・インターフェースと一致す
るユーザ入力を受け取る。例えばユーザが、現在の状態中の現在のタイマ変数と
関連付けられたタイマを「実行する」ことを選択し、かつ現在のタイマ変数と関
連付けられた第2アクセス権フィールドについて読み取り/書き込みも選択する
場合、エンド・ユーザはタイマ開始/停止フィールドを上書きして、現在の状態
の活動化の際に、現在のタイマ変数と関連付けられたタイマを停止することがで
きる。プロセスはステップ740から上記のように「LR」に進む。
【0129】 図23に、制御プログラムの状態と関連付けられた式をユーザが定義できるよ
うにするユーザ・インターフェースを実施する、式編集サブプロセスの流れ図7
40を示す。本発明の好ましい実施形態では、式編集プロセスは、変数編集サブ
プロセスの実行中任意の時間に保存、削除、キャンセルを含む機能をユーザが選
択できるようにするウィンドウ・タイプのユーザ・インターフェースを使用して
実施される。保存、削除、キャンセル機能はそれぞれ、式について入力されたフ
ィールドの保存、以前に定義された式の削除、式フィールドに行われた編集のキ
ャンセルを可能にする。
【0130】 図のプロセスは「H」から(図20から)ステップ742に進み、プログラミ
ング・システムは:以前に定義された全プログラム変数の変数名の第1の変数リ
スト;以前に定義された全アナログ入力変数の変数名の第2の変数リスト;以前
に定義された全アナログ出力変数の変数名の第3の変数リスト;以前に定義され
たタイマ変数の変数名の第4の変数リスト;演算子リスト;定数入力手段(すな
わち、キーボードを介して数が入力されるカーソル位置);を表示する。好まし
い実施形態では、演算子リストには数学的演算子:加算、減算、乗算、除算、等
価、より大きい、最小も含まれる。図のプロセスはステップ742からステップ
744に進み、そこでプログラミング・システムはユーザ・インターフェースを
提供し、ユーザは:ステップ742で表示される4つのリストのうち1つから変
数を選択するか;ステップ742で提供される入力手段を使用して定数(分数を
含む)を入力するか;演算子リストから選択するか;式を保存するか;を含む式
構築選択肢から選択することができる。プロセスはステップ744から746に
進み、プログラミング・システムはステップ744で提供されたインターフェー
スを介してユーザ入力を受け取る。次いで748で、ユーザが式を保存する選択
肢を選択しているかどうかを判定し、選択している場合、プロセスは「HR」に
(図20に)進み現在の状態の編集を再開する。748で、ユーザがステップ7
44で提供されたインターフェースを介して式を保存する以外の選択肢を選択し
たと判定される場合、図のプロセスはステップ744および746を実行し、ユ
ーザがステップ746で式の保存の選択肢を選択するまで、現在の状態について
の現在の式をさらに編集できるようにし、その後プロセスはステップ749に進
む。ステップ749でプログラミング・システムは現在の式を定義するソース・
コードを生成し、内部ファイル132(図3A)のソース・ファイルに現在の式
を保存する。図のプロセスはステップ749から「HR」に(図20に)進み現
在の状態の編集を再開する。
【0131】 図24に、ユーザに、制御プログラムの特定の状態に関連付けられたログ・メ
ッセージの編集を可能にするユーザ・インターフェースを実施するための、ログ
・メッセージ編集サブプロセスのステップを例示する760のフローチャートを
示す。示したプロセスは、「J」(図20からの続き)からステップ762に進
み、そこで、プログラミング・システムは、ユーザに、ログ・メッセージを表示
するための位置座標を入力することを可能にするユーザ・インターフェースを提
供し、その位置座標のためのユーザ入力を受け取る。この位置座標は、LCU1
2(図1)による制御プログラムの実行中に、そこに現在のログ・メッセージが
表示されるエンド・ユーザのフロント・パネル50(図1)のLCD56上の位
置を示すものである。ログ・メッセージは、エンド・ユーザのGUI65のグラ
フィックス表示ユニット74(図1)を介して表示することもできる。ステップ
763で、プログラミング・システムは、ユーザにログ・メッセージにテキスト
を入力するオプションからの選択を可能にし、または現在の状態に関するログ・
メッセージの一部として表示されるべき変数を選択するユーザ・インターフェー
スを提供し、対応するユーザ入力を受け取る。ステップ763から、図示したプ
ロセスは、764に進み、そこで、プログラミング・システムは、ユーザがテキ
スト入力のオプションを選択したか変数選択のオプションを選択したかを判定す
る。764で、ユーザがテキスト入力のオプションを選択したと判定されると、
図示したプロセスはステップ765に進み、そこでプログラミング・システムは
、ユーザにログ・メッセージのためのテキスト入力を可能にするユーザ・インタ
ーフェースを提供し、ユーザ入力を受け取る。ステップ765から、プロセスは
ステップ767に進み、そこでプログラミング・システムは、ユーザに現行ログ
・メッセージの保管、あるいは現行ログ・メッセージへの追加テキストまたは追
加変数の追加を可能にするユーザ・インターフェースを提供し、対応するユーザ
入力を受け取る。
【0132】 764で、ユーザが、ログ・メッセージと共に表示されるべき変数を選択する
オプションを選択した場合、図示したプロセスは、764からステップ768に
進み、そこでプログラミング・システムは、ユーザに、アナログ入力変数、アナ
ログ出力変数、デジタル入力変数、デジタル出力変数、プログラム変数、デジタ
ル変数、パネルLED変数、パネル切替変数、タイマ変数、PID変数を含む変
数タイプのリストから1つを選択することを可能にするユーザ・インターフェー
スを提供し、選択された変数タイプを示す対応するユーザ入力を受け取る。ステ
ップ769で、プログラミング・プロセスは、ステップ768で、ユーザによっ
て選択されたタイプの前もって定義されたすべての変数のリストを表示する。ス
テップ770で、プログラミング・システムは、ユーザに、ステップ769で表
示されたリストからログ変数を選択することを可能にするユーザ・インターフェ
ースを提供する。図示したプロセスは、ステップ770から、上記で説明したよ
うにステップ767を実行するために進む。
【0133】 ステップ767から、図示したプロセスはステップ771に進み、そこで、ユ
ーザが、追加ログ変数または追加テキスト・ストリングを選択するオプションを
選択したか否かが判定され、そのオプションが選択されている場合、ユーザが、
ステップ767で、現行ログ・メッセージを保管するオプションを選択するまで
、図示したプロセスは、763、764、765、767、769、770のス
テップを反復する。767で、ユーザが現行ログ・メッセージを保管するオプシ
ョンを選択したことが判定されると、プロセスはステップ772に進み、そこで
プログラミング・システムは、現在のログ・メッセージを表すソース・コードを
生成し、現在のログ・メッセージを、内部ファイル132(図3A)のソース・
ファイルに保管し、その後、このプロセスは「JR」(図20に続く)に進み、
現在の状態の編集を再開する。
【0134】 図25に、ユーザに、制御プログラムの現在のプログラム・レベルに対する限
界を定義することを可能にするユーザ・インターフェースを実施するためのプロ
セスを例示する780のフローチャートを示す。示したプロセスは、「E1」(
図19からの続き)からステップ782に進み、そこで、プログラミング・シス
テムは、現在のプログラム・レベルを除き、制御プログラムの前もって定義され
たすべてのプログラム・レベルのリストを表示する。ステップ782から、プロ
セスはステップ784に進み、そこで、プログラミング・システムは、ユーザに
、現在のプログラム・レベルに対する限界プログラム・レベルを、ステップ78
2で表示されたプログラム・レベルから選択することを可能にするユーザ・イン
ターフェースを提供し、ユーザの選択した限界プログラム・レベルを受け取る。
ステップ786で、プログラミング・システムは、ユーザの選択した限界プログ
ラム・レベルのすべての「使用可能な」制限状態のリストを表示する。この際、
この使用可能な状態は、現在のプログラム・レベルの作動を制限するために制限
状態として前もって選択された状態ではない。ステップ788で、プログラミン
グ・システムは、ユーザの選択した限界プログラム・レベルのすべての「使用不
可能な」制限状態のリストを表示する。この際、この使用不可能な制限状態は、
現在のプログラム・レベルの作動を制限するために前もって選択されている状態
である。
【0135】 ステップ790で、プログラミング・システムは、ユーザに、ユーザの選択し
た限界プログラム・レベルの使用可能な制限状態のリストから選択することを可
能にするユーザ・インターフェースを提供し、ユーザの選択した制限状態を受け
取る。ステップ792で、プログラミング・システムは、ユーザの選択した限界
プログラム・レベルの使用可能な制限状態と使用不可能な制限状態のリストを更
新し、表示する。ステップ792からプロセスは794に進み、そこで、プログ
ラミング・システムは、現在のプログラム・レベルに対して定義された限界を保
管するオプションをユーザが選択しているか否かを判定し、選択している場合、
このプロセスはステップ796に進み、そこで、プログラミング・システムは、
現在のプログラム・レベルの作動に対する現在の限界を定義するソース・コード
を生成し、保管する。ステップ796からプロセスは「E」(図19に続く)に
進み、現在のプログラム・レベルの編集を続行する。794で現在のプログラム
・レベルに対する限界を保管するオプションをユーザが選択していないと判定さ
れると、このプロセスは、ユーザが限界を保管するオプションを選択するまで、
ユーザの選択した限界プログラム・レベルのさらなる制限状態をユーザに定義す
ることを可能にするステップ790および792を再実行し、その後、このプロ
セスは、上記で説明したように、ステップ796を実行する。
【0136】 制御プログラムが、特定のプログラム・レベルに対する限界を含み、その限界
が、限界プログラム・レベルの制限状態を使用して定義されているとき、この制
御プログラムを実行するLCU12(図1)は、対応する限界プログラム・レベ
ルが、対応する制限状態で作動するように現行で活動化されている場合にのみ、
特定のプログラム・レベルを活動化させる。
【0137】 図26に、ユーザに、現在の状態と現在のプログラム・レベルの条件を定義し
、編集することを可能にするユーザ・インターフェースを実施するための条件編
集サブプロセスを例示する800のフローチャートを示す。示したプロセスは、
「G」(図19からの続き)からステップ802に進み、そこで、プログラミン
グ・システムは、ユーザに、新規/被選択条件の条件名フィールドに対するテキ
ストの入力を可能にするユーザ・インターフェースを提供し、対応するユーザ入
力を受け取る。
【0138】 前述のように、サブルーチン呼出し条件は、その条件の条項が満足すると、特
定サブルーチン・プログラム・レベルの呼出しを指定する。サブルーチン呼出し
条件の定義において、ユーザは、サブルーチン・プログラム・レベルに常駐する
宛先状態の宛先状態アドレスならびに指定されたサブルーチン・プログラム・レ
ベルの実行後に制御プログラムがそこに進む呼出しプログラム・レベルに常駐す
る戻り状態の戻り状態アドレスを指定することを必要とされる。各サブルーチン
・プログラム・レベルは、制御プログラムの実行中に真と判定されると、そのサ
ブルーチン・プログラム・レベルに関連付けられた呼び出しプログラム・レベル
に「RETURN」を示す少なくとも1つの条件を含む必要がある。タスク・プ
ログラム・レベルに関連付けられた条件とは反対に、サブルーチン・プログラム
の状態に関連付けられた条件は、呼び出しプログラム・レベルに「RETURN
」を指定することができるので、条件編集サブプロセスは、現在のプログラム・
レベルがサブルーチン・プログラム・レベルなのかまたはタスク・プログラム・
レベルなのかによって異なる。
【0139】 このプロセスは802から804に進み、そこで、現在のプログラム・レベル
がサブルーチン・プログラム・レベルか否かが判定される。804で、現在のプ
ログラム・レベルがサブルーチン・プログラム・レベルであると判定されると、
示したプロセスはステップ806に進み、そこで、プログラミング・システムは
、ユーザに、制御プログラムのすべてのプログラム・レベルで前もって定義され
た状態のリストから宛先状態アドレス(X:Y)を選択するオプション、または
「RETURN」を選択するオプションから選択させるユーザ・インターフェー
スを提供する。示したプロセスは、ステップ806からステップ810に進み、
そこで、プログラミング・システムは、対応するユーザ入力を受け取る。
【0140】 804で、現在のプログラム・レベルがサブルーチン・プログラム・レベルで
はないと判定されると、示したプロセスはステップ808に進み、そこで、プロ
グラミング・システムは、ユーザに、制御プログラムのすべてのプログラム・レ
ベルで前もって定義された状態のリストから宛先状態アドレス(X:Y)を選択
させるユーザ・インターフェースを提供する。示したプロセスは、ステップ80
8からステップ810に進み、そこで、プログラミング・システムは、対応する
ユーザ入力を受け取る。
【0141】 ステップ812において、プログラミング・システムは、ユーザに、(サブル
ーチン・タイプの遷移とは対称的に)デフォルトで直接遷移またはgotoタイ
プの遷移になるオプション、または現在のプログラム・レベルの前もって定義さ
れたすべての状態の呼出し遷移のリストから状態の戻り状態アドレス(X:Y)
を選択することによって呼び出し遷移を示すオプションから選択させるユーザ・
インターフェースを提供し、対応するユーザ入力を受け取る。示したプロセスは
、ステップ812から「M1」(図27に続く)に進む。好ましい実施形態では
、ユーザ・インターフェースは「SUB−RETURN」とラベルされたプル・
ダウン・ウィンドウを含む。このウィンドウは、クリックされると、現在のプロ
グラム・レベルの前もって定義されたすべての状態のリストを表示し、ユーザに
、そこに表示されたものの中から戻り状態を選択させる。
【0142】 図27に、図26のサブプロセスの条件を編集するさらなるステップを例示す
る820のフローチャートを示す。示したプロセスは、「M1」(図26からの
続き)からステップ822に進み、そこで、プログラミング・システムは、アナ
ログ入力変数、アナログ出力変数、デジタル入力変数、デジタル出力変数、プロ
グラム変数、デジタル変数、フロント・パネルLED変数、タイマ変数、PID
変数を含む、前もって入力されたすべての変数のリストを表示する。824で、
プログラミング・システムは、ユーザに、現在の条件を保管するオプション、ま
たは現在の条件の条件ステートメントを定義する際に使用されるべき表示された
変数から選択するオプションから選択させるユーザ・インターフェースを提供す
る。ステップ826で、プログラミング・システムは、ステップ824で提供さ
れたオプションに基づいてユーザ入力を受け取る。次いで828で、ユーザが、
現在の条件を保管するオプションを選択したか否かが判定される。
【0143】 828で、ユーザが、現在の条件を保管するオプションを選択していないこと
が判定されると、このプロセスは、次いで830で、ユーザが、アナログ入力変
数、アナログ出力変数またはプログラム変数を含む変数のタイプから1つの変数
を選択するオプションを選択しているか否かを判定し、選択している場合、この
プロセスは、「N」(図29に続く)に進んでサブプロセスを実施し、その後、
このプロセスは834に進む。830で、ユーザが、アナログ入力変数、アナロ
グ出力変数、またはプログラム変数の1つを選択していないことが判定されると
、このプロセスは直接834に進む。
【0144】 834で、ユーザが、タイマ変数を選択するオプションを選択しているか否か
を判定し、選択している場合、このプロセスは836に進み、そこで、プログラ
ミング・システムは、選択されたそのタイマ変数の名前値およびID値を示し、
その後、このプロセスは「M2」(図28に続く)に進む。834で、ユーザが
タイマ変数を選択していないと判定されると、示したプロセスは、838で、ユ
ーザが、デジタル変数、デジタル入力変数、デジタル出力変数、フロント・パネ
ルLED変数、またはパネル切替変数を含む変数のタイプから変数を選択してい
るか否かを判定し、選択している場合、このプロセスは「O」(図32に続く)
に進む。828で、ユーザがステップ826で現在の条件を保管するオプション
を選択したと判定されると、このプロセスはステップ840に進み、そこで、プ
ログラミング・システムは、現在の条件を定義するソース・コードを生成し、内
部ファイル132(図3A)のソース・ファイルに現在の条件を保管する。
【0145】 図28に、状態チェック条件ステートメントのためのサブプロセスを例示する
840の流れ図(a flow diagram)を示す。示したプロセスは、
「M2」(図27から続く)からステップ841に進み、そこで、プログラミン
グ・システムは、ユーザに、現在の条件に関する状態チェック条件ステートメン
トを編集/定義するオプションを選択させるユーザ・インターフェースを提供し
、ユーザ入力を受け取る。このプロセスは、ステップ841から842に進み、
そこで、プログラミング・システムは、ユーザが、状態チェック条件ステートメ
ントを編集または定義するオプションを選択しているか否かを判定する。842
で、ユーザが、状態チェック条件ステートメントを編集するオプションを選択し
ていないと判定されると、このプロセスは直接「M1」(図27に続く)に進む
【0146】 842で、ユーザが、現在の条件に関する状態チェック条件ステートメントを
編集するオプションを選択していることが判定されると、このプロセスはステッ
プ843に進み、そこで、プログラミング・システムは、現在のプログラム・レ
ベルの状態が、状態チェック条件ステートメントを定義する際に使用されるため
に選択されているか否かの識別標識(indicia)を表示する。ステップ8
44で、プログラミング・システムは、現在のプログラム・レベルを除いて、制
御プログラムで前もって定義されたプログラム・レベルのリストを表示する。ス
テップ845で、プログラミング・システムは、ユーザに、ステップ844で表
示されたプログラム・レベルから選択させるユーザ・インターフェースを提供し
、状態チェック条件ステートメントを定義するためにユーザが選択したプログラ
ム・レベルを受け取る。ステップ846で、プログラミング・システムは、現在
の状態が、状態チェック条件ステートメントを定義する際に使用されるように選
択されているか否かの識別標識を表示する。ステップ847で、システムは、状
態チェック条件ステートメントを編集/定義するためにユーザが選択したプログ
ラム・レベルの状態のリストを表示する。ステップ848で、システムは、ユー
ザに、状態チェック条件ステートメントを定義する際に使用されるべき状態を選
択させるユーザ・インターフェースを提供し、ユーザが選択した状態を受け取る
。ステップ849で、プログラミング・システムは、ステップ848で受け取っ
たユーザの選択した状態に基づく状態チェック条件ステートメントを生成する。
状態チェック条件ステートメントは、現在の条件が真であるためには、ユーザの
選択した状態は活動状態または実行中でなければならないという基準を指定する
【0147】 本発明の好ましい実施形態では、前記説明の条件を編集するサブプロセス80
0ステップが、ユーザに、制御プログラムの条件の編集中はいつでも保管、削除
、取消しを含む機能を選択させるウィンドウズ・タイプのユーザ・インターフェ
ースを使用して実施される。この保管、削除および取消しの機能は、それぞれ、
条件に関して入力されるフィールドを保管し、前もって定義された制御プログラ
ムの条件を削除し、条件のフィールドに行われた編集を取り消すことを可能にす
る。さらに、条件エディタのユーザ・インターフェースは、ユーザに、ステップ
654(図19)で表示された条件の順序と、ステップ822(図27)で表示
された変数の順序とを並べ替えさせる移動機能を選択するためのオプションをユ
ーザに提供する。さらに、状態エディタのユーザ・インターフェースは、ユーザ
に、ステップ822(図20)で、ユーザに、現在条件で使用するために前もっ
て選択された変数だけを表示することを可能にするビュー機能を選択するオプシ
ョンをユーザに提供する。
【0148】 図29に、アナログ入力変数、アナログ出力変数、またはプログラム変数の現
在値に状態遷移を条件付けるための、条件を編集するサブプロセスのステップを
例示する850の流れ図を示す。このプロセスは、「N」(図27からの続き)
からステップ852に進み、そこで、ユーザに、現在の条件の現行条件ステート
メントを定義する際に、演算子として論理否定を選択させるユーザ・インターフ
ェースをユーザに提供する。この論理否定のオプションは、選択されると、現在
の条件に関する現在の条件ステートメントを定義する目的で、ステップ824(
図27)で選択された変数値の論理否定を提供する。ステップ854で、プログ
ラミング・システムは、論理否定のオプションに関するユーザ入力を受け取る。
ステップ856で、ユーザに、現在の条件の現行条件ステートメントを定義する
ために、「LOW」「HIGH」および「DEAD BAND」を含む演算子か
ら選択させるインターフェースがユーザに提供される。ステップ858で、プロ
グラミング・システムは、対応するユーザ入力を受け取る。
【0149】 次いで860で、ユーザが演算子「LOW」を選択しているか否かを判定し、
選択している場合、このプロセスは「N1」(図30Aに続く)に進み、以下で
さらに説明する「未満」条件ステートメントを編集するサブプロセスを実施し、
その後、このプロセスは862に進む。860で、ユーザが演算子「LOW」を
選択していないと判定されると、このプロセスは直接862に進み、ユーザが演
算子「HIGH」を選択しているか否かを判定する。862で、ユーザが演算子
「HIGH」を選択していると判定された場合、このプロセスは「N2」(図3
0Bに続く)に進み、以下でさらに説明する「超過」条件ステートメントを編集
するサブプロセスを実施し、その後、このプロセスは864に進む。862で、
ユーザが演算子「HIGH」を選択していないと判定された場合、このプロセス
は直接864に進み、ユーザが演算子「DEAD BAND」を選択しているか
否かを判定する。
【0150】 864で、ユーザが演算子「DEAD BAND」を選択していると判定され
た場合、このプロセスは「N3」(図31に続く)に進み、以下でさらに説明す
るデッドバンド(dead band)条件ステートメントを編集するサブプロセスを実施
し、その後、このプロセスは「M1」(図27に続く)に進む。860、862
、864で、ユーザがこれらのオプションを選択していないと判定されると、こ
のプロセスは「M1」(図27に続く)に戻る。
【0151】 図30Aに、アナログ入力変数、アナログ出力変数、またはプログラム変数の
現行値に状態遷移を条件付けるためのプロセス850(図8)の「未満」条件ス
テートメントを編集するサブプロセスを例示する870の流れ図を示す。示した
プロセスは「N1」(図29から続く)からステップ872に進み、そこで、プ
ログラミング・システムは、ステップ824(図27)で選択された変数と論理
的に比較することができる、前もって定義したすべての変数のリストを表示する
。ステップ872で表示される変数は、前もって定義されたすべてのアナログ入
力変数、アナログ出力変数、プログラム変数を含む。ステップ874で、プログ
ラミング・システムは、ユーザに、ステップ872で表示される変数から「未満
」参照変数を選択させるユーザ・インターフェースを提供し、対応するユーザ入
力を受け取る。ステップ876で、プログラミング・システムは、選択された変
数がステップ874で選択された「未満」参照変数よりも少ないか否かを判定す
るために「未満」条件ステートメントを生成し、その後、このプロセスは「N1
R」(図29に続く)に進む。
【0152】 図30Bに、アナログ入力変数、アナログ出力変数、またはプログラム変数の
現行値に状態遷移を条件付けるために、プロセス850(図8)の「超過」条件
ステートメントを編集するサブプロセスを例示する880の流れ図を示す。示し
たプロセスは「N2」(図29からの続き)からステップ882に進み、そこで
、プログラミング・システムは、ステップ824(図27)で選択された変数と
論理的に比較することができる、前もって定義されたすべての変数のリストを表
示する。ステップ882で表示された変数は、前もって定義されたすべてのアナ
ログ入力変数、アナログ出力変数、およびプログラム変数を含む。ステップ88
4で、プログラミング・システムは、ユーザに、ステップ882で表示された変
数から「超過」参照変数を選択させるユーザ・インターフェースを提供し、対応
するユーザ入力を受け取る。ステップ886で、プログラミング・システムは、
選択される変数がステップ884で選択される「超過」参照変数を超過するか否
かを判定するために「超過」条件ステートメントを生成し、その後、このプロセ
スは「N2R」(図29に続く)に進む。
【0153】 ユーザが、条件を編集するサブプロセス850(図29)で「未満」条件ステ
ートメントと「超過」条件ステートメントの両方を定義すると、現在の条件は、
現行で選択される変数は「超過」参照変数と「未満」参照変数の間でなければな
らないと指定することに留意されたい。さらに、プログラミング・プロセスでは
、プログラム変数と定数を比較する条件ステートメントを生成するために、ユー
ザは、別のプログラム変数を定数値に初期設定することができる。プログラム変
数のアクセス権フィールド266(図4G)が、プログラム変数がエンド・ユー
ザGUI65(図1)を介して書き込み可能であることを示す読み書き値(a re
ad/write value)を持つ場合、初期設定されたプログラム変数は、制御プログラ
ムの実行中に変更することができることに留意されたい。
【0154】 図31に、所与のサンプル期間中に、アナログ入力変数、アナログ出力変数、
またはプログラム変数の変形形態に状態遷移を条件付けるために、プロセス85
0(図29)の「デッドバンド」条件ステートメントを編集するサブプロセスを
例示する890の流れ図を示す。以下で詳細に説明するように、「デッドバンド
」条件ステートメントは、状態遷移がトリガされないデッドバンドを考慮するた
めに、対応する「未満」条件ステートメントおよび/または対応する「超過」条
件ステートメントを変更するために使用される。各「デッドバンド」条件ステー
トメントは、条件を編集するサブプロセス850(図29)で同様の条件に関し
て定義される「未満」条件ステートメントまたは「超過」条件ステートメントに
よって補完されなければならない。そうでない場合は、ユーザに現在の条件をさ
らに定義するよう注意を喚起するために、エラー・コードが生成される。
【0155】 示したプロセスは「N3」(図29からの続き)からステップ892に進み、
そこで、プログラミング・システムは、現行の選択された変数に関してデッドバ
ンド範囲を定義する際に使用することができる、前もって定義されたすべての変
数のリストを表示する。ステップ892で表示される変数は、前もって定義され
たすべてのアナログ入力変数、アナログ出力変数、およびプログラム変数を含む
。ステップ894で、プログラミング・システムは、ユーザに、ステップ892
で表示した変数から「デッドバンド(dead−band)」参照変数を選択さ
せるユーザ・インターフェースを提供し、対応するユーザの選択した参照変数を
受け取る。ユーザは、別のプログラム変数を定数値に初期設定し、その初期設定
されたプログラム変数を、選択された参照変数として使用する。ステップ896
で、プログラミング・システムは、ステップ892で受け取ったユーザ入力に基
づいて「デッドバンド」条件ステートメントを生成し、その後、このプロセスは
「N3R」(図29に続く)に進む。
【0156】 例えば、「超過」条件ステートメントは、選択された変数が100のユーザ割
当値を有する参照変数を超過しなければならないと指定することができる。対応
するデッドバンド条件ステートメントが、2のユーザ割当値を有するデッドバン
ド参照変数を指定する場合、対応する選択された変数は、論理制御ユニット12
(図1)が、状態遷移が実行されると判定するためには、101を超過しなけれ
ばならない。この場合、デッドバンドは100と101の間の範囲に位置する。
【0157】 プログラム変数266(図4G)のアクセス権フィールドが初期設定されたプ
ログラム変数が、エンド・ユーザのGUI65(図1)を介して書き込むことが
できることを示す読み書き値を持つ場合、初期設定されたプログラム変数は、制
御プログラムの実行中に変更することができ、したがって、対応するデッドバン
ド定数ステートメントを変更する。
【0158】 図32に、デジタル変数、デジタル入力変数、デジタル出力変数、フロント・
パネルLED変数、または切替パネル変数の現行値に状態遷移を条件付けするた
めに条件を編集するサブプロセスのステップを例示する900の流れ図を示す。
このプロセスは「O」(図27からの続き)から902に進み、そこで、プログ
ラミング・システムは、ユーザの選択した変数(図27の838でデジタル値タ
イプの変数であると判定済み)がLEDタイプの変数か否かを判定する。902
でユーザの選択した変数がLEDタイプの変数であると判定されると、示したプ
ロセスはステップ904に進み、そこで、プログラミング・システムは、ユーザ
に「ON in AND」「ON in OR」「OFF in AND」「O
FF in OR」「BLINK FAST in AND」「BLINK F
AST in OR」「BLINK SLOW in AND」「BLINK
SLOW in OR」を含む論理演算子から選択させるユーザ・インターフェ
ースを提供する。このプロセスは、ステップ904からステップ906に進み、
そこで、プログラミング・システムは、論理条件ステートメントを定義する際に
演算子が使用されることを示すユーザ入力を受け取る。このプロセスは、ステッ
プ906からステップ908に進み、そこで、プログラミング・システムは、ス
テップ906で受け取ったユーザ入力に基づいて論理条件ステートメントを生成
し、その後、このプロセスは「M1」(図27に続く)に戻り、現在の条件の編
集を続行する。
【0159】 902で、ユーザが選択した変数がLEDタイプの変数でないと判定されると
、示したプロセスはステップ910に進み、そこで、プログラミング・システム
は、ユーザに「ON in AND」「ON in OR」「OFF in A
ND」「OFF in OR」「BLINK FAST in AND」「BL
INK FAST in OR」「BLINK SLOW in AND」「B
LINK SLOW in OR」を含む論理演算子からの選択を可能にするユ
ーザ・インターフェースを提供する。このプロセスはステップ910から進み、
上記説明のようにステップ906と908を実行し、その後、このプロセスは「
M1」(図27に続く)に戻り、現在の条件の編集を続行する。
【0160】 特定の条件に関して複数の論理条件ステートメントが定義されている場合、そ
のステートメントは、複数の基準を有する単一の条件ステートメントを定義する
ために結合される。例えば、ユーザが第1のユーザの選択した変数に「ON i
n AND」を選択し、次いで、さらなる条件ステートメントを定義せずにその
条件(図27のステップ828)を保管する場合、第1のユーザの選択した変数
がONであると判定されると、この条件は満たされる。もう1つの例として、ユ
ーザが、第1のユーザの選択した変数に「ON in AND」を選択し、第2
のユーザの選択した変数に「OFF in AND」を選択する場合、「AND
」演算子が上位にあり、第1のユーザの選択した変数がON(高い値を有する)
ANDと判定され、第2のユーザの選択した変数がOFFと判定されると、対応
する条件は満たされる。
【0161】 (デッドバンド・ステートメント、「超過」ステートメント、「未満」ステー
トメント、および状態チェック・ステートメントを含む)複数の条件ステートメ
ントが特定の条件に関して定義されている場合、ステートメントは、複数の基準
を有する単一の条件を定義するために結合される。
【0162】 図33に、本発明のプログラミング・プロセスに従って作成された制御プログ
ラムのプログラム・レベル、状態、条件および変数のプログラム・リストを生成
するためのサブプロセスのステップを例示する920の流れ図を示す。示したプ
ロセスは「C」(図5からの続き)からステップ922に進み、そこで、プログ
ラミング・システムは、ユーザに、命令リスト、フローチャート・リスト、相互
参照リスト、タグ・リスト、条件リスト、およびコンパイルされたデータのリス
トを含むプログラム・リストの選択項目から選択させるユーザ・インターフェー
スを提供する。ステップ924において、プログラミング・システムは、ステッ
プ922で提供された選択項目に基づいてユーザ選択を受け取る。次いで、92
6で、ユーザが命令リストを生成するオプションを選択したか否かが判定され、
選択している場合、このプロセスは「S」(図35に続く)に進み、命令リスト
を生成するプロセスを実施する。この後、928で、ユーザがフローチャート・
リストを生成するオプションを選択しているか否かが判定され、選択している場
合、このプロセスは「T」(図39に続く)に進み、フローチャート・リストを
生成するプロセスを実施する。930で、ユーザが相互参照リストを生成するオ
プションを選択しているか否かが判定され、選択している場合、このプロセスは
「U」(図47に続く)に進み、相互参照リストを生成するプロセスを実施する
。このプログラミング・システムは、次いで932で、ユーザがタグ・リストを
生成するオプションを選択したか否かを判定し、選択している場合、このプロセ
スはステップ933に進み、制御プログラムに関して前もって定義されたすべて
の変数および各変数のすべてのフィールドに入力された値のリストを含むタグ・
リストを生成する。このリストは、エンド・ユーザのGUI65(図1)から各
変数へのアクセス権を判定するためにそのタグ・リストを使用することができる
エンド・ユーザが使用するために、特に有益である。最終的に、934で、ユー
ザが条件リストを生成するオプションを選択しているか否かが判定され、選択し
ている場合、このプロセスは、以下でさらに説明するように、条件リストを生成
するステップ935に進む。このプロセスは、934から「A」(図5に続く)
に進む。
【0163】 図34に、内部ファイル132(図3A)から、本発明のプログラミング・シ
ステムによって生成される940の例示的命令リストを示す。940のこの命令
リストは、現行プログラム・レベルの名称およびプログラム・レベル番号を指示
する項目941と、941(1つでも定義されているならば)で指示された現行
プログラム・レベルに関して定義された制限プログラム・レベルの名称およびア
ドレスを指示する項目942と、項目942で指示された制限プログラム・レベ
ルの制限状態の名称およびアドレスをそれぞれが指示する複数の項目943と、
項目941で指示された現行プログラム・レベルの状態の名称およびアドレスを
それぞれが指示する複数の項目944と、対応する前記列挙された項目944で
識別される対応する状態の条件の名称およびアドレスをそれぞれが指示する複数
の項目945と、項目945の1つにそれぞれが対応し、対応する条件によって
指定される遷移のタイプと宛先状態の名称およびアドレスとの指示をそれぞれが
提供する複数の項目946とを含む。
【0164】 状態の名称およびアドレスを含む各項目944の下で、命令リストは、変数の
タイプ、対応する項目944で識別される状態で定義された対応する変数、対応
する状態によって割り当てられた値、対応する変数へのアクセス権フィールドに
前もって入力された値をそれぞれに指示する複数の項目947をさらに含む。条
件の名称およびアドレスを含む各項目945の下で、命令リストは、変数のタイ
プ、対応する項目945で識別された条件の条件ステートメントに使用された対
応する変数の変数名、および対応する条件ステートメントをそれぞれに指示する
複数の項目948をさらに含む。サブルーチン呼出しを指定する条件に関して、
対応する項目946は、サブルーチン・プログラム・レベルの宛先状態の名称お
よびアドレスを有する項目949と、呼出しプログラム・レベルの戻り状態の名
称およびアドレスを有する項目950とを含む。
【0165】 図35に、命令リストを生成するための本発明のプロセスを例示する952の
流れ図を示す。示したプロセスは「S」(図33からの続き)からステップ95
3に進み、そこで、プログラミング・システムは、前もって定義されたすべての
プログラム・レベルを表示する。ステップ954で、プログラミング・システム
は、ユーザに、表示されたプログラム・レベルから選択させるユーザ・インター
フェースを提供し、ユーザの選択した1つ以上のプログラム・レベルを受け取る
。ステップ955で、プログラミング・システムは、現行プログラム・レベルの
名称およびプログラム・レベル番号をレンダリングする。ステップ956で、プ
ログラミング・システムは、現行プログラム・レベルに関して前もって定義され
た制限状態の名称およびアドレスをレンダリングする。ステップ957で、プロ
グラミング・システムは、現行プログラム・レベルの現行状態の名称およびアド
レスをレンダリングする。ステップ958で、プログラミング・システムは、現
行状態の名称およびアドレスの下で、現行状態から遷移するための現行条件の名
称およびアドレスをレンダリングする。
【0166】 ステップ959で、プログラミング・システムは、現行条件が真の場合、制御
プログラムがそこに進む宛先状態の名称およびアドレスをレンダリングし、さら
に、現行条件によって指定された遷移タイプの識別標識もレンダリングする。好
ましい実施形態で、プログラミングは、直接タイプの遷移には「GOTO」をレ
ンダリングし、サブルーチン状態への呼出し遷移には「CALL」をレンダリン
グする。このプロセスは、次いで960に進み、そこで、プログラミング・シス
テムは、現行状態に関してより多くの条件が定義されているか否かを判定するた
めに、内部ファイル132(図3A)のソース・ファイルを読み込む。960で
、現行状態に関してより多くの条件が定義されていると判定されると、このプロ
セスはステップ961に進み、そこでシステムは、次の条件を現行条件としてフ
ェッチするためにソース・ファイルを読み込み、その後、このプロセスは前記説
明のようにステップ958と959を再実行するために進む。960で、現行状
態に関してより多くの条件が前もって定義されていないと判定されると、プログ
ラミング・システムは、ソース・ファイルを読み込み、962で、現行プログラ
ム・レベルに関してより多くの状態が前もって定義されているか否かを判定する
。962で、現行プログラム・レベルに関してより多くの状態が定義されている
と判定されると、このプロセスはステップ963に進み、そこで、プログラミン
グ・システムは、ソース・ファイルを読み込み、次の状態を現行状態としてフェ
ッチし、その後、このプロセスは前記説明のようにステップ957に戻る。
【0167】 962で、現行プログラム・レベルに関してより多くの状態が前もって定義さ
れていないと判定されると、このプロセスは964に進み、そこで、プログラミ
ング・システムは、ステップ954で受け取ったユーザの選択したプログラム・
レベルに基づいて、そのために命令リストを生成するより多くのプログラム・レ
ベルがあるか否かを判定する。964で、より多くのプログラム・レベルがある
と判定されると、このプロセスはステップ966に進み、そこで、プログラミン
グ・システムは、次のプログラム・レベルを現行プログラム・レベルとしてフェ
ッチするために内部ファイル132(図3A)のソース・ファイルを読み込む。
このプロセスは、ステップ966からステップ968に進み、そこで、プログラ
ミング・システムは、現行プログラム・レベルの第1の状態を現行状態としてフ
ェッチするために、ソース・ファイルを読み込み、その後、このプロセスは、前
記説明のようにステップ955に進む。964で、これ以上列挙するプログラム
・レベルがないと判定されると、このプロセスは「C」(図33に続く)に進む
【0168】 図33に戻って参照すると、条件リストの生成を要求するステップ935(図
示せず)が、命令リストを生成するために、プロセス952(図35)に類似の
プロセスによって実施される。条件リストは、制御プログラムを状態に関して列
挙し、どのような条件が対応する状態への遷移を生じさせるかを示す。
【0169】 図36は、970で、本発明のプログラミング・システムを介して生成される
制御プログラムの第1プログラム・レベルの例示的なフロー・チャート・リスト
のブロック図を示す。フロー・チャート・リストは、各々が制御プログラムの状
態の名称とアドレスを有する複数の状態ボックス974と、各々が制御プログラ
ムの状態の名称とアドレスを有する複数の条件ボックス975とを含む。複数の
状態ブロックと条件ブロック976の各々は、本明細書で示している特定の状態
を有する状態ボックス974と、その状態ボックスに対応し、本明細書で生成し
た特定の状態からの遷移に対する条件を有する少なくとも1つの条件ボックス9
75とを含む。状態および条件ブロック976は、左列と右列からなる対向列で
交互に配置されている。1つの列内で隣接する状態および条件ブロック976は
、所定の垂直変位977だけ離れている。各状態ボックス974は、状態ボック
ス・アンカ・ポイント979を有し、各条件ボックス975は、条件ボックス・
アンカ・ポイント980を有する。
【0170】 特定の条件に対応するソース状態と同じプログラム・レベル内で、宛先状態へ
の直接(またはgoto)遷移を示す特定の条件に対して、宛先状態は、同じペ
ージ上にあるが、ソース状態の状態ボックスに対向する列にある状態ボックス9
74に示されており、直線コネクタ981が、特定の条件の条件ボックス・アン
カ・ポイント980から、宛先状態の状態ボックス・アンカ・ポイント979ま
でレンダリングされる。特定の条件に対応するソース状態と同じプログラム・レ
ベル内で、宛先状態への直接(またはgoto)遷移を示す特定の条件に対して
、宛先状態は、ソース状態の状態ボックスと同じページ上にあり、同じ列にある
状態ボックス974に示されており、同じ列での線982は、特定の条件の条件
ボックス・アンカ・ポイント980から、宛先状態の状態ボックス・アンカ・ポ
イント979までレンダリングされる。
【0171】 示したフロー・チャート・リスト970は、状態1:3および1:4に対応す
る第3および第4状態と条件ブロックの976を、制御プログラムの第1プログ
ラムレベルの状態1:5および1:6に対応する、第5および第6状態と条件の
ブロック976から分割するページの区切りを含む。特定の条件に対応するソー
ス状態と同じプログラム・レベル内で、宛先状態への直接(またはgoto)遷
移を示す特定の条件に対して、宛先状態は、ソース状態の状態ボックスとは異な
るページ上の状態ボックス974に示され、矢印と対応する宛先状態のアドレス
を含む表示984は、条件ボックス975内でレンダリングされる。例えば、条
件1:3:3は、同じプログラム・レベルにあるが異なるページにある状態1:
6への直接遷移を示し、したがって、条件1:3:3に対する条件ボックス97
5は、矢印と宛先状態のアドレスの状態アドレス1:6を含んでいる表示984
を含む。条件1:3:3と宛先状態1:6が同じページ上に配置されている場合
、フロー・チャート・リスト970は、破線で示すように、条件ボックス・アン
カ・ポイントから宛先状態ボックス・アンカ・ポイントまでレンダリングされた
線を含むことになる。
【0172】 特定の条件に対応するソース状態のプログラム・レベルと異なるプログラム・
レベル内で、宛先状態への直接(またはgoto)遷移を示す特定の条件に対し
て、矢印と対応する宛先状態のアドレスを含む表示985は、条件ボックス97
5内でレンダリングされる。例えば、条件1:6:3は、プログラム・レベル2
にある状態2:1への直接遷移を示し、したがって、条件1:6:3に対する条
件ボックス975は、矢印と宛先状態のアドレスの状態アドレス2:1を含んで
いる表示985を含む。
【0173】 サブルーチン・プログラム・レベルの宛先状態への、コール遷移またはサブル
ーチン遷移を示す特定の条件に対して、矢印と対応する宛先状態のアドレスを含
む第1呼出し表示986は、条件ボックス975内でレンダリングされ、矢印と
対応する戻り状態アドレスを含む第2呼出し表示987は、条件ボックス975
の外部でレンダリングされる。
【0174】 図37は、988で、本発明のプログラミング・プロセスにより生成される、
制御プログラムの第2タスク・プログラム・レベルの例示的フロー・チャート・
リストを示す。制御プログラムは、特定の条件に対する宛先状態が、またユーザ
によって指定されていないという点で、部分的にコード化されている。988で
示したフロー・チャート・リストでは、条件2:2:2に対して宛先状態は指定
されておらず、プログラミング・システムは、対応する条件ボックス989内で
「?」をレンダリングして、宛先状態が指定されていないことを示す。
【0175】 図38は、990で、本発明のプログラミング・プロセスにより生成される、
制御プログラムのサブルーチン・プログラム・レベルのフロー・チャート・リス
トを示す。上述したように、各サブルーチン・プログラム・レベルは、サブルー
チン・プログラム・レベルが呼出しプログラム・レベルの戻り状態に戻ることを
示す、少なくとも1つの「戻り条件」を含む。示した例では、条件3:2:2を
示す条件ボックスは、本明細書の992でレンダリングされた「RETURN」
を有し、条件3:2:2が満たされているとき、サブルーチン・プログラム・レ
ベルは、呼出しプログラム・レベルの戻り状態に戻ることを示す。再び図36を
参照すると、条件1:5:2は、サブルーチン・プログラム・レベル3へのコー
ル遷移を指定し、条件3:2:2が満たされる際に、サブルーチン・プログラム
・レベル3(図38)が戻るとき、呼出しプログラム・レベル1の状態1:1へ
の戻りを指定する。
【0176】 図39は、1000で、本発明のプログラミング・プロセスによる、フロー・
チャート・リストの作成に使用する位置情報のアレイを生成するプロセスを示す
流れ図を示す。示したプロセスは、「T」から(図33から)進んで、ステップ
1002に進み、ここで、プログラミング・システムは、以前に定義した制御プ
ログラムの全プログラム・レベル・リストを表示する。ステップ1004で、プ
ログラミング・システムは、ユーザ・インターフェースを提供して、ユーザが、
ステップ1002で表示したプログラム・レベルから選択できるようにし、また
、プログラム・レベル番号Nを有するユーザが選択したプログラム・レベルを受
信する。ステップ1006で、プログラミング・システムは、フロー・チャート
・リストの第1列における垂直座標の位置を表す第1垂直位置の値Y1をゼロに
設定し、また、フロー・チャート・リストの第2列における垂直座標の位置を表
す第2垂直位置の値Y2をゼロに設定する。第1および第2垂直座標の位置の値
は、それぞれ独立であり、各値は、フロー・チャート・リストの複数ページにわ
たる。垂直座標の位置の値のどちらかを、ページの垂直座標の数で割ることによ
って、垂直座標の位置の値に対応するページ番号を得る。ゼロである垂直座標の
位置の値は、第1ページの上端に対応する。
【0177】 ステップ1008で、プログラミング・システムは、現在状態を状態N:1に
設定する。これは、上記で説明したステップ1004で受信した、ユーザが選択
したプログラム・レベルの第1状態である。示したプロセスは、ステップ100
8から1010に進み、ここで、プログラミング・システムは、内蔵ファイル1
32(図3A)のソース・ファイルを読み込んで、現在状態のプログラム・レベ
ル番号が、先行状態のプログラム・レベル番号に等しいかを判定する。このステ
ップは、以下でさらに説明するように、あるプログラム・レベルから他のレベル
への遷移に対して、確実にページをスキップするために実施される。1010で
、現在のプログラム・レベル番号が、先行状態のプログラム・レベル番号に等し
くないと判定される場合、プロセスは「T2」に(図41に)進み、次のページ
の上端に進むプロセスを実施した後、現在状態をレンダリングする。
【0178】 1010で、現在状態のプログラム・レベル番号が、先行状態のプログラム・
レベル番号に等しいと判定される場合、プロセスは、ステップ1012に進み、
ここで、プログラミング・システムは、内蔵ファイル132(図3A)のソース
・ファイルを読み込んで、現在状態に対して定義された条件の数を決定する。ス
テップ1014で、プログラミング・システムは、現在の垂直位置の値として、
Y1またはY2を選択する。例えば、プログラミング・システムは、Y1を選択
して、フロー・チャート・リストの左列を表し、Y2を選択して、フロー・チャ
ート・リストの右列を表す。示したプロセスは、反復して実行され、プログラミ
ング・システムは、プロセスの交互サイクルの間、現在の垂直座標の位置の値と
してY1およびY2を選択する。
【0179】 ステップ1016で、プログラミング・システムは、状態ボックスおよび条件
ボックスの高さである要素の高さに、現在状態に対して定義した条件の数をかけ
、現在状態に対して1加えることによって、現在状態/条件グループの垂直の高
さを決定する。ステップ1018で、プログラミング・システムは、現在の垂直
の高さを現在のYの位置の値に加えて、進行したYの位置の値を決定する。ステ
ップ1020で、プログラミング・システムは、現在のYの位置の値をページの
長さで割り、次の整数に切り上げて、現在のページ番号を決定する。ステップ1
022で、プログラミング・システムは、進行したYの位置の値をページの長さ
で割り、次の整数に切り上げて、進行したページ番号を決定する。示したプロセ
スは、ステップ1022から1023に進み、ここで、プログラミング・システ
ムは、現在のページ番号が進行したページ番号に等しいかを判定し、そうである
場合、プロセスは「T1」に(図40に)進む。1023で、現在のページ番号
が進行したページ番号に等しくないと判定される場合、示したプロセスは、「T
2」に(図41に)進む。
【0180】 図40は、1030で、現在のページ上で作成される、状態/条件グループに
対するアレイ位置情報を生成するサブプロセスを示す流れ図を示す。示したプロ
セスは、「T1」から(図39から)進んで、ステップ1032に進み、ここで
、プログラミング・システムは、現在のYの位置の値を用いて、現在状態の(X
、Y)座標を決定する。ステップ1034で、プログラミング・システムは、状
態アドレスと現在状態の(X、Y)座標を、プログラミング・システム80(図
1)のメモリに格納されている状態アンカ・ポイント・アレイに加える。ステッ
プ1036で、プログラミング・システムは、現在状態の各条件に対して、現在
状態の(X、Y)座標に基づいて、対応する(X、Y)座標を決定する。ステッ
プ1038で、プログラミング・システムは、現在状態の各条件に対して、条件
アドレスと関連する(X、Y)座標を、プログラミング・システム80(図1)
のメモリに格納されている条件アンカ・ポイント・アレイに加える。さらに以下
で説明するように、状態アンカ・ポイント・アレイおよび条件アンカ・ポイント
・アレイは、フロー・チャート・リスト(図36、37、および38)をレンダ
リング中に使用される。
【0181】 示したプロセスは、ステップ1038から1040に進み、ここで、プログラ
ミング・システムは、現在のプログラム・レベルに対して定義された状態がさら
に存在するかを判定する。1040で、現在のプログラム・レベルに対して定義
された状態がさらに存在すると判定される場合、プロセスはステップ1042に
進み、ここで、プログラミング・システムは、ソース・ファイルを読み込んで、
現在状態として次の状態を取り入れる。その後、示したプロセスは「T3」に(
図39に)進み、フロー・チャート・リストの生成に使用する位置情報のアレイ
を生成するプロセスを反復する。1040で、現在のプログラム・レベルに対し
て定義された状態がさらにはないと判定される場合、示したプロセスは1044
に進み、ここで、プログラミング・システムは、フロー・チャートをリストする
プログラム・レベルがさらに存在するかを判定する。そうである場合、プロセス
はステップ1046に進み、ここで、プログラミング・システムは、ソース・フ
ァイルを読み込んで、現在のプログラム・レベルとして次のプログラム・レベル
を取り入れる。プロセスは、ステップ1046から1048に進み、ここで、プ
ログラミング・レベルは、現在状態として、現在のプログラム・レベルの第1状
態を取り入れ、その後、プロセスは「T3」に(図39に)進む。1044で、
リストするプログラム・レベルがさらには存在しないと判定される場合、プロセ
スは「T4」に(図42に)進む。
【0182】 図41は、1050で、次のページでレンダリングされる、状態/条件グルー
プに対するアンカ・ポイント・アレイ位置情報を生成するプロセスを示す流れ図
を示す。示したプロセスは「T2」から(図39から)進んで、プロセスはステ
ップ1052に進み、ここで、プログラミング・システムは、次ページの上端の
(X、Y)座標に等しい、現在状態に対する(X、Y)座標を挿入する。ステッ
プ1054で、プログラミング・システムは、現在状態の状態アドレスと関連す
る現在状態の(X、Y)座標を、状態アンカ・ポイント・アレイに加える。ステ
ップ1056で、プログラミング・システムは、現在状態の各条件に対して、現
在状態の(X、Y)座標に基づいて、対応する(X、Y)座標を決定する。ステ
ップ1058で、プログラミング・システムは、現在状態の各条件に対して、条
件アドレスと関連する(X、Y)座標を、条件アンカ・ポイント・アレイに加え
る。プロセスは、1058から1060に進み、ここで、プログラミング・シス
テムは、現在のプログラム・レベルに対して、以前にさらに状態が定義されたか
を判定する。1060で、現在のプログラム・レベルに対して、以前にさらに状
態が定義されたと判定される場合、プロセスはステップ1062に進み、ここで
、プログラミング・システムは、ソース・ファイルを読み込んで、現在状態とし
て次の状態を取り入れ、その後、プロセスは「T3」に(図39に)進む。10
60で、現在のプログラム・レベルに対して、以前に定義された状態がさらには
存在しないと判定される場合、プロセスは1062に進み、ここで、プログラミ
ング・システムは、ソース・ファイルを読み込んで、リストするプログラム・レ
ベルがさらに存在するかを判定する。1060で、リストするプログラム・レベ
ルがさらに存在すると判定される場合、プロセスはステップ1066に進み、こ
こで、プログラミング・システムは、ソース・ファイルを読み込んで、現在のプ
ログラム・レベルとして次のプログラム・レベルを取り入れる。プロセスは、ス
テップ1066からステップ1068に進み、ここで、プログラミング・システ
ムは、現在状態として現在のプログラム・レベルの第1状態を取り入れ、その後
、プロセスは「T3」に(図39に)進む。
【0183】 図42は、1070で、本発明による、フロー・チャートリストを生成する第
2通過プロセスを示す流れ図を示す。示したプロセスは、「T4」から(図40
および図41から)進んで、ステップ1080に進み、ここで、プログラミング
・システムは、ソース・ファイルから、現在レベルの現在状態の名称とアドレス
を読み込む。ステップ1082で、プログラミング・システムは、状態アンカ・
ポイント・アレイから、現在のプログラム・レベルの現在状態の(X、Y)座標
を読み込む。ステップ1084で、プログラミング・システムは、現在状態の(
X、Y)座標に関連する状態ボックスで、現在状態の名称とアドレスをレンダリ
ングする。ステップ1086で、プログラミング・システムは、ソース・ファイ
ルから、現在状態の現在条件の名称とアドレスを読み込む。ステップ1088で
、プログラミング・システムは、条件アンカ・ポイント・アレイから、現在状態
の現在条件の(X、Y)座標を読み込む。ステップ1090で、プログラミング
・システムは、(X、Y)座標に関連する条件ボックスで、現在条件の名称とア
ドレスをレンダリングする。プロセスは、ステップ1090からステップ109
2に進み、ここで、プログラミング・システムは、ソース・ファイルを読み込ん
で、現在状態に対して以前に定義された条件がさらに存在するかを判定する。そ
うである場合、プロセスはステップ1094に進み、ここで、プログラミング・
システムは、ソース・ファイルを読み込んで、現在条件として次の条件を取り入
れる。1092で、現在状態に対して以前に定義された条件がさらには存在しな
いと判定される場合、プロセスは1094に進み、ここで、プログラミング・シ
ステムは、ソース・ファイルを読み込んで、現在のプログラム・レベルに対して
定義された状態がさらに存在するかを判定する。1096で、現在のプログラム
・レベルに対して定義された状態がさらに存在すると判定される場合、プロセス
はステップ1098に進み、ここで、プログラミング・システムは、ソース・フ
ァイルを読み込んで、現在状態として次の状態を取り入れる。1096で、現在
のプログラム・レベルに対して定義された状態がさらには存在しないと判定され
る場合、プロセスは1100に進み、ここで、プログラミング・システムは、ソ
ース・ファイルを読み込んで、リストするプログラム・レベルがさらに存在する
かを判定する。そうである場合、プロセスはステップ1102に進み、ここで、
プログラミング・システムは、ソース・ファイルを読み込んで、現在のプログラ
ム・レベルとして次のプログラム・レベルを取り入れる。示したプロセスは、ス
テップ1102からステップ1104に進み、ここで、プログラミング・システ
ムは、ソース・ファイルを読み込んで、現在状態として次の状態を取り入れる。
その後、プロセスは、上述したように、再びステップ1080に戻る。1100
で、リストするプログラム・レベルがさらには存在しないと判定される場合、プ
ロセスは「T5」に(図43に)進む。
【0184】 図43は、1110で、対応する条件に基づいて、ソース状態から宛先状態へ
の遷移を示しているプロセスを示した流れ図を示す。示したプロセスは、「T5
」から(図42から)進んで、ステップ1112に進み、ここで、プログラミン
グ・システムは、ソース・ファイルを読み込んで、現在条件が、直接(GOTO
)遷移またはコール遷移を示すかを判定する。プロセスは、ステップ1112か
ら1114に進み、ここで、プログラミング・システムは、現在条件が直接(G
OTO)遷移を示すかを判定する。1114で、現在条件が直接遷移を示さず、
コール・タイプの遷移を示す場合、プロセスは「T6」に(図44に)進む。1
114で、現在条件が直接(GOTO)遷移を示す場合、プロセスは1116に
進み、ここで、プログラミング・システムは、現在条件によって示された宛先状
態の宛先状態ボックスが、現在のページにあるかを判定する。宛先状態ボックス
が現在のページにあると判定される場合、プロセスは、1116からステップ1
118に進み、ここで、プログラミング・システムは、現在条件ボックスの外部
で、現在条件ボックスから外向きに指し示している矢印をレンダリングし、その
後、プロセスは「T7」に(図45に)進む。1116で、現在条件によって示
された宛先状態ボックスが、現在のページにないと判定される場合、プロセスは
1116からステップ1120に進み、ここで、プログラミング・システムは、
現在条件ボックスの内部で、現在条件が真である場合、矢印と制御プログラムが
進む宛先状態のアドレスをレンダリングする。示したプロセスは、ステップ11
20から「T1」に(図40に)進む。
【0185】 図44は、1130で、コール遷移を示すサブプロセスを図示する流れ図を示
す。示したプロセスは「T6」から(図43から)進んで、ステップ1132に
進み、ここで、プログラミング・システムは、現在条件が真である場合、現在条
件ボックスの内部で、矢印と制御プログラムが進むサブルーチン・プログラム・
レベルの宛先状態のアドレスをレンダリングする。プロセスは、ステップ113
2からステップ1134に進み、ここで、プログラミング・システムは、サブル
ーチンが戻った後、現在条件ボックスの外部で、矢印と制御プログラムが進む戻
り状態のアドレスをレンダリングする。プロセスは、ステップ1134から「T
5」に(図43に)進む。
【0186】 図45は、1150で、満足されている条件基準の結果として、ソース状態か
ら宛先状態への遷移を示す線をレンダリングするプロセスを示している流れ図を
示す。示したプロセスは、「T7」(図43から)進んで、1152に進み、こ
こで、プログラミング・システムは、宛先状態の宛先状態ボックスが、現在条件
の現在条件ボックスに対向する列に配置されているかを判定する。1152で、
宛先状態ボックスと現在条件ボックスが、対向する列に存在すると判定される場
合、プロセスはステップ1154に進み、ここで、プログラミング・システムは
、現在条件ボックスのアンカ・ポイントから宛先状態ボックスのアンカ・ポイン
トまで延びる線をレンダリングする。1152で、宛先状態ボックスと現在条件
ボックスが対向する列に存在せず、同じ列に存在すると判定される場合、プロセ
スはステップ1154に進み、ここで、プログラミング・システムは、現在条件
ボックスのアンカ・ポイントから現在の水平末端ポイントまで、現在の水平変位
距離を延長する第1水平線をレンダリングする。プロセスは、ステップ1154
からステップ1156に進み、ここで、プログラミング・システムは、現在の水
平方向末端ポイントから、宛先状態ボックスのアンカ・ポイントの座標に等しい
Y座標の値を有する現在の垂直末端ポイントまで延びる垂直線をレンダリングす
る。プロセスは、ステップ1156からステップ1158に進み、ここで、プロ
グラミング・システムは、現在の末端ポイントから、宛先状態ボックスのアンカ
・ポイントまで延びる第2水平線をレンダリングする。プロセスは、ステップ1
158からステップ1160に進み、ここで、プログラミング・システムは、水
平変位距離Xを所定の量だけ増大する。プロセスは、ステップ1160から「T
5」に(図43に)進む。
【0187】 図46は、それぞれデジタル出力変数、デジタル入力変数、および計時変数に
対し、1200、1202、および1204で、例示的な相互参照リストのブロ
ック図を示す。示した相互参照リストは、内蔵ファイル132(図3A)のソー
ス・ファイルから読み込むことによって、本発明のプログラミング・システムに
よって生成される。
【0188】 1200の相互参照リストは、デジタル出力変数の名称を示す項目1205、
対応する状態への遷移の際に、デジタル出力変数を用いて実施される機能を示す
項目1206、対応する状態の名称を示す項目1207、対応する状態のアドレ
スを示す項目1208、制御プログラムが対応する状態で動作する間、デジタル
出力変数のアクセス適正値を示す項目1209を含む。項目1206によって示
すことが可能であるデジタル出力変数を用いる機能は、「SET ON」、「S
ET OFF」、「ON IN AND」、「OFF IN AND」、「ON
IN OR」、「OFF IN OR」、「BLINK SLOW IN O
R」、「BLINK FAST IN OR」、「BLINK SLOW IN
AND」、「BLINK FAST IN AND」、「ASSIGN」、「
TAG ONLY」、「BLINK SLOW」、および「BLINK FAS
T」を含む。1200のものと同様の相互参照リストが、デジタル変数および同
じタイプの機能で使用することが可能である前面パネルLED変数に対して生成
される。
【0189】 アナログ出力変数(図示せず)に対する相互参照リストと、プログラム変数(
図示せず)に対する相互参照リストは、対応する状態への遷移の際に、アナログ
出力変数とプログラム変数を用いて実施することが可能である機能を示す。アナ
ログ出力変数とプログラム変数を用いて実施することが可能である機能は、「S
ET VALUE」、「ASSIGN」、「SET TAG ONLY」、「R
EFFERENCE」、「FORMULA」、「TEST>」、「TEST<」
、「TEST BETWEEN」、「TEST NOT>」、「TEST NO
T BETWEEN」を含む。
【0190】 1202の相互参照リストは、デジタル入力変数の名称を示す項目1211、
デジタル入力変数を使用する条件ステートメントを示す項目1211、条件ステ
ートメントを使用する対応するプログラム・レベル、状態、および条件の名称を
示す項目1212、および対応する条件のアドレスを示す項目1213を含む。
項目1211によって示すことが可能である条件ステートメントは、「ON I
N AND」、「OFF IN AND」、「ON IN OR」、「OFF
IN OR」、「BLINK SLOW IN OR」、「BLINK FAS
T IN OR」、「BLINK SLOW IN AND」、および「BLI
NK FAST IN AND」を含む。1202のものと同様の相互参照リス
トが、同じタイプの条件ステートメントで使用することが可能である前面パネル
・スイッチ変数に対して生成される。アナログ入力変数(図示せず)に対する相
互参照リストは、アナログ入力変数を使用する条件ステートメントを示す。条件
ステートメントは、「TEST>」、「TEST<」、「TEST BETWE
EN」、「TEST NOT>」、「TEST NOT BETWEEN」、「
REFFERENCE」、および「TEST NOT<」を含む。
【0191】 1204の相互参照リストは、計時変数の名称を示す項目1214、計時変数
を使用する対応する状態への遷移の際に、計時変数に関して実施される機能を示
す項目1215、公式が定義されている対応するプログラム・レベルと状態の名
称を示す項目1216、対応する状態のアドレスを示す項目1217、および公
式自体の式を示す項目1218を含む。項目1215によって示すことが可能で
ある機能は、「SET VALUE」、「ASSIGN」、「SET TAG
ONLY」、「SET RUN ON」、「SET RUN OFF」、「FO
RMULA」、および「TEST」を含む。
【0192】 図47は、1220で、相互参照リストを生成するプロセスを示す流れ図を示
す。示したプロセスは、「U」から(図33から)進んで、ステップ1222に
進み、ここで、プログラミング・システムは、アナログ入力、アナログ出力、デ
ジタル入力、デジタル出力、プログラム変数、デジタル変数、パネルLED変数
、パネル・スイッチ変数、および計時変数を含む、変数のタイプのリストを表示
する。ステップ1224で、システムは、ユーザ・インターフェースを提供し、
ユーザが、変数のタイプから相互参照リスト用に1つを選択する、または「プロ
グラム間レベル」相互参照リストを選択する、という選択肢から選択することが
できるようにし、また対応するユーザ入力を受信する。プロセスは、ステップ1
224から1226に進み、ここで、システムは、プログラム間レベルの選択肢
が選択されたかを判定する。そうである場合、プロセスは「U1」に(図48に
)進む。1226で、ユーザがプログラム間レベルの選択肢を選択しなかったと
判定される場合、プロセスは「U2」に(図49に)進む。
【0193】 図48は、1230で、プロセス1220(図47)のサブプロセスを示す流
れ図を示す。示したサブプロセスは、プログラム間レベル相互参照リストを生成
するためのものである。示したプロセスは、「U1」から(図47から)進んで
、ステップ1232に進み、ここで、システムは、対応するソースプログラム・
レベル以外のプログラム・レベルにある宛先状態への直接遷移またはサブルーチ
ン遷移を指定する条件に対して、内蔵ファイル132(図3A)のソース・ファ
イルを探索する。プロセスはステップ1232から1234に進み、ここで、シ
ステムは、ステップ1232で示した条件が見つけられたかを判定する。123
4で、そのような条件が見つけられたと判定される場合、プロセスはステップ1
236に進み、ここで、システムは、ソース・ファイルから、現在条件として条
件を読み込む。ステップ1238で、システムは、「FROM」という名称の列
で、現在条件の名称とアドレスをレンダリングする。ステップ1240で、シス
テムは、「TO」という名称の列で、対応する宛先状態の名称とアドレスをレン
ダリングする。その後、プロセスは、再びステップ1232に戻り、次の条件を
探索する。1234で、他のプログラム・レベルにある宛先状態への遷移を指定
する条件が見つけられたと判定される場合、プロセスは「C」に(図33に)進
む。
【0194】 図49は、1250で、相互参照リストを生成するプロセス1220(図47
)のサブプロセスを示す流れ図を示す。示したサブプロセスは、変数用に相互参
照リストを生成するためのものである。示したプロセスは「U2」から(図47
から)進んで、システムが現在の変数の名称をレンダリングするステップ125
2に進む。ステップ1254で、システムは、現在の変数を用いる条件ステート
メントを含む次の条件に対して、ソース・ファイルを探索する。次いで、125
6で、現在の変数を用いる条件ステートメントを含む条件が見つけられたかを判
定する。そうである場合、プロセスはステップ1258に進み、ここで、システ
ムは、現在条件ステートメントをレンダリングする。プロセスは、ステップ12
58からステップ1260に進み、ここで、システムは、現在条件の名称とアド
レスをレンダリングし、その後、プロセスは、再びステップ1254に戻る。1
256で、現在の変数を用いる条件ステートメントを含む条件が見つけられなか
ったと判定される場合、プロセスはステップ1262に進み、ここで、システム
は、現在の変数に値を割り当てる次の状態に対して、ソース・ファイルを探索す
る。次いで、1264で、現在の変数に値を割り当てる次の状態が見つけられた
かを判定する。1264で、そのような状態が見つけられたと判定される場合、
プロセスはステップ1266に進み、ここで、システムは、現在状態によって現
在の変数に割り当てられる値をレンダリングする。ステップ1268で、システ
ムは、現在状態の名称とアドレスをレンダリングする。ステップ1270で、シ
ステムは、被制御プログラムが現在状態で動作するとき、現在の変数に対するア
クセス権の値をレンダリングし、その後、プロセスは再びステップ1262に戻
る。示したプロセスは、1264で、現在の値を割り当てる状態が見つけられな
かったと判定されるまで、ステップ1262、1264、1266、および12
68を反復する。その後、プロセスは「U3」に(図50に)進む。
【0195】 図50は、1280で、相互参照リストのプロセス220(図47)のサブプ
ロセスを示す流れ図を示す。示したプロセスは、「U3」から(図49から)ス
テップ1282に進み、ここで、システムは、現在の変数を用いる次の公式に対
してソース・ファイルを探索する。次いで、1284で、現在の変数を用いる公
式が見つかったかを判定する。そうである場合、プロセスはステップ1286に
進み、ここで、システムは、現在の公式が定義された状態の名称とアドレスをレ
ンダリングする。プロセスは、ステップ1286からステップ1288に進み、
ここで、システムは、現在の公式をレンダリングし、その後、プロセスは、再び
ステップ1282に戻る。1284で、現在の変数を用いる公式が見つからなか
ったと判定される場合、プロセスは1290に進み、ここで、システムは、ステ
ップ1224(図47)で選択されたタイプの変数がさらに存在するかを判定す
る。1290で、リストする変数がさらに存在すると判定される場合、プロセス
はステップ1292に進み、ここで、システムは、現在の変数として次の変数を
取り入れる。その後、プロセスは、再び「U3」に(図49に)戻り、プロセス
1250と1280(図49と50)を反復する。1290で、リストする変数
がさらには存在しないと判定される場合、プロセスは「U」に(図1220に)
進む。
【0196】 本発明について、特定の実施形態を参照して、上記で特に示し説明してきたが
、当業者には、その変更と修正が間違いなく明らかになるであろうということが
予期される。したがって、以下の請求項は、本発明の真の精神と範囲内にある全
てのそのような変更と修正を網羅していると解釈することを意図している。
【図面の簡単な説明】
【図1】 本発明によるプログラミング・プロセスを実行するプログラミング・システム
によって構成される論理制御装置(LCU)を含む分散プロセス制御システムの
概略ブロック図である。
【図2】 図1のLCUの好ましい一実施形態である汎用コントローラ(UCB)の概略
ブロック図である。
【図3A】 ユーザ指定の制御プログラムを生成して図1のLCUにアップロードするのに
使用される本発明のプログラミング・プロセスのモジュール間の機能的関係を一
般に示す論理流れ図である。
【図3B】 図2のUCB中で制御プログラムを受け取り解釈するためのソフトウェア・モ
ジュールを一般に示す機能ブロック図である。
【図4A】 本発明のプログラミング・プロセスで使用される変数のフィールドを一般に示
すブロック図である。
【図4B】 本発明のプログラミング・プロセスで使用される変数のフィールドを一般に示
すブロック図である。
【図4C】 本発明のプログラミング・プロセスで使用される変数のフィールドを一般に示
すブロック図である。
【図4D】 本発明のプログラミング・プロセスで使用される変数のフィールドを一般に示
すブロック図である。
【図4E】 本発明のプログラミング・プロセスで使用される変数のフィールドを一般に示
すブロック図である。
【図4F】 本発明のプログラミング・プロセスで使用される変数のフィールドを一般に示
すブロック図である。
【図4G】 本発明のプログラミング・プロセスで使用される変数のフィールドを一般に示
すブロック図である。
【図4H】 本発明のプログラミング・プロセスで使用される変数のフィールドを一般に示
すブロック図である。
【図4I】 本発明のプログラミング・プロセスで使用される変数のフィールドを一般に示
すブロック図である。
【図5】 本発明のプログラミング・プロセスのユーザ・インターフェースのメイン・メ
ニューを実装する一連のステップを示す流れ図である。
【図6】 本発明のプログラミング・プロセスで使用される異なるタイプの変数を編集す
るためのオプションをユーザに提供するサブプロセスを示す流れ図である。
【図7】 アナログ入出力変数、ディジタル入出力変数、プログラム変数、ディジタル変
数、フロント・パネルLED変数、パネル・スイッチ変数、タイマ変数、および
比例積分微分(PID)変数を含めた変数を編集するための、本発明のプログラ
ミング・プロセスのサブプロセスを示す流れ図である。
【図8】 アナログ入出力変数、ディジタル入出力変数、プログラム変数、ディジタル変
数、フロント・パネルLED変数、パネル・スイッチ変数、タイマ変数、および
比例積分微分(PID)変数を含めた変数を編集するための、本発明のプログラ
ミング・プロセスのサブプロセスを示す流れ図である。
【図9】 アナログ入出力変数、ディジタル入出力変数、プログラム変数、ディジタル変
数、フロント・パネルLED変数、パネル・スイッチ変数、タイマ変数、および
比例積分微分(PID)変数を含めた変数を編集するための、本発明のプログラ
ミング・プロセスのサブプロセスを示す流れ図である。
【図10】 アナログ入出力変数、ディジタル入出力変数、プログラム変数、ディジタル変
数、フロント・パネルLED変数、パネル・スイッチ変数、タイマ変数、および
比例積分微分(PID)変数を含めた変数を編集するための、本発明のプログラ
ミング・プロセスのサブプロセスを示す流れ図である。
【図11】 アナログ入出力変数、ディジタル入出力変数、プログラム変数、ディジタル変
数、フロント・パネルLED変数、パネル・スイッチ変数、タイマ変数、および
比例積分微分(PID)変数を含めた変数を編集するための、本発明のプログラ
ミング・プロセスのサブプロセスを示す流れ図である。
【図12】 アナログ入出力変数、ディジタル入出力変数、プログラム変数、ディジタル変
数、フロント・パネルLED変数、パネル・スイッチ変数、タイマ変数、および
比例積分微分(PID)変数を含めた変数を編集するための、本発明のプログラ
ミング・プロセスのサブプロセスを示す流れ図である。
【図13】 アナログ入出力変数、ディジタル入出力変数、プログラム変数、ディジタル変
数、フロント・パネルLED変数、パネル・スイッチ変数、タイマ変数、および
比例積分微分(PID)変数を含めた変数を編集するための、本発明のプログラ
ミング・プロセスのサブプロセスを示す流れ図である。
【図14】 アナログ入出力変数、ディジタル入出力変数、プログラム変数、ディジタル変
数、フロント・パネルLED変数、パネル・スイッチ変数、タイマ変数、および
比例積分微分(PID)変数を含めた変数を編集するための、本発明のプログラ
ミング・プロセスのサブプロセスを示す流れ図である。
【図15】 アナログ入出力変数、ディジタル入出力変数、プログラム変数、ディジタル変
数、フロント・パネルLED変数、パネル・スイッチ変数、タイマ変数、および
比例積分微分(PID)変数を含めた変数を編集するための、本発明のプログラ
ミング・プロセスのサブプロセスを示す流れ図である。
【図16】 アナログ入出力変数、ディジタル入出力変数、プログラム変数、ディジタル変
数、フロント・パネルLED変数、パネル・スイッチ変数、タイマ変数、および
比例積分微分(PID)変数を含めた変数を編集するための、本発明のプログラ
ミング・プロセスのサブプロセスを示す流れ図である。
【図17】 プログラミング・プロセスを使用して生成された特定の制御プログラムに対し
て以前に定義された変数のリストを生成するサブプロセスを示す流れ図である。
【図18】 本発明のプログラミング・プロセスにおいて、ユーザ指定の制御プログラムの
プログラム・レベル、状態、および条件を生成および編集するサブプロセスを示
す流れ図である。
【図19】 選択されたプログラム・レベルの制御プログラムを編集するためのプログラム
・レベル編集サブプロセスを示す流れ図である。
【図20】 制御プログラムのプログラム・レベルの状態をユーザが定義および編集できる
ようにするユーザ・インターフェースを実装するための状態編集サブプロセスを
示す流れ図である。
【図21】 制御プログラムが特定の状態に遷移するとき、選択された変数に割り当てられ
る値をユーザが定義できるようにするユーザ・インターフェースを実装するため
の状態編集サブプロセスの諸ステップを示す流れ図である。
【図22】 制御プログラムが特定の状態で動作する間に、タイマ変数に関連付けられたタ
イマを稼動または停止させるようにユーザが構成できるようにするユーザ・イン
ターフェースを実装するためのプログラミング・プロセスの諸ステップを示す流
れ図である。
【図23】 制御プログラムの状態に関連する式をユーザが定義できるようにするユーザ・
インターフェースを実装するサブプロセスを示す流れ図である。
【図24】 制御プログラムの状態に関連するログ・メッセージをユーザが入力できるよう
にするユーザ・インターフェースを実装するためのプログラミング・プロセスの
諸ステップを示す流れ図である。
【図25】 コントロール・プログラムのプログラム・レベルに対する制限をユーザが定義
できるようにするユーザ・インターフェースを実装するための制限編集サブプロ
セスを示す流れ図である。
【図26】 ある状態から別の状態への制御プログラムの遷移に対する条件をユーザが定義
および編集できるようにするユーザ・インターフェースを実装するための条件編
集プロセスを示す流れ図である。
【図27】 図25の条件編集プロセスの後続の諸ステップを示す流れ図である。
【図28】 現在のプログラム・レベル以外のプログラム・レベルの現在アクティブな状態
に応じた状態チェック条件ステートメントを生成するための、図25の条件編集
プロセスのサブプロセスを示す流れ図である。
【図29】 アナログ入力変数、アナログ出力変数、またはプログラム変数の現在の値に応
じた条件ステートメントを生成するための、条件編集プロセスのサブプロセスを
示す流れ図である。
【図30A】 アナログ入力変数、アナログ出力変数、またはディジタル変数の現在の値に応
じた様々なタイプの条件ステートメントを生成するための、条件編集プロセスの
サブプロセスを示す流れ図である。
【図30B】 アナログ入力変数、アナログ出力変数、またはディジタル変数の現在の値に応
じた様々なタイプの条件ステートメントを生成するための、条件編集プロセスの
サブプロセスを示す流れ図である。
【図31】 アナログ入力変数、アナログ出力変数、またはディジタル変数の現在の値に応
じた様々なタイプの条件ステートメントを生成するための、条件編集プロセスの
サブプロセスを示す流れ図である。
【図32】 ディジタル変数、ディジタル入力変数、ディジタル出力変数、フロント・パネ
ルLED変数、またはパネル・スイッチ変数の現在の値に応じた論理タイプの条
件ステートメントを生成するための、条件編集プロセスのサブプロセスを示す流
れ図である。
【図33】 本発明による、プログラム・レベル、状態、条件、および変数のプログラム・
リストを生成するサブプロセスの諸ステップを示す流れ図である。
【図34】 本発明のプログラミング・システムを使用して生成された例示的な命令リスト
のブロック図である。
【図35】 本発明のプログラミング・システム中で図34の命令リストを生成するプロセ
スの諸ステップを示す流れ図である。
【図36】 本発明のプログラミング・システムを使用して生成された制御プログラムの3
つのプログラム・レベルの例示的なフロー・チャート・リストのブロック図であ
る。
【図37】 本発明のプログラミング・システムを使用して生成された制御プログラムの3
つのプログラム・レベルの例示的なフロー・チャート・リストのブロック図であ
る。
【図38】 本発明のプログラミング・システムを使用して生成された制御プログラムの3
つのプログラム・レベルの例示的なフロー・チャート・リストのブロック図であ
る。
【図39】 本発明のプログラミング・システム中で図36、37、38のフロー・チャー
ト・リストを生成するプロセスを示す流れ図である。
【図39】 本発明のプログラミング・システム中で図36、37、38のフロー・チャー
ト・リストを生成するプロセスの第1段階を示す流れ図であって、この第1段階
が、制御プログラムのプログラム・レベル、状態、および条件のそれぞれについ
て位置座標の配列を生成する流れ図である。
【図40】 本発明のプログラミング・システム中で図36、37、38のフロー・チャー
ト・リストを生成するプロセスの第1段階を示す流れ図であって、この第1段階
が、制御プログラムのプログラム・レベル、状態、および条件のそれぞれについ
て位置座標の配列を生成する流れ図である。
【図41】 本発明のプログラミング・システム中で図36、37、38のフロー・チャー
ト・リストを生成するプロセスの第1段階を示す流れ図であって、この第1段階
が、制御プログラムのプログラム・レベル、状態、および条件のそれぞれについ
て位置座標の配列を生成する流れ図である。
【図42】 図36、37、38のフロー・チャート・リストを生成するプロセスの第2段
階を示す流れ図であって、第1段階で生成された位置座標の配列を使用してこの
フロー・チャート・リストがレンダリングされる流れ図である。
【図43】 図36、37、38のフロー・チャート・リストを生成するプロセスの第2段
階を示す流れ図であって、第1段階で生成された位置座標の配列を使用してこの
フロー・チャート・リストがレンダリングされる流れ図である。
【図44】 図36、37、38のフロー・チャート・リストを生成するプロセスの第2段
階を示す流れ図であって、第1段階で生成された位置座標の配列を使用してこの
フロー・チャート・リストがレンダリングされる流れ図である。
【図45】 図36、37、38のフロー・チャート・リストを生成するプロセスの第2段
階を示す流れ図であって、第1段階で生成された位置座標の配列を使用してこの
フロー・チャート・リストがレンダリングされる流れ図である。
【図46】 本発明のプログラミング・システムを使用して生成された例示的な相互参照リ
ストのブロック図である。
【図47】 相互参照リストを生成するプロセスを示す流れ図である。
【図48】 相互参照リストを生成するプロセスを示す流れ図である。
【図49】 相互参照リストを生成するプロセスを示す流れ図である。
【図50】 相互参照リストを生成するプロセスを示す流れ図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AE,AL,AM,AT,AU,AZ, BA,BB,BG,BR,BY,CA,CH,CN,C R,CU,CZ,DE,DK,DM,EE,ES,FI ,GB,GD,GE,GH,GM,HR,HU,ID, IL,IN,IS,JP,KE,KG,KP,KR,K Z,LC,LK,LR,LS,LT,LU,LV,MD ,MG,MK,MN,MW,MX,NO,NZ,PL, PT,RO,RU,SD,SE,SG,SI,SK,S L,TJ,TM,TR,TT,UA,UG,US,UZ ,VN,YU,ZA,ZW (72)発明者 フレイザー,ジョセフ アメリカ合衆国・95403・カリフォルニア 州・サンタ ロサ・ケリー レーン・1621 (72)発明者 カスク,ヘイキ エストニア国・イーイー0035・タリン・オ シマエ ティー エム12−6 (72)発明者 ノーベル,ピーター エストニア国・イーイー0035・タリン・ケ スクス・4エイ−79 Fターム(参考) 5B076 DD04 DE01 DE05 DE06 5H220 AA01 AA05 BB12 CC07 CX01 DD01 JJ12 JJ24

Claims (50)

    【特許請求の範囲】
  1. 【請求項1】 制御下にある外部システムのコンポーネントから入力信号を
    受け取るための複数の入力ポートと、外部システムのコンポーネントに出力信号
    を提供するための複数の出力ポートとを有する論理制御装置によって実行するた
    めの制御プログラムを生成する方法において、 入力信号のうちの対応する信号に関連する入力変数と出力信号のうちの対応す
    る信号に関連する出力変数とを含めた変数をユーザが定義および編集できるよう
    にする変数編集ユーザ・インターフェースを提供するステップと、 前記変数を内部ファイルに記憶するステップと、 前記制御プログラムの複数の状態をユーザが定義および編集できるようにする
    状態編集ユーザ・インターフェースを提供するステップであって、前記変数のう
    ちの選択された変数が、前記状態のうちの対応する状態に関連し、論理制御装置
    による前記制御プログラムの実行中に前記制御プログラムが前記選択された対応
    する状態に遷移するとき、前記選択された変数のそれぞれに、対応する選択され
    たデータ値が割り当てられるステップと、 前記状態を前記内部ファイルに記憶するステップと、 前記制御プログラムの前記状態のそれぞれにつき少なくとも1つの条件をユー
    ザが定義および編集できるようにする条件編集ユーザ・インターフェースを提供
    するステップであって、前記条件のそれぞれが、論理制御装置による前記制御プ
    ログラムの実行中に前記条件が満たされたときに前記制御プログラムがソース状
    態としての関連する状態から対応する選択された宛先状態に遷移することを指定
    するステップと、 前記条件を前記内部ファイルに記憶するステップと、 前記内部ファイルに記憶された前記変数と前記状態と前記条件との関連に応じ
    て前記制御プログラムを生成するステップとを含む方法。
  2. 【請求項2】 対応する複数の前記状態をそれぞれが含む複数のプログラム
    ・レベルをユーザが定義および編集できるようにするプログラム・レベル編集ユ
    ーザ・インターフェースを提供するステップをさらに含み、前記プログラム・レ
    ベルのそれぞれが、前記制御プログラムのサブプロセスを定義し、前記プログラ
    ム・レベルのそれぞれが、論理制御装置によって非同期実行するためのものであ
    る、請求項1に記載の制御プログラムを生成する方法。
  3. 【請求項3】 前記プログラム・レベルが、 少なくとも1つのタスク・プログラム・レベルと、 対応する呼出しプログラム・レベルによって呼び出すことができる少なくとも
    1つのサブルーチン・プログラム・レベルとを含み、前記対応する呼出しプログ
    ラム・レベルの前記複数の状態が、それに関連する呼出し条件を有する少なくと
    も1つの状態を含み、前記呼出し条件が、呼出しプログラム・レベルの関連する
    状態から対応するサブルーチン・プログラム・レベルの対応する選択された宛先
    状態への遷移を指定し、 前記対応するサブルーチン・プログラム・レベルの前記複数の状態が、それに
    関連する戻り条件を有する少なくとも1つの状態を含み、前記戻り条件が、前記
    制御プログラムの実行中に戻り条件が満たされたときに前記制御プログラムが前
    記対応する呼出しプログラム・レベルの前記戻り状態に遷移すべきであることを
    指定する、請求項2に記載の制御プログラムを生成する方法。
  4. 【請求項4】 戻り状態が、対応する呼出しプログラム・レベルの呼出し条
    件に関連する戻り状態フィールドによって示される、請求項3に記載の制御プロ
    グラムを生成する方法。
  5. 【請求項5】 前記サブルーチン・プログラム・レベルおよび前記対応する
    呼出しプログラム・レベルのそれぞれが、論理制御装置によって単一スレッドで
    実行される、請求項3に記載の制御プログラムを生成する方法。
  6. 【請求項6】 前記プログラム・レベルのそれぞれが、それに関連する、前
    記プログラム・レベルを一意的に識別する対応するプログラム・レベル値を有す
    るプログラム・レベル値フィールドを有し、 前記プログラム・レベルそれぞれの前記状態それぞれが、それに関連する状態
    アドレス・フィールドを有し、前記状態アドレス・フィールドが、前記対応する
    プログラム・レベルの前記プログラム・レベル値によって定義される対応する状
    態アドレスと、前記状態を一意的に識別する対応する状態値とを有するものであ
    り、 前記条件のそれぞれが、それに関連する条件フィールドを有し、前記条件フィ
    ールドは、 前記条件を示す対応する条件アドレスを有するための条件アドレス・フィール
    ドであって、前記対応するプログラム・レベルの前記プログラム・レベル値、前
    記対応する状態の前記状態値、および前記対応する条件を一意的に識別する対応
    する条件値によって前記条件アドレスが形成される条件アドレス・フィールドと
    、 論理制御装置による前記制御プログラムの実行中に前記条件が真であると決定
    された場合に前記方法が遷移する先である、前記対応する選択された宛先状態の
    前記状態アドレスを有する宛先状態アドレス・フィールドとを含む、請求項2に
    記載の制御プログラムを生成する方法。
  7. 【請求項7】 前記プログラム・レベルのそれぞれが、それに関連するプロ
    グラム・レベル名フィールドを有し、前記プログラム・レベル名フィールドが、
    前記対応するプログラム・レベルを記述するユーザ指定の文字列を受け取るため
    のものであり、 前記プログラム・レベルそれぞれの前記状態それぞれが、それに関連する状態
    名フィールドを有し、前記状態名フィールドが、前記対応する状態を記述するユ
    ーザ指定の文字列を受け取るためのものであり、 前記条件フィールドのそれぞれがさらに、前記対応する条件を記述するユーザ
    指定の文字列を受け取るための条件名フィールドを含む、請求項6に記載の制御
    プログラムを生成する方法。
  8. 【請求項8】 ユーザが前記状態編集ユーザ・インターフェースおよび前記
    条件編集ユーザ・インターフェースをそれぞれ介して前記状態および前記条件を
    定義するのに伴い、前記状態値および前記条件値が前記プログラミング方法によ
    って順次自動的に生成される、請求項6に記載の制御プログラムを生成する方法
  9. 【請求項9】 前記変数がさらに、 前記制御プログラムの実行時に前記論理制御装置によって関連するプログラム
    変数データ・フィールドがそれに割り振られる少なくとも1つのプログラム変数
    と、 前記制御プログラムの実行時に前記論理制御装置によって関連するディジタル
    変数データ・フィールドがそれに割り振られる少なくとも1つのディジタル変数
    とを含む記憶場所変数を含む、請求項1に記載の制御プログラムを生成する方法
  10. 【請求項10】 前記入力変数が、 前記外部システムの前記コンポーネントのうちの対応するコンポーネントから
    受け取った対応するアナログ入力信号に関連するアナログ入力変数と、 前記外部システムの前記コンポーネントのうちの対応するコンポーネントから
    受け取った対応するディジタル入力信号に関連するディジタル入力変数とを含む
    、請求項1に記載の制御プログラムを生成する方法。
  11. 【請求項11】 前記出力変数が、 前記外部システムの前記コンポーネントのうちの対応するコンポーネントに提
    供される対応するアナログ出力信号に関連するアナログ出力変数と、 前記外部システムの前記コンポーネントのうちの対応するコンポーネントに提
    供される対応するディジタル出力信号に関連するディジタル出力変数とを含む、
    請求項1に記載の制御プログラムを生成する方法。
  12. 【請求項12】 前記条件が、前記関連するソース状態から前記対応する宛
    先状態への前記遷移が起こるかどうかを判定するための条件ステートメントを含
    み、前記条件ステートメントが、関連する条件が満たされるには前記状態のうち
    の1つである選択されたチェック状態がアクティブでなければならないことを指
    定する状態チェック条件ステートメントを含み、前記選択されたチェック状態お
    よび前記ソース状態が、前記プログラム・レベルのうちの異なるプログラム・レ
    ベルに関連する、請求項2に記載の制御プログラムを生成する方法。
  13. 【請求項13】 前記プログラム・レベルのうちの選択された被制限レベル
    は、対応する選択された制限状態がアクティブであるときに論理制御装置による
    実行を制限され、前記制限状態のそれぞれが、前記対応する被制限プログラム・
    レベル以外のプログラム・レベルに関連する、請求項2に記載の制御プログラム
    を生成する方法。
  14. 【請求項14】 制御下にある外部システムのコンポーネントから入力信号
    を受け取るための複数の入力ポートと、外部システムのコンポーネントに出力信
    号を提供するための複数の出力ポートとを有する論理制御装置によって実行する
    制御プログラムを生成する方法を実行するコード化命令を記憶した機械可読記憶
    装置であって、前記方法が、 入力信号のうちの対応する信号に関連する入力変数と出力信号のうちの対応す
    る信号に関連する出力変数とを含めた変数をユーザが定義および編集できるよう
    にする変数編集ユーザ・インターフェースを提供するステップと、 前記変数を内部ファイルに記憶するステップと、 前記制御プログラムの複数の状態をユーザが定義および編集できるようにする
    状態編集ユーザ・インターフェースを提供するステップであって、前記変数のう
    ちの選択された変数が、前記状態のうちの対応する状態に関連し、論理制御装置
    による前記制御プログラムの実行中に前記制御プログラムが前記選択された対応
    する状態に遷移するとき、前記選択された変数のそれぞれに、対応する選択され
    たデータ値が割り当てられるステップと、 前記状態を前記内部ファイルに記憶するステップと、 前記制御プログラムの前記状態のそれぞれにつき少なくとも1つの条件をユー
    ザが定義および編集できるようにする条件編集ユーザ・インターフェースを提供
    するステップであって、前記条件のそれぞれが、論理制御装置による前記制御プ
    ログラムの実行中に前記条件が満たされたときに前記制御プログラムがソース状
    態としての関連する状態から対応する選択された宛先状態に遷移することを指定
    するステップと、 前記条件を前記内部ファイルに記憶するステップと、 前記内部ファイルに記憶された前記変数と前記状態と前記条件との関連に応じ
    て前記制御プログラムを生成するステップとを含む機械可読記憶装置。
  15. 【請求項15】 前記方法がさらに、対応する複数の前記状態をそれぞれが
    含む複数のプログラム・レベルをユーザが定義および編集できるようにするプロ
    グラム・レベル編集ユーザ・インターフェースを提供するステップを含み、前記
    プログラム・レベルのそれぞれが、前記制御プログラムのサブプロセスを定義し
    、前記プログラム・レベルのそれぞれが、論理制御装置によって非同期実行する
    ためのものである、請求項14に記載の制御プログラムを生成する方法を実行す
    るためのコード化命令を記憶した機械可読記憶装置。
  16. 【請求項16】 前記プログラム・レベルが、 少なくとも1つのタスク・プログラム・レベルと、 対応する呼出しプログラム・レベルによって呼び出すことができる少なくとも
    1つのサブルーチン・プログラム・レベルとを含み、前記対応する呼出しプログ
    ラム・レベルの前記複数の状態が、それに関連する呼出し条件を有する少なくと
    も1つの状態を含み、前記呼出し条件が、呼出しプログラム・レベルの関連する
    状態から対応するサブルーチン・プログラム・レベルの対応する選択された宛先
    状態への遷移を指定し、 前記対応するサブルーチン・プログラム・レベルの前記複数の状態が、それに
    関連する戻り条件を有する少なくとも1つの状態を含み、前記戻り条件が、前記
    制御プログラムの実行中に戻り条件が満たされたときに前記制御プログラムが前
    記対応する呼出しプログラム・レベルの前記戻り状態に遷移すべきであることを
    指定する、請求項15に記載の制御プログラムを生成する方法を実行するための
    コード化命令を記憶した機械可読記憶装置。
  17. 【請求項17】 戻り状態が、対応する呼出しプログラム・レベルの呼出し
    条件に関連する戻り状態フィールドによって示される、請求項16に記載の制御
    プログラムを生成する方法を実行するためのコード化命令を記憶した機械可読記
    憶装置。
  18. 【請求項18】 前記サブルーチン・プログラム・レベルおよび前記対応す
    る呼出しプログラム・レベルがそれぞれ、論理制御装置によって単一スレッドで
    実行される、請求項16に記載の制御プログラムを生成する方法を実行するため
    のコード化命令を記憶した機械可読記憶装置。
  19. 【請求項19】 前記プログラム・レベルのそれぞれが、それに関連するプ
    ログラム・レベル値フィールドを有し、前記プログラム・レベル値フィールドが
    、前記プログラム・レベルを一意的に識別する対応するプログラム・レベル値を
    有するためのものであり、 前記プログラム・レベルそれぞれの前記状態それぞれが、それに関連する状態
    アドレス・フィールドを有し、前記状態アドレス・フィールドが、前記対応する
    プログラム・レベルの前記プログラム・レベル値によって定義される対応する状
    態アドレスと、前記状態を一意的に識別する対応する状態値とを有するためのも
    のであり、 前記条件のそれぞれが、それに関連する条件フィールドを有し、前記条件フィ
    ールドは、 前記条件を示す対応する条件アドレスを有するための条件アドレス・フィール
    ドであって、前記条件アドレスが前記対応するプログラム・レベルの前記プログ
    ラム・レベル値、前記対応する状態の前記状態値、および前記対応する条件を一
    意的に識別する対応する条件値によって形成される条件アドレス・フィールドと
    、 論理制御装置による前記制御プログラムの実行中に前記条件が真であると決定
    された場合に前記方法が遷移する先である、前記対応する選択された宛先状態の
    前記状態アドレスを有する宛先状態アドレス・フィールドとを含む、請求項15
    に記載の制御プログラムを生成する方法を実行するためのコード化命令を記憶し
    た機械可読記憶装置。
  20. 【請求項20】 前記プログラム・レベルのそれぞれが、それに関連するプ
    ログラム・レベル名フィールドを有し、前記プログラム・レベル名フィールドが
    、前記対応するプログラム・レベルを記述するユーザ指定の文字列を受け取るた
    めのものであり、 前記プログラム・レベルそれぞれの前記状態それぞれが、それに関連する状態
    名フィールドを有し、前記状態名フィールドが、前記対応する状態を記述するユ
    ーザ指定の文字列を受け取るためのものであり、 前記条件フィールドがさらに、前記対応する条件を記述するユーザ指定の文字
    列を受け取るための条件名フィールドを含む、請求項15に記載の制御プログラ
    ムを生成する方法を実行するためのコード化命令を記憶した機械可読記憶装置。
  21. 【請求項21】 ユーザが前記状態編集ユーザ・インターフェースおよび前
    記条件編集ユーザ・インターフェースをそれぞれ介して前記状態および前記条件
    を定義するのに伴い、前記状態値および前記条件値が前記プログラミング方法に
    よって順次自動的に生成される、請求項15に記載の制御プログラムを生成する
    方法を実行するためのコード化命令を記憶した機械可読記憶装置。
  22. 【請求項22】 前記変数がさらに、 前記制御プログラムの実行時に前記論理制御装置によって関連するプログラム
    変数データ・フィールドがそれに割り振られる少なくとも1つのプログラム変数
    と、 前記制御プログラムの実行時に前記論理制御装置によって関連するディジタル
    変数データ・フィールドがそれに割り振られる少なくとも1つのディジタル変数
    とを含む記憶場所変数を含む、請求項14に記載の制御プログラムを生成する方
    法を実行するためのコード化命令を記憶した機械可読記憶装置。
  23. 【請求項23】 前記入力変数が、 前記外部システムの前記コンポーネントのうちの対応するコンポーネントから
    受け取った対応するアナログ入力信号に関連するアナログ入力変数と、 前記外部システムの前記コンポーネントのうちの対応するコンポーネントから
    受け取った対応するディジタル入力信号に関連するディジタル変数とを含む、請
    求項14に記載の制御プログラムを生成する方法を実行するためのコード化命令
    を記憶した機械可読記憶装置。
  24. 【請求項24】 前記出力変数が、 前記外部システムの前記コンポーネントのうちの対応するコンポーネントに提
    供される対応するアナログ出力信号に関連するアナログ出力変数と、 前記外部システムの前記コンポーネントのうちの対応するコンポーネントに提
    供される対応するディジタル出力信号に関連するディジタル出力変数とを含む、
    請求項14に記載の制御プログラムを生成する方法を実行するためのコード化命
    令を記憶した機械可読記憶装置。
  25. 【請求項25】 前記条件が、前記関連するソース状態から前記対応する宛
    先状態への前記遷移が起こるかどうかを決定するための条件ステートメントを含
    み、前記条件ステートメントが、関連する条件が満たされるには前記状態のうち
    の1つである選択されたチェック状態がアクティブでなければならないことを指
    定する状態チェック条件ステートメントを含み、前記選択されたチェック状態お
    よび前記ソース状態が、前記プログラム・レベルのうちの異なるプログラム・レ
    ベルに関連する、請求項15に記載の制御プログラムを生成する方法を実行する
    ためのコード化命令を記憶した機械可読記憶装置。
  26. 【請求項26】 前記プログラム・レベルのうちの選択された被制限レベル
    が、対応する選択された制限状態がアクティブであるときに論理制御装置による
    実行を制限され、前記制限状態のそれぞれが、前記対応する被制限プログラム・
    レベル以外のプログラム・レベルに関連する、請求項15に記載の制御プログラ
    ムを生成する方法を実行するためのコード化命令を記憶した機械可読記憶装置。
  27. 【請求項27】 制御下にある外部システムのコンポーネントから入力信号
    を受け取るための複数の入力ポートと、外部システムのコンポーネントに出力信
    号を提供するための複数の出力ポートとを有する論理制御装置によって実行する
    制御プログラムを表すフロー・チャートを生成する方法において、前記制御プロ
    グラムが、状態と条件の関連によって定義され、前記条件のそれぞれが、論理制
    御装置による制御プログラムの実行中に条件が満たされたときに、状態のうちの
    ソース状態としての関連する状態から対応する選択された宛先状態に遷移するこ
    とを指定する方法であって、 制御プログラムの第1の複数の状態のうちの対応する状態をそれぞれが表し、
    かつ関連する第1の状態アンカー・ポイントを含む第1の状態インディケータ・
    グループをチャート上にレンダリングするステップと、 制御プログラムの第1の複数の条件のうちの対応する条件をそれぞれが示し、
    かつ関連する第1の条件アンカー・ポイントを含む第1の条件インディケータ・
    グループを前記チャート上にレンダリングするステップであって、前記第1の複
    数の条件が、前記第1の複数の状態のうちの対応する状態に関連しているステッ
    プと、 制御プログラムの第2の複数の状態のうちの対応する状態をそれぞれが示し、
    かつ、関連する第2の状態アンカー・ポイントを含む第2の状態インディケータ
    ・グループを前記チャート上にレンダリングするステップと、 制御プログラムの第2の複数の条件のうちの対応する条件をそれぞれが示し、
    かつ関連する第2の条件アンカー・ポイントを含む第2の条件インディケータ・
    グループを前記チャート上にレンダリングするステップであって、前記第2の複
    数の条件が、前記第1の複数の状態のうちの対応する状態に関連しているステッ
    プと、 前記条件インディケータのそれぞれに対して、前記条件インディケータによっ
    て示される条件によって指定される宛先状態を示す対応する遷移インディケータ
    を前記チャート上にレンダリングするステップと を含む方法。
  28. 【請求項28】 前記第1の状態インディケータ・グループが、前記チャー
    トの第1の列中にレンダリングされる第1の複数の状態識別標識を含み、 前記第2の状態インディケータ・グループが、前記チャートの第2の列中にレ
    ンダリングされる第2の複数の状態識別標識を含む、請求項27に記載のフロー
    ・チャートを生成する方法。
  29. 【請求項29】 前記第1の条件インディケータ・グループが、前記チャー
    トの前記第1の列中で前記第1の複数の状態識別標識のうちの対応する識別標識
    のすぐ近くにそれぞれレンダリングされる第1の複数の条件識別標識を含み、 前記第2の条件インディケータ・グループが、前記チャートの前記第2の列中
    で前記第2の複数の状態識別標識のうちの対応する識別標識のすぐ近くにそれぞ
    れレンダリングされる第2の複数の条件識別標識を含む、請求項28に記載のフ
    ロー・チャートを生成する方法。
  30. 【請求項30】 前記状態識別標識のそれぞれが、状態のうちの対応する状
    態に関連するユーザ指定の状態名を含む、請求項28に記載のフロー・チャート
    を生成する方法。
  31. 【請求項31】 前記状態識別標識のそれぞれが、状態のうちの対応する状
    態に関連する状態アドレスを含む、請求項28に記載のフロー・チャートを生成
    する方法。
  32. 【請求項32】 前記条件識別標識のそれぞれが、条件のうちの対応する条
    件に関連するユーザ指定の条件名を含む、請求項29に記載のフロー・チャート
    を生成する方法。
  33. 【請求項33】 前記条件識別標識のそれぞれが、条件のうちの対応する条
    件に関連する条件アドレスを含む、請求項29に記載のフロー・チャートを生成
    する方法。
  34. 【請求項34】 前記条件のそれぞれにつき、対応する宛先状態を表す前記
    状態識別標識と、対応するソース状態を表す前記状態識別標識とが前記チャート
    の同じページ上にレンダリングされるかどうかを判定するステップをさらに含む
    、請求項27に記載のフロー・チャートを生成する方法。
  35. 【請求項35】 対応する宛先状態を表す前記状態識別標識と、対応するソ
    ース状態を表す前記状態識別標識とが前記チャートの同じページ上にレンダリン
    グされる場合、前記条件に対応する前記遷移インディケータが、前記条件インデ
    ィケータの前記条件アンカー・ポイントから、宛先状態を表す前記状態インディ
    ケータの前記状態アンカー・ポイントに延びる線によって形成される、請求項3
    4に記載のフロー・チャートを生成する方法。
  36. 【請求項36】 前記条件のそれぞれにつき、対応する宛先状態を表す前記
    状態識別標識と、対応するソース状態を表す前記状態識別標識とが前記第1およ
    び第2の列のうちの同じ列中にレンダリングされるかどうかを判定するステップ
    をさらに含む、請求項32に記載のフロー・チャートを生成する方法。
  37. 【請求項37】 対応する宛先状態を表す前記状態識別標識と、対応するソ
    ース状態を表す前記状態識別標識とが前記第1および第2の列のうちの同じ列中
    にレンダリングされる場合、前記条件に対応する前記遷移インディケータが、 前記条件インディケータの前記条件アンカー・ポイントから、前記条件アンカ
    ー・ポイントからの対応する変位距離にある対応する第1の末端ポイントにほぼ
    水平に延びる第1の線と、 前記対応する第1の末端ポイントから、対応する第2の末端ポイントにほぼ垂
    直に延びる第2の線と、 前記対応する第2の末端ポイントから、宛先状態を示す状態インディケータの
    状態アンカー・ポイントにほぼ水平に延びる第3の線とによって形成される、請
    求項32に記載のフロー・チャートを生成する方法。
  38. 【請求項38】 前記条件のうちの連続した条件に対する前記遷移インディ
    ケータを形成する前記第2の線が重ならないように、前記条件のうちの前記連続
    した条件に対応する前記変位距離が順次増加される、請求項37に記載のフロー
    ・チャートを生成する方法。
  39. 【請求項39】 制御下にある外部システムのコンポーネントから入力信号
    を受け取るための複数の入力ポートと、外部システムのコンポーネントに出力信
    号を提供するための複数の出力ポートとを有する論理制御装置によって実行する
    制御プログラムを表すフロー・チャートを生成する方法において、制御プログラ
    ムが、プログラム・レベルと状態と条件との関連によって定義され、前記条件の
    それぞれが、論理制御装置による制御プログラムの実行中に条件が満たされたと
    きに状態のうちのソース状態としての関連する状態から対応する選択された宛先
    状態に遷移することを指定し、前記プログラム・レベルのそれぞれが、制御プロ
    グラムのサブプロセスを定義し、前記プログラム・レベルが、少なくとも1つの
    タスク・プログラム・レベルと、プログラム・レベルのうちの対応する呼出しプ
    ログラム・レベルによって呼び出すことができる少なくとも1つのサブルーチン
    ・プログラム・レベルとを含み、前記対応する呼出しプログラム・レベルの前記
    複数の状態が、それに関連する呼出し条件を有する少なくとも1つの状態を含み
    、前記呼出し条件が、呼出しプログラム・レベルの関連する状態から対応するサ
    ブルーチン・プログラム・レベルの対応する選択された宛先状態への遷移を指定
    し、前記対応するサブルーチン・プログラム・レベルの前記複数の状態が、それ
    に関連する戻り条件を有する少なくとも1つの状態を含み、前記戻り条件が、前
    記制御プログラムの実行中に戻り条件が満たされたときに前記制御プログラムが
    前記対応する呼出しプログラム・レベルの前記戻り状態に遷移すべきであること
    を指定する方法であって、 制御プログラムの第1の複数の状態のうちの対応する状態をそれぞれが表し、
    かつ、関連する第1の状態アンカー・ポイントを含む第1の状態インディケータ
    ・グループをチャート上にレンダリングするステップと、 制御プログラムの第1の複数の条件のうちの対応する条件をそれぞれが示し、
    関連する第1の条件アンカー・ポイントを含む第1の条件インディケータ・グル
    ープを前記チャート上にレンダリングするステップであって、前記第1の複数の
    条件が、前記第1の複数の状態のうちの対応する状態に関連しているステップと
    、 制御プログラムの第2の複数の状態のうちの対応する状態をそれぞれが示し、
    かつ、関連する第2の状態アンカー・ポイントを含む第2の状態インディケータ
    ・グループを前記チャート上にレンダリングするステップと、 制御プログラムの第2の複数の条件のうちの対応する条件をそれぞれが示し、
    関連する第2の条件アンカー・ポイントを含む第2の条件インディケータ・グル
    ープを前記チャート上にレンダリングするステップであって、前記第2の複数の
    条件が、前記第1の複数の状態のうちの対応する状態に関連しているステップと
    、 前記条件のそれぞれにつき、前記条件によって指定される遷移情報を示す対応
    する遷移インディケータを前記チャート上にレンダリングするステップと を含む方法。
  40. 【請求項40】 前記第1の状態インディケータ・グループが、前記チャー
    トの第1の列中にレンダリングされる第1の複数の状態識別標識を含み、 前記第2の状態インディケータ・グループが、前記チャートの第2の列中に第
    2の複数の状態識別標識を含み、 前記第1の条件インディケータ・グループが、前記チャートの前記第1の列中
    で前記第1の複数の状態識別標識のうちの対応する識別標識のすぐ近くにそれぞ
    れレンダリングされる第1の複数の条件識別標識を含み、 前記第2の条件インディケータ・グループが、前記チャートの前記第2の列中
    の前記第2の複数の状態識別標識のうちの対応する識別標識のすぐ近くにそれぞ
    れレンダリングされる第2の複数の条件識別標識を含む、請求項39に記載のフ
    ロー・チャートを生成する方法。
  41. 【請求項41】 前記条件のそれぞれにつき、条件によって指定される宛先
    状態とソース状態とが前記プログラム・レベルのうちの同じプログラム・レベル
    内に含まれるかどうかを判定するステップをさらに含む、請求項40に記載のフ
    ロー・チャートを生成する方法。
  42. 【請求項42】 前記条件のそれぞれにつき、対応する宛先状態を表す前記
    状態識別標識と、対応するソース状態を表す前記状態識別標識とが、前記第1お
    よび第2の列のうちの同じ列中にレンダリングされるかどうかを判定するステッ
    プをさらに含む、請求項40に記載のフロー・チャートを生成する方法。
  43. 【請求項43】 条件によって指定される宛先状態とソース状態とが前記プ
    ログラム・レベルのうちの同じプログラム・レベル内に含まれ、かつ、対応する
    宛先状態を表す前記状態識別標識と、対応するソース状態を表す前記状態識別標
    識とが前記第1および第2の列のうちの同じ列中にレンダリングされる場合、前
    記条件に対応する前記遷移インディケータが、前記条件インディケータの前記条
    件アンカー・ポイントから、宛先状態を示す前記状態インディケータの前記状態
    アンカー・ポイントに延びる線によって形成される、請求項39に記載のフロー
    ・チャートを生成する方法。
  44. 【請求項44】 各呼出し条件につき、前記対応する遷移インディケータに
    よって示される前記遷移情報が、呼出し条件によって指定される戻り状態を含む
    、請求項39に記載のフロー・チャートを生成する方法。
  45. 【請求項45】 各呼出し条件につき、前記対応する遷移インディケータに
    よって示される前記遷移情報が、呼出し条件によって指定される宛先状態を含む
    、請求項40に記載のフロー・チャートを生成する方法。
  46. 【請求項46】 呼出し条件に対応する前記遷移インディケータのそれぞれ
    が、 対応する宛先状態の状態アドレスと、 対応する戻り状態の状態アドレスとを含む、請求項45に記載のフロー・チャ
    ートを生成する方法。
  47. 【請求項47】 制御下にある外部システムのコンポーネントから入力信号
    を受け取るための複数の入力ポートと、外部システムのコンポーネントに出力信
    号を提供するための複数の出力ポートとを有する論理制御装置によって実行する
    制御プログラムを表すプログラム・リストを生成する方法であって、制御プログ
    ラムが、対応するプログラム・レベル値を有するプログラム・レベル、対応する
    状態値を有する状態、対応する条件値を有する条件、および対応する変数値を有
    する変数に応じて定義され、前記レベルのそれぞれが、前記制御プログラムのサ
    ブプロセスを定義し、対応する複数の前記状態を含み、前記変数のうちの選択さ
    れた変数が、前記状態のうちの対応する状態に関連し、前記条件のそれぞれが、
    前記条件が満たされたときに前記制御プログラムがソース状態としての関連する
    状態から対応する選択された宛先状態に遷移することを指定し、前記方法は、 前記プログラム・レベルのうちの現在プログラム・レベルの前記プログラム・
    レベル値の識別標識をプリントするステップと、 前記現在プログラム・レベル値の前記識別標識のすぐ近くに、前記現在プログ
    ラム・レベルの前記状態のうちの現在状態の前記状態値の識別標識をプリントす
    るステップとを含む方法。
  48. 【請求項48】 前記現在状態値の前記識別標識のすぐ近くに、前記現在状
    態の前記条件のうちの現在条件の前記条件値の識別標識をプリントするステップ
    をさらに含む、請求項47に記載の制御プログラムを表すプログラム・リストを
    生成する方法。
  49. 【請求項49】 前記現在条件値の前記識別標識のすぐ近くに、前記現在条
    件に関連する前記宛先状態の前記状態値の識別標識をプリントするステップをさ
    らに含む、請求項48に記載の制御プログラムを表すプログラム・リストを生成
    する方法。
  50. 【請求項50】 前記プログラム・レベルが、少なくとも1つのタスク・プ
    ログラム・レベルと、対応する呼出しプログラム・レベルによって呼び出すこと
    ができる少なくとも1つのサブルーチン・プログラム・レベルとを含み、前記対
    応する呼出しプログラム・レベルの前記複数の状態が、それに関連する呼出し条
    件を有する少なくとも1つの状態を含み、前記呼出し条件が、呼出しプログラム
    ・レベルの関連する状態から対応するサブルーチン・プログラム・レベルの対応
    する選択された宛先状態への遷移を指定し、前記対応するサブルーチン・プログ
    ラム・レベルの前記複数の状態が、それに関連する戻り条件を有する少なくとも
    1つの状態を含み、前記戻り条件が、前記制御プログラムの実行中に戻り条件が
    満たされたときに前記制御プログラムが前記対応する呼出しプログラム・レベル
    の前記戻り状態に遷移すべきであることを指定し、前記方法はさらに、 前記現在条件値の前記識別標識のすぐ近くに、前記現在条件が呼出し条件かど
    うかの識別標識をプリントするステップを含む、請求項49に記載の制御プログ
    ラムを表すプログラム・リストを生成する方法。
JP2000576325A 1998-10-13 1999-10-13 制御プログラムを生成するためのシステムおよび方法 Pending JP2002527803A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US09/172,473 US6167319A (en) 1998-10-13 1998-10-13 Process for generating program listings for programming a logic control unit
US09/172,473 1998-11-10
US09/189,027 US6505341B1 (en) 1998-11-10 1998-11-10 System and method for programming a logic control unit
US09/189,027 1998-11-10
PCT/US1999/024073 WO2000022486A1 (en) 1998-10-13 1999-10-13 System and method for generating a control program

Publications (1)

Publication Number Publication Date
JP2002527803A true JP2002527803A (ja) 2002-08-27

Family

ID=26868126

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000576325A Pending JP2002527803A (ja) 1998-10-13 1999-10-13 制御プログラムを生成するためのシステムおよび方法

Country Status (5)

Country Link
EP (1) EP1135715A4 (ja)
JP (1) JP2002527803A (ja)
AU (1) AU1115400A (ja)
CA (1) CA2347491A1 (ja)
WO (1) WO2000022486A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210133111A (ko) * 2020-04-27 2021-11-05 주식회사 유디엠텍 Plc 프로그램 정보의 정적 데이터를 이용한 플로우차트 생성방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6640163B1 (en) * 2002-09-30 2003-10-28 Husco International, Inc. Operating system for a programmable controller of a hydraulic system
JP4752983B1 (ja) * 2011-03-15 2011-08-17 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4445169A (en) * 1980-06-13 1984-04-24 The Tokyo Electric Co., Inc. Sequence display apparatus and method
FR2549983B1 (fr) * 1983-07-25 1988-03-18 Telemecanique Electrique Terminal pour l'elaboration de programmes utilisables par un automate programmable
US5168441A (en) * 1990-05-30 1992-12-01 Allen-Bradley Company, Inc. Methods for set up and programming of machine and process controllers
JP3142595B2 (ja) * 1991-03-30 2001-03-07 マツダ株式会社 生産設備の制御システム設計支援及び故障診断方法
EP0553731B1 (en) * 1992-01-23 1999-04-14 Mitsubishi Denki Kabushiki Kaisha Programmable controller
KR940020218A (ko) * 1993-02-26 1994-09-15 가또 도요 프로그래머블콘트롤러의 프로그래밍장치
JPH0938876A (ja) * 1995-08-01 1997-02-10 Ricoh Co Ltd シミュレーション装置
JP3679844B2 (ja) * 1995-11-09 2005-08-03 ファナック株式会社 シーケンス・プログラムの実行装置
US5818711A (en) * 1996-09-30 1998-10-06 Allen Bradley Company, Llc Method for visually determining the status of program edits in an on-line programming environment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210133111A (ko) * 2020-04-27 2021-11-05 주식회사 유디엠텍 Plc 프로그램 정보의 정적 데이터를 이용한 플로우차트 생성방법
KR102414933B1 (ko) * 2020-04-27 2022-07-04 주식회사 유디엠텍 Plc 프로그램 정보를 이용한 플로우차트 생성방법

Also Published As

Publication number Publication date
EP1135715A4 (en) 2002-01-16
CA2347491A1 (en) 2000-04-20
AU1115400A (en) 2000-05-01
WO2000022486A1 (en) 2000-04-20
EP1135715A1 (en) 2001-09-26

Similar Documents

Publication Publication Date Title
US6505341B1 (en) System and method for programming a logic control unit
US6167319A (en) Process for generating program listings for programming a logic control unit
US5437008A (en) Method of establishing constraints and links in a distribution frame between graphical elements and resolving the constaints
US7877245B1 (en) Graphical functions
JP4934482B2 (ja) プロセス制御のための環境の構成を補助するためのシステム
US6141792A (en) Object oriented framework for specifying the format of compiler output with a template facility
JPH09218771A (ja) 文脈識別システム
JPH04330520A (ja) ワークステーション内にソフトウェア・ファイルを設置する方法及び装置
JPH06103463B2 (ja) コード生成方法
US5715460A (en) Template based facility for formatting compiler output
US6163879A (en) Interface and method for facilitating writing and modifying of lines of programming code
US5517635A (en) System for designing an application program to be independent of I/O devices by utilizing application name, system name, and predetermined hardware specific parameters of data objects
Berti et al. The TERESA XML language for the description of interactive systems at multiple abstraction levels
JP2002527803A (ja) 制御プログラムを生成するためのシステムおよび方法
CN111142466A (zh) 工程装置、工程装置的控制方法和存储介质
KR20030027790A (ko) 범용 소프트웨어 개발 지원 시스템
EP1215572A2 (en) Windows resource file parameterization system and method
JP2007122187A (ja) プログラム・コード生成装置
EP0692112B1 (en) Dynamic browser system
JP2010282286A (ja) 開発支援装置,プログラム
CN113687832B (zh) 机器人程序的存储及编译方法
Albert ILog Rules, embedding rules in C++: Results and limits
Moore et al. An overview and evaluation of decision tree methodology
KR970010024B1 (ko) 기능 블럭도를 이용한 연속 공정 제어 알고리즘 생성 방법 및 장치
Feichtinger Dependency Browser for Program Comprehension and Change Impact Analysis of PLC Programs/submitted by Peter Feichtinger