(57)【特許請求の範囲】
【請求項１】
データが書き込まれるデータ格納メモリと、
前記データ格納メモリに書き込まれたデータがコピーされる複数のデータコピーメモリと、
前記複数のデータコピーメモリのうち、データの読み出しが行われていない１つのデータコピーメモリを選択する非読出コピーメモリ選択手段と、
前記データ格納メモリが記憶する全データを、前記非読出コピーメモリ選択手段が選択中のデータコピーメモリにコピーするメモリコピー手段と、
前記メモリコピー手段がデータのコピーを完了し、かつ、前記複数のデータコピーメモリからデータの読み出し及び伝送手段へのデータの出力を行っていないとき、前記データのコピーが完了したデータコピーメモリを選択する読出コピーメモリ選択手段と、
前記読出コピーメモリ選択手段が選択中のデータコピーメモリから全データを読み出して伝送手段に出力するデータ出力手段と、
を備えたことを特徴とする伝送制御装置。
【請求項２】
外部から送信要求信号を渡されるまでに外部から入力される単位データを、キュー形式により１以上記憶するデータ格納キューと、
前記メモリコピー手段がデータのコピーを完了した後、前記データ格納キューが記憶する単位データを前記メモリコピー手段がデータのコピーを完了する毎に１つのみ読み出して前記データ格納メモリに書き込むデータ書込手段と、を備える、
ことを特徴とする請求項１記載の伝送制御装置。
【請求項３】
データミラーメモリと、
前記外部から入力されるデータを単位コピーし、コピーした単位データを前記データミラーメモリに書き込むミラーメモリ書込手段と、
前記データミラーメモリに記憶される単位データを読み出し、読み出した単位データを外部へ出力するデータミラーメモリ読出手段と、
を有することを特徴とする請求項２記載の伝送制御装置。
【請求項４】
前記単位データは、前記データ格納メモリ上の位置を指定するアドレスを含み、
前記データ格納メモリは、前記単位データが、当該単位データが含むアドレスが示す位置に書き込まれる、
ことを特徴とする請求項１から３のいずれか記載の伝送制御装置。
【請求項５】
請求項１から４のいずれか記載の伝送制御装置と、
制御プログラムを実行して単位データを生成し、生成した単位データを前記伝送制御装置に入力し、その後、送信要求信号を前記伝送制御装置に渡す演算手段と、
を備えたことを特徴とするＰＬＣ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックコントローラ（以下、ＰＬＣと略す）内の演算装置から書き込まれる送信データを不可分データとして伝送路に出力する伝送制御装置、メモリ制御装置、及び前記伝送制御装置を備えたＰＬＣに関する。
【背景技術】
【０００２】
ＰＬＣは、内部に記憶する制御プログラムを演算装置が実行して送信データを生成し、送信データを不可分データとして他のＰＬＣ等へ伝送路を介して送信する。ここで不可分データとは、複数の情報からなる一連のデータであって、分離すると本来の意味を解釈できないデータのことを指す。従って、不可分データは分離せずに送信する必要がある。【０００３】
ここで、制御プログラムの１サイクルを実行するのに要する時間や制御プログラムの実行中に送信データを生成するタイミングは、ＰＬＣを備えた制御システム毎に異なる設定がなされ、また制御プログラム実行中に時々刻々と変わり得る。一方、演算装置が生成した送信データは、伝送路に予め定められる伝送方式（例えば時分割多重化方式：ＴＤＭＡ方式など）に従って、伝送路に送信される。このため、演算装置による送信データの生成と伝送路への送信データの送信とは、非同期に行わなければならない場合がある。そして、かかる場合でも、伝送路に送信データを送信する際には、不可分データとして送信すること（以降、「不可分データの同時性」と呼ぶ。）を保証する必要がある。【０００４】
かかる課題の解決を目的とした技術として、特許文献１に示すものがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第２５１０２６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１では、仮に第１のシステムコントローラの非アクセス時間より第２のシステムコントローラのアクセス時間が長い場合、第１のシステムコントローラから出力される全ての不可分データを第１のメモリに書き込むことができず、不可分データの同時性を保証できないという問題がある。【０００７】
また、第１のメモリに一時的に記憶されているデータを第２又は第３のメモリに書き込んでいる間、第１のシステムコントローラは、第１のメモリに新たなデータを書き込むことができずに待機しなければならず、制御プログラムの実行時間が長くなるという問題がある。また、これにより、伝送路への送信データの出力に遅延が生じるという問題がある。
【課題を解決するための手段】
【０００８】
本発明における伝送制御装置は、データが書き込まれるデータ格納メモリと、前記データ格納メモリに書き込まれたデータがコピーされる複数のデータコピーメモリと、前記複数のデータコピーメモリのうち、データの読み出しが行われていない１つのデータコピーメモリを選択する非読出コピーメモリ選択手段と、前記データ格納メモリが記憶する全データを、前記非読出コピーメモリ選択手段が選択中のデータコピーメモリにコピーするメモリコピー手段と、前記メモリコピー手段がデータのコピーを完了し、かつ、前記複数のデータコピーメモリからデータの読み出し及び伝送手段へのデータの出力を行っていないとき、前記データのコピーが完了したデータコピーメモリを選択する読出コピーメモリ選択手段と、前記読出コピーメモリ選択手段が選択中のデータコピーメモリから全データを読み出して伝送手段に出力するデータ出力手段と、を備えたことを特徴とする。
【００１０】
本発明におけるメモリ制御装置は、データが書き込まれるデータ格納メモリと、外部から送信要求信号を渡されるまでに外部から入力されるデータをキュー形式により記憶するデータ格納キューと、前記データ格納キューからデータを読み出し、読み出した前記データを前記データ格納メモリに書き込むキュー制御手段と、前記入力されるデータがコピーされたものを記憶するデータミラーメモリと、前記入力されるデータをコピーし、コピーしたデータを前記データミラーメモリに書き込むミラーメモリ書込手段と、前記データミラーメモリに記憶されるデータを読み出し、読み出したデータを外部へ出力するデータミラーメモリ読出手段と、を有することを特徴とする。【００１２】
本発明におけるＰＬＣは、上記の伝送制御装置と、制御プログラムを実行して単位データを生成し、生成した単位データを前記伝送制御装置に入力し、その後、送信要求信号を前記伝送制御装置に渡す演算手段と、を備えたことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、演算装置による不可分データである送信データの伝送制御装置への書き込みと、伝送制御装置による伝送路への送信データの出力とが非同期に行われる場合でも、不可分データの同時性を保証しつつ、送信データの書き込みと読み出しとのアクセス競合を防止することができる。これにより、送信データの書き込みまたは読み出しにおける待機時間を短縮することができ、制御プログラムの実行周期を短縮することができる。また、送信データの伝送路への出力における遅延を短縮することができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態１におけるＰＬＣの機能ブロック図である。
【図２】実施の形態１における演算装置１０１から見た伝送制御装置１０２のメモリマップである。
【図３】実施の形態１における送信データ格納キュー１３０の内部構成例を示す図である。
【図４】実施の形態１における演算装置１０１が行う処理を示すフローチャートである。
【図５】演算装置１０１から送信データ４１０と送信要求信号４１１が送信メモリ１１０に書き込まれた場合に、実施の形態１における伝送制御装置１０２が行う処理を示すフローチャートである。
【図６】送信装置２２０が時分割伝送周期毎に行う送信データ４１０の読出及び出力に関連して、実施の形態１における伝送制御装置１０２が行う処理を示すフローチャートである。
【図７】実施の形態２におけるプログラマブルコントローラの機能ブロック図である。
【符号の説明】
【００１５】
１００  ＰＬＣ
１０１  演算装置
１０２  伝送制御装置
１２０  キュー制御部
１２１  キュー書込装置
１２２  キュー読出装置
１２３  キュー制御装置
１２４  送信データ出力装置
１３０  送信データ格納キュー
１４０  送信データミラーメモリ
１４１  ミラーメモリ書込装置
１４２  ミラーメモリ読出装置
１５０  メモリコピー制御装置
１６０  格納メモリセレクタ
１７０  送信データ格納メモリ
１８０  メモリコピー実行装置
１９０  コピーメモリセレクタ
１９０a  第１コピーメモリセレクタ
１９０b  第２コピーメモリセレクタ
１９０c  第３コピーメモリセレクタ
２００  メモリセレクタ制御部
２０１  メモリセレクタ制御装置
２０２  更新状況フラグメモリ
２０３  送信状況フラグメモリ
２０４  コピーメモリ表示フラグメモリ
２１０  送信データコピーメモリ
２１０a  第１送信データコピーメモリ
２１０b  第２送信データコピーメモリ
２２０  送信装置
３００  伝送路
４１０  送信データ
４１１  送信要求信号
４１２  読出動作切替信号
４１３  コピー実行信号
４１４  格納メモリ切替信号
４１５  第１コピーメモリ切替信号
４１６  第２コピーメモリ切替信号
４１７  第３コピーメモリ切替信号
４２１  メモリコピー実行要求信号
４３１  メモリコピー開始通知信号
４３２  第１メモリコピー完了通知信号
４３３  第２メモリコピー完了通知信号
４４１  送信開始通知信号
４４２  送信完了通知信号
【発明を実施するための形態】
【００１６】
実施の形態１．
図１〜６を参照して、本発明における実施の形態１を説明する。なお本実施の形態では演算装置が生成する送信データは不可分データであるものとする。また、伝送路における伝送方式はＴＤＭＡ方式であるものとして説明する。
【００１７】
図１は、実施の形態１におけるＰＬＣの機能ブロック図である。図１に示すＰＬＣ１００は、送信データ４１０を生成するＭＰＵなどの演算装置１０１と、演算装置１０１により生成された１つまたは複数の送信データ４１０をまとめて不可分データとして伝送路３００に出力する伝送制御装置１０２とを有する。伝送制御装置１０２により出力された送信データ４１０は、バスなどの伝送路３００を介して、図示しない他のＰＬＣや機器にて受信される。
【００１８】
ＰＬＣ１００は、図示しないメモリにシステムプログラムと制御プログラムを記憶している。そして、演算装置１０１は、システムプログラムに従って制御プログラムを実行することで、１つまたは複数の送信データ４１０を生成する。各送信データ４１０は、１つのアドレスと、このアドレスに書き込む１つまたは複数の情報データとからなる。また、演算装置１０１は、送信データ４１０を生成後、各送信データ４１０を構成するアドレスとデータを順番に伝送制御装置１０２に渡し、引き続いて送信要求信号４１１を伝送制御装置１０２に渡す。
【００１９】
図２は、演算装置１０１から見た伝送制御装置１０２のメモリマップである。このメモリマップには、送信メモリ１１０と送信要求レジスタ１１１とが割付けられている。演算装置１０１は、送信データ４１０を送信メモリ１１０に書き込み、送信要求信号４１１を送信要求レジスタ１１１に書き込む。送信メモリ１１０と送信要求レジスタ１１１とは、演算装置１０１から見た仮想的な記憶領域であり、後述のように、送信メモリ１１０に書き込まれた送信データ４１０は、伝送制御装置１０２により送信データ格納メモリ１７０に書き込まれる。
【００２０】
つぎに、図１に示す伝送制御装置１０２を構成する各ブロックの機能について説明する。なお、伝送制御装置１０２は、ソフトウェア、ハードウェア、または両者の組み合わせにより構成することができる。まず、キュー制御部１２０は、演算装置１０１から送信データ４１０と送信要求信号４１１を受け取る。受け取った送信データ４１０と送信要求信号４１１は、送信データ格納キューに一時的にキューイングする。そして、送信データ４１０を送信データ格納メモリ１７０に記憶する。すなわち送信データ４１０を構成するアドレスとして、送信データ格納メモリ１７０内の番地が設定されている。このアドレスは、送信データ４１０を書き込む番地であるとして、伝送制御装置１０２により解釈される。またキュー制御部１２０は、メモリコピー制御装置１５０との間で制御信号のやりとりを行う。キュー制御部１２０は、キュー書込装置１２１と、キュー読出装置１２２と、キュー制御装置１２３と、送信データ出力装置１２４を備える。
【００２１】
キュー書込み装置１２１は、演算装置１０１から受け取った送信データ４１０と送信要求信号４１１を、送信データ格納キュー１３０へ書き込む。
【００２２】
送信データ格納キュー１３０は、キュー書込み装置１２１により書き込まれる送信データ４１０と送信要求信号４１１を、キュー形式により一時的に記憶する。図３は、送信データ４１０と送信要求信号４１１が送信データ格納キュー１３０に書き込まれている様子を模式的に示す図である。送信データ格納キュー１３０は、送信データ４１０と送信要求信号４１１を、書き込まれた順番に記憶するとともに、古いものから順に出力し、例えばＦＩＦＯで構成される。送信データ格納キュー１３０の記憶容量は、キュー読出装置１２２が読み出しを行わない間に、演算装置１０１からキュー書込装置１２１を介して書き込まれる可能性のある送信データ４１０と送信要求信号４１１との最大数分を記憶できるだけの容量以上となるよう、予め設定される。
【００２３】
キュー読出装置１２２は、キュー制御装置１２３により送信データ格納キュー１３０からの読み出しを許可されている場合、送信データ４１０と送信要求信号４１１を読み出し、これらを読み出した順番にキュー制御装置１２３に渡す。一方、キュー制御装置１２３により読み出しを禁止されている場合には読み出しを行わない。
【００２４】
キュー制御装置１２３は、キュー読出装置１２２から渡されるものが送信データ４１０の場合、送信データ４１０を送信データ出力装置１２４に渡す。一方、キュー読出装置１２２から渡されるものが送信要求信号４１１の場合、送信要求信号４１１を送信データ出力装置１２４に渡さずに、読出動作切替信号４１２をキュー読出装置１２２に送り、読み出しを禁止する。さらに、キュー制御装置１２３は、メモリコピー実行要求信号４２１により、後述のメモリコピー制御装置１５０に対して、後述する送信データ格納メモリ１７０から後述の送信データコピーメモリ２１０への送信データ４１０のコピーを要求する。その後、メモリコピー制御装置１５０から第２メモリコピー完了通知信号４３３により送信データ４１０のコピーの完了を通知されると、読出動作切替信号４１２によりキュー読出装置１２２に対して、禁止していた送信データ格納キュー１３０からの読み出しを許可する。
【００２５】
送信データ出力装置１２４は、キュー制御装置１２３から渡された送信データ４１０を、格納メモリセレクタ１６０を介して送信データ格納メモリ１７０へ書き込む。
【００２６】
格納メモリセレクタ１６０は、送信データ格納メモリ１７０に接続されるとともに、送信データ出力装置１２４とメモリコピー実行装置１８０との接続を切り替える。
【００２７】
送信データ格納メモリ１７０は、送信データ出力装置１２４により書き込まれる送信データ４１０を記憶する。既に記憶したデータがある場合には上書きして記憶する。送信データ格納メモリ１７０の記憶容量は、ＴＤＭＡの１伝送周期に伝送路３００へ出力することができる送信データ４１０の最大容量以上となるよう、予め設定される。また、送信データ格納メモリ１７０の記憶容量は、図２に示す送信メモリ１１０の送信メモリサイズＳｚと同一である。
【００２８】
メモリコピー実行装置１８０は、送信データ格納メモリ１７０に格納された送信データ４１０を、コピーメモリセレクタ１９０を介して、送信データコピーメモリ２１０にコピーする。
【００２９】
コピーメモリセレクタ１９０は、第１コピーメモリセレクタ１９０a、第２コピーメモリセレクタ１９０b、及び第３コピーメモリセレクタ１９０cからなる。第１コピーメモリセレクタ１９０aは、第１送信データコピーメモリ２１０aに接続されるとともに、メモリコピー実行装置１８０と第３コピーメモリセレクタ１９０cとの接続を切り替える。第２コピーメモリセレクタ１９０bは、第２送信データコピーメモリ２１０bに接続されるとともに、メモリコピー実行装置１８０と第３コピーメモリセレクタ１９０cとの接続を切り替える。第３コピーメモリセレクタ１９０cは、送信装置２２０に接続されるとともに、第１コピーメモリセレクタ１９０aと第２コピーメモリセレクタ１９０bとの接続を切り替える。
【００３０】
送信データコピーメモリ２１０は、第１送信データコピーメモリ２１０aと第２送信データコピーメモリ２１０bとからなる。送信データコピーメモリ２１０は、メモリコピー実行装置１８０によりコピーされる送信データ４１０を記憶する。既に記憶したデータがある場合には上書きして記憶する。第１送信データコピーメモリ２１０aと第２送信データコピーメモリ２１０bの記憶容量は、それぞれ送信データ格納メモリ１７０と同様、ＴＤＭＡの１伝送周期に伝送路３００へ出力することができる送信データ４１０の最大容量以上となるよう、予め設定される。例えば、それぞれの送信データコピーメモリの記憶容量は、送信データ格納メモリ１７０の記憶容量と等しく設定される。
【００３１】
メモリコピー制御装置１５０は、他のブロックとの間で制御信号のやりとりを行う。具体的には、まずキュー制御装置１２３から、送信データ４１０を送信データコピーメモリにコピーする要求であるメモリコピー実行要求信号４２１を受ける。すると、メモリコピー開始通知信号４３１をメモリセレクタ制御装置２０１に送り、送信データ格納メモリ１７０から送信データコピーメモリ２１０への送信データ４１０のコピーが開始されることを通知する。その後、メモリコピー制御装置１５０は、コピー実行信号４１３によりメモリコピー実行装置１８０に対してコピーの実行を指示する。そして、送信データ４１０のコピーが完了すると、メモリコピー制御装置１５０は、第１メモリコピー完了通知信号４３２と第２メモリコピー完了通知信号４３３により、メモリセレクタ制御装置２０１とキュー制御装置１２３のそれぞれに対してコピーが完了したことを通知する。
【００３２】
送信装置２２０は、たとえばバスドライバで構成され、送信装置２２０内に記憶する所定のＴＤＭＡ伝送周期毎に、送信データコピーメモリ２１０から送信データ４１０を読み出し、伝送路３００に出力する。このとき送信装置２２０は、送信データ４１０の読み出しを開始する前に、送信開始通知信号４４１をメモリセレクタ制御装置２０１に送り、伝送路３００への出力が開始されることを通知する。また送信装置２２０は、送信データ４１０の出力が完了した後に、送信完了通知信号４４２をメモリセレクタ制御装置２０１に送り、送信データ４１０の出力が完了したことを通知する。
【００３３】
メモリセレクタ制御部２００は、メモリコピー制御装置１５０及び送信装置２２０から送られる制御信号に基づき、格納メモリセレクタ１６０とコピーメモリセレクタ１９０に対して切り替えの指示を送る。メモリセレクタ制御部２００は、更新状況フラグメモリ２０２、送信状況フラグメモリ２０３、コピーメモリ表示フラグメモリ２０４、及びメモリセレクタ制御部２０１からなる。
【００３４】
更新状況フラグメモリ２０２は、有更新フラグまたは無更新フラグを上書き形式により記憶する。有更新フラグは、送信装置２２０が第１送信データコピーメモリ２１０aまたは第２送信データコピーメモリ２１０bのいずれか一方から送信データ４１０の読み出しを行っている間に、メモリコピー実行装置１８０により他方の送信データコピーメモリ２１０へ送信データ４１０がコピーされたことを意味する。反対に、無更新フラグは、送信データ４１０の読み出しの最中に、他方の送信データコピーメモリ２１０へ送信データ４１０がコピーされていないことを意味する。
【００３５】
送信状況フラグメモリ２０３は、送信中フラグまたは待機中フラグを上書きにより記憶する。送信中フラグは、送信装置２２０が送信データコピーメモリ２１０から送信データ４１０を読み出しているか、または、読み出した送信データ４１０を伝送路３００へ出力していることを意味する。一方、待機中フラグは、送信装置２２０が送信データ４１０の出力を完了しており、新たに時分割データ伝送周期が開始されるまで待機していることを意味する。
【００３６】
コピーメモリ表示フラグメモリ２０４は、第１メモリフラグまたは第２メモリフラグを上書きにより記憶する。第１メモリフラグは、メモリコピー実行装置１８０により最新の送信データ４１０が第１送信データコピーメモリ２１０aに記憶されたことを意味する。一方、第２メモリフラグは、当該最新の送信データ４１０が第２送信データコピーメモリ２１０bに記憶されたことを意味する。
【００３７】
メモリセレクタ制御装置２０１は、メモリコピー制御装置１５０及び送信装置２２０から送られる制御信号に基づき、更新状況フラグメモリ２０２、送信状況フラグメモリ２０３、及びコピーメモリ表示フラグメモリ２０４に記憶されるフラグを更新する。また、メモリセレクタ制御装置２０１は、各フラグに基づき、格納メモリセレクタ１６０とコピーメモリセレクタ１９０に対して切り替える指示を送る。
【００３８】
つぎに、図４〜図６を参照して、実施の形態１におけるＰＬＣ１００の動作について説明する。
【００３９】
図４は、実施の形態１における演算装置１０１が行う処理を示すフローチャートである。まず、演算装置１０１は、図示しないメモリに記憶された制御プログラムの実行を開始する（ステップＳ１）。
【００４０】
つぎに、演算装置１０１は、制御プログラムを実行中に送信データ４１０を生成したか否かを判断する（ステップＳ２）。送信データを生成していない場合、所定の時間または制御プログラム実行周期後に、再度Ｓ２を行う。
【００４１】
一方、Ｓ２にて、送信データ４１０を生成した場合、つぎに、演算装置１０１は、Ｓ２にて生成した送信データ４１０を、図２に示す送信メモリ１１０に書き込む（ステップＳ３）。
【００４２】
つぎに、演算装置１０１は、制御プログラムの実行が完了したか否かを判断し（ステップＳ４）、完了していない場合はＳ２に戻る。一方、Ｓ４にて、完了した場合、つぎに、演算装置１０１は、送信要求信号４１１を送信要求レジスタ１１１に書き込む（ステップＳ５）。つぎに、演算装置１０１は、新たに所定の制御プログラム実行周期が開始されると、Ｓ１に戻る。
【００４３】
図５は、演算装置１０１の書き込み動作に関連して、伝送制御装置１０２が行う動作を示すフローチャートである。なお、伝送制御装置１０２を構成する機能ブロックの初期状態は次のとおりとする。すなわち、送信データ格納キュー１３０は何も記憶していない。また、キュー制御装置１２３は、キュー読出装置１２２に対して読み出しを許可している。また、格納メモリセレクタ１６０は、送信データ格納メモリ１７０と送信データ出力装置１２４とを接続している。また、コピーメモリセレクタ１９０は、メモリコピー実行装置１８０と第２送信データコピーメモリ２１０bとを接続するとともに、第１送信データコピーメモリ２１０aと送信装置２２０とを接続している。また、送信データ格納メモリ１７０と送信データコピーメモリ２１０は、各番地における記憶領域に送信データ４１０の初期値である０（ゼロ）を記憶している。また、更新状況フラグメモリ２０２は無更新フラグを記憶し、送信状況フラグメモリ２０３は待機中フラグを記憶し、コピーメモリ表示フラグメモリは第１メモリフラグを記憶している。
【００４４】
まず、演算装置１０１により図２に示す送信メモリ１１０に送信データ４１０と送信要求信号４１１が書き込まれると（ステップＳ１０１）、キュー書込装置１２１は、送信データ４１０と送信要求信号４１１を順番に送信データ格納キュー１３０に書き込む（ステップＳ１０２）。ここでキュー書込装置１２１は、送信キュー読出装置１２２の読み出し動作とは無関係に格納キュー１３０に書き込むが、送信データ格納キュー１３０の記憶容量は、送信キュー読出装置１２２が読み出しを行わない間に書き込まれる可能性のある最大のデータ容量以上となるよう設定されているため、データのオーバーフローは発生しない。
【００４５】
つぎに、キュー読出装置１２２は、読出しを許可されているため、送信データ格納キュー１３０に格納された送信データ４１０と送信要求信号４１１を順番に読み出し、これらを順番にキュー制御装置１２３に渡す（ステップＳ１０３）。
【００４６】
つぎに、キュー制御装置１２３は、キュー読出装置１２２から１つまたは複数の送信データ４１０を渡されると、渡された送信データ４１０を送信データ出力装置１２４に渡す。そして送信データ出力装置１２４は、格納メモリセレクタ１６０により接続された送信データ格納メモリ１７０に送信データ４１０を書き込む（ステップＳ１０４）。
【００４７】
つぎに、キュー制御装置１２３は、キュー読出装置１２２から送信要求信号４１１を渡される。するとキュー読出装置１２２に対して読出動作切替信号４１２を渡すとともに、メモリコピー制御装置１５０に対しメモリコピー実行要求信号４２１を渡して、送信データ格納メモリ１７０から送信データコピーメモリ２１０へ送信データ４１０をコピーするよう要求する（ステップＳ１０５）。キュー読出装置１２２は、読出動作切替信号４１２を受けて送信データ格納キュー１３０からの読み出しを中断する。一方、メモリコピー制御装置１５０は、メモリコピー実行要求信号４２１を受けてメモリセレクタ制御装置２０１に対してメモリコピー開始通知信号４３１を渡す。
【００４８】
つぎに、メモリセレクタ制御装置２０１は、メモリコピー開始通知信号４３１を受けて更新状況フラグメモリ２０２に無更新フラグを記憶させるとともに、格納メモリセレクタ１６０へ格納メモリ切替信号４１４を渡す（ステップＳ１０６）。格納メモリセレクタ１６０は、格納メモリ切替信号４１４を受けて送信データ出力装置１２４とメモリコピー実行装置１８０との接続を切り替え、送信データ格納メモリ１７０とメモリコピー実行装置１８０とを接続する。ここで、Ｓ１０６にて、無更新フラグを記憶させることにより、仮にメモリコピー実行装置１８０がコピー実行中に、送信装置２２０が送信データ送信動作４１０の伝送路３００への出力が完了した場合でも、コピーメモリセレクタ１９０が切り替わることを防止することができる。これにより、不可分データの同時性を保証することができる。
【００４９】
つぎに、メモリコピー制御装置１５０は、メモリコピー実行装置１８０に対してコピー実行信号４１３を渡す（ステップＳ１０７）。メモリコピー実行装置１８０は、コピー実行信号４１３を受けて、送信データ格納メモリ１７０に格納された送信データ４１０を、第２コピーメモリセレクタ１９０bを介して接続された第２送信データコピーメモリ２１０bにコピーする（ステップＳ１０８）。コピーが完了すると、メモリコピー制御装置１５０は、メモリセレクタ制御装置２０１に対して第１メモリコピー完了通知信号４３２を渡す（ステップＳ１０９）。
【００５０】
メモリセレクタ制御装置２０１は、第１メモリコピー完了通知信号４３２を受けて、コピーメモリ表示フラグメモリ２０４に第２メモリフラグを記憶させる（ステップＳ１１０）。ここで、Ｓ１１０にて記憶するメモリフラグは、Ｓ１０８で送信データ４１０がコピーされた送信データコピーメモリ２１０に対応する。すなわち第１送信データコピーメモリ２１０aにコピーされたならば第１メモリフラグが、また第２送信データコピーメモリ２１０bにコピーされたならば第２メモリフラグが記憶される。
【００５１】
つぎに、メモリセレクタ制御装置２０１は、送信状況フラグメモリ２０３を参照する。（ステップＳ１１１）。Ｓ１１１にて、送信中フラグが記憶されている場合、メモリセレクタ制御装置２０１は、更新状況フラグメモリ２０２に有更新フラグを記憶させる（ステップＳ１１２）。ここで送信中フラグが記憶されているということは、送信装置２２０が第１送信データコピーメモリ２１０aから送信データ４１０を読み出しているか、または読み出した送信データ４１０を伝送路３００に出力していることと等価である。よって、この状況でコピーメモリセレクタ１９０の切り替えを行うと、不可分データである送信データ４１０の同時性を保証することができない。そこで、Ｓ１１２にて有更新フラグを記憶させることにより、メモリセレクタ制御装置２０１は、送信装置２２０が送信データ４１０を伝送路３００に出力した後にコピーメモリセレクタ１９０を切り替える必要があることを認識することができる。
【００５２】
一方、Ｓ１１１にて待機中フラグが記憶されている場合、メモリセレクタ制御装置２０１は、コピーメモリセレクタ１９０に切り替えの指示を出す（ステップＳ１１３）。すなわち、メモリセレクタ制御装置２０１は、第１コピーメモリ切替信号４１５、第２コピーメモリ切替信号４１６及び第３コピーメモリ切替信号４１７を出力する。これらの切替信号により、第１コピーメモリセレクタ１９０aは、第１送信データコピーメモリ２１０aとメモリコピー実行装置１８０とを接続する。また第２コピーメモリセレクタ１９０bは、第２送信データコピーメモリ２１０bと第３コピーメモリセレクタ１９０cとを接続する。さらに第３コピーメモリセレクタ１９０cは、第２コピーメモリセレクタ１９０bと送信装置２２０とを接続する。
【００５３】
つぎに、メモリセレクタ制御装置２０１は、格納メモリセレクタ１６０に対して格納メモリ切替信号４１４を渡す（ステップＳ１１４）。これにより、格納メモリセレクタ１６０は、送信データ格納メモリ１７０と送信データ出力装置１２４とを接続する。
【００５４】
つぎに、メモリコピー制御装置１５０は、キュー制御装置１２３に対して第２メモリコピー完了通知信号４３３を渡す（ステップＳ１１５）。
【００５５】
キュー制御装置１２３は、第２メモリコピー完了通知信号４３３を受けて、キュー読出装置１２２に対して読出動作切替信号４１２を渡す（ステップＳ１１６）。これにより、キュー制御部１２０は、送信データ格納キュー１３０からの読み出しを再開する。その後、伝送制御装置１０２は、Ｓ１０１に戻る。
【００５６】
図６は、送信装置２２０による送信データ４１０の読み出し及び伝送路への出力動作に関連して、伝送制御装置１０２が行う動作を示すフローチャートである。なお、初期状態は図５の説明におけるものと同様であるため省略する。
【００５７】
まず、送信装置２２０は、メモリセレクタ制御装置２０１に対して送信開始通知信号４４１を渡す（ステップＳ２０１）。
【００５８】
つぎに、メモリセレクタ制御装置２０１は、送信開始通知信号４４１を受けて、待機中フラグが記憶された送信状況フラグメモリ２０３に送信中フラグを上書き記憶する（ステップＳ２０２）。
【００５９】
つぎに、送信装置２２０は、第１コピーメモリセレクタ１９０aと第３コピーメモリセレクタ１９０cにより接続された第１送信データコピーメモリ２１０aから、送信データ４１０を読み出す（ステップＳ２０３）。そして送信装置２２０は、送信データ４１０を伝送路３００に出力する（ステップＳ２０４）。出力が完了すると、送信装置２２０は、メモリセレクタ制御装置２０１に対して送信完了通知信号４４２を渡す（ステップＳ２０５）。
【００６０】
メモリセレクタ制御装置２０１は、送信完了通知信号４４２を受けて、更新状況フラグメモリ２０２を参照する。（ステップＳ２０６）。Ｓ２０６にて、無更新フラグが記憶されている場合、メモリセレクタ制御装置２０１は、送信状況フラグメモリ２０３に待機中フラグを記憶させる。
【００６１】
一方、Ｓ２０６にて有更新フラグが記憶されている場合、メモリセレクタ制御装置２０１は、コピーメモリセレクタ１９０に切り替えの指示を出す（ステップＳ２０７）。ここで有更新フラグが記憶されているということは、送信装置２２０が送信データ４１０を出力している間に、メモリコピー実行装置１８０により第２送信データコピーメモリ２１０bに最新の送信データ４１０がコピーされたということと等しい。従って、コピーメモリセレクタ１９０に切り替えの指示を出すのである。すなわち、メモリセレクタ制御装置２０１は、第１コピーメモリ切替信号４１５、第２コピーメモリ切替信号４１６及び第３コピーメモリ切替信号４１７を出力する。これらの切替信号により、第１コピーメモリセレクタ１９０aは、第１送信データコピーメモリ２１０aとメモリコピー実行装置１８０とを接続する。また第２コピーメモリセレクタ１９０bは、第２送信データコピーメモリ２１０bと第３コピーメモリセレクタ１９０cとを接続する。さらに第３コピーメモリセレクタ１９０cは、第２コピーメモリセレクタ１９０bと送信装置２２０とを接続する。
【００６２】
送信装置２０２は、新たに所定のＴＤＭＡ伝送周期が開始されると、Ｓ２０１に戻る。
【００６３】
なお、このＴＤＭＡ伝送周期は、メモリコピー制御装置１５０が送信メモリセレクタ制御装置２０１にメモリコピー開始通知信号４３１を渡した後、第１メモリコピー完了通知信号４３２を渡すまでの時間間隔よりも長い時間に設定される。すなわち、送信データ格納メモリ１７０に格納された送信データ４１０が全て送信データコピーメモリ２１０へコピーされた後に、新たなＴＤＭＡ伝送周期が開始される。これにより、送信装置２２０が最新でない送信データ４１０を伝送路３００に複数回出力することを防止することができる。
【００６４】
なお、実施の形態１では、伝送制御装置１０２は、送信装置２２０内に設定された所定のＴＤＭＡ伝送周期毎に図６に示す動作を繰返すが、これに限られない。例えば、送信装置２２０が図６の動作を開始するタイミングをメモリコピー制御装置１５０に予め記憶させておき、このタイミングに従って伝送制御装置１０２が図６の動作を行う構成としてもよい。または、伝送制御装置１０２がは、外部から送信装置２２０への入力信号に従い、図６の動作を開始するようにしてもよい。
【００６５】
なお、実施の形態１では、送信データ格納キュー１３０に送信データ４１０と送信要求信号４１１をキュー形式で記憶することにより、不可分データの範囲を識別するが、これに限られない。例えば、送信データ格納キュー１３０に格納する送信データ４１０に通し番号を付帯し、送信要求信号４１１を受けた時点の通し番号を他のメモリに記憶することにより、不可分データの範囲を識別するようにしてもよい。
【００６６】
なお、実施の形態１では、送信データコピーメモリ２１０が２つから構成されるものとして説明したが、２つに限るものではなく、３つ以上から構成されてもよい。この場合、送信装置２２０は、メモリコピー実行装置１８０により送信データ４１０がコピーされた順に、各送信データコピーメモリ２１０から送信データ４１０を読み出し伝送路３００へ出力する。
【００６７】
実施の形態１によれば、演算装置による不可分データである送信データの伝送制御装置への書き込みと伝送制御装置による伝送路への送信データの出力とが非同期に行われる場合でも、不可分データの同時性を保証しつつ、送信データの書き込みと読み出しとのアクセス競合を防止することができる。これにより、送信データの書き込みまたは読み出しにおける待機時間を短縮することができ、制御プログラムの実行周期を短縮することができる。また、送信装置が第１と第２の送信データコピーメモリのうち１つから送信データを読み出して伝送路へ出力を行っている間に、演算装置から送信要求信号が書き込まれた場合、他方の送信データコピーメモリに新たな送信データをコピーしておくことができる。その後さらに次の送信要求信号が書き込まれた場合、他方の送信データコピーメモリに既にコピー済みの送信データを破棄して新たな送信データをコピーすることができる。これにより、送信装置が伝送路へ送信データを出力する時分割伝送周期よりも短い周期で演算装置から送信要求信号が書き込まれた場合でも、送信データの伝送路への出力における遅延を短縮することができる。
【００６８】
実施の形態２．
実施の形態１では、図５のＳ１０１にて演算装置１０１が送信データ４１０を伝送制御装置に書き込むと、送信データ４１０は、Ｓ１０２にて送信データ格納キュー１３０に一時的に書き込まれ、Ｓ１０４にて送信データ格納メモリ１７０に書き込まれ、Ｓ１０８にて送信データコピーメモリ２１０にコピーされる。しかし、その後演算装置１０１が伝送制御装置から送信データ４１０を読み出そうとする時には、その読出し先を送信格納キュー１３０とする場合、既に送信格納キュー１３０から送信データ４１０が読み出されていて送信データ４１０を読み出すことができない場合がある。また、その読出し先を送信データ格納メモリ１７０または送信データコピーメモリ２１０とする場合、キュー読出装置１２２による送信格納キュー１３０の読出しが禁止されている間に送信データ４１０が送信格納キュー１３０にて滞留することにより、古い送信データ４１０を読み出してしまう場合がある。この課題を解決するためになされたのが、実施の形態２である。図７を参照して、本発明における実施の形態２を説明する。
【００６９】
図７は、実施の形態２におけるＰＬＣの機能ブロック図であり、実施の形態１における図１に相当する。以降、実施の形態１における図１と異なる部分を中心に説明する。
【００７０】
ミラーメモリ書込装置１４１は、演算装置１０１により図２に示す送信メモリ１１０に送信データ４１０と送信要求信号４１１が書き込まれると、送信データ４１０を後述の送信データミラーメモリ１４０に書き込む。
【００７１】
送信データミラーメモリ１４０は、ミラーメモリ書込装置１４１により書き込まれる送信データ４１０のコピーを記憶する。送信データミラーメモリ１４０の記憶容量は、送信データ格納メモリ１７０と同様、不可分データとして伝送路３００に一回の時分割伝送周期に出力される１つまたは複数の送信データ４１０の最大容量以上となるように設定される。
【００７２】
ミラーメモリ読出装置１４２は、演算装置１０１により図２に示す送信メモリ１１０に書き込まれた送信データ４１０が読み出されると、送信データ４１０を送信データミラーメモリ１４０から読み出して演算装置１０１に渡す。
【００７３】
ここで、演算装置１０１により図２の送信メモリ１１０に書き込まれた送信データ４１０は、一旦送信データ格納キュー１３０に記憶されても、その後、送信データ格納メモリ１７０に格納される際に送信データ格納キュー１３０から読み出されると、送信データ格納キュー１３０内に記憶されなくなる。
【００７４】
一方、実施の形態２によれば、実施の形態１の効果に加え、演算装置が演算制御装置に書き込んだ送信データを読み出す場合、この送信データが送信データ格納キュー、送信データ格納メモリ、または送信データコピーメモリに記憶されているか否かに関らず、正確かつ迅速に送信データを読み出すことができる。
【００７５】
なお、本実施の形態では伝送方式をＴＤＭＡ方式であるものとして説明したが、必ずしもＴＤＭＡ方式に限らない。制御プログラムと非同期で伝送を行う伝送方式であれば、例えばＣＤＭＡ方式や単なるＦＤＭＡ方式であってもよい。これらの方式であっても本発明が適用可能であり、ＴＤＭＡ方式を適用した本実施の形態と同様の効果を得られることは言うまでもない。
【００７６】
なお、コピーメモリセレクタ１９０とメモリセレクタ制御部２００は、非読出コピーメモリ選択手段と読出用コピーメモリ選択手段に相当し、メモリコピー実行装置１８０はメモリコピー手段に相当し、送信装置２２０はデータ出力手段に相当する。また、データ格納メモリ１７０、データ格納キュー３００、キュー制御装置１２３、送信データミラーメモリ１４０、ミラーメモリ書込装置１４１、およびミラーメモリ読出装置１４２を合わせて、メモリ制御装置を構成する。
【図１】
0005518103.tif 000002
【図２】
0005518103.tif 000003
【図３】
0005518103.tif 000004
【図４】
0005518103.tif 000005
【図５】
0005518103.tif 000006
【図６】
0005518103.tif 000007
【図７】
0005518103.tif 000008