JPH03237502A - プログラマブル・コントローラ - Google Patents
プログラマブル・コントローラInfo
- Publication number
- JPH03237502A JPH03237502A JP3331690A JP3331690A JPH03237502A JP H03237502 A JPH03237502 A JP H03237502A JP 3331690 A JP3331690 A JP 3331690A JP 3331690 A JP3331690 A JP 3331690A JP H03237502 A JPH03237502 A JP H03237502A
- Authority
- JP
- Japan
- Prior art keywords
- board
- processing
- program
- processor
- ladder
- 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.)
- Pending
Links
Landscapes
- Programmable Controllers (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〈産業上の利用分野〉
本発明は、工場の生産ラインを効率的に制御するF A
(Factory Automation)分野また
は各種工業プロセスを制御するPA (Process
Automation>分野において、シーケンス制
御プログラムが組み込まれ、各種の現場インテリジェン
ト機器等と情報の入出力処理を行うプログラマブル・コ
ントローラに関するものである。
(Factory Automation)分野また
は各種工業プロセスを制御するPA (Process
Automation>分野において、シーケンス制
御プログラムが組み込まれ、各種の現場インテリジェン
ト機器等と情報の入出力処理を行うプログラマブル・コ
ントローラに関するものである。
更に詳しくは、内部に設定されるマイクロプロセッサ周
辺部の情報処理機能と、I10ボード群との信号授受機
能と、シーケンス制御プログラムのプログラミング機能
とを有機的に結合したプログラマブル・コントローラに
関するものである。
辺部の情報処理機能と、I10ボード群との信号授受機
能と、シーケンス制御プログラムのプログラミング機能
とを有機的に結合したプログラマブル・コントローラに
関するものである。
〈従来の技術〉
簗26図〜第29図は従来のプログラマブル・コントロ
ーラを用いたシステム例を表わす概念図である。
ーラを用いたシステム例を表わす概念図である。
プログラマブル・コントローラは、従来のシーケンス制
御方式で用いられたリレー配電盤の代替としてシーケン
ス制御プログラムがマイクロプロセッサに内蔵され、制
御対象について所望のシーケンス動作を効率良く実行さ
せるものである。
御方式で用いられたリレー配電盤の代替としてシーケン
ス制御プログラムがマイクロプロセッサに内蔵され、制
御対象について所望のシーケンス動作を効率良く実行さ
せるものである。
第26図のシステムにおいて、プログラマブル・コント
ローラU1は機械部品別ニジステムS1を制御し、プロ
グラマブル・コントローラU2は機械部品組立システム
S2と信号入出力を行って制御動作を実行し、更にプロ
グラマブル・コントローラUl、U2はバスBに接続さ
れてプリンタPを有するデスクトップ・コンピュータD
TCと通信することによりオペレータにシステム状況を
通知する。尚、デスクトップ・コンピュータDTCは、
通信回線りを通じて上位の中型または大型コンピュータ
MCにより管理される場合もある。
ローラU1は機械部品別ニジステムS1を制御し、プロ
グラマブル・コントローラU2は機械部品組立システム
S2と信号入出力を行って制御動作を実行し、更にプロ
グラマブル・コントローラUl、U2はバスBに接続さ
れてプリンタPを有するデスクトップ・コンピュータD
TCと通信することによりオペレータにシステム状況を
通知する。尚、デスクトップ・コンピュータDTCは、
通信回線りを通じて上位の中型または大型コンピュータ
MCにより管理される場合もある。
即ち、プログラマブル・コントローラUl、U2はそれ
ぞれ、システム31.32に対して、接点入出力処理、
モータの駆動及び停止処理、部品の位置決め処理、ラン
プの点灯及び消灯処理等のシーケンス制御動作を施して
いる。
ぞれ、システム31.32に対して、接点入出力処理、
モータの駆動及び停止処理、部品の位置決め処理、ラン
プの点灯及び消灯処理等のシーケンス制御動作を施して
いる。
次に、プログラマブル・コントローラU1に注目する。
プログラマブル・コントローラU1は数枚のボード機器
がユニット内のバック・ブレーン・バス(図示せず)に
装着された構成であり、装着されるボード機器は、当該
ユニットに電力を供給する電源ボードPS、マイクロプ
ロセッサを有してシーケンス制御の中核となるCPUボ
ード1、機械部品別ニジステムS1に設置される各種機
器とCPUボード1との情報伝達媒体となる数枚のI1
0ボード1、ベーシック・プログラム及びR3232C
ボート等が設定されてバスB上の他の機器と通信動作を
実行する通信ボードTである。
がユニット内のバック・ブレーン・バス(図示せず)に
装着された構成であり、装着されるボード機器は、当該
ユニットに電力を供給する電源ボードPS、マイクロプ
ロセッサを有してシーケンス制御の中核となるCPUボ
ード1、機械部品別ニジステムS1に設置される各種機
器とCPUボード1との情報伝達媒体となる数枚のI1
0ボード1、ベーシック・プログラム及びR3232C
ボート等が設定されてバスB上の他の機器と通信動作を
実行する通信ボードTである。
このような構成において、プログラマブル・コントロー
ラUl内のCPUボード1は機械部品別ニジステムS1
に適合したシーケンス制#プログラムが組み込まれ、I
10ボードCからのシステム情報に従ってシーケンス制
御演算処理を実行し、I10ボードCを介して制御信号
を機械部品別ニジステムS1に送信し、所望のシーケン
ス動作を実行する。
ラUl内のCPUボード1は機械部品別ニジステムS1
に適合したシーケンス制#プログラムが組み込まれ、I
10ボードCからのシステム情報に従ってシーケンス制
御演算処理を実行し、I10ボードCを介して制御信号
を機械部品別ニジステムS1に送信し、所望のシーケン
ス動作を実行する。
上記のようなシーケンス制御プログラムは、プログラム
作成ツール、例えばこの例ではテスクトップ・コンピュ
ータDTCのCR7画面上にて第27図に示すようなラ
ダー・プログラムを編集してCPUボード1に送信し、
CPUボード1では送信されたラダー・プログラムを第
28図に示すような形式に変換してシーケンス制御動作
を実行する。
作成ツール、例えばこの例ではテスクトップ・コンピュ
ータDTCのCR7画面上にて第27図に示すようなラ
ダー・プログラムを編集してCPUボード1に送信し、
CPUボード1では送信されたラダー・プログラムを第
28図に示すような形式に変換してシーケンス制御動作
を実行する。
CPUボード1の概略構成は第29因に示す通りである
。
。
即ち、CPUボード1は、全体を制御するCPU11、
シーケンス制御演算を実行する1ビット処理用プロセッ
サBPIJ12、シーケンス制御プログラム列を格納す
るプログラム・メモリ13、制御演算動作に用いられる
データ・メモリ14、I10ボード1とのインターフェ
イスI/F15がアドレス・バスab、データ・バスd
bに並列接続されて構成される。
シーケンス制御演算を実行する1ビット処理用プロセッ
サBPIJ12、シーケンス制御プログラム列を格納す
るプログラム・メモリ13、制御演算動作に用いられる
データ・メモリ14、I10ボード1とのインターフェ
イスI/F15がアドレス・バスab、データ・バスd
bに並列接続されて構成される。
そして、CPU11がプログラム・メモリ13から命令
を読み出し、第27図及び第28図に示すようなシーケ
ンス制御プログラムを開始すると、CPU11は第1ス
テツプの命令″LD”が1ビット処理命令であることを
判断し、1ビット処理用プロセッサBPU12側にアド
レス・バスab及びデータ・バスdbを切り替えてこの
命令“LD”を実行し、以後、同様にして1ビット命令
“OR”OUT”、“LD”を1ビット処理用プロセッ
サBPU12に与えるよう動作する。
を読み出し、第27図及び第28図に示すようなシーケ
ンス制御プログラムを開始すると、CPU11は第1ス
テツプの命令″LD”が1ビット処理命令であることを
判断し、1ビット処理用プロセッサBPU12側にアド
レス・バスab及びデータ・バスdbを切り替えてこの
命令“LD”を実行し、以後、同様にして1ビット命令
“OR”OUT”、“LD”を1ビット処理用プロセッ
サBPU12に与えるよう動作する。
次に読み出される命令が数値比較命令、算術演算命令等
の応用命令であると、CPU11はアドレス・バスab
及びデータ・バスdbを自己側に切り替え、今度はCP
U11が命令実行動作を担当する。
の応用命令であると、CPU11はアドレス・バスab
及びデータ・バスdbを自己側に切り替え、今度はCP
U11が命令実行動作を担当する。
以下、同様にして、バス切り替え動作が行われて1ビッ
ト処理命令、応用命令がそれぞれBPU12またはCP
U11により実行される。
ト処理命令、応用命令がそれぞれBPU12またはCP
U11により実行される。
得られた制御演算結果は、−時データ・メモリ14に蓄
えられ、CPU11は必要に応じて、I/F15を介し
てI10ボードC側へその制御演算結果を送信する。
えられ、CPU11は必要に応じて、I/F15を介し
てI10ボードC側へその制御演算結果を送信する。
この時、CPUボード1は、複数枚のI10ボードCに
データを転送する場合、データ転送を行うI10ボード
とハンドシェイク信号を授受して転送を行う非同期式転
送と、CPUボードが予め定めた転送シーケンスに従っ
てデータ転送を行う同期式転送のいずれかの転送方式に
よって通信動作が行われる。
データを転送する場合、データ転送を行うI10ボード
とハンドシェイク信号を授受して転送を行う非同期式転
送と、CPUボードが予め定めた転送シーケンスに従っ
てデータ転送を行う同期式転送のいずれかの転送方式に
よって通信動作が行われる。
また、通信ボードTはデスクトップ型コンピュータDT
Cからの指令を受け、内部に設定されているベーシック
・プログラムによりCPUボードC内のデータを読み取
り、R8232C等の通信ボートより当該ユニットの状
況をデスクトップ・コンピュータDTCへ送信する。
Cからの指令を受け、内部に設定されているベーシック
・プログラムによりCPUボードC内のデータを読み取
り、R8232C等の通信ボートより当該ユニットの状
況をデスクトップ・コンピュータDTCへ送信する。
プログラマブル・コントローラU2も以上のプログラマ
ブル・コントローラU1と同様の構成で、同様の動作を
実行している。
ブル・コントローラU1と同様の構成で、同様の動作を
実行している。
〈発明が解決しようとする課題〉
しかしながら、CPU11はプログラム・メモリ13か
ら読み出した命令の種類を判断して自己または1ビット
処理用プロセッサBPU12の制御実行権を切り替えな
ければならず、切り替え動作におけるソフトウェア上、
ハードウェア上に煩わしさが発生しており、CPU11
が読み出した命令の内容を判断してからCPU11また
はBPU12を選択決定しているため、待ち時間が多く
処理に時間がかかるという欠点を有している。
ら読み出した命令の種類を判断して自己または1ビット
処理用プロセッサBPU12の制御実行権を切り替えな
ければならず、切り替え動作におけるソフトウェア上、
ハードウェア上に煩わしさが発生しており、CPU11
が読み出した命令の内容を判断してからCPU11また
はBPU12を選択決定しているため、待ち時間が多く
処理に時間がかかるという欠点を有している。
また、装着されるI10ボードは、入力点数、出力点数
がシステム設計時に決定され、CPUボード側には各々
のI10ボード毎のI10ドライバが予め設定されてい
るため、ユーザ特有のI10カードを使用するには、各
々のI10ボードについてI10ドライバを再設計しな
ければならないという欠点があった。
がシステム設計時に決定され、CPUボード側には各々
のI10ボード毎のI10ドライバが予め設定されてい
るため、ユーザ特有のI10カードを使用するには、各
々のI10ボードについてI10ドライバを再設計しな
ければならないという欠点があった。
I10ボードとのデータ転送に関しては、非同期式転送
と同期式転送のいずれかが採用されるが、非同期式転送
ではハンドシェイク信号授受の時間分転送時間がかかり
、同期式転送ではI10ボード側の異常状態を判別せず
に通信動作を実行するためシステムに悪影響を及ぼすと
いう欠点があった。
と同期式転送のいずれかが採用されるが、非同期式転送
ではハンドシェイク信号授受の時間分転送時間がかかり
、同期式転送ではI10ボード側の異常状態を判別せず
に通信動作を実行するためシステムに悪影響を及ぼすと
いう欠点があった。
更に、シーケンス制御プログラムとして採用されるラダ
ー・プログラムは、通常、数百または数千ステップあり
、どこかで異常、エラーが発生した場合、エラー発生原
因を特定するにはこのラダー・プログラムの全体をチエ
ツクしなければならず、デバッグ作業も面倒で効率が悪
いという欠点があった。
ー・プログラムは、通常、数百または数千ステップあり
、どこかで異常、エラーが発生した場合、エラー発生原
因を特定するにはこのラダー・プログラムの全体をチエ
ツクしなければならず、デバッグ作業も面倒で効率が悪
いという欠点があった。
また、シーケンス制御プログラムは制御動作の最初から
最後までに対応する1個のシーケンス制御プログラム(
ラダー・プログラム)を作成するため、工数がかかり、
しかも工程の一部のみを実行するような指定を行うこと
はできなかった。
最後までに対応する1個のシーケンス制御プログラム(
ラダー・プログラム)を作成するため、工数がかかり、
しかも工程の一部のみを実行するような指定を行うこと
はできなかった。
本発明は以上のような問題を解決することを課題とし、
プログラマブル・コントローラ内部に設定されるマイク
ロプロセッサ周辺部の情報処理機能と、I10ボードと
の信号授受機能と、シーゲンス制御プログラミングS能
とを有機的に結合したプログラマブル・コントローラを
実現することを発明の目的としている。
プログラマブル・コントローラ内部に設定されるマイク
ロプロセッサ周辺部の情報処理機能と、I10ボードと
の信号授受機能と、シーゲンス制御プログラミングS能
とを有機的に結合したプログラマブル・コントローラを
実現することを発明の目的としている。
く課題を解決するための手段〉
このため、本発明のプログラマブル・コントローラは次
のように構成される。
のように構成される。
シーケンス制御プログラムを読み出して実行する際の余
計な時間を省略し、処理速度を向上させるようにする。
計な時間を省略し、処理速度を向上させるようにする。
CPUボードと通信ボードとの機能を融合させ、シーゲ
ンス処理と通信に関与するベーシック処理とを同一ボー
ド内処理とする。
ンス処理と通信に関与するベーシック処理とを同一ボー
ド内処理とする。
システム拡彊時であっても、ユーザ設計の■10ボード
を自由に装着できてシーケンス制御を容易に再設計、即
ち標準化を実現する標準I10ドライバを設計する。
を自由に装着できてシーケンス制御を容易に再設計、即
ち標準化を実現する標準I10ドライバを設計する。
CPUボードとI10ボードとのデータ転送の方式を新
規なものとして従来装置の欠点を解消する。
規なものとして従来装置の欠点を解消する。
ラダー・プログラム実行時について、エラー発生時のエ
ラー発生箇所、発生時刻、デバッグ動作を容易にし、そ
のプログラミングにも改良を施す。
ラー発生箇所、発生時刻、デバッグ動作を容易にし、そ
のプログラミングにも改良を施す。
以上の課題を解決した本発明の具体的な構成は、次の通
りである。
りである。
(1)制御対象と各種情報を授受するI10ボード群と
、シーケンス制御プログラムを実行して前記I10ボー
ド群を介して前記制御対象に制御信号を与えるプロセッ
サ・ボードとから構成されるプログラマブル・コントロ
ーラにおいて、前記プロセッサ・ボードは、 全体を制御し、前記シーケンス制御プログラム内の命令
の一部と、前記シーケンス制御プログラムの起動及び終
了指示を行い汎用的な演算処理、情報処理または制御動
作を行うベーシック・プログラムとを実行するプロセッ
サと、 前記シーケンス制御プログラムが格納されるプログラム
・メモリに直接接続し、前記プログラム・メモリから順
次命令を読み出して実行し、読み出した命令が前記プロ
セッサで実行すべきシーゲンス応用命令であるほこの命
令を前記プロセッサに与える1ビット処理プロセッサと
、 一時的にデータを記憶するデータ・メモリと、自己診断
プログラムを記憶する固定メモリと、上位コンピュータ
との通信動作に関与する通信インターフェイスと、 前記制御対象と各種情報を授受するI10ボードを接続
するI10バスに結合するためのI10インターフェイ
スと、 前記プロセッサと前記1ビット処理プロセッサと前記デ
ータ・メモリと前記固定メモリと前記通信インターフェ
イスと前記I10インターフェイスとを相互に結合する
内部バスと を備えたプログラマブル・コントローラ。
、シーケンス制御プログラムを実行して前記I10ボー
ド群を介して前記制御対象に制御信号を与えるプロセッ
サ・ボードとから構成されるプログラマブル・コントロ
ーラにおいて、前記プロセッサ・ボードは、 全体を制御し、前記シーケンス制御プログラム内の命令
の一部と、前記シーケンス制御プログラムの起動及び終
了指示を行い汎用的な演算処理、情報処理または制御動
作を行うベーシック・プログラムとを実行するプロセッ
サと、 前記シーケンス制御プログラムが格納されるプログラム
・メモリに直接接続し、前記プログラム・メモリから順
次命令を読み出して実行し、読み出した命令が前記プロ
セッサで実行すべきシーゲンス応用命令であるほこの命
令を前記プロセッサに与える1ビット処理プロセッサと
、 一時的にデータを記憶するデータ・メモリと、自己診断
プログラムを記憶する固定メモリと、上位コンピュータ
との通信動作に関与する通信インターフェイスと、 前記制御対象と各種情報を授受するI10ボードを接続
するI10バスに結合するためのI10インターフェイ
スと、 前記プロセッサと前記1ビット処理プロセッサと前記デ
ータ・メモリと前記固定メモリと前記通信インターフェ
イスと前記I10インターフェイスとを相互に結合する
内部バスと を備えたプログラマブル・コントローラ。
(2)前記プロセッサに、前記シーケンス制御プログラ
ムを一定時間実行すると前記シーケンス制御プログラム
を停止して前記ベーシック・プログラムを一定時間実行
する動作を繰り返す実行権切換制御手段を設けたことを
特徴とする請求項(1)記載のプログラマブル・コント
ローラ。
ムを一定時間実行すると前記シーケンス制御プログラム
を停止して前記ベーシック・プログラムを一定時間実行
する動作を繰り返す実行権切換制御手段を設けたことを
特徴とする請求項(1)記載のプログラマブル・コント
ローラ。
(3〉前記上位コンピュータから実行すべきベーシック
言語実行指令またはラダー言語実行指令またはベーシッ
ク言語及びラダー言語実行指令のうちいずれかの実行指
令を受け、指定された言語実行指令に対応した。実行環
境を生成する請求項(1)記載のプログラマブル・コン
トローラ。
言語実行指令またはラダー言語実行指令またはベーシッ
ク言語及びラダー言語実行指令のうちいずれかの実行指
令を受け、指定された言語実行指令に対応した。実行環
境を生成する請求項(1)記載のプログラマブル・コン
トローラ。
(4)前記プロセッサ・ボードに設定するI10ドライ
バは、立ち上がり時に、各I10ボードについて、ボー
ドID、ボードのインターフェイスの種類、チャネル数
、コマンド・レジスタ・アドレス及びバッファ・アドレ
スまたはデータ・レジスタ・アドレス、特殊処理が必要
な場合はその特殊処理を指定するアドレスを読み出して
テーブル形式で記憶する処理定義テーブルを設定し、デ
ータ出力処理を行う際は前記処理定義テーブルを参照す
ることを特徴とする請求項(1)記載のプログラマブル
・コントローラ。
バは、立ち上がり時に、各I10ボードについて、ボー
ドID、ボードのインターフェイスの種類、チャネル数
、コマンド・レジスタ・アドレス及びバッファ・アドレ
スまたはデータ・レジスタ・アドレス、特殊処理が必要
な場合はその特殊処理を指定するアドレスを読み出して
テーブル形式で記憶する処理定義テーブルを設定し、デ
ータ出力処理を行う際は前記処理定義テーブルを参照す
ることを特徴とする請求項(1)記載のプログラマブル
・コントローラ。
(5)前記プロセッサ・ボード及び前記I10ボード群
にストローブ信号発生手段を設け、データ転送サイクル
が開始すると、データ転送要求もとボードはフレーム送
信毎にストローブ信号を送信して当該フレームを有効と
し、データ転送要求先ボードはデータ・フレーム及びス
テイタス・フレームまたはステイタス・フレーム送信毎
にストローブ信号を送信してデータ転送サイクルを終了
することを特徴とする請求項(1)記載のプログラマブ
ル・コントローラ。
にストローブ信号発生手段を設け、データ転送サイクル
が開始すると、データ転送要求もとボードはフレーム送
信毎にストローブ信号を送信して当該フレームを有効と
し、データ転送要求先ボードはデータ・フレーム及びス
テイタス・フレームまたはステイタス・フレーム送信毎
にストローブ信号を送信してデータ転送サイクルを終了
することを特徴とする請求項(1)記載のプログラマブ
ル・コントローラ。
(6)異常の種類の数に対応して異常検出回路を設け、
前記プロセッサは異常検出信号を割込信号として受け付
けて内部のタイマ機能の示す時刻と異常検出の内容とを
テーブル形式で記憶することを特徴とする請求項(1)
記載のプログラマブル・コントローラ。
前記プロセッサは異常検出信号を割込信号として受け付
けて内部のタイマ機能の示す時刻と異常検出の内容とを
テーブル形式で記憶することを特徴とする請求項(1)
記載のプログラマブル・コントローラ。
(7)前記ラダー言語で生成したラダー・プログラム内
のラダー回路に付加するコメントを当該ラダー回路のス
テップ番号に対応させて格納するコメント・ファイルと
、当該ラダー回路のステ・yプ番号と前記コメント・フ
ァイル中のコメント番号とを対応付けした回路/コメン
ト・テーブルとを設定し、プログラミング・ツールから
回路コメント、ステップ番号、ラダー回路を読み出せる
ようにしたことを特徴とする請求項(1)記載のプログ
ラマブル・コントローラ。
のラダー回路に付加するコメントを当該ラダー回路のス
テップ番号に対応させて格納するコメント・ファイルと
、当該ラダー回路のステ・yプ番号と前記コメント・フ
ァイル中のコメント番号とを対応付けした回路/コメン
ト・テーブルとを設定し、プログラミング・ツールから
回路コメント、ステップ番号、ラダー回路を読み出せる
ようにしたことを特徴とする請求項(1)記載のプログ
ラマブル・コントローラ。
(8〉シーゲンス制御処理ルーチン内の入出力リフレッ
シュ処理を省略し、ラダー回路作成時は各回路要素に信
号名を割り付け、予め設定した信号名/アドレス対応テ
ーブルにより信号名とアドレスとを対応させ、コンパイ
ル時点で詳細アドレスが割り当てられていないものにつ
いては当該信号名に対応する詳細アドレスをアドレスの
若い順に設定することを特徴とする請求項(1)記載の
プログラマブル・コントローラ。
シュ処理を省略し、ラダー回路作成時は各回路要素に信
号名を割り付け、予め設定した信号名/アドレス対応テ
ーブルにより信号名とアドレスとを対応させ、コンパイ
ル時点で詳細アドレスが割り当てられていないものにつ
いては当該信号名に対応する詳細アドレスをアドレスの
若い順に設定することを特徴とする請求項(1)記載の
プログラマブル・コントローラ。
(9)ラダー・プログラムのプログラミング時に、一連
のシーケンス制御動作をいくつかの工程に対応するブロ
ックに分割し、各ブロックの最終ステップのラダー回路
には次に実行すべきブロックを指定する命令と当該ブロ
ックの処理停止を指定する命令とを設定し、ブロック単
位にラダー・プログラムを設定かつ実行するようにした
請求項(1)記載のプログラマブル・コントローラ。
のシーケンス制御動作をいくつかの工程に対応するブロ
ックに分割し、各ブロックの最終ステップのラダー回路
には次に実行すべきブロックを指定する命令と当該ブロ
ックの処理停止を指定する命令とを設定し、ブロック単
位にラダー・プログラムを設定かつ実行するようにした
請求項(1)記載のプログラマブル・コントローラ。
(10)ベーシック言語の処理をするプロセッサ・ボー
ドと、シーケンス言語処理専用でありブロック構成のシ
ーゲンス制御プログラムを1個以上格納する少なくとも
1枚以上のシーケンス言語処理専用のプロセッサ・ボー
ドと、このシーケンス言語処理専用のプロセッサ・ボー
ドの下位間に設置されて制御対象と制御情報を授受する
I10ボード群とから構成され、前記ベーシック言語の
処理をするプロセッサ・ボードは、前記シーケンス言語
処理専用のプロセッサ・ボード内の前記ブロック構成の
シーゲンス制御プログラムの各々に起動指示、終了指示
を通知することを特徴とするプログラマブル・コントロ
ーラ。
ドと、シーケンス言語処理専用でありブロック構成のシ
ーゲンス制御プログラムを1個以上格納する少なくとも
1枚以上のシーケンス言語処理専用のプロセッサ・ボー
ドと、このシーケンス言語処理専用のプロセッサ・ボー
ドの下位間に設置されて制御対象と制御情報を授受する
I10ボード群とから構成され、前記ベーシック言語の
処理をするプロセッサ・ボードは、前記シーケンス言語
処理専用のプロセッサ・ボード内の前記ブロック構成の
シーゲンス制御プログラムの各々に起動指示、終了指示
を通知することを特徴とするプログラマブル・コントロ
ーラ。
〈作用〉
本発明のプログラマブル・コントローラは、次のように
動作する。
動作する。
(1)1ビット処理プロセッサはプログラム・メモリか
ら逐一シーケンス1liIlllプログラム命令を読み
出して実行し、読み出したプログラム命令が全体を制御
するプロセッサが処理すべきものである場合は当該プロ
グラム命令をプロセッサへ与えて処理を実行する。
ら逐一シーケンス1liIlllプログラム命令を読み
出して実行し、読み出したプログラム命令が全体を制御
するプロセッサが処理すべきものである場合は当該プロ
グラム命令をプロセッサへ与えて処理を実行する。
(2)一定時間、シーゲンス制御プログラムを実行する
と、プロセッサはベーシック・プログラムの実行動作に
切換える。再び一定時間経過すると、シーゲンス制御プ
ログラムの動作に戻る。以後、一定時間経過する毎にシ
ーゲンス制御プログラム処理、ベーシック・プログラム
処理を切換えて実行する。
と、プロセッサはベーシック・プログラムの実行動作に
切換える。再び一定時間経過すると、シーゲンス制御プ
ログラムの動作に戻る。以後、一定時間経過する毎にシ
ーゲンス制御プログラム処理、ベーシック・プログラム
処理を切換えて実行する。
(3)上位コンピュータからベーシック言語、ラダー言
語、ベーシック言語及びラダー言語のうちいずれかを指
定すると、プロセッサはシステム・テーブルを生成し、
指定されたプログラム言語に応じた実行環境を生成する
。
語、ベーシック言語及びラダー言語のうちいずれかを指
定すると、プロセッサはシステム・テーブルを生成し、
指定されたプログラム言語に応じた実行環境を生成する
。
【4)プロセッサ・ボード内のI10ドライバは立ち上
がり時に、装着されているI10ボードの各種情報を読
み取って処理定義テーブルを生成して記憶し、データ転
送時はこの処理定義テーブルを参照してI10ボードと
のアクセス処理を実行する。
がり時に、装着されているI10ボードの各種情報を読
み取って処理定義テーブルを生成して記憶し、データ転
送時はこの処理定義テーブルを参照してI10ボードと
のアクセス処理を実行する。
(5)プロセッサとI10ボードとのデータ転送時は、
データ転送もとはフレームを送出する度にストローブ信
号をアクティブとして同期式転送を行い、プロセッサと
I10ボード全体では非同期式転送を行う。
データ転送もとはフレームを送出する度にストローブ信
号をアクティブとして同期式転送を行い、プロセッサと
I10ボード全体では非同期式転送を行う。
(6)ラダー回路に付加するコメントをステップ番号に
対応させてコメント・ファイルと、ステップ番号とコメ
ント・ファイル中のコメント番号とを対応付けした回路
/コメント・テーブルとを設定し、回路調整時にプログ
ラミング・ツールから回路コメント、ステップ番号、ラ
ダー回路を読み出して出力する。
対応させてコメント・ファイルと、ステップ番号とコメ
ント・ファイル中のコメント番号とを対応付けした回路
/コメント・テーブルとを設定し、回路調整時にプログ
ラミング・ツールから回路コメント、ステップ番号、ラ
ダー回路を読み出して出力する。
(7)ラダー回路作成時に信号名を割り当て、信号名と
アドレスとを対応させ、コンパイル時は詳細アドレスを
定義していないものについては自動的に詳細アドレスを
割り当てる。
アドレスとを対応させ、コンパイル時は詳細アドレスを
定義していないものについては自動的に詳細アドレスを
割り当てる。
(8)プロセッサ・ボードまたはI10ボード側に設置
される異常検出回路から異常検出信号が送出されると、
異常発生時刻と異常の内容とをテーブル形式で記憶し、
必要に応じて読み出し、異常を解析する。
される異常検出回路から異常検出信号が送出されると、
異常発生時刻と異常の内容とをテーブル形式で記憶し、
必要に応じて読み出し、異常を解析する。
(9)各工程に対応したブロック単位のラダー・プログ
ラムの最終ステップの実行を開始すると、このステップ
にて指定されるブロックのラダー・プログラムを実行し
、当該ブロックの処理を終了する。
ラムの最終ステップの実行を開始すると、このステップ
にて指定されるブロックのラダー・プログラムを実行し
、当該ブロックの処理を終了する。
(10)ベーシック・プログラムを実行するプロセッサ
・ボードと、ブロック単位に作成したいくつかのシーケ
ンス制御プログラムを格納するプロセッサ・ボードを用
いて構成したシステムは、ベーシック・プログラムから
の起動指令により各ラダー・プログラムはその実行を制
御される。
・ボードと、ブロック単位に作成したいくつかのシーケ
ンス制御プログラムを格納するプロセッサ・ボードを用
いて構成したシステムは、ベーシック・プログラムから
の起動指令により各ラダー・プログラムはその実行を制
御される。
〈実施例〉
次に、本発明を実施したプログラマブル・コントローラ
について説明する。
について説明する。
本発明のプログラマブル・コントローラを用いて構成し
たシステム例は、その外観は第26図に示した従来のシ
ーゲンス制御システムと同様であるが、プログラマブル
・コントローラ内部に設定するさまざまなIi能が本発
明の特徴である。
たシステム例は、その外観は第26図に示した従来のシ
ーゲンス制御システムと同様であるが、プログラマブル
・コントローラ内部に設定するさまざまなIi能が本発
明の特徴である。
第1図は本発明によるプログラマブル・コントローラの
CPUボード10の内部構成図である。
CPUボード10の内部構成図である。
この図で、CP U 101はCPUボード10全体を
制御するマイクロプロセッサであり、例えばHC680
00等が用いられる。CPU101は内部バスb1に接
続され、1ビット処理命令を実行するBPU102と並
列に設置される。CPtJゲート・アレイ103はCP
U 101が効率良く実行できるようにタイミング信
号の出力制御を行うブロックである。
制御するマイクロプロセッサであり、例えばHC680
00等が用いられる。CPU101は内部バスb1に接
続され、1ビット処理命令を実行するBPU102と並
列に設置される。CPtJゲート・アレイ103はCP
U 101が効率良く実行できるようにタイミング信
号の出力制御を行うブロックである。
B P U 102は1ビット処理命令を高速に処理す
るようにゲート・アレイから構成され、ラダー・プログ
ラム等のシーケンス制御プログラムを格納するプログラ
ム・メモリ(RAM128KB ) 103に命令バス
(図示せず)を介して直接接続する。
るようにゲート・アレイから構成され、ラダー・プログ
ラム等のシーケンス制御プログラムを格納するプログラ
ム・メモリ(RAM128KB ) 103に命令バス
(図示せず)を介して直接接続する。
尚、内部バスb1は、アドレス・バス、データ・バス、
コントロール・バスを含むものである。
コントロール・バスを含むものである。
また、CP U 101が全体制御のために実行すべき
種々の命令がROM (256にB) 105に記憶さ
れ、後述するベーシック・プログラムも記憶される。
種々の命令がROM (256にB) 105に記憶さ
れ、後述するベーシック・プログラムも記憶される。
データ・メモリ(RAM64にB) 106はCPU1
01の作業領域である。
01の作業領域である。
I10インターフェイス(I/F)107は、I10ボ
ードCI、C2に接続するI10バスbbのインターフ
ェイスである。I10ボードはこの図では2枚しか接続
されていないが、システム構成に応じてその数は増える
。
ードCI、C2に接続するI10バスbbのインターフ
ェイスである。I10ボードはこの図では2枚しか接続
されていないが、システム構成に応じてその数は増える
。
更に、リアルタイム・クロック発生部108は時計機能
を有し、通信のためのデータ・バッファとなる通信バッ
ファ(RA M 32にB) 109 、この通信メモ
リに接続され上位バスBとのインターフェイスとなる上
位インターフェイス110が内部バスb1に接続される
。また、プログラミング・ツール等との通信のためのR
3232Cボート111も設置される。
を有し、通信のためのデータ・バッファとなる通信バッ
ファ(RA M 32にB) 109 、この通信メモ
リに接続され上位バスBとのインターフェイスとなる上
位インターフェイス110が内部バスb1に接続される
。また、プログラミング・ツール等との通信のためのR
3232Cボート111も設置される。
I10バスbbには、一般的なレジスタ・インターフェ
イス型のI10ボードCI、マイクロプロセッサを有し
上位のプログラマブル・コントローラとコマンド授受に
より通信を行うコマンド・インターフェイス型のI10
ボードC2の2種類が複数枚接続される。 レジスタ・
インターフェイス型I10ボードC1は、マイクロプロ
セッサを有するものもあるが、主としてバスbbとのイ
ンターフェイスallと、外部接点とのインターフェイ
スc12より構成される。I10ボードC2は、バスb
bとのインターフェイスc21と、マイクロプロセッサ
C22(例えば8ビットCPU)と、データ・メモリC
23(例えばRAM8にB)と、外部とのインターフェ
イスC24より構成される。
イス型のI10ボードCI、マイクロプロセッサを有し
上位のプログラマブル・コントローラとコマンド授受に
より通信を行うコマンド・インターフェイス型のI10
ボードC2の2種類が複数枚接続される。 レジスタ・
インターフェイス型I10ボードC1は、マイクロプロ
セッサを有するものもあるが、主としてバスbbとのイ
ンターフェイスallと、外部接点とのインターフェイ
スc12より構成される。I10ボードC2は、バスb
bとのインターフェイスc21と、マイクロプロセッサ
C22(例えば8ビットCPU)と、データ・メモリC
23(例えばRAM8にB)と、外部とのインターフェ
イスC24より構成される。
このようなCPUボード10の特徴を次に説明する。
構成上の特徴は、BPU102が内部バスb1を介さず
に直接プログラム・メモリ104に命令バス(図示せず
)のみを介してアクセスするようにしたことであり、第
2図及び第3図を用いてその動作を説明する。
に直接プログラム・メモリ104に命令バス(図示せず
)のみを介してアクセスするようにしたことであり、第
2図及び第3図を用いてその動作を説明する。
第2図は制御すべきシーケンスを表わすラダー・プログ
ラムであり、第3図はこのラダー・プログラムに対応す
るプログラム命令列である。
ラムであり、第3図はこのラダー・プログラムに対応す
るプログラム命令列である。
シーケンス制御動作を開始すると、CP U 101は
B P U 102に起動をかけ、BPU102はプロ
グラム・メモリ104からプログラム列を順次読み出し
、ロード命令“LD″から処理を実行する。
B P U 102に起動をかけ、BPU102はプロ
グラム・メモリ104からプログラム列を順次読み出し
、ロード命令“LD″から処理を実行する。
AND命令、OR命令、OUT命令、LD命令まで進み
、次に読み出したプログラム命令がCPU101で実行
すべき応用命令(1)である場合は、B P U 10
2はCP U 101にアドレス・バス、データ・バス
の占有権を含む制御実行権を引き渡す。
、次に読み出したプログラム命令がCPU101で実行
すべき応用命令(1)である場合は、B P U 10
2はCP U 101にアドレス・バス、データ・バス
の占有権を含む制御実行権を引き渡す。
これにより、応用命令(1)はCP U 101側で実
行される。この応用命令(1)の処理が終了すると、C
P U 101は終了通知をB P U 102へ通知
し、B P U 102は次の命令を読み出す0次の応
用命令(2〉がCP U 101で実行すべき命令であ
れば、B P U 102はc p tr ioiへ再
度制御実行権を引き渡す。
行される。この応用命令(1)の処理が終了すると、C
P U 101は終了通知をB P U 102へ通知
し、B P U 102は次の命令を読み出す0次の応
用命令(2〉がCP U 101で実行すべき命令であ
れば、B P U 102はc p tr ioiへ再
度制御実行権を引き渡す。
そして、続いてB P U 102が次に読み出すプロ
グラム命令はロード命令“LD”であるため、BP U
102に自分でこの命令処理を実行する。
グラム命令はロード命令“LD”であるため、BP U
102に自分でこの命令処理を実行する。
このように、常にシーケンス基本命令を実行するB P
U 102がプログラム命令列を読み出し、読み出し
た命令がCP U 101で実行すべきシーケンス応用
命令である場合はCP U 101に制御実行権を引き
渡す、この時、プログラム命令列にはシーケンス基本命
令が圧倒的に多く、B P U 102の制御動作が高
速となる。cptrioiは命令を実行した後はBPU
102へ終了通知を返信するのみである。
U 102がプログラム命令列を読み出し、読み出し
た命令がCP U 101で実行すべきシーケンス応用
命令である場合はCP U 101に制御実行権を引き
渡す、この時、プログラム命令列にはシーケンス基本命
令が圧倒的に多く、B P U 102の制御動作が高
速となる。cptrioiは命令を実行した後はBPU
102へ終了通知を返信するのみである。
また、B P U 102が読み出したプログラム命令
がシステムに定義されていない不正な命令である場合は
、B P U 102はc p tr ioiへその不
正命令の形態に応じた疑似命令をCPU11へ供給する
ように予め設定しておく、この疑似命令は、CPU10
1が不正命令をそのまま実行してシステムに悪影響を及
ぼさないように設定するものである。
がシステムに定義されていない不正な命令である場合は
、B P U 102はc p tr ioiへその不
正命令の形態に応じた疑似命令をCPU11へ供給する
ように予め設定しておく、この疑似命令は、CPU10
1が不正命令をそのまま実行してシステムに悪影響を及
ぼさないように設定するものである。
このように、CP U 101がシーケンス制御処理を
起動すると、B P U 102がプログラム・メモリ
104からプログラム命令を読み出して実行を開始し、
以後はプログラム・メモリ104から直接プログラム命
令を読み出すため、CP U 101が逐一プログラム
命令を読み出して制御実行権を定める必要はない。
起動すると、B P U 102がプログラム・メモリ
104からプログラム命令を読み出して実行を開始し、
以後はプログラム・メモリ104から直接プログラム命
令を読み出すため、CP U 101が逐一プログラム
命令を読み出して制御実行権を定める必要はない。
一方、CP U 101は、上記のシーケンスの進行状
況を制御するとともに、極めて一般的な、上位コンピュ
ータへの通信動作、汎用的な演算処理、情報処理、制御
動作などを実行するベーシック言語で作成されたベーシ
ック・プログラムを実行するように設定されており、こ
のベーシック・プログラムの実行と上記のシーケンス制
御プログラムの実行との相関関係を次に説明する。
況を制御するとともに、極めて一般的な、上位コンピュ
ータへの通信動作、汎用的な演算処理、情報処理、制御
動作などを実行するベーシック言語で作成されたベーシ
ック・プログラムを実行するように設定されており、こ
のベーシック・プログラムの実行と上記のシーケンス制
御プログラムの実行との相関関係を次に説明する。
第4図は、シーケンス制御処理SQとベーシック処理R
ASの並行動作を表わす概念図である。
ASの並行動作を表わす概念図である。
シーケンス制御処理SQは第3図に表わすようなプログ
ラム命令の列を実行する処理であり、ベーシック処理B
ASはユーザが任意に作成するデータ読出プログラムま
たは通信プログラム等のベーシック・プログラムである
。実行権切換処理部81、タイマ82はc p u i
oiに設定される機能である。タスク・スゲジューラ8
3もまたC P U 101に設定され、ベーシック・
プログラム内のいくつかの処理についてその実行優先順
位を定める機能を有するがJ本発明の動作には直接関係
はない。
ラム命令の列を実行する処理であり、ベーシック処理B
ASはユーザが任意に作成するデータ読出プログラムま
たは通信プログラム等のベーシック・プログラムである
。実行権切換処理部81、タイマ82はc p u i
oiに設定される機能である。タスク・スゲジューラ8
3もまたC P U 101に設定され、ベーシック・
プログラム内のいくつかの処理についてその実行優先順
位を定める機能を有するがJ本発明の動作には直接関係
はない。
シーケンス制御処理のプログラム列は通常、数百または
数千列になり、その1周期の実行時間は数+msまたは
数百msであり、制御するシステム構成によって大きく
異なるのものである。
数千列になり、その1周期の実行時間は数+msまたは
数百msであり、制御するシステム構成によって大きく
異なるのものである。
ここで、例えばタイマ82に予め10m5を設定したシ
ステムを想定する。
ステムを想定する。
はじめに、シーケンス制御処理SQの第1ステツプ、ロ
ード命令″LD”を実行する。続いてアンド命令AND
、オア命令OR1出力命令OUTと進行し、この時点で
丁度10ms経過し、タイマ82からタイム・アップ信
号が実行権切換制御部81へ割込信号として与えられる
とする。CPU101はこの割込信号を入力するが、こ
の時点での制御実行権はB P U 103側にあり、
CP U 101はこのタイム・アップ割込を受け付け
ない。
ード命令″LD”を実行する。続いてアンド命令AND
、オア命令OR1出力命令OUTと進行し、この時点で
丁度10ms経過し、タイマ82からタイム・アップ信
号が実行権切換制御部81へ割込信号として与えられる
とする。CPU101はこの割込信号を入力するが、こ
の時点での制御実行権はB P U 103側にあり、
CP U 101はこのタイム・アップ割込を受け付け
ない。
シーゲンス処理が進んでB P U 102がロード命
令“LD”を実行し、次にCP U 101に制御実行
権が移って応用命令〈1)の処理が開始される時点でC
P U 101は10msタイム・アップ割込信号を受
け付け、これにより、タスク・スゲジューラ83に従っ
てベーシック・プログラムBASの処理を開始する。
令“LD”を実行し、次にCP U 101に制御実行
権が移って応用命令〈1)の処理が開始される時点でC
P U 101は10msタイム・アップ割込信号を受
け付け、これにより、タスク・スゲジューラ83に従っ
てベーシック・プログラムBASの処理を開始する。
このとき、シーケンス制御処理SQの実行は停止したま
まである。
まである。
その後タイマ82がタイムアツプし、10ms割込信号
が発生すると、CP U 101内の実行権切換処理部
81は現在のベーシック進行状況を一旦データ・メモリ
゛106に退避し、停止していたシーケンス制御処理S
Qの動作を再開する。
が発生すると、CP U 101内の実行権切換処理部
81は現在のベーシック進行状況を一旦データ・メモリ
゛106に退避し、停止していたシーケンス制御処理S
Qの動作を再開する。
尚、10ms毎のタイム・アップ信号にかかわらず、シ
ーゲンス制御処理SQ終了の場合はシーケンス制御処理
SQは終了通知を実行権切換処理部81に与え、CP
U 101はベーシック処理21を開始する。
ーゲンス制御処理SQ終了の場合はシーケンス制御処理
SQは終了通知を実行権切換処理部81に与え、CP
U 101はベーシック処理21を開始する。
このように、10m5毎にシーケンス制御処理SQ、ベ
ーシック処理BASを切り換えて動作させるため、外部
からはあたかもシーゲンス処理21とベーシック処理2
2とが同時に実行しているようにみえ、マルチ処理が可
能である。
ーシック処理BASを切り換えて動作させるため、外部
からはあたかもシーゲンス処理21とベーシック処理2
2とが同時に実行しているようにみえ、マルチ処理が可
能である。
尚、タイマ82に設定する時間は10m5に限ることな
く、システム構成に応じて任意でよい。
く、システム構成に応じて任意でよい。
一方、システム構築にあっては、上述のようなシーケン
ス制御処理及びベーシック処理の並列動作を必要としな
いものもあり、また、システム変更によりシーケンス制
御処理またはベージ・ツク処理のどちらかが不必要とな
る場合もあり、このような場合は、第5図のフローチャ
ートに従うプログラムをCPUボード10に予め組み込
んでおき、次のように対応する。
ス制御処理及びベーシック処理の並列動作を必要としな
いものもあり、また、システム変更によりシーケンス制
御処理またはベージ・ツク処理のどちらかが不必要とな
る場合もあり、このような場合は、第5図のフローチャ
ートに従うプログラムをCPUボード10に予め組み込
んでおき、次のように対応する。
パワー・オン時に自己診断動作を実行した後、上位側か
らの処理使用言語の指定の有無を調べ、使用言語がシー
ケンス言語であれば、データ・メモリ106にシーケン
ス言語処理に必要なシステム、テーブルを作成し、ベー
シック言語指定であればデータ・メモリ106にベーシ
ック言語処理に必要なシステム・テーブルを作成し、シ
ーケンス言語及びベーシック言語両方指定であればデー
タ・メモリ106にシーケンス言語処理及びベーシック
言語処理の両方に必要なシステム・テーブルを作成する
。
らの処理使用言語の指定の有無を調べ、使用言語がシー
ケンス言語であれば、データ・メモリ106にシーケン
ス言語処理に必要なシステム、テーブルを作成し、ベー
シック言語指定であればデータ・メモリ106にベーシ
ック言語処理に必要なシステム・テーブルを作成し、シ
ーケンス言語及びベーシック言語両方指定であればデー
タ・メモリ106にシーケンス言語処理及びベーシック
言語処理の両方に必要なシステム・テーブルを作成する
。
このように、指定された言語に対応してシステム・テー
ブルを作成するようにプログラム設定したため、上位コ
ンピュータ、例えばデスクトップ・コンピュータからシ
ステム変更が容易となる。
ブルを作成するようにプログラム設定したため、上位コ
ンピュータ、例えばデスクトップ・コンピュータからシ
ステム変更が容易となる。
次に、CPUボード10に設定され、各種のI10ボー
ドの型式に対応できる標準I10ドライバについて、第
6図を用いて説明する。
ドの型式に対応できる標準I10ドライバについて、第
6図を用いて説明する。
CPUボード10に設定されるベーシック・プログラム
等のユーザ・プログラムUPからのI10ボードに対す
るアクセス要求a1、またはI10ボードCからCPU
ボード10側への割込要求a2は、CPUボード10内
のオペレーション・システムO8に受け付けられる。
等のユーザ・プログラムUPからのI10ボードに対す
るアクセス要求a1、またはI10ボードCからCPU
ボード10側への割込要求a2は、CPUボード10内
のオペレーション・システムO8に受け付けられる。
そして、CPUボードlOからのアクセス要求a1はI
10要求受付処理ステップ■を起動し、I10ボードか
らのCPUボード10への割込要求a2は割込要求受付
処理ステップ■を起動する。
10要求受付処理ステップ■を起動し、I10ボードか
らのCPUボード10への割込要求a2は割込要求受付
処理ステップ■を起動する。
本発明にかかる標準I10ドライバSDは、システム立
ち上げの際に各スロットに装着される各I10ボードに
ついて処理定義テーブルTBLI。
ち上げの際に各スロットに装着される各I10ボードに
ついて処理定義テーブルTBLI。
TBL2. ・−、TBLnを生成し、I10要求受付
処理■または割込要求受付処理■の場合は、この処理定
義テーブルTBLを参照してアクセス準備を開始する。
処理■または割込要求受付処理■の場合は、この処理定
義テーブルTBLを参照してアクセス準備を開始する。
処理を開始すると、アクセス対象のI10ボードがレジ
スタ・インターフェイス型またはコマンド・インターフ
ェイス型かを判断してそのメイン処理を実行する4この
レジスタ・インターフェイス型のメイン処理、コマンド
・インターフェイス型のメイン処理の内容は従来の処理
手順と変わるところはない、ここで、レジスタ・インタ
ーフェイス型I10ボードは第1個に示す通常のI10
ボードC1のタイプであり、コマンド・インターフェイ
ス型I10ボードは第1図に示すようにマイクロプロセ
ッサを有してコマンド授受を行うタイプのI10ボード
である。
スタ・インターフェイス型またはコマンド・インターフ
ェイス型かを判断してそのメイン処理を実行する4この
レジスタ・インターフェイス型のメイン処理、コマンド
・インターフェイス型のメイン処理の内容は従来の処理
手順と変わるところはない、ここで、レジスタ・インタ
ーフェイス型I10ボードは第1個に示す通常のI10
ボードC1のタイプであり、コマンド・インターフェイ
ス型I10ボードは第1図に示すようにマイクロプロセ
ッサを有してコマンド授受を行うタイプのI10ボード
である。
また、I10要求受付処理■、割込要求受付処理■に共
通な処理は共通処理ルーチンを予め設定し、共通処理実
行時はI10ボードのインターフェイスのタイプにかか
わらずこの共通処理ルーチンを実行する。更に、標準的
な処理とは異なった処理が必要となるI10ボードにつ
いては特殊処理ルーチンを用意、設定し、立ち上げ時に
I10ボード測からアップロードして標準ドライバとリ
ンクして使用する。このような特殊処理ルーチン等のア
ドレスは、立ち上げ時に処理定義テーブルTBL内に設
定する。
通な処理は共通処理ルーチンを予め設定し、共通処理実
行時はI10ボードのインターフェイスのタイプにかか
わらずこの共通処理ルーチンを実行する。更に、標準的
な処理とは異なった処理が必要となるI10ボードにつ
いては特殊処理ルーチンを用意、設定し、立ち上げ時に
I10ボード測からアップロードして標準ドライバとリ
ンクして使用する。このような特殊処理ルーチン等のア
ドレスは、立ち上げ時に処理定義テーブルTBL内に設
定する。
次に、この処理定義テーブルTBLの生成方式を第7図
を用いて説明する。
を用いて説明する。
処理定義テーブルTBLの生成は、各I10ボードにつ
いて、CPUボード10の第1回目のI10要求受付処
理の時に実行され、当該I10ボードのボードID、各
種情報を読み込むことにより行われる。
いて、CPUボード10の第1回目のI10要求受付処
理の時に実行され、当該I10ボードのボードID、各
種情報を読み込むことにより行われる。
はじめに、当該I10ボードの各種情報よりチャネル数
〈ボート数)及びアウトプットの必要の有無をパラメー
タとして設定する。
〈ボート数)及びアウトプットの必要の有無をパラメー
タとして設定する。
そして、当該I10ボードの種類がコマンド・インター
フェイス型であれば各コマンド・レジスタのアドレスを
テーブル設定し、続いて各バッファのアドレスをテーブ
ル設定する。特殊処理が必要なものであれば特殊処理ル
ーチン・アドレスをテーブルに設定する。
フェイス型であれば各コマンド・レジスタのアドレスを
テーブル設定し、続いて各バッファのアドレスをテーブ
ル設定する。特殊処理が必要なものであれば特殊処理ル
ーチン・アドレスをテーブルに設定する。
また、当該I10ボードの種類がレジスタ・インターフ
ェイス型であれば各レジスタ・アドレスをテーブル設定
する。
ェイス型であれば各レジスタ・アドレスをテーブル設定
する。
最後にテーブル作成済みフラグをオンとし、各種の要求
処理を実行する。
処理を実行する。
以上の動作をシステムに設置されている各I10ボード
について行うことにより、処理定義テーブルTBLを標
準I10ドライバSD内に設定することができる。
について行うことにより、処理定義テーブルTBLを標
準I10ドライバSD内に設定することができる。
次に、このような処理定義テーブルTBLを有する椋準
I10ドライバSDのアクセス処理の例を第8図のフロ
ーチャートに示し、説明する。
I10ドライバSDのアクセス処理の例を第8図のフロ
ーチャートに示し、説明する。
アクセス処理即ちデータ転送準備処理が開始すると、C
PUボード10の標準I10ドライバSDは、当該I1
0ボードの処理定義テーブルTBLを参照し、パラメー
タ即ち当該I10ボードのチャネル数(ボート数〉、ア
ウトプットの有無をチエツクし、インターフェイスの種
類を識別する。
PUボード10の標準I10ドライバSDは、当該I1
0ボードの処理定義テーブルTBLを参照し、パラメー
タ即ち当該I10ボードのチャネル数(ボート数〉、ア
ウトプットの有無をチエツクし、インターフェイスの種
類を識別する。
コマンド・インターフェイス型であれば更に処理定義テ
ーブルTBLを参照し、出力バッファ・アドレスをge
tしてデータ変換を行い、この出力バッファに出力すべ
きデータをセットする。そして再び、処理定義テーブル
TBLを参照し、コマンド・レジスタ・アドレスをge
tj、、出力コマンドをセットする。この状態でI10
ボード側からの割込を待ち、割込を受けるとリターン・
スティタスを出力する。
ーブルTBLを参照し、出力バッファ・アドレスをge
tしてデータ変換を行い、この出力バッファに出力すべ
きデータをセットする。そして再び、処理定義テーブル
TBLを参照し、コマンド・レジスタ・アドレスをge
tj、、出力コマンドをセットする。この状態でI10
ボード側からの割込を待ち、割込を受けるとリターン・
スティタスを出力する。
当該I10ボードがレジスタ・インターフェイス型であ
れば、処理定義テーブルTBLを参照して出力データ・
レジスタ・アドレスをgetL、データI10インター
フェイスであるか否かをチエツクする。データI10イ
ンターフェイスである場合は1ビット・データを1ワー
ド・データに変換してマスク・データをセットし、出力
データ・レジスタにデータを書き込む、データI10イ
ンターフェイスでない場合は、出力データ・レジスタに
データを書き込む。この出力データ・レジスタにデータ
を書き込む処理は共通処理である。
れば、処理定義テーブルTBLを参照して出力データ・
レジスタ・アドレスをgetL、データI10インター
フェイスであるか否かをチエツクする。データI10イ
ンターフェイスである場合は1ビット・データを1ワー
ド・データに変換してマスク・データをセットし、出力
データ・レジスタにデータを書き込む、データI10イ
ンターフェイスでない場合は、出力データ・レジスタに
データを書き込む。この出力データ・レジスタにデータ
を書き込む処理は共通処理である。
このような標準I10ドライバSDを備えるため、多種
類のI10ボードがシステムに装着される場合であって
も、I10ボード毎に処理定義テーブルを生成してこの
処理定義テーブルに従ってI10ボードにアクセスする
ため、各I10ボード毎にドライバを備える必要はなく
、1個の損率I10ドライバのみでパフォーマンスを落
とすことなく全てのI10ボードとのアクセス処理に対
応することができる。また、1個の損率I10ドライバ
で多種類のI10ボードが使用できるため以後のI10
ドライバ開発の工数が零となり、I10ドライバを格納
するメモリ容量も少なくてすむ、更にI10ボードのイ
ンターフェイスをレジスタ型またはコマンド型と規格化
したことにより、ユーザが任意にI10ボードを設計し
てシステムに組み入れることもできる。
類のI10ボードがシステムに装着される場合であって
も、I10ボード毎に処理定義テーブルを生成してこの
処理定義テーブルに従ってI10ボードにアクセスする
ため、各I10ボード毎にドライバを備える必要はなく
、1個の損率I10ドライバのみでパフォーマンスを落
とすことなく全てのI10ボードとのアクセス処理に対
応することができる。また、1個の損率I10ドライバ
で多種類のI10ボードが使用できるため以後のI10
ドライバ開発の工数が零となり、I10ドライバを格納
するメモリ容量も少なくてすむ、更にI10ボードのイ
ンターフェイスをレジスタ型またはコマンド型と規格化
したことにより、ユーザが任意にI10ボードを設計し
てシステムに組み入れることもできる。
次に、このようなCPUボード10と、I10バスbb
を介して接続されるI10ボードとのハードウェア的な
データ転送方式を第9図、第10図を用いて説明する。
を介して接続されるI10ボードとのハードウェア的な
データ転送方式を第9図、第10図を用いて説明する。
尚、第1図に示す構成図において、CPUボードlOの
I10バスbbに対するI10インターフェイス107
と、各110ボードCI、C2のインターフェイスC1
1,12とに、データ転送要求が発生した際にI10バ
スbb内の制御線上にストローブ信号5TB−を発生す
るストローブ信号発生手段を設ける。具体的には、ゲー
ト・アレイで構成したI10インターフェイス107
、I/FC11゜12に、データ転送要求に関連してス
トローブ信号5TB−を転送フレーム毎にI10バスb
bに送出するような論理構成を付加する。
I10バスbbに対するI10インターフェイス107
と、各110ボードCI、C2のインターフェイスC1
1,12とに、データ転送要求が発生した際にI10バ
スbb内の制御線上にストローブ信号5TB−を発生す
るストローブ信号発生手段を設ける。具体的には、ゲー
ト・アレイで構成したI10インターフェイス107
、I/FC11゜12に、データ転送要求に関連してス
トローブ信号5TB−を転送フレーム毎にI10バスb
bに送出するような論理構成を付加する。
第9図は、CPUボード10のデータ転送要求に応答し
てI10ボードがCPUボード10ヘデータを転送する
場合のタイムチャートである。
てI10ボードがCPUボード10ヘデータを転送する
場合のタイムチャートである。
CPUボード10からデータ転送要求が発生すると、C
PUボードloはI10バスbbにコントロール・フレ
ームFOとストローブ信号STB*“L”を送出する。
PUボードloはI10バスbbにコントロール・フレ
ームFOとストローブ信号STB*“L”を送出する。
コントロール・フレームFOはリード/ライトの区別、
データ・サイズ(2または4バイト〉、データの種類(
データまたはコントロール信号〉等を指定する転送モー
ド・ビット、バイト単位のアクセスを可能とするバイト
・イネーブル・ビット等が設定される。このコントロー
ル・フレームFOはストローブ信号5TB)L″の立ち
上がりエツジSOで有効とされる。
データ・サイズ(2または4バイト〉、データの種類(
データまたはコントロール信号〉等を指定する転送モー
ド・ビット、バイト単位のアクセスを可能とするバイト
・イネーブル・ビット等が設定される。このコントロー
ル・フレームFOはストローブ信号5TB)L″の立ち
上がりエツジSOで有効とされる。
続いてCPUボード10は、アドレス・フレームFl、
F2を送出する。これらのアドレス・フレームFl、F
2は2バイトのフレームで構成され、256KBのアド
レス空間を保障する。これらのアドレス・フレームFl
、F2は、ストローブ信号5TB−“L”の立ち上がり
エツジS1. S2で有効となる。
F2を送出する。これらのアドレス・フレームFl、F
2は2バイトのフレームで構成され、256KBのアド
レス空間を保障する。これらのアドレス・フレームFl
、F2は、ストローブ信号5TB−“L”の立ち上がり
エツジS1. S2で有効となる。
ここまでの期間T1は、CPUボード101N!!の動
作である。
作である。
以上のフレームFO,Fl、F2を受け取ったI10ボ
ードは期間T2において自分が選択されたか否かの判断
処理、自分が選択された場合はデータ送信準備処理等を
実行する。 選択されたI10ボードは期間T3でI1
0バスbb上に送信すべきデータ・フレームF3.F4
を送出する。
ードは期間T2において自分が選択されたか否かの判断
処理、自分が選択された場合はデータ送信準備処理等を
実行する。 選択されたI10ボードは期間T3でI1
0バスbb上に送信すべきデータ・フレームF3.F4
を送出する。
この場合、データは2バイトであり、同時に、このI1
0ボードは只トロープ信号5TB−“L”を送出する。
0ボードは只トロープ信号5TB−“L”を送出する。
ストローブ信号sra*の立ち上がりエツジS3. S
4でデータ・フレームF3.F4は有効とされる。
4でデータ・フレームF3.F4は有効とされる。
最後に、このI10ボードは返信信号としてステイタス
・フレームF5をストローブ信号STB*″L”ととも
に送出する。この1バイトのステイタス・フレームF5
は、当該I10ボードの内部状態信号、例えばデータ正
常転送、エラー・スティタス、ボード故障状態等の各種
状態を設定する信号である。
・フレームF5をストローブ信号STB*″L”ととも
に送出する。この1バイトのステイタス・フレームF5
は、当該I10ボードの内部状態信号、例えばデータ正
常転送、エラー・スティタス、ボード故障状態等の各種
状態を設定する信号である。
尚、フレーム信号FRH−は、データ転送サイクル中に
、その立ち下がりエツジで最初のフレームを示し、立ち
上がりエツジで最後のフレームを表わす信号であり、フ
レーミング・エラー検出のために利用される。また、デ
ータ方向指定信号DDIR*はデータ転送サイクル中に
“H“の時はCPUボードからI10側へのフレーム転
送を示し、“L”の際はIloからCPUボード側への
フレーム転送を示し、CPUボードとI10ボードとの
データ衝突防止のため等に利用される0両信号FR1h
DDIR*はI10バスbbの制御線上に送出される。
、その立ち下がりエツジで最初のフレームを示し、立ち
上がりエツジで最後のフレームを表わす信号であり、フ
レーミング・エラー検出のために利用される。また、デ
ータ方向指定信号DDIR*はデータ転送サイクル中に
“H“の時はCPUボードからI10側へのフレーム転
送を示し、“L”の際はIloからCPUボード側への
フレーム転送を示し、CPUボードとI10ボードとの
データ衝突防止のため等に利用される0両信号FR1h
DDIR*はI10バスbbの制御線上に送出される。
第10図は、CPUボード10からI10ボード側へデ
ータ転送を行う場合のタイムチャートである。
ータ転送を行う場合のタイムチャートである。
この場合は、期間T4にてCPUボード10からコント
ロール・フレームFO,アドレス・フレームF1.F2
、データ・フレームF3.F4がストローブ信号STB
*“L”とともに出力され、期間T5にてI10ボード
が必要処理を行った後、期間T6にてステイタス・フレ
ームF5とストローブ信号5TB−” L”とを返信す
る。
ロール・フレームFO,アドレス・フレームF1.F2
、データ・フレームF3.F4がストローブ信号STB
*“L”とともに出力され、期間T5にてI10ボード
が必要処理を行った後、期間T6にてステイタス・フレ
ームF5とストローブ信号5TB−” L”とを返信す
る。
このように、第9図及び第10図を用いて説明したデー
タ転送方式によれば、各フレーム転出毎にCPUボード
またはI10ボードはストローブ信号STB本“L”を
送出して当該フレームを有効とするため、フレーム転送
に間しては同期式転送となり、データ転送サイクル全体
がらみれば、第9図の場合は期間TIの処理と期間T3
の処理とが非同期式転送となり、第10図の場合は期間
T4の処理と期間T6の処理とが非同期式転送となり、
同期式転送と非同期式転送との融合方式を実現できる。
タ転送方式によれば、各フレーム転出毎にCPUボード
またはI10ボードはストローブ信号STB本“L”を
送出して当該フレームを有効とするため、フレーム転送
に間しては同期式転送となり、データ転送サイクル全体
がらみれば、第9図の場合は期間TIの処理と期間T3
の処理とが非同期式転送となり、第10図の場合は期間
T4の処理と期間T6の処理とが非同期式転送となり、
同期式転送と非同期式転送との融合方式を実現できる。
第11図はこのプログラマブル・コントローラの故障履
歴を記録する機能であり、プログラマブル・コントロー
ラ内部に、電源が切れたことを検出するt源断検出回路
21、内部の温度異常を検出する嵩温異常検出回F!@
22、内部で実行しているソフトウェアの暴走等を検出
するソフトウェア異常検出回路23等の異常検出回路を
設ける。
歴を記録する機能であり、プログラマブル・コントロー
ラ内部に、電源が切れたことを検出するt源断検出回路
21、内部の温度異常を検出する嵩温異常検出回F!@
22、内部で実行しているソフトウェアの暴走等を検出
するソフトウェア異常検出回路23等の異常検出回路を
設ける。
そして、いずれかの異常検出回路から異常検出信号が発
生すると、この検出信号を割込発生回路24に入力して
CP U 1(11へ割り込みをかける。
生すると、この検出信号を割込発生回路24に入力して
CP U 1(11へ割り込みをかける。
当該割込信号を受けたC P U 101は、通常処理
25から異常発生割込処理26を開始する。
25から異常発生割込処理26を開始する。
一方、CP U 101は時計機能TTを有しており、
異常発生割込処理26を起動すると、異常発生の種類と
この異常が発生した時刻とを対応させ、時系列的に異常
発生を並べ、補助記憶装置27にファイル形式で記憶し
ておく、補助記憶装置27としてはデータメモリ106
が使用される。
異常発生割込処理26を起動すると、異常発生の種類と
この異常が発生した時刻とを対応させ、時系列的に異常
発生を並べ、補助記憶装置27にファイル形式で記憶し
ておく、補助記憶装置27としてはデータメモリ106
が使用される。
後で、上位コンピュータ側から指定があれば、CP U
101は履歴続出処理28を開始して、補助記憶装置
1If27の内容を読み出して上位側へ送信することに
より、上位側のCRT表示装置、プリンタ等で第12図
のようなテーブル形式で異常発生状況を外部へ出力する
ことができ、異常発生の内容と発生時刻、エラー解析と
その対策を容易に行うことができる。
101は履歴続出処理28を開始して、補助記憶装置
1If27の内容を読み出して上位側へ送信することに
より、上位側のCRT表示装置、プリンタ等で第12図
のようなテーブル形式で異常発生状況を外部へ出力する
ことができ、異常発生の内容と発生時刻、エラー解析と
その対策を容易に行うことができる。
続いて、本発明のプログラマブル・コントローラにおい
てラダー・プログラム実行時のエラー発生のラダー回路
、または所望のラダー回路の特定について述べる。
てラダー・プログラム実行時のエラー発生のラダー回路
、または所望のラダー回路の特定について述べる。
プログラマブル・コントローラは、例えばR3232C
,R3422等によりプログラム作成ツールに接続され
、一般的には第13図に示すように、ラダー回路に各種
コメントが付加された形式でラダー・プログラムが設定
される。即ち、ラダー・プログラムには、第1段目にプ
ログラム名“TBST”が設定され、タイトル“試運転
回路”、ラダー回路のステップ番号、複数のラダー回路
に対する回路コメント“緊急停止回路”、ラダー回路1
行毎に対応するサブコメント“運転条件、運転状態、・
・・”等が設定される。
,R3422等によりプログラム作成ツールに接続され
、一般的には第13図に示すように、ラダー回路に各種
コメントが付加された形式でラダー・プログラムが設定
される。即ち、ラダー・プログラムには、第1段目にプ
ログラム名“TBST”が設定され、タイトル“試運転
回路”、ラダー回路のステップ番号、複数のラダー回路
に対する回路コメント“緊急停止回路”、ラダー回路1
行毎に対応するサブコメント“運転条件、運転状態、・
・・”等が設定される。
そして、プログラマブル・コントローラはこのようなラ
ダー・プログラムを内部に格納して制御動作を実行して
いるが、シーケンス制御処理中に異常が発生した場合は
、プログラミング作成ツール等により全てのプログラム
・ステップを読み出してCRT表示画面上に表示し、故
障箇所を特定する。一方、ラダー回路は何千ステップも
あり、数十行程度しか表示できないCRT表示画面によ
り特定のラダー回路を捜し出すのは困難であるため、通
常はラダー回路を全てプリント・アウトし、このプログ
ラム・リストを現場に持ち込んで実際の回路とプログラ
ム上の回路とを対応させている。
ダー・プログラムを内部に格納して制御動作を実行して
いるが、シーケンス制御処理中に異常が発生した場合は
、プログラミング作成ツール等により全てのプログラム
・ステップを読み出してCRT表示画面上に表示し、故
障箇所を特定する。一方、ラダー回路は何千ステップも
あり、数十行程度しか表示できないCRT表示画面によ
り特定のラダー回路を捜し出すのは困難であるため、通
常はラダー回路を全てプリント・アウトし、このプログ
ラム・リストを現場に持ち込んで実際の回路とプログラ
ム上の回路とを対応させている。
しかしながら、このようなラダー回路特定方式はきわめ
て作業性が悪い。
て作業性が悪い。
本発明のプログラマブル・コントローラにあっては、次
に述べるような方式により、ラダー回路を特定する。
に述べるような方式により、ラダー回路を特定する。
第14図は、プログラマブル・コントローラのCPUボ
ード10にプログラミング・ツールを接続した構成図で
ある。CPtJボード10は説明の簡単のためにCPU
101 、R3232Cボート111 、 RAM10
6 、内部バスb1のみを表わす、また、プログラミン
グ・ツールは、CPUボード10のR3232Cボート
111に接続され、表示部PTCRT 、キーボード操
作部PTKB、主メモリPTHI 。
ード10にプログラミング・ツールを接続した構成図で
ある。CPtJボード10は説明の簡単のためにCPU
101 、R3232Cボート111 、 RAM10
6 、内部バスb1のみを表わす、また、プログラミン
グ・ツールは、CPUボード10のR3232Cボート
111に接続され、表示部PTCRT 、キーボード操
作部PTKB、主メモリPTHI 。
補助メモリPTM2を有する。
上記したように、プログラミング・ツール上ではシーケ
ンス制御に対応してラダー回路を編集し、シーケンス・
プログラム・イメージ・ファイルIMFに一旦保存し、
作成されたラダー・プログラムはR3232Cボート1
11を介してRA M 106へ送信される。この時、
ラダー・プログラムとともに、ラダー回路と各種コメン
トとを対応させた回路/コメント対応テーブルOCTも
同時に送信する。
ンス制御に対応してラダー回路を編集し、シーケンス・
プログラム・イメージ・ファイルIMFに一旦保存し、
作成されたラダー・プログラムはR3232Cボート1
11を介してRA M 106へ送信される。この時、
ラダー・プログラムとともに、ラダー回路と各種コメン
トとを対応させた回路/コメント対応テーブルOCTも
同時に送信する。
この回路/コメント対応テーブルCCTは回路上のコメ
ントの位置(ステップ番号)と後述するコメント・ファ
イルCF上のコメント位置とを対応させるものである。
ントの位置(ステップ番号)と後述するコメント・ファ
イルCF上のコメント位置とを対応させるものである。
また、この回路/コメント対応テーブルCCTにより、
プログラム変更があった場合でもラダー回路とそのコメ
ントとの位置付けを記憶できる。
プログラム変更があった場合でもラダー回路とそのコメ
ントとの位置付けを記憶できる。
これによ°すc P U 101は、送信されたシーケ
ンス・プログラムSQPと回路/コメント対応テーブル
OCTを設定する。
ンス・プログラムSQPと回路/コメント対応テーブル
OCTを設定する。
更に、プログラミング・ツール側では補助記憶PTH2
に、ラダー回路のステップ番号とこのにラダー回路に付
加されるコメントの内容とを対応させて格納したコメン
ト・ファイルCFを設定する。
に、ラダー回路のステップ番号とこのにラダー回路に付
加されるコメントの内容とを対応させて格納したコメン
ト・ファイルCFを設定する。
第15図はコメント・ファイルCFの内容を示し、第1
6図は回路/コメント対応テーブルOCTの内容を示す
、このコメント・ファイルCFはプログラミング・ツー
ル側でなく、CPUボード10測のRA M 106に
設定するようにしても良い、また、ステップ番号とサブ
コメントとを対応させたコメント・ファイルを追加設定
するようにしてもよい。
6図は回路/コメント対応テーブルOCTの内容を示す
、このコメント・ファイルCFはプログラミング・ツー
ル側でなく、CPUボード10測のRA M 106に
設定するようにしても良い、また、ステップ番号とサブ
コメントとを対応させたコメント・ファイルを追加設定
するようにしてもよい。
さて、プログラミング・ツール上でラダー回路の特定箇
所を探し出す場合の動作を第17図を用いて説明する。
所を探し出す場合の動作を第17図を用いて説明する。
プログラミング・ツールはコメント・ファイルCF、回
路/コメント対応テーブルCCTの内容を読み出し、C
RT表示装置に次の表示画面31,32,33.34を
表示するように予め設定しておく。
路/コメント対応テーブルCCTの内容を読み出し、C
RT表示装置に次の表示画面31,32,33.34を
表示するように予め設定しておく。
プログラミング・ツールのCRT表示装置の初期画面は
回路モニタ・メニュー画面S1であり、これより回路コ
メント表示画面S2を選択すると、CRT上に回路コメ
ント・リストを一覧表形式で表示する。この回路コメン
ト表示画面S2より更にサブコメント表示画面S3を選
択すると、当該回路コメントに含まれる全てのサブコメ
ントを表示する。そして、サブコメントに対応して回路
表示画面S4を選択すると、このサブコメントに対応す
るラダー回路を表示する。
回路モニタ・メニュー画面S1であり、これより回路コ
メント表示画面S2を選択すると、CRT上に回路コメ
ント・リストを一覧表形式で表示する。この回路コメン
ト表示画面S2より更にサブコメント表示画面S3を選
択すると、当該回路コメントに含まれる全てのサブコメ
ントを表示する。そして、サブコメントに対応して回路
表示画面S4を選択すると、このサブコメントに対応す
るラダー回路を表示する。
即ち、第13図のようなラダー・プログラムからあるラ
ダー回路を特定するには、回路コメントのリストを表示
して所望の回路コメントを選択し、更にこの回路コメン
トに含まれるサブコメントに対応するラダー回路を指定
して特定のラダー回路をCRT表示画面に表示すること
ができる。
ダー回路を特定するには、回路コメントのリストを表示
して所望の回路コメントを選択し、更にこの回路コメン
トに含まれるサブコメントに対応するラダー回路を指定
して特定のラダー回路をCRT表示画面に表示すること
ができる。
尚、回路モニタ・メニュー画面S1または回路コメント
・リストS2から直接回路表示画面S4を選択するよう
にしても良い、また、各表示画面はページ更新スクロー
ル、ページ更新モニタリングを行うことができる。
・リストS2から直接回路表示画面S4を選択するよう
にしても良い、また、各表示画面はページ更新スクロー
ル、ページ更新モニタリングを行うことができる。
このように、本発明のプログラマブル・コントローラで
は、コメント・ファイルと回路/コメント対応テーブル
を設定してこれを読み出し、ラダー回路に付加した各種
のコメントとラダー回路とを対応させて階層的にCRT
に表示するので、所望のラダー回路を直ちに検出するこ
とができる。
は、コメント・ファイルと回路/コメント対応テーブル
を設定してこれを読み出し、ラダー回路に付加した各種
のコメントとラダー回路とを対応させて階層的にCRT
に表示するので、所望のラダー回路を直ちに検出するこ
とができる。
上記は回路調整時またはエラー発生時のラダー回路の探
索容易を実現したものであるが、次に、ラダー・プログ
ラムの作成、デバッグ時の動作の改善について述べる。
索容易を実現したものであるが、次に、ラダー・プログ
ラムの作成、デバッグ時の動作の改善について述べる。
一般的に、ラダー・プログラムを採用するシーケンス制
御処理は、自己診断等の共通処理、I10ボード側の入
力レジスタ及び出力レジスタの入出力リフレッシュ処理
、設定されたラダー・プログラムの実行、上位機器等に
対するサービス処理等からなる処理ルーチンで実行され
る。
御処理は、自己診断等の共通処理、I10ボード側の入
力レジスタ及び出力レジスタの入出力リフレッシュ処理
、設定されたラダー・プログラムの実行、上位機器等に
対するサービス処理等からなる処理ルーチンで実行され
る。
本発明のプログラマブル・コントローラでは、シーケン
ス制御プログラム作成時はI10ボード装着なしでもプ
ログラミングかつデバッグを行えるように、第18図に
示すように、共通処理の次の入出力リフレッシュ処理を
省くようにした。これにより、I10ボードなしでプロ
グラミング・ツール等のデバッガからの指示により、デ
バッグ動作を行うことができる。
ス制御プログラム作成時はI10ボード装着なしでもプ
ログラミングかつデバッグを行えるように、第18図に
示すように、共通処理の次の入出力リフレッシュ処理を
省くようにした。これにより、I10ボードなしでプロ
グラミング・ツール等のデバッガからの指示により、デ
バッグ動作を行うことができる。
第19図は、本発明のプログラマブル・コントローラに
おけるラダー・プログラムのプログラミング機能の概念
図である。この国内の各々のブロックは本発明のプログ
ラマブル・コントローラのソフトウェア的な機能ブロッ
クである。
おけるラダー・プログラムのプログラミング機能の概念
図である。この国内の各々のブロックは本発明のプログ
ラマブル・コントローラのソフトウェア的な機能ブロッ
クである。
この図における各機能ブロックの動作は次の通りである
。
。
回路編集機能201はラダー回路の各回路要素を編集す
る機能であり、この機能を用いてプログラマはラダー回
路設計時に各回路要素のアドレスをデバイス名等に類似
した信号名で記述する。信号定義機能202は各回路要
素の信号名とアドレスとの対応を予め設定しておくテー
ブル形式の設定部である。コンパイル機能203は、回
路編集機能201で生成したラダー回路内の信号名とこ
れに対応する信号定義機能202からのアドレスとを参
照し、更にアドレス自動生rti、l!i能204から
の信号を参照して、実行形式のプログラムをシーケンス
処理部205へ送信するものである。アドレス自動生成
機能204は、信号定義機能202からの信号名に自動
的に詳細アドレスを割り付けるa能ブロックである。
る機能であり、この機能を用いてプログラマはラダー回
路設計時に各回路要素のアドレスをデバイス名等に類似
した信号名で記述する。信号定義機能202は各回路要
素の信号名とアドレスとの対応を予め設定しておくテー
ブル形式の設定部である。コンパイル機能203は、回
路編集機能201で生成したラダー回路内の信号名とこ
れに対応する信号定義機能202からのアドレスとを参
照し、更にアドレス自動生rti、l!i能204から
の信号を参照して、実行形式のプログラムをシーケンス
処理部205へ送信するものである。アドレス自動生成
機能204は、信号定義機能202からの信号名に自動
的に詳細アドレスを割り付けるa能ブロックである。
具体的にこれらの機能を利用してラダー・プログラムを
作成する手順を次に説明する。
作成する手順を次に説明する。
プログラミング・ツール及び回路編集機能201により
、第20図のようなラダー回路を生成する。
、第20図のようなラダー回路を生成する。
この時、リレー、出力部等の各回路要素はSWl、C0
ILIのように信号名で回路要素を設定しておく、但し
、信号名SWI、SW2.C0ILI。
ILIのように信号名で回路要素を設定しておく、但し
、信号名SWI、SW2.C0ILI。
C0IL2.IRLI、TIMI、CNTl、REGI
については、第21図のように信号定義機能202内に
アドレスX、X、Y、Y、1.T、C。
については、第21図のように信号定義機能202内に
アドレスX、X、Y、Y、1.T、C。
Dと予め対応させておく、ここで、Xは入力、Yは出力
、■は内部リレー、Tはタイマ、Cはカウンタ、Dはデ
ータ・レジスタを表わすアドレスである。
、■は内部リレー、Tはタイマ、Cはカウンタ、Dはデ
ータ・レジスタを表わすアドレスである。
そして、コンパイル機能203にて各ラダー回路要素に
詳細アドレスが設定されていないものについては、アド
レス自動生成機能204について詳細アドレスを自動的
に割り付けるようにする。即ち、回路素子SWIにアド
レスXのみが設定されていて詳細アドレスX×××が設
定されていなければ、詳細アドレスX001を割り当て
る。この時、ラダー回路要素の信号名に付加される番号
の若い順から詳細アドレスを順番に設定していく、この
結果を第22図に示す。即ち、信号名SW1にはアドレ
スX001、信号名SW2名にはアドレスX002とい
うように設定される。
詳細アドレスが設定されていないものについては、アド
レス自動生成機能204について詳細アドレスを自動的
に割り付けるようにする。即ち、回路素子SWIにアド
レスXのみが設定されていて詳細アドレスX×××が設
定されていなければ、詳細アドレスX001を割り当て
る。この時、ラダー回路要素の信号名に付加される番号
の若い順から詳細アドレスを順番に設定していく、この
結果を第22図に示す。即ち、信号名SW1にはアドレ
スX001、信号名SW2名にはアドレスX002とい
うように設定される。
次に、このようにしてコンパイル機能で得られた実行形
式のプログラムは、シーゲンス制御処理部で処理をする
が、デバッグ段階でI10ボードが装着されていない状
態であっても第18図の処理ルーチン図に示すように、
入出力リフレッシュ処理をバイパスするため、CPUボ
ード10のみでI10ボードの装着なしにデバッグ動作
を実行できる。そして、デバッグ結果により必要に応じ
て詳細アドレスを付は代える。
式のプログラムは、シーゲンス制御処理部で処理をする
が、デバッグ段階でI10ボードが装着されていない状
態であっても第18図の処理ルーチン図に示すように、
入出力リフレッシュ処理をバイパスするため、CPUボ
ード10のみでI10ボードの装着なしにデバッグ動作
を実行できる。そして、デバッグ結果により必要に応じ
て詳細アドレスを付は代える。
従って、各ラダー回路要素のアドレスを意識することな
く、信号名と詳細アドレスを自動的に対応付けできるた
めにシーケンス制御プログラムの設計が容易となり、ま
た、I10ボード装着なしでデバッグ動作を実行でき、
シーゲンス処理に対応するリレー盤の設計終了前にラダ
ー・10グラムの動作確認を行うことができる。
く、信号名と詳細アドレスを自動的に対応付けできるた
めにシーケンス制御プログラムの設計が容易となり、ま
た、I10ボード装着なしでデバッグ動作を実行でき、
シーゲンス処理に対応するリレー盤の設計終了前にラダ
ー・10グラムの動作確認を行うことができる。
また、本発明のプログラマブル・コントローラは、何千
ステップにもなるラダー・プログラムについて、次のよ
うにして、工程毎にブロック分割してプログラミングす
るようにした。第23図(a)、(b)、(c)にその
プログラミング方式を表わす。
ステップにもなるラダー・プログラムについて、次のよ
うにして、工程毎にブロック分割してプログラミングす
るようにした。第23図(a)、(b)、(c)にその
プログラミング方式を表わす。
第23図(a)は工程1、(b)は工程2、(C)は工
程5のラダー・プログラムの一部とする。
程5のラダー・プログラムの一部とする。
工程1の最終ステップには、本発明にて新たに定義した
起動命令″ACT PROGl、2”及び終了命令“I
NACT PROGl、1″を設定する。これにより、
工程1の制御動作が最終ステップに達すると、この工程
1のブロック・ラダー・プログラムPROG1.1を停
止して工程2のブロック・ラダー・プロダラムPROG
1.2を起動する。これにより工程2の制御動作が開始
する。
起動命令″ACT PROGl、2”及び終了命令“I
NACT PROGl、1″を設定する。これにより、
工程1の制御動作が最終ステップに達すると、この工程
1のブロック・ラダー・プログラムPROG1.1を停
止して工程2のブロック・ラダー・プロダラムPROG
1.2を起動する。これにより工程2の制御動作が開始
する。
ブロック・ラダー・プログラムPROG1.2の最終ス
テップには当該ラダー・プログラムの停止命令“INA
CT PROGl、2”と工程3,4.5の並列起動命
令“ACT PROGl、3” 、 ”ACT PR
OG2.1″“ACT PROG3.1″が設定され、
これらの工程3.4.5が同時に起動される。
テップには当該ラダー・プログラムの停止命令“INA
CT PROGl、2”と工程3,4.5の並列起動命
令“ACT PROGl、3” 、 ”ACT PR
OG2.1″“ACT PROG3.1″が設定され、
これらの工程3.4.5が同時に起動される。
工程5は、工程3,4の終了を監視しており、工程3,
4.5の停止を検出すると、停止命令“I N A C
T PROG3.1″及び“ACT PROGl、1”
により、このシーケンス制御処理の開始ステップである
工程1に戻る。
4.5の停止を検出すると、停止命令“I N A C
T PROG3.1″及び“ACT PROGl、1”
により、このシーケンス制御処理の開始ステップである
工程1に戻る。
このように、ラダー・プログラムの起動命令“ACT”
及び停止命令“I NACT″を定義したので、何千に
もなる一連のシーケンス制御プログラムを数個のブロッ
クに分割して並行にプログラミングを行うことができる
。また、ラダー・プログラムどうしで起動、終了を通知
しあうので、ブロック分割したラダー・プログラムをそ
れぞれ複数のCPUボードに設定してシーケンス制御動
作させることもできる。
及び停止命令“I NACT″を定義したので、何千に
もなる一連のシーケンス制御プログラムを数個のブロッ
クに分割して並行にプログラミングを行うことができる
。また、ラダー・プログラムどうしで起動、終了を通知
しあうので、ブロック分割したラダー・プログラムをそ
れぞれ複数のCPUボードに設定してシーケンス制御動
作させることもできる。
第24図は、ベーシック・プログラム処理を設定したC
PUボード11、ラダー・プログラム処理のみ設定した
CPUボード12.13.14を組み合わせて実際の制
御ラインL上の制御対象Mを制御する例である。
PUボード11、ラダー・プログラム処理のみ設定した
CPUボード12.13.14を組み合わせて実際の制
御ラインL上の制御対象Mを制御する例である。
尚、CPUボード12にはラダー・プログラムLDI、
LD2を設定してI10ボード群cioを設置し、CP
Uボード13にはラダー・プログラムLD3.LD4.
LD5を設定してI10ボード群C20を設置し、CP
Uボード14にはラダー・プログラムLD6を設定して
I10ボード群C30を設置する。
LD2を設定してI10ボード群cioを設置し、CP
Uボード13にはラダー・プログラムLD3.LD4.
LD5を設定してI10ボード群C20を設置し、CP
Uボード14にはラダー・プログラムLD6を設定して
I10ボード群C30を設置する。
CPUボード11に設定するベーシック・プログラムの
例を第25図に表わす。
例を第25図に表わす。
また、各ラダー・プログラムLDI、LD2゜LD3.
LD4.LD5.LD6はそれぞれ制御対象Mに対する
一連のシーケンス制御プログラムであるが、上述したよ
うなブロック構成のラダー・プログラムであり、独立に
プログラミングすることができる。
LD4.LD5.LD6はそれぞれ制御対象Mに対する
一連のシーケンス制御プログラムであるが、上述したよ
うなブロック構成のラダー・プログラムであり、独立に
プログラミングすることができる。
CPUボード11のベーシック・プログラムは、各ラダ
ー・プログラムに起動指令を与え、その終了指令を受け
るものである。
ー・プログラムに起動指令を与え、その終了指令を受け
るものである。
動作開始となると、CPUボード11はCPUボード1
2のラダー・プログラムLD1、続いてラダー・プログ
ラムLD2を起動する。これらのプログラムが終了する
と、このときのシーケンス処理結果に応じてCPUボー
ド13のラダー・プログラムLD3.tたはLD4を実
行する。プログラムLD3またはLD4を終了すると、
引き続き、ベーシック・プログラムは、CPUボード1
3内のラダー・プログラムLD5とCPUボード14内
のラダー・プログラムLD5とを並列に起動する。
2のラダー・プログラムLD1、続いてラダー・プログ
ラムLD2を起動する。これらのプログラムが終了する
と、このときのシーケンス処理結果に応じてCPUボー
ド13のラダー・プログラムLD3.tたはLD4を実
行する。プログラムLD3またはLD4を終了すると、
引き続き、ベーシック・プログラムは、CPUボード1
3内のラダー・プログラムLD5とCPUボード14内
のラダー・プログラムLD5とを並列に起動する。
このように、この図に示したシステムによれば、一連の
シーケンス制御動作をブロック分けしたシーケンス制御
プログラムを複数のプログラマブル・コントローラで操
作、処理することができ、効率のよいシーケンス制御処
理が可能である。
シーケンス制御動作をブロック分けしたシーケンス制御
プログラムを複数のプログラマブル・コントローラで操
作、処理することができ、効率のよいシーケンス制御処
理が可能である。
以上述べたように、本発明のプログラマブル・コントロ
ーラによれば、シーゲンス制御の処理速度の向上、シス
テム変更時の容易な再設計が実現でき、処理効率の高い
プログラマブル・コントローラを実現できる。
ーラによれば、シーゲンス制御の処理速度の向上、シス
テム変更時の容易な再設計が実現でき、処理効率の高い
プログラマブル・コントローラを実現できる。
〈発明の効果〉
以上述べたように、本発明のプログラマブル・コントロ
ーラによれば、以下の効果を得る。
ーラによれば、以下の効果を得る。
(1)1ビット処理プロセッサがプログラム・メモリか
ら直接プログラム命令を読み出して実行するため、プロ
セッサがプログラム命令を読み出して制御実行権を毎回
決定する必要がなく、その分処理速度が速くなるととも
に処理時の負担を軽減することができる。
ら直接プログラム命令を読み出して実行するため、プロ
セッサがプログラム命令を読み出して制御実行権を毎回
決定する必要がなく、その分処理速度が速くなるととも
に処理時の負担を軽減することができる。
(2)シーケンス制御処理と一般的なベーシック処理と
を交互に実行するため、効率的な処理を実現できる。
を交互に実行するため、効率的な処理を実現できる。
(3)実行する言語の種類を上位コンピュータから送信
することができるため、処理言語の変更が容易であり、
システム全体の構成の変更も容易である。
することができるため、処理言語の変更が容易であり、
システム全体の構成の変更も容易である。
(4)I10ボード・ドライバは標準ドライバであり、
設置するI10ボード毎に設定する必要がないため、ド
ライバ設定操作が著しく削減でき、システム変更も容易
である。
設置するI10ボード毎に設定する必要がないため、ド
ライバ設定操作が著しく削減でき、システム変更も容易
である。
(5)プロセッサとI10ボードとのデータ転送は、デ
ータ転送もとからフレーム単位にストローブ信号ととも
に送信しデータ転送先は最後にステイタス・フレームを
送信するため、フレーム転送は同期式転送となり、プロ
セッサとI10ボードとの全体のデータ転送は非同期式
転送となるため、サイクル毎に相互の応答を確認できシ
ステムの信頼性を高めることができ、また、非同期式転
送により応答速度の興なるI10ボードを設置すること
ができる。
ータ転送もとからフレーム単位にストローブ信号ととも
に送信しデータ転送先は最後にステイタス・フレームを
送信するため、フレーム転送は同期式転送となり、プロ
セッサとI10ボードとの全体のデータ転送は非同期式
転送となるため、サイクル毎に相互の応答を確認できシ
ステムの信頼性を高めることができ、また、非同期式転
送により応答速度の興なるI10ボードを設置すること
ができる。
(6)ラダー回路のチエツク時はプログラミング・ツー
ル上でラダー回路に付加されるコメントにより階層的に
CR7画面に表示して調整すべきラダー回路を特定でき
、ラダー回路の抽出が容易である。
ル上でラダー回路に付加されるコメントにより階層的に
CR7画面に表示して調整すべきラダー回路を特定でき
、ラダー回路の抽出が容易である。
(7)ラダー回路作成時は信号名を付けるのみでアドレ
スを自動的に割り当てることができ、I10ボード装着
なしでデバッグが容易となる。
スを自動的に割り当てることができ、I10ボード装着
なしでデバッグが容易となる。
(8)内部で発生した異常状態を記録することができる
ので、後で異常発生状況を容易に確認、解析することが
できる。
ので、後で異常発生状況を容易に確認、解析することが
できる。
(9)何千ステップにもなるラダー・プログラムを各工
程毎にブロック単位で生成することができるので、1個
のシーケンス制御のプログラミングを分割して作成でき
プログラミングの効率を向上させることができる。
程毎にブロック単位で生成することができるので、1個
のシーケンス制御のプログラミングを分割して作成でき
プログラミングの効率を向上させることができる。
(10)いくつかのラダー・プログラムをベーシック・
プログラムによりいくつかのプロセッサ・ボードで実行
するため、長いラダー・プログラムのみで全体の処理フ
ローを構成しなくてもよく、上位コンピュータは各々の
プロセッサ・ボードの実行状況を把握でき、最適タイミ
ングで相互のデータ通信を行うことができる。
プログラムによりいくつかのプロセッサ・ボードで実行
するため、長いラダー・プログラムのみで全体の処理フ
ローを構成しなくてもよく、上位コンピュータは各々の
プロセッサ・ボードの実行状況を把握でき、最適タイミ
ングで相互のデータ通信を行うことができる。
第1図は本発明のプログラマブル・コントローラのプロ
セッサ・ボード及びI10ボードの構成を表わす図、第
2図は本発明のプログラマブル・コントローラの動作を
説明するためのラダー・プログラムを表わす図、第3図
は本発明のプログラマブル・コントローラにおけるB
P U 102とCPU101の動作を説明するための
図、第4図は本発明のプログラマブル・コントローラの
シーケンス制御処理とベーシック処理との相関間係を表
わす図、第5図は本発明のプログラマブル・コントロー
ラに対して上位コンピュータから処理言語の設定を行う
場合のフローチャート、第6図は本発明のプログラマブ
ル・コントローラの標準I10ドライバの動作を表わす
概念図、第7図は本発明のプログラマブル・コントロー
ラの標準I10ドライバにおける処理定義テーブルの作
成方式を表わす図、第8図は本発明のプログラマブル・
コントローラの篠準I10ドライバによるI10カド・
アクセス手順を表わすフローチャート、第9図及び第1
0図は本発明のプログラマブル・コントローラのCPU
ボードとI10ボードとのデータ転送を表わすタイムチ
ャート、第11図は本発明のプログラマブル・コントロ
ーラに設置される異常記録装置の構成を表わす図、第1
2図は第11図に表わした異常記録装置の情報を上位コ
ンピュータのCRTに表示した場合を表わす図、第13
図はプログラミング・ツールで生成した各種コメントを
付加したラダー回路を表わす図、第14図は本発明のプ
ログラミング・ツールとラダー回路のステップ番号に対
応するコメントを表示する機能とを表わすブロック図、
第15図は第14図に示した機能内のコメント・ファイ
ルを表わす図、第16図は第14図に示した機能内の回
路/コメント対応テーブルを表わす図、第17図は第1
4図の機能によるプログラミング・ツールのCRT画面
表示の遷移状態図、第18図は本発明のプログラマブル
・コントローラの処理ルーチンを表わす図、第19図は
本発明のプログラマブル・コントローラのラダー回路プ
ログラミング時の機能ブロックを表わす図、第20図は
ラダー回路を生成した際の図、第21図はラダー回路の
信号名とアドレスの対応表を表わす図、第22図は第2
1図のラダー回路の信号名に詳細アドレスを割り当てた
際の図、第23図(a)、(b)、(C)はブロック毎
に作成したラダー・プログラムを表わす図、第24図は
数枚のプログラマブル・コントローラによって一連のシ
ーゲンス制御プログラムを実行する場合を表わす図、第
25図は第24図のシステムを制御するベーシック・プ
ログラムの一例、第26図はプログラマブル・コントロ
ーラを用いた一般的なシステムの構成を表わす図、第2
7図はシーゲンス制御プログラムの一例であるラダー・
プログラムの一部を表わす図、第28図は第27図のラ
ダー・プログラムに対応するプログラム命令を表わす図
、第29図は従来のプログラマブル・コントローラ内の
プロセッサ・ボードの回路ブロック図である。 10.11.12.13・・・CPUボード、101・
・・プロセッサ、102・・・CPUゲート・アレイ、
103・・・1ビット処理プロセッサ、104・・・プ
ログラム・メモリ、105・・・ROM、106・・・
データ・メモリ、 107・・・I10インターフェイス、108・・・リ
アルタイム・クロック発生部、109・・・通信バッフ
ァ、 110・・・通信インターフェイス、 111・・・R3232Cボート、bl・・・内部バス
、bb・・・I10バス、B・・・上位バス、81・・
・実行権切換処理部、82・・・タイマ、cl、c2.
c3・・・I10ボード、clo、 c20. c30
・・・I10ボード群、c 11. c 12. c2
1・・・インターフェイス、c22・・・8ビット・プ
ロセッサ、c23・・・メモリ、c24・・・インター
フェイス。 第2図 第3図 第5図 第7図 第18図 第19図 第20図 第21図 第22図 RE G I DU Ll 1第24図 第25図 し 第23図 (a) (c) 第27図 第28図
セッサ・ボード及びI10ボードの構成を表わす図、第
2図は本発明のプログラマブル・コントローラの動作を
説明するためのラダー・プログラムを表わす図、第3図
は本発明のプログラマブル・コントローラにおけるB
P U 102とCPU101の動作を説明するための
図、第4図は本発明のプログラマブル・コントローラの
シーケンス制御処理とベーシック処理との相関間係を表
わす図、第5図は本発明のプログラマブル・コントロー
ラに対して上位コンピュータから処理言語の設定を行う
場合のフローチャート、第6図は本発明のプログラマブ
ル・コントローラの標準I10ドライバの動作を表わす
概念図、第7図は本発明のプログラマブル・コントロー
ラの標準I10ドライバにおける処理定義テーブルの作
成方式を表わす図、第8図は本発明のプログラマブル・
コントローラの篠準I10ドライバによるI10カド・
アクセス手順を表わすフローチャート、第9図及び第1
0図は本発明のプログラマブル・コントローラのCPU
ボードとI10ボードとのデータ転送を表わすタイムチ
ャート、第11図は本発明のプログラマブル・コントロ
ーラに設置される異常記録装置の構成を表わす図、第1
2図は第11図に表わした異常記録装置の情報を上位コ
ンピュータのCRTに表示した場合を表わす図、第13
図はプログラミング・ツールで生成した各種コメントを
付加したラダー回路を表わす図、第14図は本発明のプ
ログラミング・ツールとラダー回路のステップ番号に対
応するコメントを表示する機能とを表わすブロック図、
第15図は第14図に示した機能内のコメント・ファイ
ルを表わす図、第16図は第14図に示した機能内の回
路/コメント対応テーブルを表わす図、第17図は第1
4図の機能によるプログラミング・ツールのCRT画面
表示の遷移状態図、第18図は本発明のプログラマブル
・コントローラの処理ルーチンを表わす図、第19図は
本発明のプログラマブル・コントローラのラダー回路プ
ログラミング時の機能ブロックを表わす図、第20図は
ラダー回路を生成した際の図、第21図はラダー回路の
信号名とアドレスの対応表を表わす図、第22図は第2
1図のラダー回路の信号名に詳細アドレスを割り当てた
際の図、第23図(a)、(b)、(C)はブロック毎
に作成したラダー・プログラムを表わす図、第24図は
数枚のプログラマブル・コントローラによって一連のシ
ーゲンス制御プログラムを実行する場合を表わす図、第
25図は第24図のシステムを制御するベーシック・プ
ログラムの一例、第26図はプログラマブル・コントロ
ーラを用いた一般的なシステムの構成を表わす図、第2
7図はシーゲンス制御プログラムの一例であるラダー・
プログラムの一部を表わす図、第28図は第27図のラ
ダー・プログラムに対応するプログラム命令を表わす図
、第29図は従来のプログラマブル・コントローラ内の
プロセッサ・ボードの回路ブロック図である。 10.11.12.13・・・CPUボード、101・
・・プロセッサ、102・・・CPUゲート・アレイ、
103・・・1ビット処理プロセッサ、104・・・プ
ログラム・メモリ、105・・・ROM、106・・・
データ・メモリ、 107・・・I10インターフェイス、108・・・リ
アルタイム・クロック発生部、109・・・通信バッフ
ァ、 110・・・通信インターフェイス、 111・・・R3232Cボート、bl・・・内部バス
、bb・・・I10バス、B・・・上位バス、81・・
・実行権切換処理部、82・・・タイマ、cl、c2.
c3・・・I10ボード、clo、 c20. c30
・・・I10ボード群、c 11. c 12. c2
1・・・インターフェイス、c22・・・8ビット・プ
ロセッサ、c23・・・メモリ、c24・・・インター
フェイス。 第2図 第3図 第5図 第7図 第18図 第19図 第20図 第21図 第22図 RE G I DU Ll 1第24図 第25図 し 第23図 (a) (c) 第27図 第28図
Claims (10)
- (1)制御対象と各種情報を授受するI/Oボード群と
、シーケンス制御プログラムを実行して前記I/Oボー
ド群を介して前記制御対象に制御信号を与えるプロセッ
サ・ボードとから構成されるプログラマブル・コントロ
ーラにおいて、 前記プロセッサ・ボードは、 全体を制御し、前記シーケンス制御プログラム内の命令
の一部と、前記シーケンス制御プログラムの起動及び終
了指示を行い汎用的な演算処理、情報処理または制御動
作を行うベーシック・プログラムとを実行するプロセッ
サと、 前記シーケンス制御プログラムが格納されるプログラム
・メモリに直接接続し、前記プログラム・メモリから順
次命令を読み出して実行し、読み出した命令が前記プロ
セッサで実行すべきシーケンス応用命令である場合はこ
の命令を前記プロセッサに与える1ビット処理プロセッ
サと、 一時的にデータを記憶するデータ・メモリと、自己診断
プログラムを記憶する固定メモリと、上位コンピュータ
との通信動作に関与する通信インターフェイスと、 前記制御対象と各種情報を授受するI/Oボードを接続
するI/Oバスに結合するためのI/Oインターフェイ
スと、 前記プロセッサと前記1ビット処理プロセッサと前記デ
ータ・メモリと前記固定メモリと前記通信インターフェ
イスと前記I/Oインターフェイスとを相互に結合する
内部バスとを備えたプログラマブル・コントローラ。 - (2)前記プロセッサに、前記シーケンス制御プログラ
ムを一定時間実行すると前記シーケンス制御プログラム
を停止して前記ベーシック・プログラムを一定時間実行
する動作を繰り返す実行権切換制御手段を設けたことを
特徴とする請求項(1)記載のプログラマブル・コント
ローラ。 - (3)前記上位コンピュータから実行すべきベーシック
言語実行指令またはラダー言語実行指令またはベーシッ
ク言語及びラダー言語実行指令のうちいずれかの実行指
令を受け、指定された言語実行指令に対応した実行環境
を生成する請求項(1)記載のプログラマブル・コント
ローラ。 - (4)前記プロセッサ・ボードに設定するI/Oドライ
バは、立ち上がり時に、各I/Oボードについて、ボー
ドID、ボードのインターフェイスの種類、チャネル数
、コマンド・レジスタ・アドレス及びバッファ・アドレ
スまたはデータ・レジスタ・アドレス、特殊処理が必要
な場合はその特殊処理を指定するアドレスを読み出して
テーブル形式で記憶する処理定義テーブルを設定し、デ
ータ出力処理を行う際は前記処理定義テーブルを参照す
ることを特徴とする請求項(1)記載のプログラマブル
・コントローラ。 - (5)前記プロセッサ・ボード及び前記I/Oボード群
にストローブ信号発生手段を設け、データ転送サイクル
が開始すると、データ転送要求もとボードはフレーム送
信毎にストローブ信号を送信して当該フレームを有効と
し、データ転送要求先ボードはデータ・フレーム及びス
テイタス・フレームまたはステイタス・フレーム送信毎
にストローブ信号を送信してデータ転送サイクルを終了
することを特徴とする請求項(1)記載のプログラマブ
ル・コントローラ。 - (6)異常の種類の数に対応して異常検出回路を設け、
前記プロセッサは異常検出信号を割込信号として受け付
けて内部のタイマ機能の示す時刻と異常検出の内容とを
テーブル形式で記憶することを特徴とする請求項(1)
記載のプログラマブル・コントローラ。 - (7)前記ラダー言語で生成したラダー・プログラム内
のラダー回路に付加するコメントを当該ラダー回路のス
テップ番号に対応させて格納するコメント・ファイルと
、当該ラダー回路のステップ番号と前記コメント・ファ
イル中のコメント番号とを対応付けした回路/コメント
・テーブルとを設定し、プログラミング・ツールから回
路コメント、ステップ番号、ラダー回路を読み出せるよ
うにしたことを特徴とする請求項(1)記載のプログラ
マブル・コントローラ。 - (8)シーケンス制御処理ルーチン内の入出力リフレッ
シュ処理を省略し、ラダー回路作成時は各回路要素に信
号名を割り付け、予め設定した信号名/アドレス対応テ
ーブルにより信号名とアドレスとを対応させ、コンパイ
ル時点で詳細アドレスが割り当てられていないものにつ
いては当該信号名に対応する詳細アドレスをアドレスの
若い順に設定することを特徴とする請求項(1)記載の
プログラマブル・コントローラ。 - (9)ラダー・プログラムのプログラミング時に、一連
のシーケンス制御動作をいくつかの工程に対応するブロ
ックに分割し、各ブロックの最終ステップのラダー回路
には次に実行すべきブロックを指定する命令と当該ブロ
ックの処理停止を指定する命令とを設定し、ブロック単
位にラダー・プログラムを設定かつ実行するようにした
請求項(1)記載のプログラマブル・コントローラ。 - (10)ベーシック言語の処理をするプロセッサ・ボー
ドと、シーケンス言語処理専用でありブロック構成のシ
ーケンス制御プログラムを1個以上格納する少なくとも
1枚以上のシーケンス言語処理専用のプロセッサ・ボー
ドと、このシーケンス言語処理専用のプロセッサ・ボー
ドの下位側に設置されて制御対象と制御情報を授受する
I/Oボード群とから構成され、前記ベーシック言語の
処理をするプロセッサ・ボードは、前記シーケンス言語
処理専用のプロセッサ・ボード内の前記ブロック構成の
シーケンス制御プログラムの各々に起動指示、終了指示
を通知することを特徴とするプログラマブル・コントロ
ーラ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3331690A JPH03237502A (ja) | 1990-02-14 | 1990-02-14 | プログラマブル・コントローラ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3331690A JPH03237502A (ja) | 1990-02-14 | 1990-02-14 | プログラマブル・コントローラ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03237502A true JPH03237502A (ja) | 1991-10-23 |
Family
ID=12383154
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3331690A Pending JPH03237502A (ja) | 1990-02-14 | 1990-02-14 | プログラマブル・コントローラ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03237502A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6094718A (en) * | 1997-02-26 | 2000-07-25 | Matsushita Electric Works, Ltd. | Programmable controller with a BPU that executes first-class instructions, a CPU that executes second-class instructions, and a skip instruction processing section that skips the current instruction without transferring control right to CPU |
| JP2007094898A (ja) * | 2005-09-29 | 2007-04-12 | Yokogawa Electric Corp | プログラム管理装置 |
| JP2013084169A (ja) * | 2011-10-12 | 2013-05-09 | Hitachi Ltd | コントローラ、およびタスクとラダーの処理方法 |
-
1990
- 1990-02-14 JP JP3331690A patent/JPH03237502A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6094718A (en) * | 1997-02-26 | 2000-07-25 | Matsushita Electric Works, Ltd. | Programmable controller with a BPU that executes first-class instructions, a CPU that executes second-class instructions, and a skip instruction processing section that skips the current instruction without transferring control right to CPU |
| DE19807358C2 (de) * | 1997-02-26 | 2001-07-12 | Matsushita Electric Works Ltd | Programmierbare Steuervorrichtung mit einem Überspringungsprozessorteil ohne Rückübertragung des Steuerungsrechts an die CPU |
| JP2007094898A (ja) * | 2005-09-29 | 2007-04-12 | Yokogawa Electric Corp | プログラム管理装置 |
| JP2013084169A (ja) * | 2011-10-12 | 2013-05-09 | Hitachi Ltd | コントローラ、およびタスクとラダーの処理方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR940002324B1 (ko) | 프로그래머블 콘트롤러 | |
| EP0814404B1 (en) | Debugging apparatus for debugging a program | |
| US5295059A (en) | Programmable controller with ladder diagram macro instructions | |
| JPH03237502A (ja) | プログラマブル・コントローラ | |
| GB2244828A (en) | Programmable controller | |
| JPH10326203A (ja) | 複数のハードウェア環境上においてプログラムを別々に動作させつつも、ハードウェア環境間で動作状態を継承し合うことができるデバッグ装置 | |
| CN114137854A (zh) | 一种多功能机器人教学仿真工作站 | |
| CN113064833A (zh) | 一种单片机仿真方法、系统、装置、设备及存储介质 | |
| JPH07281915A (ja) | 集積回路モジュール同期2重系情報処理装置 | |
| JP3038279B2 (ja) | プログラマブルコントローラシステム | |
| JPH0196725A (ja) | マルチウインドウ制御装置 | |
| JP3353819B2 (ja) | インテリジェント系ボードとコンソール端末との接続機構および接続方法 | |
| CN116774643A (zh) | 一种安全plc的安全i/o功能实现方法 | |
| KR100310307B1 (ko) | 내장형시스템의운영체제개발을위한쉘기능제공방법 | |
| JP2025095482A (ja) | 安全装置 | |
| JP3039918B2 (ja) | プロセッサシステム | |
| JP3394834B2 (ja) | マルチプロセッサシステムを構成する装置のデバッグ方式 | |
| JPH08221297A (ja) | プログラムデバッグ装置 | |
| JPH03144705A (ja) | プログラマブルコントローラの動作状態監視装置 | |
| JPH01217536A (ja) | 異種言語混在形プログラム処理コントローラ | |
| JPH1083273A (ja) | マルチウインドウ制御装置 | |
| JPS5840619A (ja) | シ−ケンスコントロ−ラおよびその制御方法 | |
| JP2000122882A (ja) | マルチスレッドプロセッサおよびデバッグ装置 | |
| JP2965133B2 (ja) | プロセッサシステム | |
| CN119718217A (zh) | 芯片物理信息获取方法、装置、电子设备及存储介质 |