(57)【特許請求の範囲】
【請求項１】
複数のＩ／Ｏモジュールと、これらの複数のＩ／Ｏモジュールと接続されたＣＰＵモジュールとを有したプログラマブルコントローラのプログラム編集装置において、
表示画面と、
固有の制御を行うそれぞれの前記Ｉ／Ｏモジュール毎に作成され、そのＩ／Ｏモジュールに対する固有の制御プログラムを、各Ｉ／Ｏモジュール単位で、パッケージ化された各プログラムのシンボルを示すファンクションブロックを前記表示画面上において配置させる配置手段と、
前記複数のＩ／Ｏモジュールは、複数の群に群別され、その各群毎に、その群に属するあるＩ／Ｏモジュールに対応する第１のファンクションブロックの出力信号を、その群に属する他のＩ／Ｏモジュールに対応する第２のファンクションブロックの入力信号とする連携に関しては、第１のファンクションブロックの出力を第２のファンクションブロックの入力に接続する第１接続手段と
を設けたことを特徴とするプログラマブルコントローラの編集装置。
【請求項２】
前記第１接続手段により形成され、前記複数の群の中のある群である第１群に属するファンクションブロックの第１の直列配置に対して、他の群である第２群に属するファンクションブロックの第２の直列配置を、並列配置させる並列配置手段と、
前記第１群に属する前記第１の直列配置における第３のファンクションブロックの出力信号を、 前記第２群に属する前記第２の直列配置における第４のファンクションブロックの入力信号とする連携に関しては、第３のファンクションブロックの出力を第４のファンクションブロックの入力に対して論理演算により接続する第２接続手段と
をさらに有することを特徴とする請求項１に記載のプログラマブルコントローラの編集装置。
【請求項３】
前記Ｉ／Ｏモジュールは、センサ入力に対して非常停止を行う装置であり、前記出力信号及び前記入力信号は、非常停止のための信号であることを特徴とする請求項１又は請求項２に記載のプログラマブルコントローラの編集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットや工作機械やそれらの周辺機器の動作に対するシーケンス制御、特に、プログラマブルコントローラ（ＰＬＣ）のプログラムの作成、編集を容易且つ確実にする装置である。
【背景技術】
【０００２】
上記の様なシーケンス制御をプログラマブルコントローラで実行するシステムがある。近年では、システムの異常や非常停止すべき状態を正確に検出したり、システムを自動的に緊急安全停止させたりするためのシステムの安全管理に特化したＰＬＣ（いわゆる安全ＰＬＣ）が普及しつつある。
【０００３】
このようなＰＬＣのプログラミング方式としては、ＩＥＣ６１１３１−３規格に規定されているように、ラダー回路（ＬＤ）、ファンクションブロック（ＦＢＤ）、シーケンシャルファンクション（ＳＦＣ）、構造言語（ＳＴ）、命令表（ＩＬ）などが採用されている。そして、下記特許文献１には、ラダー回路とファンクションブロックとから成るプログラムにおいて、プログラムの修正を容易にした方式が開示されている。また、下記特許文献２には、ファンクションブロックを用いたプログラム方式が開示されている。また、特許文献３には、ファンクションブロックにおいて入力点数や出力点数が多い場合に、回路図上において、入力や出力の表示と非表示とを可変設定することで、入力線や出力線の数を減少させて回路図を見易くするようにしたシステムが開示されている。また、下記特許文献４には、Ｉ／Ｏモジュールを各スロットに配置する時に、ＣＰＵモジュールがそのＩＤとスロット番号を読み込んで、Ｉ／Ｏアドレスを割付ける装置が開示されている。
【０００４】
【特許文献１】特開２００４−２９５８７２
【特許文献２】特開２００３−２２３２０４
【特許文献３】特開平７−２４８８０９号
【特許文献４】特開平１０−３９９０４号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ファンクションブロックと言われるものは、論理和、論理積などの論理演算、算術演算、制御演算などの単位演算ロジックである。このため、多数のセンサからの入力信号、多数の動作機構への出力信号に対する処理は、ファンクションブロックを用いたとしても、多数のファンクションブロックと、条件分岐のための論理回路と、ラダー回路の集合としてプログラムを作成する必要がある。この結果、安全ＰＬＣと言われるものにあっては、多くのセンサの集合や、多くの動作機構の集合に対して、綿密な設計の下に、緊急時の非常停止を含む安全制御プログラムを作成する必要があった。
【０００６】
例えば、複数のロボットが協働している場合において、あるロボットにおいて非常停止すべき状態が発生した場合に、そのロボットや安全確保に必要な関連する幾つかのロボットは緊急停止させ、安全性が確保されている他のロボットに対しては、製品の搬入搬出の同期の観点から、原点復帰させて停止させる、又は、サイクル停止という処理が行われている。
【０００７】
このような処理を、ラダー回路、ファンクションブロックなどを用いてプログラムすることは、高度の熟練を要すると共に、確実に安全が確保されるための動作確認のために多大な時間が必要であった。
【０００８】
そこで、本発明は、プログラマブルコントローラ、特に、安全ＰＬＣにおいて、制御プログラムの作成や編集を容易且つ確実にすることを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するための請求項１の発明は、複数のＩ／Ｏモジュールと、これらの複数のＩ／Ｏモジュールと接続されたＣＰＵモジュールとを有したプログラマブルコントローラのプログラム編集装置において、表示画面と、固有の制御を行うそれぞれのＩ／Ｏモジュール毎に作成され、そのＩ／Ｏモジュールに対する固有の制御プログラムを、各Ｉ／Ｏモジュール単位で、パッケージ化された各プログラムのシンボルを示すファンクションブロックを表示画面上において配置させる配置手段と、複数のＩ／Ｏモジュールは、複数の群に群別され、その各群毎に、その群に属するあるＩ／Ｏモジュールに対応する第１のファンクションブロックの出力信号を、その群に属する他のＩ／Ｏモジュールに対応する第２のファンクションブロックの入力信号とする連携に関しては、第１のファンクションブロックの出力を第２のファンクションブロックの入力に接続する第１接続手段とを設けたことを特徴とする。
また、請求項２の発明は、請求項１の発明において、第１接続手段により形成され、複数の群の中のある群である第１群に属するファンクションブロックの第１の直列配置に対して、他の群である第２群に属するファンクションブロックの第２の直列配置を、並列配置させる並列配置手段と、第１群に属する第１の直列配置における第３のファンクションブロックの出力信号を、 第２群に属する第２の直列配置における第４のファンクションブロックの入力信号とする連携に関しては、第３のファンクションブロックの出力を第４のファンクションブロックの入力に対して論理演算により接続する第２接続手段とをさらに有することを特徴とするプログラマブルコントローラの編集装置である。
【００１０】
なお、上記において、第１のファンクションブロックの意味は、任意の一つのファンクションブロックの意味であり、第２のファンクションブロックの意味は、第１のファンクションブロックの出力に接続される他のファンクションブロックの意味である。第３のファンクションブロックの意味も、任意の一つのファンクションブロックの意味であり、第４のファンクションブロックの意味は、第３のファンクションブロックの出力に接続される他のファンクションブロックの意味である。要するに、第１、第２は、それらを区別するために付したものであって、特定するものではない。同様に、第３、第４は、それらを区別するために付したものであって特定するものではない。さらに、第３のファンクションブロック、第４のファンクションブロックは、第１のファンクションブロック又は第２のファンクションブロックと一致していてもかまわない。また、第３のファンクションブロックを第４のファンクションブロックに接続する時の論理演算は、第４のファンクションブロックの入力が、第３のファンクションブロックだけの場合には、単に、入力を出力するだけの単位演算子をも含むものである。
【００１１】
まず、本発明では、プログラムは、固有の制御を行うＩ／Ｏモジュール毎に、固有の制御プログラム単位にパッケージ化されていることが特徴である。そして、このパッケージ化された制御プログラム単位を指示するのに、シンボルとしてファンクションブロックが割当られている。それぞれのＩ／Ｏモジュールとしては、ライトカーテン、ドアロック、マットスイッチ、レーザスキャナなどの各エリアセンサからの作業領域侵入が検出された場合に、ロボットやその他動作機構を非常停止させるＩ／Ｏモジュールを想定している。したがって、制御プログラム単位としては、ライトカーテン用制御プログラム、ドアロック用制御プログラム、マットスイッチ用制御プログラム、レーザスキャナ用制御プログラムなどがあり、それぞれの制御プログラム単位に対してシンボルとしてのファックションブロックが割当られている。また、その他のＩ／Ｏモジュールとしては、リセットスイッチ、スタートスイッチからの入力信号が入力された時に、起動しても安全が確保されている状態をロジックで確認された後、電源が投入されるようにしたＩ／Ｏモジュールが考えられる。
【００１２】
このように安全監視のためのセンサ単位でＩ／Ｏモジュールと制御プログラムが作成されている。そして、ＰＬＣは、ＣＰＵモジュールと、Ｉ／Ｏスロットに挿入された必要なＩ／Ｏモジュールで構成されている。これらの複数のＩ／Ｏモジュールは、例えば、複数のロボットを同期制御する場合のように、エリア毎に群別化されている。
【００１３】
このようなシステムにおける制御プログラムの作成において、本発明が用いられる。まず、ある群に属するＩ／Ｏモジュールの集合に対して、その集合に属する制御プログラム単位を示すファンクションブロックを指定して、画面上に表示する。この時に、制御プログラム単位間でインターロックが必要な場合には、第１接続手段により、ファンクションブロック間が接続される。直列配置されたファンクションブロックは、インターロックされることになる。例えば、第１のファンクションブロックの制御プログラムが非常停止信号を出力した場合には、この第１のファンクションブロックに対応するＩ／Ｏモジュールに非常停止信号を出力してその動作機構を非常停止させると共に、第２のファンクションブロックに非常停止信号が入力され、この第２のファンクションブロックに対応するＩ／Ｏモジュールに非常停止信号が出力されて、その動作機構が非常停止される。このように、直列に接続された複数のファンクションブロックのそれぞれに対応したＩ／Ｏモジュールに対して非常停止信号が出力されることになる。結局、直列接続されたファンクションブロック列において、最後のファンクションブロックの出力を最初のファンクションブロックの入力に接続すれば、何れかのＩ／Ｏモジュールのセンサが非常停止すべき状態を検出した時に、各Ｉ／Ｏモジュールが制御している動作機構が非常停止することになる。本発明は、このような、インターロック制御を各ファンクションブロックの直列接続だけで実現している。
【００１４】
さらに、上述したように、制御対象が複数の群に群別されている場合に、ある群において、非常停止信号が出力された場合に、他の群では、動作機構を原点まで復帰させてから停止させたい場合がある。この場合に、並列配置手段により、第１接続手段により形成されるファンクションブロックの直列配置の並列配置を生成する。そして、第１群に属する第１の直列配置の第３のファンクションブロックの出力信号を第２の群に属する第２の直列配置の第４のファンクションブロックの入力信号とする連携に関しては、第３のファンクションブロックの出力を第４のファンクションブロックの入力に対して論理演算により接続する第２接続手段を設けていることが本発明の特徴である。これにより、第１群の非常停止信号に対しては、例えば、第２群のあるＩ／Ｏモジュールに接続されている動作機構に関しては、原点復帰するまで動作を継続して、停止させ、他のあるＩ／Ｏモジュールに接続されている動作機構だけを連動して非常停止させるという選択的な制御が可能となる。一方、第２群のＩ／Ｏモジュールが非常停止すべき状態を検出した場合には、第２群に属する全ての動作機構を非常停止させることができるプログラムとすることができる。なお、非常停止は、一例であって、本請求項の発明は、これには限定されない。
【００１５】
このように、本発明は、ファンクションブロックの直列接続と、この直列接続の並列配置と、並列配置間の接続だけで、複雑なインターロック制御を可能としたものである。
【００１６】
また、請求項３の発明は、Ｉ／Ｏモジュールは、センサ入力に対して非常停止を行う装置であり、出力信号及び入力信号は、非常停止のための信号であることを特徴とする請求項１に記載のプログラマブルコントローラの編集装置である。
【発明の効果】
【００１７】
以上の本発明の手段によって得られる効果は以下の通りである。
固有の制御を行うそれぞれのＩ／Ｏモジュールに対して、制御プログラム単位をパッケージ化して、そのプログラム単位をファンクションブロックのシンボルで画面上で指示できるようにしているので、使用されるＩ／Ｏモジュールさえ分かれば、対応する制御プログラム単位を間違いなく指定することができる。また、作業者は、プログラム自体を作成する必要がないので、間違いがなく、動作確認においても長時間を必要としない。
【００１８】
また、配置手段により、使用するＩ／Ｏモジュールに対応した制御プログラムのファンクションブロックがシンボルとして配置されて、第１接続手段により、第１のファンクションブロックの出力を第２のファンクションブロックの入力に接続するだけで、第１のファンクションブロックでシンボル化された制御プログラムにより出力される、例えば、非常停止信号を第２のファンクションブロックでシンボル化された制御プログラムに入力させることができる。すなわち、関数の引数として出力信号の値を渡すことができる。これにより、第２のファンクションブロックに対応するＩ／Ｏモジュールに対して、例えば、非常停止信号を出力させることができる。これにより、第１と、第２のファンクションブロックに対応する第１の制御プログラムと第２の制御プログラムとの間でインターロックをかけることができ、各Ｉ／Ｏモジュールが制御する動作機構を、同時にある種の動作、例えば、非常停止させることが可能となる。よって、極めて簡単な図式化だけで、ＰＬＣのためのプログラムを作成することができる。
【００１９】
また、請求項２の発明では、並列配置手段により、第１接続手段により形成されるファンクションブロックの直列配置の並列配置が生成され、第２接続手段により、第１群に属する第１の直列配置の第３のファンクションブロックの出力信号を第２群に属する第２の直列配置の第４のファンクションブロックの入力信号とする連携に関しては、第３のファンクションブロックの出力が第４のファンクションブロックの入力に対して論理演算により接続される。これにより、第１群に属する第１の直列配置の群に属する動作機構群に対しては、例えば、非常停止信号が出力されて、非常停止するが、第２群に属する第２の直列配置の群に属する動作機構群に対しては、例えば、原点復帰まで、動作を継続させて、原点に復帰した時点で、動作を停止させるなどのような、第１群の動作機構群とは、別の停止動作などをさせることができる。このような群別毎に、最適なインターロックをかけた動作を行うプログラムを容易に作成し、編集することができる。
【００２０】
したがって、本発明を用いることにより、多数の群の動作機構に対して制御する場合においても、高度の熟練を要することなく、簡単且つ短時間でＰＬＣのための制御プログラムを作成できる。また、動作確認も容易となる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明を具体的な実施例に基づいて説明する。
ただし、本発明の実施形態は、以下に示す個々の実施例に限定されるものではない。
【実施例１】
【００２２】
図１は本実施例のプログラマブルコントローラのプログラム編集装置の具体的な構成を示したブロック図である。プログラムの作成、修正、表示などを行うためのＣＰＵ１０、その処理のためのプログラムを記憶したＲＯＭ１１、ファンクションブロック図を表示するディスプレイ１２、ファンクションブロック図を作成するためのファンクションブロックシンボルを指定したり、各種のコマンドを入力するキーボード１３、ディスプレイ１２上のカーソル位置を指定するマウス１８、ＣＰＵ１０とディスプレイ１２及びキーボード１３の間に介在する入出力インタフェース１４、ファンクションブロック図やそのソースプログラムを記憶するＲＡＭ１５、ＲＡＭ１５に記憶されるソースプログラムを外部記憶装置に記憶させるための外部記憶装置１６およびプログラマブルコントローラＰＣ０１に接続するためのインタフェース１７とで構成されている。又、ＲＡＭ１５は、ファンクションブロック図を記憶するファンクションブロック図記憶領域１５１、そのファンクションブロック図に対応したソースプログラムを記憶するソースプログラム記憶領域１５２が形成されている。
【００２３】
図２は、本プログラム編集装置により作成されるファンクションブロック図である。表示されている一つのファンクションブロックには、そのプログラムで制御される固有の一つのＩ／Ｏモジュールが対応する。例えば、ファンクションブロックＦＢ１１は、識別子Ａ１１のＩ／Ｏモジュールと対応する。即ち、ファンクションブロックの識別番号によりそのプログラムにより制御されるＩ／Ｏモジュールが特定されるように構成されている。  
【００２４】
図２の例では、Ｉ／Ｏモジュールは、第１群、第２群、第３群の３つの群に群別されている。ＦＢ１１、ＦＢ０２、ＦＢ１０、ＦＢ０１に対応するＩ／ＯモジュールＡ１１、Ａ０２、Ａ１０、Ａ０１が、第１群に属する。ＦＢ３０、ＦＢ４２に対応するＩ／ＯモジュールＡ３０、Ａ４２が第２群に属し、ＦＢ２０、ＦＢ３２に対応するＩ／ＯモジュールＡ２０、Ａ３２が第３群に属する。
【００２５】
ＦＢ１１、ＦＢ０２、ＦＢ１０、ＦＢ０１は、順次、縦連結子５０により接続されている。即ち、例えば、ＦＢ１１が第１のファンクションブロックであり、ＦＢ０２が第２のファンクションブロックであり、第１のファンクションブロックＦＢ１１の出力が、第２のファンクションブロックＦＢ０２の入力に縦連結子５０により接続されている。同様に、第２群においては、ＦＢ３０の出力がＦＢ４２の入力に縦連結子５０により接続されており、同様に、第３群においては、ＦＢ２０の出力がＦＢ３２の入力に縦連結子５０により接続されている。
【００２６】
また、第２群のＦＢ４２の入力線には、論理積から成る結合子（演算子）５４が設けられており、第１群のＦＢ０１の出力が横連結子５２により結合子（演算子）５４に接続されている。また、第３群のＦＢ３２の入力線には、論理積から成る結合子（演算子）５４が設けられており、第２群のＦＢ４２の出力が横連結子５２により論理積から成る結合子（演算子）５４に入力している。
【００２７】
本実施例装置は、キーボード、マウス、ディスプレイなどから成るコンピュータシステムを用いて、このようなファンクションブロックと結合子（演算子）と縦連結子と横連結子だけで、プログラムを作成したり、編集したりすることができる点に特徴がある。
【００２８】
図３は、本装置のＣＰＵ１０の処理手順を示したフローチャートである。ステップ１００では、キーボード１３の指示が、直列配置か否かが判定される。直列配置が指定された場合には、ステップ１０２に移行して、ファンクションブロック（以下、「ＦＢ」と記す）の指定か否か判定され、ＦＢの指定の場合には、ステップ１０４において、ＦＢを特定する番号が入力される。そして、ステップ１０６において、マウス１８により指定されたディスプレイ１２上の指定点上にＦＢブロックがその識別番号と共に表示される。次に、ステップ１０８において、縦連結の指定か否かが判定され、縦連結であれば、ステップ１１０において、画面上においてマウス１８で指定された位置に縦連結子５０が表示される。次に、ステップ１１２に移行して、終了指令か否かが判定され、終了指令でなければ、ステップ１００に戻り、上記の処理が繰り返される。これによって、第１群のＦＢの表示と連結表示が行われる。なお、ステップ１０２でＦＢの指定でなければ、ステップ１１４に移行して、その他の必要な指令入力が行われる。
【００２９】
また、ステップ１００で、指令が直列配置でなければ、ステップ１１６へ移行して指令が横連結か否かが判定され、横連結の指令でなければ、ステップ１１８へ移行して、画面上、別の群の別の列の表示領域に入力が可能な状態となり、ステップ１００に戻り、その列に関して、直列配置の入力が可能となる。そして、ステップ１００〜１１４が繰り返されることにより、別の群のＦＢと縦連結が作成される。
【００３０】
また、ステップ１１６において、指令が横連結であると判定された場合には、ステップ１２０に移行して、画面上、マウス１８により指定された位置に横連結子５２が表示される。次に、ステップ１２２において、結合先に結合子（演算子）の種類を指定することで、所定の結合子５４が作成される。
【００３１】
このようにして、ファンクションブロック図を作成することができる。図２のようなファンクションブロック図による制御は、以下のようになる。ＦＢ１１、ＦＢ０２、ＦＢ１０、ＦＢ０１は、縦連結されている。したがって、上流で発生した非常停止信号は、下流側のＦＢに入力することになる。よって、非常停止信号を発生したＦＢを含めて、下流側の全てのＦＢに非常停止信号が伝搬することになり、その非常停止信号を入力したＦＢは、対応するＩ／Ｏモジュールに対して非常停止信号を出力して、そのＩ／Ｏモジュールにより制御されている各動作機構が非常停止することになる。なお、最下流のＦＢ０１の出力を最上流のＦＢ１１の入力に縦連結子により接続（ループにする）することで、ループ接続されたいずれか一つのＦＢで非常停止信号が発生すると、これらのＦＢで制御されいる一群のＩ／Ｏモジュールに非常停止信号が出力され、この群に属する一群の動作機構は全て非常停止することになる。
【００３２】
一方、ＦＢ０１の出力は、論理積結合子５４に入力しているので、第２群のＦＢ４２には、ＦＢ３０の出力とＦＢ０１の出力の論理積が入力することになる。非常停止信号を「０」とすると、ＦＢ３０、ＦＢ０１のいずれか一方において、非常停止信号が発生した場合に、ＦＢ４２に非常停止信号が入力することになり、このＦＢ４２に対応するＩ／Ｏモジュールに非常停止信号が出力され、このＩ／Ｏモジュールにより制御されている動作機構が非常停止することになる。即ち、第２群のＦＢ３０においては非常停止信号が発生せず、第１群において非常停止信号が発生した場合には、第２群のＦＢ３０には非常停止信号が入力せずに、ＦＢ４２だけに非常停止信号が入力することになる。即ち、第２群においては、ＦＢ３０に対応するＩ／Ｏモジュールは正常に動作し、そのモジュールにより制御されている動作機構は動作を継続させることができる。例えば、ＦＢ３０による制御は、第１群において、非常停止状態が発生しても、安全を阻害することがない場合に、ＦＢ３０による制御を継続して、例えば、原点に復帰した時点において停止させることができる。
【００３３】
上記の図２のファンクションブロック図をアッセンブルすると、図４に示すようなソースプログラムとなる。Ｆ１１（ＩＮ１１０１，ＩＮ１１０２，ＯＴ１１０１，ＯＴ１１０２）は、ファンクション命令語である。即ち、ＦＢ１１は、このＦＢに対応したＩ／Ｏモジュールの制御のために作成された制御プログラム単位を呼び出すためのファンクション記号である。括弧内の変数は関数の引数である。ＩＮ１１０１，ＩＮ１１０２は入力変数を示し、この場合には、２入力である。また、ＯＴ１１０１，ＯＴ１１０２は出力変数を示し、この場合には、２出力である。Ｆ０２の入力変数に、ＯＴ１１０２が指定されている。即ち、Ｆ１１の第２出力変数がＦ０２の第１入力変数となっている。これにより、ＦＢ１１と、ＦＢ０２間のインターロックが実現している。他の縦結合に関しても同様である。
【００３４】
Ｚ＝ＯＴ０１０２＊ＯＴ３００２の演算は、結合子の演算を表すものである。ＦＢ０１の出力とＦＢ３０の出力の論理積を演算する命令語である。即ち、Ｆ０１の第２出力変数とＦ３０の第２出力変数の論理積を変数Ｚに代入する命令語である。次に、Ｆ４２の第１入力変数はその変数Ｚとなっている。これにより、ＦＢ４２は、ＦＢ３０とＦＢ０１のそれぞれの出力の論理積に対してインターロックがかけられている。
【００３５】
このようにして、作成されたソースプログラムは、プログラマブルコントローラＰＣ０１のコンピュータシステムにインストールされる。プログラマブルコントローラＰＣ０１には、上記の各ファンクションに対応した制御プログラムがパッケージ化されて、実行形式のマシン語により、ライブラリーとして保存されている。プログラマブルコントローラＰＣ０１に上記のソースプログラムがインストールされて実行される時に、各ファンクションプログラムの記憶領域に分岐して、そのプログラムが実行された後、呼び出し元のプログラムに戻るように構成されている。
【００３６】
また、各Ｉ／Ｏモジュールがスロットに装着される時に、ＣＰＵモジュールにより、各Ｉ／Ｏモジュールの識別子とスロット番号とが読み取られる。ＣＰＵモジュールのＩ／Ｏメモリにおいて、スロット番号毎に群別して、順次、各Ｉ／Ｏモジュールの入力要素、出力要素のアドレスが割り付けられる。即ち、どのスロットにＩ／Ｏモジュールが挿入されたかにより、入力要素、出力要素のアドレスが割り振られる。そして、シーケンスプログラムが実行される１サイクル毎に、各Ｉ／Ｏモジュールからの入力信号が入力要素アドレスに記憶され、出力要素アドレスの値が出力信号として各Ｉ／Ｏモジュールに出力される。
【００３７】
次に、スロット番号とＩ／Ｏモジュールの識別子とを対応させることができ、Ｉ／Ｏモジュールの識別子とファンクションブロックの識別子、即ち、上記のファンクションの識別子とを対応させているので、各ファンクションの引数をどの入力要素、出力要素のアドレスに対応させれば良いかが分かる。
【００３８】
このような手順により、ＦＢのファンクションブロック図上の配置位置に関係なく、ファンクションの引数を用いて、Ｉ／Ｏ入力要素、出力要素のアドレスに記憶されている値をファンクションプログラムに引き渡すことができ、ファンクションプログラムでは、実行の当初において、この値をファンクションプログラムで定義されたアドレスの内部変数（ローカル変数）として保持して、演算することができる。
【００３９】
このようにして、ＦＢを連結して表示するだけで、所望のインターロックの可能なプログラムを作成し、編集することが可能となる。
なお、配置手段は、ＣＰＵ１０、ステップ１００、１０２、１０４、１０６で構成され、第１接続手段は、ＣＰＵ１０、ステップ１０８、１１０で構成され、並列配置手段は、ＣＰＵ１０、ステップ１００、１１６、１１８、ステップ１００〜１０６で構成され、第２接続手段は、ＣＰＵ１０、ステップ１１６、１２０、１２２で構成されている。
【産業上の利用可能性】
【００４０】
プログラマブルコントローラ、特に、安全に特化した安全ＰＬＣに関するプログラムの作成や編集に用いることができる。
【図面の簡単な説明】
【００４１】
【図１】本発明の具体的な一実施例に係るプログラミング装置を示したブロック図。
【図２】同実施例装置により作成されるファンクションブロック図。
【図３】同実施例装置のＣＰＵの処理手順を示したフローチャート。
【図４】同実施例装置により作成されたファンクション図をアッセンブルした結果を示すソースプログラム。
【符号の説明】
【００４２】
１０…ＣＰＵ
１２…ディスプレイ
１５…ＲＡＭ
【図１】
0004556787.tif 000002
【図２】
0004556787.tif 000003
【図３】
0004556787.tif 000004
【図４】
0004556787.tif 000005