(57)【要約】      （修正有）【課題】デシジョンテーブルによる操作性との共通化を図り、プログラミングの生産性向上と再利用を可能としたシーケンス制御装置を提供する。【解決手段】プログラム作成装置１と、制御装置２とから成るシーケンス制御装置であって、プログラム作成装置は、ＩＥＣ規格言語を使用して制御プログラムを編集するエディタ部とその表示・操作部とで構成される制御プログラム編集部１ａと、ソースメモリと、第１のオブジェックトメモリとから成る記憶部１ｂとを備え、ソースメモリには、予め、ＬＤ、ＦＢＤ及びＳＴから成るＩＥＣ規格言語ライブラリーを記憶し、エディタ部には、ＩＥＣ規格言語ライブラリーを参照してデシジョンテーブルとデシジョンテーブル実行エンジンとを生成するデシジョンテーブルエディタを備えたシーケンス制御装置。【選択図】図１
2011039612.tif 000002
【特許請求の範囲】
【請求項１】
制御プログラムを作成するプログラム作成装置と、当該制御プログラムをダウンロードし、ダウンロードした前記制御プログラムを使用して制御対象を制御する制御装置とを備えるシーケンス制御装置であって、
前記制御プログラムは、複数のステップから構成されるシーケンス回路をＩＥＣ規格言語と変数とで表記したデシジョンテーブルと、当該制御プログラムのメインルーチンをＩＥＣ規格のＬＤ及びＦＢＤで表記したメイン処理プログラムとを備え、
前記プログラム作成装置は、ＩＥＣ規格言語を使用して前記制御プログラムを編集するエディタ部とその表示・操作部とで構成される制御プログラム編集部と、前記制御プログラムのソースプログラムを記憶するソースメモリと、前記制御プログラム編集部で編集された前記制御プログラムのオブジェックトプログラムを記憶する第１のオブジェックトメモリとから成る記憶部とを備え、
前記制御装置は、前記記憶部に記憶された前記制御プログラムをダウンロードする制御プログラムロードサーバ部と、当該ダウンロードされた制御プログラムを記憶する第２のオブジェックトメモリと、当該第２のオブジェックトメモリに記憶された制御プログラムを実行する演算処理部と、前記制御対象との間の入出力信号の処理を前記演算処理部の指令に基づき実行するプロセス入出力処理部とを備え、
前記ソースメモリには、予め、ＬＤ、ＦＢＤ及びＳＴから成るＩＥＣ規格言語ライブラリーを記憶し、
前記エディタ部は、前記ＩＥＣ規格言語ライブラリーを参照して前記制御プログラムのメイン処理プログラムを生成し、前記ソースメモリに記憶させるメイン処理エディタと、前記ＩＥＣ規格言語ライブラリーを参照して前記デシジョンテーブルとデシジョンテーブル実行エンジンとを生成し前記ソースメモリに記憶させるデシジョンテーブルエディタと、前記制御プログラムの全変数を変数テーブルとして生成するとともに、前記ソースメモリに記憶した前記制御プログラムをコンパイルするコンパイラとを備え、
前記第１のオブジェックトメモリには、前記コンパイラでコンパイルされた、前記メイン処理プログラム、デシジョンテーブル実行エンジン、デシジョンテーブル、及び変数テーブルを記憶し、
前記デシジョンテーブルは、複数のステップから構成され、各ステップに対応する処理は、入力信号条件欄、入力遷移条件指定欄、操作出力指定欄、操作出力信号欄、及び次ステップ指定欄に、当該処理が前記各欄にシーケンシャルに応付けして表記され、
各欄は、前記プロセス入出力処理部から転送される制御対象の状態を示す入力信号に対する処理をＩＥＣ規格言語と変数とで表記し、さらに、その出力を第１のビット配列として表記した前記入力信号条件欄と、前記第１のビット配列の各ビットに対応付けて、次のシーケンスの遷移条件となる条件を第２のビット配列として表記し、前記第１のビット配列と前記第２のビット配列との前ビットの比較結果を一致または不一致の判定を指示する前記入力遷移条件指定欄と、前記比較結果が一致している場合、その応答として前記プロセス入出力処理部から前記制御対象に出力する操作出力を第３のビット配列として表記した前記操作出力指定欄と、前記第３のビット配列で指定された指定欄に対応する前記操作出力をＩＥＣ規格言語及び変数とで表記した前記操作出力信号欄と、前記入力遷移条件指定欄の出力が不一致の場合の次ステップ番号及び前記操作出力信号欄の出力から対応する次ステップ番号を表記した次ステップ指定欄とから構成され、
前記インタープリター実行エンジンは、前記プロセス入出力処理部から出力された入力信号の状態を前記入力信号条件欄の変数として取り込み、表記された処理を実行して、その結果を前記第１のビット配列値として出力し、
前記第１のビット配列値と予め指定される前記入力遷移条件指定欄の対応する前記第２のビット配列値とを比較判定し、
対応する全てのビット配列が一致している場合には、対応する前記操作出力指定欄の前記第３のビット配列値の有無を指定し、さらに、指定された前記第３のビット配列値の有無に対応する前記操作出力信号欄に表記された変数で指定された処理を実行して、当該操作出力信号欄の出力に対応する次ステップ指定欄に表記される次ステップ番号のステップに遷移させ、
そうでない場合には、予め指定されるアラーム判定の結果に基づき次ステップ指定欄に表記されるステップ番号のステップに遷移させるようにし
前記制御プログラムロードサーバは、前記第１のオブジェクトメモリに記憶した内容を前記第２のオブジェクトメモリにダウンロードして、デシジョンテーブルをステップ毎にインタープリターで実行するようにしたことを特徴とするシーケンス制御装置。
【請求項２】
前記デシジョンテーブルは、前記制御プログラムのサブルーチンとして構成し、前記デシジョンテーブルが前記制御プログラムのメインルーチンからコールされるようにした請求項１に記載のシーケンス制御装置。
【請求項３】
前記デシジョンテーブルの前記入力信号条件欄及び前記操作出力信号条欄は、ＩＥＣ規格言語のＳＴ言語とグローバル変数とで表記するようにした請求項１に記載のシーケンス制御装置。
【請求項４】
前記演算処理部は、前記変数テーブルを参照し、実行中の前記デシジョンテーブルのステップを、他のステップと識別して表示するようにした請求項１に記載のシーケンス制御装置。
【請求項５】
デシジョンテーブルを有する制御プログラムを作成するプログラム作成装置であって、
前記制御プログラムは、複数のステップから構成されるシーケンス回路をＩＥＣ規格言語と変数とで表記したデシジョンテーブルと、当該制御プログラムのメインルーチンをＩＥＣ規格のＬＤ及びＦＢＤで表記したメイン処理プログラムとを備え、
前記プログラム作成装置は、ＩＥＣ規格言語を使用して前記制御プログラムを編集するエディタ部とその表示・操作部とで構成される制御プログラム編集部と、前記制御プログラムのソースプログラムを記憶するソースメモリと、前記制御プログラム編集部で編集された前記制御プログラムのオブジェックトプログラムを記憶する第１のオブジェックトメモリとから成る記憶部とを備え、
前記ソースメモリには、予め、ＬＤ、ＦＢＤ及びＳＴから成るＩＥＣ規格言語ライブラリーを記憶し、
前記エディタ部は、前記ＩＥＣ規格言語ライブラリーを参照して前記制御プログラムのメイン処理プログラムを生成し、前記ソースメモリに記憶させるメイン処理エディタと、前記ＩＥＣ規格言語ライブラリーを参照して前記デシジョンテーブルとデシジョンテーブル実行エンジンとを生成し前記ソースメモリに記憶させるデシジョンテーブルエディタと、前記制御プログラムの全変数を変数テーブルとして生成するとともに、前記ソースメモリに記憶した前記制御プログラムをコンパイルするコンパイラとを備え、
前記第１のオブジェックトメモリには、前記コンパイラでコンパイルされた、前記メイン処理プログラム、デシジョンテーブル実行エンジン、デシジョンテーブル、及び変数テーブルを記憶し、
デシジョンテーブルをステップ毎にインタープリターで実行する制御プログラムを生成することを特徴とするプログラム作成装置。
【請求項６】
制御プログラムのサブルーチンとして構成されるデシジョンテーブルのインタープリター実行エンジンであって、
前記デシジョンテーブルは、複数のステップから構成され、各ステップに対応する処理は、入力信号条件欄、入力遷移条件指定欄、操作出力指定欄、操作出力信号欄、及び次ステップ指定欄に、当該処理が前記各欄にシーケンシャルに応付けして表記され、
各欄は、前記プロセス入出力処理部から転送される制御対象の状態を示す入力信号に対する処理をＩＥＣ規格言語と変数とで表記し、さらに、その出力を第１のビット配列として表記した前記入力信号条件欄と、前記第１のビット配列の各ビットに対応付けて、次のシーケンスの遷移条件となる条件を第２のビット配列として表記し、前記第１のビット配列と前記第２のビット配列との前ビットの比較結果を一致または不一致の判定を指示する前記入力遷移条件指定欄と、前記比較結果が一致している場合、その応答として前記プロセス入出力処理部から前記制御対象に出力する操作出力を第３のビット配列として表記した前記操作出力指定欄と、前記第３のビット配列で指定された指定欄に対応する前記操作出力をＩＥＣ規格言語及び変数とで表記した前記操作出力信号欄と、前記入力遷移条件指定欄の出力が不一致の場合の次ステップ番号及び前記操作出力信号欄の出力から対応する次ステップ番号を表記した次ステップ指定欄とから構成され、
前記インタープリター実行エンジンは、前記プロセス入出力処理部から出力された入力信号の状態を前記入力信号条件欄の変数として取り込み、表記された処理を実行して、その結果を前記第１のビット配列値として出力する機能と、
前記第１のビット配列値と予め指定される前記入力遷移条件指定欄の対応する前記第２のビット配列値とを比較判定する機能と、
対応する全てのビット配列が一致している場合には、対応する前記操作出力指定欄の前記第３のビット配列値の有無を指定する機能と、
さらに、指定された前記第３のビット配列値の有無に対応する前記操作出力信号欄に表記された変数で指定された処理を実行して、当該操作出力信号欄の出力に対応する次ステップ指定欄に表記される次ステップ番号のステップに遷移させる機能と、
そうでない場合には、予め指定されるアラーム判定の結果に基づき次ステップ指定欄に表記されるステップ番号のステップに遷移させる機能と
を備え、
デシジョンテーブルをステップ毎にインタープリター形式で実行するようにしたことを特徴とするインタープリター実行エンジン。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デシジョンテーブルを使用したシーケンス制御装置、プログラム作成装置、及びインタープリター実行エンジンに関する。
【背景技術】
【０００２】
シーケンス制御装置においては、従来からその制御方式として、デシジョンテーブル方式が採用されていた。このデシジヨンテーブル方式とは、シーケンス制御に関する各種情報をデシジヨンテーブルに書込み、シーケンス制御装置がこのテーブルの情報を利用してシーケンス制御を行なうものである。
【０００３】
従来の一般的なデシジヨンテーブルの一例について説明する。デシジヨンテーブルは予め記憶装置に設けられており、そのテーブルは表記状態では、上下左右に四分されている。左上部はシーケンスの遷移条件となる制御対象からの入力信号が指定される条件信号欄である。左下部は制御対象に与える出力信号が指定される動作信号欄である。
【０００４】
また、右上部は条件信号欄の入力信号に対応するシーケンス遷移条件となる情報が書込まれている入力条件指定欄である。右下部は制御対象に対する操作条件の情報が書込まれている動作出力指定欄である。入力条件指定欄と動作出力指定欄の縦列は各々対応している。
【０００５】
そして制御対象の操作状態は１、０、空白の３状態いずれかの入力信号として条件信号欄に指定される。指定された各入力信号は、条件指定欄の対応するシーケンス遷移条件と比較判断される。このシーケンス遷移条件は、予め記憶された信号である。
【０００６】
そして比較判断の結果、両者がすべて一致していると遷移条件が成立として、条件指定欄のシーケンス遷移条件と対応する縦列の動作出力指定欄の動作信号が、動作信号欄に与えられる。この動作信号欄からの出力信号が制御対象に出力され、次のシーケンス制御が行なわれる。
【０００７】
また、各入力信号と対応するシーケンス遷移条件が１つでも一致していないと、制御対象に異常が生じたものとして、動作出力指定欄に予め書込まれている制御対象をホールドさせる動作信号などを動作信号欄に与えるようにしている。
【０００８】
しかしながら、このような従来のデシジヨンテーブルでは、シーケンスを条件成立・不成立に対応して判断操作させるプログラムが複雑なものとなる問題があり、条件信号欄に指定される入力信号と、これに対応する信号指定欄のシーケンス遷移条件とが不一致の場合に制御対象に対して最適な動作信号を出力できるようにしたシーケンス制御装置がある（例えば、特許文献１参照。）。
【０００９】
また、シーケンス制御装置のデシジョンテーブルについて、当該装置の上位機能により書き込み可とするとともに、デシジョンテーブル内の操作開始条件または操作指令における特有な記入により参照され、操作開始条件または操作指令の表記を実際の要素に翻訳する機能を有するルーチン群のいずれかのルーチンを特定する間接テーブルを備えて、膨大な組み合わせのあるシーケンス制御機能を簡素化して表記できるようにしたシーケンス制御装置がある（例えば、特許文献２参照。）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特公平３−５６０４号公報
【特許文献２】特公平４−２３２８１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
近年、プラントを制御するＰＬＣ（プログラマブルコントローラ）を使用したシーケンス制御装置においては、プラントを自動運転するためのアプリケーションプログラム（以降、制御プログラムと言う）のプログラミングの効率化やプログラム資産の共有化を図るため、国際的な標準化が進んでいる。
【００１２】
このＰＬＣの制御プログラムについては、ＩＥＣ規格（IEC61131-3）として５種類のプログラム言語、即ち、ＬＤ（Ladder Diagram）、ＦＢＤ（Function Block Diagram）、ＳＦＣ（Sequential function Chart）、ＳＴ（Structured Text）が定義され、この言語を用いて制御プログラムを作成するようになって来た。
【００１３】
ところが、ＰＬＣの制御プログラミングは、上述したデシジョンテーブル方式が使用され、長年、各種のプラント等のシーケンス制御装置として運転されている。
【００１４】
そのため、デシジョンテーブル方式の制御プログラムを、新しいＩＥＣ規格言語で表記されたプログラムに置き換える場合には、プログラミングの生産性だけでなく、長年使用してきたユーザインタフェース機能を変更することになるので、プラント操業において安全性や生産性の低下が懸念される問題があった。
【００１５】
このような背景から、従来のデシジョンテーブル方式の制御プログラムを採用したシーケンス制御装置においては、操作性については従来の機能を継承し、制御プログラミングについては効率化を図るため、新しいＩＥＣ規格のＳＦＣ言語を使用したシーケンス制御装置が求められていた。
【００１６】
しかしながら、従来のデシジョンテーブルは、メーカ毎の固有仕様でデザインされていたため、デシジョンテーブルとＩＥＣ規格言語で製作した制御プログラムを１つのシーケンス制御装置として製作することは困難であった。
【００１７】
また、デシジョンテーブルで記載したシーケンス回路をＳＦＣ言語で全て表記して実行すると、テーブルに表記されたステップ毎の処理を繰り返し実行するデシジョンテーブルに比べて記憶容量が増大してしまう問題があった。
【００１８】
本発明は上述した課題を解決するためになされたもので、シーケンス制御装置において、デシジョンテーブル表記のシーケンス回路をＩＥＣ規格言語と変数とで表記することを可能とし、従来のデシジョンテーブルによる操作性との共通化を図り、プログラミングの生産性向上と再利用を可能としたシーケンス制御装置、プログラム作成装置、及びインタープリター実行エンジンを提供することを目的とする。
【課題を解決するための手段】
【００１９】
上記目的を達成するために、本発明の請求項１に係るシーケンス制御装置は、制御プログラムを作成するプログラム作成装置と、当該制御プログラムをダウンロードし、ダウンロードした前記制御プログラムを使用して制御対象を制御する制御装置とを備えるシーケンス制御装置であって、前記制御プログラムは、複数のステップから構成されるシーケンス回路をＩＥＣ規格言語と変数とで表記したデシジョンテーブルと、当該制御プログラムのメインルーチンをＩＥＣ規格のＬＤ及びＦＢＤで表記したメイン処理プログラムとを備え、前記プログラム作成装置は、ＩＥＣ規格言語を使用して前記制御プログラムを編集するエディタ部とその表示・操作部とで構成される制御プログラム編集部と、前記制御プログラムのソースプログラムを記憶するソースメモリと、前記制御プログラム編集部で編集された前記制御プログラムのオブジェックトプログラムを記憶する第１のオブジェックトメモリとから成る記憶部とを備え、前記制御装置は、前記記憶部に記憶された前記制御プログラムをダウンロードする制御プログラムロードサーバ部と、当該ダウンロードされた制御プログラムを記憶する第２のオブジェックトメモリと、当該第２のオブジェックトメモリに記憶された制御プログラムを実行する演算処理部と、前記制御対象との間の入出力信号の処理を前記演算処理部の指令に基づき実行するプロセス入出力処理部とを備え、前記ソースメモリには、予め、ＬＤ、ＦＢＤ及びＳＴから成るＩＥＣ規格言語ライブラリーを記憶し、前記エディタ部は、前記ＩＥＣ規格言語ライブラリーを参照して前記制御プログラムのメイン処理プログラムを生成し、前記ソースメモリに記憶させるメイン処理エディタと、前記ＩＥＣ規格言語ライブラリーを参照して前記デシジョンテーブルとデシジョンテーブル実行エンジンとを生成し前記ソースメモリに記憶させるデシジョンテーブルエディタと、前記制御プログラムの全変数を変数テーブルとして生成するとともに、前記ソースメモリに記憶した前記制御プログラムをコンパイルするコンパイラとを備え、前記第１のオブジェックトメモリには、前記コンパイラでコンパイルされた、前記メイン処理プログラム、デシジョンテーブル実行エンジン、デシジョンテーブル、及び変数テーブルを記憶し、前記デシジョンテーブルは、複数のステップから構成され、各ステップに対応する処理は、入力信号条件欄、入力遷移条件指定欄、操作出力指定欄、操作出力信号欄、及び次ステップ指定欄に、当該処理が前記各欄にシーケンシャルに応付けして表記され、各欄は、前記プロセス入出力処理部から転送される制御対象の状態を示す入力信号に対する処理をＩＥＣ規格言語と変数とで表記し、さらに、その出力を第１のビット配列として表記した前記入力信号条件欄と、前記第１のビット配列の各ビットに対応付けて、次のシーケンスの遷移条件となる条件を第２のビット配列として表記し、前記第１のビット配列と前記第２のビット配列との前ビットの比較結果を一致または不一致の判定を指示する前記入力遷移条件指定欄と、前記比較結果が一致している場合、その応答として前記プロセス入出力処理部から前記制御対象に出力する操作出力を第３のビット配列として表記した前記操作出力指定欄と、前記第３のビット配列で指定された指定欄に対応する前記操作出力をＩＥＣ規格言語及び変数とで表記した前記操作出力信号欄と、前記入力遷移条件指定欄の出力が不一致の場合の次ステップ番号及び前記操作出力信号欄の出力から対応する次ステップ番号を表記した次ステップ指定欄とから構成され、前記インタープリター実行エンジンは、前記プロセス入出力処理部から出力された入力信号の状態を前記入力信号条件欄の変数として取り込み、表記された処理を実行して、その結果を前記第１のビット配列値として出力し、前記第１のビット配列値と予め指定される前記入力遷移条件指定欄の対応する前記第２のビット配列値とを比較判定し、対応する全てのビット配列が一致している場合には、対応する前記操作出力指定欄の前記第３のビット配列値の有無を指定し、さらに、指定された前記第３のビット配列値の有無に対応する前記操作出力信号欄に表記された変数で指定された処理を実行して、当該操作出力信号欄の出力に対応する次ステップ指定欄に表記される次ステップ番号のステップに遷移させ、そうでない場合には、予め指定されるアラーム判定の結果に基づき次ステップ指定欄に表記されるステップ番号のステップに遷移させるようにし、前記制御プログラムロードサーバは、前記第１のオブジェクトメモリに記憶した内容を前記第２のオブジェクトメモリにダウンロードして、デシジョンテーブルをステップ毎にインタープリターで実行するようにしたことを特徴とする。
【００２０】
上記目的を達成するために、本発明の請求項５に係るシーケンス制御装置は、デシジョンテーブルを有する制御プログラムを作成するプログラム作成装置であって、前記制御プログラムは、複数のステップから構成されるシーケンス回路をＩＥＣ規格言語と変数とで表記したデシジョンテーブルと、当該制御プログラムのメインルーチンをＩＥＣ規格のＬＤ及びＦＢＤで表記したメイン処理プログラムとから成り、前記プログラム作成装置は、ＩＥＣ規格言語を使用して前記制御プログラムを編集するエディタ部とその表示・操作部とで構成される制御プログラム編集部と、前記制御プログラムのソースプログラムを記憶するソースメモリと、前記制御プログラム編集部で編集された前記制御プログラムのオブジェックトプログラムを記憶する第１のオブジェックトメモリとから成る記憶部とを備え、前記ソースメモリには、予め、ＬＤ、ＦＢＤ及びＳＴから成るＩＥＣ規格言語ライブラリーを記憶し、前記エディタ部は、前記ＩＥＣ規格言語ライブラリーを参照して前記制御プログラムのメイン処理プログラムを生成し、前記ソースメモリに記憶させるメイン処理エディタと、前記ＩＥＣ規格言語ライブラリーを参照して前記デシジョンテーブルとデシジョンテーブル実行エンジンとを生成し前記ソースメモリに記憶させるデシジョンテーブルエディタと、前記制御プログラムの全変数を変数テーブルとして生成するとともに、前記ソースメモリに記憶した前記制御プログラムをコンパイルするコンパイラとを備え、前記第１のオブジェックトメモリには、前記コンパイラでコンパイルされた、前記メイン処理プログラム、デシジョンテーブル実行エンジン、デシジョンテーブル、及び変数テーブルを記憶し、デシジョンテーブルをステップ毎にインタープリターで実行する制御プログラムを生成することを特徴とする。
【００２１】
上記目的を達成するために、本発明の請求項６に係るインタープリター実行エンジンは、制御プログラムのサブルーチンとして構成されるデシジョンテーブルのインタープリター実行エンジンであって、前記デシジョンテーブルは、複数のステップから構成され、各ステップに対応する処理は、入力信号条件欄、入力遷移条件指定欄、操作出力指定欄、操作出力信号欄、及び次ステップ指定欄に、当該処理が前記各欄にシーケンシャルに応付けして表記され、各欄は、前記プロセス入出力処理部から転送される制御対象の状態を示す入力信号に対する処理をＩＥＣ規格言語と変数とで表記し、さらに、その出力を第１のビット配列として表記した前記入力信号条件欄と、前記第１のビット配列の各ビットに対応付けて、次のシーケンスの遷移条件となる条件を第２のビット配列として表記し、前記第１のビット配列と前記第２のビット配列との前ビットの比較結果を一致または不一致の判定を指示する前記入力遷移条件指定欄と、前記比較結果が一致している場合、その応答として前記プロセス入出力処理部から前記制御対象に出力する操作出力を第３のビット配列として表記した前記操作出力指定欄と、前記第３のビット配列で指定された指定欄に対応する前記操作出力をＩＥＣ規格言語及び変数とで表記した前記操作出力信号欄と、前記入力遷移条件指定欄の出力が不一致の場合の次ステップ番号及び前記操作出力信号欄の出力から対応する次ステップ番号を表記した次ステップ指定欄とから構成され、前記インタープリター実行エンジンは、前記プロセス入出力処理部から出力された入力信号の状態を前記入力信号条件欄の変数として取り込み、表記された処理を実行して、その結果を前記第１のビット配列値として出力する機能と、前記第１のビット配列値と予め指定される前記入力遷移条件指定欄の対応する前記第２のビット配列値とを比較判定する機能と、対応する全てのビット配列が一致している場合には、対応する前記操作出力指定欄の前記第３のビット配列値の有無を指定する機能と、さらに、指定された前記第３のビット配列値の有無に対応する前記操作出力信号欄に表記された変数で指定された処理を実行して、当該操作出力信号欄の出力に対応する次ステップ指定欄に表記される次ステップ番号のステップに遷移させる機能と、そうでない場合には、予め指定されるアラーム判定の結果に基づき次ステップ指定欄に表記されるステップ番号のステップに遷移させる機能とを備え、デシジョンテーブルをステップ毎にインタープリター形式で実行するようにしたことを特徴とする
【発明の効果】
【００２２】
以上説明したように、本発明によれば、シーケンス制御装置において、デシジョンテーブル表記のシーケンス回路をＩＥＣ規格言語と変数とで表記することを可能とし、従来のデシジョンテーブルによる操作性との共通化を図り、プログラミングの生産性向上と再利用を可能としたシーケンス制御装置、プログラム作成装置、及びインタープリター実行エンジンを提供することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明のシーケンス制御装置の実施例１の構成図
【図２】デシジョンテーブルの表記例。
【図３】インタープリター実行エンジンによるデシジョンテーブルの動作説明図。
【図４】本発明のシーケンス制御装置による制御プログラムの構成例。
【図５】デシジョンテーブル方式のリアルタイムモニタの例。
【図６】インタープリター実行エンジンの処理フロー図。
【図７】本発明のシーケンス制御装置の実施例２の構成図。
【発明を実施するための形態】
【００２４】
以下、本発明の実施例について、図面を参照して説明する。
【実施例１】
【００２５】
以下、図１乃至図６を参照して説明する。図１は、本発明のシーケンス制御装置の実施例１の構成図である。図１において、シーケンス制御装置１０は、制御プログラムを作成するプログラム作成装置１と、当該制御プログラムを、ネットワーク４を介してダウンロードし、ダウンロードした制御プログラムを使用して制御対象５を制御する制御装置２及び３とから成る。
【００２６】
ここで、使用する制御プログラムは、複数のステップから構成されるシーケンス回路をＩＥＣ規格言語と変数とで表記した詳細を後述するデシジョンテーブルと、このデシジョンテーブルをインタープリターで実行するためのインタープリター実行エンジンと、当該制御プログラムのメインルーチンをＩＥＣ規格のＬＤ及びＦＢＤで表記したメイン処理プログラムとで構成される。
【００２７】
プログラム作成装置１は、ＩＥＣ規格言語を使用して前記制御プログラムを編集するエディタ部１ａ１１とその表示・操作部１ａ２とで構成される制御プログラム編集部１ａと、制御プログラムのソースプログラムを記憶するソースメモリ１ｂ１と、制御プログラム編集部１ａで編集された制御プログラムのオブジェックトプログラムを記憶する第１のオブジェックトメモリ１ｂ２とから成る記憶部１ｂとを備える。
【００２８】
また、制御装置２は、記憶部１ｂに記憶された制御プログラムをダウンロードする制御プログラムロードサーバ部２ｄと、当該ダウンロードされた制御プログラムを記憶する第２のオブジェックトメモリ２ｂと、当該第２のオブジェックトメモリに記憶された制御プログラムを実行する演算処理部２ａと、制御対象５との間の入出力信号の処理を前記演算処理部の指令に基づき実行するプロセス入出力処理部２ｃとを備える。
【００２９】
通常、プログラム作成装置１は、複数の制御装置に対し、夫々異なる複数の制御プログラムを作成する。図１では、ネットワーク４を介して制御装置２及び制御装置３についての制御プログラム作成し、各々が制御対象５を制御する場合を図示している。
【００３０】
次に、各部の詳細構成について説明する。ソースメモリ１ｂ１には、予め、ＬＤ、ＦＢＤ及びＳＴから成るＩＥＣ規格言語ライブラリー１ｂ１４を記憶しておき、ＩＥＣ規格言語ライブラリー１ｂ１４を参照して、後述するエディタ部１ａ１１で編集される制御プログラムを記憶する。
【００３１】
制御プログラムは、そのメインルーチンを表記したメイン処理プログラム１ｂ１１と、デシジョンテーブル１ｂ１３、このデシジョンテーブル１ｂ１３を実行させるプログラムであるインタープリター実行エンジン１ｂ１２とから構成される。
【００３２】
エディタ部１ａ１は、ＩＥＣ規格言語ライブラリー１ｂ１４を参照して制御プログラムのメイン処理プログラムを生成し、ソースメモリに記憶させるメイン処理エディタ１ａ１１と、ＩＥＣ規格言語ライブラリー１ｂ１４を参照してデシジョンテーブル１ｂ１３とデシジョンテーブル実行エンジン１ｂ１２とを生成しソースメモリ１ｂ１に記憶させるデシジョンテーブルエディタ１ａ１２と、制御プログラムの全変数を変数テーブル１ｂ２４として生成するとともに、ソースメモリに記憶した制御プログラムをコンパイルするコンパイラ１ａ１３とを備える。
【００３３】
また、第１のオブジェックトメモリ１ｂ２には、コンパイラ１ａ１３でコンパイルされた、メイン処理プログラム１ｂ２１、デシジョンテーブル実行エンジン１ｂ２２、デシジョンテーブル１ｂ２３、及び変数テーブル１ｂ２４を記憶する。
【００３４】
この第１のオブジェクトメモリ１ｂに記憶した制御プログラムは、制御プログラムロードサーバ２ｄによって、プログラムと変数とに分けて、第２のオブジェクトメモリ２ｂのコードメモリ２ｂ１とデータメモリ２ｂ２とに夫々ダウンロードされる。
【００３５】
詳細には、コードメモリ２ｂ１１には、メイン処理プログラム２ｂ１１とインタープリター実行エンジン２ｂ１２とが記憶され、データメモリ２ｂ２には、デシジョンテーブル２ｂ２１と変数テーブル２ｂ２２とが記憶される。
【００３６】
次に、デシジョンテーブルエディタ１ａ１２で生成されるデシジョンテーブルの例について図２を参照して説明する。図２は、表示・操作部１ａ２を操作して表記されたデシジョンテーブル１ｂ１３のソースプログラムを示し、表記する行列の対応付けが容易な表形式（テーブル）で作成する。
【００３７】
このシジョンテーブル１ｂ１３は、行列テーブルで、左端１列には、このデシジョンテーブルで定義するシーケンス回路の入出力信号の条件を各行に記述し、左端１列に表記した入出力信号の条件に対する遷移条件を予め複数のステップ毎に左から右の順で表記し、各ステップにおける遷移条件を入力信号の条件を比較・判定して、その結果に基づく次ステップ番号を各ステップの最終行に記述する。
【００３８】
例えば、左端１列は、上欄から入力信号条件欄Ｃｉ（Ｃ００〜Ｃ３２）、その下部の操作出力信号欄Ａｏ（Ａ００〜Ａ３１）で、対応する各欄の各行に対して表記される遷移条件が、ステップ毎に、入力遷移条件指定欄Ｃｄ、操作出力指定欄Ａｄに、Ｙまたは１(条件一致)、Ｎまたは０(条件不一致)、ブランク（非参照）のいずれかをビット配列表記して指定する。
【００３９】
例えば、ステップ２では、Ｃ００の入力信号条件欄Ｃｉに対して、その入力遷移条件指定欄Ｃｄは、行Ｃ００から下方向に順次ブランク、Ｙ、Ｙ・・・と表記し指定する。
【００４０】
また、Ａ００の操作出力信号欄Ａｏに対して、その操作出力指定欄Ａｄは、行Ａ００から下に順次ブランク、Ｙ、Ｙ、Ｎ・・・と表記し指定する。
【００４１】
そして、ステップ２の次のステップは、入力信号条件欄Ｃｉ（Ｃ００〜Ｃ３２）のビット配列、操作出力信号欄Ａｏ（Ａ００〜Ａ３１）で、対応する各欄の各行のビット配列値が一致した場合、対応する操作出力指定欄Ａｄの各行の出力に対応する操作出力信号欄Ａｏ（Ａ００〜Ａ３１）の出力結果に基づいて、次ステップ番号を次ステップ指定欄Ｎｄで指定する。
【００４２】
次に、表記する各欄の詳細について説明する。入力信号条件欄Ｃｉは、プロセス入出力処理部から転送される制御対象の状態を示す入力信号に対する処理をＩＥＣ規格言語と変数とで表記し、さらに、その出力を第１のビット配列値として出力する。
【００４３】
また、入力遷移条件指定欄Ｃｄは、入力信号条件欄Ｃｉの第１のビット配列の各ビットに対応付けて、次のシーケンスの遷移条件となる条件を第２のビット配列値として表記し、第１のビット配列値と第２のビット配列値との対応する全ビットの比較結果を一致または不一致として出力する。
【００４４】
操作出力指定欄Ａｄは、この比較結果が一致している場合、その応答としてプロセス入出力処理部２ｃから制御対象５に出力する操作出力を第３のビット配列として表記する。
【００４５】
そして、操作出力信号欄Ａｏでは、この第３のビット配列値で指定された指定欄に対応する操作出力をＩＥＣ規格言語及び変数とで表記し、その出力から対応する次ステップ番号を指定する。
【００４６】
デシジョンテーブル１ｂ１３の作成は、テーブルを使用して、また、入力信号条件欄Ｃｉ及び操作出力信号欄Ａｏは、ＩＥＣ規格言語のＳＴ言語で表記し、各欄の行列毎の対応付けが容易に出来るようにしておくとともに、使用する変数をグローバル変数で表記して、異なる制御装置においても使用できるようにするのが望ましい。
【００４７】
次に、デシジョンテーブルエディタ１ａ１２によって生成される、本発明の主要部であるインタープリター実行エンジン１ｂ１２(ソース)のプログラムの構成とその機能について、図３を参照して説明する。
【００４８】
インタープリター実行エンジン１ｂ１２は、プロセス入出力処理部２ｃから出力された入力信号の状態を入力信号条件欄Ｃｉの変数として取り込み、表記された処理を実行して、その結果を第１のビット配列値として出力するプログラムＤＰ０１と、この第１のビット配列の出力と、予め指定される入力遷移条件指定欄Ｃｄの対応する第２のビット配列値とを比較判定するプログラムＤＰ０２と、対応する全ての第１のビット配列と第２のビット配列とが全て一致している場合に対応する操作出力指定欄Ａｄの第３のビット配列値を指定するプログラムＤＰ０３とを備える。
【００４９】
さらに、指定された第３のビット配列値に対応する操作出力信号欄Ａｏに表記された変数で指定された処理を実行し、当該操作出力信号欄Ａｏの出力に対応する次ステップ指定欄を指定するプログラムＤＰ０４と、プログラムＤＰ０４の出力に基づいて表記される次ステップ番号のステップに遷移させ、また、第１のビット配列と第２のビット配列とが不一致の場合に、予め指定されるアラーム判定の結果に基づき次ステップ指定欄に表記されるステップ番号のステップに遷移させるプログラムＤＰ０５とを備える。
【００５０】
さらに、第１のビット配列と第２のビット配列とが不一致の異常を判定し、異常である場合の次ステップ番号の指定、異常でない場合の次ステップ番号の指定や、上記各プログラムの実行を夫々のステップ毎にインタープリターで実行するように制御するインタープリター部メインのプログラムＤＰ００とから構成される。
【００５１】
このように生成されたデシジョンテーブル１ｂ１３とそのインタープリター実行エンジン１ｂ１２は、図４に示すように、例えば、制御プログラムのサブルーチン「DT TABLE_001」、「DT TABLE_002」のようにタスク１ｂ１１のサブルーチンスとして構成される。
【００５２】
このＩＥＣ規格言語で記述された制御プログラムのタスク１ｂ１１はメインルーチン及び「User_Action」というサブルーチンとして動作するが、サブルーチン「DT TABLE_001」、「DT TABLE_002」もこれらのサブルーチンと同様に、制御装置２にダウンロードされた場合に、タスク１ｂ１１のメインルーチンプログラムからコールされ、そのデシジョンテーブルに記載されたシーケンス回路をインタープリター実行エンジン２ｂ１２がステップ毎にインタープリターで実行する。
【００５３】
この時、演算処理部２ａは、例えば、図５（ａ）に示す制御プログラムのメインの表示画面から実行中のデシジョンテーブルのステップ番号３を指定して、さらに、変数テーブル２ｂ２２を参照し、図５(ｂ)に示すように実行中のデシジョンテーブルのステップ番号３の欄の背景を着色して、他のステップ番号と識別して、動作中のステップ番号を表示させることも可能である。
【００５４】
次に、インタープリター実行エンジンが１つのデシジョンテーブルを処理する場合の動作について、図６を参照して説明する。例えば、制御プログラムのメインルーチンからコールされたデシジョンテーブルｉのステップ番号１が読み出される（ｓ０１、ｓ０２）。
【００５５】
すると、ステップ番号１の入力信号条件欄Ｃｉに表記の内容が処理される（ｓ０３）。
【００５６】
次に、入力信号条件欄Ｃｉのビット出力とこの出力に対応する入力遷移条件指定欄Ｃｄに表記の各ビット指定内容とが全て比較判定され（ｓ０４）、全てが一致する場合には、対応する操作出力指定欄Ａｄの予め設定されたビット出力を選択し（ｓ０５）、対応する操作出力指定欄Ａｏに表記された演算を実行して（ｓ０６）、その結果に基づき指定される次ステップ指定欄（Ｎｄ）のステップ番号を指定して（ｓ０７）、次ステップに遷移させる。
【００５７】
比較判定（ｓ０４）の結果、不一致と判定された場合、さらにその内容を判定しアラームの有無で遷移する処理ステップを指定する（ｓ０８）。
【００５８】
例えば、この判定がタイムアウトとした場合、タイムアウトで無ければ元に戻って待機し、タイムアウトの場合には、次ステップ指定欄Ｎｄに遷移させ、表記された処理プログラムまたは次ステップに遷移させる（ｓ０９）。
【００５９】
このように構成された本発明の構成によれば、従来から使用されたデシジョンテーブルの表記をＩＥＣ規格言語で表記し、テーブルをサブルーチンとして制御プログラムに組み込み、デシジョンテーブルの各ステップ単位でインタープリター動作するので、デシジョンテーブル部をＩＥＣ規格言語のＳＦＣで記述する場合に比べてコンパクトなメモリ容量で実行することが可能となる。
【００６０】
また、従来から使用されていたデシジョンテーブルの入出力欄をＩＥＣ規格言語で記述することで、従来のシーケンス回路の使用が可能と成る。したがって、この操作に慣れたシステムの運用資産が有効に継承活用できる効果がある。
【実施例２】
【００６１】
本発明の実施例２の構成を図７に示す。図７に示す実施例２の各部について、図１に示す実施例１の各部と同一の部分は、同一の符号を付し、その説明を省略する。
【００６２】
実施例２が実施例１と異なる点は、実施例１は複数の制御装置を備えていたが、実施例２においてはプログラム作成装置１と１台の制御装置２とが直接接続される。
【００６３】
また、実施例１では第１のオブジェクトメモリから第２のオブジェクトメモリにオブジェクトプログラムをダウンロードしたが、実施例２においては、第１のオブジェクトメモリを備えず、プログラム作成装置１のコンパイラから、制御装置２のオブジェクトメモリ２ｂに直接ダウンロードするようにした点が異なる。
【００６４】
したがって、本実施例２によれば、オブジェクトメモリを１つとしたので、装置がコンパクトになるとともに、変数はローカル変数とすることも可能である。
【符号の説明】
【００６５】
１  プログラム作成装置
１ａ  制御プログラム編集部
１ａ１  エディタ部
１ａ１１  メイン処理エディタ
１ａ１２  デシジョンテーブルエディタ
１ａ１３  コンパイラ
１ａ２  表示・操作部
１ｂ  記憶部
１ｂ１  ソースメモリ
１ｂ１１  メイン処理プログラム
１ｂ１２  デシジョンテーブル
１ｂ１３  ＩＥＣ規格言語ライブラリー
１ｂ２  第１のオブジェクトメモリ
１ｂ２１  メイン処理プログラム
１ｂ２２  インタープリター実行エンジン
１ｂ２３  デシジョンテーブル
１ｂ２４  変数テーブル
２、３  制御装置
２ａ  演算処理部
２ｂ  第２のオブジェクトメモリ
２ｂ１  コードメモリ
２ｂ１１  メイン処理プログラム
２ｂ１２  インタープリター実行エンジン
２ｂ２  データメモリ
２ｂ２１  デシジョンテーブル
２ｂ２２  変数テーブル
２ｃ  プロセス入出力処理部
２ｄ  制御プログラムロードサーバ部
４  ネットワーク
５  伝制御対象
【図１】
2011039612.tif 000003
【図２】
2011039612.tif 000004
【図３】
2011039612.tif 000005
【図４】
2011039612.tif 000006
【図５】
2011039612.tif 000007
【図６】
2011039612.tif 000008
【図７】
2011039612.tif 000009