JP4253752B2 - Programmable controller - Google Patents
Programmable controller Download PDFInfo
- Publication number
- JP4253752B2 JP4253752B2 JP33805699A JP33805699A JP4253752B2 JP 4253752 B2 JP4253752 B2 JP 4253752B2 JP 33805699 A JP33805699 A JP 33805699A JP 33805699 A JP33805699 A JP 33805699A JP 4253752 B2 JP4253752 B2 JP 4253752B2
- Authority
- JP
- Japan
- Prior art keywords
- expansion board
- address
- board
- expansion
- code
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Programmable Controllers (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、CPUボードと拡張ボードとからなるプログラマブルコントローラに関するものである。
【0002】
【従来の技術】
従来のプログラマブルコントローラは、例えば、CPUモジュールと、制御対象の各種機器の制御点数に応じて用意されるI/Oモジュールと、これらのモジュールのベースとして、また、電気的に接続するためのマザーボードとで構成されている。このマザーボードには、電源が立ち上がったときCPUモジュールからの命令に応じて各I/OモジュールのIDコードを読み込んでCPUモジュールに伝達する手段、CPUモジュールと各I/Oモジュールとの間で送受する信号を相互に取り込めるように制御する手段等が設けられている。
【0003】
【発明が解決しようとする課題】
前述した従来のプログラマブルコントローラでは、マザーボードが前記機能を備えているので不可欠なものであったが、各モジュールをマザーボードに取り付けられるように外形が箱状に形成されているため、個々のモジュールの外形寸法が大きくなり、しかもマザーボードの存在によって全体的に大きなものとなっていた。また、マザーボードの存在によって部品点数が多くなり、コスト高になっていた。
【0004】
本発明は、かかる課題を解決するためになされたもので、コントローラそのものを小形化し、かつ、コスト面でも安価なプログラマブルコントローラを提供することを目的とする。
【0005】
【課題を解決するための手段】
本発明の請求項1に係るプログラマブルコントローラは、制御対象の各種機器が接続される1枚又は複数枚の拡張ボードを制御ボードに積層すると共に、シリーズに接続してなるプログラマブルコントローラであって、前記拡張ボードは、接続位置に対応した電位が与えられる複数本のモードピンを有し、その複数本のモードピンに与えられた電位に基づいて積層位置を認識する積層位置認識部と、IDコードを生成するIDコード生成部とを有し、前記制御ボードは、前記積層位置に基づいてその拡張ボードのIDコードをメモリに記憶し、その後、IDコードから拡張ボードのタイプを認識し、かつ、認識したタイプの拡張ボードの制御点数に基づいてメモリの割付作業を実行する拡張ボード判別部を有するものである。
【0006】
本発明の請求項2に係るプログラマブルコントローラは、前記積層位置認識部の各モードピンの電位は、拡張ボードの積層位置に基づいて制御ボード又は上段もしくは下段の拡張ボードにより与えられ、また、下段に拡張ボードが存在しない最下段の拡張ボードにあってはその拡張ボードに生成される電位が与えられるようになっている。
【0007】
本発明の請求項3に係るプログラマブルコントローラは、前記拡張ボードは、アドレスバス及びデータバスと、データバスと接続され、制御対象の各種機器の制御点数に応じて設けられた複数のI/O用ゲートアレイと、前記積層位置からアドレスバス上のアドレス信号の転送方向を設定すると共に、その積層位置からデータバス上のデータ信号の転送方向をリード時及びライト時に応じて設定する信号転送方向設定部と、積層される拡張ボードに対応して予め設定されたアドレスを有し、前記積層位置に基づいてアドレスを選択するアドレス解読部と、前記制御ボードから転送されたアドレス信号がアドレスバスを介して入力されると、前記アドレス解読部により選択されたアドレスかどうかを判別し、選択されたアドレスのときはそのアドレスに基づいてI/O用ゲートアレイを選択するゲートアレイ選択部とを有するものである。
【0008】
【発明の実施の形態】
図1は本発明の実施の形態に係るプログラマブルコントローラの外観図、図2は入出力用拡張ボードの平面図、図3は入力用拡張ボードの平面図である。
図において、1は制御ボード(以下「CPUボード」という)で、一方の面に立設された拡張用コネクタ2を有し、また、図示していないがCPU、システムプログラムやシーケンスプログラム等が格納されたメモリ、制御対象の各種機器と接続するための入力用及び出力用コネクタ等が設けられている。
【0009】
前記CPUは、後述する拡張ボードにより認識された積層位置に基づいてIDコードを前記メモリに記憶し、運転開始時は、IDコードを読み込んでそのIDコードが正常かどうかを判定し、正常なときはそのIDコードから拡張ボードのタイプを認識し、かつ、認識したタイプの拡張ボードの制御点数に基づいてメモリの割付作業を実行して運転を開始し、IDコードが異常のときは運転の開始を禁止する機能を有している。運転時は、シーケンスプログラムを実行して解読し、その結果からCPUボード1や拡張ボードに接続された各種機器を制御する。
【0010】
11は入出力用拡張ボードで、例えば図2に示すようにボード本体(基板)の一方の面に立設された第1の拡張用コネクタ12と、同一面に横向きに設けられた専用ケーブル接続用の第2の拡張用コネクタ13と、制御対象の各種機器と接続するための入力用及び出力用コネクタ14,15とを有している。前述した第1の拡張用コネクタ12は、CPUボード1の拡張用コネクタ2や、後述する入力用拡張ボードの第1の拡張用コネクタと接続できるように配置されている。
【0011】
31は入力用拡張ボードで、例えば図3に示すように基板の一方の面に立設された第1の拡張用コネクタ32と、他方の面に横向きに設けられた専用ケーブル接続用の第2の拡張用コネクタ33と、制御対象の各種機器と接続するための入力用コネクタ34,35とを有している。
【0012】
前述した入出力用拡張ボード11と入力用拡張ボード31は、それぞれに設けられた第1の拡張用コネクタ12,32の配置から積層位置が定められている。例えば、CPUボード1に3枚積層する場合は、図1に示すように1段目と2段目に入出力用拡張ボード11を配置し、3段目に入力用拡張ボード31を配置し、それぞれの拡張ボード11,31はスペーサ51を介して固定されている。
【0013】
1段目に入出力用拡張ボード11を使用するのは、前述したように入出力用拡張ボード11の第1の拡張用コネクタ12がCPUボード1の拡張用コネクタ2と対向する位置に配置されているからであり、2段目に入出力用拡張ボード11、3段目に入力用拡張ボード31を使用するのは、各拡張ボード11,31を反転したときにそれぞれの第1の拡張用コネクタ12,32が対向するからである。
【0014】
そして、このように3枚積層した場合、1段目と2段目の入出力用拡張ボード11のそれぞれの第2の拡張用コネクタ13を専用ケーブル52で相互に接続してCPUボード1に連結させる。この専用ケーブル52を接続するときは図に示すように2箇所で折り曲げ、これは、それぞれの第2の拡張用コネクタ13のピンを合わせるためである。
【0015】
また、CPUボード1に1枚積層するときは前記の理由から入出力用拡張ボード11を使用し、2枚積層するときは、1段目に入出力用拡張ボード11を配置し、2段目に入出力用拡張ボード11又は入力用拡張ボード31の何れかを配置する。この場合も1段目と2段目は前記と同様に専用ケーブル52で接続する。
【0016】
次に、入出力用拡張ボード11と入力用拡張ボード31の回路構成を図4及び図5に基づいて説明する。図4は入出力用拡張ボードの回路構成を示すブロック図、図5は入力用拡張ボードの回路構成を示すブロック図である。
図において、16は本発明に係る積層位置認識部、IDコード生成部、信号転送方向設定部、アドレス解読部及びゲートアレイ選択部の各機能をハード構成して形成されたプログラマブル・ロジック・デバイス(以下「PLD」という)で、基板上に敷設されたアドレスバス20a,20b及びデータバス21に接続された多数のピン(図示せず)、バッファ17,18及び各ゲートアレイ19に基板上の各導体を介して接続された複数のピン(図示せず)、第1の拡張用コネクタ12に導体を介して接続された2本のモードピン23、さらに、1本のIDピン24等を有している。
【0017】
アドレスバス20aは第1の拡張用コネクタ12に接続され、アドレスバス20bは第2の拡張用コネクタ13に接続されたバッファ17に接続され、データバス21は分岐して第1の拡張用コネクタ12と第2の拡張用コネクタ13に接続されたバッファ18とに接続されていると共に、各ゲートアレイ19にそれぞれ接続されている。
【0018】
前述した2本のモードピン23は、第1の拡張用コネクタ12が何れにも接続されていないときは本拡張ボード11により生成された電位(ハイレベル)が印加し、第1の拡張用コネクタ12がCPUボード1の拡張用コネクタ2に接続されたときはその電位がローレベルになる。これは、各モードピン23と接続されるCPUボード1の拡張用コネクタ2側のピンがアースに接続されているためである。
【0019】
また、第1の拡張用コネクタ12が入力用拡張ボード31の第1の拡張用コネクタ32に接続されたときは、各モードピン23にはハイレベルの電位が印加されたままとなる。これは、2本のモードピン23のうち一方のピンが第1の拡張用コネクタ32側に接続されない状態で、もう一方のピンが、ハイレベルとなっている入力用拡張ボード31側のモードピンと接続されるためである。
【0020】
前述したIDピン24はPLD16にIDコードを生成させるためのもので、この入出力用拡張ボード11においては、予め設定されたハイレベルの電位がそのIDピン24に印加するようになっている。
【0021】
この入出力用拡張ボード11のPLD16は、2本のモードピン23の電位がローレベルのときは1段目に積層されていると認識し、また、各モードピン23の電位がハイレベルのときは2段目に積層されていると認識し、IDピン24にハイレベルの電位が印加されたとき予め設定されたIDコード(例えばD5h)を生成する。
【0022】
そして、認識した積層位置からアドレスバス20a,20b上のアドレス信号の転送方向を固定する信号をバッファ17に出力し、前記積層位置からデータバス21上のデータ信号の転送方向をリード時及びライト時に応じて設定する。これは、データ信号が本拡張ボード11に転送されたときリード又はライトに応じてバッファ18を制御する。また、積層位置から本拡張ボード11に割り当てられたアドレスを選択し、CPUボード1から転送されたアドレス信号が入力されたときは自己のアドレスかどうかを判別し、自己のアドレスのときはそのアドレスに基づいてゲートアレイ19を選択するようになっている。
【0023】
36は前記と同様に本発明に係る積層位置認識部、IDコード生成部、信号転送方向設定部、アドレス解読部及びゲートアレイ選択部の各機能をハード構成して形成されたPLDで、基板上に敷設されたアドレスバス40a,40b及びデータバス41に接続された多数のピン(図示せず)、バッファ37,38及び各ゲートアレイ39に基板上の各導体を介して接続された複数のピン(図示せず)、第1の拡張用コネクタ32に導体を介して接続された2本のモードピン43、さらに、1本のIDピン44等を有している。
【0024】
アドレスバス40aは第1の拡張用コネクタ32に接続され、アドレスバス40bは第2の拡張用コネクタ33に接続されたバッファ37に接続され、データバス41は分岐して第1の拡張用コネクタ32と第2の拡張用コネクタ33に接続されたバッファ38とに接続されていると共に、各ゲートアレイ39にそれぞれ接続されている。
【0025】
前述した2本のモードピン43は、第1の拡張用コネクタ32が何れにも接続されていないときは本拡張ボード31により生成された電位(ハイレベル)が印加し、第1の拡張用コネクタ32が入出力用拡張ボード11の第1の拡張用コネクタ12と接続されたときはその電位がハイレベルとローレベルとになる。これは、2本のモードピン43のうち一方のピンが、ハイレベルとなっている入出力用拡張ボード11側のモードピン23と接続された状態で、もう一方のピンが、入出力用拡張ボード11の第1の拡張用コネクタ12側のピンがアースに接続されているためである。
【0026】
前述したIDピン44は前記と同様にPLD36にIDコードを生成させるためのもので、この入力用拡張ボード31においては、予め設定されたローレベルの電位がそのIDピン44に印加するようになっている。
【0027】
この入力用拡張ボード31のPLD36は、2本のモードピン43の電位がハイレベルのときは2段目に積層されていると認識し、また、2本のモードピン23のうち一方のピンがハイレベル、他方のピンがローレベルのときは3段目に積層されていると認識し、IDピン44にローレベルの電位が印加されたとき予め設定されたIDコード(例えば2Ah)を生成する。
【0028】
そして、認識した積層位置からアドレスバス40a,40b上のアドレス信号の転送方向を固定する信号をバッファ37に出力し、前記積層位置からデータバス41上のデータ信号の転送方向をリード時及びライト時に応じて設定する。この場合も前記と同様に本拡張ボード31にデータ信号が転送されたときはリード又はライトに応じてバッファ38を制御する。また、積層位置から本拡張ボード31に割り当てられたアドレスを選択し、CPUボード1から転送されたアドレス信号が入力されたときは自己のアドレスかどうかを判別し、自己のアドレスのときはそのアドレスに基づいてゲートアレイ39を選択するようになっている。
【0029】
ここで、図1に示すようにCPUボードに各拡張ボードを積層して電源を入れたときのPLDの動作及びCPUボード側の処理を説明する。
図1に示すようにCPUボード1に各拡張ボード11,31を積層し、そして、連続的に接続して電源を印加すると、1段目の入出力用拡張ボード11のPLD16の各モードピン23の電位はローレベルになり、IDピン24にハイレベルの電位が印加し、2段目の入出力用拡張ボード11のPLD16の各モードピン23の電位はハイレベルになり、IDピン24にハイレベルの電位が印加し、また、3段目の入力用拡張ボード31のPLD36の各モードピン43の電位はハイレベルとローレベルとになり、IDピン44にローレベルの電位が印加する。
【0030】
この時、1段目のPLD16は、2本のモードピン23の電位(ローレベル)に基づいて1段目に積層されていると認識すると共に、IDコード(D5h)を生成する。そして、認識した積層位置からアドレスバス20a,20b上のアドレス信号の転送方向を固定する信号をバッファ17に出力すると共に、前記積層位置からデータバス21上のデータ信号の転送方向をリード時及びライト時に応じて設定し、かつ、その積層位置から本拡張ボード11に割り当てられたアドレスを選択する。
【0031】
また、2段目のPLD16は、2本のモードピン23の電位(ハイレベル)に基づいて2段目に積層されていると認識すると共に、前記と同様のIDコード(D5h)を生成する。そして、認識した積層位置からアドレスバス20a,20b上のアドレス信号の転送方向を固定する信号をバッファ17に出力すると共に、前記積層位置からデータバス21上のデータ信号の転送方向をリード時及びライト時に応じて設定し、かつ、その積層位置から本拡張ボード11に割り当てられたアドレスを選択する。
【0032】
さらに、3段目のPLD36は、2本のモードピン43の電位(ハイレベルとローレベル)に基づいて3段目に積層されていると認識すると共に、IDコード(2Ah)を生成する。そして、認識した積層位置からアドレスバス40a,40b上のアドレス信号の転送方向を固定する信号をバッファ37に出力すると共に、前記積層位置からデータバス41上のデータ信号の転送方向をリード時及びライト時に応じて設定し、かつ、その積層位置から本拡張ボード31に割り当てられたアドレスを選択する。
【0033】
一方、CPUボード1のCPUは、各PLD16,36によって認識された積層位置に基づいて各拡張ボード11,31のIDコード(D5h,2Ah)をメモリに順に書き込む。
【0034】
なお、アドレス信号の転送方向とデータ信号のリード時及びライト時の転送方向については、1段目の入出力用拡張ボード11では、アドレス信号の転送方向は第1の拡張用コネクタ12→PLD16→バッファ17→第2の拡張用コネクタ13となり、リード時のデータ信号の転送方向は第2の拡張用コネクタ13→バッファ18→第1の拡張用コネクタ12となり、ライト時のデータ信号の転送方向はリード時の転送方向と逆になる。
【0035】
2段目の入出力用拡張ボード11では、アドレス信号の転送方向は第2の拡張用コネクタ13→バッファ17→PLD16→第1の拡張用コネクタ12となり、リード時のデータ信号の転送方向は第1の拡張用コネクタ12→バッファ18→第2の拡張用コネクタ13となり、ライト時のデータ信号の転送方向はリード時の転送方向と逆になる。
【0036】
3段目の入力用拡張ボード31では、アドレス信号の転送方向は第1の拡張用コネクタ32→PLD36→バッファ37→第2の拡張用コネクタ33となり、リード時のデータ信号の転送方向は第2の拡張用コネクタ33→バッファ38→第1の拡張用コネクタ32となり、ライト時のデータ信号の転送方向はリード時の転送方向と逆になる。
【0037】
なお、前記の説明ではCPUボード1に3枚まで積層した例を示したが、これに限ることなく何枚でもよい。その場合、各PLD16,36のモードピン23,43を3本以上とし、また、それぞれのIDピン24,44を2本以上にする。
【0038】
次に、運転に入る前の初期設定時のCPUボードの動作を図6、図7及び図8に基づいて説明する。図6、図7及び図8は運転に入る前の初期設定時のCPUボードの動作を示すフローチャートである。なお、CPUボード1には図1に示すように3枚の拡張ボード11,31が積層されていて、各拡張ボードのIDコードが積層順にメモリに記憶されているものとする。
【0039】
CPUボード1のCPUは、まず、CPUボード本体及び積層された各拡張ボード11,31に電源が正常に印加されているかどうかを各拡張ボード11,31に設けられた電源電圧検出手段(図示せず)を通して判定する(S1)。電源が異常のときはその旨を表示して運転を禁止し(S2,S3)、電源が正常のときはメモリにアクセスして1段目に積層された拡張ボードのIDコードを読み込み(S4)、パリティが奇数かどうかを判定する(S5)。
【0040】
パリティが偶数のときは異常と判断して未使用時のコードかどうかを判定し(S6)、未使用時のコードのときは拡張ボードが積層されていないと判断し(S7)、この判断を3回繰り返したかどうかを判定する(S8)。3回繰り返していないときは前記IDコードの読み込みに入るが(S4)、3回繰り返したときはCPUボード1のみで運転に入る(S9)。また、S6において未使用時のコードでないと判断したときはパリティチェックを3回繰り返したかどうかを判定し(S10)、3回繰り返していないときは前記と同様にS4に戻るが、3回繰り返したときはIDコードが異常である旨を表示して運転を禁止する(S11,S12)。
【0041】
最初に読み込んだIDコードのパリティが奇数のときは正常と判断してそのIDコードがD5hかどうかを判定する(S13)。IDコードがD5hでないときはこの判定を3回繰り返したかどうかを判定し(S15)、3回繰り返していないときは前記と同様にS4に戻るが、3回繰り返したときは未対応のものとして運転を禁止する(S16)。また、IDコードがD5hのときは入出力用拡張ボード11と認識し(S14)、そのタイプの入力点数及び出力点数に応じてメモリの割付作業を実行する。
【0042】
次に、2番目のIDコードを読み込み(S17)、パリティが奇数かどうかを判定する(S18)。パリティが偶数のときは前記と同様に異常と判断して未使用時のコードかどうかを判定し(S19)、未使用時のコードのときは2段目には拡張ボードが積層されていないと判断し(S20)、この判断を3回繰り返したかどうかを判定する(S21)。3回繰り返していないときは再び2番目のIDコードの読み込みに入るが(S17)、3回繰り返したときは入出力用拡張ボード11のみが積層されていると判断して運転に入る(S22,S23)。また、S19において未使用時のコードでないと判断したときはパリティチェックを3回繰り返したかどうかを判定し(S24)、3回繰り返していないときは前記と同様にS17に戻るが、3回繰り返したときはIDコードが異常である旨を表示して運転を禁止する(S25,S26)。
【0043】
2番目に読み込んだIDコードのパリティが奇数のときは正常と判断してそのIDコードがD5hかどうかを判定する(S27)。IDコードがD5hのときは入出力用拡張ボード11と認識し(S28)、前記と同様にそのタイプの入力点数及び出力点数に応じてメモリの割付作業を実行する。また、IDコードがD5hでないときは2Ahかどうかを判定し(S29)、IDコードが2Ahのときは入力用拡張ボード31と認識し(S30)、入力点数に応じてメモリの割付作業を実行する。また、IDコードが何れでもないときはその確認を3回繰り返したかどうかを判定し(S31)、3回繰り返していないときは前記と同様にS17に戻るが、3回繰り返したときは未対応のものとして運転を禁止する(S32)。
【0044】
2段目の拡張ボードのタイプの確認が終了すると、3番目のIDコードを読み込んで前記と同様にパリティが奇数かどうかを判定する(S33,S34)。パリティが偶数のときは異常と判断して未使用時のコードかどうかを判定し(S35)、未使用時のコードのときは3段目には拡張ボードが積層されていないと判断し(S36)、この判断を3回繰り返したかどうかを判定する(S37)。3回繰り返していないときは再び3番目のIDコードの読み込みに入るが(S33)、3回繰り返したときは入出力用及び入力用拡張ボード11,31が積層されていると判断して運転に入る(S38,S39)。また、S35において未使用時のコードでないと判断したときはパリティチェックを3回繰り返したかどうかを判定し(S40)、3回繰り返していないときは前記と同様にS33に戻るが、3回繰り返したときはIDコードが異常である旨を表示して運転を禁止する(S41,S42)。
【0045】
3番目に読み込んだIDコードのパリティが奇数のときは正常と判断してそのIDコードが2Ahかどうかを判定する(S43)。IDコードが2Ahのときは入力用拡張ボード31と認識し(S44)、前記と同様にそのタイプの入力点数に応じてメモリの割付作業を実行して運転に入る(S45)。また、IDコードが2Ahでないときはその確認を3回繰り返したかどうかを判定し(S46)、3回繰り返していないときは前記と同様にS33に戻るが、3回繰り返したときは未対応のものとして運転を禁止する(S47)。
【0046】
以上のように本実施の形態においては、各PLDが、それぞれのモードピンの電位に基づいて積層位置を認識すると共に、IDコードをそれぞれ生成し、認識した積層位置からアドレスバス上のアドレス信号の転送方向を固定する信号を各バッファにそれぞれ出力すると共に、前記積層位置からデータバス上のデータ信号の転送方向をリード時及びライト時に応じて設定し、かつ、その積層位置から各拡張ボードに割り当てられたアドレスをそれぞれ選択し、CPUボード側は、各PLDによって認識された積層位置に基づいて各拡張ボードのIDコードをメモリに順に書き込み、その後は、IDコードから各拡張ボードのタイプを認識し、かつ、認識したタイプの拡張ボードの制御点数に基づいてメモりの割付作業を実行して運転を開始するようにしたので、従来必要であったマザーボードが不要になり、このため、部品点数が低減してコスト面で安価となり、また、前述のようにマザーボードが不要になったため、従来のように各モジュールを箱状に形成する必要がなくなり、サイズの小さなプログラマブルコントローラを提供できるという効果がある。
【0047】
【発明の効果】
以上のように本発明によれば、拡張ボード側は、複数本のモードピンに与えられた電位に基づいて積層位置を認識すると共に、予め設定されたIDコードを生成し、その積層位置からアドレスバス上のアドレス信号の転送方向を設定すると共に、その積層位置からデータバス上のデータ信号の転送方向をリード時及びライト時に応じて設定し、さらに、積層位置に基づいて自己に割り当てられたアドレスを選択し、制御ボードから転送されたアドレス信号が入力されたときは自己のアドレスかどうかを判別し、選択したアドレスのときはそのアドレスに基づいてI/O用ゲートアレイを選択し、また、制御ボード側は、積層位置に基づいて拡張ボードのIDコードをメモリに記憶し、その後、IDコードから拡張ボードのタイプを認識し、かつ、認識したタイプの拡張ボードの制御点数に基づいてメモリの割付作業を実行するようにしたので、従来必要であったマザーボードが不要になり、このため、部品点数が低減してコスト面で安価となり、また、前述のようにマザーボードが不要になったため、従来のように各モジュールを箱状に形成する必要がなくなり、サイズの小さなプログラマブルコントローラを提供できるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るプログラマブルコントローラの外観図である。
【図2】入出力用拡張ボードの平面図である。
【図3】入力用拡張ボードの平面図である。
【図4】入出力用拡張ボードの回路構成を示すブロック図である。
【図5】入力用拡張ボードの回路構成を示すブロック図である。
【図6】運転に入る前の初期設定時のCPUボードの動作を示すフローチャートである。
【図7】図6に続くCPUボードの動作を示すフローチャートである。
【図8】図7に続くCPUボードの動作を示すフローチャートである。
【符号の説明】
1 CPUボード、2 拡張用コネクタ、11 入出力用拡張ボード、
12,32 第1の拡張用コネクタ、13,33 第2の拡張用コネクタ、
31 入力用拡張ボード、16,36 プログラマブル・ロジック・デバイス、
51 スペーサ、52 専用ケーブル。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a programmable controller including a CPU board and an expansion board.
[0002]
[Prior art]
A conventional programmable controller includes, for example, a CPU module, an I / O module prepared according to the number of control points of various devices to be controlled, a motherboard as a base for these modules, and a motherboard for electrical connection. It consists of In this motherboard, means for reading the ID code of each I / O module in accordance with a command from the CPU module when the power is turned on and transmitting it to the CPU module, and sending and receiving between the CPU module and each I / O module Means and the like for controlling the signals to be taken into each other are provided.
[0003]
[Problems to be solved by the invention]
The conventional programmable controller described above is indispensable because the motherboard has the above functions, but since the outer shape is formed in a box shape so that each module can be attached to the motherboard, the outer shape of each module The dimensions were large, and the overall size was large due to the presence of the motherboard. In addition, the number of parts is increased due to the presence of the mother board, which increases the cost.
[0004]
The present invention has been made to solve such a problem, and an object of the present invention is to provide a programmable controller that is miniaturized and inexpensive in terms of cost.
[0005]
[Means for Solving the Problems]
The programmable controller according to claim 1 of the present invention is a programmable controller formed by laminating one or a plurality of expansion boards to which various devices to be controlled are connected to a control board and connecting them in series. The expansion board has a plurality of mode pins to which a potential corresponding to a connection position is applied, and a stack position recognition unit that recognizes a stack position based on the potential applied to the plurality of mode pins, and an ID code An ID code generation unit for generating, and the control board stores the ID code of the expansion board in a memory based on the stacking position, and then recognizes and recognizes the type of the expansion board from the ID code The expansion board determination unit executes a memory allocation operation based on the number of control points of the expansion board of the type described above.
[0006]
In the programmable controller according to
[0007]
The programmable controller according to claim 3 of the present invention is such that the expansion board is connected to an address bus, a data bus, and a data bus, and is provided for a plurality of I / Os provided according to the number of control points of various devices to be controlled. A gate array and a signal transfer direction setting unit for setting the transfer direction of the address signal on the address bus from the stack position and setting the transfer direction of the data signal on the data bus from the stack position according to read time and write time And an address decoding unit that has a preset address corresponding to the extension board to be stacked, and selects an address based on the stacking position, and an address signal transferred from the control board via an address bus When the address is input, it is determined whether the address is selected by the address decoding unit. In which a gate array selector for selecting I / O gate arrays based on address.
[0008]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is an external view of a programmable controller according to an embodiment of the present invention, FIG. 2 is a plan view of an input / output expansion board, and FIG. 3 is a plan view of the input expansion board.
In the figure, reference numeral 1 denotes a control board (hereinafter referred to as “CPU board”), which has an
[0009]
The CPU stores an ID code in the memory based on a stack position recognized by an expansion board to be described later. At the start of operation, the ID code is read to determine whether the ID code is normal. Recognizes the type of expansion board from the ID code, and starts the operation by allocating memory based on the number of control points of the recognized type of expansion board, and starts operation when the ID code is abnormal It has a function to prohibit. During operation, the sequence program is executed and decoded, and various devices connected to the CPU board 1 and the expansion board are controlled based on the result.
[0010]
[0011]
Reference numeral 31 denotes an input expansion board. For example, as shown in FIG. 3, a
[0012]
The input /
[0013]
The input /
[0014]
When three sheets are stacked in this way, the
[0015]
Also, when stacking one board on the CPU board 1, the input /
[0016]
Next, circuit configurations of the input /
In the figure,
[0017]
The
[0018]
When the
[0019]
When the
[0020]
The ID pin 24 described above is for causing the
[0021]
The
[0022]
Then, a signal for fixing the transfer direction of the address signal on the
[0023]
36 is a PLD formed by hardware constituting the functions of the stack position recognition unit, ID code generation unit, signal transfer direction setting unit, address decoding unit and gate array selection unit according to the present invention, as described above. A plurality of pins (not shown) connected to the
[0024]
The
[0025]
When the
[0026]
The ID pin 44 described above is for causing the
[0027]
The
[0028]
Then, a signal for fixing the transfer direction of the address signal on the
[0029]
Here, the operation of the PLD and the processing on the CPU board side when each expansion board is stacked on the CPU board and the power is turned on as shown in FIG. 1 will be described.
As shown in FIG. 1, when the
[0030]
At this time, the first-
[0031]
The second-
[0032]
Further, the third-
[0033]
On the other hand, the CPU of the CPU board 1 sequentially writes the ID codes (D5h, 2Ah) of the
[0034]
Regarding the transfer direction of the address signal and the transfer direction at the time of reading and writing the data signal, in the first-stage input /
[0035]
In the second input /
[0036]
In the third-stage input expansion board 31, the transfer direction of the address signal is
[0037]
In the above description, an example in which up to three are stacked on the CPU board 1 is shown, but the number is not limited to this, and any number may be used. In this case, the number of mode pins 23 and 43 of each
[0038]
Next, the operation of the CPU board at the time of initial setting before entering operation will be described based on FIG. 6, FIG. 7 and FIG. 6, 7 and 8 are flowcharts showing the operation of the CPU board at the time of initial setting before the operation is started. As shown in FIG. 1, three
[0039]
First, the CPU of the CPU board 1 determines whether or not power is normally applied to the CPU board main body and the stacked
[0040]
When the parity is an even number, it is determined that the code is not used when it is abnormal (S6). When the code is not used, it is determined that the expansion board is not stacked (S7). It is determined whether it has been repeated three times (S8). When it has not been repeated three times, reading of the ID code is started (S4), but when it has been repeated three times, operation is started with only the CPU board 1 (S9). If it is determined in S6 that the code is not unused, it is determined whether or not the parity check has been repeated three times (S10). If not repeated three times, the process returns to S4 in the same manner as described above, but repeated three times. If the ID code is abnormal, the operation is prohibited (S11, S12).
[0041]
When the parity of the ID code read first is an odd number, it is determined as normal and it is determined whether the ID code is D5h (S13). If the ID code is not D5h, it is determined whether or not this determination has been repeated three times (S15). If it has not been repeated three times, the process returns to S4 as described above. Is prohibited (S16). When the ID code is D5h, it is recognized as the input / output expansion board 11 (S14), and the memory allocation operation is executed according to the number of input points and output points of that type.
[0042]
Next, the second ID code is read (S17), and it is determined whether the parity is an odd number (S18). When the parity is an even number, it is determined that the code is not used and the code is not used (S19), as described above. If the code is not used, the expansion board is not stacked on the second level. It is determined (S20), and it is determined whether this determination is repeated three times (S21). If it has not been repeated three times, the second ID code is read again (S17), but if it has been repeated three times, it is determined that only the input /
[0043]
When the parity of the second ID code read is odd, it is determined that the ID code is D5h (S27). When the ID code is D5h, it is recognized as the input / output expansion board 11 (S28), and the memory allocation operation is executed in accordance with the number of input points and the number of output points in the same manner as described above. If the ID code is not D5h, it is determined whether it is 2Ah (S29). If the ID code is 2Ah, it is recognized as the input expansion board 31 (S30), and the memory allocation operation is executed according to the number of input points. . If the ID code is none, it is determined whether the confirmation has been repeated three times (S31). If the ID code has not been repeated three times, the process returns to S17 in the same manner as described above. Driving is prohibited as a thing (S32).
[0044]
When the confirmation of the type of the expansion board at the second stage is completed, the third ID code is read to determine whether the parity is an odd number as described above (S33, S34). When the parity is an even number, it is determined that the code is abnormal and it is determined whether the code is not used (S35). If the code is not used, it is determined that the expansion board is not stacked in the third stage (S36). It is determined whether this determination has been repeated three times (S37). If it is not repeated three times, the third ID code is read again (S33). If it is repeated three times, it is determined that the input / output and
[0045]
When the parity of the third ID code read is odd, it is determined as normal and it is determined whether or not the ID code is 2Ah (S43). When the ID code is 2Ah, it is recognized as the input expansion board 31 (S44), and in the same manner as described above, the memory allocation operation is executed according to the number of input points of that type and the operation is started (S45). If the ID code is not 2Ah, it is determined whether the confirmation has been repeated three times (S46). If the ID code has not been repeated three times, the process returns to S33 in the same manner as described above. Driving is prohibited (S47).
[0046]
As described above, in the present embodiment, each PLD recognizes the stack position based on the potential of each mode pin, generates an ID code, and generates an address signal on the address bus from the recognized stack position. A signal that fixes the transfer direction is output to each buffer, and the transfer direction of the data signal on the data bus from the stack position is set according to read and write, and assigned to each expansion board from the stack position The CPU board side sequentially writes the ID code of each expansion board into the memory based on the stack position recognized by each PLD, and then recognizes the type of each expansion board from the ID code. In addition, based on the number of control points of the recognized type of expansion board, the memory allocation work is executed and the operation is started. This eliminates the need for the motherboard that was required in the past, which reduces the number of parts and reduces the cost, and also eliminates the need for the motherboard as described above. There is no need to form a box in the form of a box, and a programmable controller having a small size can be provided.
[0047]
【The invention's effect】
As described above, according to the present invention, the expansion board recognizes the stacking position based on the potentials applied to the plurality of mode pins, generates a preset ID code, and starts addressing from the stacking position. Sets the transfer direction of the address signal on the bus, sets the transfer direction of the data signal on the data bus from the stack position according to the time of reading and writing, and further assigns the address to itself based on the stack position When the address signal transferred from the control board is input, it is determined whether it is its own address, and when it is the selected address, the I / O gate array is selected based on the address, and The control board side stores the expansion board ID code in the memory based on the stacking position, and then recognizes the expansion board type from the ID code. Since the memory allocation work is executed based on the number of control points of the recognized type of expansion board, the previously required motherboard is no longer required, which reduces the number of parts and makes it cheaper in terms of cost. In addition, since the mother board is no longer necessary as described above, there is no need to form each module in a box shape as in the prior art, and there is an effect that a small-sized programmable controller can be provided.
[Brief description of the drawings]
FIG. 1 is an external view of a programmable controller according to an embodiment of the present invention.
FIG. 2 is a plan view of an input / output expansion board.
FIG. 3 is a plan view of an input expansion board.
FIG. 4 is a block diagram showing a circuit configuration of an input / output expansion board.
FIG. 5 is a block diagram showing a circuit configuration of an input expansion board.
FIG. 6 is a flowchart showing the operation of the CPU board at the time of initial setting before entering operation.
FIG. 7 is a flowchart showing the operation of the CPU board following FIG. 6;
FIG. 8 is a flowchart showing the operation of the CPU board following FIG.
[Explanation of symbols]
1 CPU board, 2 expansion connector, 11 I / O expansion board,
12, 32 1st expansion connector, 13, 33 2nd expansion connector,
31 Input expansion board, 16, 36 Programmable logic devices,
51 Spacer, 52 Dedicated cable.
Claims (3)
前記拡張ボードは、接続位置に対応した電位が与えられる複数本のモードピンを有し、その複数本のモードピンに与えられた電位に基づいて積層位置を認識する積層位置認識部と、IDコードを生成するIDコード生成部とを有し、
前記制御ボードは、前記積層位置に基づいてその拡張ボードのIDコードをメモリに記憶し、その後、IDコードから拡張ボードのタイプを認識し、かつ、認識したタイプの拡張ボードの制御点数に基づいてメモリの割付作業を実行する拡張ボード判別部を有することを特徴とするプログラマブルコントローラ。A programmable controller in which one or a plurality of expansion boards to which various devices to be controlled are connected are stacked on the control board and connected to the series,
The expansion board has a plurality of mode pins to which a potential corresponding to a connection position is applied, a stack position recognition unit that recognizes a stack position based on the potential applied to the plurality of mode pins, and an ID code An ID code generation unit for generating
The control board stores the ID code of the expansion board in the memory based on the stacking position, and then recognizes the type of the expansion board from the ID code, and based on the control points of the recognized type of expansion board A programmable controller comprising an expansion board discrimination unit for executing a memory allocation operation.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP33805699A JP4253752B2 (en) | 1999-11-29 | 1999-11-29 | Programmable controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP33805699A JP4253752B2 (en) | 1999-11-29 | 1999-11-29 | Programmable controller |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001154710A JP2001154710A (en) | 2001-06-08 |
| JP4253752B2 true JP4253752B2 (en) | 2009-04-15 |
Family
ID=18314508
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP33805699A Expired - Lifetime JP4253752B2 (en) | 1999-11-29 | 1999-11-29 | Programmable controller |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4253752B2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7879746B2 (en) | 1999-05-21 | 2011-02-01 | 3M Innovative Properties Company | Hydrophilic polypropylene fibers having antimicrobial activity |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100361041C (en) * | 2003-05-12 | 2008-01-09 | 富士通株式会社 | Electronic device and unit mounting mechanism |
| JPWO2007132577A1 (en) * | 2006-05-17 | 2009-09-24 | 株式会社村田製作所 | Platform board and production management method |
-
1999
- 1999-11-29 JP JP33805699A patent/JP4253752B2/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7879746B2 (en) | 1999-05-21 | 2011-02-01 | 3M Innovative Properties Company | Hydrophilic polypropylene fibers having antimicrobial activity |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2001154710A (en) | 2001-06-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3085824B2 (en) | Memory controller | |
| CN101882466B (en) | Nonvolatile semiconductor memory | |
| US6483183B1 (en) | Integrated circuit (IC) package with a microcontroller having an n-bit bus and up to n-pins coupled to the microcontroller | |
| US5465106A (en) | Generic driver interface card | |
| US5375218A (en) | DMA channel control apparatus capable of assigning independent DMA transfer control line to respective expansion slots | |
| JP4253752B2 (en) | Programmable controller | |
| US5373467A (en) | Solid state memory device capable of providing data signals on 2N data lines or N data lines | |
| JP4843796B2 (en) | High power efficiency memory and card | |
| KR102830966B1 (en) | Method for writing firmware | |
| US6611462B2 (en) | Semiconductor integrated circuit | |
| JPH1185724A (en) | Cpu mode switch circuit | |
| JPH0279294A (en) | Data length variable memory | |
| JPS61120454A (en) | Package of integrated circuit for data memory | |
| KR960001949B1 (en) | General purpose neural network board for connection with IBM-PC | |
| JPS60134292A (en) | Liquid crystal display driver | |
| JP2767794B2 (en) | Microcomputer | |
| JPS59210497A (en) | Liquid crystal driver | |
| JPS5842544B2 (en) | Memory card block selection device | |
| JP2922963B2 (en) | Sequence controller | |
| JPH0520474A (en) | One chip microcomputer | |
| JPH08180668A (en) | Memory system | |
| JP2000215686A (en) | Memory write and read system | |
| JPH04250518A (en) | Panel device | |
| JPH10105287A (en) | Connection system for extension board | |
| JPH08314806A (en) | Module for connecting memory module |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060704 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081216 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090106 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090114 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120206 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4253752 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120206 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130206 Year of fee payment: 4 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140206 Year of fee payment: 5 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |