(57)【要約】【課題】プロセス入出力（ＰＩＯ）の一括更新に要する時間を、各ＰＩＯカードのアクセス時間の合計よりも短縮するとともに、ＰＩＯアドレスの設定における自由度を増したＰＩＯアクセス方式を提供する。【解決手段】ＣＰＵ１に対してＣＰＵバス２を介して接続され、それぞれ複数のＰＩＯカード５、７、９を接続し得る複数のＰＩＯチャネル４、６、８を備え、上記ＰＩＯカードヘの入出力をまとめて行う一括入出力方式のＰＩＯアクセス方式において、異なったＰＩＯチャネル上に存在する複数のプロセス入出力カードをプログラマブルに選択し得ると共に、アドレス変換手段を有し、選択された複数のプロセス入出力カード群に対して、同時に入力又は出力することができる複数カード選択手段３を備え、上記選択された複数のプロセス入出力カード群を上記ＣＰＵから見て連統したアドレス空間上にマッピングするようにした。【選択図】図１
2005339012.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵに対してＣＰＵバスを介して接続され、それぞれ複数のプロセス入出力（ＰＩＯ）カードを接続し得る複数のＰＩＯチャネルを備え、上記プロセス入出力カードヘの入出力をまとめて行う一括入出力方式のＰＩＯアクセス方式において、異なったＰＩＯチャネル上に存在する複数のプロセス入出力カードをプログラマブルに選択し得ると共に、アドレス変換手段を有し、選択された複数のプロセス入出力カード群に対して、同時に入力又は出力することができる複数カード選択手段を備え、上記選択された複数のプロセス入出力カード群を上記ＣＰＵから見て連統したアドレス空間上にマッピングするようにしたことを特徴とするＰＩＯアクセス方式。
【請求項２】
上記複数カード選択手段は、上記ＣＰＵバスのアドレス（ＡＤＤ）線及びデータ（ＤＡＴ）／レディ信号（ＲＤＹ）線に接続されたＭＡＰＲＡＭと、応答信号（ＲＰＹ）線に接続された応答信号合成手段と、上記各ＰＩＯチャネル毎に設けられ、自ＰＩＯチャネル側のバスに対してアドレス（ＡＤＤ）線、データ（ＤＡＴ）／レディ信号（ＲＤＹ）線、及び応答信号（ＲＰＹ）線に接続され、上記ＭＡＰＲＡＭに対してアドレス（ＡＤＤ）、及びデータ（ＤＡＴ）／レディ信号（ＲＤＹ）線に接続され、上記ＣＰＵバスに対してデータ（ＤＡＴ）／レディ信号（ＲＤＹ）線に接続され、更に上記応答信号合成手段に対して応答信号（ＲＰＹ）線にそれぞれ接続された使用位置選択手段とを備え、上記ＭＡＰＲＡＭまたは使用位置選択手段により、上記ＣＰＵバス上のアドレスから異なったＰＩＯチャネル上に存在する選択された複数のプロセス入出力カード群のアドレスを生成するようにしてなることを特徴とする請求項１に記載のＰＩＯアクセス方式。
【請求項３】
上記複数カード選択手段及び上記ＣＰＵの間に設けられ該ＣＰＵよりもデータバス幅の大きいバスコントローラと、このバスコントローラと上記ＣＰＵの双方からアクセス可能なメモリとを備え、上記プロセス入出力カードの一括更新を上記バスコントローラに実行させ、上記ＣＰＵのデータバス幅を超えたデータバス幅で上記選択された複数のプロセス入出力カードへの同時アクセスを行うようにしてなることを特徴とする請求項１または請求項２に記載のＰＩＯアクセス方式。
【請求項４】
異なったＰＩＯチャネル上に存在する各プロセス入出力カードから、アクセス時間の似たもの同士を組み合わせ、さらに、アクセス時間の長いもの同士を優先して組み合わせて選択された複数のプロセス入出力カード群に対して、同時に入力又は出力するようにしてなることを特徴とする請求項１ないし請求項３の何れかに記載のＰＩＯアクセス方式。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数のプロセス入出力（以下、ＰＩＯという）カードを介してプラント制御情報の入出力を行う場合などに好ましく用いることができるＰＩＯアクセス方式に関するものである。
【背景技術】
【０００２】
従来のＰＣカードインターフェースとして、情報処理機器の６４ｂｉｔのデータバス幅を有するＰＣＩバスとＰＣカードとの間に介装され、該情報処理機器とＰＣカードとの間のデータ伝送を行うものにおいて、ＰＣカードのコネクタがそれぞれ挿入接続される第１及び第２のソケットと、前記各ソケットとＰＣＩバスとの間に介装され、前記各ソケットを通じて前記情報処理機器と前記ＰＣカードとの間のデータ伝送を行う制御部と、この制御部のＰＣＩバス接続側のバスと前記ＰＣＩバスとの間に介装され、該制御部のＰＣＩバス接続側のバスと前記ＰＣＩバスとの接続形態を、前記各ソケットに接続された各ＰＣカードと前記情報処理機器との間で３２ｂｉｔのデータ伝送を可能とする第１の接続形態と、前記各ソケットに接続された２個のＰＣカードをあたかも１個のＰＣカードとして同時に使用し、その２個の前記ＰＣカードと前記情報処理機器との間で６４ｂｉｔのデータ伝送を可能とする第２の接続形態との間で切り替える切替部とを備え、情報処理機器とＰＣカードとの間のデータ伝送の高速化が図れ、６４ビット拡張ＰＣＩバスを有する情報処理機器の性能をフルに発揮させることが提案されている（例えば特許文献１参照。）。
【０００３】
上記特許文献１に開示された発明は、２個のＰＣカードをあたかも１個のＰＣカードとして同時に使用し、その２個のＰＣカードと情報処理機器との間で６４ｂｉｔのデータ伝送を可能とするものであるが、複数のカードスロットを１つの手段として使用し、同時にアクセスする２個のＰＣカードのアドレスの組み合わせは、Ｈ／Ｗで固定的に決まっており、Ｓ／Ｗ的に書き換えを行おうとする本件発明とは異なっている。以下、本件発明の理解を容易にするために、図を用いて背景技術を更に具体的に説明する。
【０００４】
図９は、例えば三菱電機製のシーケンサであるＭＥＬＳＥＣ−Ｑシリーズの「ユーザーズマニュアル（手段解説・プログラム基礎編）」等に記載されている、一般的なＰＩＯ一括更新方式のプログラマブルコントローラにおける処理の実行順序を示している。ＰＩＯ一括更新方式のプログラマブルコントローラでは、図に示すようにシステム立上がり時に「イニシャル処理」を実行した後は、「入出力ユニット（ＰＩＯカード）の一括更新」→「アプリケーションプログラムの実行」→「ＥＮＤ処理」を繰り返すことにより、プラントの制御を実行している。
【０００５】
図１０は、従来の一般的なＰＩＯアクセス方式における、ＰＩＯカードに対して入出力動作を行うＣＰＵと各ＰＩＯカードの関係を例示するブロック図である。通常、ＰＩＯカードのアドレス／データバス幅は、ＣＰＵ自身のアドレス／データバス幅よりも小さいことが多く、図１０では、ＣＰＵのアドレス／データバス幅を例として各３２ビット、ＰＩＯカードのアドレス／データバス幅を例として各１６ビットとしている。図において、ＣＰＵ１のアドレス、データ、制御線を含んだＣＰＵバス２は、バス変換手段１０を経由してＰＩＯバス４に接続されている。ここで、ＰＩＯバス４は、ＰＩＯカードの物理的な配置の自由度を確保する為、複数のチャネルに分割されていることが多い。さらに、それぞれのＰＩＯバス４上には、アドレスが重複しないように設定されている複数のＰＩＯカード群５及び７が接続されている。また、各ＰＩＯカード群５及び７は、それぞれ複数のＰＩＯカード５ａ〜５ｃ、及び７ａ〜７ｃにより構成されている。
【０００６】
次に動作について説明する。図１１は、図１０に例示した従来のＰＩＯアクセス方式における、ＰＩＯ力ードに対する入出力動作を例示するタイミングチャートである。出力動作（ライトアクセス）時は、ＣＰＵ１が書込先ＰＩＯカードのアドレス（ＡＤＤ）、書込データ（ＤＡＴ）をＣＰＵバス２に出力すると共に、読出／書込信号（ＲＤ／ＷＴ）を書込み側とし、信号の準備ができたことを示すレディ（ＲＤＹ）信号をＣＰＵバス２に出力する。バス変換手段１０は、ＣＰＵバス２上のアドレスが自分に接続されているＰＩＯカードのアドレス範囲である場合に、ＣＰＵバス２上の３２ビットアドレスをＰＩＯバス４上の１６ビットアドレスに変換し、ＣＰＵバス２上の３２ビットデータの下位１６ビットとともに、読出／書込信号とレディ信号をＰＩＯバス４上に出力する。
【０００７】
ＰＩＯカード（５ａ〜５ｃ、７ａ〜７ｃ）側では、ＰＩＯバス４上のアドレスが自カードのアドレスである場合に、ＰＩＯバス４上のデータを自カードの該当エリアに書込み、データの自カード該当エリアヘの書込完了時点で、ＰＩＯバスに応答信号（ＲＰＹ）を出力する。バス変換手段１０は、ＰＩＯバス４上の応答信号をＣＰＵバス２に出力する。ＣＰＵ１は、ＣＰＵバス２上の応答信号を確認し、レディ信号、読出／書込信号、アドレス信号、及びデータを無意にする。この一連の動作に要する時間は、書込先のＰＩＯカードによって異なり、一回当たり数マイクロ秒から十数マイクロ秒必要である。
【０００８】
入力動作（リードアクセス）時は、ＣＰＵ１が読出先ＰＩＯカードのアドレスをＣＰＵバス２に出力すると共に、読出／書込信号を読出側とし、信号の準備ができたことを示すレディ信号をＣＰＵバス２に出力する。バス変換手段１０は、ＣＰＵバス２上のアドレスが自分に接続されているＰＩＯカードのアドレス範囲である場合に、ＣＰＵバス２上の３２ビットアドレスをＰＩＯバス４上の１６ビットアドレスに変換し、読出／書込信号とレディ信号をＰＩＯバス４上に出力する。ＰＩＯカード（５ａ〜５ｃ、７ａ〜７ｃ）側では、ＰＩＯバス４上のアドレスが自カードのアドレスである場合に、自カードの該当エリアのデータをＰＩＯバス４に出力した後、ＰＩＯバスに応答信号を出力する。バス変換手段１０は、ＰＩＯバス４上の１６ビットデータをＣＰＵバス２上の３２ビットデータに変換し、応答信号をＣＰＵバス２に出力する。ＣＰＵ１は、ＣＰＵバス２上の応答信号を確認し、データを読込んだ後、レディ信号、読出／書込信号、及びアドレス信号を無意にする。この一連の動作に要する時間も、書込時と同様、読出先のＰＩＯカードによって異なり、一回数マイクロ秒から十数マイクロ秒必要である。
【０００９】
図１２は、図１０に例示した従来のＰＩＯアクセス方式における、複数のＰＩＯカードに対する入出力動作を例示するタイミングチャートであり、ＰＩＯバスのチャネル１上のＰＩＯ−１ａ（５ａ）、ＰＩＯバスのチャネル２上のＰＩＯ−２ａ（７ａ）、ＰＩＯバスのチャネル１上のＰＩＯ−１ｂ（５ｂ）、ＰＩＯバスのチャネル２上のＰＩＯ−２ｂ（７ｂ）、に対してデータを書込む場合を示している。なお、この例では、各ＰＩＯカードのアクセスに要する時間が、ＰＩＯ−１ａ（５ａ）とＰＩＯ−２ｂ（７ｂ）が短く、ＰＩＯ−１ｂ（５ｂ）とＰＩＯ−２ａ（７ａ）が長い場合を示している。この場合、１つのＰＩＯ力ードに対する書込動作完了後に、次のＰＩＯカードに対する書込動作を実行することになり、４枚のＰＩＯカードに対する総アクセス時間は、各ＰＩＯカードに対するアクセス時間の合計となっている。
【００１０】
【特許文献１】特開２００１−２７９２１号公報（第１頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
従来のＰＩＯアクセス方式においては、以上のように構成されているので、複数のＰＩＯチャネル上に存在するＰＩＯカードにアクセスする場合でも、各ＰＩＯカードを単独でアクセスしているために、ＰＩＯ一括更新時間を各ＰＩＯのアクセス時間の合計以下に短縮することが困難であった。また、近年、ＣＰＵやメモリアクセス及び通信が急速に高速化されてきているのに対し、各ＰＩＯカードのアクセス時間は、過去２０年程度殆ど高速化されていないために、ＰＩＯカードのアクセスに時間を要し、プラント制御周期の短縮を困難にしていた。さらに、各ＰＩＯチャネルが同じアドレス空間を使用しているので、異なったＰＩＯチャネル上のＰＩＯカード間においてもアドレスが重複しないように設定する必要があった。
【００１２】
この発明は上記のような従来技術の課題を解消するためになされたものであり、ＰＩＯの一括更新に要する時間を、各ＰＩＯカードのアクセス時間の合計よりも短縮可能にするとともに、ＰＩＯアドレスの設定における自由度を増したＰＩＯアクセス方式を提供することを目的としている。
【課題を解決するための手段】
【００１３】
この発明に係るＰＩＯアクセス方式は、ＣＰＵに対してＣＰＵバスを介して接続され、それぞれ複数のプロセス入出力（ＰＩＯ）カードを接続し得る複数のＰＩＯチャネルを備え、上記プロセス入出力カードヘの入出力をまとめて行う一括入出力方式のＰＩＯアクセス方式において、異なったＰＩＯチャネル上に存在する複数のプロセス入出力カードをプログラマブルに選択し得ると共に、アドレス変換手段を有し、選択された複数のプロセス入出力カード群に対して、同時に入力又は出力することができる複数カード選択手段を備え、上記選択された複数のプロセス入出力カード群を上記ＣＰＵから見て連統したアドレス空間上にマッピングするようにしたものである。
【発明の効果】
【００１４】
この発明によれば、ＣＰＵからの１回のＰＩＯアクセスを複数ＰＩＯカードに対する同時アクセスに変換するとともにＰＩＯチャネル毎にＰＩＯアドレスが独立になるように構成したので、ＰＩＯの一括更新に要する時間を、各ＰＩＯカードのアクセス時間の合計よりも短縮することが可能となり、また、１つのＰＩＯチャネル上のＰＩＯアドレスの設定が他ＰＩＯチャネル上のＰＩＯアドレスと重複しないため、各ＰＩＯアドレスは、他ＰＩＯチャネル上に存在するＰＩＯカードのアドレスを意識する必要が無くなり、アドレス設定の自由度を増すことが可能となる。さらに、同時アクセスする複数ＰＩＯカードの組（以下、「同時アクセスセット」という。）をＣＰＵから見て連続アドレスに配置することが可能なため、複数の「同時アクセスセット」に対して容易にアクセスすることが可能となる。
【発明を実施するための最良の形態】
【００１５】
実施の形態１．
図１〜図３は、この発明の実施の形態１によるＰＩＯアクセス方式を説明するもので、図１は、ＰＩＯアクセス方式の概要構成を示すブロック図、図２は図１に示すｎ個のＰＩＯチャネルから選定したｐ個のＰＩＯチャネル上のＰＩＯカードに対して同時アクセスする場合における、複数カード選択手段の内部構成を詳細に例示するブロック図、図３は図２に示すＭＡＰＲＡＭから出力されるビット構成例を示す図である。なお、各図を通じて同一符号は同一もしくは相当部分を示すものとする。また、下記説明では、理解を容易にするために各ＰＩＯチャネルのアドレス／データ幅を１６ビットとしているが、もとよりこれに限定されるものではない。
【００１６】
図において、ＣＰＵ１からのＣＰＵバス２は、複数カード選択手段３を経由してｎ個の独立したＰＩＯチャネル（ＰＩＯ  ｃｈ１、ＰＩＯ  ｃｈ２、・・・、ＰＩＯ  ｃｈｎ）に接続されている。ｎ個のＰＩＯチャネルには、それぞれ（ＰＩＯバス１）４、（ＰＩＯバス２）６、及び（ＰＩＯバスｎ）８、並びに（ＰＩＯカード群１）５、（ＰＩＯカード群２）７、及び（ＰＩＯカード群ｎ）９が接続されている。なお、説明の煩雑を避けるために、特に区別の必要がないときは、単に「ＰＩＯバス」、または「ＰＩＯカード群」と呼ぶ。また、各ＰＩＯカード群５、７、９は、それぞれ複数のＰＩＯカード５ａ〜５ｃ、７ａ〜７ｃ、９ａ〜９ｃにより構成されている。
【００１７】
図２に示すように、ＣＰＵバス２上のｋビットのバス幅を有するアドレス（ＡＤＤ）線は、ＭＡＰＲＡＭ１１と使用位置選択手段１２を経由して各ＰＩＯチャネル４、６、８に接続されている。１６×ｐビット（またはそれ以上）のバス幅を有するＣＰＵバス２のデータ（ＤＡＴ）線とレディ信号（ＲＤＹ）線は、使用位置選択手段１２を経由して各ＰＩＯチャネル４、６、８に接続されている。ＣＰＵバス２の読出／書込信号（ＲＤ／ＷＴ）はそのまま各ＰＩＯチャネル４、６、８に接続されている。また、各ＰＩＯチャネル４、６、８からの応答信号（ＲＰＹ）線は応答信号合成手段１３を経由してＣＰＵバス２に接続されている。なお、ＣＰＵバス２上のアドレス（ＡＤＤ）のバス幅（ｋビット）は、同時アクセスするＰＩＯチャネル数には依存しない。
【００１８】
なお、ｎ個のＰＩＯチャネルから選定したｐ個のＰＩＯチャネル上のＰＩＯカードに対して同時アクセスする場合とは、図２の場合は、複数カード選択手段３のデータラインが、ＣＰＵ１のデータラインにそのまま繋がる構成であり、ｐは下記の式で得られることになる。
ｐ＝（ＣＰＵ１のデータ幅）／（ＰＩＯチャネルのデータ幅）
また、上記ＭＡＰ（マップ）ＲＡＭ１１は、アドレス変換のために、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）の出力を次段のアドレス信号として使用するものである。例えば、あるアドレスをＲＡＭのアドレスラインに入れることで、ＲＡＭのデー夕ラインから変換後のアドレスを取り出すことができる。また、ＲＡＭであるので、入力アドレスと出力アドレスの関係をプログラマブルに変更することが可能である。
【００１９】
図３に例示するように、ＣＰＵバス２上の１つのアドレスに対してＭＡＰＲＡＭ１１から出力されるビットバターンは、同時アクセスするＰＩＯチャネル数（ｐ個）のアドレス情報（１６×ｐビット）と、各ＰＩＯチャネルがどのアドレス情報を使用するかを示す使用位置選択情報（ｑビット）から欄成されている。なお、同時アクセスするＰＩＯチャネル分のアドレス情報と、それぞれのアドレス情報がどのＰＩＯチャネル用のものであるかが判別可能で有れば、図３に例示したビット構成に限定されない。即ち、図３の例では、ｎチャネルからｐチャネルを組み合わせるために、ｎ×ｐビット使用する構成としているが、ｎＣｍ（ｎ個からｍ個を取り出す組合せの総数）を生成可能なビット数とし、使用位置選択手段１２側でデコードするようにしても良い。
【００２０】
次に図２、図３に基づいて複数のＰＩＯカードへの同時アクセス動作について説明する。まず図２により各信号の流れについて説明する。ＣＰＵバス２のアドレス（ＡＤＤ）は、ＭＡＰＲＡＭ１１によりｐチャネル分のアドレスと使用位置選択信号に変換され、各ＰＩＯチャネルの使用位置選択手段１２に送られる。各ＰＩＯチャネルの使用位置選択手段１２は、前記ｐチャネル分のアドレスと使用位置選択信号により、自ＰＩＯチャネル用アドレスの有無を検出する。自ＰＩＯチャネル用アドレスが有る場合は、そのアドレスを抽出して自ＰＩＯバス（４、６、８のいずれか）に流す。一方、自ＰＩＯチャネル用アドレスが無い場合は、自ＰＩＯバスにはアドレスは流さない。
【００２１】
また、ＣＰＵ１からのアクセスがＰＩＯカードへの書込みである場合は、各ＰＩＯチャネルの使用位置選択手段１２は、自ＰＩＯチャネル用アドレスが有る場合に、ＣＰＵバス２のデータ（ＤＡＴ）から自ＰＩＯチャネル用のデータを抽出して、自ＰＩＯバス４、６、８に流す。ＣＰＵバス２のレディ信号（ＲＤＹ）は、各ＰＩＯチャネルの使用位置選択手段１２に送られ、各ＰＩＯチャネルの使用位置選択手段１２は、自ＰＩＯチャネル用アドレスが有る場合に、このレディ信号（ＲＤＹ）を自ＰＩＯバス４、６、８に流す。自ＰＩＯバスにアドレス、レディ信号（書込み時にはデータも）を流した使用位置選択手段１２は、自ＰＩＯバス上のＰＩＯカードからの応答信号（ＲＰＹ）が返ってきた場合、その応答信号を応答信号合成手段１３に伝える。
【００２２】
一方、自ＰＩＯバスにアドレス、レディ信号（書込み時にはデータも）を流さなかった使用位置選択手段１２は、自ら応答信号を生成して応答信号合成手段１３に伝える。応答信号合成手段１３は、全ての使用位置選択手段１２からの応答信号が揃った時点で、ＣＰＵバス２に応答信号を流す。ＣＰＵ１は応答信号合成手段１３からの応答信号により１回分の「同時アクセスセット」に対するアクセスが完了したものと認識する。
【００２３】
なお、この実施の形態１では、ＣＰＵバス２の読出／書込信号（ＲＤ／ＷＴ）は、そのまま各ＰＩＯチャネルに流すように説明したが、レディ信号（ＲＤＹ）と同様、自ＰＩＯチャネル用アドレスが有る場合にのみ自ＰＩＯチャネルに流すように構成しても良い。また、この実施の形態１では、ＰＩＯカードヘのアクセス有無にかかわらず全ての使用位置選択手段１２から応答が返るように構成しているが、どの使用位置選択手段１２からの応答が有効かを応答信号合成手段１３側で判別し、自ＰＩＯバスにアドレス、レディ信号（書込時にはデータも）を流した使用位置選択手段１２のみが応答信号を応答信号合成手段１３に伝えるように構成しても良い。
【００２４】
次に図３により、使用位置選択手段１２が、ＣＰＵバス２上のアドレスとデータから自ＰＩＯチャネル用のアドレス位置とデータ位置を認識する方法について説明する。ＣＰＵ１がＣＰＵバス２にアドレスを流すと、ＭＡＰＲＡＭ１１はｐ個分のＰＩＯチャネル用アドレス（１６×ｐビット）と使用位置選択信号（ｑビット）を出力する。各使用位置選択手段１２は、ｑビットの使用位置選択信号により、１６×ｐビットのアドレス中に自ＰＩＯチャネル用のアドレスが含まれているか、及び、含まれている場合はその位置を検出する。例えば、使用位置選択信号中の自ＰＩＯチャネル用情報が「＃ｉアドレス有効」を示している場合は、＃ｉアドレスを自ＰＩＯチャネル用アドレスとして認識する。同様に、ｐ個分のＰＩＯチャネル用データ（１６×ｐビット）中の＃ｉデータ位置を自ＰＩＯチャネル用データの位置と認識する。一方、使用位置選択信号中の自ＰＩＯチャネル用情報が有効なアドレス番号を示していない場合は、自ＰＩＯチャネルに対するアクセス無しとして認識する。
【００２５】
なお、上記の実施例では、ＭＡＰＲＡＭ１１と使用位置選択手段１２は、同時アクセスするＰＩＯチャネル分のアドレス情報と、それぞれのアドレス情報がどのＰＩＯチャネル用のものであるかの情報を利用するようにしているが、全ＰＩＯチャネル分のアドレス情報と、どのＰＩＯチャネルが有効かを判別可能な情報を利用するように構成しても良い。また、上記の実施例では、ＭＡＰＲＡＭ１１がＣＰＵバス２上のアドレスから同時アクセスするＰＩＯチャネル分のアドレスを生成するように構成しているが、ＭＡＰＲＡＭ１１は、使用ＰＩＯチャネル選択信号のみを生成するものとし、各使用位置選択手段１２でＣＰＵバス２上のアドレスから自ＰＩＯチャネル用のアドレスを生成するように構成しても良い。
【００２６】
上記説明したように、この実施の形態１に係るＰＩＯアクセス方式は、ＣＰＵバスとＰＩＯバスの間に複数カード選択手段３を設けたものである。この複数カード選択手段３によって、ＰＩＯアクセスに際してＣＰＵ１から出力される１つのアドレスから、複致のＰＩＯチャネルを選択し、選択した各ＰＩＯチャネル上のアドレスを生成するとともに、ＰＩＯカードへのデータ書込時にはＣＰＵバス２上のデータを各ＰＩＯチャネル上のデータに分割し、ＰＩＯカードからの読み出し時には各ＰＩＯチャネル上のデータをＣＰＵバス２上のデータに合成し、かつ、各ＰＩＯチャネルからの応答信号を合成してＣＰＵに伝えることによって、複数のＰＩＯカードヘの同時アクセスを可能としたものである。また、各ＰＩＯチャネルのアドレス線をこの複数カード選択手段３によって分離することにより、各ＰＩＯチャネル間のアドレス重複を排除することも可能としている。
【００２７】
従って、実施の形態１によれば、１つのＰＩＯチャネル上のＰＩＯアドレスの設定が他ＰＩＯチャネル上のＰＩＯアドレスと重複しないため、各ＰＩＯアドレスは、他ＰＩＯチャネル上に存在するＰＩＯカードのアドレスを意識する必要が無くなり、アドレス設定の自由度を増すことが可能となる。さらに、同時アクセスする複数ＰＩＯカードの組、即ち「同時アクセスセット」をＣＰＵから見て連続アドレスに配置することが可能なため、複数の「同時アクセスセット」に対して容易にアクセスすることが可能となる。
【００２８】
実施の形態２．
図４はこの発明の実施の形態２によるＰＩＯアクセス方式の概要構成を説明するブロック図である。なお、上記実施の形態１では複数カード選択手段３をＣＰＵバスに接続した場合について説明したが、この実施の形態２では、図４に示すように複数カード選択手段３をＣＰＵとは別のバスコントローラ１４に接続し、このバスコントローラ１４とＣＰＵ１の両方からアクセス可能なメモリ１６により構成するようにしたものである。図２の構成の場合は、（同時アクセスするＰＩＯカードの数）×（各ＰＩＯカードのデータバス幅）は、ＣＰＵ１のデータバス幅を越えることができない。例えば、ＣＰＵ１のデータバス幅が６４ビット、各ＰＩＯカードのデータバス幅が８ビットの場合では、同時アクセスできるＰＩＯカード数は最大８枚となる。
【００２９】
これに対し、図４に示すの実施の形態２の場合、同時アクセス可能なＰＩＯカード数は、バスコントローラバス１５のデータバス幅により制限されるが、バスコントローラバス１５のバス幅を大きくすることは、ＣＰＵのバス幅を大きくすることよりも容易であるため、図２の構成よりもより多くのＰＩＯカードに対して同時にアクセスすることが比較的容易に実現可能となる。例えば、バスコントローラバス１５のデータバス幅が１２８ビット、各ＰＩＯカードのデータバス幅が８ビットの場合では、同時アクセスできるＰＩＯカード数は最大１６枚となる。
【００３０】
なお、上記メモリ１６は次のような機能を果している。
・ＰＩＯカードヘの出力データをＣＰＵ１が書込み、バスコントローラ１４が読み出してＰＩＯカード群５、７、９に出力する。
・ＰＩＯカード群５、７、９からの入カデータをバスコントローラ１４が書込み、ＣＰＵ１が読み出す。
・ＣＰＵ１とバスコントローラ１４のデータバス幅の差を吸収する。
・バスコントローラ１４はＰＩＯへのアクセス時間短縮の為、複数チャネルを同時アクセスするが、ＣＰＵ側は１バイト単位でも２バイト単位でもＣＰＵのデータバスが許す任意のデータ幅でのアクセスが可能となる。
・上記と同様、バスコントローラ側はＰＩＯカードにアクセスする順序に制限が発生するが、ＣＰＵ側は任意の順序でメモリ上のＰＩＯデータにアクセスすることが可能となる。
【００３１】
このように、実施の形態２によれば、複数カード選択手段３をＣＰＵとは別のバスコントローラ１４に接続し、このバスコントローラ１４とＣＰＵ１の両方からアクセス可能なメモリ１６により構成するようにしたことにより、同時アクセス可能なＰＩＯカード数をＣＰＵのデータバス幅を超えて設けることができる。
【００３２】
実施の形態３．
図５〜図８はこの発明の実施の形態３によるＰＩＯアクセス方式により「同時アクセスセット」を構成するときのＰＩＯカードの組み合わせによるアクセス時間の差異を説明するもので、それぞれ組み合わせの例１、例２、例３、及び例４を示すものである。この実施の形態３は、上記実施の形態１または実施の形態２に示すＰＩＯアクセス方式を用いて、「同時アクセスセット」を構成するＰＩＯカードを組み合わせる場合に、アクセス時間の似たもの同士を組み合わせ、さらに、アクセス時間の長いもの同士を優先して組み合わせて「同時アクセスセット」とすることにより、より効率的に利用することを可能としたものである。以下、図を参照して更に詳細に説明する。
【００３３】
まず、組み合わせの例１として、ＰＩＯ−１ａ（５ａ）とＰＩＯ−２ｂ（７ｂ）はアクセス時間が短く、ＰＩＯ−１ｂ（５ｂ）とＰＩＯ−２ａ（７ａ）はアクセス時間が長いという４つのＰＩＯカードの場合について、図５に基づいて説明する。図５の上段（ａ）に「各ＰＩＯカードをカード毎にアクセスした場合」（アクセス時間の合計ｔ１１）、中段（ｂ）に「アクセス時間の短いものと長いものを組み合わせて同時アクセスした場合」（同ｔ１２）、下段（ｃ）に「アクセス時間の似たもの同士を組み合わせて同時アクセスした場合」（同ｔ１３）をそれぞれ示している。その結果、それぞれのアクセス時間は、
ｔ１１＞ｔ１２＞ｔ１３
となり、アクセス時間の似たもの同士を組み合わせて同時アクセスすることが効率がよいことが判る。なお、図に示すように、ｔ１１とｔ１２の差は、２チャネル同時アクセスの効果を示し、ｔ１１とｔ１３の差は、（２チャネル同時アクセス）＋（ＰＩＯアクセス時間による組分け）の効果を示している。
【００３４】
次に、組み合わせの例２として、ＰＩＯ−１ａ（５ａ）だけがアクセス時間が短く、ＰＩＯ−１ｂ（５ｂ）とＰＩＯ−２ａ（７ａ）とＰＩＯ−２ｂ（７ｂ）はアクセス時間が長いという４つのＰＩＯカードの場合について、図６に基づいて説明する。図６の上段（ａ）に「アクセス時間の短いものを優先して粗み合わせた場合（アクセス時間の異なるもの同士が余る場合）」（アクセス時間合計ｔ２１）、中段（ｂ）に「アクセス時間の長いものを優先して組み合わせた場合（アクセス時間の異なるもの同士が余る場合）」（同２２）、下段（ｃ）に「アクセス時間の似たもののみを組み合わせた場合（アクセス時間の異なるもの同士が余る場合）」（同２３）をそれぞれ示している。ここで、「優先して」というのは、「アクセス時間の異なったものが余った場合も、極力同時アクセスセットに組み込む」ことを示す。その結果、それぞれのアクセス時間は、
ｔ２１＝ｔ２２＜ｔ２３
となる。
【００３５】
次に、組み合わせの例３として、ＰＩＯ−１ａ（５ａ）とＰＩＯ−１ｃ（図示省略）とＰＩＯ−２ｂ（７ｂ）はアクセス時間が短く、ＰＩＯ−１ｂ（５ｂ）とＰＩＯ−２ａ（７ａ）はアクセス時間が長い５つのＰＩＯカードの場合（何れか１枚のカードは単独アクセスになる場合）について、図７に基づいて説明する。図７の上段（ａ）に「アクセス時間の短いものを優先して組み合わせた場合（アクセス時間の短いものが余る場合）」（アクセス時間合計ｔ３１）、中段（ｂ）に「アクセス時間の長いものを優先して組み合わせた場合（アクセス時間の短いものが余る場合）」（同ｔ３２）、下段（ｃ）に「アクセス時間の似たもののみを組み合わせた場合（アクセス時間の短いものが余る場合）」（同ｔ３３）をそれぞれ示している。その結果、それぞれのアクセス時間は、
ｔ３１＞ｔ３２＝ｔ３３
となる。
【００３６】
最後に、組み合わせの例４として、ＰＩＯ−１ａ（５ａ）とＰＩＯ−２ｂ（７ｂ）はアクセス時間が短く、ＰＩＯ−１ｂ（５ｂ）とＰＩＯ−１ｃとＰＩＯ−２ａ（７ａ）はアクセス時間が長い５つのＰＩＯカードの場合（何れか１枚のカードは単独アクセスになる場合）について、図８に基づいて説明する。図８の上段（ａ）に「アクセス時間の短いものを優先して組み合わせた場合（アクセス時間の長いものが余る場合）」（アクセス時間合計ｔ４１）について示し、中段（ｂ）に「アクセス時間の長いものを優先して組み合わせた場合（アクセス時間の長いものが余る場合）」（同ｔ４２）、下段（ｃ）に「アクセス時間の似たもののみを組み合わせた場合（アクセス時間の長いものが余る場合）」（同ｔ４３）を示している。その結果、それぞれのアクセス時間は、
ｔ４１＝ｔ４２＝ｔ４３
となる。
【００３７】
以上のことから、「アクセス時間の長いものを優先して組み合わせた場合」が他の組み合わせよりもアクセス時間が短くなることが明らかであり、この発明の実施の形態３は、このことを利用して、同時アクセスするＰＩＯカードを組み合わせる場合に、アクセス時間の似たもの同士を組み合わせ、さらに、アクセス時間の長いもの同士を優先して組み合わせて「同時アクセスセット」を決定するようにしたものであり、これより、複数ＰＩＯの同時アクセス時間をより効率的に短縮することができる。なお、上記説明した各ＰＩＯカード毎のアクセス時間は、事前に測定しておいたり、ＰＩＯカードヘのアクセスを行う機能で「テストアクセス」したりすることにより得ることができる。
【００３８】
また、同時アクセスセットを決定するタイミングとしては、設定ツールなどのオフライン手段で決定しても良いし、ＰＩＯカードヘのアクセスを行う機能の初期化機能で決定しても、ＰＩＯカードの更新処理中に、あるいは、あるＰＩＯカードがアクセス不可になった場合等に決定し直しても良い。さらに、上記説明では、「極力同時アクセスセットに組み込む」としたが、同時アクセスを行うアドレス空間とは別に、単一カードヘのアクセス用アドレス空間をＭＡＰＲＡＭ上に設けることにより、「ＰＩＯ一括更新」だけではなく「単一ＰＩＯアクセス」も可能となる。
【図面の簡単な説明】
【００３９】
【図１】この発明の実施の形態１によるＰＩＯアクセス方式の概要構成を示すブロック図。
【図２】図１に示すｎ個のＰＩＯチャネルから選定したｐ個のＰＩＯチャネル上のＰＩＯカードに対して同時アクセスする場合における、複数カード選択手段の内部構成を詳細に例示するブロック図。
【図３】図２に示すＭＡＰＲＡＭから出力されるビット構成例を示す図。
【図４】この発明の実施の形態２によるＰＩＯアクセス方式の概要構成を説明するブロック図。
【図５】この発明の実施の形態３によるＰＩＯアクセス方式により「同時アクセスセット」を構成するときのＰＩＯカードの組み合わせによるアクセス時間の差異を説明するもので、組み合わせの例１。
【図６】同じく、組み合わせの例２。
【図７】同じく、組み合わせの例３。
【図８】同じく、組み合わせの例４。
【図９】一般的なＰＩＯ一括更新方式のプログラマブルコントローラにおける処理の実行順序を示すフロー図。
【図１０】従来の一般的なＰＩＯアクセス方式における、ＰＩＯカードに対して入出力動作を行うＣＰＵと各ＰＩＯカードの関係を例示するブロック図。
【図１１】従来のＰＩＯアクセス方式における、ＰＩＯカードに対する入出力動作を例示するタイミングチャート。
【図１２】従来のＰＩＯアクセス方式における、複数のＰＩＯカードに対する入出力動作を例示するタイミングチャート。
【符号の説明】
【００４０】
１  ＣＰＵ、  ２  ＣＰＵバス、  ３  複数カード選択手段、  ４  ＰＩＯバス（ＰＩＯバス１）、  ５  ＰＩＯカード群（ＰＩＯカード群１）、  ６  ＰＩＯバス（ＰＩＯバス２）、  ７  ＰＩＯカード群（ＰＩＯカード群２）、  ８  ＰＩＯバス（ＰＩＯバスｎ）、  ９  ＰＩＯカード群（ＰＩＯカード群ｎ）、  １０  バス変換手段、  １１  ＭＡＰＲＡＭ、  １２  使用位置選択手段、  １３  応答信号合成手段、  １４  バスコントローラ、  １５  バスコントローラバス、  １６  メモリ（ＣＰＵとバスコントローラの共有メモリ）。
【図１】
2005339012.tif 000003
【図２】
2005339012.tif 000004
【図３】
2005339012.tif 000005
【図４】
2005339012.tif 000006
【図５】
2005339012.tif 000007
【図６】
2005339012.tif 000008
【図７】
2005339012.tif 000009
【図８】
2005339012.tif 000010
【図９】
2005339012.tif 000011
【図１０】
2005339012.tif 000012
【図１１】
2005339012.tif 000013
【図１２】
2005339012.tif 000014