(57)【要約】【課題】タイミングチャートからラダー図を自動作成可能として制御への対応を容易にすることである。【解決手段】制御の時間軸上に上記入出力の変化を表すタイミングチャートを得、そのタイミングチャートにおいて入出力が変化する時刻で括る時間区間を定義し、上記時間区間ごとにその上記時間区間の開始時刻と現在時間それぞれでの入出力を論理表現し、この論理表現からラダー図を作成する。【選択図】図６
2008020956.tif 000002
【特許請求の範囲】
【請求項１】
入力に従い出力を制御するためのプログラムのシンボル記述であるラダー図を作成する方法において、
時間軸上に上記制御のための入出力の変化を表すタイミングチャートを得、そのタイミングチャートを論理表現し、この論理表現から当該タイミングチャートに対応したラダー図を作成する、ことを特徴とするラダー図作成方法。
【請求項２】
上記論理表現を、上記タイミングチャートにおいて入出力が変化する時刻で括る時間区間を定義し、上記時間区間ごとにその上記時間区間の開始時刻と現在時間それぞれでの入出力の組み合わせについて論理表現することを特徴とする請求項１に記載のラダー図作成方法。
【請求項３】
上記出力の論理値Ｑｎ＋１を、セット、リセットのシーケンシャル入力Ｓ１，Ｒそれぞれの論理値と上記出力Ｑｎ＋１よりも前の時刻での出力Ｑｎの論理値との組み合わせからなる論理式で表現する、ことを特徴とする請求項２に記載のラダー図作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントロール装置等のシーケンス制御装置に使用されるラダー図の作成方法に関する。
【背景技術】
【０００２】
ラダー図はＰＬＣを用いた制御システムにおける制御シーケンスを定めるプログラムを記述する１つの方式である。ラダー図には、回路図がはしご状に描かれており、両端の垂直な二つの母線が動力をシンボリックに表わし、その間で水平に結ぶ平行な線上にリレー接点回路の動力の流れが示される。ラダー図ではその処理の内容をコイルと接点の関係として表示しており、コイルと接点の各々の機能及び接続関係について意味を持った記号で表わした図である。
【０００３】
上記制御システムを備えた現場での急なトラブル等をラダー図からチェックしたり、あるいはシステムのメンテナンスをしたいというような場合、プログラマブル表示器等の制御画面上にラダー図を表示して確認する場合がある。このような場合、ラダー図そのものが構造化したプログラミングはできないものであるためにプログラムの記述における命令の順番に有意と無意とが存在してラダー図作成者以外には判りにくいものとなっている。そのため、上記トラブル等への適確で迅速な対応を図り難い。
【特許文献１】特開２００２−１８９５０８
【発明の開示】
【発明が解決しようとする課題】
【０００４】
したがって、本発明により解決すべき課題は、ラダー図作成者以外の要員、例えば、機械設計者、電気設計者、その他を問わず、そのラダー図から上記制御システムにおけるメンテナンス等を適確迅速に対処可能とし、扱い易く安全性の高い制御システムを構築しユーザに提供することを可能とすることである。
【課題を解決するための手段】
【０００５】
本発明によるラダー図作成方法は、セット、リセットのシーケンシャル入力に従い出力を制御する制御装置における上記制御のためのプログラムを図記号で記述するラダー図を作成する方法において、上記制御の時間軸上に上記入出力の変化を表すタイミングチャートを得、そのタイミングチャートにおいて入出力が変化する時刻で括る時間区間を定義し、上記時間区間ごとにその上記時間区間の開始時刻と現在時間それぞれでの入出力を論理表現し、この論理表現からラダー図を作成する、ことを特徴とするものである。
【０００６】
上記において、タイミングチャートとは直交座標系（デカルト座標系）の第１象限において横軸を時間の経過、縦軸を各入出力の変化を表したとき、横軸の時間経過に対する入出力の変化を縦にして重ね合わせて表した図である。
【０００７】
本発明によると、例えばＳＲファンクションブロックやＲＳファンクションブロックを用いてそれらに対するセット、リセットのシーケンシャル入力に従い出力を制御するシーケンス制御用プログラムを作成する場合、タイミングチャートを作成する。このタイミングチャートにおいては、そのタイミングチャートにおいて入出力が変化する時刻で括る時間区間を定義し、上記時間区間ごとにその上記時間区間の開始時刻と現在時間それぞれでの入出力を論理表現すると、この論理表現は上記ファンクションブロックが取りえるすべての定義に一致させることができる。そして、この論理表現はその表現自体がラダー図になっているために、上記タイミングチャートから自動的にラダー図を作成することができるようになる。
【発明の効果】
【０００８】
本発明によれば、タイミングチャートから一義的にラダー図を自動作成可能としたのでラダー図作成者以外の要員でも、ラダー図から制御システムにおけるメンテナンス等を適確迅速に対処することが可能となり、扱い易く安全性の高い制御システムを構築しユーザに提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、添付図面を参照して、本発明の実施形態に係るラダー図作成方法を説明する。
【００１０】
図１は、ラダープログラムを作成し転送するパーソナルコンピュータ１０と、パーソナルコンピュータ１０から転送されたラダープログラムに従い制御を行うプログラマブルコントロールシステム（ＰＬＣシステム）２０と、プッシュボタンやスイッチ等により構成されＰＬＣシステム２０に入力信号を出力する入力デバイス３０と、モータやランプ等により構成されＰＬＣシステム２０からの出力信号に応答する出力デバイス４０とを示す。
【００１１】
ＰＬＣシステム２０は、ＣＰＵモジュール、入力モジュール、出力モジュール等から構成されている。ＰＬＣシステム２０の入力モジュールには入力デバイス３０から入力信号（セット入力Ｓやリセット入力Ｒ１）が入力され、出力モジュールからは出力信号（出力Ｑ）が出力される。ＰＬＣシステム２０のようにモジュール化されたものではなく単一のユニット構成としその内部にＣＰＵ、入力や出力の回路、その他メモリ回路等を内蔵する単一のＰＬＣも含む。ラダープログラムはシーケンス図（電気回路図）をベースにしており、入力条件と出力の関係を視覚的にイメージしやすいプログラム言語になっている。このプログラム言語はラダー図である。
【００１２】
ＰＬＣシステム２０は、必要とする機能毎に上記モジュール等に回路がユニット化され、各ユニットを必要に応じて図示略のバスラインを介して適宜追加することにより、ＰＬＣシステム全体として達成される機能を増減可能としている。ＣＰＵモジュールはＰＬＣシステム２０全体を制御し、入力モジュールは、入力デバイス３０から送られる入力信号を取り込み、出力モジュールは所定の出力信号を出力する。その他、図示は略するが、各種データを保存するメモリモジュール等を備える。パーソナルコンピュータ１０からはラダープログラムが転送され、ＰＬＣシステム２０のメモリモジュールにそのラダープログラムが格納される。ＣＰＵモジュールは、メモリモジュールに格納されているラダープログラムに従い、常時入出力デバイス３０，４０の変化状態を監視しておき、新規データ入力等のデータ変化が認められると、必要な演算処理を施した後メモリモジュール上の該当アドレスにアクセスして内容を読み書きし、あるいは出力デバイス４０に向けてデータを送出する。
【００１３】
実施の形態では、このラダープログラムはパーソナルコンピュータ１０の表示画面にラダー構成部品の接続展開図であるラダー図に対応してタイミングチャートを表示し、そのタイミングチャートからメンテナンス等を実行することができるようになっている。
【００１４】
すなわち、タイミングチャートから自動的に一義的にラダー図が作成されるようにしたことにより、ラダー図からメンテナンスを実行する場合では、タイミングチャートからそのメンテナンス等を適確迅速に実行することが可能になっている。
【００１５】
以上のＰＬＣシステム２０におけるシーケンス制御を記述するためのプログラム言語としてのラダー図をパーソナルコンピュータ１０で作成する方法を以下に説明する。この実施の形態ではタイミングチャートから自動的にラダープログラムを作成するものであるから、まず実施の形態で意味するタイミングチャートについてタイムチャートとの相違を説明する。
【００１６】
図２にそのタイムチャートを示す。タイムチャートとタイミングチャートは一般的には区別せずに使用されているが、本実施の形態では区別して使用する。タイムチャートはタイミングチャートに含まれるものとして考えてよい。タイムチャートは時間要素を明確に含むものであり、図２はその一例である。タイムチャートについては、時間が基本的に唯一の独立変数であるため、出力信号は時間の従属変数と考えれば、信号の表示順番を除けば、タイムチャートは一意的に決まり、１つのタイマでシステムを制御することが可能である。
【００１７】
これに対してタイミングチャートは外部の入力及び内部状態による出力の変化を表し、状態遷移を時間軸で表している。タイミングチャートの場合については、外部入力と内部状態とが含まれ、さらに時間要素が絡む。このため、時間だけでタイミングチャートが決まらず、着目した事象生起の順番によってもその表現は変わり得る。しかし、制御の立場で言えば、表現が異なってもその論理関係が一意的である。すなわち、同じ内部状態で同じ外部入力に対して、同じ出力が得られなければならない。ユーザによってタイミングチャートの描き方が異なっても、システムの挙動として得られる結果は同じである。
【００１８】
本実施の形態では、ラダー回路の基本回路である自己保持回路の中で起動優先自己保持回路を例にして説明する。この例はＩＥＣ６１１３１−３で定義されたＳＲ（Ｓｅｔ−Ｒｅｓｅｔ）とＲＳ（Ｒｅｓｅｔ−Ｓｅｔ）ファンクションブロックである。シーケンス制御においては、ＳＲは起動優先自己保持回路、ＲＳは停止優先自己保持回路に相当する。回路理論では、いずれも順序回路における基本回路、リセットセット（ＲＳ）フリップフロップとして知られている。順序回路は内部に状態を持つ論理回路であり、外部からの入力だけでは一義的に出力は決まらない。その内部状態はフリップフロップに保存される。
【００１９】
ＳＲファンクションブロックのタイミングチャートを作成してみる。複雑さを考察するために、独立に作られた二つのタイミングチャートを図３と図４に示す。図３のタイミングチャートの特徴はＳＲの意味をそのまま表現した点である。縦点線よりその前半は、セットＳ１，リセットＲの基本部分、その後半は、起動優先回路の考え得る残りのすべての場合について表している。図３のタイミングチャートでは、その表現の一部に冗長性が見られるが、熟練者による機械などの一般機器の動きもこのような形で表されると推測できる。
【００２０】
これに対して、図４は異なるアプローチでタイミングチャートを作成している。まず、フリップフロップ等の順序回路の観点から次の状態遷移表１を作成した。この状態遷移表１でＱ１ｎ＋１は現在の状態、Ｑ１ｎはその現在よりも前の状態である。
【００２１】
【表１】
2008020956.tif 000003
【００２２】
この状態遷移表から図４のタイミングチャートが得られる。図４のタイミングチャートは冗長性のないものであるが、実際の作業ではいろいろな場合について描いてみて論理的に重複したところを削除して得たものである。縦点線よりもその前半はＳ１の１となる部分、その後半は０となる部分について主に記述している。
【００２３】
状態遷移表１は、論理値を示す「状態の順番」の差異を除けば一意的である。状態遷移表１はすべての状態について記述するものに対して、タイミングチャートはすべての状態について表しているかどうかは明示的でない。タイミングチャートで記述されたすべての論理関係を明示的に示すためには、その論理関係を抽出し状態遷移表１に変換する必要がある。ここではその抽出と変換の手法について提案する。タイミングチャートから論理関係を抽出し、状態遷移表１へ変換する方法を次の手順１，２，３に分けて示す。
【００２４】
手順１
この手順１では入力変化を表す入力変数、入出力を関係づける内部状態を表す内部変数、出力変化を表す出力変数を定義する。実施の形態では入力変数はＳ１，Ｒ、出力変数はＱ１である。入力変数は入力にしか関与しないので、定義は簡単で明確である。出力変数は入力として使うかどうかによってその性質が変わってくる。ＩＥＣ６１１３１−３でいえば、ＶＡＲ＿ＩＮ＿ＯＵＴ型の変数である。出力のみの出力変数は入力として使用しないので、その出力は論理回路となる。入力としても使用する出力変数は内部変数としても使用することになり、その出力は順序回路である。順序回路は、回路の入力と内部状態とで決定される論理回路である。
【００２５】
内部変数の定義が適当に行えるかどうかは後に自動生成されるプログラムの読みやすさに関わる。また、ここでいうタイミングチャートはすべて０か１の値しか取らない二値論理のものに限定し、多値論理は対象としない。このため、カウンタなど多値を取るものはすべての値について明示する必要があり、多くの内部変数を必要とする。
【００２６】
手順２
この手順２では時間軸の区切りと離散時間とを定義する。時間軸の区切りとは或る規則に従い時間軸を区切ることであり、離散時間は時刻の集合をＴ＝[ｔ０，ｔ１，ｔ２，ｔ３，…]としたとき、或る時刻から異なる時刻までの時間間隔である。この定義に基づいて、入力変数、内部変数、出力変数の全部を並べたタイミングチャートについて、時間軸に対してそれぞれの波形の立ち上りと立下りの変化のところを抽出する。実施の形態では図５で示すようにその変化のところのすべてを時間区間の区切りとして用い、各時間区間を区切ったところをひとつの独立した離散時刻ｔ０，ｔ１，…，ｔｎ，…に対応させ、左から右へ順々に一つずつ増分していくものとする。離散時刻ｔｎと、次の離散時刻ｔｎ＋１とで括った時間区間は離散時間として得られ、図６で示すように、Ｔ０，Ｔ１，Ｔ２，Ｔ３，Ｔ４，Ｔ５，…，Ｔｎで表す。
【００２７】
手順３
この手順３では状態遷移に関する論理を抽出する。図５で表された波形は時間軸に対してこのまま得られる動きを表しているわけではなく、単なるタイミングを表している。すなわち、離散時間においては、離散時刻ｔｎは、前の離散時刻ｔｎ−１と、次の離散時刻ｔｎ＋１とだけ順序関係を持ち、離散時間全体で制御対象である図１の出力デバイス４０のそのままの動きを表現しているわけではない。このタイミングによる動きの全体が図１の制御システムの動きとなる。
【００２８】
さらに、上記離散時間Ｔｎにおいては、入力変数、内部変数、出力変数の変数間の論理関係を表している。すなわち、離散時刻ｔｎと次の離散時刻ｔｎ＋１とで括った離散時間Ｔｎは実時間（連続時間）において、ある実時間区間と解釈でき、その実時間区間の長さが自由に伸縮できるものと解釈すべきである。
【００２９】
また、この離散時間Ｔｎにおいては、離散時刻ｔｎと、離散時間Ｔｎ内の至るところの離散時刻と、次の離散時刻ｔｎ＋１と、で順序関係が成立するが、離散時間Ｔｎと、離散時刻ｔｎ＋１を含まない次の離散時間Ｔｎ＋１と、の間では論理関係や順序関係については何も記述されていないことに留意すべきである。
【００３０】
この２点を合わせると、離散時間Ｔｎにおける出力は、離散時刻ｔｎの左極限と離散時間Ｔｎ内における変数の論理値にのみ依存するという結論が得られた。離散時間Ｔｎ内においては元来離散時刻における順序関係をすべて記述しなければならないが、時間軸の区切り方によって、離散時刻ｔｎと次の離散時刻ｔｎ＋１を含まない離散時間Ｔｎ内では論理の変化が起きないので、また、その時間区間が伸縮自由のため、論理表現は一つと見なして差し支えない。
【００３１】
以上により図４のタイミングチャートについて図５および図６で示すように時間軸を時間区間で区切る。また、すでに述べたように離散時刻はタイミングのみを示し、実際の時刻を意味しないので、説明の容易な理解のために、区切られた時間区間を単にＴｉ（ｉ＝０、１、…、５）で表記する。
【００３２】
それぞれの離散時刻においては内部状態への依存として開始時刻と、現在時間と、の二つに分けてあり、また、この例の場合の内部状態はＱ１のみである。
【００３３】
このように区切られた時間区間に対して、各離散時間における入出力間の論理表現（出力をタイミングチャートにおける入出力の論理の組み合わせで表現したもの）と、その論理表現のＳＲファンクションブロックの取り得る状態への対応と、を表２に示す。
【００３４】
その表２の「ＳＲ状態の順番への対応」を見る限りでは、すべての状態が表現されていることがわかり、図４のタイミングチャートが正しいことを示している。これはもともと出発点が表１であったので当然のことである。
【００３５】
【表２】
2008020956.tif 000004
【００３６】
表２において「時間区間」をＴ０〜Ｔ５、「前、現時刻への依存」を開始時刻と現在時間とに分ける。「入出力間の論理表現」において論理値０ではオーバーバーを付け、論理値１ではオーバーバーを付けていない。また、Ｑ１におけるｎはｎ＋１よりも前のタイミングの出力、ｎ＋１はｎよりも後のタイミングの出力を示すためである。開始時刻は変化が開始する点の時刻であり、現在時間は変化を含まない時間区間内での現在時間である。
【００３７】
時間区間Ｔ０では「入出力間の論理表現」において開示時刻では「なし」、現在時間では出力Ｑ１nは出力Ｑ１n+1の前の内部状態の出力であり、時間区間Ｔ０では共に論理値０である。セットＳ、リセットＲ１は共に論理値０である。
【００３８】
時間区間Ｔ１において開始時刻ではＱ１nは論理値０であり、Ｑ１n+1は論理値１である。セットＳは論理値１、リセットＲ１は論理値０である。
【００３９】
以下、同様である。
【００４０】
表２では出力Ｑ１に関して同じ時間区間においてＱ１n+1の前である出力Ｑ１nを論理表現に用いている。そのため、例えば時間区間Ｔ０ではＱ１n+1は論理値０であるが、それより前の出力Ｑ１nも論理値０である。時刻ｔ１ではＱ１n+1の論理値は１であるが、それより前では出力Ｑ１nの論理値は０である。
【００４１】
すなわち、表２で示すように、上記論理表現では出力Ｑ１を論理表現に入れている。具体的には、変化のある点の出力Ｑ１n+1についてその出力Ｑ１n+1より前の出力Ｑ１nを見るが、変化のない点の出力Ｑ１n+1でもその出力Ｑ１n+1より前の出力Ｑ１nを見る。
【００４２】
なお、表２において時間区間Ｔ０〜Ｔ５は図６の時間区間Ｔ０〜Ｔ５、開始時刻は図５のｔ０，ｔ１，ｔ２，…、現在時間はタイミングチャートの時間軸上の現在時間、に対応している。また、表２の「ＳＲ状態の順番への対応」は表１の「状態の順番」に対応している。以上の表２の論理表現は図４〜図６のタイミングチャートから作成することができたものである。
【００４３】
論理式の一意性のある表現方法として、最小項による和標準形式と最大項による積標準形式がある。ラダー図の段は論理和を表しているため、ここでは最小項による和標準形式を採用する。表２の論理表現はＱ１n+1の論理値が１となる式に注目し、これをまとめれば、次のようなＱ１n+1の和標準形式の論理式１となる。論理項の順番はＳＲ状態の順番への対応に従う。
【００４４】
【数１】
2008020956.tif 000005
【００４５】
簡単のために、この論理式を図７のようにカルノー図で示す。
【００４６】
このカルノー図から次の簡約された論理式２が得られる。カルノー図は周知であるので詳細は略するが、このカルノー図は必ずしも必要ではない。
【００４７】
【数２】
2008020956.tif 000006
【００４８】
明らかに、この論理式２はＳＲファンクションブロックの定義に一致する。一方、起動優先自己保持回路としては、次の図８のラダー図がよく知られている。このラダー図の論理表現は論理式２そのものである。すなわち、図４で与えられたＳＲのタイミングチャートは上記方法によって自動的に図８のラダー図に変換することができたことになる。
【００４９】
なお、より現実的な図３のタイミングチャートについて考察してみる。同様にまず時間軸を離散時間による区切りを行い、その結果を図９に示す。同様に、図９の区切られた時間区間に対して、各離散時間における入出力間の論理表現とその論理表現のＳＲファンクションブロックの取り得る状態への対応を表３にまとめた。ＳＲ状態の順番への対応からすべての状態が表現されていることがわかる。すなわち、図３のタイミングチャートは図４のタイミングチャートと同等である。表３は表２よりも冗長性があるが、同じアプローチで最終的には式２が得られる。
【００５０】
【表３】
2008020956.tif 000007
【００５１】
以上から実施の形態では制御の時間軸上に上記入出力の変化を表すタイミングチャートを得る（図３、図４）。そのタイミングチャートにおいて入出力が変化する時刻で括る時間区間を定義する（図５、図６、図９）。上記時間区間ごとにその上記時間区間の開始時刻と現在時間それぞれでの入出力を論理表現する（式１、式２、表１、表２）。この論理表現からラダー図を作成する（図８）。
【００５２】
なお、上記は時間要素の無いタイミングチャートからラダー図を作成する例であったが、時間要素が無いタイミングチャートからも同様にラダー図を作成することができる。
【図面の簡単な説明】
【００５３】
【図１】図１はパーソナルコンピュータとＰＬＣと入力デバイスと出力デバイスとを備える制御システムの構成を示す図である。
【図２】図２はタイムチャートである。
【図３】図２はセット、リセット入力Ｓ、Ｒ１と、出力Ｑのタイミングチャートである。
【図４】図４は状態遷移表からのタイミングチャートである。
【図５】図５は時間軸に対して波形の変化のところを抽出し、その変化のすべてを時間区間の区切りとしてその区切りの様子を示す図である。
【図６】図６は図４のタイミングチャートについて離散時間で区切られたタイミングチャートである。
【図７】図７は式１のカルノー図である。
【図８】図８はラダー図である。
【図９】図９は図３のタイミングチャートに対して時間軸を離散時間による区切りを行った結果を示すタイミングチャートである。
【符号の説明】
【００５４】
１０  パーソナルコンピュータ
２０  ＰＬＣシステム
３０  入力デバイス
４０  出力デバイス
【図１】
2008020956.tif 000008
【図２】
2008020956.tif 000009
【図３】
2008020956.tif 000010
【図４】
2008020956.tif 000011
【図５】
2008020956.tif 000012
【図６】
2008020956.tif 000013
【図７】
2008020956.tif 000014
【図８】
2008020956.tif 000015
【図９】
2008020956.tif 000016