JP2002006907A - I/oユニット及びプログラマブルコントローラシステム - Google Patents

I/oユニット及びプログラマブルコントローラシステム

Info

Publication number
JP2002006907A
JP2002006907A JP2000191715A JP2000191715A JP2002006907A JP 2002006907 A JP2002006907 A JP 2002006907A JP 2000191715 A JP2000191715 A JP 2000191715A JP 2000191715 A JP2000191715 A JP 2000191715A JP 2002006907 A JP2002006907 A JP 2002006907A
Authority
JP
Japan
Prior art keywords
unit
cpu
program
input
cpu unit
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
Application number
JP2000191715A
Other languages
English (en)
Inventor
Shuji Otani
修史 大谷
Junichi Yoshida
順一 吉田
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 JP2000191715A priority Critical patent/JP2002006907A/ja
Publication of JP2002006907A publication Critical patent/JP2002006907A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【課題】 ユニットにプログラミング機能を搭載するこ
とにより、ユーザにおいて自由にI/O制御ロジック、
演算機能をプログラミングできるようにして、ユニット
をユーザの用途に合わせてカスタマイズ(最適化)して
利用できるようにしたI/Oユニットを提供する 【解決手段】 ユーザはI/Oユニット20に対してI
/O制御ロジック、演算処理のためのプログラムを入力
してユーザオリジナルのユニット動作モードを作り上
げ、制御対象、制御方式に最適な状態にカスタマイズし
て使用できるようにする。また、I/Oユニット20に
は入出力ボード23が装着できるよう構成され、入出力
ボード23にはパルス入力、アナログ入力、特殊センサ
入力等が入力される特殊入力回路31と、パルス出力、
アナログ出力等が出力される特殊出力回路32とを具備
して、特殊入出力の制御はI/Oユニット20で行なう
ようにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、プログラマブル
コントローラのI/Oユニット及びプログラマブルコン
トローラシステムに関し、詳しくは、I/Oユニットに
プログラミング機能を搭載することにより、I/Oユニ
ットをユーザのニーズに合わせてカスタマイズして利用
できるようにしたプログラマブルコントローラのI/O
ユニット及びプログラマブルコントローラシステムに関
する。
【0002】
【従来の技術】従来、プログラマブルコントローラ(プ
ログラマブルロジックコントローラ)システムにおいて
は、CPUユニット、I/Oユニット(入出力ユニッ
ト)等のユニットがビルディングブロックタイプに配列
されてシステムが構築されている(いわゆる集合ユニッ
ト型)。
【0003】ここで、CPUユニットは、I/Oユニッ
トからの入力信号(接点情報)に基づいてユーザプログ
ラムの演算実行を行ない、実行結果をI/Oユニットに
出力する等の処理を行なうとともにプログラマブルコン
トローラシステム全体を統括制御するものである。
【0004】また、I/Oユニットは直接プログラマブ
ルコントローラシステムにおける制御対象機器が接続さ
れるユニットで、制御対象機器からの入力信号をCPU
ユニットに送出するとともに、CPUユニットからの出
力信号を受信して制御対象機器に出力するものである。
【0005】ところで、近年、CPUユニットの負荷軽
減、スキャンタイムの短縮等を目的として、I/Oユニ
ットに新機能を付加した以下のような高機能I/Oユニ
ットと呼ばれるI/Oユニットが普及してきている。
【0006】(1)I/Oユニットにパルスやアナログ
などの特殊な入出力がある場合、それらの特殊な入出力
についてのプログラム演算機能等、I/Oユニットに想
定される特別のアプリケーションを付加し、アプリケー
ションに沿ったI/O制御、演算機能等を動作モードと
して組み込んだ高機能I/Oユニット。
【0007】この、高機能I/Oユニットでは、ユーザ
は組み込まれた複数の動作モード中から所望の動作モー
ドを選択して使用する。
【0008】(2)従来のI/Oユニットにシーケンス
プログラムを搭載し、CPUユニットと独立してI/O
制御を行なう高機能I/Oユニット。
【0009】この、高機能I/Oユニットでは、高機能
I/Oユニット側でプログラムを実行する分、CPUユ
ニット側の負荷が軽減される。
【0010】
【発明が解決しようとする課題】しかしながら、上記の
如き従来の高機能I/Oユニットでは、以下の問題点が
あった。
【0011】まず、上記(1)のものでは、I/Oユニ
ットに想定される特別のアプリケーションを付加し、ア
プリケーションに沿ったI/O制御、演算機能等を動作
モードとして組み込んでいるが、これらの動作モードは
予め設定した固定的なものである。つまり、I/Oユニ
ットにはじめから内蔵されているものである。従って、
そのI/O制御手段、演算機能には自由度がなく、動作
モードとして設定した用途以外の用途には利用できな
い。設定した用途以外の用途に利用できない場合、高機
能I/Oユニットは単なるI/Oユニットとしてしか利
用できず、I/O制御、演算機能は全てCPUユニット
が行なうことになる。
【0012】このため、CPUユニットのプログラムが
増大、複雑化することになり、CPUユニットの負荷増
大、スキャンタイムの増大を招くという問題点があっ
た。
【0013】また、スキャンタイムの増大は、INとO
UTのI/O制御、演算機能の性能・精度を落とすとい
う問題点があった。
【0014】また、上記の如きCPUユニットの高機能
I/Oユニットの処理負担は、プログラム内容の増大を
招き、プログラム作成中における作成プログラムの視認
性の劣化、プログラムの作業効率、保守性の低下を招く
という問題点があった。
【0015】また、上記(2)のものでは、高機能I/
Oユニットは入出力の高速化に資する以外何ら効果がな
く、また、たとえI/Oユニットにシーケンスプログラ
ムを搭載してCPUユニットのプログラムを一部切り出
したとしてもプログラマブルコントローラシステム全体
からみてさほど効果的なことではなかった。
【0016】また、従来のI/Oユニットにシーケンス
プログラムを搭載したものでは、CPUユニットとI/
Oユニット間のI/Fが固定的なものであったため、両
者間のデータ授受においてCPUユニット及びI/Oユ
ニット双方のプログラムに依存するところが大きく、こ
れらのプログラムに対する負荷が大きくなるという問題
点があった。
【0017】また、従来のI/Oユニットにシーケンス
プログラムを搭載したものでは、プログラムが入ってい
ない場合にはエラーとなり、プログラムレスのI/Oユ
ニットととしても利用できないという問題点があった。
【0018】そこで、この発明は、ユニットにプログラ
ミング機能を搭載することにより、ユーザにおいて自由
にI/O制御ロジック、演算機能をプログラミングでき
るようにして、ユニットをユーザの用途に合わせてカス
タマイズ(最適化)して利用できるようにしたプログラ
マブルコントローラのI/Oユニットを提供することを
目的とする。
【0019】また、この発明は、従来CPUユニットに
組み込んでいた高機能I/Oユニットの制御プログラム
の一部をI/Oユニットに移行させることにより、CP
Uユニットのプログラムの簡略化、保守性向上、制御処
理分散によるシステムとしてのトータルの性能向上を図
ったプログラマブルコントローラシステムを提供するこ
とを目的とする。
【0020】
【課題を解決するための手段】本発明に係わるプログラ
マブルコントローラのI/Oユニットは、外部で組まれ
たユーザプログラムの入出力部と、上記入出力部から取
り込んだユーザプログラムが格納される書き換え可能な
メモリと、上記メモリに格納されたユーザプログラムを
実行するユーザプログラム実行手段と、を有することを
特徴とする。
【0021】プログラマブルコントローラシステムは、
PS(電源)ユニット、CPUユニット、I/Oユニッ
ト(高機能I/Oユニット)等の多数のユニットで構成
されるシステムである。
【0022】ここで、I/Oユニットには多数の制御対
象機器が接続されるが、この際接続される制御対象に応
じてI/Oユニットには任意の動作モードが設定され
る。
【0023】具体的には、I/Oユニット20とCPU
ユニット40間のデータリンク機能、I/Oユニット2
0側からCPUユニット40に対して任意に割込みを発
生させる機能、CPUユニット40側と同期して動作す
る機能、CPUユニット40側の故障を検出してCPU
ユニット40の故障時の処理をする機能、特殊入出力
(パルス、アナログ、ID等)を扱う入出力ボードの制
御機能等の動作モードが設定される。
【0024】これによって、本発明では、ユーザはI/
Oユニットに対してI/O制御ロジック、演算処理のた
めのプログラムを入力してユーザオリジナルのユニット
動作モードを作り上げ、制御対象、制御方式に最適な状
態にカスタマイズして使用できるようにする。
【0025】すなわち、I/Oユニットに取り込まれ実
行されるプログラムは、ユーザがI/Oユニットで実行
させたいプログラムでユーザが別途作成するカスタマイ
ズされたプログラムである。このプログラムは、プログ
ラマブルコントローラシステムのCPUユニットでなさ
れる処理プログラム(システムプログラム、ユーザプロ
グラム)とは独立した別のもので、I/Oユニット向け
で独自のI/O制御ロジックや任意の演算処理などを行
なうプログラムである。外部ツールを用いて作成される
プログラムで、ユーザが新規作成、または書き換え(変
更または追加)でき、ユーザが自由にプログラミングで
きるものである。
【0026】そのための構成として、本発明では、外部
で組まれたユーザプログラムの入出力部と、上記入出力
部から取り込んだユーザプログラムが格納される書き換
え可能なメモリと、上記メモリに格納されたユーザプロ
グラムを実行するユーザプログラム実行手段と、を有す
る。
【0027】ユーザプログラムの入出力部とは、ツール
との通信を行なう部分で、実施形態では図1に示したプ
ログラム入出力部21である。図1において、プログラ
ム入出力部21はI/Oユニット20の正面に設けられ
ているが、取り付け位置や形態は実施形態に限定されな
い。この入出力部によって、ユーザがプログラミングす
るときに用いるプログラム開発用ツールと直接接続で
き、プログラムをツールへアップロード、ツールからダ
ウンロードすることができる。
【0028】また、本発明に係わるプログラマブルコン
トローラのI/Oユニットは、CPUユニットに対して
着脱でき、入出力データをバスを介してCPUユニット
とやり取りをするプログラマブルコントローラのI/O
ユニットであって、バスを介してユーザプログラムを受
信するユーザプログラム受信手段と、上記ユーザプログ
ラム受信手段で受信したユーザプログラムを格納する書
き換え可能なメモリと、上記メモリに格納されたユーザ
プログラムを実行するユーザプログラム実行手段と、を
有することを特徴とする。
【0029】ここで、バスとは、プログラマブルコント
ローラを構成する各ユニットを接続する通信用バスのこ
とをいい、図1では専用バス61が相当する。
【0030】従って、バスを介してユーザプログラムを
受信するユーザプログラム受信手段とは、パソコン10
で開発されたユーザプログラムをI/Oユニット20に
導く構成をいい、図1では、パソコン10で開発された
プログラムを、CPUユニット40の通信ポート41,
プログラマブルコントローラの専用バス61等を介して
I/Oユニット20−1にダウンロードさせる構成をい
う。
【0031】なお、プログラムの受信(ツールへのアッ
プロード、ツールからのダウンロードを含む)は、上記
の如く、I/Oユニットの入出力部からもできるので、
使用現場の都合等を考慮してバスを介した受信かI/O
ユニットの入出力部からの受信かの選択をすると良い。
【0032】また、上記ユーザプログラム受信手段で受
信したユーザプログラムを格納する書き換え可能なメモ
リとは実施形態では図2のPRGメモリ27が相当す
る。書き換え可能なメモリである。なお、このメモリは
実施形態のように独立した専用のメモリを設けても良い
が、他のメモリと兼用してもよい。
【0033】なお、I/Oユニットのプログラムを変更
するときは、ツールからプログラムを全て上記入出力部
か上記バスを介して再びダウンロードしてPRGメモリ
27の任意のエリアに格納すればよい。また、上書き保
存してもよい。
【0034】また、オンラインエディットで一部を変更
するときなどは、PRGメモリ27から一部をツールに
アップロードし、ツールにて表示し(例えばラダー表
示)、ユーザがツールで一部変更してから再度PRGメ
モリ27に送るようにすればよい。
【0035】また、本発明に係わるプログラマブルコン
トローラのI/Oユニットは、パルス等の特殊入出力を
扱う入出力ボードと、上記入出力ボードに入力された特
殊入力に基づいてプログラミングされた制御プログラム
を実行し、該実行結果を上記入出力ボードに出力するプ
ログラム実行手段と、を有することを特徴とする。
【0036】本発明では、I/Oユニットは、パルス等
の特殊入力が入力されるとともに、該入力に基づいて上
記プログラム実行手段でプログラムが実行されると該実
行結果が出力される入出力ボードが装着可能とされてい
る。
【0037】実施形態では、図3に示す如く、I/Oユ
ニット20には、パルス入力、アナログ入力、特殊セン
サ入力等が入力される特殊入力回路31と、パルス出
力、アナログ出力等が出力される特殊出力回路32とを
具備する入出力ボード23が装着されている。
【0038】これによって、特殊入出力の制御はI/O
ユニット単独で行なうことができ、プログラマブルコン
トローラシステムの構成に依存しない安定した入出力制
御ができ、かつCPUユニットへのプログラム依存度が
小さくなるのでサイクルタイムを短くすることができ
る。
【0039】また、本発明に係わるプログラマブルコン
トローラのI/Oユニットは、CPUユニットに対して
着脱でき、入出力データをCPUユニットとやり取りを
するプログラマブルコントローラのI/Oユニットであ
って、プログラミングされた制御プログラムを実行する
とともに所定の入力条件に基づいてCPUユニット側に
対して任意のタイミングで割込みトリガを発生させるこ
とを特徴とする。
【0040】割込みトリガとは、CPUユニットがサイ
クリックにプログラムを実行中、プログラムの実行を中
断させて割込みプログラムを実行させるトリガをいう。
【0041】実施形態では、図11に示したI/Oユニ
ット側プログラム240が相当する。
【0042】これによって、I/Oユニットの演算機能
にCPUユニットに対する割込み機能を搭載したので、
任意の割込み発生ロジック、割込みタイミングを作るこ
とが可能となる。
【0043】また、本発明に係わるプログラマブルコン
トローラのI/Oユニットは、CPUユニットに対して
着脱でき、入出力データをCPUユニットとやり取りを
するプログラマブルコントローラのI/Oユニットであ
って、プログラミングされた制御プログラムを実行する
とともにCPUユニット側とデータリンクするデータリ
ンク手段を有することを特徴とする。
【0044】ここで、データリンクとは、I/Oユニッ
トとCPUユニットとが互いにデータの授受を行なうこ
とをいう。
【0045】実施形態では、図5に示した変数メモリ2
9c、49cのシステム設定により、CPUユニット4
0及びI/Oユニット20は互いの任意のメモリにデー
タリンクできるよう構成されている。このため、双方の
I/Fプログラムを簡略化することができる。
【0046】また、本発明に係わるプログラマブルコン
トローラのI/Oユニットは、CPUユニットに対して
着脱でき、入出力データをCPUユニットとやり取りを
するプログラマブルコントローラのI/Oユニットであ
って、プログラミングされた制御プログラムを実行する
とともにCPUユニット側からの指令に基づいてCPU
ユニット側と同期動作をすることを特徴とする。
【0047】ここで、同期動作をするとは、CPUユニ
ットとI/Oユニットが同一タイミングで動作すること
をいう。
【0048】本発明では、図12に示したCPUユニッ
ト主導モードにおいては、CPUユニット40側のプロ
グラムで任意にI/Oユニット20側のRUNフラグを
コントロールできるようにし、これによってI/Oユニ
ット20のプログラム実行を起動または停止できるよう
にした。このため、I/Oユニット20側にはCPUユ
ニット40と同期をとるためのプログラムは不要とな
り、サイクルタイムを短くすることができる等の効果を
奏する。
【0049】また、本発明に係わるプログラマブルコン
トローラのI/Oユニットは、CPUユニットに対して
着脱でき、入出力データをCPUユニットとやり取りを
するプログラマブルコントローラのI/Oユニットであ
って、プログラミングされた制御プログラムを実行する
とともにCPUユニット側と非同期動作をすることを特
徴とする。
【0050】非同期動作をするというのは、CPUユニ
ットとI/Oユニットが互いに独立して動作することを
いう。
【0051】本発明では、図13に示すI/Oユニット
主導モードにおいては、I/OユニットとCPUユニッ
トは非同期動作をする。そして、CPUユニットに異常
が発生した場合、I/OユニットはCPUユニット異常
時処理を行なうことができ、プログラマブルコントロー
ラシステムとして安定した機器制御ができる。
【0052】また、本発明に係わるプログラマブルコン
トローラシステムは、プログラミングされた制御プログ
ラムを実行するI/OユニットとCPUユニットからな
るプログラマブルコントローラシステムにおいて、上記
CPUユニット及び上記I/Oユニットのそれぞれの制
御プログラム実行に伴うサイクリック制御情報のうち、
データリンクを希望する相手側のサイクリック制御情報
を指定するサイクリック制御情報指定手段と、上記サイ
クリック制御情報指定手段で指定されたサイクリック制
御情報をサイクリックに収集するサイクリック制御情報
収集手段と、上記サイクリック制御情報収集手段で収集
されたサイクリック制御情報を指定されたデータリンク
に従って上記CPUユニット及び上記I/Oユニットに
転送するサイクリック制御情報転送手段と、を有するこ
とを特徴とする。
【0053】ここで、サイクリック制御情報指定手段
は、CPUユニット及び上記I/Oユニットのそれぞれ
の制御プログラム実行に伴うサイクリック制御情報のう
ち、データリンクを希望する相手側のサイクリック制御
情報を指定するものであるが、実施形態では、データリ
ンクのためのシステム設定を行なう図5のシステム設定
メモリ29cや各ユニット用システム設定メモリ49c
である。
【0054】また、サイクリック制御情報収集手段は上
記サイクリック制御情報指定手段で指定されたサイクリ
ック制御情報をサイクリックに収集するものであるが、
実施形態では、図7のステップ186、188、190
の処理である。
【0055】また、サイクリック制御情報転送手段と
は、上記サイクリック制御情報収集手段で収集されたサ
イクリック制御情報を指定されたデータリンクに従って
上記CPUユニット及び上記I/Oユニットに転送する
ものであるが、実施形態では、図5,6のデータ転送処
理が相当する。
【0056】これによって、本発明では、CPUユニッ
ト及びI/Oユニットは互いの任意のメモリにデータリ
ンクできるので、双方のI/Fプログラムを簡略化する
ことができる。
【0057】また、本発明に係わるプログラマブルコン
トローラシステムは、プログラミングされた制御プログ
ラムを実行するI/OユニットとCPUユニットからな
るプログラマブルコントローラシステムにおいて、上記
I/Oユニットは、所定の入力条件に基づいてCPUユ
ニット側に対して任意のタイミングで割込みトリガを発
生させる割込みトリガ発生手段を有し、上記CPUユニ
ット側は、I/Oユニット側からの割込みトリガにより
指定されたタイミングで所定の割込みプログラムを実行
する割込みプログラム実行手段、を有することを特徴と
する。
【0058】ここで、指定されたタイミングで所定の割
込みプログラムを実行する割込みプログラム実行手段と
は、I/Oユニット側で発生された割込みトリガに基づ
いて所定の割込みプログラムを実行するものをいう。
【0059】実施形態では、図11に示したCPUユニ
ット側プログラム250において、割込みプログラムN
o.10を実行することをいう。
【0060】本発明では、I/Oユニットの演算機能に
CPUユニットに対する割込み機能を搭載したので、任
意の割込み発生ロジック、割込みタイミングを作ること
が可能となり、I/Oユニット側で最適な割込みタイミ
ングを絞り込むことが可能になる。このため、CPUユ
ニット側の割込みプログラム作成も簡易化され、且つ全
体のプログラム実行も不要な割込み発生が減少するため
効率が上がる。
【0061】また、本発明に係わるプログラマブルコン
トローラシステムは、プログラミングされた制御プログ
ラムを実行するI/OユニットとCPUユニットからな
るプログラマブルコントローラシステムにおいて、上記
CPUユニットは、上記I/Oユニットに対して起動命
令を発生する起動命令発生手段を有し、上記I/Oユニ
ットは、上記起動命令に基づきI/O側制御プログラム
を実行し、CPUユニット側と同期動作をすることを特
徴とする。
【0062】図12には、CPUユニット主導モードで
同期をとる場合が示されており、同図(a)に示すCP
Uユニット側プログラムで所定のI/Oユニットスター
トの入力があると、I/OユニットRUN(スタート)
が実行され、I/Oユニット20側ではRUNフラグが
ONとなる。
【0063】これによって、同図(b)に示すI/Oユ
ニット状態別処理では、RUNフラグONかが調べられ
ると(ステップ300)、RUNフラグONが検出され
るので、所定のI/O側プログラムが実行される(ステ
ップ302)。
【0064】このように、CPUユニット主導モードに
おいては、CPUユニット40側のプログラムで任意に
I/Oユニット20側のRUNフラグをコントロールで
きるようにし、これによってI/Oユニット20のプロ
グラム実行を起動または停止できるようにした。このた
め、I/Oユニット20側にはCPUユニット40と同
期をとるためのプログラムは不要となり、サイクルタイ
ムを短くすることができる等の効果を奏する。
【0065】また、本発明に係わるプログラマブルコン
トローラシステムは、プログラミングされた制御プログ
ラムを実行するI/OユニットとCPUユニットからな
るプログラマブルコントローラシステムにおいて、上記
I/Oユニットは、上記CPUユニットの異常を検出す
る異常検出手段と、上記検出された異常を登録する異常
登録手段と、上記異常が登録されている場合はCPU異
常時処理をするCPU異常時処理手段と、上記異常が登
録されていない場合は上記I/Oユニット側制御プログ
ラムを実行するI/Oユニット側制御プログラム実行手
段と、を有し、上記I/Oユニットは上記CPUユニッ
ト側と非同期動作をすることを特徴とする。
【0066】I/Oユニット主導モードでは、I/Oユ
ニットはCPUユニットとは非同期で動作するため、C
PUユニット側の動作モードとは関係なくI/Oユニッ
トの状態で動作する。これにより、CPUユニット側で
異常が発生し、CPUユニットが動作停止しても、I/
Oユニットは運転を継続することができる。
【0067】また、I/Oユニットにおいては、CPU
ユニット側の異常を検出することができるため、上記デ
ータリンク機能とセットで使用することにより、CPU
ユニット側で発生した異常内容、停止時のデータ内容を
参照してI/Oユニットプログラム動作を行なうことが
できる。
【0068】図13はI/Oユニット主導モードにおい
て、CPUユニット40に異常が発生した場合の処理手
順を示すフローチャートである。
【0069】この処理では、CPUユニット40に異常
が発生したか否かが調べられており(ステップ31
0)、CPUユニット40に異常が発生していない場合
は(ステップ310でNO)、ステップ314に進む
が、CPUユニット40に異常が発生している場合は
(ステップ310でYES)、CPUユニット異常時フ
ラグをONして異常登録をし(ステップ312)、ステ
ップ314に進んでI/Oユニットプログラム動作を行
なう。この場合はCPUユニット異常時フラグがONさ
れているので、CPUユニット異常時処理が行なわれる
ことになる。
【0070】このように、I/Oユニット主導モードに
おいては、CPUユニットに異常が発生した場合、I/
OユニットはCPUユニット異常時処理を行なうように
したので、プログラマブルコントローラシステムとして
安定した機器制御ができる。
【0071】
【発明の実施の形態】以下、この発明に係わるI/Oユ
ニット及びプログラマブルコントローラシステムの実施
の形態を添付図面を参照して詳細に説明する。
【0072】図1は、本実施形態に係わるI/Oユニッ
トに搭載されるユニットプログラムの開発環境の概要を
示す概略ブロック図である。
【0073】図1において、10はI/Oユニット(高
機能I/Oユニット)20に搭載されるユニットプログ
ラムの開発ツールとしてのパソコンで、オンライン、オ
フラインでプログラムを開発する。
【0074】パソコン10で開発されたプログラムはシ
リアルI/Fを使ってI/Oユニット20にダウンロー
ドされるが、そのために、I/Oユニット20はダウン
ロード用のプログラム入出力部21を有し、パソコン1
0で開発されたプログラムはプログラム入出力部21を
介してI/Oユニット20にダウンロードされる。
【0075】なお、I/Oユニット20の表面には、プ
ログラム入出力部21の他に、制御対象となる入出力機
器が接続される汎用デジタル入出力部22と、特殊入出
力を取り扱う入出力ボード23(図3参照)の制御対象
となる入出力機器が接続される入出力部23aが設けら
れている。
【0076】なお、図1において、60はビルディング
ブロックタイプのプログラマブルコントローラシステム
で、CPUユニット40と2つのI/Oユニット20−
1,20−2を具備している。そこで、パソコン10で
開発されたプログラムはCPUユニット40を介してI
/Oユニット20−1(I/Oユニット20)に転送す
るよう構成することもできる。この場合は、パソコン1
0で開発されたプログラムは、CPUユニット40の通
信ポート41,プログラマブルコントローラの専用バス
61を介してI/Oユニット20−1にダウンロードさ
れる。
【0077】図2は、図1に示したI/Oユニット20
やCPUユニット40で構成されるプログラマブルコン
トローラシステム60の概略構成を示すブロック図であ
る。プログラマブルコントローラシステム60は、PS
(電源)ユニット、CPUユニット、I/Oユニット
(高機能I/Oユニット)等の多数のユニットで集合ユ
ニットを構成しているが、図2はこのうちI/Oユニッ
ト20とCPUユニット40の部分の構成を示してい
る。
【0078】図2において、I/Oユニット20とCP
Uユニット40は専用バス61を介して接続され、I/
Oユニット20は、バスI/F用デバイス24、CPU
25、ROM26、PRGメモリ27、変数メモリ29
より構成されている。
【0079】また、CPUユニット40は、バスI/F
用デバイス44、CPU45、ROM46、ユーザプロ
グラムメモリ47、RAM48、変数メモリ49より構
成されている。
【0080】ここで、バスI/F用デバイス24は、プ
ログラマブルコントローラシステム60の専用バス61
に接続され、後述するようにI/Oユニット20とCP
Uユニット40がデータ授受(データリンク)を行なう
ときの共有メモリとなるものである。
【0081】CPU25は、I/Oユニット20全体を
統括制御するとともに、図1に示したパソコン10でプ
ログラミングされたプログラムに基づいて、I/Oユニ
ット20とCPUユニット40間のデータリンク機能、
I/Oユニット20側からCPUユニット40に対して
任意に割込みを発生させる機能、CPUユニット40と
同期または非同期で動作する機能、特殊入出力(パル
ス、アナログ、ID等)を扱う入出力ボード23の制御
機能等の処理を行なう。
【0082】ROM26は、CPU25で実行されるシ
ステムプログラムが格納されるメモリである。
【0083】PRGメモリ27は、パソコン10でプロ
グラミングされたプログラムが格納されるメモリであ
る。
【0084】変数メモリ29は、プログラム実行、外部
入出力、CPUユニット40とのI/FのためのI/O
メモリである。なお、この変数メモリ29中には、後述
するシステム設定メモリ(図5のシステム設定メモリ2
9c)も含まれる。
【0085】また、CPUユニット40側のバスI/F
用デバイス44は、プログラマブルコントローラシステ
ム60の専用バス61に接続され、プログラマブルコン
トローラシステム60を構成するI/Oユニット20を
含む他のユニットとのI/Fをとるものである。
【0086】CPU45は、CPUユニット40全体を
統括制御するとともに、CPUユニット40とI/Oユ
ニット20間のデータリンク機能、I/Oユニット20
と同期または非同期で動作する機能等の処理を行なう。
【0087】ROM46は、CPU45で実行されるシ
ステムプログラムが格納されるメモリである。
【0088】ユーザプログラムメモリ47は、入出力の
処理動作を指示するユーザプログラムが格納されるメモ
リである。
【0089】RAM48は、演算結果やタイマ、カウン
タ値等が格納されるメモリである。
【0090】変数メモリ49は、プログラム実行、外部
入出力、I/Oユニット20とのI/FのためのI/O
メモリである。なお、この変数メモリ49中には、後述
する各ユニット用システム設定メモリ(図5の各ユニッ
ト用システム設定メモリ49c)も含まれる。
【0091】図3は、図2に示したI/Oユニット20
の詳細を示すブロック図である。
【0092】図3において、I/Oユニット20は、プ
ログラム実行部30と入出力ボード23より構成され、
プログラム実行部30は汎用デジタル入出力部22、バ
スI/F用デバイス24、CPU25、ROM26、P
RGメモリ27、変数メモリ29を具備し、入出力ボー
ド23は特殊入力回路31、特殊出力回路32を具備し
ている。
【0093】ここで、バスI/F用デバイス24、CP
U25、ROM26、PRGメモリ27、変数メモリ2
9の内容は図2の説明で述べたので重複した説明は省略
する。
【0094】汎用デジタル入出力部22は、プログラマ
ブルコントローラシステムにおける制御対象機器が接続
されるもので、複数の入力接点、出力接点より構成され
ている。
【0095】入出力ボード23はパルス、アナログ等の
特殊入出力が取り扱われるボードで、本実施形態では、
パルス入力、アナログ入力、特殊センサ入力等が入力さ
れる特殊入力回路31と、パルス出力、アナログ出力等
が出力される特殊出力回路32とを具備している。
【0096】次に、図3に示したI/Oユニット20の
全体的な動作を図4を参照しながら説明する。
【0097】この処理では、まず、電源ON時初期処理
を行なう(ステップ100)。この電源ON時初期処理
では、I/Oユニット20及びCPUユニット40のそ
れぞれの変数メモリ29,49にセットされたシステム
設定の内容を読み出し(図5の変数メモリ29,49に
セットされたシステム設定メモリ29c及び各ユニット
用システム設定メモリ49cの内容を読み出す)、I/
Oユニット20のバスI/F用デバイス24上にあるサ
イクリック制御情報登録テーブル(図9のサイクリック
制御情報登録テーブル210)に登録する等の処理を行
なうが、この処理は後に詳述する。
【0098】次に、1サイクルタイムにおける共通処理
を行なう(ステップ110)。
【0099】共通処理が終ると、状態別処理を行ない
(ステップ120)、具体的にはI/Oユニットとして
の演算処理(ステップ122)、I/Oリフレッシュ処
理(ステップ124)を行なう。
【0100】ステップ122の演算処理では、入出力ボ
ード23の特殊入力回路31に入力されるパルス入力、
アナログ入力、特殊センサ入力等に基づいてユーザ命令
を実行し、実行結果を特殊出力回路32に出力する。こ
うして、ステップ122の演算処理では、CPUユニッ
ト40を介することなく、特殊入力回路31及び特殊出
力回路32のデータを書き換える(命令語によるダイレ
クトリフレッシュ)。つまり、入出力ボード23の入出
力はCPUユニット40を介することなく、I/Oユニ
ット20が単独で制御する。
【0101】また、ステップ124のI/Oリフレッシ
ュ処理では、以下の処理が行なわれる。なお、上記の如
く、入出力ボード23の入出力はステップ122の演算
処理中にダイレクトリフレッシュされるので、ステップ
124のI/Oリフレッシュ処理には含まれない。な
お、ステップ124のI/Oリフレッシュ処理にて処理
するようにしてもよい。
【0102】(1)上記汎用デジタル入出力部22に接
続された入出力機器のI/Oリフレッシュ。 (2)I/Oユニット20とCPUユニット40間にお
ける変数メモリ29,49中の固定割付によるデータリ
ンク用エリア(図5の固定割付によるデータリンク用エ
リア29a−1と49a−1)間のデータリンク。 (3)変数メモリ29,49のシステム設定メモリ(図
5のシステム設定メモリ29cと各ユニット用システム
設定メモリ49c)に設定されたシステム設定条件によ
る任意のエリアのデータリンク。
【0103】ステップ120の状態別処理が終ると、最
後に周辺サービス処理を行ない(ステップ130)、C
PUユニット40をはじめとする他ユニットへのデータ
転送をデータリード/データライトのイベント方式で行
なう。
【0104】そして、I/Oユニット20は、電源ON
時の初期処理が終ると、以上のステップ110からステ
ップ130の処理をサイクリックに繰り返すことにな
る。
【0105】ところで、上記の如く、ステップ124の
I/Oリフレッシュ処理では、I/Oユニット20とC
PUユニット40間における変数メモリ29,49中の
固定割付によるデータリンク用エリア(図5の固定割付
によるデータリンク用エリア29a−1と49a−1)
間のデータリンクと、変数メモリ29,49のシステム
設定メモリ(図5のシステム設定メモリ29cと各ユニ
ット用システム設定メモリ49c)に設定されたシステ
ム設定条件による任意のエリアのデータリンクが行なわ
れるが、前者の場合は、固定割付によるデータリンク用
エリア間のデータリンクであり、デフォルトで設定され
るものである。
【0106】従って、図1に示したプログラム開発環境
によって各I/Oユニットに最適にカスタマイズされた
データリンクのシステム設定が行なわれる後者のデータ
リンクの手法について、以下説明する。
【0107】まず、両者がデータリンクする場合、I/
Oユニット側のシステム設定で両者がデータリンクする
場合と、CPUユニット側のシステム設定で両者がデー
タリンクする場合がある。以下、2つの場合について説
明する。
【0108】(1)I/Oユニット側のシステム設定で
両者がデータリンクする場合。
【0109】図5にはこの場合のI/Oユニット側変数
メモリ29とCPUユニット側変数メモリ49が示され
ている。
【0110】ここで、I/Oユニット側変数メモリ29
は、図5(a)に示す如く、固定割付によるデータリン
ク用エリア29a−1を含む実I/O用メモリ29a
と、システム設定によるデータリンク用エリア29b
と、システム設定メモリ29cより構成されている。
【0111】また、CPUユニット側変数メモリ49
は、図5(b)に示す如く、固定割付によるデータリン
ク用エリア49a−1を含む実I/O用メモリ49a
と、システム設定によるデータリンク用エリア49b
と、各ユニット用システム設定メモリ49cより構成さ
れている。
【0112】ここで、実I/O用I/Oメモリ29aに
は固定割付によるデータリンク用エリア29a−1が含
まれ、固定割付によるデータリンク用エリア29a−1
はデフォルトで固定的に割り付けられたデータリンク用
エリアである。
【0113】また、システム設定によるデータリンク用
エリア29bは、システム設定メモリ29cで任意に設
定されたデータリンク用エリアで、プログラム演算用I
/Oメモリ29−1、ボードI/O用I/Oメモリ29
−2、電断保持用I/Oメモリ29−3、データ用メモ
リ29−4、データリンク用I/Oメモリ29−5、…
等より構成されている。
【0114】また、システム設定メモリ29cは、I/
Oユニット20がCPUユニット40とデータリンクを
行なう際のシステム設定を行なうものである。システム
設定の方法は後述する。
【0115】また、実I/O用I/Oメモリ49aには
固定割付によるデータリンク用エリア49a−1が含ま
れ、固定割付によるデータリンク用エリア49a−1は
デフォルトで固定的に割り付けられたデータリンク用エ
リアである。
【0116】また、システム設定によるデータリンク用
エリア49bは、各ユニット用システム設定メモリ49
cで任意に設定されたデータリンク用エリアで、プログ
ラム演算用I/Oメモリ49−1、電断保持用I/Oメ
モリ49−3、データ用メモリ49−4、データリンク
用I/Oメモリ49−5、…等より構成されている。
【0117】また、各ユニット用システム設定メモリ4
9cは、CPUユニット40がI/Oユニット20とデ
ータリンクを行なう際のシステム設定を行なうものであ
るが、この場合の処理は、CPUユニット側のシステム
設定で両者がデータリンクする場合として、後述する。
【0118】次に、I/Oユニット側のシステム設定メ
モリ29cにおけるシステム設定の方法を説明する。こ
れは、システム設定メモリ29cで任意のCPUユニッ
ト側のメモリエリア、先頭アドレス、転送長(データ
長)を指定することにより行なう。これにより、I/O
ユニットとCPUユニット間のデータ交換処理時、自動
的にCPUユニット側変数メモリ49の特定データエリ
アとデータリンクを行なう。
【0119】図5では、システム設定メモリ29cでC
PUユニット側変数メモリ49の実I/O用I/Oメモ
リ49a(固定割付によるデータリンク用エリア49a
−1以外の部分)を、そのメモリエリア、先頭アドレ
ス、転送長(データ長)を指定することによって指定
し、これによってデータリンク用エリア29bのデータ
リンク用I/Oメモリ29−5のOUTデータ用エリア
29−5aのデータをCPUユニット側変数メモリ49
の実I/O用I/Oメモリ49a(固定割付によるデー
タリンク用エリア49a−1以外の部分)に書込み、実
I/O用I/Oメモリ49a(固定割付によるデータリ
ンク用エリア49a−1以外の部分)のデータをデータ
リンク用I/Oメモリ29−5のINデータ用エリア2
9−5bに読み込む。
【0120】なお、I/Oユニット側、CPUユニット
側ともに、データリンクする場合には自ユニット内にデ
ータリンク用エリアを持つ。データリンク用エリアは、
INデータ用とOUTデータ用で構成されており、シス
テム設定では、それぞれのINデータ用、OUTデータ
用に対して相手側のデータリンク対象となるエリアを指
定することができる。
【0121】図5では、I/Oユニット側変数メモリ2
9はデータリンク用エリアとしてデータリンク用I/O
メモリ29−5を有し、INデータ用とOUTデータ用
としてOUTデータ用エリア29−5aとINデータ用
エリア29−5bを有す。そして、システム設定では、
OUTデータ用エリア29−5aとINデータ用エリア
29−5bは共に実I/O用I/Oメモリ49aをデー
タリンク対象エリアとして指定している。
【0122】これにより、I/Oユニット側のプログラ
ムは、CPUユニット側にI/F用のプログラムなし
で、CPUユニット側の状態を参照して動作できるプロ
グラムが作成できる。
【0123】なお、図5のシステム設定では、I/Oユ
ニット側変数メモリ29のデータリンク用I/Oメモリ
29−5のOUTデータ用エリア29−5aとINデー
タ用エリア29−5bは共に実I/O用I/Oメモリ4
9aをデータリンク対象エリアとして指定したが、異な
ったエリアをデータリンク対象エリアとして指定するこ
ともできる。例えば、OUTデータ用エリア29−5a
は実I/O用I/Oメモリ49aを指定し、INデータ
用エリア29−5bはプログラム演算用I/Oメモリ4
9−1を指定することができる。
【0124】(2)CPUユニット側のシステム設定で
両者がデータリンクする場合。
【0125】図6にはこの場合のI/Oユニット側変数
メモリ29とCPUユニット側変数メモリ49が示され
ている。
【0126】ここで、I/Oユニット側変数メモリ29
の内容とCPUユニット側変数メモリ49の内容は図5
の場合と同一である。
【0127】ところで、CPUユニット側変数メモリ4
9の各ユニット用システム設定メモリ49cは、CPU
ユニット40がI/Oユニット20とデータリンクを行
なう際のシステム設定を行なうものであるが、この各ユ
ニット用システム設定メモリ49cは、CPUユニット
40に接続されるI/Oユニット20が複数ある場合、
各I/Oユニット毎に設けられる。従って、CPUユニ
ット側変数メモリ49はI/Oユニット20が複数ある
場合、I/Oユニットの数だけ設けられる。そして、C
PUユニット側変数メモリ49の各ユニット用システム
設定メモリ49cは各I/Oユニットに対応したシステ
ム設定が行なわれる。
【0128】ここで、各ユニット用システム設定メモリ
49cは、ユニット設定メモリ49c−1、OUTデー
タ用メモリ49c−2、INデータ用メモリ49c−3
より構成され、CPUユニット40側では、各ユニット
用システム設定メモリ49cのユニット設定メモリ49
c−1にI/Oユニット側変数メモリ29のメモリエリ
ア、先頭アドレス、転送長を指定することにより、電源
ON時にこの設定テーブルがI/Oユニット20のバス
I/F用デバイス24に転送され、I/Oユニット20
とCPUユニット40間のデータリンク時は自動的にC
PUユニット側変数メモリ49の各ユニット用システム
設定メモリ49cとI/Oユニット側変数メモリ29の
特定エリア間のデータリンクが行なわれる。
【0129】図6では、I/Oユニット側変数メモリ2
9のボードI/O用I/Oメモリ29−2のデータがC
PUユニット側変数メモリ49の各ユニット用システム
設定メモリ49cのINデータ用メモリ49c−3に読
み込まれ、CPUユニット側変数メモリ49の各ユニッ
ト用システム設定メモリ49cのOUTデータ用メモリ
49c−2のデータがI/Oユニット側変数メモリ29
のデータ用メモリ29−4に書き込まれる。
【0130】これにより、CPUユニット側は、I/O
ユニット側のプログラムなしで、I/Oユニット側の特
殊入出力をモニタ、コントロールすることが可能になっ
たり、CPUユニット側で特定のデータ転送プログラム
なしで、I/Oユニット側のプログラムを間接的に制御
したりすることができる。
【0131】ところで、上記の如きデータリンクを行な
うに際して、電源ON時初期処理では、I/Oユニット
20はI/Oユニット側変数メモリ29のシステム設定
メモリ29c、CPUユニット側変数メモリ49の各ユ
ニット用システム設定メモリ49cに設定された内容を
読み出し、システム設定の中でデータリンク設定が有効
となっていた場合、I/Oユニット20のバスI/F用
デバイス24上にデータリンクのための情報を登録する
処理を行なう。具体的には、バスI/F用デバイス24
のサイクリック制御情報登録テーブルにデータリンクの
ための情報を登録する。
【0132】以下、このサイクリック制御情報登録処理
を図7のフローチャートを参照しながら説明する。
【0133】電源ONでこの処理が開始されると(ステ
ップ180)、所定の初期化処理を行なう(ステップ1
82)。
【0134】次に、共有メモリ(バスI/F用デバイス
24)に固定割付エリア用サイクリック制御情報を登録
する(ステップ184)。
【0135】次に、I/Oユニット20のシステム設定
メモリ29cとCPUユニット40の各ユニット用メモ
リ49cよりシステム設定を読み出し(ステップ18
6)、データリンク指定ありか否か調べる(ステップ1
88)。
【0136】ここで、データリンク指定がない場合は
(ステップ188でNO)、当処理を終了するが(ステ
ップ192)、データリンク指定がある場合は(ステッ
プ188でYES)、当該データリンク指定をサイクリ
ック制御情報登録テーブルに登録し(ステップ19
0)、当処理を終える(ステップ192)。
【0137】図8には、上記図7の処理により作成され
るバスI/F用デバイス24の共有メモリの内容が示さ
れており、共有メモリはサイクリック制御情報登録テー
ブル210、転送データエリア212等より構成されて
いるが、サイクリック制御情報はサイクリック制御情報
登録テーブル210に定義されている。
【0138】図9には、上記サイクリック制御情報登録
テーブル210の内容が示されており、サイクリック制
御情報は (1)転送先アドレス (2)転送元アドレス (3)転送長 の1セットからなり、登録テーブルとしては、数セット
登録できるようになっている。そして、このサイクリッ
ク制御情報が、 (1)CPUユニット→I/Oユニット (2)I/Oユニット→CPUユニット のそれぞれの転送方向に対して登録できるようになって
いる。
【0139】また、転送長に任意のコード(h'FFF
F or h'0000)をセットすることで、転送時
無効とすることができる。
【0140】この場合の処理手順を図10に示す。
【0141】まず、I/Oリフレッシュ処理が開始され
ると(ステップ220)、登録データを読み出し(ステ
ップ222)、転送長が有効か否か調べる(ステップ2
24)。
【0142】ここで、転送長が有効でない場合は(ステ
ップ224でNO)、当処理を終了するが、転送長が有
効な場合は(ステップ224でYES)、転送データの
読み出し、書込み処理を行ない(ステップ226)、ス
テップ222の処理に戻る。そして、登録データの読み
出し処理を続ける。
【0143】このように、電源ON時、各ユニットのシ
ステム設定に基づき図8,9に示す如きサイクリック制
御情報登録テーブル210を作成し、I/Oリフレッシ
ュ処理時に、I/Oユニット20及びCPUユニット4
0はこのサイクリック制御情報登録テーブル210を参
照してデータの書き込み、読み出しを行なう。サイクリ
ック制御情報登録テーブル210に従い、I/Oユニッ
ト20及びCPUユニット40上のメモリのデータが書
き込まれるため、双方のI/Oリフレッシュのタイミン
グで共有メモリから指定されている自ユニットのメモリ
へデータの転送を行なうことができる。
【0144】以上が、登録データの転送処理である。
【0145】次に、本実施形態では、I/Oユニット2
0側からの命令で、CPUユニット40に対して割込み
をかけることができる。
【0146】これは、I/Oユニット20側からの命令
で、CPUユニット40側の割込みプログラムを任意に
指定して起動をかけることができるものである。
【0147】図11は、この場合のI/Oユニット側プ
ログラムとCPUユニット側プログラムを示すものであ
るが、同図(a)に示すI/Oユニット側プログラム2
40では、複数の入力条件に基づいて割込み起動命令
(No.10)が実行され、これによって、CPUユニ
ット側プログラム250では、指定された割込みプログ
ラムNo.10が実行される。
【0148】このように、本実施形態では、CPUユニ
ット40側の設定でI/Oユニット側に割込み発生条件
を設定することなく、I/Oユニット20側の独自のプ
ログラムロジックの結果として、任意のタイミングでC
PUユニット40側の特定の割込みプログラムを指定し
て起動することができる。
【0149】これにより、従来のような特定の入出力
(I/O)の割込み要件発生に対して特定の割込みプロ
グラムが固定的に起動されるのではなく、I/Oユニッ
ト20側の割込み起動命令に対してCPUユニット側の
特定の割込みプログラムを指定することができるほか、
I/Oユニット側プログラム240を介することで、複
数の入力条件のANDやORだけでなく、演算結果を待
ってCPUユニット側の割込みプログラムを起動するこ
とができる。
【0150】このため、CPUユニット側では、従来の
ように、特定の入出力(I/O)のON/OFFに対し
て特定の割込みプログラムがすぐ起動されるのではな
く、I/Oユニット側で最適な割込みタイミングを絞り
込むことが可能になるため、CPUユニット側の割込み
プログラム作成も簡易化され、且つ全体のプログラム実
行も不要な割込み発生が減少するため効率が上がる。
【0151】ところで、従来のプログラマブルコントロ
ーラシステムにおいては、I/Oユニットの動作はCP
Uユニットと連動して動作するか、単独で動作するかで
あった。
【0152】しかし、I/OユニットがCPUユニット
と連動して動作するには連動モードにおいてはCPUユ
ニットのモードに連動する。このため、両者が同期する
ためのプログラムがCPUユニットにもI/Oユニット
にも必要であるという問題点があった。
【0153】そこで、以下、I/Oユニットの動作を従
来のようなCPUユニットとの連動か単独動作にするの
ではなく、CPUユニット主導動作かI/Oユニット主
導動作に切替えるようにして、I/Oユニット側に同期
を取るためのプログラムを不用とした場合について説明
する。
【0154】このうち、図12には、CPUユニット主
導モードで同期をとる場合が示されており、同図(a)
に示すCPUユニット側プログラムで所定のI/Oユニ
ットスタートの入力があると、I/OユニットRUN
(スタート)が実行され、I/Oユニット20側ではR
UNフラグがONとなる。
【0155】これによって、同図(b)に示すI/Oユ
ニット状態別処理では、RUNフラグONかが調べられ
ると(ステップ300)、RUNフラグONが検出され
るので、所定のI/O側プログラムが実行される(ステ
ップ302)。
【0156】このように、CPUユニット主導モードに
おいては、CPUユニット40側のプログラムで任意に
I/Oユニット20側のRUNフラグをコントロールで
きるようにし、これによってI/Oユニット20のプロ
グラム実行を起動または停止できるようにした。このた
め、I/Oユニット20側にはCPUユニット40と同
期をとるためのプログラムは不要となり、サイクルタイ
ムを短くすることができる等の効果を奏する。
【0157】次に、I/Oユニット主導モードについて
説明する。I/Oユニット主導モードにおいては、ユニ
ット立上がり時にシステム設定のユニット動作モード設
定に従い、以後の動作モードの変更は接続されるツール
のモードに従う。
【0158】このI/Oユニット主導モードでは、CP
Uユニットとは非同期で動作するため、CPUユニット
側の動作モードとは関係なくI/Oユニットの状態で動
作する。これにより、CPUユニット側で異常が発生
し、CPUユニットが動作停止しても、I/Oユニット
は運転を継続することができる。
【0159】また、I/Oユニットにおいては、CPU
ユニット側の異常を検出することができるため、上記デ
ータリンク機能とセットで使用することにより、CPU
ユニット側で発生した異常内容、停止時のデータ内容を
参照してI/Oユニットプログラム動作を行なうことが
できる。
【0160】図13はI/Oユニット主導モードにおい
て、CPUユニット40に異常が発生した場合の処理手
順を示すフローチャートである。
【0161】この処理では、CPUユニット40に異常
が発生したか否かが調べられており(ステップ31
0)、CPUユニット40に異常が発生していない場合
は(ステップ310でNO)、ステップ314に進む
が、CPUユニット40に異常が発生している場合は
(ステップ310でYES)、CPUユニット異常時フ
ラグをONして異常登録をし(ステップ312)、ステ
ップ314に進んでI/Oユニットプログラム動作を行
なう。この場合はCPUユニット異常時フラグがONさ
れているので、CPUユニット異常時処理が行なわれる
ことになる。
【0162】このように、I/Oユニット主導モードに
おいては、CPUユニットに異常が発生した場合、I/
OユニットはCPUユニット異常時処理を行なうように
したので、プログラマブルコントローラシステムとして
安定した機器制御ができる。
【0163】以上説明したように、本実施形態では、以
下の効果を奏する。 (1)ユーザはI/Oユニット20に対してI/O制御
ロジック、演算処理のためのプログラムを入力してユー
ザオリジナルのユニット動作モードを作り上げ、制御対
象、制御方式に最適な状態にカスタマイズして使用でき
る。 (2)I/Oユニット20には入出力ボード23が装着
できるように構成され、入出力ボード23にはパルス入
力、アナログ入力、特殊センサ入力等が入力される特殊
入力回路31と、パルス出力、アナログ出力等が出力さ
れる特殊出力回路32とを具備して、特殊入出力の制御
はI/Oユニット20単独で行なうようにしたので、プ
ログラマブルコントローラシステムの構成に依存しない
安定した入出力制御ができ、かつCPUユニット40へ
のプログラム依存度が小さくなるのでサイクルタイムを
短くすることができる。 (3)I/Oユニット20の演算機能にCPUユニット
に対する割込み機能を搭載したので、任意の割込み発生
ロジック、割込みタイミングを作ることが可能となり、
I/Oユニット側で最適な割込みタイミングを絞り込む
ことが可能になるため、CPUユニット側の割込みプロ
グラム作成も簡易化され、且つ全体のプログラム実行も
不要な割込み発生が減少するため効率が上がる。 (4)CPUユニット主導モードにおいては、CPUユ
ニット40側のプログラムで任意にI/Oユニット20
側のRUNフラグをコントロールできるようにし、これ
によってI/Oユニット20のプログラム実行を起動ま
たは停止できるようにした。このため、I/Oユニット
20側にはCPUユニット40と同期をとるためのプロ
グラムは不要となり、サイクルタイムを短くすることが
できる等の効果を奏する。 (5)また、I/Oユニット主導モードにおいては、C
PUユニットに異常が発生した場合、I/Oユニットは
CPUユニット異常時処理を行なうようにしたので、プ
ログラマブルコントローラシステムとして安定した機器
制御ができる。 (6)I/Oユニット20には入出力ボード23が装着
できるように構成され、特殊入出力の制御はI/Oユニ
ット20で行なうようにしたので、CPUユニット40
へのプログラム依存度が小さくなり、CPUユニット4
0のプログラムが簡易化される。従って、プログラムを
分割して開発でき、プログラムをモジュール化した、い
わゆるタスクを用いたプログラム開発に好適である。 (7)特殊入出力の制御はI/Oユニット20で行なう
ようにしたり、I/Oユニット20とCPUユニット4
0間のデータリンクはI/Oユニット20のバスI/F
用デバイス(共有メモリ)を使用して行なうようにして
高機能I/Oユニット制御のためのプログラムがCPU
ユニット40からI/Oユニット20側へ分散されるた
め、CPUユニット側の負荷も分散されて、プログラマ
ブルコントローラシステムとしての性能が向上する。 (8)変数メモリのシステム設定により、CPUユニッ
ト40及びI/Oユニット20は互いの任意のメモリに
データリンクできるので、双方のI/Fプログラムを簡
略化することができる。
【0164】
【発明の効果】以上説明したようにこの発明によれば、
ユーザプログラムの書込み口となる入出力部と、上記書
き込まれたユーザプログラムが格納されるメモリと、上
記メモリに格納されたユーザプログラムを実行するユー
ザプログラム実行手段と、を具備するよう構成したの
で、ユーザはI/Oユニットに対してI/O制御ロジッ
ク、演算処理のためのプログラムを入力してユーザオリ
ジナルのユニット動作モードを作り上げ、制御対象、制
御方式に最適な状態にカスタマイズして使用できる等の
効果を奏する。
【図面の簡単な説明】
【図1】この発明が適用されたI/Oユニットに搭載さ
れるユニットプログラムの開発環境の概要を示す概略ブ
ロック図。
【図2】図1に示したI/Oユニット20やCPUユニ
ット40で構成されるプログラマブルコントローラシス
テム60の概略構成を示すブロック図。
【図3】図2に示したI/Oユニット20の詳細を示す
ブロック図。
【図4】図3に示したI/Oユニット20の全体的な動
作を示す図。
【図5】I/Oユニット側のシステム設定でI/Oユニ
ットとCPUユニットがデータリンクする場合の説明
図。
【図6】CPUユニット側のシステム設定でI/Oユニ
ットとCPUユニットがデータリンクする場合の説明
図。
【図7】I/Oユニット20がI/Oユニット側変数メ
モリ29のシステム設定メモリ29cとCPUユニット
側変数メモリ49の各ユニット用システム設定メモリ4
9cにセットされたシステム設定を読み出し、I/Oユ
ニット20のバスI/F用デバイス24上にあるサイク
リック制御情報登録テーブルにデータリンクのための情
報を登録する処理を行なう場合の処理手順を示すフロー
チャート。
【図8】図7の処理により作成されるバスI/F用デバ
イス24の共有メモリの構成を示す図。
【図9】図8に示したサイクリック制御情報登録テーブ
ル210の構成を示す図。
【図10】サイクリック制御情報を登録データとして読
み出す際、サイクリック制御情報の転送長(データ長)
に任意のコード(h'FFFF or h'0000)を
セットすることでデータの有効、無効を判断する場合の
処理手順を示すフローチャート。
【図11】I/Oユニット20側からの命令で、CPU
ユニット40に対して割込みをかける場合の構成を示す
図。
【図12】CPUユニット主導モードで同期をとる場合
の説明図。
【図13】I/Oユニット主導モードにおいて、CPU
ユニット40に異常が発生した場合の処理手順を示すフ
ローチャート。
【符号の説明】
10 パソコン 20、20−1、20−2 I/Oユニット(高機能I
/Oユニット) 21 プログラム入出力部 22 汎用デジタル入出力部 23a 入出力部 23 入出力ボード 24 バスI/F用デバイス(共有メモリ) 25 CPU 26 ROM 27 PRGメモリ 29 変数メモリ 29a 固定割付によるデータリンク用エリア 29b システム設定によるデータリンク用エリア 29c システム設定メモリ 30 プログラム実行部 31 特殊入力回路 32 特殊出力回路 40 CPUユニット 41 通信ポート 44 バスI/F用デバイス 45 CPU 46 ROM 47 ユーザプログラムメモリ 48 RAM 49 変数メモリ 49a 固定割付によるデータリンク用エリア 49b システム設定によるデータリンク用エリア 49c 各ユニット用システム設定メモリ 60 プログラマブルコントローラシステム 61 専用バス 210 サイクリック制御情報登録テーブル 212 転送データエリア 240 I/Oユニット側プログラム 250 CPUユニット側プログラム
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5H220 BB03 BB12 CC07 CC09 CX05 DD04 EE08 EE09 FF01 FF03 FF05 FF10 HH01 JJ12 JJ18 JJ27 JJ28 JJ57 JJ59 KK01 MM08

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 外部で組まれたユーザプログラムの入出
    力部と、 上記入出力部から取り込んだユーザプログラムが格納さ
    れる書き換え可能なメモリと、 上記メモリに格納されたユーザプログラムを実行するユ
    ーザプログラム実行手段と、 を有することを特徴とするプログラマブルコントローラ
    のI/Oユニット。
  2. 【請求項2】 CPUユニットに対して着脱でき、入出
    力データをバスを介してCPUユニットとやり取りをす
    るプログラマブルコントローラのI/Oユニットであっ
    て、 バスを介してユーザプログラムを受信するユーザプログ
    ラム受信手段と、 上記ユーザプログラム受信手段で受信したユーザプログ
    ラムを格納する書き換え可能なメモリと、 上記メモリに格納されたユーザプログラムを実行するユ
    ーザプログラム実行手段と、 を有することを特徴とするプログラマブルコントローラ
    のI/Oユニット。
  3. 【請求項3】 パルス等の特殊入出力を扱う入出力ボー
    ドと、 上記入出力ボードに入力された特殊入力に基づいてプロ
    グラミングされた制御プログラムを実行し、該実行結果
    を上記入出力ボードに出力するプログラム実行手段と、 を有することを特徴とするプログラマブルコントローラ
    のI/Oユニット。
  4. 【請求項4】 CPUユニットに対して着脱でき、入出
    力データをCPUユニットとやり取りをするプログラマ
    ブルコントローラのI/Oユニットであって、 プログラミングされた制御プログラムを実行するととも
    に所定の入力条件に基づいてCPUユニット側に対して
    任意のタイミングで割込みトリガを発生させることを特
    徴とするプログラマブルコントローラのI/Oユニッ
    ト。
  5. 【請求項5】 CPUユニットに対して着脱でき、入出
    力データをCPUユニットとやり取りをするプログラマ
    ブルコントローラのI/Oユニットであって、 プログラミングされた制御プログラムを実行するととも
    にCPUユニット側とデータリンクするデータリンク手
    段を有することを特徴とするプログラマブルコントロー
    ラのI/Oユニット。
  6. 【請求項6】 CPUユニットに対して着脱でき、入出
    力データをCPUユニットとやり取りをするプログラマ
    ブルコントローラのI/Oユニットであって、 プログラミングされた制御プログラムを実行するととも
    にCPUユニット側からの指令に基づいてCPUユニッ
    ト側と同期動作をすることを特徴とするプログラマブル
    コントローラのI/Oユニット。
  7. 【請求項7】 CPUユニットに対して着脱でき、入出
    力データをCPUユニットとやり取りをするプログラマ
    ブルコントローラのI/Oユニットであって、 プログラミングされた制御プログラムを実行するととも
    にCPUユニット側と非同期動作をすることを特徴とす
    るプログラマブルコントローラのI/Oユニット。
  8. 【請求項8】 プログラミングされた制御プログラムを
    実行するI/OユニットとCPUユニットからなるプロ
    グラマブルコントローラシステムにおいて、 上記CPUユニット及び上記I/Oユニットのそれぞれ
    の制御プログラム実行に伴うサイクリック制御情報のう
    ち、データリンクを希望する相手側のサイクリック制御
    情報を指定するサイクリック制御情報指定手段と、 上記サイクリック制御情報指定手段で指定されたサイク
    リック制御情報をサイクリックに収集するサイクリック
    制御情報収集手段と、 上記サイクリック制御情報収集手段で収集されたサイク
    リック制御情報を指定されたデータリンクに従って上記
    CPUユニット及び上記I/Oユニットに転送するサイ
    クリック制御情報転送手段と、 を有することを特徴とするプログラマブルコントローラ
    システム。
  9. 【請求項9】 プログラミングされた制御プログラムを
    実行するI/OユニットとCPUユニットからなるプロ
    グラマブルコントローラシステムにおいて、 上記I/Oユニットは、 所定の入力条件に基づいてCPUユニット側に対して任
    意のタイミングで割込みトリガを発生させる割込みトリ
    ガ発生手段を有し、 上記CPUユニット側は、 I/Oユニット側からの割込みトリガにより指定された
    タイミングで所定の割込みプログラムを実行する割込み
    プログラム実行手段、を有することを特徴とするプログ
    ラマブルコントローラシステム。
  10. 【請求項10】 プログラミングされた制御プログラム
    を実行するI/OユニットとCPUユニットからなるプ
    ログラマブルコントローラシステムにおいて、 上記CPUユニットは、 上記I/Oユニットに対して起動命令を発生する起動命
    令発生手段を有し、 上記I/Oユニットは、 上記起動命令に基づきI/O側制御プログラムを実行
    し、CPUユニット側と同期動作をすることを特徴とす
    るプログラマブルコントローラシステム。
  11. 【請求項11】 プログラミングされた制御プログラム
    を実行するI/OユニットとCPUユニットからなるプ
    ログラマブルコントローラシステムにおいて、 上記I/Oユニットは、 上記CPUユニットの異常を検出する異常検出手段と、 上記検出された異常を登録する異常登録手段と、 上記異常が登録されている場合はCPU異常時処理をす
    るCPU異常時処理手段と、 上記異常が登録されていない場合は上記I/Oユニット
    側制御プログラムを実行するI/Oユニット側制御プロ
    グラム実行手段と、 を有し、 上記I/Oユニットは上記CPUユニット側と非同期動
    作をすることを特徴とするプログラマブルコントローラ
    システム。
JP2000191715A 2000-06-26 2000-06-26 I/oユニット及びプログラマブルコントローラシステム Pending JP2002006907A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000191715A JP2002006907A (ja) 2000-06-26 2000-06-26 I/oユニット及びプログラマブルコントローラシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000191715A JP2002006907A (ja) 2000-06-26 2000-06-26 I/oユニット及びプログラマブルコントローラシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008177635A Division JP2008251052A (ja) 2008-07-08 2008-07-08 I/oユニット及びプログラマブルコントローラシステム

Publications (1)

Publication Number Publication Date
JP2002006907A true JP2002006907A (ja) 2002-01-11

Family

ID=18690969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000191715A Pending JP2002006907A (ja) 2000-06-26 2000-06-26 I/oユニット及びプログラマブルコントローラシステム

Country Status (1)

Country Link
JP (1) JP2002006907A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008019089A1 (de) 2007-09-10 2009-03-12 Mitsubishi Electric Corp. Programmierbare Steuerung
WO2009147820A1 (ja) * 2008-06-02 2009-12-10 株式会社 東芝 ディジタル処理型監視装置
JP2015162124A (ja) * 2014-02-27 2015-09-07 株式会社アイエイアイ 制御装置、制御システム及び制御方法
JP2017079008A (ja) * 2015-10-21 2017-04-27 株式会社キーエンス プログラマブル・ロジック・コントローラおよび制御方法
JP2017111480A (ja) * 2015-12-14 2017-06-22 Kyb株式会社 汎用コントローラ
WO2017195369A1 (ja) * 2016-05-13 2017-11-16 三菱電機株式会社 プログラム開発支援装置、列車監視制御装置およびプログラム開発支援方法
WO2022079800A1 (ja) * 2020-10-13 2022-04-21 三菱電機株式会社 プログラマブルコントローラ、プログラム実行装置、及び、通信方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008019089B4 (de) * 2007-09-10 2011-12-08 Mitsubishi Electric Corp. Programmierbare Steuerung
DE102008019089A1 (de) 2007-09-10 2009-03-12 Mitsubishi Electric Corp. Programmierbare Steuerung
US7644220B2 (en) 2007-09-10 2010-01-05 Mitsubishi Electric Corporation Programmable controller
US8331521B2 (en) 2008-06-02 2012-12-11 Kabushiki Kaisha Digital processing monitoring device
JPWO2009147820A1 (ja) * 2008-06-02 2011-10-20 株式会社東芝 ディジタル処理型監視装置
US20120007634A1 (en) * 2008-06-02 2012-01-12 Kabushiki Kaisha Toshiba Digital processing monitoring device
WO2009147820A1 (ja) * 2008-06-02 2009-12-10 株式会社 東芝 ディジタル処理型監視装置
JP5455901B2 (ja) * 2008-06-02 2014-03-26 株式会社東芝 ディジタル処理型監視装置
JP2015162124A (ja) * 2014-02-27 2015-09-07 株式会社アイエイアイ 制御装置、制御システム及び制御方法
JP2017079008A (ja) * 2015-10-21 2017-04-27 株式会社キーエンス プログラマブル・ロジック・コントローラおよび制御方法
JP2017111480A (ja) * 2015-12-14 2017-06-22 Kyb株式会社 汎用コントローラ
WO2017195369A1 (ja) * 2016-05-13 2017-11-16 三菱電機株式会社 プログラム開発支援装置、列車監視制御装置およびプログラム開発支援方法
JPWO2017195369A1 (ja) * 2016-05-13 2019-03-07 三菱電機株式会社 プログラム開発支援装置、列車監視制御装置およびプログラム開発支援方法
WO2022079800A1 (ja) * 2020-10-13 2022-04-21 三菱電機株式会社 プログラマブルコントローラ、プログラム実行装置、及び、通信方法
JPWO2022079800A1 (ja) * 2020-10-13 2022-04-21

Similar Documents

Publication Publication Date Title
JPH04318618A (ja) アクションバー及びプルダウン・メニューのワークステーションでの表示・処理装置及び方法
CN114237676B (zh) 一种fpga逻辑更新方法、装置、设备及可读存储介质
JP2002006907A (ja) I/oユニット及びプログラマブルコントローラシステム
US8464016B2 (en) Method and device for switching over in a memory for a control device
JP2008251052A (ja) I/oユニット及びプログラマブルコントローラシステム
EP0923010B1 (en) Programmable controller
JPS603747A (ja) プログラム選択制御方式
EP3832411B1 (en) Support device and support program
CN116521151B (zh) 一种生成电子产品软件代码方法及系统
JP4147372B2 (ja) プログラマブル表示器およびその制御方法
JP2535609B2 (ja) 計算機システム
JPH05257852A (ja) プロセスデータ処理システムおよび処理方法
JP2761788B2 (ja) プログラム変換装置及びプログラム転送装置
WO1999061986A1 (fr) Equipements peripheriques pour controleur programmable et leur procede de surveillance
JPH0713791A (ja) 二重化制御システムの等値化方法
JP2003015777A (ja) コンフィグレーション装置
JP2001005505A (ja) プログラマブル・コントローラ
JPH10268914A (ja) プログラマブルコントローラ
JPS615349A (ja) プログラマブル・コントロ−ラ
JP2003015709A (ja) プログラマブルコントローラ・システム
JPH021003A (ja) プログラマブルコントローラにおけるシステム構築方法
JP2792491B2 (ja) エミュレーション装置
JPH08339210A (ja) プログラマブルコントローラ
JP2622419B2 (ja) システムパラメータ管理方式
JPH04296904A (ja) プログラマブルコントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080509

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080829

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081028

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081211