JP2002358104A - プログラマブルコントローラ及びその制御方法 - Google Patents

プログラマブルコントローラ及びその制御方法

Info

Publication number
JP2002358104A
JP2002358104A JP2002097793A JP2002097793A JP2002358104A JP 2002358104 A JP2002358104 A JP 2002358104A JP 2002097793 A JP2002097793 A JP 2002097793A JP 2002097793 A JP2002097793 A JP 2002097793A JP 2002358104 A JP2002358104 A JP 2002358104A
Authority
JP
Japan
Prior art keywords
processing
event
general
control device
execution
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.)
Granted
Application number
JP2002097793A
Other languages
English (en)
Other versions
JP3548780B2 (ja
Inventor
Kazutomo Okada
和智 岡田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2002097793A priority Critical patent/JP3548780B2/ja
Publication of JP2002358104A publication Critical patent/JP2002358104A/ja
Application granted granted Critical
Publication of JP3548780B2 publication Critical patent/JP3548780B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【課題】 汎用演算処理装置と特定用途向け制御装置と
を搭載したプログラマプルコントローラにおけるイベン
ト応答性を改善すること 【解決手段】 MPU101は、ASIC106へユー
ザプログラムまたは入出力リフレッシュ処理の実行を依
頼した直後に、イベント処理の実行を開始し、ASIC
106からの上記ユーザプログラムまたは入出力リフレ
ッシュ処理の処理完了通知で上記イベント処理を中止
し、かつ通常の処理に戻るという内部処理を行い、これ
により、ユーザプログラムの実行処理および入出力リフ
レッシュ処理とイベント処理との並列実行が実現され
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、プログラマブル
コントローラに関し、特に、ユーザプログラムの実行処
理または入出力リフレッシュ処理の実行中に、上位系、
通信ユニット等の周辺コンポーネントに対する周辺サー
ビス処理(イベント処理)を並列実行することにより、
プログラマブルコントローラのCPUユニットのサイク
ルタイムを短縮してその応答性を改善したプログラマブ
ルコントローラとその制御方法に関する。
【0002】
【従来の技術】一般に、プログラマブルコントローラ
(PLC)は、センサやスイッチ,アクチュエータが繋
がれたI/Oユニットと、予め設定されたユーザプログ
ラムを実行するCPUユニットと、ネットワークを介し
て上位系と通信する通信ユニットなどが組み合わされて
構成されている。そして、プログラマブルコントローラ
の中型,小型機種では、CPUユニットに1個のMPU
(Micro Processing Unit)が設
けられ、その1個のMPUによりシーケンス制御が行わ
れていた。そのシーケンス制御は、I/Oユニットから
センサなどの入力信号を取り込んで、ユーザプログラム
の論理式に当てはめて演算し、その演算結果を出力信号
としてI/Oユニットに送り、アクチュエータなどの制
御対象を駆動して製造装置などを制御するというもので
ある。なお、I/OデータはCPUユニットのI/Oメ
モリに記憶されるようになっている。
【0003】図3は、この種のプログラマブルコントロ
ーラのCPUユニットにおける上記処理の概略を示すも
のである。この図3の処理においては、プログラマブル
コントローラは、電源ONにより、まず、メモリ初期化
や組み合わされている各ユニットの認識等の電源ON時
処理を行う(ST301)。その後、供給電源の状態を
確かめるためにバッテリ異常チェック等の共通処理を行
う(ST302)。続いて、ユーザプログラムの実行等
の演算処理をする(ST303)。なお、1サイクル目
の入力データは、前回電源OFFしたときの入力信号を
記憶しておいて、その記憶データをステップ301で呼
び戻して演算することができる。こうすると、電源OF
Fしたときの処理の続きとして演算処理できる。また、
別の方法としては、ステップ301を実行して初期化さ
れたメモリ初期化データに基づく演算処理をすることも
できる。
【0004】続いて、外部のスイッチなどの制御機器か
らの入力データをI/Oメモリに書き込んだり、演算結
果に基づいて更新されたI/Oデータを制御対象へ出力
データとして送信する入出力リフレッシュ処理を行う
(ST304)。その後、ネットワークを介して繋がれ
た、いわゆるツールとのやりとりや、接続時の通信処理
等の周辺サービス処理(イベント処理)を実行する(S
T305)。その後、ステップ302から305迄の処
理を一連のサイクリック処理として順次繰り返し実行す
る。ここで、上記共通処理(ST302)から上記周辺
サービス処理(ST305)までの時間を一般にこのC
PUユニットのサイクルタイムと呼ぶ。
【0005】また、この種のプログラマブルコントロー
ラにおいては、図4に示すようにパーソナルコンピュー
タ等から構成される上位系401と複数の子プログラマ
ブルコントローラ(子PLC)403,404,40
5,……との間に、親プログラマブルコントローラ(親
PLC)402を介在させて、各種制御を可能にしたプ
ログラマブルコントローラシステムを構築する場合があ
る。この場合、親PLC402が、3つの子PLCのデ
ータを収集して、上位系にそのデータを送信すること
で、上位系でシステム全体の制御状態をモニタすること
ができる。
【0006】
【発明が解決しようとする課題】ところで、上記図4に
示したようなプログラマブルコントローラシステムを構
築する場合に、上記親プログラマブルコントローラ40
2として、1個のMPUを搭載している機種を採用した
とすると、図3に示したような共通処理(ST302)
から周辺サービス処理(ST305)までの一連のサイ
クリック処理時間をサイクルタイムとして動作すること
になる。この際、上記ステップ303の演算処理のユー
ザプログラム実行処理時間を経て、入出力リフレッシュ
処理が終了しないことには、周辺サービス処理に移行し
ないので、上位系または通信ユニットを通じてCPUユ
ニットが優先度の高い周辺サービス処理(イベント処
理)を行いたくても、周辺サービス処理のサイクルタイ
ミングまで待たなければならず、応答性、すなわち速い
イベント応答性が満足できないという問題があった。
【0007】一方、サイクルタイムを短くするために、
プログラマブルコントローラのCPUユニットに従来の
1個のMPU(汎用演算処理装置に相当)に加えて専用
のハードウェア回路としてのASIC(Applica
tion SpecificIntegrated C
ircuit:特定用途向け制御装置に相当)を実装し
たものがあった。ここで、特定用途向け制御装置は、ハ
ードウェア回路でユーザプログラムの一部の命令を実行
する機能を持たせたものである。ハードウェア回路で実
行処理するので、ソフトウェア的に処理実行する汎用演
算処理装置の処理スピードに比べて格段に速い特徴をも
つ。但し、複雑な応用命令を行おうとすると、そのため
に専用のハードウェア回路を開発設計する必要が生じ、
ASIC上ではなかなか実現することは困難である。よ
って、ビット演算や基本命令と呼ばれるある程度限られ
たいくつかの命令コマンドについて処理できるようにハ
ードウェア回路を開発設計し、ASICを作るのが実情
である。つまり、ハードウェア処理に適した命令コマン
ドの実行を行わせるように設計したASICチップを実
装するのが実情である。
【0008】一方、MPUとしての汎用演算処理装置
は、ソフトウェア的に処理を行うので、応用命令と呼ば
れる複雑な演算を必要とする命令コマンドでも、単純な
演算としてのビット演算や基本命令でも処理することが
できる。但し、ソフトウェア的な処理のため、処理スピ
ードはハードウェア回路に比べて遅い。
【0009】上述の2つの装置を実装したプログラマブ
ルコントローラでは、ユーザプログラム実行の演算処理
時間を少し短くできる。これはユーザプログラムのう
ち、特定用途向け制御装置で処理できるものは、汎用演
算処理装置で処理するのではなく、特定用途向け制御装
置にて早く処理しているからである。実際には、ユーザ
プログラムを実行する際に、実行対象の命令一つずつを
特定用途向け制御装置にて実行可能か否かの判断をし、
実行可能と判断すれば、そのまま特定用途向け制御装置
で実行をし、実行不可と判断すれば実行権を汎用演算処
理装置に渡し、その命令を汎用演算処理装置で実行する
ようにしている。
【0010】係る構成を採ることにより、サイクルタイ
ムを短くすることはできる。しかし、この場合もユーザ
プログラム実行処理(演算処理)と、入出力リフレッシ
ュ処理とイベント処理は、一連のサイクリック処理とし
て順次繰り返して、逐次的に処理されているので、ユー
ザプログラム実行処理と入出力リフレッシュ処理が終了
しないことには、イベント処理に移行しない。よって、
周辺サービス処理を優先して実行したくてもできず、速
いイベント応答性が満足できないという問題があった。
【0011】そこで、この発明は、汎用演算処理装置と
特定用途向け制御装置とを搭載したプログラマブルコン
トローラにおいて、ユーザプログラム実行処理中に、イ
ベント処理を平行して実行させるようにして、イベント
応答性を改善することを目的とする。
【0012】
【課題を解決するための手段】上記目的を達成するため
に、この発明に係るプログラマブルコントローラは、汎
用演算処理装置と特定用途向け制御装置とを搭載したプ
ログラマブルコントローラにおいて、前記汎用演算処理
装置から前記特定用途向け制御装置に対してユーザプロ
グラムの実行処理依頼を行って前記特定用途向け制御装
置を起動した場合に、前記汎用演算処理装置は、前記特
定用途向け制御装置が依頼されたユーザプログラムを実
行中に、イベント処理を実行するように構成する。
【0013】また、別の解決手段としては、汎用演算処
理装置と特定用途向け制御装置とを搭載したプログラマ
ブルコントローラにおいて、前記汎用演算処理装置から
前記特定用途向け制御装置に対してI/Oリフレッシュ
処理におけるDMA転送処理依頼を行って前記特定用途
向け制御装置を起動した場合に、前記汎用演算処理装置
は、前記特定用途向け制御装置が依頼されたI/Oリフ
レッシュ処理におけるDMA転送処理を実行中に、イベ
ント処理を実行するように構成することもできる。
【0014】また、本発明に係るプログラマブルコント
ローラの制御方法は、汎用演算処理装置と特定用途向け
制御装置とを搭載したプログラマブルコントローラの制
御方法において、前記汎用演算処理装置は、ユーザプロ
グラムの演算実行中に、その一部の命令の実行処理依頼
を前記特定用途向け制御装置に対して行い、前記特定用
途向け制御装置は、受け取った前記実行処理依頼に伴
い、前記ユーザプログラム中の所定の命令を実行し、前
記汎用演算処理装置は、前記特定用途向け制御装置が前
記所定の命令を実行している期間、イベント処理要求の
有無を判断し、前記イベント処理要求があった場合にそ
のイベント処理を実行することである。
【0015】また、別の解決手段としては、汎用演算処
理装置と特定用途向け制御装置とを搭載したプログラマ
ブルコントローラの制御方法において、前記汎用演算処
理装置は、I/Oリフレッシュ処理中に、DMA転送処
理依頼を前記特定用途向け制御装置に対して行い、前記
特定用途向け制御装置は、受け取った前記DMA転送処
理依頼に伴い、そのDMA転送処理を実行し、前記汎用
演算処理装置は、前記特定用途向け制御装置が前記DM
A転送処理を実行している期間、イベント処理要求の有
無を判断し、前記イベント処理要求があった場合にその
イベント処理を実行することもできる。
【0016】上記した各発明を前提として、前記汎用演
算処理装置が、ユーザプログラムの演算実行処理やI/
Oリフレッシュ処理と独立してイベント処理を実行する
ステップを含むようにしてもよい。
【0017】ここで、上記汎用演算処理装置とは、この
プログラマブルコントローラに搭載されるMPUを含
み、また、特定用途向け制御装置とは、このプログラマ
ブルコントローラに搭載されるユーザプログラム実行の
ための専用ASICを含む。
【0018】上記イベント処理は周辺コンポーネントに
対する周辺サービス処理を含み、この周辺サービス処理
には上位系、通信ユニット等の周辺コンポーネントに対
するイベント処理が含まれる。
【0019】上記汎用演算処理装置から特定用途向け制
御装置に対して依頼するユーザプログラムとしては、た
とえば処理に時間のかかる命令があり、この種の命令を
依頼した場合は、汎用演算処理装置の空き時間が増える
ので、イベント処理の実行に必要な時間を十分に確保す
ることができる。
【0020】I/Oリフレッシュは、入出力リフレッシ
ュ処理や、入力リフレッシュ処理並びに出力リフレッシ
ュ処理に対応し、I/Oメモリに対するリフレッシュを
行う処理などである。
【0021】
【発明の実施の形態】以下、この発明に係わるプログラ
マブルコントローラの好適な実施の形態について添付図
面を参照して詳細に説明する。図1は、この発明に係わ
るプログラマブルコントローラのCPUユニット部の全
体構成を示すブロック図である。
【0022】図1において、このプログラマブルコント
ローラのCPUユニット部は、MPU(Micro P
rocessing Unit:汎用演算処理装置)1
01、ROM(Read Only Memory)1
02、バックアップユーザメモリ(BUM)103,R
AM(Random Access Memory)1
04、ユーザメモリ105、ASIC(Applica
tion Specific Integrated
Circuit:特定用途向け制御装置)106、I/
Oメモリ107、およびI/Oバス108を具備して構
成される。
【0023】ここで、MPU101は、このCPUユニ
ット部の全体の動作を司るマイクロプロセッサユニット
であり、従来のプログラマブルコントローラと同様に、
ユーザプログラム実行処理と、入出力リフレッシュ処理
とイベント処理とをサイクリックに行う。そして、内部
バスを介して、ROM102,BUM103,RAM1
04並びにASIC106と接続されている。
【0024】ROM102は、このCPUユニット部の
システムファームウェアを格納するメモリである。この
ROM102には、具体的には入出力リフレッシュやイ
ベント処理などの全体の動作に関わるプログラムや、M
PU101で実行されるユーザプログラム命令の実態で
あるプログラムが格納される。
【0025】RAM104は、このCPUユニット部の
システムワークとして使用されるメモリである。このR
AM104には、上述のシステムが動作するために一時
的に使用されるデータが格納される。例えば、演算の中
間データを含むデータである。また、ユーザメモリ10
5は、ユーザがツールを利用してラダー言語などのPL
C言語により作成されたユーザプログラムを格納するメ
モリである。
【0026】ASIC106は、内部バスを介してMP
U101,ROM102,BUM103,RAM104
と繋がっている。また、ユーザメモリ105とI/Oメ
モリ107とは直接接続されている。さらに、I/Oバ
ス108に対しても接続されており、I/Oユニットや
通信ユニットとバス通信する。そして、ASIC106
は、ユーザメモリ105に格納されたユーザプログラム
を読み出し、その命令がASICで実行可能か否かの判
断処理,ASICで実行可能な命令の実行処理,I/O
リフレッシュである入出力リフレッシュ処理の内のDM
A転送処理,I/Oバス108についてのバスインタフ
ェース処理およびI/Oメモリの調停処理等を実行する
専用の制御装置である。なお、このASIC106とM
PU101との連係動作については、後述する。
【0027】I/Oメモリ107は、このプログラマブ
ルコントローラの制御に必要な入出力データ、つまり、
ユーザメモリ105に格納されたユーザプログラムを実
行するときに使用する入力データや演算結果としての出
力データを格納する機能を有する。このI/Oメモリ1
07のデータを必要とするのは、MPU101,ASI
C106,I/Oバス108を介して繋がれたI/Oユ
ニット及び通信ユニット(図示せず)と複数に渡り、メ
モリアクセスの調停をASIC106が行うことで不具
合なくデータのやりとりが成される。
【0028】さて、本実施の形態のプログラマブルコン
トローラのCPUユニット部においては、I/Oメモリ
107内に、システム設定エリアがあって、そのエリア
内にこのプログラマブルコントローラの動作モードを指
定するエリアを設ける。MPU101は、プログラマブ
ルコントローラの運転開始時に係るI/Oメモリ107
のシステム設定エリアに格納された動作モードの指定内
容を読み込み、この読み込んだ動作モードに対応するよ
うに内部処理を選択する。なお、具体的な動作モードは
以下の通りである。
【0029】I/Oメモリ107の中で、このエリアに
格納される動作モードは、 (1)通常モード (2)並列実行モード の2種類である。
【0030】ここで、通常モードとは、後述するユーザ
プログラムの実行処理および入出力リフレッシュ処理
と、イベント処理とを並列実行しないモードである。つ
まり、従来と同様に、ユーザプログラムを演算実行する
処理と入出力リフレッシュ処理並びにイベント処理(周
辺サービス処理)等を順次サイクリックに実行するモー
ドである。
【0031】一方、並列実行モードは、この発明の特徴
であるプログラマブルコントローラの実行処理方法であ
る。その概要は、第1に、従来の一連のサイクリック処
理の1つとして行われていたイベント処理を、ASIC
106がユーザプログラムを実行している間にMPU1
01が行うようにした。つまり、通常モードのように、
イベント処理の実行を、一連のサイクリック処理の中の
入出力リフレッシュ処理が終了した後に行うのではな
く、ASIC106がユーザプログラムの実行処理期間
中に、MPU101で並列的にイベント処理を行うよう
にした。
【0032】係る構成を採ることで、一連のサイクリッ
ク処理からイベント処理が無くなり、ユーザプログラム
の演算実行処理とイベント実行処理との並列処理と、入
出力リフレッシュ処理の2つの処理が順次繰り返し実行
されるプログラマブルコントローラとなる。
【0033】また、概要の第2としては、従来のイベン
ト処理の実行を、ASIC106が入出力リフレッシュ
処理中のDMA転送している間に、MPU101が行う
ようにした。つまり、通常モードのように、イベント処
理の実行を、一連のサイクリック処理の中の入出力リフ
レッシュ処理が終了した後に行うのではなく、ASIC
106がDMA転送処理をしている期間中に、MPU1
01で並列的にイベント処理を行うようにした。
【0034】係る構成を採ることで、一連のサイクリッ
ク処理からイベント処理が無くなり、ユーザプログラム
の演算処理と、入出力リフレッシュ処理が順次繰り返し
実行されるとともに、各処理の所定のタイミングでイベ
ント処理が並列処理されるプログラマブルコントローラ
となる。
【0035】なお、本実施の形態では、上記した第1の
概要ポイントと第2の概要ポイントを併せ持ったプログ
ラマブルコントローラを例に挙げて説明しているが、本
発明は、これに限ることはなく、いずれか一方の機能を
備えたものでももちろん良い。
【0036】次に、並列実行モードの具体的な処理手順
について説明する。図2は、並列実行モードが選択され
た場合の図1に示したMPU101並びにASIC10
6の内部処理を説明する図である。
【0037】図2に示すように、まず、MPU101
は、共通処理201を実行した後、ユーザプログラムの
命令実行初期処理202において、ASIC106に対
してユーザプログラムの命令の実行依頼を行って、AS
IC命令203を起動する。係るMPU101からAS
IC106に対するASIC命令の実行依頼は、たとえ
ばASIC106の起動用レジスタにMPU101が書
き込み処理を行うことによってなされる。
【0038】ASIC106は、実行依頼を受け取る
と、ユーザメモリ105にアクセスし、そのユーザメモ
リ105に格納されたユーザプログラムを読みに行く。
そして、ASIC106は、ユーザプログラム中の命令
内容について順次取り込み、ASIC106で実行可能
か否かを判断する。係る判断をした結果、実行可能な場
合には、ASIC106が係る命令を実行し、その後、
次の命令を取り込み実行可能か否かを判断する。本実施
の形態では、ASIC106は、多くの命令が実行可能
なように設計開発されたものとしているので、実行可能
と判断される命令が連続する。よって、ASIC106
では、実行可能な命令が次々と処理され、図2に示すよ
うに、一定の期間ASIC命令203が実行される。そ
して、このASIC命令203は、ASIC106で実
行可能でない命令が出現するまで継続する。
【0039】一方、MPU101は、上記ASIC10
6に対するASIC命令の実行依頼後、ユーザプログラ
ムの演算処理がASIC106で処理している期間(A
SIC命令203が実行されている期間)、他の処理が
できる。そこで、その期間を利用して周辺周辺サービス
処理等のイベント処理204を実行する。すなわち、M
PU101は、この期間中、I/Oバス108に繋がれ
た通信ユニット(図示せず)からイベント処理要求があ
るか否かをチェックする。そして、イベント要求がない
時はそのまま待機状態となり、イベント処理要求がある
場合には、その要求を受けたイベント処理を実行する。
イベント処理の一例としては、I/Oメモリ107の内
容の一部を読み出して通信ユニットやツールなどに送る
処理や、逆に通信ユニットが持っているI/Oデータを
CPUユニットが取り込んでI/Oメモリ107に書き
込む処理や、ツールからI/Oメモリ107のデータを
書き換える処理などがある。もちろん、このイベント処
理204の期間中に複数のイベント要求が来る場合もあ
るし、1度も来ない場合もある。
【0040】なお、イベント処理をする際、I/Oメモ
リ107へのアクセスは、ASIC106が調停をす
る。この調停処理と、ASIC命令203の実行との関
係は、直列処理である。つまり、ASIC106は、1
つの命令に対してASICで実行可能か否かの判断処理
及び実行可能な命令の実行処理をした後、必要に応じて
メモリの調停処理を行う。その調停処理が完了すると、
次の命令を読み出し、実行可能か否かの判断等を行う。
もちろん、命令処理と、調停処理を独立に並列処理する
ようにしても良い。いずれにしても、MPU101がイ
ベント処理対応可能とし、かつASIC106がユーザ
プログラムの命令実行を同時に行うようになるので、こ
の状態では、ASIC106によるユーザプログラムの
命令の実行、すなわちASIC命令203の実行と、M
PU101によるイベント処理204の実行とが並列実
行となっているといえる。
【0041】そして、ASIC106がユーザプログラ
ムの命令実行を次々とユーザメモリ105から読み出
し、ユーザプログラムの命令でASICで実行可能でな
い命令(当初からASIC処理命令としておらず、MP
Uで処理する命令としていたもの)だと判断すると、A
SIC命令203の実行が中止となり、ASIC106
はレジスタにその旨の信号を出し、MPU101に対し
て実行依頼をする。実際には、ASIC106からMP
U101へ割込み通知がなされる。これにより、MPU
101は、上記イベント処理204を中止するか、イベ
ント処理の区切りのところまで処理を実行した後、MP
U101で実行すべきユーザプログラムの命令の演算実
行処理を行う。つまり、図示のMPU命令205を開始
する。
【0042】このMPU命令205としての1つの命令
の演算処理の実行が終了すると、MPU101は、再び
ASIC106に対して実行依頼をする。そして、AS
IC106は、次の命令をユーザメモリ105から読み
出し、その命令がASICで実行可能か否かを判断す
る。実行可能な命令で有れば、ASIC106での実行
となり、図示のASIC命令206を起動する。そし
て、読み出した命令がASIC106で実行不可能でM
PU101で処理すべきと判断されるまで、ASIC命
令206は続き、その期間、MPU101は、周辺サー
ビス処理等のイベント処理207を実行する。
【0043】この状態でも、上述の並列処理と同様に、
ASIC106によるユーザプログラムの命令の実行、
すなわちASIC命令206の実行と、MPU101に
よるイベント処理207の実行との並列実行となる。そ
して、ASIC106にて実行可能でない命令だと判断
すると、ASIC命令206の実行が中止となり、AS
IC106はレジスタにその旨の信号を出し、MPU1
01に対して実行依頼をする。これにより、MPU10
1は、上記イベント処理207を中止するか、イベント
処理の区切りのところまで処理を実行した後、MPU1
01で実行すべきユーザプログラムの命令の演算実行処
理を行う。つまり、図示のMPU命令208を開始す
る。
【0044】このように、MPU101によるユーザプ
ログラムの命令実行(演算処理)並びにASIC106
とMPU101の並列処理は、ユーザプログラムの命令
を全て実行して終了するまで繰り返される。なお、図示
の例では、MPU実行命令20で処理が終了している
が、並列処理で終了することももちろんある。
【0045】そして、ユーザプログラムが終了すると、
MPU101は、命令実行終了処理209をしてから入
出力リフレッシュ処理210の実行を始める。この処理
は、I/Oメモリ107のリフレッシュ更新をするもの
である。説明すると、I/Oバス108に繋がれたI/
Oユニット(図示せず)の入力データを取り込んで、I
/Oメモリ107の入力データエリアに書き込むととも
に、I/Oメモリ107に記憶されたユーザプログラム
の演算実行結果を出力データとしてI/Oユニットに送
信する処理を行う。つまり、I/Oメモリ107とI/
Oユニットにある共有メモリとの間でデータ交換を行う
ものである。対象は、I/Oユニットの他に、アナログ
演算ユニットなどのいわゆる高機能ユニットがある。
【0046】この入出力リフレッシュ処理210におい
て、データ交換量が多い場合に、MPU101は、AS
IC106のDMA転送211を起動してDMA転送2
11を行う。ASIC106は、上述のようにメモリの
アクセス調停をする機能に加え、DMA転送する機能を
持っている。この機能は、例えばI/Oメモリのリフレ
ッシュするデータが、メモリ中の連続したエリアにまと
まって存在するときに、そのデータをまとめてI/Oバ
ス108を介して外部のユニットの共有メモリの連続し
たエリアに転送する場合に、DMA転送の方法を用い
る。なお、外部ユニットの共有メモリの連続したエリア
のデータを、I/Oメモリ108の連続したエリアに取
り込む場合にも、DMA転送を利用する。特に、高機能
ユニットとの間でアナログデータを受け渡しする場合に
は、DMA転送をよく利用する。
【0047】MPU101は、入出力リフレッシュ処理
を行うとき、随時リフレッシュする対象のデータがDM
A転送する方が適するか否かを判断する。つまり、I/
Oユニットに対する個別のデータリフレッシュならば、
「否」と判断し、図示の符号210のようにMPU10
1にて処理する。アナログ演算ユニットに対するまとま
ったデータリフレッシュならば「適」と判断し、ASI
C106へ処理依頼をし、図示のようにASIC処理と
してDMA転送211が実行される。なお、DMA転送
を、外部ユニット側で指定しておき、その指定を呼んで
MPU101がDMA転送すると判断させるようにして
も良い。
【0048】この場合、ASIC106に処理依頼し、
ASIC106がDMA転送処理をしている期間は、M
PU101は他の処理をすることが可能となる。よっ
て、その期間、すなわちDMA転送211の開始から終
了までの時間を利用してMPU101による周辺サービ
ス処理等のイベント処理212が実行される。
【0049】このようにDMA転送処理をしている期
間、ASIC106によるDMA転送211の実行と、
MPU101によるイベント処理212の実行との並列
実行となる。このイベント処理212は、上述のイベン
ト処理204,207と同様の処理を行うものである。
ASIC106によるDMA転送211が完了すると、
ASIC106からMPU101へ割り込みが通知さ
れ、これにより、MPU101はイベント処理212を
中止するか、1つのイベント処理を終了するかのどちら
かをし、再び入出力リフレッシュ処理213に移る。入
出力リフレッシュ処理中に、DMA転送をすべき対象デ
ータが有れば、MPU101からASIC106に対し
てDMA転送の処理依頼を送り、それに伴い、上述のよ
うなASIC処理としてDMA転送211とMPU処理
としてイベント処理212と同様の並列処理を行う。以
後、このような入出力リフレッシュ処理と、DMA転送
とイベント処理との並列実行処理とが、必要により繰り
返される。
【0050】入出力リフレッシュ処理が全て完了する
と、従来行われていた周辺サービス処理(イベント処
理)は行われずに、共通処理に戻る。つまり、このプロ
グラマブルコントローラの一連のサイクリック処理は、
動作モードによって異なることになる。繰り返し説明す
ると、通常モードは、従来通りに共通処理,ユーザプロ
グラムの演算実行処理,入出力リフレッシュ処理,イベ
ント処理を一連のサイクリック処理として順次繰り返し
実行する。一方、並列実行モードでは、共通処理,ユー
ザプログラムの演算実行処理,入出力リフレッシュ処理
を一連のサイクリック処理として順次繰り返し実行す
る。そして、ユーザプログラムの実行処理において、A
SIC106が命令実行しているときに、MPU101
がイベント処理を並列処理するようにしている。また、
入出力リフレッシュ処理において、ASIC106がD
MA転送しているときに、MPU101がイベント処理
を並列処理するようにしている。
【0051】なお、本実施の形態では、並列処理によっ
て周辺サービス(イベント処理)を実行しているので、
入出力リフレッシュ処理213が完了すると、周辺サー
ビス処理を行わずに共通処理に戻る構成とした。
【0052】ところで、プログラマブルコントローラの
CPUユニットにメモリカードを増設する場合がある。
このメモリカードには、コンパクトフラッシュ(登録商
標)メモリが用いられていて、例えばCPUユニットで
の処理履歴や、異常やエラーの履歴に関するデータを記
憶させておく場合がある。そして、その履歴データを外
部のツールで記憶させておく場合がある。そして、その
履歴データを外部のツールで収集したい場合がある。
【0053】係る場合、通常の通信ユニットとのデータ
交換などのイベント処理に比べて、かなりの時間を必要
とする。そのような処理を上述の並列処理によるイベン
ト処理(204,207,212など)で行おうとする
と、処理の途中で中止となり、ツールでデータ収集でき
なかったり、イベント処理タイムが通常に比べて大きく
なりすぎ、うまく処理できない状況となる。
【0054】このような時間のかかるイベント処理が必
要な場合には、入出力リフレッシュ処理213の後に、
イベント処理を例外的に設けるようにすると良い。実際
には、MPU101がイベント処理204,207,2
12の期間中に、時間がかかるイベント処理の要求があ
ると判断すると、その期間中に処理をせずに要求があっ
たことを記憶しておき、そのサイクルの最後の処理であ
る入出力リフレッシュ処理213の完了後に、そのイベ
ント要求によるイベント実行をする。よって、このサイ
クルでは並列実行モードであるが、入出力リフレッシュ
処理の後にイベント処理を行うことになる。このよう
に、イベント処理を直列的に実行する制御方式も、本発
明は含む概念である。
【0055】また動作モードとして、上記した実施の形
態では(1)通常モードと(2)並列実行モードの2つ
を示したが、他の方式として、例えば、(3)通常モー
ドと同様の一連のサイクリック処理を行うとともに、図
2中のASIC実行203,206とイベント処理20
4,207を行い、さらに、DMA転送処理211とイ
ベント処理212を行うモード;(4)(2)または
(3)のモードと似ているがDMA転送211時にイベ
ント処理を行わないモード;のようなモードを採用する
こともできる。
【0056】さらにまた、上記した実施の形態並びに変
形例では一連のサイクリック処理として、共通処理,ユ
ーザプログラム実行処理,入出力リフレッシュ処理(+
周辺処理)を繰り返し実行するもので説明したが、他の
形態のサイクリック処理ももちろんとりうる。
【0057】一例としては、 (a)共通処理,入力リフレッシュ処理,ユーザプログ
ラムの演算実行処理,出力リフレッシュ処理,(+周辺
処理) (b)共通処理、入出力リフレッシュ処理,ユーザプロ
グラムの演算実行処理,(+周辺処理) 等がとりうる。すなわち、I/Oリフレッシュ処理は、
入力リフレッシュと出力リフレッシュを別々に行っても
良いし、一緒に行ってもよい。
【0058】これら(a),(b)のサイクリック処理
を行うプログラマブルコントローラにおいても同様に、
ユーザプログラム実行処理がASIC処理として行われ
ている期間を利用して、MPU処理としてイベント処理
を行うことで上述の並列実行モードと同様となる。ま
た、入出力リフレッシュ処理、または入力リフレッシュ
処理か出力リフレッシュ処理の中でDMA転送をASI
C処理として行われている期間を利用して、MPU処理
としてイベント処理を行うことでも上述の並列実行モー
ドと同様となる。
【0059】さらにまた、この(a),(b)のプログ
ラマブルコントローラの並列実行モードにおいても、動
作モードとして(1),(2),(3),(4)は適用
可能である。
【0060】上記構成によると、MPU101の処理可
能時間を有効に利用するべく、ASIC106が実行中
に、MPU101はイベント処理を行う構成としたこと
により、プログラマブルコントローラのCPUユニット
部のサイクルタイムを短縮することができる。
【0061】なお、上記実施の形態においては、上記並
列実行モードを選択しない場合は従来と同様の動作も可
能になる。
【0062】
【発明の効果】以上説明したようにこの発明によれば、
プログラマブルコントローラが保有する汎用演算処理装
置と特定用途向け制御装置を同時に処理、つまり、特定
用途向け制御装置がユーザプログラムの演算処理及びま
たはI/Oリフレッシュ時のDMA転送処理を行ってい
る期間を、汎用演算処理装置におけるイベント処理期間
とすることにより、サイクリックに行うイベント処理を
無くすか、減少させることができ、イベント応答性を改
善することができる。
【図面の簡単な説明】
【図1】この発明に係わるプログラマブルコントローラ
のCPUユニット部の全体構成を示すブロック図であ
る。
【図2】図1に示したMPUの並列実行モードが選択さ
れた場合における内部処理を説明する図である。
【図3】従来のプログラマブルコントローラのCPUユ
ニットの基本サイクル処理を示すフローチャートであ
る。
【図4】従来のプログラマブルコントローラシステムの
問題点を説明するためのブロック図である。
【符号の説明】
101 MPU(Micro Processing
Unit) 102 ROM(Read Only Memory) 103 BUM 104 RAM(Random Access Mem
ory) 105 ユーザメモリ 106 ASIC(Application Spec
ific Integrated Circuit:特
定用途向け制御装置) 107 I/Oメモリ 108 I/Oバス 401 上位系 402 親プログラマブルコントローラ(親PLC) 403,404,405 子プログラマブルコントロー
ラ(子PLC)

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 汎用演算処理装置と特定用途向け制御装
    置とを搭載したプログラマブルコントローラにおいて、 前記汎用演算処理装置から前記特定用途向け制御装置に
    対してユーザプログラムの実行処理依頼を行って前記特
    定用途向け制御装置を起動した場合に、前記汎用演算処
    理装置は、前記特定用途向け制御装置が依頼されたユー
    ザプログラムを実行中に、イベント処理を実行すること
    を特徴とするプログラマブルコントローラ。
  2. 【請求項2】 汎用演算処理装置と特定用途向け制御装
    置とを搭載したプログラマブルコントローラにおいて、 前記汎用演算処理装置から前記特定用途向け制御装置に
    対してI/Oリフレッシュ処理におけるDMA転送処理
    依頼を行って前記特定用途向け制御装置を起動した場合
    に、前記汎用演算処理装置は、前記特定用途向け制御装
    置が依頼されたI/Oリフレッシュ処理におけるDMA
    転送処理を実行中に、イベント処理を実行することを特
    徴とするプログラマブルコントローラ。
  3. 【請求項3】 汎用演算処理装置と特定用途向け制御装
    置とを搭載したプログラマブルコントローラの制御方法
    において、 前記汎用演算処理装置は、ユーザプログラムの演算実行
    中に、その一部の命令の実行処理依頼を前記特定用途向
    け制御装置に対して行い、 前記特定用途向け制御装置は、受け取った前記実行処理
    依頼に伴い、前記ユーザプログラム中の所定の命令を実
    行し、 前記汎用演算処理装置は、前記特定用途向け制御装置が
    前記所定の命令を実行している期間、イベント処理要求
    の有無を判断し、前記イベント処理要求があった場合に
    そのイベント処理を実行することを特徴とするプログラ
    マブルコントローラの制御方法。
  4. 【請求項4】 汎用演算処理装置と特定用途向け制御
    装置とを搭載したプログラマブルコントローラの制御方
    法において、 前記汎用演算処理装置は、I/Oリフレッシュ処理中
    に、DMA転送処理依頼を前記特定用途向け制御装置に
    対して行い、 前記特定用途向け制御装置は、受け取った前記DMA転
    送処理依頼に伴い、そのDMA転送処理を実行し、 前記汎用演算処理装置は、前記特定用途向け制御装置が
    前記DMA転送処理を実行している期間、イベント処理
    要求の有無を判断し、前記イベント処理要求があった場
    合にそのイベント処理を実行することを特徴とするプロ
    グラマブルコントローラの制御方法。
  5. 【請求項5】 前記汎用演算処理装置が、ユーザプログ
    ラムの演算実行処理やI/Oリフレッシュ処理と独立し
    てイベント処理を実行するステップを含むことを特徴と
    する請求項3または4に記載のプログラマブルコントロ
    ーラの制御方法。
JP2002097793A 2001-03-30 2002-03-29 プログラマブルコントローラ及びその制御方法 Expired - Lifetime JP3548780B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002097793A JP3548780B2 (ja) 2001-03-30 2002-03-29 プログラマブルコントローラ及びその制御方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001-100232 2001-03-30
JP2001100232 2001-03-30
JP2002097793A JP3548780B2 (ja) 2001-03-30 2002-03-29 プログラマブルコントローラ及びその制御方法

Publications (2)

Publication Number Publication Date
JP2002358104A true JP2002358104A (ja) 2002-12-13
JP3548780B2 JP3548780B2 (ja) 2004-07-28

Family

ID=26612790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002097793A Expired - Lifetime JP3548780B2 (ja) 2001-03-30 2002-03-29 プログラマブルコントローラ及びその制御方法

Country Status (1)

Country Link
JP (1) JP3548780B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7243260B2 (en) 2002-12-27 2007-07-10 Omron Corporation Programmable controller unit and method of automatically restoring memory
JP2007280376A (ja) * 2006-03-15 2007-10-25 Omron Corp プログラマブル・コントローラ
JP2008234394A (ja) * 2007-03-22 2008-10-02 Koyo Electronics Ind Co Ltd プログラマブルコントローラの高速化方法
JP2010238232A (ja) * 2009-03-12 2010-10-21 Omron Corp 産業用コントローラ
KR20160141938A (ko) * 2015-06-01 2016-12-12 엘에스산전 주식회사 Plc용 스캔 프로그램의 구동 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7243260B2 (en) 2002-12-27 2007-07-10 Omron Corporation Programmable controller unit and method of automatically restoring memory
JP2007280376A (ja) * 2006-03-15 2007-10-25 Omron Corp プログラマブル・コントローラ
JP2008234394A (ja) * 2007-03-22 2008-10-02 Koyo Electronics Ind Co Ltd プログラマブルコントローラの高速化方法
JP2010238232A (ja) * 2009-03-12 2010-10-21 Omron Corp 産業用コントローラ
KR20160141938A (ko) * 2015-06-01 2016-12-12 엘에스산전 주식회사 Plc용 스캔 프로그램의 구동 방법
KR102259094B1 (ko) * 2015-06-01 2021-06-01 엘에스일렉트릭(주) Plc용 스캔 프로그램의 구동 방법

Also Published As

Publication number Publication date
JP3548780B2 (ja) 2004-07-28

Similar Documents

Publication Publication Date Title
US20060155960A1 (en) Programmable controller
JP5275414B2 (ja) リードアドレス可能バーチャルdmaコントロール及び状態レジスタ
JP4151198B2 (ja) 割込コントローラ及びマイクロコンピュータ
US9552050B2 (en) Information processing device, printing device, and control method
JP3548780B2 (ja) プログラマブルコントローラ及びその制御方法
JPH0714382A (ja) マイクロコンピュータ
TWI581103B (zh) 以精確計時用於實施匯流排操作的方法與系統
JP2522401B2 (ja) プログラマブルコントロ―ラ
JP2584903B2 (ja) 外部装置制御方式
JP3350699B2 (ja) プログラマブルコントローラ
JP4535663B2 (ja) ステートマシン制御方式およびステートマシン
JPH0452746A (ja) 情報処理システムの入出力コマンド発行方式
JPS6022383B2 (ja) 入出力制御装置
JPH08221106A (ja) プログラマブルコントローラ
JPH02252044A (ja) コプロセッサ及びデータ転送制御方式
JP2679661B2 (ja) Scsiシステム
JPH05233525A (ja) I/o処理装置
JPH10105413A (ja) 割込処理システム
JPS6020771B2 (ja) マイクロ診断方式
JPH04199449A (ja) デバイス制御装置
JPH0619817A (ja) 通信プロセッサ
JPH01318140A (ja) マルチプロセッサシステム
JPH0363858A (ja) 高負荷評価方式
JPH0934828A (ja) Dmaデータ転送制御方式
JPS6227852A (ja) インタフエ−ス方式

Legal Events

Date Code Title Description
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: 20040309

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040322

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3548780

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090430

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100430

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110430

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140430

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term