JP2001147905A - プログラマブルコントローラシステム - Google Patents
プログラマブルコントローラシステムInfo
- Publication number
- JP2001147905A JP2001147905A JP33249899A JP33249899A JP2001147905A JP 2001147905 A JP2001147905 A JP 2001147905A JP 33249899 A JP33249899 A JP 33249899A JP 33249899 A JP33249899 A JP 33249899A JP 2001147905 A JP2001147905 A JP 2001147905A
- Authority
- JP
- Japan
- Prior art keywords
- information
- module
- new
- data
- identification number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Programmable Controllers (AREA)
- Small-Scale Networks (AREA)
Abstract
(57)【要約】
【課題】 I/Oモジュールを追加する場合にシステム
的にI/Oアドレス空間を使い切った状態でもI/O空
間を拡張できるようにする。 【解決手段】 CPUモジュール2が2局(#51、#
52)、I/Oモジュール3が8局(#1〜#8)、シ
リアルリンクバス1に接続されて成るPCシステムにお
いて、更にI/Oモジュール3が8局(#9〜#16)
追加された場合、I/O空間識別番号に基づいて新たな
周期情報/新たな位相情報を算出する。
的にI/Oアドレス空間を使い切った状態でもI/O空
間を拡張できるようにする。 【解決手段】 CPUモジュール2が2局(#51、#
52)、I/Oモジュール3が8局(#1〜#8)、シ
リアルリンクバス1に接続されて成るPCシステムにお
いて、更にI/Oモジュール3が8局(#9〜#16)
追加された場合、I/O空間識別番号に基づいて新たな
周期情報/新たな位相情報を算出する。
Description
【0001】
【発明の属する技術分野】本発明は、プログラマブルコ
ントローラに係わり、特にリング型のバスにCPUモジ
ュール、I/Oモジュールが接続されて成るプログラマ
ブルコントローラシステムに関する。
ントローラに係わり、特にリング型のバスにCPUモジ
ュール、I/Oモジュールが接続されて成るプログラマ
ブルコントローラシステムに関する。
【0002】
【従来の技術】近年、プラント、工場などでは、機械や
装置のシーケンス制御に多くのプログラマブルコントロ
ーラ(以下PCという)を用い、FA(ファクトリーオ
ートメーション)化を実現している。
装置のシーケンス制御に多くのプログラマブルコントロ
ーラ(以下PCという)を用い、FA(ファクトリーオ
ートメーション)化を実現している。
【0003】あるPCシステムは、プログラムの実行や
データの演算処理等を行うCPUモジュールや、制御機
器とプロセスデータの入出力を行うI/Oモジュールが
バス(システムバス等)で接続されて成る構成となって
いる。これら各モジュールは、システムバスを介して互
いにデータのやりとりを行い、接続機器の制御処理を行
う。
データの演算処理等を行うCPUモジュールや、制御機
器とプロセスデータの入出力を行うI/Oモジュールが
バス(システムバス等)で接続されて成る構成となって
いる。これら各モジュールは、システムバスを介して互
いにデータのやりとりを行い、接続機器の制御処理を行
う。
【0004】このPCシステムが複数のCPUモジュー
ルを備える構成の場合、各CPUモジュールはそれぞれ
非同期に動作処理を行っており、またI/Oモジュール
に対するプロセスデータの入出力処理もそれぞれ非同期
に行っている。このような各CPUモジュールそれぞれ
が非同期に処理を行うと、CPUモジュール間で入出力
処理に対する競合が発生する場合がある。この場合は1
つのCPUモジュールのみが入出力処理を行うことが出
来、他のCPUモジュールは、その間、処理の実行を待
たされることになる。
ルを備える構成の場合、各CPUモジュールはそれぞれ
非同期に動作処理を行っており、またI/Oモジュール
に対するプロセスデータの入出力処理もそれぞれ非同期
に行っている。このような各CPUモジュールそれぞれ
が非同期に処理を行うと、CPUモジュール間で入出力
処理に対する競合が発生する場合がある。この場合は1
つのCPUモジュールのみが入出力処理を行うことが出
来、他のCPUモジュールは、その間、処理の実行を待
たされることになる。
【0005】また、各I/Oモジュールは、リアルタイ
ムで接続機器からのプロセスデータの出力を行い、また
CPUモジュールからのデータを必要としているので、
複数のCPUモジュールが連携して処理を行う場合に、
CPUモジュール間やタスク間で同期が行われていない
と、異なるデータを同じデータと認識して処理してしま
うなどの問題が生じる場合がある。
ムで接続機器からのプロセスデータの出力を行い、また
CPUモジュールからのデータを必要としているので、
複数のCPUモジュールが連携して処理を行う場合に、
CPUモジュール間やタスク間で同期が行われていない
と、異なるデータを同じデータと認識して処理してしま
うなどの問題が生じる場合がある。
【0006】
【発明が解決しようとする課題】このような問題に対し
て、本発明の出願人は、先出願(特願平10−1486
48、特願平11−90278)において、CPUモジ
ュール間やマルチタスク処理時のタスク間で同期してデ
ータのやり取りを行うことが可能なPC及びその入出力
制御方式を提案している。
て、本発明の出願人は、先出願(特願平10−1486
48、特願平11−90278)において、CPUモジ
ュール間やマルチタスク処理時のタスク間で同期してデ
ータのやり取りを行うことが可能なPC及びその入出力
制御方式を提案している。
【0007】上記先出願に記載のPCシステムは、CP
Uモジュール、I/Oモジュール等が、その内部のシリ
アルリンク制御LSI(不図示)を介して、シリアルリ
ンクバスと接続されて成る。ネットワーク上を流れるフ
レームは、シリアルリンクバス上を一定方向に巡回し、
各モジュールのシリアルリンク制御LSIは、上流局か
ら送信されたフレームを自己の受信バッファに取込み、
自局に対するデータがなければそのまま下流局に送り、
また自局に対するデータがあればそれを取込む。このよ
うにして、シリアルリンクバス上をフレームデータが一
定方向に巡回して各モジュール間のデータ送受信を実現
する。
Uモジュール、I/Oモジュール等が、その内部のシリ
アルリンク制御LSI(不図示)を介して、シリアルリ
ンクバスと接続されて成る。ネットワーク上を流れるフ
レームは、シリアルリンクバス上を一定方向に巡回し、
各モジュールのシリアルリンク制御LSIは、上流局か
ら送信されたフレームを自己の受信バッファに取込み、
自局に対するデータがなければそのまま下流局に送り、
また自局に対するデータがあればそれを取込む。このよ
うにして、シリアルリンクバス上をフレームデータが一
定方向に巡回して各モジュール間のデータ送受信を実現
する。
【0008】そして、CPUモジュールがI/Oモジュ
ールからデータを受信する“受信処理”のときのデータ
転送は、トータルフレーム方式により行う。またCPU
モジュールからI/Oモジュールへデータを出力する
“送信処理”のときのデータ転送は、マルチキャスト方
式により行う。
ールからデータを受信する“受信処理”のときのデータ
転送は、トータルフレーム方式により行う。またCPU
モジュールからI/Oモジュールへデータを出力する
“送信処理”のときのデータ転送は、マルチキャスト方
式により行う。
【0009】概略的に説明するならば、トータルフレー
ム方式は、リング状のトポロジーを持つシリアルリンク
バスにおいて、巡回する1つのフレームに対してI/O
モジュールの各局が自局データを追加してゆき、フレー
ムがシリアルリンクバスを2巡回することで、自局デー
タの送信及び他局データの受信を行い、各局が他局のデ
ータの共有化を図ると共に伝送効率を上げるようにした
伝送方式である。一方、マルチキャスト方式では、シリ
アルリンクバス上にマルチキャスト通信用のフリートー
クンを巡回させ、データ伝送を要求する局(出力装置に
出力するための送信データが用意されており、また当該
送信帯域の送信許可設定がされている局)は、フリート
ークンを確保して代わりにマルチキャストフレームの送
信を行う。マルチキャストフレームはシリアルリンクバ
ス上を巡回し、このマルチキャストフレームを受信した
ネットワーク上の局は、それを下流へ中継して巡回させ
ると共に、フレーム内の出力データの設定内容に基づい
て自局宛のデータの取込みを行う。
ム方式は、リング状のトポロジーを持つシリアルリンク
バスにおいて、巡回する1つのフレームに対してI/O
モジュールの各局が自局データを追加してゆき、フレー
ムがシリアルリンクバスを2巡回することで、自局デー
タの送信及び他局データの受信を行い、各局が他局のデ
ータの共有化を図ると共に伝送効率を上げるようにした
伝送方式である。一方、マルチキャスト方式では、シリ
アルリンクバス上にマルチキャスト通信用のフリートー
クンを巡回させ、データ伝送を要求する局(出力装置に
出力するための送信データが用意されており、また当該
送信帯域の送信許可設定がされている局)は、フリート
ークンを確保して代わりにマルチキャストフレームの送
信を行う。マルチキャストフレームはシリアルリンクバ
ス上を巡回し、このマルチキャストフレームを受信した
ネットワーク上の局は、それを下流へ中継して巡回させ
ると共に、フレーム内の出力データの設定内容に基づい
て自局宛のデータの取込みを行う。
【0010】図10は、先出願のPCシステムにおける
トータルフレーム方式に係わる構成の一例を示す図であ
る。同図に示すPCシステムは、1または複数のCPU
モジュール102と複数のI/Oモジュール103(ト
ータルフレーム方式に係わる構成であるので、全て入力
装置としてのI/Oモジュールである)がリング型の伝
送トポロジーをもつシリアルリンクバス101によって
接続されるネットワーク構成をもつ。このシリアルリン
クバス101に接続されている各モジュールには、その
ネットワーク上での局としてそれぞれを一意に識別する
局番が設定されている。同図では、CPUモジュール1
02が2局、I/Oモジュール103が8局接続されて
おり、各局にその局番として#51、#52(CPUモ
ジュール102)、#1〜#8(I/Oモジュール10
3)が設定されているものとする。
トータルフレーム方式に係わる構成の一例を示す図であ
る。同図に示すPCシステムは、1または複数のCPU
モジュール102と複数のI/Oモジュール103(ト
ータルフレーム方式に係わる構成であるので、全て入力
装置としてのI/Oモジュールである)がリング型の伝
送トポロジーをもつシリアルリンクバス101によって
接続されるネットワーク構成をもつ。このシリアルリン
クバス101に接続されている各モジュールには、その
ネットワーク上での局としてそれぞれを一意に識別する
局番が設定されている。同図では、CPUモジュール1
02が2局、I/Oモジュール103が8局接続されて
おり、各局にその局番として#51、#52(CPUモ
ジュール102)、#1〜#8(I/Oモジュール10
3)が設定されているものとする。
【0011】図11は、図10に示す様に各I/Oモジ
ュール毎に“周期情報”と“位相情報”が設定された場
合に、CPUモジュール102が受け取るトータルフレ
ームに付加されるデータの一例を示す図である。
ュール毎に“周期情報”と“位相情報”が設定された場
合に、CPUモジュール102が受け取るトータルフレ
ームに付加されるデータの一例を示す図である。
【0012】トータルフレームには、図11に示すよう
に、その先頭部分にタクトNO. が設定される。タクトN
O. は、例えばCPUモジュール102(リングマスタ
ー局となっているモジュール)が、フレームをシリアル
リンクバス1上に送出する毎に+1インクリメントす
る。勿論これに限るものではなく、タクトNO. は何等か
の所定の規則にしたがって更新されていくものである。
に、その先頭部分にタクトNO. が設定される。タクトN
O. は、例えばCPUモジュール102(リングマスタ
ー局となっているモジュール)が、フレームをシリアル
リンクバス1上に送出する毎に+1インクリメントす
る。勿論これに限るものではなく、タクトNO. は何等か
の所定の規則にしたがって更新されていくものである。
【0013】各I/Oモジュール103(#1〜#8)
は、受信したフレームのタクトNO.を参照し、図10に
示すように設定された“周期情報”と“位相情報”とに
基づいて、自局のデータ出力タイミングであるか否かを
判定し、そうである場合は受信したフレームの末尾に自
局のデータを付加して出力する。判定の方法は、例え
ば、受信したフレームのタクトNO. を“周期情報”で割
り、その余りが“位相情報”と一致するか否かで行う。
これより、図10に示すように“周期情報”、“位相情
報”が設定されている場合は、各トータルフレームが、
各I/Oモジュール103から上記判定の結果に応じて
自局のデータを付加されながら、シリアルリンクバス1
上を巡回して、最終的に、CPUモジュール102が図
11に示す各トータルフレームを受け取る。このよう
に、各トータルフレーム毎に、自局のデータ出力タイミ
ングであるI/Oモジュール103のデータのみが付加
されてCPUモジュール102に転送される。
は、受信したフレームのタクトNO.を参照し、図10に
示すように設定された“周期情報”と“位相情報”とに
基づいて、自局のデータ出力タイミングであるか否かを
判定し、そうである場合は受信したフレームの末尾に自
局のデータを付加して出力する。判定の方法は、例え
ば、受信したフレームのタクトNO. を“周期情報”で割
り、その余りが“位相情報”と一致するか否かで行う。
これより、図10に示すように“周期情報”、“位相情
報”が設定されている場合は、各トータルフレームが、
各I/Oモジュール103から上記判定の結果に応じて
自局のデータを付加されながら、シリアルリンクバス1
上を巡回して、最終的に、CPUモジュール102が図
11に示す各トータルフレームを受け取る。このよう
に、各トータルフレーム毎に、自局のデータ出力タイミ
ングであるI/Oモジュール103のデータのみが付加
されてCPUモジュール102に転送される。
【0014】図12は、先出願のPCシステムにおける
マルチキャストフレーム方式に係わる構成の一例を示す
図である。同図においては、シリアルリンクバス101
にCPUモジュール102が2局、I/Oモジュール1
04(マルチキャストフレーム方式に係わる構成である
ので、全て出力装置としてのI/Oモジュールである)
が8局接続されており、各局にその局番として#21〜
#28(I/Oモジュール104)、#51、#52
(CPUモジュール102)が設定されているものとす
る。
マルチキャストフレーム方式に係わる構成の一例を示す
図である。同図においては、シリアルリンクバス101
にCPUモジュール102が2局、I/Oモジュール1
04(マルチキャストフレーム方式に係わる構成である
ので、全て出力装置としてのI/Oモジュールである)
が8局接続されており、各局にその局番として#21〜
#28(I/Oモジュール104)、#51、#52
(CPUモジュール102)が設定されているものとす
る。
【0015】マルチキャストフレームにも、その先頭部
分にタクトNO. が設定される。CPUモジュール102
は、タクトNO. に応じた所定のI/Oモジュール104
に対するデータのみ有するマルチキャストフレームを出
力する。例えば、図12に示す様な各I/Oモジュール
毎の“周期”と“位相”に対応して、CPUモジュール
102内のメモリ等に各タクトNO. 毎にデータ出力すべ
きI/Oモジュール(の番号等)がテーブル形式で格納
されており、これに応じて例えば図13に示すようなマ
ルチキャストフレームが、CPUモジュール102から
シリアルリンクバス101上に出力される。各I/Oモ
ジュール104は、シリアルリンクバス101を介して
受信したマルチキャストフレームの中から、自局に対す
るデータを取込み、自局に接続されている制御機器等に
出力する。
分にタクトNO. が設定される。CPUモジュール102
は、タクトNO. に応じた所定のI/Oモジュール104
に対するデータのみ有するマルチキャストフレームを出
力する。例えば、図12に示す様な各I/Oモジュール
毎の“周期”と“位相”に対応して、CPUモジュール
102内のメモリ等に各タクトNO. 毎にデータ出力すべ
きI/Oモジュール(の番号等)がテーブル形式で格納
されており、これに応じて例えば図13に示すようなマ
ルチキャストフレームが、CPUモジュール102から
シリアルリンクバス101上に出力される。各I/Oモ
ジュール104は、シリアルリンクバス101を介して
受信したマルチキャストフレームの中から、自局に対す
るデータを取込み、自局に接続されている制御機器等に
出力する。
【0016】ここで、一般的に、システムとして扱える
I/Oアドレス空間には制限がある。上記先出願では、
上記PCシステム的にI/Oアドレス空間を使い切った
状態で、更にI/Oモジュールを追加しようとした場
合、ハードウェアを変更することなくI/Oアドレス空
間を拡張することはできなかった。
I/Oアドレス空間には制限がある。上記先出願では、
上記PCシステム的にI/Oアドレス空間を使い切った
状態で、更にI/Oモジュールを追加しようとした場
合、ハードウェアを変更することなくI/Oアドレス空
間を拡張することはできなかった。
【0017】すなわち、上記先出願では、CPUモジュ
ール#51、#52のように複数のCPUモジュールを
実装し、マルチCPUシステムを構築した場合でも、例
えば図14(a)に示すように、CPUモジュール間で
I/Oアドレス空間は共通の空間とならざるを得ない。
あるいは、例えばCPUモジュール#52がI/Oモジ
ュール#1、#2だけを使用している場合、そのI/O
アドレス空間は、図14(b)に示すようになるが、余
っている領域に対してI/Oモジュール#1〜#8以外
の他のI/Oモジュール(追加しようとするI/Oモジ
ュール)用のI/Oアドレスを割り当てることはできな
い。
ール#51、#52のように複数のCPUモジュールを
実装し、マルチCPUシステムを構築した場合でも、例
えば図14(a)に示すように、CPUモジュール間で
I/Oアドレス空間は共通の空間とならざるを得ない。
あるいは、例えばCPUモジュール#52がI/Oモジ
ュール#1、#2だけを使用している場合、そのI/O
アドレス空間は、図14(b)に示すようになるが、余
っている領域に対してI/Oモジュール#1〜#8以外
の他のI/Oモジュール(追加しようとするI/Oモジ
ュール)用のI/Oアドレスを割り当てることはできな
い。
【0018】この為、システム的にI/Oアドレス空間
を使い切った状態で、更に例えば(入力装置としての)
I/Oモジュール#9〜#16を追加しようとした場
合、例えば図15に示すように、シリアルリンクバス1
05、CPUモジュール106、I/Oモジュール10
7(#9〜#16)より成るもう1つシステムを構築す
るしかなかった。しかしながら、この場合、2つのシス
テム間で同期を取るのが困難であった(それぞれのシス
テムにおける制御周期等の同期性は保証されない)。
を使い切った状態で、更に例えば(入力装置としての)
I/Oモジュール#9〜#16を追加しようとした場
合、例えば図15に示すように、シリアルリンクバス1
05、CPUモジュール106、I/Oモジュール10
7(#9〜#16)より成るもう1つシステムを構築す
るしかなかった。しかしながら、この場合、2つのシス
テム間で同期を取るのが困難であった(それぞれのシス
テムにおける制御周期等の同期性は保証されない)。
【0019】本発明の課題は、I/Oモジュールを追加
しようとした場合に、システム的にI/Oアドレス空間
を使い切った状態でもI/O空間を拡張できるように
し、以て将来のシステム増設等に容易に対応できるPC
システムを提供することである。
しようとした場合に、システム的にI/Oアドレス空間
を使い切った状態でもI/O空間を拡張できるように
し、以て将来のシステム増設等に容易に対応できるPC
システムを提供することである。
【0020】
【課題を解決するための手段】本発明によるプログラマ
ブルコントローラシステムは、少なくとも1つ以上のC
PUモジュールと複数のI/Oモジュールが、リング型
のバスに接続されて成るプログラマブルコントローラシ
ステムにおいて、前記各I/Oモジュールは、前記バス
上を周回するトータルフレームを受信する毎に該トータ
ルフレームに付加される識別番号に応じて自己のデータ
出力タイミングであるか否かを判断する為の出力タイミ
ング情報を格納する出力タイミング情報格納手段を有
し、I/Oモジュールの追加によって前記プログラマブ
ルコントローラシステムのI/Oアドレス空間を拡張す
る場合に、I/O空間識別番号を用いて新たな出力タイ
ミング情報を算出して前記出力タイミング情報格納手段
に格納する出力タイミング情報更新手段を備える。
ブルコントローラシステムは、少なくとも1つ以上のC
PUモジュールと複数のI/Oモジュールが、リング型
のバスに接続されて成るプログラマブルコントローラシ
ステムにおいて、前記各I/Oモジュールは、前記バス
上を周回するトータルフレームを受信する毎に該トータ
ルフレームに付加される識別番号に応じて自己のデータ
出力タイミングであるか否かを判断する為の出力タイミ
ング情報を格納する出力タイミング情報格納手段を有
し、I/Oモジュールの追加によって前記プログラマブ
ルコントローラシステムのI/Oアドレス空間を拡張す
る場合に、I/O空間識別番号を用いて新たな出力タイ
ミング情報を算出して前記出力タイミング情報格納手段
に格納する出力タイミング情報更新手段を備える。
【0021】上記プログラマブルコントローラシステム
において、例えば、前記出力タイミング情報は、周期情
報と位相情報であり、前記出力タイミング情報更新手段
は、前記I/Oアドレス空間をN倍に拡張する場合(I
/O空間識別番号=0,1,・・・N−1)、 新たな周期情報=周期情報×N 新たな位相情報=位相情報×N+I/O空間識別番号
または新たな位相情報=位相情報+周期情報×I/O空
間識別番号 により前記新たな出力タイミング情報を算出する。
において、例えば、前記出力タイミング情報は、周期情
報と位相情報であり、前記出力タイミング情報更新手段
は、前記I/Oアドレス空間をN倍に拡張する場合(I
/O空間識別番号=0,1,・・・N−1)、 新たな周期情報=周期情報×N 新たな位相情報=位相情報×N+I/O空間識別番号
または新たな位相情報=位相情報+周期情報×I/O空
間識別番号 により前記新たな出力タイミング情報を算出する。
【0022】また、本発明によるプログラマブルコント
ローラシステムは、少なくとも1つ以上のCPUモジュ
ールと複数のI/Oモジュールが、リング型のバスに接
続されて成るプログラマブルコントローラシステムにお
いて、前記CPUモジュールは、前記バスを介して受信
するマルチキャストフレームに付加される各識別番号に
応じたデータ出力対象のI/Oモジュールを示す情報を
格納するデータ出力対象情報格納手段を有し、I/Oモ
ジュールの追加によって前記プログラマブルコントロー
ラシステムのI/Oアドレス空間を拡張する場合に、I
/O空間識別番号を用いて新たなデータ出力対象情報を
求めて前記データ出力対象情報格納手段に格納するデー
タ出力対象情報更新手段を備える。
ローラシステムは、少なくとも1つ以上のCPUモジュ
ールと複数のI/Oモジュールが、リング型のバスに接
続されて成るプログラマブルコントローラシステムにお
いて、前記CPUモジュールは、前記バスを介して受信
するマルチキャストフレームに付加される各識別番号に
応じたデータ出力対象のI/Oモジュールを示す情報を
格納するデータ出力対象情報格納手段を有し、I/Oモ
ジュールの追加によって前記プログラマブルコントロー
ラシステムのI/Oアドレス空間を拡張する場合に、I
/O空間識別番号を用いて新たなデータ出力対象情報を
求めて前記データ出力対象情報格納手段に格納するデー
タ出力対象情報更新手段を備える。
【0023】上記プログラマブルコントローラシステム
において、例えば、前記データ出力対象情報は、周期情
報と位相情報とに基づいて求められるものであり、前記
データ出力対象情報更新手段は、前記I/Oアドレス空
間をN倍に拡張する場合(I/O空間識別番号=0,
1,・・・N−1)、 新たな周期情報=周期情報×N 新たな位相情報=位相情報×N+I/O空間識別番号
または新たな位相情報=位相情報+周期情報×I/O空
間識別番号 により新たな周期情報/位相情報を算出し、該新たな周
期情報/位相情報に基づいて前記新たなデータ出力対象
情報を求める。
において、例えば、前記データ出力対象情報は、周期情
報と位相情報とに基づいて求められるものであり、前記
データ出力対象情報更新手段は、前記I/Oアドレス空
間をN倍に拡張する場合(I/O空間識別番号=0,
1,・・・N−1)、 新たな周期情報=周期情報×N 新たな位相情報=位相情報×N+I/O空間識別番号
または新たな位相情報=位相情報+周期情報×I/O空
間識別番号 により新たな周期情報/位相情報を算出し、該新たな周
期情報/位相情報に基づいて前記新たなデータ出力対象
情報を求める。
【0024】上述したプログラマブルコントローラシス
テムによれば、特にCPUモジュール間やマルチタスク
処理時のタスク間で同期したデータのやり取りを行うこ
とが可能なプログラマブルコントローラシステムにおい
て、例えばI/Oモジュールを追加しようとした場合に
システム的にI/Oアドレス空間を使い切った状態であ
っても、I/O空間識別番号を用いて新たな周期情報/
位相情報を算出することにより、I/O空間を拡張する
ことを可能にする。また、これを以て将来のシステム増
設等に容易に対応できるようになる。
テムによれば、特にCPUモジュール間やマルチタスク
処理時のタスク間で同期したデータのやり取りを行うこ
とが可能なプログラマブルコントローラシステムにおい
て、例えばI/Oモジュールを追加しようとした場合に
システム的にI/Oアドレス空間を使い切った状態であ
っても、I/O空間識別番号を用いて新たな周期情報/
位相情報を算出することにより、I/O空間を拡張する
ことを可能にする。また、これを以て将来のシステム増
設等に容易に対応できるようになる。
【0025】
【発明の実施の形態】以下、図面を参照して、本発明の
実施の形態について説明する。まず、CPUモジュール
が各I/Oモジュールからデータを受信する“受信処
理”(トータルフレーム方式)に関して、説明する。
実施の形態について説明する。まず、CPUモジュール
が各I/Oモジュールからデータを受信する“受信処
理”(トータルフレーム方式)に関して、説明する。
【0026】図1は、本発明の一実施形態のPCシステ
ムにおけるトータルフレーム方式に係わる構成の一例を
示す図である。同図に示すPCシステムは、1または複
数のCPUモジュール2と複数のI/Oモジュール3
(トータルフレーム方式に係わる構成であるので、全て
入力装置としてのI/Oモジュールである)が、リング
型の伝送トポロジーをもつシリアルリンクバス1によっ
て接続されるネットワーク構成をもつ。
ムにおけるトータルフレーム方式に係わる構成の一例を
示す図である。同図に示すPCシステムは、1または複
数のCPUモジュール2と複数のI/Oモジュール3
(トータルフレーム方式に係わる構成であるので、全て
入力装置としてのI/Oモジュールである)が、リング
型の伝送トポロジーをもつシリアルリンクバス1によっ
て接続されるネットワーク構成をもつ。
【0027】このシリアルリンクバス1に接続されてい
る各モジュールには、そのネットワーク上での局として
それぞれを一意に識別する局番が設定されている。同図
では、図10に示すようなCPUモジュール2が2局
(#51、#52)、I/Oモジュール3が8局(#1
〜#8)、シリアルリンクバス1に接続されて成るPC
システムにおいて、更にI/Oモジュール3が8局(#
9〜#16)追加された場合の構成を示している。
る各モジュールには、そのネットワーク上での局として
それぞれを一意に識別する局番が設定されている。同図
では、図10に示すようなCPUモジュール2が2局
(#51、#52)、I/Oモジュール3が8局(#1
〜#8)、シリアルリンクバス1に接続されて成るPC
システムにおいて、更にI/Oモジュール3が8局(#
9〜#16)追加された場合の構成を示している。
【0028】図2は、CPUモジュール2内での入力デ
ータに対する制御処理を示す図である。すなわち、特に
トータルフレーム方式に係わる構成を示してある。同図
において、CPUモジュール2は、データの入力制御を
行うための構成要素として、入力バッファ21、I/O
領域22、入力バッファ転送テーブル23及び入力デー
タ転送テーブル24を有する。また、CPUモジュール
2は、シリアルリンク制御LSI10を備えており、こ
れはデータの入力制御に係わる構成要素として、受信バ
ッファ11を有する。
ータに対する制御処理を示す図である。すなわち、特に
トータルフレーム方式に係わる構成を示してある。同図
において、CPUモジュール2は、データの入力制御を
行うための構成要素として、入力バッファ21、I/O
領域22、入力バッファ転送テーブル23及び入力デー
タ転送テーブル24を有する。また、CPUモジュール
2は、シリアルリンク制御LSI10を備えており、こ
れはデータの入力制御に係わる構成要素として、受信バ
ッファ11を有する。
【0029】入力バッファ21は、上流局から流れてき
たデータの中で自モジュールで必要な局からのプロセス
データを取込む為のバッファである。I/O領域22
は、自局で実行されているアプリケーションプログラム
の各タスク25が、直接アクセスすることが出来るメモ
リ領域である。CPUモジュール2内にあるプログラム
処理を行う実行プロセッサ(不図示)は、このI/O領
域22内から自己が必要とするデータを読み出したり、
あるいはI/Oモジュール3への出力データをI/O領
域22に書込む。
たデータの中で自モジュールで必要な局からのプロセス
データを取込む為のバッファである。I/O領域22
は、自局で実行されているアプリケーションプログラム
の各タスク25が、直接アクセスすることが出来るメモ
リ領域である。CPUモジュール2内にあるプログラム
処理を行う実行プロセッサ(不図示)は、このI/O領
域22内から自己が必要とするデータを読み出したり、
あるいはI/Oモジュール3への出力データをI/O領
域22に書込む。
【0030】尚、このI/O領域22が、上記I/Oア
ドレス空間に相当するものである。また、I/O領域2
2の大きさは、システム(CPUモジュール2)として
決まった大きさになる。
ドレス空間に相当するものである。また、I/O領域2
2の大きさは、システム(CPUモジュール2)として
決まった大きさになる。
【0031】シリアルリンク制御LSI10は、シリア
ルリンクバス1からトータルフレーム方式により送信さ
れてくるフレーム(トータルフレーム)を受信すると、
これを自己の受信バッファ11に取込むと共に下流局の
モジュールに流す。そして、CPUモジュール2は、入
力バッファ転送テーブル23を参照して、必要なデータ
を受信バッファ11から入力バッファ21に取込む。詳
しくは、受信バッファ11に一時的に記憶されたデータ
の中で自局が必要とするデータは、タクト周期(シリア
ルリンクバス1の転送周期と同一周期)で、受信バッフ
ァ11から入力バッファ21に転送される。そして、タ
スク25起動時に、そのタスクに対応する入力データ転
送テーブル24が参照されて、そのタスクが必要とする
データが入力バッファ21からI/O領域22に転送さ
れる。
ルリンクバス1からトータルフレーム方式により送信さ
れてくるフレーム(トータルフレーム)を受信すると、
これを自己の受信バッファ11に取込むと共に下流局の
モジュールに流す。そして、CPUモジュール2は、入
力バッファ転送テーブル23を参照して、必要なデータ
を受信バッファ11から入力バッファ21に取込む。詳
しくは、受信バッファ11に一時的に記憶されたデータ
の中で自局が必要とするデータは、タクト周期(シリア
ルリンクバス1の転送周期と同一周期)で、受信バッフ
ァ11から入力バッファ21に転送される。そして、タ
スク25起動時に、そのタスクに対応する入力データ転
送テーブル24が参照されて、そのタスクが必要とする
データが入力バッファ21からI/O領域22に転送さ
れる。
【0032】図3は、I/Oモジュール3の構成の一例
を示す図である。ここでは、入力装置としてのI/Oモ
ジュール3の構成を示す。図3に示すI/Oモジュール
3は、シリアルリンク制御LSI31、バッファ32等
を有する。また、同図に示す(自局の)“局番情報”、
“構成情報”等を記憶する記憶部等も備えている。
を示す図である。ここでは、入力装置としてのI/Oモ
ジュール3の構成を示す。図3に示すI/Oモジュール
3は、シリアルリンク制御LSI31、バッファ32等
を有する。また、同図に示す(自局の)“局番情報”、
“構成情報”等を記憶する記憶部等も備えている。
【0033】シリアルリンク制御LSI31は、シリア
ルリンクバス1よりトータルフレーム方式のフレーム
(1巡目のフレーム)を受信すると、後述する自局のデ
ータ出力タイミング(制御機器からの入力データをCP
Uモジュールへ転送するタイミング)である場合のみ、
受信したフレームの末尾に自局のデータを付加して出力
する。この出力データは、当該入力装置としてのI/O
モジュール3に接続されている制御機器からの入力デー
タに基づいて、事前に出力バッファ32内に生成してお
いたものである。また、このデータには、上記自局の局
番情報、構成情報(データサイズ、ステータス情報等)
が付加される。
ルリンクバス1よりトータルフレーム方式のフレーム
(1巡目のフレーム)を受信すると、後述する自局のデ
ータ出力タイミング(制御機器からの入力データをCP
Uモジュールへ転送するタイミング)である場合のみ、
受信したフレームの末尾に自局のデータを付加して出力
する。この出力データは、当該入力装置としてのI/O
モジュール3に接続されている制御機器からの入力デー
タに基づいて、事前に出力バッファ32内に生成してお
いたものである。また、このデータには、上記自局の局
番情報、構成情報(データサイズ、ステータス情報等)
が付加される。
【0034】I/Oモジュール3のシリアルリンク制御
LSI31は、その内部の不図示のメモリ等に周期情報
と位相情報の格納領域を備えており、上記フレームを受
信すると、このフレームに含まれる“タクトNO. ”と、
当該周期情報と位相情報とに基づいて、自局の出力タイ
ミングであるか否かを判定し、そうである場合のみデー
タ出力を行う。尚、これらの情報は、例えば電源ON時
やリセットスタート時等のイニシャル処理時に、CPU
モジュール2が各I/Oモジュール3に対して設定す
る。設定内容は、プログラム作成ツール(ローダ)によ
るプログラム作成時やシステム構成作成時に、自動ある
いは手動により作成される。
LSI31は、その内部の不図示のメモリ等に周期情報
と位相情報の格納領域を備えており、上記フレームを受
信すると、このフレームに含まれる“タクトNO. ”と、
当該周期情報と位相情報とに基づいて、自局の出力タイ
ミングであるか否かを判定し、そうである場合のみデー
タ出力を行う。尚、これらの情報は、例えば電源ON時
やリセットスタート時等のイニシャル処理時に、CPU
モジュール2が各I/Oモジュール3に対して設定す
る。設定内容は、プログラム作成ツール(ローダ)によ
るプログラム作成時やシステム構成作成時に、自動ある
いは手動により作成される。
【0035】ここで、本実施形態のプログラマブルコン
トローラシステムにおいては、上記プログラム作成ツー
ル(ローダ)のコンパイラは、上記図1に示すように新
たなI/Oモジュール#9〜#16が追加された場合、
I/O空間識別番号(後述する)に基づいて新たな周期
情報/新たな位相情報を算出する。これより、例えば電
源ON時やリセットスタート時に、上記各I/Oモジュ
ールの“局番情報”、“構成情報”等を記憶する記憶部
(メモリ等)に、上記新たな周期情報、新たな位相情報
が記憶される。
トローラシステムにおいては、上記プログラム作成ツー
ル(ローダ)のコンパイラは、上記図1に示すように新
たなI/Oモジュール#9〜#16が追加された場合、
I/O空間識別番号(後述する)に基づいて新たな周期
情報/新たな位相情報を算出する。これより、例えば電
源ON時やリセットスタート時に、上記各I/Oモジュ
ールの“局番情報”、“構成情報”等を記憶する記憶部
(メモリ等)に、上記新たな周期情報、新たな位相情報
が記憶される。
【0036】上記新たな周期情報/新たな位相情報の算
出方法は、I/Oアドレス空間をN倍にする場合(I/
O空間識別番号=0,1,2,・・・N−1となる)、
以下の(1)式により、新たな周期情報/新たな位相情
報を算出する。
出方法は、I/Oアドレス空間をN倍にする場合(I/
O空間識別番号=0,1,2,・・・N−1となる)、
以下の(1)式により、新たな周期情報/新たな位相情
報を算出する。
【0037】 新たな周期情報=周期情報×N 新たな位相情報=位相情報×N+I/O空間識別番号 ・・・(1) または、 新たな位相情報=位相情報+周期情報×I/O空間識別番号・・(2) としてもよい。
【0038】このようにI/O空間識別番号に基づく新
たな周期情報/新たな位相情報の算出について、図1に
示す具体例を参照しながら(1)式の場合について以下
に説明する。
たな周期情報/新たな位相情報の算出について、図1に
示す具体例を参照しながら(1)式の場合について以下
に説明する。
【0039】図1において、新たなI/Oモジュールを
追加する前の既存のI/Oモジュール群(#1〜#8)
の周期情報、位相情報は、図1に示す様に、I/Oモジ
ュール#1から#8まで順に、(周期情報,位相情報)
=(1,0)、(2,0)、(2,1)、(2,0)、
(4,0)、(4,1)、(4,2)、(4,3)であ
った。
追加する前の既存のI/Oモジュール群(#1〜#8)
の周期情報、位相情報は、図1に示す様に、I/Oモジ
ュール#1から#8まで順に、(周期情報,位相情報)
=(1,0)、(2,0)、(2,1)、(2,0)、
(4,0)、(4,1)、(4,2)、(4,3)であ
った。
【0040】また、追加したI/Oモジュール#9〜#
16の制御周期が、同図に示す様に、I/Oモジュール
#9から#16まで順に、制御周期=1(ms)、1(m
s)、4(ms)、4(ms)、4(ms)、4(ms)、4(ms)、4(m
s)であったものとすると、このI/Oモジュール#9〜
#16についての周期情報、位相情報は、同図に示す様
に、I/Oモジュール#9から#16まで順に、(周期
情報,位相情報)=(1,0)、(1,0)、(4,
0)、(4,1)、(4,2)、(4,3)、(4,
0)、(4,1)となるべきものである。
16の制御周期が、同図に示す様に、I/Oモジュール
#9から#16まで順に、制御周期=1(ms)、1(m
s)、4(ms)、4(ms)、4(ms)、4(ms)、4(ms)、4(m
s)であったものとすると、このI/Oモジュール#9〜
#16についての周期情報、位相情報は、同図に示す様
に、I/Oモジュール#9から#16まで順に、(周期
情報,位相情報)=(1,0)、(1,0)、(4,
0)、(4,1)、(4,2)、(4,3)、(4,
0)、(4,1)となるべきものである。
【0041】このような既存のI/Oモジュール群(#
1〜#8)に対して、I/Oモジュール#9〜#16を
追加する例では、上記Nは‘2’となり、I/O空間識
別番号は‘0’、‘1’が用いられる。そして、図1に
示す例では、既存のI/Oモジュール群(#1〜#8)
に対しては‘0’が、新たに追加したI/Oモジュール
群(#9〜#16)に対しては‘1’が割り当てられ
る。
1〜#8)に対して、I/Oモジュール#9〜#16を
追加する例では、上記Nは‘2’となり、I/O空間識
別番号は‘0’、‘1’が用いられる。そして、図1に
示す例では、既存のI/Oモジュール群(#1〜#8)
に対しては‘0’が、新たに追加したI/Oモジュール
群(#9〜#16)に対しては‘1’が割り当てられ
る。
【0042】このような例において、上記算出式により
新たな周期情報/新たな位相情報を算出した結果を、図
1の下側に示してある。これら(新たな)周期情報/位
相情報は、先出願と同様、例えば各I/Oモジュール内
の(不図示の)メモリ等に格納される。
新たな周期情報/新たな位相情報を算出した結果を、図
1の下側に示してある。これら(新たな)周期情報/位
相情報は、先出願と同様、例えば各I/Oモジュール内
の(不図示の)メモリ等に格納される。
【0043】これより、各I/Oモジュール(#1〜#
16)は、リングマスター局によっってそのタクトNO.
が+1インクリメントされながらシリアルリンクバス1
上を巡回するトータルフレームを受信する毎に、受信し
たフレームのタクトNO. と、上記新たな“周期情報”と
“位相情報”とに基づいて、自局のデータ出力タイミン
グであるか否かを判定し、そうである場合は受信したフ
レームの末尾に自局のデータを付加して出力する。そし
て、これら自局のデータ出力タイミングである全てのI
/Oモジュールのデータが付加されたフレームを、CP
Uモジュール2が受け取ることになる。例えば上記図1
下側に示す新たな周期情報/位相情報では、例えば図4
に示す各フレームをCPUモジュールが受け取ることに
なる。
16)は、リングマスター局によっってそのタクトNO.
が+1インクリメントされながらシリアルリンクバス1
上を巡回するトータルフレームを受信する毎に、受信し
たフレームのタクトNO. と、上記新たな“周期情報”と
“位相情報”とに基づいて、自局のデータ出力タイミン
グであるか否かを判定し、そうである場合は受信したフ
レームの末尾に自局のデータを付加して出力する。そし
て、これら自局のデータ出力タイミングである全てのI
/Oモジュールのデータが付加されたフレームを、CP
Uモジュール2が受け取ることになる。例えば上記図1
下側に示す新たな周期情報/位相情報では、例えば図4
に示す各フレームをCPUモジュールが受け取ることに
なる。
【0044】このように、I/O空間識別番号を用いる
ことによって、I/Oモジュールが追加された新たなシ
ステム構成に対応する転送タイミングを示す(新たな)
周期情報/位相情報が生成/格納される。各CPUモジ
ュール、I/Oモジュールは、単に、この新たに生成/
格納された「周期情報/位相情報」に応じて動作するの
であり、I/Oアドレス空間が拡張されたことを意識す
ることなく動作する。
ことによって、I/Oモジュールが追加された新たなシ
ステム構成に対応する転送タイミングを示す(新たな)
周期情報/位相情報が生成/格納される。各CPUモジ
ュール、I/Oモジュールは、単に、この新たに生成/
格納された「周期情報/位相情報」に応じて動作するの
であり、I/Oアドレス空間が拡張されたことを意識す
ることなく動作する。
【0045】このようにすることで、例えば図1のCP
Uモジュール(#51、#52)各々のI/O領域22
(I/Oアドレス空間)は、図5(a)に示すように、
CPUモジュール#51ではI/Oモジュール#1〜#
8用のI/Oアドレスを割り当て、CPUモジュール#
52ではI/Oモジュール#9〜#16用のI/Oアド
レスを割り当てることができる。このように、複数のC
PUモジュールを実装している場合、各CPUモジュー
ルで異なるI/Oアドレス空間を持つことができるよう
になる。すなわち、システム的にI/Oアドレス空間を
使い切った状態でもI/O空間を拡張することができ
る。尚、例えば、I/Oモジュール#9、#10の2つ
のI/Oモジュールのみが追加された場合等には、図5
(b)に示すように、I/Oアドレス空間は2倍に拡張
され、I/Oモジュール#9、#10用のI/Oアドレ
スが割り当てられ、それ以外は未使用領域となるが、こ
の未使用領域は、後に更にI/Oモジュールが追加され
た場合等に、順次使用されることになる。あるいは、逆
に、例えばI/Oアドレス空間を3倍に拡張しなければ
ならない数のI/Oモジュールが追加される場合(上記
Nが‘3’となる場合)には、不図示のCPUモジュー
ル#53を追加する等して、必要なメモリ容量を確保す
る必要がある。
Uモジュール(#51、#52)各々のI/O領域22
(I/Oアドレス空間)は、図5(a)に示すように、
CPUモジュール#51ではI/Oモジュール#1〜#
8用のI/Oアドレスを割り当て、CPUモジュール#
52ではI/Oモジュール#9〜#16用のI/Oアド
レスを割り当てることができる。このように、複数のC
PUモジュールを実装している場合、各CPUモジュー
ルで異なるI/Oアドレス空間を持つことができるよう
になる。すなわち、システム的にI/Oアドレス空間を
使い切った状態でもI/O空間を拡張することができ
る。尚、例えば、I/Oモジュール#9、#10の2つ
のI/Oモジュールのみが追加された場合等には、図5
(b)に示すように、I/Oアドレス空間は2倍に拡張
され、I/Oモジュール#9、#10用のI/Oアドレ
スが割り当てられ、それ以外は未使用領域となるが、こ
の未使用領域は、後に更にI/Oモジュールが追加され
た場合等に、順次使用されることになる。あるいは、逆
に、例えばI/Oアドレス空間を3倍に拡張しなければ
ならない数のI/Oモジュールが追加される場合(上記
Nが‘3’となる場合)には、不図示のCPUモジュー
ル#53を追加する等して、必要なメモリ容量を確保す
る必要がある。
【0046】上述したI/O空間識別番号は、ユーザ等
がプログラム作成の際に指定したり、コンパイル時にC
PUモジュールの番号(#51、#52)によって自動
的に決まるようにしておく。
がプログラム作成の際に指定したり、コンパイル時にC
PUモジュールの番号(#51、#52)によって自動
的に決まるようにしておく。
【0047】ユーザがプログラムを作成する際に指定す
る方法では、例えば新たなI/Oモジュール#9〜#1
6が追加されてI/Oアドレス空間を拡張する必要が生
じる場面において、ユーザ等がPCのアプリケーション
・プログラムを作成する際に、拡張されたI/Oアドレ
ス空間を認識してプログラミングする。
る方法では、例えば新たなI/Oモジュール#9〜#1
6が追加されてI/Oアドレス空間を拡張する必要が生
じる場面において、ユーザ等がPCのアプリケーション
・プログラムを作成する際に、拡張されたI/Oアドレ
ス空間を認識してプログラミングする。
【0048】これについて、図6を参照して説明する。
図6は、プログラム作成ツール(ローダ)でユーザ等に
より作成される上記アプリケーション・プログラムの一
例を示す図であり、同図(a)は従来のプログラム例、
同図(b)は上記拡張されたI/Oアドレス空間を認識
したプログラム例である。
図6は、プログラム作成ツール(ローダ)でユーザ等に
より作成される上記アプリケーション・プログラムの一
例を示す図であり、同図(a)は従来のプログラム例、
同図(b)は上記拡張されたI/Oアドレス空間を認識
したプログラム例である。
【0049】図6(a)に示すプログラムは、#1のI
/Oモジュールの0ワード目のデータを1ワード分ロー
ドするプログラムである(“%IW”は、I/Oモジュ
ールのデータをワード処理するコマンド)。
/Oモジュールの0ワード目のデータを1ワード分ロー
ドするプログラムである(“%IW”は、I/Oモジュ
ールのデータをワード処理するコマンド)。
【0050】図6(b)に示すプログラムは、I/Oア
ドレス空間を使い切った状態で新たなI/Oモジュール
を追加した場合等において、I/O空間識別番号‘1’
を指定し、#9のI/Oモジュールの3ワード目のデー
タを1ワード分ロードするプログラムである。このプロ
グラムをコンパイルすると、上記#9のI/Oモジュー
ルからデータをロードするタイミング(転送タイミン
グ)が、I/O空間識別番号‘1’に応じたタイミング
となる。
ドレス空間を使い切った状態で新たなI/Oモジュール
を追加した場合等において、I/O空間識別番号‘1’
を指定し、#9のI/Oモジュールの3ワード目のデー
タを1ワード分ロードするプログラムである。このプロ
グラムをコンパイルすると、上記#9のI/Oモジュー
ルからデータをロードするタイミング(転送タイミン
グ)が、I/O空間識別番号‘1’に応じたタイミング
となる。
【0051】一方、CPUモジュールの番号(#51、
#52)によって決定する方法では、例えばCPUモジ
ュール#51に対してはI/O空間識別番号‘0’と
し、CPUモジュール#52に対してはI/O空間識別
番号‘1’とするように予め設定しておく。このように
すると、各CPUモジュール毎にI/Oアドレス空間を
分けることが可能となる。
#52)によって決定する方法では、例えばCPUモジ
ュール#51に対してはI/O空間識別番号‘0’と
し、CPUモジュール#52に対してはI/O空間識別
番号‘1’とするように予め設定しておく。このように
すると、各CPUモジュール毎にI/Oアドレス空間を
分けることが可能となる。
【0052】次に、以下に、CPUモジュールからI/
Oモジュールへデータを出力する“送信処理”(マルチ
キャスト方式)に関して、説明する。図7は、本発明の
一実施形態のPCシステムにおけるマルチキャスト方式
に係わる構成の一例を示す図である。
Oモジュールへデータを出力する“送信処理”(マルチ
キャスト方式)に関して、説明する。図7は、本発明の
一実施形態のPCシステムにおけるマルチキャスト方式
に係わる構成の一例を示す図である。
【0053】同図では、図12に示すようにシリアルリ
ンクバス1にCPUモジュール2が2局(#51、#5
2)接続されI/Oモジュール4(出力装置)が8局
(#21〜#28)接続された構成において、更にI/
Oモジュール4を8局(#29〜#36)追加した場合
の構成を示している。
ンクバス1にCPUモジュール2が2局(#51、#5
2)接続されI/Oモジュール4(出力装置)が8局
(#21〜#28)接続された構成において、更にI/
Oモジュール4を8局(#29〜#36)追加した場合
の構成を示している。
【0054】図8は、CPUモジュール2内でのデータ
出力に関する制御処理を示す図である。すなわち、特に
マルチキャスト方式に係わる構成を示してある。CPU
モジュール2内には、データの出力制御を行うための構
成要素として、出力バッファ26、出力データ転送テー
ブル27、及び出力バッファ転送テーブル28を有し、
またシリアルリンク制御LSI10内に送信バッファ1
2を有する。
出力に関する制御処理を示す図である。すなわち、特に
マルチキャスト方式に係わる構成を示してある。CPU
モジュール2内には、データの出力制御を行うための構
成要素として、出力バッファ26、出力データ転送テー
ブル27、及び出力バッファ転送テーブル28を有し、
またシリアルリンク制御LSI10内に送信バッファ1
2を有する。
【0055】出力バッファ26は、出力データ転送テー
ブル27の参照結果により、データを出力する局毎に、
タスク25が出力処理を行うデータを、出力先のI/O
モジュールの局番、データのサイズ及びマスク情報と共
に蓄積するバッファである。
ブル27の参照結果により、データを出力する局毎に、
タスク25が出力処理を行うデータを、出力先のI/O
モジュールの局番、データのサイズ及びマスク情報と共
に蓄積するバッファである。
【0056】出力データ転送テーブル27は、タスク毎
に存在し、そのタスクが出力する出力データを、I/O
領域22から出力バッファ26へ転送を行う際に、参照
されるテーブルである。
に存在し、そのタスクが出力する出力データを、I/O
領域22から出力バッファ26へ転送を行う際に、参照
されるテーブルである。
【0057】出力バッファ転送テーブル28は、各タク
トNO. 毎に対応する各テーブルより成り、各々のテーブ
ルにはそのタクトNO. を持つマルチキャスト用のトーク
ンを受信したときに、どのI/Oモジュール宛にデータ
出力すべきかを示すデータ(例えば、出力データ転送テ
ーブル27において、上記データ出力すべきI/Oモジ
ュールへの出力データが格納されているアドレス等)が
格納されている。
トNO. 毎に対応する各テーブルより成り、各々のテーブ
ルにはそのタクトNO. を持つマルチキャスト用のトーク
ンを受信したときに、どのI/Oモジュール宛にデータ
出力すべきかを示すデータ(例えば、出力データ転送テ
ーブル27において、上記データ出力すべきI/Oモジ
ュールへの出力データが格納されているアドレス等)が
格納されている。
【0058】本実施形態のマルチキャスト方式において
は、マルチキャスト用のトークンの中にタクトNO. が含
まれている。そして、CPUモジュール2(シリアルリ
ンクLSI10)は、受信したマルチキャスト用のトー
クン中にあるタクトNO. より、出力バッファ転送テーブ
ル28の中でこのタクトNO. に対応するテーブルを用い
て、出力バッファ26から送信バッファ12に必要なデ
ータを転送させる。
は、マルチキャスト用のトークンの中にタクトNO. が含
まれている。そして、CPUモジュール2(シリアルリ
ンクLSI10)は、受信したマルチキャスト用のトー
クン中にあるタクトNO. より、出力バッファ転送テーブ
ル28の中でこのタクトNO. に対応するテーブルを用い
て、出力バッファ26から送信バッファ12に必要なデ
ータを転送させる。
【0059】そして、例えば図7に示すように新たなI
/Oモジュール(#29〜#36)が追加された場合、
上述したトータルフレーム方式の場合と略同様に、プロ
グラム作成ツール(ローダ)において、I/O空間識別
番号を用いて上記(1)式により新たな周期情報/新た
な位相情報を算出する。例えば、図7に示す例では、図
の下側に示すような新たな周期情報/新たな位相情報が
求められる。そして、プログラム作成ツール(ローダ)
は、この新たな周期情報/新たな位相情報に基づいて、
各タクトNO. 毎に、そのタクトNO. を持つマルチキャス
ト用のトークンを受信したときにデータ出力すべきI/
Oモジュールを求め、これを(上記アドレス等を)上記
出力バッファ転送テーブル28に格納する。このように
して、出力バッファ転送テーブル28は、上記新たな周
期情報/新たな位相情報に対応した新たな内容に更新さ
れる。これより、CPUモジュール2において、受信し
たマルチキャスト用のトークン中にあるタクトNO. よ
り、上記更新された出力バッファ転送テーブル28の中
でこのタクトNO. に対応するテーブルを用いて、出力バ
ッファ26から送信バッファ12に必要なデータを転送
させると、例えば図9に示すようなマルチキャストフレ
ームが、順次、シリアルリンクバス1上に送出されるこ
とになる。
/Oモジュール(#29〜#36)が追加された場合、
上述したトータルフレーム方式の場合と略同様に、プロ
グラム作成ツール(ローダ)において、I/O空間識別
番号を用いて上記(1)式により新たな周期情報/新た
な位相情報を算出する。例えば、図7に示す例では、図
の下側に示すような新たな周期情報/新たな位相情報が
求められる。そして、プログラム作成ツール(ローダ)
は、この新たな周期情報/新たな位相情報に基づいて、
各タクトNO. 毎に、そのタクトNO. を持つマルチキャス
ト用のトークンを受信したときにデータ出力すべきI/
Oモジュールを求め、これを(上記アドレス等を)上記
出力バッファ転送テーブル28に格納する。このように
して、出力バッファ転送テーブル28は、上記新たな周
期情報/新たな位相情報に対応した新たな内容に更新さ
れる。これより、CPUモジュール2において、受信し
たマルチキャスト用のトークン中にあるタクトNO. よ
り、上記更新された出力バッファ転送テーブル28の中
でこのタクトNO. に対応するテーブルを用いて、出力バ
ッファ26から送信バッファ12に必要なデータを転送
させると、例えば図9に示すようなマルチキャストフレ
ームが、順次、シリアルリンクバス1上に送出されるこ
とになる。
【0060】以上、新たな位相情報を(1)式から求め
た場合について説明したが、(2)式から求めた場合も
同様である。図1及び図7には、(2)式から求めた場
合の新たな位相情報の例も示してある。尚、(1)式や
(2)式は、新たな位相情報を求めるための何通りもあ
る算出式の中の一例である。(1)式と(2)式の違い
は、処理順番の違いであり、(1)式の場合、既存のモ
ジュールI/O群と拡張されたモジュールI/O群とを
交互に処理している。これに対し、(2)式の場合、ま
ず既存のモジュールI/O群を処理し、次いで拡張され
たモジュールI/O群を処理している。つまり、処理す
る順番の組み合わせにより、上記の(1)式、(2)式
以外にも様々な算出式が考えられる。
た場合について説明したが、(2)式から求めた場合も
同様である。図1及び図7には、(2)式から求めた場
合の新たな位相情報の例も示してある。尚、(1)式や
(2)式は、新たな位相情報を求めるための何通りもあ
る算出式の中の一例である。(1)式と(2)式の違い
は、処理順番の違いであり、(1)式の場合、既存のモ
ジュールI/O群と拡張されたモジュールI/O群とを
交互に処理している。これに対し、(2)式の場合、ま
ず既存のモジュールI/O群を処理し、次いで拡張され
たモジュールI/O群を処理している。つまり、処理す
る順番の組み合わせにより、上記の(1)式、(2)式
以外にも様々な算出式が考えられる。
【0061】上述したように、CPUモジュール間やマ
ルチタスク処理時のタスク間で同期してデータのやり取
りを行うことが可能なPCシステムにおいて、トータル
フレーム方式、マルチキャスト方式のいずれにおいて
も、I/Oモジュールを追加しようとした場合にI/O
アドレス空間が不足する場合であっても、I/O空間識
別番号を用いて上記(1)式または(2)式により新た
な周期情報/新たな位相情報を算出することにより、デ
ータ転送タイミングがコントロールされるので、新たな
システムを追加する必要なく、I/O空間を拡張するこ
とができる。
ルチタスク処理時のタスク間で同期してデータのやり取
りを行うことが可能なPCシステムにおいて、トータル
フレーム方式、マルチキャスト方式のいずれにおいて
も、I/Oモジュールを追加しようとした場合にI/O
アドレス空間が不足する場合であっても、I/O空間識
別番号を用いて上記(1)式または(2)式により新た
な周期情報/新たな位相情報を算出することにより、デ
ータ転送タイミングがコントロールされるので、新たな
システムを追加する必要なく、I/O空間を拡張するこ
とができる。
【0062】
【発明の効果】以上、詳細に説明したように、本発明の
プログラマブルコントローラシステムによれば、特にC
PUモジュール間やマルチタスク処理時のタスク間で同
期したデータのやり取りを行うことが可能なプログラマ
ブルコントローラシステムにおいて、I/Oモジュール
を追加しようとした場合にシステム的にI/Oアドレス
空間を使い切った状態であっても、I/O空間を拡張で
きるようになり、以て将来のシステム増設等に容易に対
応できるようになる。
プログラマブルコントローラシステムによれば、特にC
PUモジュール間やマルチタスク処理時のタスク間で同
期したデータのやり取りを行うことが可能なプログラマ
ブルコントローラシステムにおいて、I/Oモジュール
を追加しようとした場合にシステム的にI/Oアドレス
空間を使い切った状態であっても、I/O空間を拡張で
きるようになり、以て将来のシステム増設等に容易に対
応できるようになる。
【図1】PCシステムにおけるトータルフレーム方式に
係わる構成の一例を示す図である。
係わる構成の一例を示す図である。
【図2】図1のCPUモジュールにおけるデータ入力に
係わる構成を示す図である。
係わる構成を示す図である。
【図3】I/Oモジュールの構成の一例を示す図であ
る。
る。
【図4】図1に示す新たな周期情報/位相情報に応じ
た、トータルフレームの構成の一例を示す図である。
た、トータルフレームの構成の一例を示す図である。
【図5】(a)、(b)は、I/Oモジュールが追加さ
れた場合の各CPUモジュール内のI/O領域22(I
/Oアドレス空間)の一例を示す図である。
れた場合の各CPUモジュール内のI/O領域22(I
/Oアドレス空間)の一例を示す図である。
【図6】ローダで作成されるアプリケーション・プログ
ラムの一例を示す図であり、(a)は従来のプログラム
例、(b)はI/O空間識別番号を用いたプログラム例
である。
ラムの一例を示す図であり、(a)は従来のプログラム
例、(b)はI/O空間識別番号を用いたプログラム例
である。
【図7】PCシステムにおけるマルチキャスト方式に係
わる構成の一例を示す図である。
わる構成の一例を示す図である。
【図8】図7のCPUモジュールにおけるデータ出力に
係わる構成を示す図である。
係わる構成を示す図である。
【図9】図7に示す新たな周期情報/位相情報に応じ
た、マルチキャストフレームの構成の一例を示す図であ
る。
た、マルチキャストフレームの構成の一例を示す図であ
る。
【図10】先出願のPCシステムであってトータルフレ
ーム方式に係わる構成の一例を示す図である。
ーム方式に係わる構成の一例を示す図である。
【図11】図10に示す“周期情報”、“位相情報”の
例に応じた、トータルフレームに付加されるデータの一
例を示す図である。
例に応じた、トータルフレームに付加されるデータの一
例を示す図である。
【図12】先出願のPCシステムであってマルチキャス
トフレーム方式に係わる構成の一例を示す図である。
トフレーム方式に係わる構成の一例を示す図である。
【図13】図12に示す“周期情報”、“位相情報”の
例に応じた、マルチキャストフレームに付加されるデー
タの一例を示す図である。
例に応じた、マルチキャストフレームに付加されるデー
タの一例を示す図である。
【図14】(a)、(b)は、マルチCPUシステムを
構築した場合の各CPUモジュールのI/Oアドレス空
間の一例を示す図である。
構築した場合の各CPUモジュールのI/Oアドレス空
間の一例を示す図である。
【図15】I/Oモジュールの追加に対して、もう1つ
システムを構築する対応策を説明する為の図である。
システムを構築する対応策を説明する為の図である。
1 シリアルリンクバス 2 CPUモジュール 3 I/Oモジュール(入力装置) 4 I/Oモジュール(出力装置) 10 シリアルリンク制御LSI 11 受信バッファ 12 送信バッファ 21 入力バッファ 22 I/O領域 23 入力バッファ転送テーブル 24 入力データ転送テーブル 25 タスク 26 出力バッファ 27 出力データ転送テーブル 28 出力バッファ転送テーブル 31 シリアルリンク制御LSI 32 バッファ
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B045 AA00 BB13 BB28 BB30 BB31 BB57 EE07 EE22 5H220 BB07 BB17 CC09 CX01 CX09 EE06 JJ12 JJ17 JJ29 JJ55 JJ59 5K031 AA13 BA01 DA15 DB02 DB03 EC04 9A001 BB02 BB03 BB04 CC02 DD10 JJ12 JJ49 KK37 KK54 LL09
Claims (4)
- 【請求項1】 少なくとも1つ以上のCPUモジュール
と複数のI/Oモジュールが、リング型のバスに接続さ
れて成るプログラマブルコントローラシステムにおい
て、 前記各I/Oモジュールは、前記バス上を周回するトー
タルフレームを受信する毎に該トータルフレームに付加
される識別番号に応じて自己のデータ出力タイミングで
あるか否かを判断する為の出力タイミング情報を格納す
る出力タイミング情報格納手段を有し、 I/Oモジュールの追加によって前記プログラマブルコ
ントローラシステムのI/Oアドレス空間を拡張する場
合に、I/O空間識別番号を用いて新たな出力タイミン
グ情報を算出して前記出力タイミング情報格納手段に格
納する出力タイミング情報更新手段を備えることを特徴
とするプログラマブルコントローラシステム。 - 【請求項2】 前記出力タイミング情報は、周期情報と
位相情報であり、 前記出力タイミング情報更新手段は、前記I/Oアドレ
ス空間をN倍に拡張する場合(I/O空間識別番号=
0,1,・・・N−1)、 新たな周期情報=周期情報×N 新たな位相情報=位相情報×N+I/O空間識別番号
または新たな位相情報=位相情報+周期情報×I/O空
間識別番号により前記新たな出力タイミング情報を算出
することを特徴とする請求項1記載のプログラマブルコ
ントローラシステム。 - 【請求項3】 少なくとも1つ以上のCPUモジュール
と複数のI/Oモジュールが、リング型のバスに接続さ
れて成るプログラマブルコントローラシステムにおい
て、 前記CPUモジュールは、前記バスを介して受信するマ
ルチキャストフレームに付加される各識別番号に応じた
データ出力対象のI/Oモジュールを示す情報を格納す
るデータ出力対象情報格納手段を有し、 I/Oモジュールの追加によって前記プログラマブルコ
ントローラシステムのI/Oアドレス空間を拡張する場
合に、I/O空間識別番号を用いて新たなデータ出力対
象情報を求めて前記データ出力対象情報格納手段に格納
するデータ出力対象情報更新手段を備えることを特徴と
するプログラマブルコントローラシステム。 - 【請求項4】 前記データ出力対象情報は、周期情報と
位相情報とに基づいて求められるものであり、 前記データ出力対象情報更新手段は、前記I/Oアドレ
ス空間をN倍に拡張する場合(I/O空間識別番号=
0,1,・・・N−1)、 新たな周期情報=周期情報×N 新たな位相情報=位相情報×N+I/O空間識別番号
または新たな位相情報=位相情報+周期情報×I/O空
間識別番号により新たな周期情報/位相情報を算出し、
該新たな周期情報/位相情報に基づいて前記新たなデー
タ出力対象情報を求めることを特徴とする請求項3記載
のプログラマブルコントローラシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33249899A JP2001147905A (ja) | 1999-11-24 | 1999-11-24 | プログラマブルコントローラシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP33249899A JP2001147905A (ja) | 1999-11-24 | 1999-11-24 | プログラマブルコントローラシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001147905A true JP2001147905A (ja) | 2001-05-29 |
Family
ID=18255618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33249899A Withdrawn JP2001147905A (ja) | 1999-11-24 | 1999-11-24 | プログラマブルコントローラシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001147905A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106063197A (zh) * | 2014-03-04 | 2016-10-26 | 欧姆龙株式会社 | 控制***、控制装置及控制方法 |
-
1999
- 1999-11-24 JP JP33249899A patent/JP2001147905A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106063197A (zh) * | 2014-03-04 | 2016-10-26 | 欧姆龙株式会社 | 控制***、控制装置及控制方法 |
CN106063197B (zh) * | 2014-03-04 | 2019-04-09 | 欧姆龙株式会社 | 控制***、控制装置及控制方法 |
US10277417B2 (en) | 2014-03-04 | 2019-04-30 | Omron Corporation | Control system, control apparatus and control method with input-only communication frame |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7907623B2 (en) | Gateway for automatically routing messages between buses | |
US9557734B2 (en) | Control network system, master apparatus, control data processing method, and control data processing program | |
JP5231400B2 (ja) | マルチプロセッサ・ゲートウェイ | |
JP4154853B2 (ja) | 制御データを等値化する冗長化プログラマブルコントローラ及び等値化方法。 | |
CN101283338A (zh) | 微控制器和FlexRay通信组件之间的用户接口、FlexRay用户以及用于通过这种接口传输消息的方法 | |
EP2927759A2 (en) | Programmable logic controller and programming tool for programmable logic controller | |
KR101704751B1 (ko) | 모듈 간의 타이밍 정보를 이용하는 멀티코어 시스템의 시뮬레이터, 및 그 시뮬레이션 방법 | |
CN114285695B (zh) | 通信方法、装置、设备、***和存储介质 | |
JP2001147905A (ja) | プログラマブルコントローラシステム | |
JP2001014018A (ja) | ファクトリーオートメーションシステムの制御方法、そのプログラムを記録した記録媒体、並びにその中央処理装置。 | |
KR20010085633A (ko) | 다중 프로세서 계산 시스템 및 다수의 프로세서를제어하는 방법 | |
US20100226393A1 (en) | Communication system and communication apparatus | |
JP3887989B2 (ja) | プログラマブルコントローラ、及びその入出力制御方法 | |
JP2006171833A (ja) | Plcのデータ交換システム、及びplcのデータ交換システムの制御方法 | |
JPH11265297A (ja) | 分散シミュレータシステム | |
CN117093331B (zh) | 支持虚拟1394b通信总线仿真与集成方法及*** | |
JP4479131B2 (ja) | 制御装置 | |
JP2000132210A (ja) | 制御装置及び協調制御方法 | |
JP3888588B2 (ja) | データ転送方法 | |
JP4164270B2 (ja) | サーボコントローラ | |
JPH0736370A (ja) | データ授受システムおよびその方法 | |
JP2000347712A (ja) | プログラマブルコントローラ | |
JP2000132206A (ja) | プログラマブルロジックコントローラ | |
JP2021175129A (ja) | 通信システム | |
JP4293224B2 (ja) | 制御ユニット及び分散制御システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070206 |