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

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

Info

Publication number
JP2008251052A
JP2008251052A JP2008177635A JP2008177635A JP2008251052A JP 2008251052 A JP2008251052 A JP 2008251052A JP 2008177635 A JP2008177635 A JP 2008177635A JP 2008177635 A JP2008177635 A JP 2008177635A JP 2008251052 A JP2008251052 A JP 2008251052A
Authority
JP
Japan
Prior art keywords
unit
control information
cpu
cpu unit
cyclic control
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
JP2008177635A
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 JP2008177635A priority Critical patent/JP2008251052A/ja
Publication of JP2008251052A publication Critical patent/JP2008251052A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Programmable Controllers (AREA)

Abstract

【課題】プログラムの簡略化等を図るのに好適なプログラマブルコントローラのI/Oユニット等を提供する。
【解決手段】プログラマブルコントローラのI/Oユニット20は、CPUユニット側とデータリンクするデータリンク手段と、CPUユニットからの起動命令に基づき当該制御プログラムを実行する手段と、を有し、データリンク手段は、上記CPUユニットの制御プログラム実行に伴うサイクリック制御情報のうち、データリンクを希望するサイクリック制御情報を指定するサイクリック制御情報指定手段と、上記サイクリック制御情報指定手段で指定されたサイクリック制御情報をサイクリックに収集するサイクリック制御情報収集手段と、上記サイクリック制御情報収集手段で収集されたサイクリック制御情報を指定されたデータリンクに従って上記CPUユニットに転送するサイクリック制御情報転送手段と、を備えてなるものとする。
【選択図】図3

Description

