説明

PLCのCPUユニット、PLC用のシステムプログラムおよびPLC用のシステムプログラムを格納した記録媒体

【課題】入出力処理と制御プログラムとが1対1に対応していない場合であっても、少なくとも受信された入力データを制御プログラムが利用可能にすることを、そのための制御プログラム自身による処理を必要とせずに、適切に行うことができるようにする。
【解決手段】システムプログラムは、PLCの制御動作の実行準備処理として、受信された入力データを格納する受信バッファを記憶手段内に生成する処理と、制御プログラムから参照される入力データごとに、その制御プログラムが入力データの参照先とする入力同期バッファを記憶手段内に生成する処理とを実行させる。システムプログラムは、PLCの制御動作の実行制御処理として、受信された入力データを受信バッファからその入力データに対応する入力同期バッファにコピーする入力コピー処理と、制御プログラムを実行開始させる制御プログラム開始処理とを実行させる。


Notice: Undefined index: DEJ in /mnt/www/gzt_disp.php on line 298

【特許請求の範囲】
【請求項1】
制御対象を制御するPLCのCPUユニットであって、
マイクロプロセッサと、
記憶手段と、
通信回路と、を備え、
前記PLCのCPUユニットは、出力データの送信と、入力データの受信と、前記入力データを使用して前記出力データを生成する制御プログラムの実行とを繰り返すことによって前記制御対象を制御するように構成されており、
前記記憶手段は、前記制御プログラムおよびシステムプログラムの格納に用いられ、
前記マイクロプロセッサは、前記記憶手段に格納された前記システムプログラムおよび前記制御プログラムを実行し、
前記通信回路は、前記出力データを送信および前記入力データを受信し、
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、
受信された入力データを格納する受信バッファを前記記憶手段内に生成する処理と、
前記制御プログラムから参照される入力データごとに、その制御プログラムが入力データの参照先とする入力同期バッファを前記記憶手段内に生成する処理とを含み、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、
受信された前記入力データを前記受信バッファからその入力データに対応する前記入力同期バッファにコピーする入力コピー処理と、
前記制御プログラムを実行開始させる制御プログラム開始処理とを含む、PLCのCPUユニット。
【請求項2】
前記入力同期バッファを生成する処理は、前記制御プログラムから参照される入力データごとに、第1入力同期バッファおよび第2入力同期バッファを入力同期バッファの組として生成する処理であり、
前記第1入力同期バッファおよび前記第2入力同期バッファは、前記受信バッファから入力データをコピー可能な状態である書込先状態、および、前記制御プログラムから参照可能な状態である参照先状態、のいずれかの状態が重複せずに付与されるものであり、
前記入力コピー処理は、前記書込先状態である入力同期バッファにコピーする処理である、請求項1に記載のPLCのCPUユニット。
【請求項3】
前記入力同期バッファを生成する処理は、前記制御プログラムから参照される入力データごとに、前記第1入力同期バッファと、前記第2入力同期バッファと、第3入力同期バッファとを入力同期バッファの組として生成する処理であり、
前記第1入力同期バッファ、前記第2入力同期バッファおよび前記第3入力同期バッファは、前記書込先状態、前記参照先状態、待機状態、のいずれかの状態が重複せずに付与されるものであり、
前記入力コピー処理は、さらに、コピー先となった前記書込先状態である入力同期バッファおよびその入力同期バッファと同じ組の中で前記待機状態である入力同期バッファの書込先状態と待機状態とを入れ替える第1入替処理を含み、
前記制御プログラム開始処理は、さらに、実行開始させる制御プログラムの入力同期バッファについて、最新データを格納している入力同期バッファが前記待機状態であることを条件として、前記待機状態である入力同期バッファおよび前記参照先状態である入力同期バッファの待機状態と参照先状態とを入れ替える第2入替処理を含む、請求項2に記載のPLCのCPUユニット。
【請求項4】
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、さらに、前記制御プログラムごとに最新入力データ更新フラグを前記記憶手段内に生成する処理を含み、
前記入力コピー処理は、さらに、当該入力コピーに関連する最新入力データ更新フラグをオンにする処理を含み、
前記制御プログラム開始処理は、さらに、実行開始させる前記制御プログラムの入力同期バッファに関連する最新入力データ更新フラグがオンであることを条件として、前記第2入替処理および当該最新入力データ更新フラグをオフにする処理を含み、
それにより、最新データを格納している入力同期バッファが前記待機状態であることを条件として実行する前記第2入替処理を実現する、請求項3に記載のPLCのCPUユニット。
【請求項5】
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、さらに、最新状態記録領域を前記記憶手段内に生成する処理を含み、
前記入力コピー処理は、さらに、コピー先の入力同期バッファが最新状態であることを前記最新状態記録領域に記録する処理を含み、
前記制御プログラム開始処理は、さらに、前記最新状態記録領域の内容によって特定される最新状態である入力同期バッファが前記待機状態であることを条件として実行される前記第2入替処理を含む、請求項3に記載のPLCのCPUユニット。
【請求項6】
前記制御プログラム開始処理は、さらに、実行開始させる制御プログラムの入力同期バッファについて、最新データを格納している入力同期バッファが前記書込先状態であることを条件として、前記書込先状態である入力同期バッファおよび前記参照先状態である入力同期バッファの書込先状態と参照先状態とを入れ替える第3入替処理を含む、請求項2に記載のPLCのCPUユニット。
【請求項7】
前記入力同期バッファを生成する処理は、前記制御プログラムから参照される入力データごとに、第1入力同期バッファおよび第2入力同期バッファを同期バッファの組として生成する処理であり、
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、さらに、最新状態記録領域を前記記憶手段内に生成する処理を含み、
前記入力コピー処理は、さらに、コピー先の入力同期バッファが最新状態であることを前記最新状態記録領域に記録する処理を含み、
前記制御プログラム開始処理は、さらに、前記最新状態記録領域の内容によって特定される最新状態である入力同期バッファをその制御プログラムの実行において参照する参照先状態とする処理を含む、請求項1に記載のPLCのCPUユニット。
【請求項8】
前記制御プログラム開始処理は、さらに、実行開始させる制御プログラムが参照する前記入力同期バッファを書込禁止状態とする処理を含み、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、さらに、前記制御プログラムの実行が終了すると、前記書込禁止状態であった同期バッファの前記書込禁止状態を解除する書込禁止解除処理を含み、
前記入力コピー処理は、コピー先の前記入力同期バッファが前記書込禁止状態でないことを条件として行う処理である、請求項1に記載のPLCのCPUユニット。
【請求項9】
前記入力同期バッファを生成する処理は、前記制御プログラムから参照される入力データごとに、第1入力同期バッファおよび第2入力同期バッファを同期バッファの組として生成する処理であり、
前記第2入力同期バッファは、前記制御プログラムが入力データを参照するときに参照先とする入力同期バッファであり、
前記入力コピー処理は、前記第1入力同期バッファにコピーする処理であり、
前記制御プログラム開始処理は、さらに、前記制御プログラムを実行開始させる前に前記第1入力同期バッファに格納されているデータを前記第2入力同期バッファにコピーする処理を含む、請求項1に記載のPLCのCPUユニット。
【請求項10】
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、さらに、
送信されるべき出力データを格納する送信バッファを前記記憶手段内に生成する処理と、
前記送信バッファにコピーされる前記出力データが格納される出力同期バッファを前記出力データごとに前記記憶手段内に生成する処理とを含み、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、さらに、前記出力データを前記出力同期バッファから前記送信バッファにコピーする出力コピー処理を含む、請求項1〜9のいずれか1項に記載のPLCのCPUユニット。
【請求項11】
前記出力コピー処理は、前記制御プログラムの実行が終了すると前記出力データをコピーする処理である、請求項10に記載のPLCのCPUユニット。
【請求項12】
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、さらに、前記制御プログラムが前記出力データを格納する演算用バッファを前記記憶手段内に生成する処理を含み、
前記出力同期バッファを生成する処理は、前記出力データごとに、第1出力同期バッファ、第2出力同期バッファおよび第3出力同期バッファを出力同期バッファの組として生成する処理であり、
前記第1出力同期バッファ、前記第2出力同期バッファおよび前記第3出力同期バッファは、前記演算用バッファから出力データをコピー可能な状態である書込先状態、前記送信バッファにコピーするための参照が可能な状態である参照先状態、および待機状態のいずれかの状態が重複せずに付与されるものであり、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、さらに、前記制御プログラムの実行が終了すると、その制御プログラムの実行により生成された前記出力データを前記演算用バッファから前記書込先状態である出力同期バッファにコピーし、さらに、コピー先となった前記書込先状態である出力同期バッファおよびその出力同期バッファと同じ組の中で前記待機状態である出力同期バッファの書込先状態と待機状態とを入れ替える第4入替処理を実行する出力同期バッファ格納処理を含み、
前記出力コピー処理は、最新データを格納している出力同期バッファが前記待機状態であることを条件として、前記待機状態である出力同期バッファおよび前記参照先状態である出力同期バッファの待機状態と参照先状態とを入れ替える第5入替処理を実行し、かつ、前記出力データを前記参照先状態となった出力同期バッファから前記送信バッファにコピーする処理である、請求項10に記載のPLCのCPUユニット。
【請求項13】
前記入力データの受信は、制御サイクルごとに実行され、
前記入力コピー処理は、受信された前記入力データを、当該入力データが前記制御プログラムの実行サイクルが開始した前記制御サイクルと関係する受信タイミングにおいて受信されたことを条件として、前記受信バッファからその入力データに対応する前記入力同期バッファにコピーする処理であり、
前記制御プログラム開始処理は、前記制御プログラムを前記制御サイクルの整数倍の前記実行サイクルごとに実行開始させる処理である、請求項1に記載のPLCのCPUユニット。
【請求項14】
前記入力同期バッファを生成する処理は、前記制御プログラムから参照される入力データごとに、第1入力同期バッファ、第2入力同期バッファおよび第3入力同期バッファを入力同期バッファの組として生成する処理であり、
前記第1入力同期バッファ、前記第2入力同期バッファおよび前記第3入力同期バッファは、前記受信バッファから入力データをコピー可能な状態である書込先状態、前記制御プログラムから参照可能な状態である参照先状態、および、待機状態、のいずれかの状態が重複せずに付与されるものであり、
前記入力データの受信は、制御サイクルごとに実行され、
前記入力コピー処理は、前記書込先状態である入力同期バッファにコピーし、さらに、コピー先となった前記書込先状態である入力同期バッファおよびその入力同期バッファと同じ組の中で前記待機状態である入力同期バッファの書込先状態と待機状態とを入れ替える第1入替処理を実行する処理であり、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、さらに、前記制御プログラムの実行サイクルが開始した前記制御サイクルであることを条件として、前記待機状態である入力同期バッファおよび前記参照先状態である入力同期バッファの待機状態と参照先状態とを入れ替える第2入替処理を実行する実行サイクル入力初期処理を含み、
前記制御プログラム開始処理は、前記制御プログラムを前記制御サイクルの整数倍の前記実行サイクルごとに実行開始させる処理である、請求項1に記載のPLCのCPUユニット。
【請求項15】
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、さらに、
送信されるべき出力データを格納する送信バッファを前記記憶手段内に生成する処理と、
前記送信バッファにコピーされる前記出力データが格納される出力同期バッファを前記出力データごとに前記記憶手段内に生成する処理とを含み、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、さらに、前記出力データを、その出力データを生成した前記制御プログラムが実行された実行サイクルの次の実行サイクルの最初の制御サイクルにおいてその出力データが前記送信バッファから送信されることになるタイミングで、前記出力同期バッファから前記送信バッファにコピーする出力コピー処理を含む、請求項1に記載のPLCのCPUユニット。
【請求項16】
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、さらに、前記制御プログラムが前記出力データを格納する演算用バッファを前記記憶手段内に生成する処理を含み、
前記出力同期バッファを生成する処理は、前記出力データごとに、第1出力同期バッファ、第2出力同期バッファおよび第3出力同期バッファを出力同期バッファの組として生成する処理であり、
前記第1出力同期バッファ、前記第2出力同期バッファおよび前記第3出力同期バッファは、前記演算用バッファから出力データをコピー可能な状態である書込先状態、前記送信バッファにコピーするための参照が可能な状態である参照先状態、待機状態、のいずれかの状態が重複せずに付与されるものであり、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、さらに、前記制御プログラムの実行が終了すると、その制御プログラムの実行により生成された前記出力データを前記演算用バッファから前記書込先状態である出力同期バッファにコピーし、さらに、コピー先となった前記書込先状態である出力同期バッファおよびその出力同期バッファと同じ組の中で前記待機状態である出力同期バッファの書込先状態と待機状態とを入れ替える第4入替処理を実行する出力同期バッファ格納処理を含み、
前記出力コピー処理は、各制御サイクルの開始後、前記送信バッファからの前記出力データの送信までの間に、前記出力データを前記参照先状態である出力同期バッファから前記送信バッファにコピーし、さらに、前記制御プログラムの実行サイクルが開始した制御サイクルであることを条件として、前記送信バッファへの前記コピーを実行するより前に前記待機状態である出力同期バッファおよび前記参照先状態である出力同期バッファの待機状態と参照先状態とを入れ替える第5入替処理を実行し、それにより、前記出力データを、その出力データを生成した前記制御プログラムが実行された実行サイクルの次の実行サイクルの最初の制御サイクルにおいて前記送信バッファから送信されることになるタイミングで、前記出力同期バッファから前記送信バッファにコピーする処理である、請求項15に記載のPLCのCPUユニット。
【請求項17】
マイクロプロセッサと、記憶手段と、通信回路とを備え、出力データの送信と、入力データの受信と、前記入力データを使用して前記出力データを生成する制御プログラムの実行とを繰り返すことによって制御対象を制御するPLCのCPUユニットにおいて、前記記憶手段に格納されて前記マイクロプロセッサによって実行されるためのPLC用のシステムプログラムであって、
前記記憶手段は、前記制御プログラムおよび前記システムプログラムの格納に用いられ、
前記マイクロプロセッサは、前記システムプログラムに加えて、前記制御プログラムを実行し、
前記通信回路は、前記出力データを送信しおよび前記入力データを受信し、
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、
受信された入力データを格納する受信バッファを前記記憶手段内に生成する処理と、
前記制御プログラムから参照される入力データごとに、その制御プログラムが入力データの参照先とする入力同期バッファを前記記憶手段内に生成する処理とを実行させ、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、
受信された前記入力データを前記受信バッファからその入力データに対応する前記入力同期バッファにコピーする入力コピー処理と、
前記制御プログラムを実行開始させる制御プログラム開始処理とを実行させる、PLC用のシステムプログラム。
【請求項18】
前記入力同期バッファを生成する処理は、前記制御プログラムから参照される入力データごとに、第1入力同期バッファおよび第2入力同期バッファを入力同期バッファの組として生成する処理であり、
前記第1入力同期バッファおよび前記第2入力同期バッファは、前記受信バッファから入力データをコピー可能な状態である書込先状態、および、前記制御プログラムから参照可能な状態である参照先状態、のいずれかの状態が重複せずに付与されるものであり、
前記入力コピー処理は、前記書込先状態である入力同期バッファにコピーする処理である、請求項17に記載のPLC用のシステムプログラム。
【請求項19】
前記入力同期バッファを生成する処理は、前記制御プログラムから参照される入力データごとに、前記第1入力同期バッファと、前記第2入力同期バッファと、第3入力同期バッファとを入力同期バッファの組として生成する処理であり、
前記第1入力同期バッファ、前記第2入力同期バッファおよび前記第3入力同期バッファは、前記書込先状態、前記参照先状態、待機状態、のいずれかの状態が重複せずに付与されるものであり、
前記入力コピー処理は、さらに、コピー先となった前記書込先状態である入力同期バッファおよびその入力同期バッファと同じ組の中で前記待機状態である入力同期バッファの書込先状態と待機状態とを入れ替える第1入替処理を含み、
前記制御プログラム開始処理は、さらに、実行開始させる制御プログラムの入力同期バッファについて、最新データを格納している入力同期バッファが前記待機状態であることを条件として、前記待機状態である入力同期バッファおよび前記参照先状態である入力同期バッファの待機状態と参照先状態とを入れ替える第2入替処理を含む、請求項18に記載のPLC用のシステムプログラム。
【請求項20】
前記制御プログラム開始処理は、さらに、実行開始させる制御プログラムの入力同期バッファについて、最新データを格納している入力同期バッファが前記書込先状態であることを条件として、前記書込先状態である入力同期バッファおよび前記参照先状態である入力同期バッファの書込先状態と参照先状態とを入れ替える第3入替処理を含む、請求項18に記載のPLC用のシステムプログラム。
【請求項21】
前記入力同期バッファを生成する処理は、前記制御プログラムから参照される入力データごとに、第1入力同期バッファおよび第2入力同期バッファを同期バッファの組として生成する処理であり、
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、さらに、最新状態記録領域を前記記憶手段内に生成する処理を含み、
前記入力コピー処理は、さらに、コピー先の入力同期バッファが最新状態であることを前記最新状態記録領域に記録する処理を含み、
前記制御プログラム開始処理は、さらに、前記最新状態記録領域の内容によって特定される最新状態である入力同期バッファをその制御プログラムの実行において参照する参照先状態とする処理を含む、請求項17に記載のPLC用のシステムプログラム。
【請求項22】
前記制御プログラム開始処理は、さらに、実行開始させる制御プログラムが参照する前記入力同期バッファを書込禁止状態とする処理を含み、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、さらに、前記制御プログラムの実行が終了すると、前記書込禁止状態であった同期バッファの前記書込禁止状態を解除する書込禁止解除処理を含み、
前記入力コピー処理は、コピー先の前記入力同期バッファが前記書込禁止状態でないことを条件として行う処理である、請求項17に記載のPLC用のシステムプログラム。
【請求項23】
前記入力同期バッファを生成する処理は、前記制御プログラムから参照される入力データごとに、第1入力同期バッファおよび第2入力同期バッファを同期バッファの組として生成する処理であり、
前記第2入力同期バッファは、前記制御プログラムが入力データを参照するときに参照先とする入力同期バッファであり、
前記入力コピー処理は、前記第1入力同期バッファにコピーする処理であり、
前記制御プログラム開始処理は、さらに、前記制御プログラムを実行開始させる前に前記第1入力同期バッファに格納されているデータを前記第2入力同期バッファにコピーする処理を含む、請求項17に記載のPLC用のシステムプログラム。
【請求項24】
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、さらに、
送信されるべき出力データを格納する送信バッファを前記記憶手段内に生成する処理と、
前記送信バッファにコピーされる前記出力データが格納される出力同期バッファを前記出力データごとに前記記憶手段内に生成する処理とを含み、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、さらに、前記出力データを前記出力同期バッファから前記送信バッファにコピーする出力コピー処理を含む、請求項17〜23のいずれか1項に記載のPLC用のシステムプログラム。
【請求項25】
前記出力コピー処理は、前記制御プログラムの実行が終了すると前記出力データをコピーする処理である、請求項24に記載のPLC用のシステムプログラム。
【請求項26】
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、さらに、前記制御プログラムが前記出力データを格納する演算用バッファを前記記憶手段内に生成する処理を含み、
前記出力同期バッファを生成する処理は、前記出力データごとに、第1出力同期バッファ、第2出力同期バッファおよび第3出力同期バッファを出力同期バッファの組として生成する処理であり、
前記第1出力同期バッファ、前記第2出力同期バッファおよび前記第3出力同期バッファは、前記演算用バッファから出力データをコピー可能な状態である書込先状態、前記送信バッファにコピーするための参照が可能な状態である参照先状態、および待機状態のいずれかの状態が重複せずに付与されるものであり、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、さらに、前記制御プログラムの実行が終了すると、その制御プログラムの実行により生成された前記出力データを前記演算用バッファから前記書込先状態である出力同期バッファにコピーし、さらに、コピー先となった前記書込先状態である出力同期バッファおよびその出力同期バッファと同じ組の中で前記待機状態である出力同期バッファの書込先状態と待機状態とを入れ替える第4入替処理を実行する出力同期バッファ格納処理を含み、
前記出力コピー処理は、最新データを格納している出力同期バッファが前記待機状態であることを条件として、前記待機状態である出力同期バッファおよび前記参照先状態である出力同期バッファの待機状態と参照先状態とを入れ替える第5入替処理を実行し、かつ、前記出力データを前記参照先状態となった出力同期バッファから前記送信バッファにコピーする処理である、請求項24に記載のPLC用のシステムプログラム。
【請求項27】
前記入力データの受信は、制御サイクルごとに実行され、
前記入力コピー処理は、受信された前記入力データを、当該入力データが前記制御プログラムの実行サイクルが開始した前記制御サイクルと関係する受信タイミングにおいて受信されたことを条件として、前記受信バッファからその入力データに対応する前記入力同期バッファにコピーする処理であり、
前記制御プログラム開始処理は、前記制御プログラムを前記制御サイクルの整数倍の前記実行サイクルごとに実行開始させる処理である、請求項17に記載のPLC用のシステムプログラム。
【請求項28】
前記入力同期バッファを生成する処理は、前記制御プログラムから参照される入力データごとに、第1入力同期バッファ、第2入力同期バッファおよび第3入力同期バッファを入力同期バッファの組として生成する処理であり、
前記第1入力同期バッファ、前記第2入力同期バッファおよび前記第3入力同期バッファは、前記受信バッファから入力データをコピー可能な状態である書込先状態、前記制御プログラムから参照可能な状態である参照先状態、および、待機状態、のいずれかの状態が重複せずに付与されるものであり、
前記入力データの受信は、制御サイクルごとに実行され、
前記入力コピー処理は、前記書込先状態である入力同期バッファにコピーし、さらに、コピー先となった前記書込先状態である入力同期バッファおよびその入力同期バッファと同じ組の中で前記待機状態である入力同期バッファの書込先状態と待機状態とを入れ替える第1入替処理を実行する処理であり、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、さらに、前記制御プログラムの実行サイクルが開始した前記制御サイクルであることを条件として、前記待機状態である入力同期バッファおよび前記参照先状態である入力同期バッファの待機状態と参照先状態とを入れ替える第2入替処理を実行する実行サイクル入力初期処理を含み、
前記制御プログラム開始処理は、前記制御プログラムを前記制御サイクルの整数倍の前記実行サイクルごとに実行開始させる処理である、請求項17に記載のPLC用のシステムプログラム。
【請求項29】
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、さらに、
送信されるべき出力データを格納する送信バッファを前記記憶手段内に生成する処理と、
前記送信バッファにコピーされる前記出力データが格納される出力同期バッファを前記出力データごとに前記記憶手段内に生成する処理とを含み、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、さらに、前記出力データを、その出力データを生成した前記制御プログラムが実行された実行サイクルの次の実行サイクルの最初の制御サイクルにおいてその出力データが前記送信バッファから送信されることになるタイミングで、前記出力同期バッファから前記送信バッファにコピーする出力コピー処理を含む、請求項17に記載のPLC用のシステムプログラム。
【請求項30】
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、さらに、前記制御プログラムが前記出力データを格納する演算用バッファを前記記憶手段内に生成する処理を含み、
前記出力同期バッファを生成する処理は、前記出力データごとに、第1出力同期バッファ、第2出力同期バッファおよび第3出力同期バッファを出力同期バッファの組として生成する処理であり、
前記第1出力同期バッファ、前記第2出力同期バッファおよび前記第3出力同期バッファは、前記演算用バッファから出力データをコピー可能な状態である書込先状態、前記送信バッファにコピーするための参照が可能な状態である参照先状態、待機状態、のいずれかの状態が重複せずに付与されるものであり、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、さらに、前記制御プログラムの実行が終了すると、その制御プログラムの実行により生成された前記出力データを前記演算用バッファから前記書込先状態である出力同期バッファにコピーし、さらに、コピー先となった前記書込先状態である出力同期バッファおよびその出力同期バッファと同じ組の中で前記待機状態である出力同期バッファの書込先状態と待機状態とを入れ替える第4入替処理を実行する出力同期バッファ格納処理を含み、
前記出力コピー処理は、各制御サイクルの開始後、前記送信バッファからの前記出力データの送信までの間に、前記出力データを前記参照先状態である出力同期バッファから前記送信バッファにコピーし、さらに、前記制御プログラムの実行サイクルが開始した制御サイクルであることを条件として、前記送信バッファへの前記コピーを実行するより前に前記待機状態である出力同期バッファおよび前記参照先状態である出力同期バッファの待機状態と参照先状態とを入れ替える第5入替処理を実行し、それにより、前記出力データを、その出力データを生成した前記制御プログラムが実行された実行サイクルの次の実行サイクルの最初の制御サイクルにおいて前記送信バッファから送信されることになるタイミングで、前記出力同期バッファから前記送信バッファにコピーする処理である、請求項29に記載のPLC用のシステムプログラム。
【請求項31】
マイクロプロセッサと、記憶手段と、通信回路とを備え、出力データの送信と、入力データの受信と、前記入力データを使用して前記出力データを生成する制御プログラムの実行とを繰り返すことによって制御対象を制御するPLCのCPUユニットにおいて、前記記憶手段に格納されて前記マイクロプロセッサによって実行されるためのPLC用のシステムプログラムを格納した記録媒体であって、
前記記憶手段は、前記制御プログラムおよび前記システムプログラムの格納に用いられ、
前記マイクロプロセッサは、前記システムプログラムに加えて、前記制御プログラムを実行し、
前記通信回路は、前記出力データを送信しおよび前記入力データを受信し、
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、
受信された入力データを格納する受信バッファを前記記憶手段内に生成する処理と、
前記制御プログラムから参照される入力データごとに、その制御プログラムが入力データの参照先とする入力同期バッファを前記記憶手段内に生成する処理とを実行させ、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、
受信された前記入力データを前記受信バッファからその入力データに対応する前記入力同期バッファにコピーする入力コピー処理と、
前記制御プログラムを実行開始させる制御プログラム開始処理とを実行させる、PLC用のシステムプログラムを格納した記録媒体。
【請求項32】
前記入力同期バッファを生成する処理は、前記制御プログラムから参照される入力データごとに、第1入力同期バッファおよび第2入力同期バッファを入力同期バッファの組として生成する処理であり、
前記第1入力同期バッファおよび前記第2入力同期バッファは、前記受信バッファから入力データをコピー可能な状態である書込先状態、および、前記制御プログラムから参照可能な状態である参照先状態、のいずれかの状態が重複せずに付与されるものであり、
前記入力コピー処理は、前記書込先状態である入力同期バッファにコピーする処理である、請求項31に記載のPLC用のシステムプログラムを格納した記録媒体。
【請求項33】
前記入力同期バッファを生成する処理は、前記制御プログラムから参照される入力データごとに、前記第1入力同期バッファと、前記第2入力同期バッファと、第3入力同期バッファとを入力同期バッファの組として生成する処理であり、
前記第1入力同期バッファ、前記第2入力同期バッファおよび前記第3入力同期バッファは、前記書込先状態、前記参照先状態、待機状態、のいずれかの状態が重複せずに付与されるものであり、
前記入力コピー処理は、さらに、コピー先となった前記書込先状態である入力同期バッファおよびその入力同期バッファと同じ組の中で前記待機状態である入力同期バッファの書込先状態と待機状態とを入れ替える第1入替処理を含み、
前記制御プログラム開始処理は、さらに、実行開始させる制御プログラムの入力同期バッファについて、最新データを格納している入力同期バッファが前記待機状態であることを条件として、前記待機状態である入力同期バッファおよび前記参照先状態である入力同期バッファの待機状態と参照先状態とを入れ替える第2入替処理を含む、請求項32に記載のPLC用のシステムプログラムを格納した記録媒体。
【請求項34】
前記制御プログラム開始処理は、さらに、実行開始させる制御プログラムの入力同期バッファについて、最新データを格納している入力同期バッファが前記書込先状態であることを条件として、前記書込先状態である入力同期バッファおよび前記参照先状態である入力同期バッファの書込先状態と参照先状態とを入れ替える第3入替処理を含む、請求項32に記載のPLC用のシステムプログラムを格納した記録媒体。
【請求項35】
前記入力同期バッファを生成する処理は、前記制御プログラムから参照される入力データごとに、第1入力同期バッファおよび第2入力同期バッファを同期バッファの組として生成する処理であり、
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、さらに、最新状態記録領域を前記記憶手段内に生成する処理を含み、
前記入力コピー処理は、さらに、コピー先の入力同期バッファが最新状態であることを前記最新状態記録領域に記録する処理を含み、
前記制御プログラム開始処理は、さらに、前記最新状態記録領域の内容によって特定される最新状態である入力同期バッファをその制御プログラムの実行において参照する参照先状態とする処理を含む、請求項31に記載のPLC用のシステムプログラムを格納した記録媒体。
【請求項36】
前記制御プログラム開始処理は、さらに、実行開始させる制御プログラムが参照する前記入力同期バッファを書込禁止状態とする処理を含み、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、さらに、前記制御プログラムの実行が終了すると、前記書込禁止状態であった同期バッファの前記書込禁止状態を解除する書込禁止解除処理を含み、
前記入力コピー処理は、コピー先の前記入力同期バッファが前記書込禁止状態でないことを条件として行う処理である、請求項31に記載のPLC用のシステムプログラムを格納した記録媒体。
【請求項37】
前記入力同期バッファを生成する処理は、前記制御プログラムから参照される入力データごとに、第1入力同期バッファおよび第2入力同期バッファを同期バッファの組として生成する処理であり、
前記第2入力同期バッファは、前記制御プログラムが入力データを参照するときに参照先とする入力同期バッファであり、
前記入力コピー処理は、前記第1入力同期バッファにコピーする処理であり、
前記制御プログラム開始処理は、さらに、前記制御プログラムを実行開始させる前に前記第1入力同期バッファに格納されているデータを前記第2入力同期バッファにコピーする処理を含む、請求項31に記載のPLC用のシステムプログラムを格納した記録媒体。
【請求項38】
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、さらに、
送信されるべき出力データを格納する送信バッファを前記記憶手段内に生成する処理と、
前記送信バッファにコピーされる前記出力データが格納される出力同期バッファを前記出力データごとに前記記憶手段内に生成する処理とを含み、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、さらに、前記出力データを前記出力同期バッファから前記送信バッファにコピーする出力コピー処理を含む、請求項31〜37のいずれか1項に記載のPLC用のシステムプログラムを格納した記録媒体。
【請求項39】
前記出力コピー処理は、前記制御プログラムの実行が終了すると前記出力データをコピーする処理である、請求項38に記載のPLC用のシステムプログラムを格納した記録媒体。
【請求項40】
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、さらに、前記制御プログラムが前記出力データを格納する演算用バッファを前記記憶手段内に生成する処理を含み、
前記出力同期バッファを生成する処理は、前記出力データごとに、第1出力同期バッファ、第2出力同期バッファおよび第3出力同期バッファを出力同期バッファの組として生成する処理であり、
前記第1出力同期バッファ、前記第2出力同期バッファおよび前記第3出力同期バッファは、前記演算用バッファから出力データをコピー可能な状態である書込先状態、前記送信バッファにコピーするための参照が可能な状態である参照先状態、および待機状態のいずれかの状態が重複せずに付与されるものであり、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、さらに、前記制御プログラムの実行が終了すると、その制御プログラムの実行により生成された前記出力データを前記演算用バッファから前記書込先状態である出力同期バッファにコピーし、さらに、コピー先となった前記書込先状態である出力同期バッファおよびその出力同期バッファと同じ組の中で前記待機状態である出力同期バッファの書込先状態と待機状態とを入れ替える第4入替処理を実行する出力同期バッファ格納処理を含み、
前記出力コピー処理は、最新データを格納している出力同期バッファが前記待機状態であることを条件として、前記待機状態である出力同期バッファおよび前記参照先状態である出力同期バッファの待機状態と参照先状態とを入れ替える第5入替処理を実行し、かつ、前記出力データを前記参照先状態となった出力同期バッファから前記送信バッファにコピーする処理である、請求項38に記載のPLC用のシステムプログラムを格納した記録媒体。
【請求項41】
前記入力データの受信は、制御サイクルごとに実行され、
前記入力コピー処理は、受信された前記入力データを、当該入力データが前記制御プログラムの実行サイクルが開始した前記制御サイクルと関係する受信タイミングにおいて受信されたことを条件として、前記受信バッファからその入力データに対応する前記入力同期バッファにコピーする処理であり、
前記制御プログラム開始処理は、前記制御プログラムを前記制御サイクルの整数倍の前記実行サイクルごとに実行開始させる処理である、請求項31に記載のPLC用のシステムプログラムを格納した記録媒体。
【請求項42】
前記入力同期バッファを生成する処理は、前記制御プログラムから参照される入力データごとに、第1入力同期バッファ、第2入力同期バッファおよび第3入力同期バッファを入力同期バッファの組として生成する処理であり、
前記第1入力同期バッファ、前記第2入力同期バッファおよび前記第3入力同期バッファは、前記受信バッファから入力データをコピー可能な状態である書込先状態、前記制御プログラムから参照可能な状態である参照先状態、および、待機状態、のいずれかの状態が重複せずに付与されるものであり、
前記入力データの受信は、制御サイクルごとに実行され、
前記入力コピー処理は、前記書込先状態である入力同期バッファにコピーし、さらに、コピー先となった前記書込先状態である入力同期バッファおよびその入力同期バッファと同じ組の中で前記待機状態である入力同期バッファの書込先状態と待機状態とを入れ替える第1入替処理を実行する処理であり、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、さらに、前記制御プログラムの実行サイクルが開始した前記制御サイクルであることを条件として、前記待機状態である入力同期バッファおよび前記参照先状態である入力同期バッファの待機状態と参照先状態とを入れ替える第2入替処理を実行する実行サイクル入力初期処理を含み、
前記制御プログラム開始処理は、前記制御プログラムを前記制御サイクルの整数倍の前記実行サイクルごとに実行開始させる処理である、請求項31に記載のPLC用のシステムプログラムを格納した記録媒体。
【請求項43】
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、さらに、
送信されるべき出力データを格納する送信バッファを前記記憶手段内に生成する処理と、
前記送信バッファにコピーされる前記出力データが格納される出力同期バッファを前記出力データごとに前記記憶手段内に生成する処理とを含み、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、さらに、前記出力データを、その出力データを生成した前記制御プログラムが実行された実行サイクルの次の実行サイクルの最初の制御サイクルにおいてその出力データが前記送信バッファから送信されることになるタイミングで、前記出力同期バッファから前記送信バッファにコピーする出力コピー処理を含む、請求項31に記載のPLC用のシステムプログラムを格納した記録媒体。
【請求項44】
前記システムプログラムは、前記PLCの制御動作の実行準備処理として、さらに、前記制御プログラムが前記出力データを格納する演算用バッファを前記記憶手段内に生成する処理を含み、
前記出力同期バッファを生成する処理は、前記出力データごとに、第1出力同期バッファ、第2出力同期バッファおよび第3出力同期バッファを出力同期バッファの組として生成する処理であり、
前記第1出力同期バッファ、前記第2出力同期バッファおよび前記第3出力同期バッファは、前記演算用バッファから出力データをコピー可能な状態である書込先状態、前記送信バッファにコピーするための参照が可能な状態である参照先状態、待機状態、のいずれかの状態が重複せずに付与されるものであり、
前記システムプログラムは、前記PLCの制御動作の実行制御処理として、さらに、前記制御プログラムの実行が終了すると、その制御プログラムの実行により生成された前記出力データを前記演算用バッファから前記書込先状態である出力同期バッファにコピーし、さらに、コピー先となった前記書込先状態である出力同期バッファおよびその出力同期バッファと同じ組の中で前記待機状態である出力同期バッファの書込先状態と待機状態とを入れ替える第4入替処理を実行する出力同期バッファ格納処理を含み、
前記出力コピー処理は、各制御サイクルの開始後、前記送信バッファからの前記出力データの送信までの間に、前記出力データを前記参照先状態である出力同期バッファから前記送信バッファにコピーし、さらに、前記制御プログラムの実行サイクルが開始した制御サイクルであることを条件として、前記送信バッファへの前記コピーを実行するより前に前記待機状態である出力同期バッファおよび前記参照先状態である出力同期バッファの待機状態と参照先状態とを入れ替える第5入替処理を実行し、それにより、前記出力データを、その出力データを生成した前記制御プログラムが実行された実行サイクルの次の実行サイクルの最初の制御サイクルにおいて前記送信バッファから送信されることになるタイミングで、前記出力同期バッファから前記送信バッファにコピーする処理である、請求項43に記載のPLC用のシステムプログラムを格納した記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate


【公開番号】特開2012−194667(P2012−194667A)
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2011−56773(P2011−56773)
【出願日】平成23年3月15日(2011.3.15)
【特許番号】特許第4752983号(P4752983)
【特許公報発行日】平成23年8月17日(2011.8.17)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】