(57)【要約】      （修正有）【課題】特殊機能を利用している場合であっても、出力機器への情報の出力状態を制御すること。【解決手段】出力端子と、制御プログラムを実行し、デバイス情報を更新するプログラム実行手段と、前記出力端子を介して特定情報を出力する特定処理手段と、を備えたＰＬＣであって、前記出力機器用のデバイス情報又は前記特定処理手段が出力する前記特定情報が入力され、入力された前記出力機器用のデバイス情報又は前記特定情報を前記出力端子へ出力する中継手段２１と、前記出力機器への出力状態を制御するための所定の情報を前記出力端子へ出力するよう前記中継手段２１に指示する指示手段とを備え、前記中継手段２１は、前記指示手段により前記中継手段２１に対して前記所定の情報を出力するよう指示がなされたとき、前記出力機器用のデバイス情報及び前記特定情報よりも優先して前記所定情報を選択し、該所定情報を前記出力端子へ出力する。【選択図】図３
2014052670.tif 000002
【特許請求の範囲】
【請求項１】
制御対象となる出力機器が接続される出力端子と、
前記出力機器への出力状態を示すデバイス情報を記憶する記憶手段と、
制御プログラムを実行し、実行結果に基づいて、前記出力端子を介して接続される前記出力機器用のデバイス情報を更新するプログラム実行手段と、
前記出力機器用のデバイス情報に関わらず、前記出力機器に対し前記出力端子を介して特定情報を出力する特定処理手段と、
を備えたプログラマブルコントローラであって、
前記プログラム実行手段により更新された前記出力機器用のデバイス情報又は前記特定処理手段が出力する前記特定情報が入力され、入力された前記出力機器用のデバイス情報又は前記特定情報を前記出力端子へ出力する中継手段と、
前記出力機器への出力状態を制御するための所定の情報を前記出力端子へ出力するよう前記中継手段に指示する指示手段と、
を備え、
前記中継手段は、前記指示手段により前記中継手段に対して前記所定の情報を出力するよう指示がなされたとき、前記出力機器用のデバイス情報及び前記特定情報よりも優先して前記所定の情報を選択し、該所定の情報を前記出力端子へ出力することを特徴とするプログラマブルコントローラ。
【請求項２】
前記プログラマブルコントローラには、前記制御プログラムの作成を支援するプログラム作成支援装置が接続可能であって、
前記指示手段は、
前記所定の情報として、前記プログラム作成支援装置から受信したコマンドに従うコマンド情報を前記出力端子へ出力するよう、前記中継手段に指示する、
ことを特徴とする請求項１に記載のプログラマブルコントローラ。
【請求項３】
前記所定の情報として、前記プログラム作成支援装置から受信したコマンドに従うコマンド情報を記憶する手段を備え、
前記指示手段は、
前記所定の情報として、前記コマンド情報を読み出して前記出力端子へ出力するよう、前記中継手段に指示する、
ことを特徴とする請求項２記載のプログラマブルコントローラ。
【請求項４】
前記プログラム実行手段は、制御プログラムの実行、前記出力機器用のデバイス情報の更新、及び付随処理を含む一連の処理を繰り返し実行し、
前記指示手段は、前記プログラム実行手段により前記付随処理が実行されている際に、前記コマンド情報を読み出して前記出力端子へ出力するよう、前記中継手段に指示することを特徴とする請求項３記載のプログラマブルコントローラ。
【請求項５】
前記所定の情報は、前記出力機器への出力状態をオフ状態に制御するための情報であることを特徴とする請求項１乃至４のいずれか１項に記載のプログラマブルコントローラ。
【請求項６】
入力機器が接続される入力端子を備え、
前記記憶手段は、前記入力機器からの入力状態を示すデバイス情報を記憶し、
前記中継手段は、
前記入力端子を介して前記入力機器用のデバイス情報が入力され、
前記記憶手段に記憶された前記入力機器用のデバイス情報は、前記中継手段が出力する前記入力機器用のデバイス情報で更新され、
前記指示手段は、
前記入力機器用のデバイス情報に関わらず、前記入力機器への入力状態を制御するための所定の情報を出力するよう、前記中継手段に指示する、
ことを特徴とする請求項１乃至５のいずれか１項に記載のプログラマブルコントローラ。
【請求項７】
前記出力端子は複数設けられており、
前記コマンドは、
複数の前記出力端子のうち一の出力端子を特定する端子特定情報と、該一の出力端子から出力させる出力情報と、
を含むことを特徴とする請求項２乃至４のいずれか１項に記載のプログラマブルコントローラ。
【請求項８】
前記特定処理手段は、
周期信号をカウントするカウント手段、及び、周期信号を出力する出力手段の少なくともいずれか一方である、
ことを特徴とする請求項１乃至７のいずれか１項に記載のプログラマブルコントローラ。
【請求項９】
請求項７に記載のプログラマブルコントローラに接続可能であって、該プログラマブルコントローラの制御プログラムの作成を支援するプログラム作成支援装置であって、
前記プログラマブルコントローラの出力端子を特定する端子特定情報と、該出力端子から出力させる出力情報の入力を受け付ける入力受付手段と、
前記入力受付手段が受け付けた前記端子特定情報及び前記出力情報を前記プログラマブルコントローラに送信する送信手段と、
を備えることを特徴とするプログラム作成支援装置。
【請求項１０】
請求項７に記載のプログラマブルコントローラに接続可能であって、該プログラマブルコントローラの制御プログラムの作成を支援するプログラム作成支援装置を、
前記プログラマブルコントローラの出力端子を特定する端子特定情報と、該出力端子から出力させる出力情報の入力を受け付ける入力受付手段、
前記入力受付手段が受け付けた前記端子特定情報及び前記出力情報を前記プログラマブルコントローラに送信する送信手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプログラマブルコントローラに関する。
【背景技術】
【０００２】
工場等に設置される各種のアクチュエータを統括的に制御するための制御装置として、プログラマブルコントローラが知られている。プログラマブルコントローラは、一般に、ラダープログラムを制御プログラムとして実行する。プログラマブルコントローラは、例えば、センサ等の入力機器からの情報の取り込み（入力リフレッシュ）、ラダープログラムの１スキャンの実行、出力機器への情報の出力（出力リフレッシュ）という一連の処理を繰り返し実行する。入力機器からの情報や出力機器への情報、或いは、内部情報（タイマ、カウンタ等）はデバイス情報（或いはデバイス値）と呼ばれ、その記憶領域はデバイスと呼ばれている。デバイス情報は、ラダープログラムの実行により更新されてゆく。このようにＰＣＬはデバイスを介して出力機器の制御を行う（例えば特許文献１）。
【０００３】
一方、ラダープログラムのデバッグを目的として、試験的にラダープログラムを実行する場合、出力端子に接続された出力機器を動作させたくない場合がある。例えば、安全の観点から一部のモータを実際に駆動することなく、その駆動系のプログラムのデバッグを行う場合である。この場合、プログラマブルコントローラと出力機器との接続を解除することが考えられるが、接続線の着脱作業が煩雑となる。そこで、接続状態のまま、デバイス情報を強制的に所定の情報にセットすることで出力機器を停止させることが実用化されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１０９１２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、プログラマブルコントローラの中には、ラダープログラムを実行するＣＰＵの負担を軽減しつつ必要な機能を補完すべく、周期信号のカウンタや、位置決め用の周期信号の出力部等、特定の処理に特化した回路（特殊機能）が搭載される場合がある。これらはデバイスを介さずに情報を出力するため、デバイス情報を強制的にセットしても出力機器に情報が出力されてしまう。
【０００６】
本発明の目的は、特殊機能を利用している場合であっても、出力端子に接続された出力機器への情報の出力状態を制御することにある。
【課題を解決するための手段】
【０００７】
本発明によれば、制御対象となる出力機器が接続される出力端子と、前記出力機器への出力状態を示すデバイス情報を記憶する記憶手段と、制御プログラムを実行し、実行結果に基づいて、前記出力端子を介して接続される前記出力機器用のデバイス情報を更新するプログラム実行手段と、前記出力機器用のデバイス情報に関わらず、前記出力機器に対し前記出力端子を介して特定情報を出力する特定処理手段と、を備えたプログラマブルコントローラであって、前記プログラム実行手段により更新された前記出力機器用のデバイス情報又は前記特定処理手段が出力する前記特定情報が入力され、入力された前記出力機器用のデバイス情報又は前記特定情報を前記出力端子へ出力する中継手段と、前記出力機器への出力状態を制御するための所定の情報を前記出力端子へ出力するよう前記中継手段に指示する指示手段と、を備え、前記中継手段は、前記指示手段により前記中継手段に対して前記所定の情報を出力するよう指示がなされたとき、前記出力機器用のデバイス情報及び前記特定情報よりも優先して前記所定の情報を選択し、該所定の情報を前記出力端子へ出力することを特徴とするプログラマブルコントローラが提供される。
【発明の効果】
【０００８】
本発明によれば、特殊機能を利用している場合であっても、出力機器への情報の出力状態を制御することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態に係るプログラマブルコントローラの外観図。
【図２】図１のプログラマブルコントローラ及び外部機器のブロック図。
【図３】（Ａ）及び（Ｂ）は強制セットの説明図。
【図４】（Ａ）は処理例を示すフローチャート、（Ｂ）は入力画面例を示す図。
【図５】別の処理例を示すフローチャート。
【発明を実施するための形態】
【００１０】
図１は本発明の一実施形態に係るプログラマブルコントローラＡの外観図である。プログラマブルコントローラＡはいわゆるＣＰＵユニットを構成し、その筐体上部には端子台１が設けられている。端子台１は複数の出力端子及び複数の入力端子を含む。出力端子には出力機器が、入力端子には入力機器が、それぞれ接続可能である。出力機器にはリレー、ソレノイド、モータ等のアクチュエータ、或いは、アクチュエータのドライバが含まれる。入力機器にはセンサ、スイッチ、或いは、センサやスイッチの信号処理回路が含まれる。
【００１１】
図１では接続部２は、端子保護用のカバー部材２ａで覆われており、カバー部材２ａを取り外すことで露出する。接続部２には拡張ユニットを接続可能であり、拡張ユニットには出力端子及び入力端子を備えていてもよい。拡張ユニットには更に拡張ユニットを接続することが可能であり、拡張ユニット群を直列的に接続部２に接続することが可能である。
【００１２】
拡張ユニットとしては、出力機器としてのアクチュエータのドライブユニット等が、入力機器としてのセンサユニット等が、それぞれ接続可能である。
【００１３】
プログラマブルコントローラＡの筐体正面には表示部３、操作部４、接続部５が設けられている。表示部３はデバイス情報等、各種の情報を表示可能である。操作部４は複数のボタンから構成され、表示部３の表示内容の切り替えなど、ユーザの指示をプログラマブルコントローラＡに対して手動入力可能となっている。接続部５には、プログラマブルコントローラＡと外部機器との有線通信を可能とする通信ケーブルが接続される。例えば外部機器として、プログラマブルコントローラＡの制御プログラムの作成を支援するプログラム作成支援装置が挙げられる。
【００１４】
図２はプログラマブルコントローラＡと外部機器Ｂのブロック図である。外部機器Ｂは、例えば、パソコン（上述したプログラム作成支援装置）、携帯型端末である。
【００１５】
外部機器Ｂは制御部５０を備える。制御部５０はＣＰＵ５１、記憶部５２、ＩＦ（インタフェース）部５３を含む。記憶部５２は、例えば、ＲＯＭ、ＲＡＭ、ハードディスクである。ＩＦ部５３は、例えば、表示部６０、操作部６１に対するＩ／Ｏインタフェース、プログラマブルコントローラＡとの通信のための通信インタフェースを含む。表示部６０はユーザに情報を表示する。操作部６１は、例えば、キーボード、マウス、或いは、タッチパネル等である。
【００１６】
プログラマブルコントローラＡは、制御部１０、ＡＳＩＣ２０、記憶部３０を含む。制御部１０は例えば汎用の１チップマイコンであり、ＣＰＵ１１、記憶部１２、ＩＦ部１３を含む。なお、ＡＳＩＣ２０は、ＦＰＧＡやＣＰＬＤ等でも代替可能である。記憶部１２は、例えば、ＲＯＭ、ＲＡＭである。ＩＦ部１３は、例えば、表示部３、操作部４に対するＩ／Ｏインタフェース、外部機器Ｂや拡張ユニットとの通信のための通信インターフェースを含む。
【００１７】
記憶部３０は、例えば、ＲＯＭ、ＲＡＭである。記憶部３０には、ＣＰＵ１１が実行する制御プログラム（ラダープログラム）を格納することができる。記憶部３０はデバイスとして利用可能であるが、本実施形態では記憶部１２をデバイスとして利用する場合を想定する。
【００１８】
ＣＰＵ１１は、記憶部３０に記憶された制御プログラムを読み出し、実行する。ＣＰＵ１１は、例えば、後述する中継回路２１を介して入力端子からの情報を取得し、デバイス情報を更新する（入力リフレッシュ）。言い換えると、入力端子から、入力機器からの入力状態を示すデバイス情報（ＯＮ／ＯＦＦ情報など）取得し、記憶部１２においてデバイス情報を更新する（既に記憶されている入力機器用のデバイス情報を上書きする）。その後、制御プログラムを１スキャン実行しつつ、その中で記憶部１２のデバイス情報を更新する。言い換えると、制御プログラムの実行結果に基づいて、出力機器への出力状態を示すデバイス情報（ＯＮ／ＯＦＦ情報など）を更新する。そして、制御プログラムの１スキャン実行後に、出力端子を介して接続される出力機器用のデバイス情報を中継回路２１を介して出力端子から出力する（出力リフレッシュ）。その後、拡張ユニットとの通信処理等の付随処理（ＥＮＤ処理）が行われる。これらの処理を繰り返していくことで、制御が実行されることになる。このように、プログラマブルコントローラＡのＣＰＵ１１は、入力リフレッシュ⇒制御プログラムの１スキャン実行⇒出力リフレッシュ⇒付随処理を一連の処理（１周期、１スキャンタイム）として、何度も繰り返し実行していく。
【００１９】
ＡＳＩＣ２０は、中継回路２１と、カウンタ２２と、パルス信号出力回路２３と、を備える。
本実施形態では、基本的機能を有する制御部１０を汎用マイコンである集積回路とし、固有の機能を有するＡＳＩＣ２０を制御部１０と別の１チップの集積回路としている。これにより、ＣＰＵ１１の負荷を下げることができるとともに、応答性の良いシステムを実現することができる。
【００２０】
ここで、プログラマブルコントローラＡの特殊機能として、出力機器用のデバイス情報に関わらず、出力機器に対し出力端子を介して特定情報を出力する各機能や、入力機器用のデバイス情報に関わらず特定情報を入力する各機能が設けられている。カウンタ２２とパルス信号出力回路２３とは、その一例であり、特定の処理を実行し、デバイス情報に関わらず、出力端子ＯＵＴを介して出力機器に対して特定情報を出力する特定処理回路である。
【００２１】
カウンタ２２は入力機器から送られてくる周期信号（例えばパルス信号）をカウントするカウンタであり、比較的高速（例えば１００ｋＨｚ）の周期信号をカウントする。このようなカウンタを設けることで、ＣＰＵ１１がこのようなカウントを行うことを必要とせず、ＣＰＵ１１の処理負担を軽減して全体として処理速度を向上できる。また、ＣＰＵユニットがこのようなカウンタを備えたことで、カウンタ機能を有する拡張ユニットを別途準備する必要がない。
【００２２】
カウンタ２２は、例えば、ＣＰＵ１１からカウント開始指示を受信した場合にカウントを開始し、指定されたカウント値に達すると、特定情報としてカウント値一致情報をデバイスを介さずに出力する。なお、カウント値一致情報を出力した後、カウンタ２２は動作し続ける場合もある。図中、破線矢印は制御部１０が出力するデータのうち、制御指令に関するものを示している。
【００２３】
カウンタ２２により高速カウンタ機能が実現される。この高速カウンタ機能に対応付けられた入出力を詳しく述べると、カウント入力、プリセット入力、イネーブル入力、コンパレータ一致出力などがある。カウント入力は、エンコーダ等から出力されるパルス用の入力であり、プリセット入力は、カウント値を特定の値に強制的にセットするための入力であり、イネーブル入力は、カウントしたい領域を限定したい場合に使用する入力であり、コンパレータ一致出力は、設定した値（コンパレータ値）とカウント値が一致した際の出力である。
【００２４】
パルス信号出力回路２３は周期信号としてパルス信号を出力する。このような出力回路を設けることで、ＣＰＵ１１がパルス出力処理を行うことを必要とせず、ＣＰＵ１１の処理負担を軽減して全体として処理速度を向上できる。また、ＣＰＵユニットがこのような出力回路を備えたことで、パルス信号出力機能を有する拡張ユニットを別途準備する必要がない。パルス信号出力回路２３は、例えば、ＣＰＵ１１から出力開始指示を受信した場合に特定情報としてデバイスを介さずにパルス信号の出力を開始し、出力停止指示を受信した場合に出力を停止する。
【００２５】
パルス信号出力回路２３により位置決め機能が実現され、例えば、パルス信号によって被制御対象の位置決め制御を行うことができる。この位置決め機能に対応付けられた入出力を詳細に述べると、パルス出力、停止センサ入力、原点センサ入力、Ｚ相入力などがある。
【００２６】
パルス出力は、モータ等を動かすためのパルス信号を出力するための出力であり、停止センサ入力は、移動体が特定点で停止するための位置を決めるためのセンサ用の入力であり、原点センサ入力は、位置制御の基準となる原点とする位置を決めるためのセンサ用の入力であり、Ｚ相入力は、エンコーダ１回転につき１回出力される信号（Ｚ相）の入力である。このＺ相入力は、原点復帰動作が完了した際の位置精度を上げるために使用される。
【００２７】
プログラマブルコントローラＡの特殊機能としては、この他にも割込機能を挙げることができる。この割込機能に対応付けられた割込入力は、ラダープログラムの割り込み処理を開始するためのトリガとなる入力である。
【００２８】
次に、中継回路２１は、制御部１０、カウンタ２２及びパルス信号出力回路２３と、出力端子群ＯＵＴ及び入力端子群ＩＮと、の間に介在し、情報の入出力を制御する。本実施形態の場合、入力端子群ＩＮからの入力情報を制御するようにしているが、出力端子群ＯＵＴへの出力情報のみを制御するようにしてもよい。
【００２９】
中継回路２１には、制御部１０が出力するデバイス情報、及び、カウンタ２２及びパルス信号出力回路２３が出力する特定情報が入力される。言い換えると、ＣＰＵ１１によって更新され、記憶部１２に記憶されている出力機器用のデバイス情報、及び、カウンタ２２及びパルス信号出力回路２３が出力する特定情報が入力される。中継回路２１は出力選択部２１１を備え、出力選択部２１１は、入力されたデバイス情報及び特定情報を、対応する出力端子に出力する。すなわち、複数の出力端子のうち一の出力端子に対し、出力機器用のデバイス情報又は特定情報のいずれか一方を出力する。
【００３０】
出力対象の各デバイス情報、各特定情報には固有の出力端子をそれぞれ割り当てることができる。しかし、本実施形態の場合、特定情報に割り当てられる出力端子はデバイス情報に割り当てられる出力端子を兼用した構成としている。このため、ソース選択部２１２により、どちらの情報を出力するかを選択可能となっている。
【００３１】
例えば、出力端子Ｐｘに、あるデバイスとカウンタ２２とを対応させたとする。ソース選択部２１２は制御部１０からの指示にしたがって、どちらかを優先する。例えば、制御部１０がカウンタ２２を優先するように指示した場合には出力端子Ｐｘからはカウンタ２２からの特定情報が出力されることになる。
【００３２】
中継回路２１には、また、入力端子を介して入力機器から入力情報が入力される。中継回路２１は入力選択部２１３を備え、入力選択部２１３は、入力情報を制御部１０、カウンタ２２へ出力する。入力対象の各デバイス情報には固有の入力端子をそれぞれ割り当てることができ、制御部１０は入力端子とデバイスとの対応関係から、そのデバイスのデバイス情報を更新することができる。
【００３３】
制御プログラムのデバッグ等に利用するため、中継回路２１が出力する情報は強制的に所定の情報にすることができる（以下、強制セットともいう）。その指示は本実施形態の場合、制御部１０が行うが、専用の指示回路を別途設けることも可能である。
【００３４】
本実施形態の場合、外部機器Ｂから受信したコマンドに従って、制御部１０は中継回路２１に対して強制セットを指示する。図３（Ａ）及び（Ｂ）はその一例を示す説明図である。なお、プログラマブルコントローラＡにディップスイッチ等の操作部を設けて、そのＯＮ／ＯＦＦにより強制セットを行うようにすることも可能である。
【００３５】
図３（Ａ）は、デバイス情報の出力を強制セットする場合を例示している。外部機器Ｂから制御部１０へ出力端子Ｐ１を０にするコマンドが出力されている。このとき、記憶部１２に記憶されている出力端子Ｐ１に対応するデバイス情報は１である場合を想定している。制御部１０は出力選択部２１１に対して出力端子Ｐ１を０にするように指示する。出力選択部２１１は出力端子Ｐ１に０を出力する。これにより、対応するデバイス情報に関わらず、出力端子Ｐ１の出力が強制セットされたことになる。
【００３６】
なお、出力端子Ｐ１に対応するデバイス情報自体も、制御プログラムのデバッグに用いるために、０にセットされる。これは、制御プログラムの実行中にＰ１に対応するデバイス情報を参照する場合が多く、この場合、実状態と異なる状態でデバッグするのを回避したいからである。
【００３７】
なお、デバイス情報自体を強制セットせず、１のままにするような構成としてもよい。制御プログラムの実行にしたがって、このデバイス情報が中継回路２１に対して出力されても、出力端子Ｐ１は０のままである。つまり、デバッグの場合と実働の場合とで制御プログラム自体を変える必要はない。
【００３８】
図３（Ｂ）は、特定情報の出力を強制セットする場合を例示している。外部機器Ｂから制御部１０へ出力端子Ｐ２を０にするコマンドが出力されている。出力端子Ｐ２はカウンタ２２に対応した出力端子である場合を想定している。制御部１０は出力選択部２１１に対して出力端子Ｐ２を０にするように指示する。出力選択部２１１は出力端子Ｐ２に０を出力する。これにより、対応する特定情報に関わらず、出力端子Ｐ２の出力が強制セットされたことになる。
【００３９】
カウンタ２２が、現在のカウント値が設定値と一致して特定情報として１を出力したとしても、出力端子Ｐ２は０のままである。つまり、デバッグの場合と実働の場合とで制御プログラム自体を変える必要はない。このように本実施形態では、中継回路２１に対して所定の情報を出力するように強制セットの支持がなされると、デバイス情報や特定情報よりも優先して所定の情報を選択し、出力する。
【００４０】
以上の通り、本実施形態では、デバイス情報に限らず、カウンタ２２等から出力されるデバイスを介さない情報、つまり特殊機能を利用している場合であっても、出力機器への情報の出力状態を制御することができる。要するに、本実施形態に係るプログラマブルコントローラＡでは、制御部１０は、出力機器用のデバイス情報及び特定情報の入力に関わらず、出力機器への出力状態を制御するための所定の情報、すなわち０（オフ情報）を出力端子へ出力するよう、中継回路２１に指示している。これにより、デバイス情報に関わらず、出力端子の状態を制御できる。その結果、外部機器Ｂを用いて制御プログラムのデバッグする際、出力機器に情報が出力され、例えばモータが駆動し、安全性が損なわれてしまうのを防ぐことができる。
【００４１】
なお、入力選択部２１３に対する強制セットも同様である。つまり、制御部１０が入力端子と入力機器への入力状態を制御するための所定の情報を指定してその出力を指示すると、入力選択部２１３は対応する入力端子の実際の入力情報に関わらず、制御部１０やカウンタ２２には、制御部１０が指定した情報が優先的ん選択されて出力される。これにより、実際に入力機器を接続せずにテスト及びデバッグを行える。強制セットとして、カウンタ２２に対して周期信号を入力する場合、入力選択部２１３が周期信号を発生してもよい。
【００４２】
図４（Ａ）は強制セットを行う場合の外部機器ＢのＣＰＵ５１とプログラマブルコントローラＡのＣＰＵ１１の処理例を示す。
【００４３】
ここで、プログラマブルコントローラＡは、入力リフレッシュ、制御プログラムの１スキャン実行、出力リフレッシュ、付随処理、という一連の処理を、周期的に繰り返し実行する「運転（ＲＵＮ）モード」と、外部機器Ｂを接続し、外部機器Ｂにて作成されたラダープログラムや設定されたデバイス値等をプログラマブルコントローラＡに転送し、プログラマブルコントローラＡの各種設定を行う「設定モード」とを有している。なお、付随処理は、ＣＰＵユニットに接続された表示器（図示せず）とのデータ通信、システムのエラーチェック等の付随サービスに関する処理全般を意味する。図４（Ａ）は、「設定モード」において、強制セットを指示する場合を例示している。
【００４４】
外部機器ＢはＳ１で、ユーザの入力を受け付ける。ここでユーザは、強制セットの対象とする出力端子又は入力端子、及び、出力選択部２１１により出力端子から出力させる情報（デバイス値を含む）或いは入力選択部２１３により制御部１０又はカウンタ２２に出力させる情報の内容を指定する。
【００４５】
図４（Ｂ）は表示部６０に表示されるその入力画面の一例を示す。端子欄７０には強制セットの対象として指定された出力端子、入力端子のリストが表示され、それぞれチェックボックス７２が対応づけられている。
【００４６】
チェックボックス７２をチェックすることでその端子の情報の設定内容を変更可能となる。設定欄７１は、対応する端子の情報の設定内容を示し、セットボタン７３が操作されると特定の情報（例えばＯＮ）にセットされ、リセットボタン７４が操作されると別の特定の情報（例えばＯＦＦ）にセット（リセット）される。要するに、ここでいう「特定の情報」とは、出力機器への出力状態を制御するための所定の情報の一例である。また、チェックボックス７２をチェックした状態で削除ボタン７７が操作されると、その端子は端子欄７０から削除されて強制セットの対象から除外される。
【００４７】
強制セットの対象とする端子を追加する場合は、入力欄７５に端子のコードが入力されて追加登録ボタン７６が操作されると、強制セットの対象とする端子が追加される。
【００４８】
実行ボタン７８が操作されると、端子欄７０に挙げられた端子を特定する端子特定情報と、その設定欄７１の設定（出力情報、入力情報）と含むコマンド情報と共に、強制セットの実行コマンドがプログラマブルコントローラＡに送信される。また、解除ボタン７９が操作されると、その旨を示すコマンド情報と共に強制セットの中止コマンドがプログラマブルコントローラＡに送信される。なお、本実施形態では、実行ボタン７８の操作がされた際に、強制セットの実行コマンドがプログラマブルコントローラＡに送信されるようにしているが、チェックボックス７２をチェックしたタイミングで送信されるようにしてもよい。
【００４９】
プログラマブルコントローラＡは、Ｓ１１において実行コマンド又は中止コマンドを外部機器Ｂから受信する。そして、Ｓ１２において、受信したコマンドに基づく指示（コマンド情報）を出力選択部２１１、入力選択部２１３に出力する。Ｓ１２の指示の出力処理は、「設定モード」においては、Ｓ１１のコマンド受信を契機とすることができる。そして、中継回路２１では、このＳ１２の指示を受けたとき、出力機器用のデバイス情報の入力やカウンタ２２からの入力に関わらず、外部機器Ｂにて設定された特定の情報を出力端子へ出力する、或いは、強制セットを中止する（解除する）。こうして、ユーザは外部機器Ｂ上で比較的簡易に強制セット及びその中止を指示することでこれが実行されるようにすることができる。
【００５０】
次に、図４（Ａ）の処理例では、Ｓ１２の指示の出力処理は、上述した「設定モード」において、出力端子を特定する端子特定情報と出力端子から出力させる出力情報（セット又はリセット）とを含むコマンド情報が、設定情報として外部機器ＢからプログラマブルコントローラＡに転送されたときに（Ｓ１１）、行われるようにした。
【００５１】
他にも、「運転モード」において、Ｓ１２の指示に相当する出力処理が行われるようにすることができる。具体的には、図５を用いて説明する。
【００５２】
図５は、「運転モード」中に、図４（Ａ）のＳ１２の指示に相当する出力処理が行われる場合のフローチャートである。
【００５３】
図５において、外部機器Ｂが実行するＳ２１、Ｓ２２の処理は図４（Ａ）のＳ１、Ｓ２の処理と同様である。
【００５４】
プログラマブルコントローラＡは、Ｓ３１において実行コマンド又は中止コマンドを外部機器Ｂから受信し、その内容（コマンド情報）を保存する。コマンド情報は、例えば、記憶部１２に記憶しておくことができる。
【００５５】
Ｓ３２では、強制セット或いは中止を指示するタイミングとして、適切な指示タイミングか否かを判断する。具体的には、現在実行されている処理が付随処理中か否かを判断する。
【００５６】
付随処理中と判断した場合には、適切な指示タイミングであると判断してＳ３３へ進み、コマンド情報を読み出し、現在行っている付随処理の最後に（次の周期で入力リフレッシュが行われる前に）、又は、現在行っている付随処理中に割り込んで、出力選択部２１１、入力選択部２１３にコマンド情報を出力するように強制セットを指示する、或いは、強制セットの中止を指示する。
【００５７】
一方、付随処理中でない、すなわち、入力リフレッシュ、制御プログラム実行、若しくは出力リフレッシュのいずれかの処理中の場合には、受信したコマンドに基づく指示を行わず待機する。このように、図５の処理フローに基づけば、運転モード中においても強制リセットが可能になる。
【図１】
2014052670.tif 000003
【図２】
2014052670.tif 000004
【図３】
2014052670.tif 000005
【図４】
2014052670.tif 000006
【図５】
2014052670.tif 000007