この発明は、プログラマブルコントローラのI/Oユニット及びプログラマブルコントローラシステムに関し、詳しくは、I/Oユニットにプログラミング機能を搭載することにより、I/Oユニットをユーザのニーズに合わせてカスタマイズして利用できるようにしたプログラマブルコントローラのI/Oユニット及びプログラマブルコントローラシステムに関する。
従来、プログラマブルコントローラ(プログラマブルロジックコントローラ)システムにおいては、CPUユニット、I/Oユニット(入出力ユニット)等のユニットがビルディングブロックタイプに配列されてシステムが構築されている(いわゆる集合ユニット型)。
ここで、CPUユニットは、I/Oユニットからの入力信号(接点情報)に基づいてユーザプログラムの演算実行を行ない、実行結果をI/Oユニットに出力する等の処理を行なうとともにプログラマブルコントローラシステム全体を統括制御するものである。
また、I/Oユニットは直接プログラマブルコントローラシステムにおける制御対象機器が接続されるユニットで、制御対象機器からの入力信号をCPUユニットに送出するとともに、CPUユニットからの出力信号を受信して制御対象機器に出力するものである。
ところで、近年、CPUユニットの負荷軽減、スキャンタイムの短縮等を目的として、I/Oユニットに新機能を付加した以下のような高機能I/Oユニットと呼ばれるI/Oユニットが普及してきている。
(1)I/Oユニットにパルスやアナログなどの特殊な入出力がある場合、それらの特殊な入出力についてのプログラム演算機能等、I/Oユニットに想定される特別のアプリケーションを付加し、アプリケーションに沿ったI/O制御、演算機能等を動作モードとして組み込んだ高機能I/Oユニット。
この高機能I/Oユニットでは、ユーザは組み込まれた複数の動作モード中から所望の動作モードを選択して使用する。
(2)従来のI/Oユニットにシーケンスプログラムを搭載し、CPUユニットと独立してI/O制御を行なう高機能I/Oユニット。
この高機能I/Oユニットでは、高機能I/Oユニット側でプログラムを実行する分、CPUユニット側の負荷が軽減される。
しかしながら、上記の如き従来の高機能I/Oユニットでは、以下の問題点があった。
まず、上記(1)のものでは、I/Oユニットに想定される特別のアプリケーションを付加し、アプリケーションに沿ったI/O制御、演算機能等を動作モードとして組み込んでいるが、これらの動作モードは予め設定した固定的なものである。つまり、I/Oユニットにはじめから内蔵されているものである。従って、そのI/O制御手段、演算機能には自由度がなく、動作モードとして設定した用途以外の用途には利用できない。設定した用途以外の用途に利用できない場合、高機能I/Oユニットは単なるI/Oユニットとしてしか利用できず、I/O制御、演算機能は全てCPUユニットが行なうことになる。
このため、CPUユニットのプログラムが増大、複雑化することになり、CPUユニットの負荷増大、スキャンタイムの増大を招くという問題点があった。
また、スキャンタイムの増大は、INとOUTのI/O制御、演算機能の性能・精度を落とすという問題点があった。
また、上記の如きCPUユニットの高機能I/Oユニットの処理負担は、プログラム内容の増大を招き、プログラム作成中における作成プログラムの視認性の劣化、プログラムの作業効率、保守性の低下を招くという問題点があった。
また、上記(2)のものでは、高機能I/Oユニットは入出力の高速化に資する以外何ら効果がなく、また、たとえI/Oユニットにシーケンスプログラムを搭載してCPUユニットのプログラムを一部切り出したとしてもプログラマブルコントローラシステム全体からみてさほど効果的なことではなかった。
また、従来のI/Oユニットにシーケンスプログラムを搭載したものでは、CPUユニットとI/Oユニット間のI/Fが固定的なものであったため、両者間のデータ授受においてCPUユニット及びI/Oユニット双方のプログラムに依存するところが大きく、これらのプログラムに対する負荷が大きくなるという問題点があった。
また、従来のI/Oユニットにシーケンスプログラムを搭載したものでは、プログラムが入っていない場合にはエラーとなり、プログラムレスのI/Oユニットとしても利用できないという問題点があった。
本発明は、プログラムの簡略化等を図るのに好適なプログラマブルコントローラのI/Oユニット、プログラマブルコントローラシステムを提供することを目的とする。
本発明に係わるプログラマブルコントローラのI/Oユニットは、プログラミングされた制御プログラムを実行するとともに、入出力データをCPUユニットとやり取りをするプログラマブルコントローラのI/Oユニットであって、
上記I/Oユニットは、
上記CPUユニット側とデータリンクするデータリンク手段と、
上記CPUユニットからの起動命令に基づき当該制御プログラムを実行する手段と、を有し、
上記データリンク手段は、
上記CPUユニットの制御プログラム実行に伴うサイクリック制御情報のうち、データリンクを希望するサイクリック制御情報を指定するサイクリック制御情報指定手段と、
上記サイクリック制御情報指定手段で指定されたサイクリック制御情報をサイクリックに収集するサイクリック制御情報収集手段と、
上記サイクリック制御情報収集手段で収集されたサイクリック制御情報を指定されたデータリンクに従って上記CPUユニットに転送するサイクリック制御情報転送手段と、を備えてなること
を特徴とする。
本発明に係わるプログラマブルコントローラのI/Oユニットは、プログラミングされた制御プログラムを実行するとともに、入出力データをCPUユニットとやり取りをするプログラマブルコントローラのI/Oユニットであって、
上記I/Oユニットは、
上記CPUユニット側とデータリンクするデータリンク手段を有し、
上記データリンク手段は、
上記CPUユニットの制御プログラム実行に伴うサイクリック制御情報のうち、データリンクを希望するサイクリック制御情報を指定するサイクリック制御情報指定手段と、
上記サイクリック制御情報指定手段で指定されたサイクリック制御情報をサイクリックに収集するサイクリック制御情報収集手段と、
上記サイクリック制御情報収集手段で収集されたサイクリック制御情報を指定されたデータリンクに従って上記CPUユニットに転送するサイクリック制御情報転送手段と、を備えてなること
を特徴とする。
本発明に係わるプログラマブルコントローラのI/Oユニットは、プログラミングされた制御プログラムを実行するとともに、入出力データをCPUユニットとやり取りをするプログラマブルコントローラのI/Oユニットであって、
上記I/Oユニットは、上記CPUユニットからの起動命令に基づき当該制御プログラムを実行する手段を有すること
を特徴とする。
上記本発明に係わるプログラマブルコントローラのI/Oユニットは、外部で組まれたユーザプログラムの入出力部と、
上記入出力部から取り込んだユーザプログラムが格納される書き換え可能なメモリと、
上記メモリに格納されたユーザプログラムを実行するユーザプログラム実行手段と、を有するように構成することができる。
プログラマブルコントローラシステムは、PS(電源)ユニット、CPUユニット、I/Oユニット(高機能I/Oユニット)等の多数のユニットで構成されるシステムである。
ここで、I/Oユニットには多数の制御対象機器が接続されるが、この際接続される制御対象に応じてI/Oユニットには任意の動作モードが設定される。
具体的には、I/Oユニット20とCPUユニット40間のデータリンク機能、I/Oユニット20側からCPUユニット40に対して任意に割込みを発生させる機能、CPUユニット40側と同期して動作する機能、CPUユニット40側の故障を検出してCPUユニット40の故障時の処理をする機能、特殊入出力(パルス、アナログ、ID等)を扱う入出力ボードの制御機能等の動作モードが設定される。
これによって、本発明では、ユーザはI/Oユニットに対してI/O制御ロジック、演算処理のためのプログラムを入力してユーザオリジナルのユニット動作モードを作り上げ、制御対象、制御方式に最適な状態にカスタマイズして使用できるようにする。
すなわち、I/Oユニットに取り込まれ実行されるプログラムは、ユーザがI/Oユニットで実行させたいプログラムでユーザが別途作成するカスタマイズされたプログラムである。このプログラムは、プログラマブルコントローラシステムのCPUユニットでなされる処理プログラム(システムプログラム、ユーザプログラム)とは独立した別のもので、I/Oユニット向けで独自のI/O制御ロジックや任意の演算処理などを行なうプログラムである。外部ツールを用いて作成されるプログラムで、ユーザが新規作成、または書き換え(変更または追加)でき、ユーザが自由にプログラミングできるものである。
そのための構成として、本発明では、外部で組まれたユーザプログラムの入出力部と、上記入出力部から取り込んだユーザプログラムが格納される書き換え可能なメモリと、上記メモリに格納されたユーザプログラムを実行するユーザプログラム実行手段と、を有する構成を採用してもよい。
ユーザプログラムの入出力部とは、ツールとの通信を行なう部分で、実施形態では図1に示したプログラム入出力部21である。図1において、プログラム入出力部21はI/Oユニット20の正面に設けられているが、取り付け位置や形態は実施形態に限定されない。この入出力部によって、ユーザがプログラミングするときに用いるプログラム開発用ツールと直接接続でき、プログラムをツールへアップロード、ツールからダウンロードすることができる。
上記本発明に係わるプログラマブルコントローラのI/Oユニットは、CPUユニットに対して着脱でき、入出力データをバスを介してCPUユニットとやり取りをするプログラマブルコントローラのI/Oユニットとした上で、さらに、
バスを介してユーザプログラムを受信するユーザプログラム受信手段と、
上記ユーザプログラム受信手段で受信したユーザプログラムを格納する書き換え可能なメモリと、
上記メモリに格納されたユーザプログラムを実行するユーザプログラム実行手段と、
を有する構成を採用してもよい。
ここで、バスとは、プログラマブルコントローラを構成する各ユニットを接続する通信用バスのことをいい、図1では専用バス61が相当する。
従って、バスを介してユーザプログラムを受信するユーザプログラム受信手段とは、パソコン10で開発されたユーザプログラムをI/Oユニット20に導く構成をいい、図1では、パソコン10で開発されたプログラムを、CPUユニット40の通信ポート41,プログラマブルコントローラの専用バス61等を介してI/Oユニット20−1にダウンロードさせる構成をいう。
なお、プログラムの受信(ツールへのアップロード、ツールからのダウンロードを含む)は、上記の如く、I/Oユニットの入出力部からもできるので、使用現場の都合等を考慮してバスを介した受信かI/Oユニットの入出力部からの受信かの選択をすると良い。
また、上記ユーザプログラム受信手段で受信したユーザプログラムを格納する書き換え可能なメモリとは実施形態では図2のPRGメモリ27が相当する。書き換え可能なメモリである。なお、このメモリは実施形態のように独立した専用のメモリを設けても良いが、他のメモリと兼用してもよい。
なお、I/Oユニットのプログラムを変更するときは、ツールからプログラムを全て上記入出力部か上記バスを介して再びダウンロードしてPRGメモリ27の任意のエリアに格納すればよい。また、上書き保存してもよい。
また、オンラインエディットで一部を変更するときなどは、PRGメモリ27から一部をツールにアップロードし、ツールにて表示し(例えばラダー表示)、ユーザがツールで一部変更してから再度PRGメモリ27に送るようにすればよい。
上記本発明に係わるプログラマブルコントローラのI/Oユニットは、パルス等の特殊入出力を扱う入出力ボードと、
上記入出力ボードに入力された特殊入力に基づいてプログラミングされた制御プログラムを実行し、該実行結果を上記入出力ボードに出力するプログラム実行手段と、
を有する構成を採用してもよい。
上記構成によると、I/Oユニットは、パルス等の特殊入力が入力されるとともに、該入力に基づいて上記プログラム実行手段でプログラムが実行されると該実行結果が出力される入出力ボードが装着可能とされている。
実施形態では、図3に示す如く、I/Oユニット20には、パルス入力、アナログ入力、特殊センサ入力等が入力される特殊入力回路31と、パルス出力、アナログ出力等が出力される特殊出力回路32とを具備する入出力ボード23が装着されている。
これによって、特殊入出力の制御はI/Oユニット単独で行なうことができ、プログラマブルコントローラシステムの構成に依存しない安定した入出力制御ができ、かつCPUユニットへのプログラム依存度が小さくなるのでサイクルタイムを短くすることができる。
上記本発明に係わるプログラマブルコントローラのI/Oユニットは、CPUユニットに対して着脱でき、入出力データをCPUユニットとやり取りをするプログラマブルコントローラのI/Oユニットとした上で、さらに、
プログラミングされた制御プログラムを実行するとともに所定の入力条件に基づいてCPUユニット側に対して任意のタイミングで割込みトリガを発生させるように構成することもできる。
割込みトリガとは、CPUユニットがサイクリックにプログラムを実行中、プログラムの実行を中断させて割込みプログラムを実行させるトリガをいう。
実施形態では、図11に示したI/Oユニット側プログラム240が相当する。
これによって、I/Oユニットの演算機能にCPUユニットに対する割込み機能を搭載したので、任意の割込み発生ロジック、割込みタイミングを作ることが可能となる。
ここで、データリンクとは、I/OユニットとCPUユニットとが互いにデータの授受を行なうことをいう。
実施形態では、図5に示したシステム設定メモリ29c、49cのシステム設定により、CPUユニット40及びI/Oユニット20は互いの任意のメモリにデータリンクできるよう構成されている。このため、双方のI/Fプログラムを簡略化することができる。
上記本発明に係わるプログラマブルコントローラのI/Oユニットは、CPUユニットに対して着脱でき、入出力データをCPUユニットとやり取りをするプログラマブルコントローラのI/Oユニットとした上で、さらに、
プログラミングされた制御プログラムを実行するとともにCPUユニット側からの指令に基づいてCPUユニット側と同期動作をするように構成することもできる。
ここで、同期動作をするとは、CPUユニットとI/Oユニットが同一タイミングで動作することをいう。
図12に示したCPUユニット主導モードにおいては、CPUユニット40側のプログラムで任意にI/Oユニット20側のRUNフラグをコントロールできるようにし、これによってI/Oユニット20のプログラム実行を起動または停止できるようにした。このため、I/Oユニット20側にはCPUユニット40と同期をとるためのプログラムは不要となり、サイクルタイムを短くすることができる等の効果を奏する。
上記本発明に係わるプログラマブルコントローラのI/Oユニットは、CPUユニットに対して着脱でき、入出力データをCPUユニットとやり取りをするプログラマブルコントローラのI/Oユニットとした上で、さらに、
プログラミングされた制御プログラムを実行するとともにCPUユニット側と非同期動作をするように構成することもできる。
非同期動作をするというのは、CPUユニットとI/Oユニットが互いに独立して動作することをいう。
図13に示すI/Oユニット主導モードにおいては、I/OユニットとCPUユニットは非同期動作をする。そして、CPUユニットに異常が発生した場合、I/OユニットはCPUユニット異常時処理を行なうことができ、プログラマブルコントローラシステムとして安定した機器制御ができる。
また、本発明に係わるプログラマブルコントローラシステムは、プログラミングされた制御プログラムを実行するI/OユニットとCPUユニットからなるプログラマブルコントローラシステムにおいて、
上記プログラマブルコントローラシステムは、データリンク手段を有し、
上記データリンク手段は、
上記CPUユニット及び上記I/Oユニットのそれぞれの制御プログラム実行に伴うサイクリック制御情報のうち、データリンクを希望する相手側のサイクリック制御情報を指定するサイクリック制御情報指定手段と、
上記サイクリック制御情報指定手段で指定されたサイクリック制御情報をサイクリックに収集するサイクリック制御情報収集手段と、
上記サイクリック制御情報収集手段で収集されたサイクリック制御情報を指定されたデータリンクに従って上記CPUユニット及び上記I/Oユニットに転送するサイクリック制御情報転送手段と、
を有することを特徴とする。
ここで、サイクリック制御情報指定手段は、CPUユニット及び上記I/Oユニットのそれぞれの制御プログラム実行に伴うサイクリック制御情報のうち、データリンクを希望する相手側のサイクリック制御情報を指定するものであるが、実施形態では、データリンクのためのシステム設定を行なう図5のシステム設定メモリ29cや各ユニット用システム設定メモリ49cである。
また、サイクリック制御情報収集手段は上記サイクリック制御情報指定手段で指定されたサイクリック制御情報をサイクリックに収集するものであるが、実施形態では、図7のステップ186、188、190の処理である。
また、サイクリック制御情報転送手段とは、上記サイクリック制御情報収集手段で収集されたサイクリック制御情報を指定されたデータリンクに従って上記CPUユニット及び上記I/Oユニットに転送するものであるが、実施形態では、図5,6のデータ転送処理が相当する。
これによって、本発明では、CPUユニット及びI/Oユニットは互いの任意のメモリにデータリンクできるので、双方のI/Fプログラムを簡略化することができる。
上記本発明に係わるプログラマブルコントローラシステムにおいて、上記I/Oユニットは、所定の入力条件に基づいてCPUユニット側に対して任意のタイミングで割込みトリガを発生させる割込みトリガ発生手段を有し、上記CPUユニットは、I/Oユニット側からの割込みトリガにより指定されたタイミングで所定の割込みプログラムを実行する割込みプログラム実行手段、を有するように構成することもできる。
ここで、指定されたタイミングで所定の割込みプログラムを実行する割込みプログラム実行手段とは、I/Oユニット側で発生された割込みトリガに基づいて所定の割込みプログラムを実行するものをいう。
実施形態では、図11に示したCPUユニット側プログラム250において、割込みプログラムNo.10を実行することをいう。
本発明では、I/Oユニットの演算機能にCPUユニットに対する割込み機能を搭載したので、任意の割込み発生ロジック、割込みタイミングを作ることが可能となり、I/Oユニット側で最適な割込みタイミングを絞り込むことが可能になる。このため、CPUユニット側の割込みプログラム作成も簡易化され、且つ全体のプログラム実行も不要な割込み発生が減少するため効率が上がる。
また、本発明に係わるプログラマブルコントローラシステムは、プログラミングされた制御プログラムを実行するI/OユニットとCPUユニットからなるプログラマブルコントローラシステムにおいて、
上記CPUユニットは、
上記I/Oユニットに対して起動命令を発生する起動命令発生手段を有し、
上記I/Oユニットは、
上記起動命令に基づきI/O側制御プログラムを実行することを特徴とする。
図12には、CPUユニット主導モードで同期をとる場合が示されており、同図(a)に示すCPUユニット側プログラムで所定のI/Oユニットスタートの入力があると、I/OユニットRUN(スタート)が実行され、I/Oユニット20側ではRUNフラグがONとなる。
これによって、同図(b)に示すI/Oユニット状態別処理では、RUNフラグONかが調べられると(ステップ300)、RUNフラグONが検出されるので、所定のI/O側プログラムが実行される(ステップ302)。
このように、CPUユニット主導モードにおいては、CPUユニット40側のプログラムで任意にI/Oユニット20側のRUNフラグをコントロールできるようにし、これによってI/Oユニット20のプログラム実行を起動または停止できるようにした。このため、I/Oユニット20側にはCPUユニット40と同期をとるためのプログラムは不要となり、サイクルタイムを短くすることができる等の効果を奏する。
上記本発明に係わるプログラマブルコントローラシステムにおいて、
上記I/Oユニットは、さらに、
上記CPUユニットの異常を検出する異常検出手段と、
上記検出された異常を登録する異常登録手段と、
上記異常が登録されている場合はCPU異常時処理をするCPU異常時処理手段と、
上記異常が登録されていない場合は上記I/Oユニット側制御プログラムを実行するI/Oユニット側制御プログラム実行手段と、
を有するように構成することができる。
ことを特徴とする。
I/Oユニット主導モードでは、I/OユニットはCPUユニットとは非同期で動作するため、CPUユニット側の動作モードとは関係なくI/Oユニットの状態で動作する。これにより、CPUユニット側で異常が発生し、CPUユニットが動作停止しても、I/Oユニットは運転を継続することができる。
また、I/Oユニットにおいては、CPUユニット側の異常を検出することができるため、上記データリンク機能とセットで使用することにより、CPUユニット側で発生した異常内容、停止時のデータ内容を参照してI/Oユニットプログラム動作を行なうことができる。
図13はI/Oユニット主導モードにおいて、CPUユニット40に異常が発生した場合の処理手順を示すフローチャートである。
この処理では、CPUユニット40に異常が発生したか否かが調べられており(ステップ310)、CPUユニット40に異常が発生していない場合は(ステップ310でNO)、ステップ314に進むが、CPUユニット40に異常が発生している場合は(ステップ310でYES)、CPUユニット異常時フラグをONして異常登録をし(ステップ312)、ステップ314に進んでI/Oユニットプログラム動作を行なう。この場合はCPUユニット異常時フラグがONされているので、CPUユニット異常時処理が行なわれることになる。
このように、I/Oユニット主導モードにおいては、CPUユニットに異常が発生した場合、I/OユニットはCPUユニット異常時処理を行なうようにしたので、プログラマブルコントローラシステムとして安定した機器制御ができる。
本発明にあっては、「データリンク手段」(第1の構成要件)、あるいは、「CPUユニットからの起動命令に基づきI/Oユニットが制御プログラムを実行する構成」(第2の構成要件)を採用した。特に、第1の構成要件の採用により、例えばI/OユニットはCPUユニットの任意のメモリにデータリンクできるので、CPUユニット側のI/F用のプログラムを簡略化することができる等の作用効果を奏する。また、上記第2の構成要件の採用により、CPUユニットからI/Oユニットの制御プログラムを起動でき、I/Oユニット側にはCPUユニットと同期を取るためのプログラムは不要となり、サイクルタイムを短くすることができる等の作用効果を奏する。
以下、この発明に係わるI/Oユニット及びプログラマブルコントローラシステムの実施の形態を添付図面を参照して詳細に説明する。
図1は、本実施形態に係わるI/Oユニットに搭載されるユニットプログラムの開発環境の概要を示す概略ブロック図である。
図1において、10はI/Oユニット(高機能I/Oユニット)20に搭載されるユニットプログラムの開発ツールとしてのパソコンで、オンライン、オフラインでプログラムを開発する。
パソコン10で開発されたプログラムはシリアルI/Fを使ってI/Oユニット20にダウンロードされるが、そのために、I/Oユニット20はダウンロード用のプログラム入出力部21を有し、パソコン10で開発されたプログラムはプログラム入出力部21を介してI/Oユニット20にダウンロードされる。
なお、I/Oユニット20の表面には、プログラム入出力部21の他に、制御対象となる入出力機器が接続される汎用デジタル入出力部22と、特殊入出力を取り扱う入出力ボード23(図3参照)の制御対象となる入出力機器が接続される入出力部23aが設けられている。
なお、図1において、60はビルディングブロックタイプのプログラマブルコントローラシステムで、CPUユニット40と2つのI/Oユニット20−1,20−2を具備している。そこで、パソコン10で開発されたプログラムはCPUユニット40を介してI/Oユニット20−1(I/Oユニット20)に転送するよう構成することもできる。この場合は、パソコン10で開発されたプログラムは、CPUユニット40の通信ポート41,プログラマブルコントローラの専用バス61を介してI/Oユニット20−1にダウンロードされる。
図2は、図1に示したI/Oユニット20やCPUユニット40で構成されるプログラマブルコントローラシステム60の概略構成を示すブロック図である。プログラマブルコントローラシステム60は、PS(電源)ユニット、CPUユニット、I/Oユニット(高機能I/Oユニット)等の多数のユニットで集合ユニットを構成しているが、図2はこのうちI/Oユニット20とCPUユニット40の部分の構成を示している。
図2において、I/Oユニット20とCPUユニット40は専用バス61を介して接続され、I/Oユニット20は、バスI/F用デバイス24、CPU25、ROM26、PRGメモリ27、変数メモリ29より構成されている。
また、CPUユニット40は、バスI/F用デバイス44、CPU45、ROM46、ユーザプログラムメモリ47、RAM48、変数メモリ49より構成されている。
ここで、バスI/F用デバイス24は、プログラマブルコントローラシステム60の専用バス61に接続され、後述するようにI/Oユニット20とCPUユニット40がデータ授受(データリンク)を行なうときの共有メモリとなるものである。
CPU25は、I/Oユニット20全体を統括制御するとともに、図1に示したパソコン10でプログラミングされたプログラムに基づいて、I/Oユニット20とCPUユニット40間のデータリンク機能、I/Oユニット20側からCPUユニット40に対して任意に割込みを発生させる機能、CPUユニット40と同期または非同期で動作する機能、特殊入出力(パルス、アナログ、ID等)を扱う入出力ボード23の制御機能等の処理を行なう。
ROM26は、CPU25で実行されるシステムプログラムが格納されるメモリである。
PRGメモリ27は、パソコン10でプログラミングされたプログラムが格納されるメモリである。
変数メモリ29は、プログラム実行、外部入出力、CPUユニット40とのI/FのためのI/Oメモリである。なお、この変数メモリ29中には、後述するシステム設定メモリ(図5のシステム設定メモリ29c)も含まれる。
また、CPUユニット40側のバスI/F用デバイス44は、プログラマブルコントローラシステム60の専用バス61に接続され、プログラマブルコントローラシステム60を構成するI/Oユニット20を含む他のユニットとのI/Fをとるものである。
CPU45は、CPUユニット40全体を統括制御するとともに、CPUユニット40とI/Oユニット20間のデータリンク機能、I/Oユニット20と同期または非同期で動作する機能等の処理を行なう。
ROM46は、CPU45で実行されるシステムプログラムが格納されるメモリである。
ユーザプログラムメモリ47は、入出力の処理動作を指示するユーザプログラムが格納されるメモリである。
RAM48は、演算結果やタイマ、カウンタ値等が格納されるメモリである。
変数メモリ49は、プログラム実行、外部入出力、I/Oユニット20とのI/FのためのI/Oメモリである。なお、この変数メモリ49中には、後述する各ユニット用システム設定メモリ(図5の各ユニット用システム設定メモリ49c)も含まれる。
図3は、図2に示したI/Oユニット20の詳細を示すブロック図である。
図3において、I/Oユニット20は、プログラム実行部30と入出力ボード23より構成され、プログラム実行部30は汎用デジタル入出力部22、バスI/F用デバイス24、CPU25、ROM26、PRGメモリ27、変数メモリ29を具備し、入出力ボード23は特殊入力回路31、特殊出力回路32を具備している。
ここで、バスI/F用デバイス24、CPU25、ROM26、PRGメモリ27、変数メモリ29の内容は図2の説明で述べたので重複した説明は省略する。
汎用デジタル入出力部22は、プログラマブルコントローラシステムにおける制御対象機器が接続されるもので、複数の入力接点、出力接点より構成されている。
入出力ボード23はパルス、アナログ等の特殊入出力が取り扱われるボードで、本実施形態では、パルス入力、アナログ入力、特殊センサ入力等が入力される特殊入力回路31と、パルス出力、アナログ出力等が出力される特殊出力回路32とを具備している。
次に、図3に示したI/Oユニット20の全体的な動作を図4を参照しながら説明する。
この処理では、まず、電源ON時初期処理を行なう(ステップ100)。この電源ON時初期処理では、I/Oユニット20及びCPUユニット40のそれぞれの変数メモリ29,49にセットされたシステム設定の内容を読み出し(図5の変数メモリ29,49にセットされたシステム設定メモリ29c及び各ユニット用システム設定メモリ49cの内容を読み出す)、I/Oユニット20のバスI/F用デバイス24上にあるサイクリック制御情報登録テーブル(図9のサイクリック制御情報登録テーブル210)に登録する等の処理を行なうが、この処理は後に詳述する。
次に、1サイクルタイムにおける共通処理を行なう(ステップ110)。
共通処理が終ると、状態別処理を行ない(ステップ120)、具体的にはI/Oユニットとしての演算処理(ステップ122)、I/Oリフレッシュ処理(ステップ124)を行なう。
ステップ122の演算処理では、入出力ボード23の特殊入力回路31に入力されるパルス入力、アナログ入力、特殊センサ入力等に基づいてユーザ命令を実行し、実行結果を特殊出力回路32に出力する。こうして、ステップ122の演算処理では、CPUユニット40を介することなく、特殊入力回路31及び特殊出力回路32のデータを書き換える(命令語によるダイレクトリフレッシュ)。つまり、入出力ボード23の入出力はCPUユニット40を介することなく、I/Oユニット20が単独で制御する。
また、ステップ124のI/Oリフレッシュ処理では、以下の処理が行なわれる。なお、上記の如く、入出力ボード23の入出力はステップ122の演算処理中にダイレクトリフレッシュされるので、ステップ124のI/Oリフレッシュ処理には含まれない。なお、ステップ124のI/Oリフレッシュ処理にて処理するようにしてもよい。
(1)上記汎用デジタル入出力部22に接続された入出力機器のI/Oリフレッシュ。
(2)I/Oユニット20とCPUユニット40間における変数メモリ29,49中の固定割付によるデータリンク用エリア(図5の固定割付によるデータリンク用エリア29a−1と49a−1)間のデータリンク。
(3)変数メモリ29,49のシステム設定メモリ(図5のシステム設定メモリ29cと各ユニット用システム設定メモリ49c)に設定されたシステム設定条件による任意のエリアのデータリンク。
ステップ120の状態別処理が終ると、最後に周辺サービス処理を行ない(ステップ130)、CPUユニット40をはじめとする他ユニットへのデータ転送をデータリード/データライトのイベント方式で行なう。
そして、I/Oユニット20は、電源ON時の初期処理が終ると、以上のステップ110からステップ130の処理をサイクリックに繰り返すことになる。
ところで、上記の如く、ステップ124のI/Oリフレッシュ処理では、I/Oユニット20とCPUユニット40間における変数メモリ29,49中の固定割付によるデータリンク用エリア(図5の固定割付によるデータリンク用エリア29a−1と49a−1)間のデータリンクと、変数メモリ29,49のシステム設定メモリ(図5のシステム設定メモリ29cと各ユニット用システム設定メモリ49c)に設定されたシステム設定条件による任意のエリアのデータリンクが行なわれるが、前者の場合は、固定割付によるデータリンク用エリア間のデータリンクであり、デフォルトで設定されるものである。
従って、図1に示したプログラム開発環境によって各I/Oユニットに最適にカスタマイズされたデータリンクのシステム設定が行なわれる後者のデータリンクの手法について、以下説明する。
まず、両者がデータリンクする場合、I/Oユニット側のシステム設定で両者がデータリンクする場合と、CPUユニット側のシステム設定で両者がデータリンクする場合がある。以下、2つの場合について説明する。
(1)I/Oユニット側のシステム設定で両者がデータリンクする場合。
図5にはこの場合のI/Oユニット側変数メモリ29とCPUユニット側変数メモリ49が示されている。
ここで、I/Oユニット側変数メモリ29は、図5(a)に示す如く、固定割付によるデータリンク用エリア29a−1を含む実I/O用メモリ29aと、システム設定によるデータリンク用エリア29bと、システム設定メモリ29cより構成されている。
また、CPUユニット側変数メモリ49は、図5(b)に示す如く、固定割付によるデータリンク用エリア49a−1を含む実I/O用メモリ49aと、システム設定によるデータリンク用エリア49bと、各ユニット用システム設定メモリ49cより構成されている。
ここで、実I/O用I/Oメモリ29aには固定割付によるデータリンク用エリア29a−1が含まれ、固定割付によるデータリンク用エリア29a−1はデフォルトで固定的に割り付けられたデータリンク用エリアである。
また、システム設定によるデータリンク用エリア29bは、システム設定メモリ29cで任意に設定されたデータリンク用エリアで、プログラム演算用I/Oメモリ29−1、ボードI/O用I/Oメモリ29−2、電断保持用I/Oメモリ29−3、データ用メモリ29−4、データリンク用I/Oメモリ29−5、…等より構成されている。
また、システム設定メモリ29cは、I/Oユニット20がCPUユニット40とデータリンクを行なう際のシステム設定を行なうものである。システム設定の方法は後述する。
また、実I/O用I/Oメモリ49aには固定割付によるデータリンク用エリア49a−1が含まれ、固定割付によるデータリンク用エリア49a−1はデフォルトで固定的に割り付けられたデータリンク用エリアである。
また、システム設定によるデータリンク用エリア49bは、各ユニット用システム設定メモリ49cで任意に設定されたデータリンク用エリアで、プログラム演算用I/Oメモリ49−1、電断保持用I/Oメモリ49−3、データ用メモリ49−4、データリンク用I/Oメモリ49−5、…等より構成されている。
また、各ユニット用システム設定メモリ49cは、CPUユニット40がI/Oユニット20とデータリンクを行なう際のシステム設定を行なうものであるが、この場合の処理は、CPUユニット側のシステム設定で両者がデータリンクする場合として、後述する。
次に、I/Oユニット側のシステム設定メモリ29cにおけるシステム設定の方法を説明する。これは、システム設定メモリ29cで任意のCPUユニット側のメモリエリア、先頭アドレス、転送長(データ長)を指定することにより行なう。これにより、I/OユニットとCPUユニット間のデータ交換処理時、自動的にCPUユニット側変数メモリ49の特定データエリアとデータリンクを行なう。
図5では、システム設定メモリ29cでCPUユニット側変数メモリ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データ用エリア29−5bに読み込む。
なお、I/Oユニット側、CPUユニット側ともに、データリンクする場合には自ユニット内にデータリンク用エリアを持つ。データリンク用エリアは、INデータ用とOUTデータ用で構成されており、システム設定では、それぞれのINデータ用、OUTデータ用に対して相手側のデータリンク対象となるエリアを指定することができる。
図5では、I/Oユニット側変数メモリ29はデータリンク用エリアとしてデータリンク用I/Oメモリ29−5を有し、INデータ用とOUTデータ用としてOUTデータ用エリア29−5aとINデータ用エリア29−5bを有す。そして、システム設定では、OUTデータ用エリア29−5aとINデータ用エリア29−5bは共に実I/O用I/Oメモリ49aをデータリンク対象エリアとして指定している。
これにより、I/Oユニット側のプログラムは、CPUユニット側にI/F用のプログラムなしで、CPUユニット側の状態を参照して動作できるプログラムが作成できる。
なお、図5のシステム設定では、I/Oユニット側変数メモリ29のデータリンク用I/Oメモリ29−5のOUTデータ用エリア29−5aとINデータ用エリア29−5bは共に実I/O用I/Oメモリ49aをデータリンク対象エリアとして指定したが、異なったエリアをデータリンク対象エリアとして指定することもできる。例えば、OUTデータ用エリア29−5aは実I/O用I/Oメモリ49aを指定し、INデータ用エリア29−5bはプログラム演算用I/Oメモリ49−1を指定することができる。
(2)CPUユニット側のシステム設定で両者がデータリンクする場合。
図6にはこの場合のI/Oユニット側変数メモリ29とCPUユニット側変数メモリ49が示されている。
ここで、I/Oユニット側変数メモリ29の内容とCPUユニット側変数メモリ49の内容は図5の場合と同一である。
ところで、CPUユニット側変数メモリ49の各ユニット用システム設定メモリ49cは、CPUユニット40がI/Oユニット20とデータリンクを行なう際のシステム設定を行なうものであるが、この各ユニット用システム設定メモリ49cは、CPUユニット40に接続されるI/Oユニット20が複数ある場合、各I/Oユニット毎に設けられる。従って、CPUユニット側変数メモリ49はI/Oユニット20が複数ある場合、I/Oユニットの数だけ設けられる。そして、CPUユニット側変数メモリ49の各ユニット用システム設定メモリ49cは各I/Oユニットに対応したシステム設定が行なわれる。
ここで、各ユニット用システム設定メモリ49cは、ユニット設定メモリ49c−1、OUTデータ用メモリ49c−2、INデータ用メモリ49c−3より構成され、CPUユニット40側では、各ユニット用システム設定メモリ49cのユニット設定メモリ49c−1にI/Oユニット側変数メモリ29のメモリエリア、先頭アドレス、転送長を指定することにより、電源ON時にこの設定テーブルがI/Oユニット20のバスI/F用デバイス24に転送され、I/Oユニット20とCPUユニット40間のデータリンク時は自動的にCPUユニット側変数メモリ49の各ユニット用システム設定メモリ49cとI/Oユニット側変数メモリ29の特定エリア間のデータリンクが行なわれる。
図6では、I/Oユニット側変数メモリ29のボードI/O用I/Oメモリ29−2のデータがCPUユニット側変数メモリ49の各ユニット用システム設定メモリ49cのINデータ用メモリ49c−3に読み込まれ、CPUユニット側変数メモリ49の各ユニット用システム設定メモリ49cのOUTデータ用メモリ49c−2のデータがI/Oユニット側変数メモリ29のデータ用メモリ29−4に書き込まれる。
これにより、CPUユニット側は、I/Oユニット側のプログラムなしで、I/Oユニット側の特殊入出力をモニタ、コントロールすることが可能になったり、CPUユニット側で特定のデータ転送プログラムなしで、I/Oユニット側のプログラムを間接的に制御したりすることができる。
ところで、上記の如きデータリンクを行なうに際して、電源ON時初期処理では、I/Oユニット20はI/Oユニット側変数メモリ29のシステム設定メモリ29c、CPUユニット側変数メモリ49の各ユニット用システム設定メモリ49cに設定された内容を読み出し、システム設定の中でデータリンク設定が有効となっていた場合、I/Oユニット20のバスI/F用デバイス24上にデータリンクのための情報を登録する処理を行なう。具体的には、バスI/F用デバイス24のサイクリック制御情報登録テーブルにデータリンクのための情報を登録する。
以下、このサイクリック制御情報登録処理を図7のフローチャートを参照しながら説明する。
電源ONでこの処理が開始されると(ステップ180)、所定の初期化処理を行なう(ステップ182)。
次に、共有メモリ(バスI/F用デバイス24)に固定割付エリア用サイクリック制御情報を登録する(ステップ184)。
次に、I/Oユニット20のシステム設定メモリ29cとCPUユニット40の各ユニット用メモリ49cよりシステム設定を読み出し(ステップ186)、データリンク指定ありか否か調べる(ステップ188)。
ここで、データリンク指定がない場合は(ステップ188でNO)、当処理を終了するが(ステップ192)、データリンク指定がある場合は(ステップ188でYES)、当該データリンク指定をサイクリック制御情報登録テーブルに登録し(ステップ190)、当処理を終える(ステップ192)。
図8には、上記図7の処理により作成されるバスI/F用デバイス24の共有メモリの内容が示されており、共有メモリはサイクリック制御情報登録テーブル210、転送データエリア212等より構成されているが、サイクリック制御情報はサイクリック制御情報登録テーブル210に定義されている。
図9には、上記サイクリック制御情報登録テーブル210の内容が示されており、サイクリック制御情報は
(1)転送先アドレス
(2)転送元アドレス
(3)転送長
の1セットからなり、登録テーブルとしては、数セット登録できるようになっている。そして、このサイクリック制御情報が、
(1)CPUユニット→I/Oユニット
(2)I/Oユニット→CPUユニット
のそれぞれの転送方向に対して登録できるようになっている。
また、転送長に任意のコード(h'FFFF or h'0000)をセットすることで、転送時無効とすることができる。
この場合の処理手順を図10に示す。
まず、I/Oリフレッシュ処理が開始されると(ステップ220)、登録データを読み出し(ステップ222)、転送長が有効か否か調べる(ステップ224)。
ここで、転送長が有効でない場合は(ステップ224でNO)、当処理を終了するが、転送長が有効な場合は(ステップ224でYES)、転送データの読み出し、書込み処理を行ない(ステップ226)、ステップ222の処理に戻る。そして、登録データの読み出し処理を続ける。
このように、電源ON時、各ユニットのシステム設定に基づき図8,9に示す如きサイクリック制御情報登録テーブル210を作成し、I/Oリフレッシュ処理時に、I/Oユニット20及びCPUユニット40はこのサイクリック制御情報登録テーブル210を参照してデータの書き込み、読み出しを行なう。サイクリック制御情報登録テーブル210に従い、I/Oユニット20及びCPUユニット40上のメモリのデータが書き込まれるため、双方のI/Oリフレッシュのタイミングで共有メモリから指定されている自ユニットのメモリへデータの転送を行なうことができる。
以上が、登録データの転送処理である。
次に、本実施形態では、I/Oユニット20側からの命令で、CPUユニット40に対して割込みをかけることができる。
これは、I/Oユニット20側からの命令で、CPUユニット40側の割込みプログラムを任意に指定して起動をかけることができるものである。
図11は、この場合のI/Oユニット側プログラムとCPUユニット側プログラムを示すものであるが、同図(a)に示すI/Oユニット側プログラム240では、複数の入力条件に基づいて割込み起動命令(No.10)が実行され、これによって、CPUユニット側プログラム250では、指定された割込みプログラムNo.10が実行される。
このように、本実施形態では、CPUユニット40側の設定でI/Oユニット側に割込み発生条件を設定することなく、I/Oユニット20側の独自のプログラムロジックの結果として、任意のタイミングでCPUユニット40側の特定の割込みプログラムを指定して起動することができる。
これにより、従来のような特定の入出力(I/O)の割込み要件発生に対して特定の割込みプログラムが固定的に起動されるのではなく、I/Oユニット20側の割込み起動命令に対してCPUユニット側の特定の割込みプログラムを指定することができるほか、I/Oユニット側プログラム240を介することで、複数の入力条件のANDやORだけでなく、演算結果を待ってCPUユニット側の割込みプログラムを起動することができる。
このため、CPUユニット側では、従来のように、特定の入出力(I/O)のON/OFFに対して特定の割込みプログラムがすぐ起動されるのではなく、I/Oユニット側で最適な割込みタイミングを絞り込むことが可能になるため、CPUユニット側の割込みプログラム作成も簡易化され、且つ全体のプログラム実行も不要な割込み発生が減少するため効率が上がる。
ところで、従来のプログラマブルコントローラシステムにおいては、I/Oユニットの動作はCPUユニットと連動して動作するか、単独で動作するかであった。
しかし、I/OユニットがCPUユニットと連動して動作するには連動モードにおいてはCPUユニットのモードに連動する。このため、両者が同期するためのプログラムがCPUユニットにもI/Oユニットにも必要であるという問題点があった。
そこで、以下、I/Oユニットの動作を従来のようなCPUユニットとの連動か単独動作にするのではなく、CPUユニット主導動作かI/Oユニット主導動作に切替えるようにして、I/Oユニット側に同期を取るためのプログラムを不用とした場合について説明する。
このうち、図12には、CPUユニット主導モードで同期をとる場合が示されており、同図(a)に示すCPUユニット側プログラムで所定のI/Oユニットスタートの入力があると、I/OユニットRUN(スタート)が実行され、I/Oユニット20側ではRUNフラグがONとなる。
これによって、同図(b)に示すI/Oユニット状態別処理では、RUNフラグONかが調べられると(ステップ300)、RUNフラグONが検出されるので、所定のI/O側プログラムが実行される(ステップ302)。
このように、CPUユニット主導モードにおいては、CPUユニット40側のプログラムで任意にI/Oユニット20側のRUNフラグをコントロールできるようにし、これによってI/Oユニット20のプログラム実行を起動または停止できるようにした。このため、I/Oユニット20側にはCPUユニット40と同期をとるためのプログラムは不要となり、サイクルタイムを短くすることができる等の効果を奏する。
次に、I/Oユニット主導モードについて説明する。I/Oユニット主導モードにおいては、ユニット立上がり時にシステム設定のユニット動作モード設定に従い、以後の動作モードの変更は接続されるツールのモードに従う。
このI/Oユニット主導モードでは、CPUユニットとは非同期で動作するため、CPUユニット側の動作モードとは関係なくI/Oユニットの状態で動作する。これにより、CPUユニット側で異常が発生し、CPUユニットが動作停止しても、I/Oユニットは運転を継続することができる。
また、I/Oユニットにおいては、CPUユニット側の異常を検出することができるため、上記データリンク機能とセットで使用することにより、CPUユニット側で発生した異常内容、停止時のデータ内容を参照してI/Oユニットプログラム動作を行なうことができる。
図13はI/Oユニット主導モードにおいて、CPUユニット40に異常が発生した場合の処理手順を示すフローチャートである。
この処理では、CPUユニット40に異常が発生したか否かが調べられており(ステップ310)、CPUユニット40に異常が発生していない場合は(ステップ310でNO)、ステップ314に進むが、CPUユニット40に異常が発生している場合は(ステップ310でYES)、CPUユニット異常時フラグをONして異常登録をし(ステップ312)、ステップ314に進んでI/Oユニットプログラム動作を行なう。この場合はCPUユニット異常時フラグがONされているので、CPUユニット異常時処理が行なわれることになる。
このように、I/Oユニット主導モードにおいては、CPUユニットに異常が発生した場合、I/OユニットはCPUユニット異常時処理を行なうようにしたので、プログラマブルコントローラシステムとして安定した機器制御ができる。
以上説明したように、本実施形態では、以下の効果を奏する。
(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ユニット主導モードにおいては、CPUユニットに異常が発生した場合、I/OユニットはCPUユニット異常時処理を行なうようにしたので、プログラマブルコントローラシステムとして安定した機器制御ができる。
(6)I/Oユニット20には入出力ボード23が装着できるように構成され、特殊入出力の制御はI/Oユニット20で行なうようにしたので、CPUユニット40へのプログラム依存度が小さくなり、CPUユニット40のプログラムが簡易化される。従って、プログラムを分割して開発でき、プログラムをモジュール化した、いわゆるタスクを用いたプログラム開発に好適である。
(7)特殊入出力の制御はI/Oユニット20で行なうようにしたり、I/Oユニット20とCPUユニット40間のデータリンクはI/Oユニット20のバスI/F用デバイス(共有メモリ)を使用して行なうようにして高機能I/Oユニット制御のためのプログラムがCPUユニット40からI/Oユニット20側へ分散されるため、CPUユニット側の負荷も分散されて、プログラマブルコントローラシステムとしての性能が向上する。
(8)変数メモリのシステム設定により、CPUユニット40及びI/Oユニット20は互いの任意のメモリにデータリンクできるので、双方のI/Fプログラムを簡略化することができる。
この発明が適用されたI/Oユニットに搭載されるユニットプログラムの開発環境の概要を示す概略ブロック図。 図1に示したI/Oユニット20やCPUユニット40で構成されるプログラマブルコントローラシステム60の概略構成を示すブロック図。 図2に示したI/Oユニット20の詳細を示すブロック図。 図3に示したI/Oユニット20の全体的な動作を示す図。 I/Oユニット側のシステム設定でI/OユニットとCPUユニットがデータリンクする場合の説明図。 CPUユニット側のシステム設定でI/OユニットとCPUユニットがデータリンクする場合の説明図。 I/Oユニット20がI/Oユニット側変数メモリ29のシステム設定メモリ29cとCPUユニット側変数メモリ49の各ユニット用システム設定メモリ49cにセットされたシステム設定を読み出し、I/Oユニット20のバスI/F用デバイス24上にあるサイクリック制御情報登録テーブルにデータリンクのための情報を登録する処理を行なう場合の処理手順を示すフローチャート。 図7の処理により作成されるバスI/F用デバイス24の共有メモリの構成を示す図。 図8に示したサイクリック制御情報登録テーブル210の構成を示す図。 サイクリック制御情報を登録データとして読み出す際、サイクリック制御情報の転送長(データ長)に任意のコード(h'FFFF or h'0000)をセットすることでデータの有効、無効を判断する場合の処理手順を示すフローチャート。 I/Oユニット20側からの命令で、CPUユニット40に対して割込みをかける場合の構成を示す図。 CPUユニット主導モードで同期をとる場合の説明図。 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ユニット側プログラム

Claims (6)

  1. プログラミングされた制御プログラムを実行するとともに、入出力データをCPUユニットとやり取りをするプログラマブルコントローラのI/Oユニットであって、
    上記I/Oユニットは、
    上記CPUユニット側とデータリンクするデータリンク手段と、
    上記CPUユニットからの起動命令に基づき当該制御プログラムを実行する手段と、を有し、
    上記データリンク手段は、
    上記CPUユニットの制御プログラム実行に伴うサイクリック制御情報のうち、データリンクを希望するサイクリック制御情報を指定するサイクリック制御情報指定手段と、
    上記サイクリック制御情報指定手段で指定されたサイクリック制御情報をサイクリックに収集するサイクリック制御情報収集手段と、
    上記サイクリック制御情報収集手段で収集されたサイクリック制御情報を指定されたデータリンクに従って上記CPUユニットに転送するサイクリック制御情報転送手段と、を備えてなること
    を特徴とするプログラマブルコントローラのI/Oユニット。
  2. プログラミングされた制御プログラムを実行するとともに、入出力データをCPUユニットとやり取りをするプログラマブルコントローラのI/Oユニットであって、
    上記I/Oユニットは、
    上記CPUユニット側とデータリンクするデータリンク手段を有し、
    上記データリンク手段は、
    上記CPUユニットの制御プログラム実行に伴うサイクリック制御情報のうち、データリンクを希望するサイクリック制御情報を指定するサイクリック制御情報指定手段と、
    上記サイクリック制御情報指定手段で指定されたサイクリック制御情報をサイクリックに収集するサイクリック制御情報収集手段と、
    上記サイクリック制御情報収集手段で収集されたサイクリック制御情報を指定されたデータリンクに従って上記CPUユニットに転送するサイクリック制御情報転送手段と、を備えてなること
    を特徴とするプログラマブルコントローラのI/Oユニット。
  3. プログラミングされた制御プログラムを実行するとともに、入出力データをCPUユニットとやり取りをするプログラマブルコントローラのI/Oユニットであって、
    上記I/Oユニットは、上記CPUユニットからの起動命令に基づき当該制御プログラムを実行する手段を有すること
    を特徴とするプログラマブルコントローラのI/Oユニット。
  4. プログラミングされた制御プログラムを実行するI/OユニットとCPUユニットからなるプログラマブルコントローラシステムにおいて、
    上記プログラマブルコントローラシステムは、データリンク手段を有し、
    上記データリンク手段は、
    上記CPUユニット及び上記I/Oユニットのそれぞれの制御プログラム実行に伴うサイクリック制御情報のうち、データリンクを希望する相手側のサイクリック制御情報を指定するサイクリック制御情報指定手段と、
    上記サイクリック制御情報指定手段で指定されたサイクリック制御情報をサイクリックに収集するサイクリック制御情報収集手段と、
    上記サイクリック制御情報収集手段で収集されたサイクリック制御情報を指定されたデータリンクに従って上記CPUユニット及び上記I/Oユニットに転送するサイクリック制御情報転送手段と、
    を有することを特徴とするプログラマブルコントローラシステム。
  5. プログラミングされた制御プログラムを実行するI/OユニットとCPUユニットからなるプログラマブルコントローラシステムにおいて、
    上記CPUユニットは、
    上記I/Oユニットに対して起動命令を発生する起動命令発生手段を有し、
    上記I/Oユニットは、
    上記起動命令に基づき当該制御プログラムを実行すること
    を特徴とするプログラマブルコントローラシステム。
  6. 上記I/Oユニットは、さらに、
    上記CPUユニットの異常を検出する異常検出手段と、
    上記検出された異常を登録する異常登録手段と、
    上記異常が登録されている場合はCPU異常時処理をするCPU異常時処理手段と、
    上記異常が登録されていない場合は上記I/Oユニット側制御プログラムを実行するI/Oユニット側制御プログラム実行手段と、
    を有すること
    を特徴とする請求項5に記載のプログラマブルコントローラシステム。
JP2008177635A 2008-07-08 2008-07-08 I/oユニット及びプログラマブルコントローラシステム Pending JP2008251052A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Related Parent Applications (1)

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

Publications (1)

Publication Number Publication Date
JP2008251052A true JP2008251052A (ja) 2008-10-16

Family

ID=39975831

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP2008251052A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016110459A (ja) * 2014-12-08 2016-06-20 株式会社キーエンス プログラマブル・ロジック・コントローラ及びプログラマブル・ロジック・コントローラの拡張ユニット、制御方法および制御プログラム
JP2016110458A (ja) * 2014-12-08 2016-06-20 株式会社キーエンス プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム
JP7118290B1 (ja) * 2021-05-06 2022-08-15 三菱電機株式会社 入出力モジュール及び制御システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01126849A (ja) * 1987-11-12 1989-05-18 Mitsubishi Electric Corp データ転送制御方式
JPH0371307A (ja) * 1989-08-11 1991-03-27 Toshiba Corp インテリジェントi/oモジュール
JPH0583851U (ja) * 1992-03-31 1993-11-12 横河電機株式会社 情報処理装置
JPH11296211A (ja) * 1998-04-14 1999-10-29 Yaskawa Electric Corp 入出力装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01126849A (ja) * 1987-11-12 1989-05-18 Mitsubishi Electric Corp データ転送制御方式
JPH0371307A (ja) * 1989-08-11 1991-03-27 Toshiba Corp インテリジェントi/oモジュール
JPH0583851U (ja) * 1992-03-31 1993-11-12 横河電機株式会社 情報処理装置
JPH11296211A (ja) * 1998-04-14 1999-10-29 Yaskawa Electric Corp 入出力装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016110459A (ja) * 2014-12-08 2016-06-20 株式会社キーエンス プログラマブル・ロジック・コントローラ及びプログラマブル・ロジック・コントローラの拡張ユニット、制御方法および制御プログラム
JP2016110458A (ja) * 2014-12-08 2016-06-20 株式会社キーエンス プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム
JP7118290B1 (ja) * 2021-05-06 2022-08-15 三菱電機株式会社 入出力モジュール及び制御システム

Similar Documents

Publication Publication Date Title
JP5553910B2 (ja) モーションコントローラ
JP6535459B2 (ja) プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム
CN113204375A (zh) 一种多路服务器分区方法、系统及设备
CN104932914A (zh) 多cpu启动电路和多cpu启动方法
JP2008251052A (ja) I/oユニット及びプログラマブルコントローラシステム
JP2002006907A (ja) I/oユニット及びプログラマブルコントローラシステム
JP2007102632A (ja) シミュレーション装置
JP2009205277A (ja) 工作機械の制御装置
JP2004265001A (ja) プロセスコントロール機器及びcpuユニット
JPH02202604A (ja) 外部拡張型プログラマブル・コントローラ
JPH0760669A (ja) 産業用機械の操作システム
TWI546668B (zh) 具分散式處理架構之控制系統及其運作方法
US11360462B2 (en) Support device and support program
JP2535609B2 (ja) 計算機システム
JP5071943B2 (ja) 電子制御装置およびプログラム起動切替方法
JP2005339018A (ja) 数値制御装置
JPH11175113A (ja) プログラマブルコントローラ
JP2003228418A (ja) 産業用ロボットの制御装置およびその装置における表示方法
JP2003015709A (ja) プログラマブルコントローラ・システム
JPH10268914A (ja) プログラマブルコントローラ
JP2004151762A (ja) プログラマブルコントローラ
JP2010204737A (ja) プログラマブルコントローラの制御システムおよびプログラマブルコントローラの制御プログラム実行方法
JPH08171483A (ja) データ処理装置
JP2009099068A (ja) モーションコントローラおよびモーションプログラム有効軸判別方法
JPS58159160A (ja) デ−タ処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20080714

Free format text: JAPANESE INTERMEDIATE CODE: A621

A977 Report on retrieval

Effective date: 20100521

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100526

A521 Written amendment

Effective date: 20100707

Free format text: JAPANESE INTERMEDIATE CODE: A523

A131 Notification of reasons for refusal

Effective date: 20100922

Free format text: JAPANESE INTERMEDIATE CODE: A131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110202