JP2009069864A - プログラマブルコントローラ - Google Patents

プログラマブルコントローラ Download PDF

Info

Publication number
JP2009069864A
JP2009069864A JP2007234092A JP2007234092A JP2009069864A JP 2009069864 A JP2009069864 A JP 2009069864A JP 2007234092 A JP2007234092 A JP 2007234092A JP 2007234092 A JP2007234092 A JP 2007234092A JP 2009069864 A JP2009069864 A JP 2009069864A
Authority
JP
Japan
Prior art keywords
output
circuit
input
signal
pulse
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
JP2007234092A
Other languages
English (en)
Other versions
JP4507125B2 (ja
Inventor
Takao Moriyama
貴雄 森山
Hideyuki Oguro
英之 小黒
Seigo Inobe
誠悟 射延
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2007234092A priority Critical patent/JP4507125B2/ja
Priority to US12/042,068 priority patent/US7644220B2/en
Priority to DE102008019089A priority patent/DE102008019089B4/de
Publication of JP2009069864A publication Critical patent/JP2009069864A/ja
Application granted granted Critical
Publication of JP4507125B2 publication Critical patent/JP4507125B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1144Program, program I-O module

Abstract

【課題】特殊ユニットを備えたプログラマブルコントローラにおいて、専用の集積回路素子を手軽に多目的利用が行えるようにして用途の拡大により製造原価を低減する。
【解決手段】入出力制御を行うマイクロプロセッサに対してバス接続される特殊ユニット130は、パラメータメモリによって動作仕様が決定される論理回路部1000n(n=0〜7)を包含した集積回路素子10を備えている。論理回路部1000nは、高速入力処理または高速出力処理に兼用される可逆カウンタを主体として構成され、第一および第二のポート11および12を介して入出力インタフェース回路139X・139Yに接続されると共に、論理回路部1000nの機能はシーケンスプログラムの中の特殊命令の内容によって決定されるので、様々な形式の入出力インタフェース回路に共用されて集積回路素子の多目的利用が可能となる。
【選択図】図2

Description

この発明は、入出力制御を行うマイクロプロセッサの演算速度の不足を補完するために、特殊ユニットを併用するようにしたプログラマブルコントローラに関するもので、特に、特殊ユニットに搭載される専用の集積回路素子の機能向上と取扱性の改善に関するものである。
マイクロプロセッサを内蔵し、操作スイッチや各種センサなどの入力信号の動作状態と、プログラムメモリに格納されているシーケンスプログラムに応動して各種アクチェータや表示機器等の電気負荷の駆動制御を行うプログラマブルコントローラがある。このプログラマブルコントローラにおいて、サイクリック演算されるプログラムメモリの演算周期よりも速い高速パルス信号を扱うための補完機能ユニットとして、例えば高速カウンタユニットや高速パルス出力ユニットなどを増設使用することが行われている。また、入力フィルタによる入力信号の取り込みの遅れを抑制して高速入力を行うためにフィルタの時定数を可変設定したり、パルス幅変調信号出力を発生したりする特殊機能ユニットも知られている。
例えば、下記の特許文献1および2によれば、プログラマブル・ロジック・デバイス(PLD)やゲートアレイを用いて汎用化された特殊機能ユニットについて記載されている。この内の特許文献1によれば、外部機器を接続する外部コネクタと、プログラマブルコントローラのユニットと接続する接続コネクタと、外部コネクタを介して接続される外部機器との間で信号の送受信を行い、外部機器から受信した信号に基づく論理演算を行うと共に、演算結果に応じた信号を接続コネクタを介してプログラマブルコントローラのユニットに送信する機能を有した演算処理部とを備え、プログラムを書き換えることで複数種類の機能が選択可能なプログラマブル・ロジック・デバイスにより演算処理部を構成して、複数の機能を簡単に実現可能とし且つ回路部品の共通化によるコストダウンを図るプログラマブルコントローラを提供することが開示されている。
また、特許文献2によれば、制御対象機器が接続される外部コネクタと、シーケンスプログラムを実行するCPUを具備したCPUユニットが接続される接続コネクタと、接続コネクタを通して接続されるCPUユニットを補助して高機能化する複数の特殊機能が組み込まれ外部コネクタを介して信号を送受信するゲートアレイと、ゲートアレイに組み込まれた特殊機能を拡張して特殊機能をさらに追加する増設基板を接続する増設コネクタとを備え、前記増設基板は、特殊機能が組み込まれたプログラマブル・ロジック・デバイスと、プログラム・ロジック・デバイスに接続され前記増設コネクタに接続する増設側コネクタとを備えていて、特殊機能の追加が可能で且つコストダウンが図れるプログラマブルコントローラを提供することが開示されている。この多機能特殊機能ユニットによれば、プログラムを書き換えることで1つの汎用機能回路にてIO機能、入力時定数機能、割込機能、カウンタ機能、比較出力機能、パルス出力機能、PWM出力機能、位置決め機能等の種々の機能を実現することができることが記載されている。
一方、下記の特許文献3によれば、特殊機能ユニットとなるI/Oユニットにプログラミング機能を搭載することにより、ユーザにおいて自由にI/O制御ロジック、演算機能をプログラミングできるようにして、ユニットをユーザの用途に合わせてカスタマイズ(最適化)して利用できるようにしたI/Oユニットを提供することが開示されている。この場合、ユーザは、特殊機能を包含したI/Oユニットに対して、I/O制御ロジック、演算処理のためのプログラムを入力してユーザオリジナルのユニット動作モードを作り上げ、制御対象、制御方式に最適な状態にカスタマイズして使用できるようにする。また、当該I/Oユニットには入出力ボードが装着できるよう構成され、入出力ボードにはパルス入力、アナログ入力、特殊センサ入力等が入力される特殊入力回路と、パルス出力、アナログ出力等が出力される特殊出力回路とを具備して、特殊入出力の制御はI/Oユニットで行うようになっている。
特開2002-169602号公報(図1、要約) 特開2002-222003号公報(図1、要約) 特開2002-006907号公報(図3、要約)
(1)従来技術の課題の説明
前述した特許文献1から3によるプログラマブルコントローラは、プログラマブル・ロジック・デバイス、またはゲートアレイとプログラマブル・ロジック・デバイス、またはマイクロプロセッサを搭載した特殊機能ユニットと併用され、当該特殊機能ユニットの持つ機能がプログラマブルに変更可能であることによって、様々な特殊用途に対して汎用的に使用可能な演算部を提供することを目的としたものである。
しかしながら、前述したようなプログラマブルコントローラは、ユーザから見れば、プログラマブルコントローラに対する制御プログラムを作成するためのシーケンス言語に加えて、プログラマブル・ロジック・デバイスに対するプログラムやマイクロプロセッサに対するプログラムなどで異なるプログラム言語を習得する必要がある。このため、特定の専門技術者でないと扱えない難解なものとなっており、普及が困難なものとなっている。
また、プログラマブルコントローラの用途は多様であって、例えば高速カウンタ機能が1点だけ欲しい場合、または高速パルス出力が1点だけ欲しい場合、または多数の高速カウンタと多数の高速パルス出力が同時に欲しい場合などがある。しかし、これ等の様々な用途に対して無駄のない標準化された入出力インタフェース回路をどのようにして構築するかについては論及されていない。
(2)発明の目的の説明
この発明の目的は、プログラマブルコントローラに対する制御プログラムを作成するためのシーケンス言語のみで特殊機能ユニットが扱えことができ、ユーザにとって取扱性のよい特殊機能ユニットを得ることができ、プログラマブルコントローラの更なる高機能化とその普及に寄与できるプログラマブルコントローラを得ることである。
また、多様な入出力点数規模の多様な特殊機能に対して、ムダの発生が少なくなるよう構成された限定種類の特殊ユニットを提供し、当該限定種類の特殊ユニットに対して共用され、様々な用途に対応するための複数の特殊機能を有する標準化された集積回路素子を有するプログラマブルコントローラを得ることである。
この発明によるプログラマブルコントローラは、マイクロプロセッサと、前記マイクロプロセッサと協働するシステムメモリと、シーケンスプログラムを記憶するためのプログラムメモリと、入出力情報および制御情報を記憶するためのデバイスメモリとを有するCPUユニットと、前記CPUユニットにバス接続される単独または複数の入出力ユニットとを備え、前記入出力ユニットの少なくとも一部が、特殊入出力処理機能を分担して前記マイクロプロセッサの制御機能を補完するための集積回路素子を包含した特殊ユニットでなるプログラマブルコントローラであって、前記特殊ユニットは、外部接続端子に接続される多チャンネルの入力インタフェース回路および出力インタフェース回路と、制御仕様の一部分が可変設定できて入出力制御に共用される集積回路素子とを搭載した電子基板を有し、前記集積回路素子は、各チャンネル番号に対応するパラメータメモリと、前記マイクロプロセッサから各チャンネル番号に対応するパラメータメモリに送信される回路編成データによって入出力処理のための動作仕様が決定される論理回路部とを有し、前記論理回路部は、前記入力インタフェース回路を介して得られる論理入力信号を高速計数して、カウントアップ出力を前記マイクロプロセッサに報告信号として送信する報告ビットメモリと、計数データを前記マイクロプロセッサに演算データとして送信する演算レジスタと、前記マイクロプロセッサから受信した設定データを格納する設定レジスタと、前記マイクロプロセッサから受信した指令信号を格納する指令ラッチメモリと、前記設定レジスタと前記指令ラッチメモリの内容に基づく高速パルス出力を前記出力インタフェース回路に供給する可逆カウンタとを有し、前記可逆カウンタは、前記プログラムメモリに格納されている制御プログラムに包含されている特殊命令の内容に連動して、各チャンネル毎に、前記入力インタフェース回路から供給される入力信号に対する高速カウンタ回路を構成してカウントアップ出力を前記CPUユニットに送信する高速入力処理を行うのか、または前記CPUユニットから受信した設定データに基づく高速パルス出力回路を構成して所定のパルス出力を前記出力インタフェース回路に供給する高速出力処理を行うのかのいずれかが決定されるものであって、前記パラメータメモリに送信される回路編成データにより複数種類の高速入力処理と複数種類の高速出力処理が行われると共に、前記外部接続端子に接続される外部センサからの入力信号がアナログ信号である場合には、前記入力インタフェース回路は入力信号に比例した周波数のパルスを前記集積回路素子に供給し、前記外部負荷がアナログ負荷である場合には、前記集積回路素子は出力信号に指令したON/OFF比率のパルス出力を発生して、前記出力インタフェース回路は受信したパルス出力信号を平滑して外部負荷に供給する。
この発明によれば、シーケンスプログラムを実行するマイクロプロセッサに代わって、プログラマブルコントローラの演算周期よりも短い周期のパルス信号に対する高速入出力処理を行うための集積回路素子と、入出力インタフェース回路とを搭載した特殊ユニットが併用され、前記集積回路素子は、プログラムメモリ内の特殊命令の内容によって動作仕様が決定されるパラメータメモリと論理回路部とを備え、前記論理回路部を構成する可逆カウンタは、高速入力処理と高速出力処理のために兼用されるようになっている。したがって、入出力インタフェース回路を変更することによって、高速論理入力処理、高速論理出力処理、アナログ入力処理またはアナログ出力処理のいずれか、または複合処理が求められる多様な用途に適用できるので、専用の集積回路素子の製造原価を低減することができると共に、ユーザにとってはシーケンスプログラムの中で所定の特殊命令を適用するだけで特殊ユニットとの交信が手軽に行えて容易に高度な機能が活用でき、更なる用途の拡大につながる大きな効果を奏するものである。また、複数台の特殊ユニットを併用して、様々な入出力点数規模の特殊機能に対応することが可能となり、ムダのないシステム構築が可能となる効果がある。
実施の形態1.
(1)構成の詳細な説明
図1は、この発明の実施の形態1によるプログラマブルコントローラのユニット構成図である。図1において、プログラマブルコントローラ100Aは、CPUユニット110Aと、入出力ユニット120、130、140と、終端ブロック190とによって構成されている。
CPUユニット110Aは、例えばAC100V〜240Vの商用電源である外部電源109から給電されると共に、図示しない脱着コネクタを介して外部ツール108と接続され、当該外部ツール108によって入出力制御プログラムの書込みや運転状態の監視を行うことができるようになっている。
CPUユニット110Aの内部には、マイクロプロセッサ(CPU)111と、例えばマスクROMメモリまたは不揮発フラッシュメモリであるシステムメモリ(SMEM)112Aと、例えば不揮発フラッシュメモリであって、ユーザが作成した入出力制御プログラムが格納されるプログラムメモリ(PMEM)113Aと、例えばRAMメモリであって、後述する入出力イメージメモリX、Yと補助リレーMとデータレジスタDとを包含するデバイスメモリ(DMEM)114aと、後述する転送仲介メモリ(BMEM)114bと、前記デバイスメモリ114aの一部領域をバックアップするバッテリ(BATT)115と、各入出力ユニットとデータ交信を行うためのバスインタフェース回路(BIF)116と、警報表示器(DSP)117と、外部ツール108とマイクロプロセッサ111とを接続するシリアルインタフェース(SIF)118と、制御用電源119とが設けられている。この内、マイクロプロセッサ111、システムメモリ112A、プログラムメモリ113A、デバイスメモリ114a、転送仲介メモリ114b、バスインタフェース116、シリアルインタフェース118とは互いにバス接続されている。
制御用電源(PSU)119は、外部電源109から給電されて、図示しない入力信号回路に安定化されたDC24V電源を供給したり、定電圧電源線Vccに対して例えばDC5Vの安定化電圧を供給したりする。定電圧電源線Vccはグランド回路GNDと共に各部に配線されている。なお、制御用電源119は、CPUユニット110Aの外部に設置することも可能であり、電源ユニットとCPUユニットと所定点数の入出力ユニットによって基本ユニットが構成されるようになっている。
システムメモリ112Aは、後述する図18および図19に示す各種制御プログラムを包含すると共に、プログラムメモリ113Aに格納されたシーケンス言語による入出力制御プログラムをマイクロプロセッサ111に対応した機械言語に変換してマイクロプロセッサ111を作動させるものとなっていて、これらのプログラムは製品の出荷段階でプログラマブルコントローラのメーカによって格納されたものとなっている。
プログラムメモリ113Aには、例えばパーソナルコンピュータである外部ツール108を用いてユーザによって作成された入出力制御用のシーケンスプログラムが、シリアルインタフェース118を介して書込みされている。その一例となるものが、図20〜図25、図27および図29で表現されたシーケンス図であって、パーソナルコンピュータの画面上でシーケンス図を作画すると自動的にシーケンスプログラムが作成されるようになっている。なお、プログラムメモリ113Aは、バッテリバックアップされたRAMメモリであってもよく、この場合、フラッシュメモリまたはEPROM等による不揮発メモリを内蔵したメモリカセットを装着することによってプログラムメモリ領域を不揮発メモリ化することも可能である。
デバイスメモリ114aは、入出力信号情報やプログラマブルコントローラ100A内部のデバイスとなって、ユーザに開放されている補助リレー・タイマ・カウンタ・データレジスタ等のデバイスの作動状態が格納されるRAMメモリであり、当該デバイスメモリ114aの一部の領域は、例えばリチウムバッテリであるバッテリ115によってバックアップされていて、プログラマブルコントローラ100Aに対する電源が遮断されても記憶状態が保持されるようになっている。
警報表示器117は、マイクロプロセッサ111の作動状態を表示するもので、例えば複数個の発光ダイオードまたはセブンセグメント表示器によって構成され、電源の到来・正常運転状態・各種異常状態を表示するようになっている。
CPUユニット110Aの端面位置に図示しないコネクタを介して接続された入出力ユニット120には、図示しない入出力端子台を介して外部の開閉センサ101xと、電気負荷101yとが接続されている。なお、実態としての入出力ユニット120は、複数台の入力ユニットと複数台の出力ユニットとに分割されていて、必要とされる入出力点数規模に見合った台数の入力ユニットと出力ユニットが使用されるものである。
開閉センサ101xは、例えば操作盤に設けられた各種の操作スイッチや、アクチェータの動作を確認するためのセンサスイッチであって、1台の入力ユニットには例えば8点の入力信号が接続可能であり、さらに多くの開閉センサを接続するときには入力ユニットの接続台数を増やすようになっている。開閉センサ101xの電源は通常DC24Vであるが、AC100〜240Vの商用電源に接続されたものもある。
電気負荷101yは、例えば操作盤に設けられた各種の表示ランプや、アクチェータ駆動用の電磁弁、またはモータ駆動用の電磁継電器であって、1台の出力ユニットには例えば8点の出力信号が接続可能であって、さらに多くの電気負荷を接続するときには出力ユニットの接続台数を増やすようになっている。
入出力ユニット120の内部に設けられた入力インタフェース回路としては、ホトカプラトランジスタまたはホトトライアックなどの入力絶縁回路121と、ノイズを抑制するための入力フィルタ122と、データセレクタ124によって構成されている。また、入出力ユニット120の内部に設けられた出力インタフェース回路としては、電気負荷101yを駆動するための駆動信号のラッチメモリ125と、ホトカプラトランジスタまたはホトトライアックまたは電磁リレーなどの出力絶縁回路126と、パワートランジスタまたはトライアックまたは電磁リレー等の出力素子127によって構成されている。
入出力ユニット130は、第一および第二のポート11および12を有する集積回路素子10を備えた特殊ユニットを構成し、当該特殊ユニットは、例えば8点の高速動作の開閉センサ102xからの信号が入力絶縁回路131と入力フィルタ132を介して入力されると共に、8点の低速動作の電気負荷102yを出力絶縁回路136と出力素子137を介して駆動する入出力混合の特殊ユニットとなっている。
入出力ユニット140は、第一および第二のポート11および12を有する集積回路素子10を備えた特殊ユニットを構成し、当該特殊ユニットは、例えば8点の低速動作の開閉センサ103xからの信号が入力絶縁回路141と入力フィルタ142を介して入力されると共に、8点の高速動作の電気負荷103yを出力絶縁回路146と出力素子147を介して駆動する入出力混合の特殊ユニットとなっている。
なお、汎用入出力ユニットとなる入出力ユニット120内の入力フィルタ122は、開閉センサ101xのチャッタリング(閉路動作時の断続動作)による誤動作、または入力配線に重畳するラインノイズによる誤動作を防止するために、通常は約10msecの応答遅れを持つ低速論理入力用のローパスフィルタとなっている。これに対して、特殊ユニットとなる入出力ユニット130内の入力フィルタ132の場合は、例えば100KHzの入力パルス信号を計数するために5μsec以下の応答遅れを持つローパスフィルタとなっていて、高速論理入力となる開閉センサ102xは無接点のものであって、入力配線にラインノイズが重畳しないように分離配線、シールド線付きのツイストペア線を使用する等の厳重な配慮が必要となるものである。また、特殊ユニットとなる入出力ユニット140内の入力フィルタ142の場合は、例えば1msecの応答遅れを持つローパスフィルタであって、中速論理入力に対応するものとなっている。但し、後述するとおり、特殊ユニット140によって高速入力と高速出力を併用する場合には、入力フィルタ142も高速論理入力用のものが使用される。
一方、汎用入出力ユニットとなる入出力ユニット120内の出力素子127は、小型電磁リレーが使用されることが最も多く、その他交流負荷に対する無接点出力素子としてトライアックが使用されたり、直流負荷に対する無接点出力素子としてトランジスタが使用され、直流負荷の電源は通常はDC24Vとなっている。これに対し、入出力ユニット130・140における出力素子137および147は、トランジスタ出力であって、特に出力素子147の場合は例えば100KHzの高速パルス出力を発生するために高速動作のトランジスタが使用されている。出力素子137の場合は、安価な低速動作のトランジスタを使用するようになっているが、これを高速動作のトランジスタにしておけば高速パルス出力を発生することができるようになる。
最終段に接続された終端ブロック190は、終端処理回路199を備えており、この終端処理回路199は、CPUユニット110Aから各入出力ユニットを貫通して設けられたデータバスDATAとアドレスバスADRの終端をプルアップ回路とプルダウン回路を介して定電圧電源線Vccとグランド回路GNDに接続して、高速信号の反射ノイズを抑制するものとなっている。なお、実態としての貫通バス信号線は、例えば16本のアドレス/データ兼用バスと、8本の制御信号用バスによって構成されていて、16本のアドレス/データ兼用バスがアドレス信号を扱っているのか、または送受信されるデータを扱っているのかは制御信号線によって指定されるようになっている。さらに、各入出力ユニットは、図示しないバスコントローラを包含し、多数のデータセレクタやラッチメモリのうち、マイクロプロセッサ111によって指定されたものがデータバスに接続されてマイクロプロセッサ111と交信することができるようになっている。
次に、図1に示す特殊ユニットとして構成される入出力ユニット130・140の内部構成を図2および図3を用いて説明する。まず、図2に示す入出力ユニット130の構成について説明する。図2にいて、特殊ユニットで構成される入出力ユニット130は、8点の開閉センサ102xに接続される入力端子130Xと、8点の電気負荷102yに接続される出力端子130Yを備えている。
入力端子130Xと集積回路素子10に設けられた第一のポート11との間には、高速論理入力用の入力インタフェース回路139Xが設けられている。入力インタフェース回路139Xは、入力絶縁回路131nと入力フィルタとなる例えば時定数で5μs程度の比較的短い時定数の入力フィルタ132nとが各チャンネル番号n=0〜7毎に直列接続されている。
出力端子130Yと集積回路素子10に設けられた第二のポート12との間には、ON/OFF動作用の出力インタフェース回路139Yが設けられている。出力インタフェース回路139Yは、パワートランジスタである出力素子137nと出力絶縁回路136nとが各チャンネル番号n=0〜7毎に直列接続されている。電子基板19xyには、入力端子130Xと入力インタフェース回路139X、出力端子130Yと出力インタフェース回路139Y、バス接続用コネクタ130Z並びに集積回路素子10が搭載されて特殊ユニット130を構成している。
第一および第二のポート11および12は、チャンネル番号n=0〜7に対応して図中で符号表記されていないチャンネル端子11nおよび12nを備え、チャンネル端子11nは、データセレクタ134とバス接続用端子13とバス接続用コネクタ130Zを介してデータバスDATAに選択接続されて入力信号をマイクロプロセッサ111に送信し、チャンネル端子12nは、出力ラッチメモリ135を介してデータバスDATAに選択接続されてマイクロプロセッサ111から出力信号を受信するようになっている。各チャンネルn=0〜7には、論理回路部1000n(1000・0、1000・1、・・・、1000・7)が割付されている。
当該論理回路部1000nは、データバスDATAとの間で信号授受を行うと共に、論理回路部1000n間でも信号の授受を行い、さらにはチャンネル端子11nから信号を受け取ったり、チャンネル端子12nに信号を出力するようになっている。論理回路部1000nの詳細は図4で後述するが、典型的な高速入力処理動作としては、例えばチャンネル端子11nから高速パルス信号が入力され、論理回路部1000nは、これを計数して所定の目標回数になれば、カウントアップ出力をデータバスDATAを介してマイクロプロセッサ111に送信し、当該目標回数は予めデータバスDATAを介してマイクロプロセッサ111から設定データとして送信されているものである。また、典型的な高速出力処理動作としては、例えばマイクロプロセッサ111からデータバスDATAを介して予め設定データとして送信されたパルス周期と発生パルス数に基づいてチャンネル端子12nから高速パルス出力を発生するものである。
第一の識別端子14aは、入力インタフェース回路139Xが論理信号用のものであるか、後述のアナログ信号用のものであるかを識別するためのものであり、論理信号用であれば論理レベル「H」となるように配線パターンが接続されている。第二の識別端子14bは、出力インタフェース回路139Yが論理信号用のものであるか、後述のアナログ信号用のものであるかを識別するためのものであり、論理信号用であれば論理レベル「H」となるように配線パターンが接続されている。
第一の信号端子16aは、高速論理入力用であることを示すために論理レベルが「H」となるように配線パターンが接続されている。第二の信号端子16bは、低速論理出力用であることを示すために論理レベルが「L」となるように配線パターンが接続されている。これ等の識別端子情報は、カード情報格納メモリ9000に供給され、データバスDATAを介してマイクロプロセッサ111へ送信されるようになっている。
共通クロック回路9001は、例えば1μsecを周期とするクロック信号τを発生して、必要に応じて各論理回路部1000nへ供給するようになっている。共通トリガ回路9002は、例えば信号周期T0=10msecで、1μsec幅の相前後するトリガ信号P0およびQ0を発生し、必要に応じて各論理回路部1000nへ供給するようになっている。
次に、図3に示す入出力ユニット140の構成について説明する。図3において、特殊ユニットで構成される入出力ユニット140は、8点の開閉センサ103xに接続される入力端子140Xと、8点の電気負荷103yに接続される出力端子140Yを備えている。
入力端子140Xと集積回路素子10に設けられた第一のポート11との間には、中速論理入力用の入力インタフェース回路149Xが設けられている。入力インタフェース回路149Xは、入力絶縁回路141nと入力フィルタとなる例えば時定数で1msec程度の比較的短い時定数の入力フィルタ142nとが各チャンネル番号n=0〜7毎に直列接続されている。
出力端子140Yと集積回路素子10に設けられた第二のポート12との間には、ON/OFF動作用の出力インタフェース回路149Yが設けられている。出力インタフェース回路149Yは、高速動作用のパワートランジスタである出力素子147nと出力絶縁回路146nとが各チャンネル番号n=0〜7毎に直列接続されている。電子基板19xyには、入力端子140Xと入力インタフェース回路149X、出力端子140Yと出力インタフェース回路149Y、バス接続用コネクタ140Z並びに集積回路素子10が搭載されて特殊ユニット140を構成している。
第一の識別端子14aは、入力インタフェース回路149Xが論理信号用のものであるため、論理レベル「H」となるように配線パターンが接続されている。第二の識別端子14bは、出力インタフェース回路149Yが論理信号用のものであるため、論理レベル「H」となるように配線パターンが接続されている。
第一の信号端子16aは、中速論理入力用であることを示すために論理レベルが「L」となるように配線パターンが接続されている。第二の信号端子16bは、高速論理出力用であることを示すために論理レベルが「H」となるように配線パターンが接続されている。
次に、図2および図3における論理回路部1000nの詳細構成図である図4について説明する。図4において、各チャンネルn=0〜7に割り当てられている論理回路部1000n(1000・0、1000・1、・・・、1000・7)は、可逆カウンタ2000n(2000・0、2000・1、・・・、2000・7)を中心として構成されていて、当該可逆カウンタ2000nは、アップ指令端子UPまたはダウン指令端子DNのどちらかが論理レベル「H」になると、計数入力端子INの論理レベルが「L」から「H」に変化した時に現在値レジスタ4001nの計数現在値が増加または減少するようになっている。計数現在値の増加または減少変分値は、変分値調整レジスタ4003nに格納された数値によって決定されるが、通常は変分値調整用レジスタ4003nの値は1であって、現在値レジスタ4001の計数現在値は計数入力端子INの論理変化によって1カウントだけ増減するようになっている。
可逆カウンタ2000nのリセット端子RSTにリセット指令入力が与えられると、現在値レジスタ4001nの値はゼロになるが、待機バッファレジスタ4004nの中のプリセットレジスタに何らかの数値が格納されている場合には、当該プリセットレジスタの内容が現在値レジスタ4001nに転送されるようになっている。なお、キープホールドレジスタ4002nは、定期的に現在値レジスタ4001nの内容を読出し格納するためのものであり、現在値レジスタ4001nとキープホールドレジスタ4002nと変分値調整用レジスタ4003nと待機バッファレジスタ4004nを総称したものが演算レジスタ4000nとなっている。特に、後述の説明で明らかになるとおり、変分値調整用レジスタ4003nはチャンネル番号n=1、2、5、6のもののみが備えていて、その他のチャンネルの可逆カウンタは常に1カウントの増減を行うものとなっている。
設定レジスタ3000nは、計数上限値が格納される第一の設定レジスタ3001nと、計数上限値未満の中間値が格納される第二の設定レジスタ3002nによって構成されている。
第一の比較回路5001nは、第一の設定レジスタ3001nに格納されている設定数値と現在値レジスタ4001nの計数現在値が合致するか、または計数現在値が設定数値を超過したときに論理レベルが「H」となり、判定記憶回路S1をセットしてカウントアップ出力Qを発生する数値比較回路である。前記第二の比較回路5002nは、第二の設定レジスタ3002nに格納されている設定数値と現在値レジスタ4001nの計数現在値とを比較する数値比較回路であり、アップカウントモードにおいて比較一致または計数現在値が設定数値を超えると、論理積素子42を介して判定記憶回路S2がセットされて上昇比較一致出力Pを発生する。また、ダウンカウントモードにおいて計数現在値が設定数値未満になると、ゲート素子44を介して判定記憶回路S3がセットされて下降比較一致出力を発生する。
復帰比較回路5003nは、現在値レジスタ4001nの計数現在値が減少して、ゼロレジスタ41の値と合致したとき、または計数現在値が負の値になっているときに復帰出力を発生し、判定記憶回路S1をリセットする数値比較回路である。なお、マイクロプロセッサ111からの指令信号によって指令ラッチメモリ6000nを介して判定記憶回路S2およびS3や現在値レジスタの計数現在値をリセットすることができるようになっている。
報告ビットメモリ7000nは、カウントアップ出力Q、復帰出力、上昇比較一致出力P、下降比較一致出力によって構成されていて、これらの判定出力はデータセレクタ48を介してデータバスDATAに接続されるようになっている。交番出力回路47は、第一の比較回路5001nの比較一致出力が論理レベル「L」から「H」に変化する都度に出力論理が交互に判定する論理回路である。出力選択回路49は、パラメータメモリ8000nの内容に応じて出力回路を選択決定する回路であり、例えば端子JおよびKを前進パルス出力FP、後退パルス出力RPとして割り付けるのか、それとも正逆パルス出力FRPと方向指令出力DIRとして割り付けるのかが決定されるようになっている。また、判定記憶回路S2の出力による上昇比較一致出力P、またはカウントアップ出力Qによる動作完了出力を端子Lに供給するようになっている。
入力回路部40は、パラメータメモリ8000nの内容によって具体的な回路構成が確定する可逆カウンタ2000nに対する入力処理回路である。入力回路部40や出力選択回路49の具体的回路構成は図5〜図14において後述するが、例えば可逆カウンタ2000nが高速カウンタ回路を構成する場合では、カウント方向が指令信号によって決定される1相1入力の可逆カウンタであるか、またはアップ・ダウン入力が個別に供給される1相2入力の可逆カウンタであるか、または2相入力の位相差によってアップ・ダウン方向を決定する2相2入力の可逆カウンタである。さらには、当該高速カウンタ回路は、高速カウンタ命令が実行された時点で計数開始するのか、計数開始指令入力がONしたときに計数開始するのか、現在値レジスタに初期値データを転送するためのプリセット指令入力が付加されているのかどうか、前記2相2入力形式の高速カウンタ回路では各相のパルス信号の立上りと立下りのどの時点で計数を行うのかによって、1逓倍計数方式、または2逓倍計数方式、または4逓倍計数方式の計数モードのものがある。これ等の様々な形式の高速カウンタ回路には、固有の識別番号が付与されていて、特殊命令と識別番号との組み合わせによって定まる回路編成情報がパラメータメモリ8000nに格納されるようになっている。
入力端子A〜Hに対しては、各チャンネルの論理回路部1000nが予め決定されている多様な機能を発揮するために必要とされる全ての入力信号が接続されて、そのうちのどの入力信号をどのような回路構成によって可逆カウンタ2000nに接続するのかがパラメータメモリ8000nによって選択決定されるようになっている。
なお、パラメータメモリ8000nからのデータは、プログラマブルコントローラ100Aの運転開始時にマイクロプロセッサ111から送信され、マイクロプロセッサ100Aの運転中には後述する一部の例外を除いて変更されないようになっている。しかし、この入力回路部40の一部の動作は運転中にマイクロプロセッサ111から送信された指令ラッチメモリ6000nによっても変更できるようになっていて、例えば1相1入力の高速カウンタにおけるアップ・ダウンの計数方向の選択は指令ラッチメモリ6000nの内容によって可変設定されるようになっている。
このように、入力回路部40は、可逆カウンタの計数方向の弁別指令、計数入力端子INに接続される計数入力信号の選択接続、リセット端子RSTに接続されるリセット信号の選択接続、計数入力端子INに対する計数信号を強制停止するための停止指令信号の選択接続を行う回路となっている。
論理積否定出力素子46aは、復帰比較回路5003nが論理レベル「H」になったときに、論理積素子45aに作用して、減算カウント動作を停止するためのゲート回路となっており、このゲート回路を有効にするかどうかは入力回路部40の内容に基づいて論理積否定出力素子46aによって決定されるようになっている。なお、論理積素子45aは、入力回路部40を介して得られたダウン方向指令信号を可逆カウンタ2000nのダウン指令端子DNに供給するゲート回路となっている。
論理積否定出力素子46bは、第一の比較回路5001nが論理レベル「H」になったときに、論理積素子45bに作用して、加算カウント動作を停止するためのゲート回路となっており、このゲート回路を有効にするかどうかは入力回路部40の内容に基づいて論理積否定出力素子46bによって決定されるようになっている。なお、論理積素子45bは、入力回路部40を介して得られたアップ方向指令信号を可逆カウンタ2000nのアップ指令端子UPに供給するゲート回路となっている。
次に、図4に示す論理回路部1000nを可変フィルタ回路1010nとした場合のブロック図である図5と、パルス密度測定回路1020nとした場合のブロック図である図6について説明する。図5において、可変フィルタ回路1010n(n=0〜7)は、共通クロック信号回路9001が発生するクロック信号を計数入力信号とする可逆カウンタ2000nによって構成されていて、当該可逆カウンタ2000nの第一の設定レジスタ3001nにはマイクロプロセッサ111からフィルタ定数となる設定データ3010nが送信格納されている。例えば特殊ユニット130の開閉センサ102xの中の一つの入力が、入力インタフェース回路139Xを介して第一のポート11のチャンネル番号nとなるチャンネル端子11nに入力される。該当開閉センサ102xがONしてチャンネル端子11nの論理レベルが「H」になると、論理積素子45bを介してアップ指令端子UPにアップ方向指令が供給される。その結果、可逆カウンタ2000nは、共通クロック信号回路9001が発生するクロック信号をアップ計数し、現在値レジスタ4001nの現在値が徐々に上昇する。
この計数現在値が予め第一の設定レジスタ3001nに格納されているフィルタ定数に相当する上限設定値に達すると、可逆カウンタ2000nは、カウントアップ出力Qが発生し、これが報告信号7010nとしてマイクロプロセッサ111によってデバイスメモリ114a内の所定の補助リレーが駆動される。一方、カウントアップ出力Qが発生すると、論理積否定出力素子46bと論理積素子45bを介してアップ指令端子UPの論理レベルが「L」となり、可逆カウンタ2000nは、上限設定値以上の加算計数が行われないようになっている。該当開閉センサ102xがONからOFFに変化してチャンネル端子11nの論理レベルが「L」になると、否定論理素子51と論理積素子45aを介してダウン指令端子DNにダウン方向指令が供給される。その結果、可逆カウンタ2000nは、共通クロック信号回路9001が発生するクロック信号をダウン計数し、現在値レジスタ4001nの現在値が徐々に減少する。この計数現在値がゼロにまで減少すると復帰出力が発生し、カウントアップ出力Qがリセットされて報告信号7010nとしてマイクロプロセッサ111によって前記補助リレーが消勢される。一方、復帰出力が発生すると論理積否定出力素子46aと論理積素子45aを介してダウン指令端子DNの論理レベルが「L」となり、ゼロ以下の減算計数が行われないようになっている。
したがって、開閉センサ102xがONからOFF、またはOFFからONに変化した場合、共通クロック信号回路9001のクロック周期τ=1μsecと第一の設定レジスタ3001nに格納されているフィルタ定数Nとの積である応答遅延時間N×τ=Nμsecをおいて報告信号7010nが変化することになる。なお、開閉センサ102xにチャッタリングが生じて不規則な断続動作が行われたような場合には、可逆カウンタ2000nはアップまたはダウンの計数動作を行うことになり、累積加算結果が上限設定値になればON動作が確定し、累積減算結果がゼロになればOFF動作が確定することになる。
一方、汎用入力回路1091によれば、第一のポート11に入力された信号は全てデータセレクタ134を介してデバイスメモリ114a内の特定領域である入力イメージメモリへ転送されるようになっている。しかし、イメージメモリへの送信は、図19で後述する入力処理911によって行われるものであって、プログラマブルコントローラ100Aの演算周期の影響を受けて更新されるものであるから、チャンネル端子11nに例えば高速パルス信号が入力されているような場合には、高速追従することができず単にサンプリングチェックとしての情報となるものである。
図6において、パルス密度測定回路1020n(n=0〜7)を構成する場合の可逆カウンタ2000nは、チャンネル端子11nの入力信号が計数入力端子INに供給されると共に、入力信号のON/OFF動作をアップ計数動作するように構成されていて、第一の設定レジスタ3001nには、32ビット数値の上限値が設定データ3020nによって格納されるようになっている。共通トリガ回路9002は、一定周期T0=10msec毎に1μsecの短時間パルスであるトリガ信号P0とカウントアップ出力Q0を発生するようになっていて、トリガ信号P0はカウントアップ出力Q0の直前にパルスを発生して、現在値レジスタ4001nの計数現在値をピークホールドレジスタ4002nへ転送し、カウントアップ出力Q0は可逆カウンタ2000nのリセット端子RSTにリセット信号を供給する。その結果、現在値レジスタ4001nの内容はゼロにリセットされるようになっている。したがって、ピークホールドレジスタ4002nには、一定周期T0毎にリセットされる可逆カウンタ2000nのリセット直前の最大計数値が毎回格納され、この最大計数値がチャンネル端子11nに与えられた開閉センサ102xのパルス密度(即ちパルス周波数)となって、演算データ4020nによってマイクロプロセッサ111に送信されるようになっている。
次に、図4に示す論理回路部1000nをパルス幅測定回路1022nとした場合のブロック図である図7と、エッジ検出回路1031nとした場合のブロック図である図8について説明する。図7において、パルス幅測定回路1022n(n=0〜7)を構成する場合の可逆カウンタ2000nには、チャンネル端子11nの入力信号がゲート素子61を介してアップ指令端子UPに入力され、共通クロック信号回路9001が発生するクロック信号が計数入力端子INに供給されている。第一の設定レジスタ3001nには32ビット数値の上限値、第二の設定レジスタ3002nには設定値「1」が設定データ3022nによって格納されるようになっている。
チャンネル端子11nの論理レベルが「H」になると、可逆カウンタ2000nはアップ計数を開始し、やがてチャンネル端子11nの論理レベルが「L」になると、可逆カウンタ2000nはを停止すると共に、ゲート素子62を介してピークホールドレジスタ4002nに対する転送指令が発生して現在値レジスタ4001nの計数最大値が転送される。ピークホールドレジスタ4002nに対する転送が行われると同時に記憶回路63がセットされ、測定完了信号を報告信号7022nによってマイクロプロセッサ111へ送信する。記憶回路63が一旦セットされると、指令信号6022nによってリセットされるまではゲート素子61によってアップ計数動作が停止されるようになっている。なお、ゲート素子62は上昇比較一致出力Pが作動するまでは記憶回路63の記憶動作を禁止するようになっている。
その結果、ピークホールドレジスタ4002nの内容Nは、チャンネル端子11nが論理レベル「H」となっていた測定期間に比例し、例えばクロック信号の周期がτ=1μsecであれば、検出された時間はNμsecであったことになる。ピークホールドレジスタ4002nの内容は、演算データ4022nによってマイクロプロセッサ111へ送信される。マイクロプロセッサ111は、指令信号6022nによって指令ラッチメモリ6000nを介して記憶回路63をリセットし、再びパルス幅の測定が開始されることになる。なお、パルス幅測定命令によって入力信号のON時間幅を測定するのか、OFF時間幅を測定するのかを切換える指令信号を付加することも可能である。また、図6によるパルス密度測定回路1020nの場合は、例えば回転体から駆動されるエンコーダが高速回転パルスを発生し、このパルス密度を測定することによって回転体の回転速度を検出する場合に有効である。しかし、低速回転パルスの場合には測定時間を十分大きくしなければ回転速度の検出が行えない問題がある。これに対し、パルス幅測定回路1022nによれば、低速パルスの時間幅を測定し、これをマイクロプロセッサ111で逆数演算することによって高精度に回転速度を検出することができるものである。
図8において、エッジ検出回路1031n(n=0〜7)を構成する場合の可逆カウンタ2000nの計数入力端子INには、チャンネル端子11nの入力信号が排他的論理和素子67を介して入力され、排他的論理和素子67の他方の入力は上昇比較一致出力Pとなっている。第一の設定レジスタ3001nには設定データ3031nによって例えば定数「2」が書込まれ、第二の設定レジスタ3002nには設定データ3031nによって定数「1」が書込まれ、上昇比較一致出力Pはダウン指令端子DNに接続されると共に、否定論理素子66を介してアップ指令端子UPに接続されている。マイクロプロセッサ111は、指令信号6031nによって指令ラッチメモリ6000nを介して可逆カウンタ2000nの現在値レジスタ4001nと上昇比較一致出力Pと下降比較一致出力をリセットし、上昇比較一致出力Pと下降比較一致出力は報告信号7031nによってマイクロプロセッサ111へ送信されるようになっている。
したがって、現在値レジスタ4001nの内容がゼロで、上昇比較一致出力Pと下降比較一致出力が共にリセットされている状態において、チャンネル端子11nの論理レベルが「L」から「H」に変化すると、排他的論理和素子67の出力論理が「H」となって可逆カウンタ2000nが1カウントのアップ計数を行うことになる。その結果、上昇比較一致出力Pの論理レベルが「H」となり、これを立上り検出出力としてマイクロプロセッサ111へ報告すると共に、可逆カウンタ2000nはアップモードからダウンモードに移行し、計数入力端子INの論理レベルは「L」になる。
次に、チャンネル端子11nの論理レベルが「H」から「L」に変化すると、排他的論理和素子67の出力論理が「H」となって、可逆カウンタ2000nが1カウントのダウン計数を行うことになる。その結果、下降比較一致出力の論理レベルが「H」となり、立下り検出出力としてマイクロプロセッサ111へ報告する。
次に、図4に示す論理回路部1000nを1相1入力の高速カウンタ回路1030nとした場合のブロック図である図9と、1相2入力の高速カウンタ回路1040mとした場合のブロック図である図10について説明する。なお、高速カウンタ回路には、2相入力方式のものや1逓倍・2逓倍・4逓倍計数方式のものなどがあって、これ等の高速カウンタはパラメータメモリの内容によって、それぞれ図示しない回路構成のカウンタ回路となっている。
図9において、チャンネル端子11nに入力された開閉センサ102xの動作回数を計数する1相1入力の高速カウンタ回路1030n(n=0〜7)は、可逆カウンタ2000nによって構成され、当該可逆カウンタ2000nの第一および第二の設定レジスタ3001n・3002nには、マイクロプロセッサ111から設定データ3030nによって上限設定値と中間設定値が格納されている。可逆カウンタ2000nの計数方向はマイクロプロセッサ111から指令信号6030nとして指令ラッチメモリ6000nに送信格納され、この指令信号が論理レベル「H」であれば、可逆カウンタ2000nはアップ計数し、指令信号の論理レベルが「L」であれば、可逆カウンタ2000nは否定論理素子71の作用によってダウン計数するようになっている。
可逆カウンタ2000nの計数現在値が上限設定値に到達すると、カウントアップ出力Qが発生して報告信号7030nによってマイクロプロセッサ111へ送信される。可逆カウンタ2000nの第二の設定レジスタ3002nが使用されいて、プログラムメモリ113Aの中の高速比較命令HCMPが実行されているときには、現在値レジスタ4001nの計数現在値が第二の設定レジスタ3002nに格納されている中間設定値を上昇通過するときに上昇比較一致出力Pが作動して対応チャンネル端子12nに出力されると共に、報告信号7030nによってマイクロプロセッサ111に送信される。
なお、対応チャンネル端子12nの意味は、計数入力チャンネル番号nと同一番号の相手側のポートのチャンネル端子のことであり、例えば特殊ユニット130の入力X014に対応する出力はY014となっている。したがって、第一のポート11が高速論理入力、第二のポート12が高速または低速の論理出力ポートとなっている場合に限って、この高速比較命令HCMPは使用可能であって、この高速比較命令HCMPによって占有された相手出力は他の高速出力として利用することはできないようになっている。
マイクロプロセッサ111は報告信号7030nによって比較一致を知ることができるが、これは高速比較命令HCMPが実行された時点で認知できるものであるのに対し、対応チャンネル端子12nを介して外部に出力されるY014は可逆カウンタ2000nの上昇比較一致出力Pがそのまま出力されるので即時に比較一致を外部に知らせることができるものである。可逆カウンタ2000nの現在値レジスタ4001nの内容や、カウントアップ出力Q、上昇比較一致出力P、下降比較一致出力はマイクロプロセッサ111からの指令信号6030nを受信格納した指令ラッチメモリ6000nによってリセットすることができるようになっている。高速比較命令HCMPの用途例としては、例えば巻枠に巻き取られている長尺材の巻き出し寸法をエンコーダの発生パルスによって計測し、一定寸法間隔でスタンプを打ちたい場合を想定すると、可逆カウンタのカウントアップ出力Qによって定寸送り量が逐次更新計測され、上昇比較一致出力Pでスタンプを駆動するものであって、これにより、長尺材の所定位置に正確にスタンプを打つことができるものである。
図10において、1相2入力の高速カウンタ回路1040m(m=0・2・4・6)は可逆カウンタ2000mによって構成され、当該可逆カウンタ2000mは、チャンネル端子11mに入力された正転パルスFPの動作回数をアップ計数するか、隣接チャンネル端子11m+1に入力された逆転パルスRPの動作回数をダウン計数するようになっている。したがって、正転パルスFPはアップ指令端子UPに入力されると共に、逆転パルスRPはダウン指令端子DNに入力され、正転パルスFPと逆転パルスRPは論理和素子72を介して計数入力端子INに接続されている。
可逆カウンタ2000mの第一および第二の設定レジスタ3001mおよび3002mには、マイクロプロセッサ111から設定データ3040mによって上限設定値と中間設定値が格納されている。可逆カウンタ2000mのカウントアップ出力Q、上昇比較一致出力Pに関する報告信号7040mや対応チャンネル端子12mに対する上昇比較一致出力、または指令信号6040mによる可逆カウンタ2000mのリセット処理の扱いは先に説明した図9による1相1入力の高速カウンタ回路1030nの場合と同様である。
その他、図示しない高速カウンタ回路として、2相2入力のカウンタがあり、この場合にはA相入力パルスとB相入力パルスとの位相差によってアップ/ダウンが決定され、A相またはB相の立上りパルスのみを計数する1逓倍計数方式や、A相またはB相の立上りパルスと立下りパルスを計数する2逓倍計数方式や、A相およびB相の立上りパルスと立下りパルスを計数する4逓倍計数方式のものがある。
次に、図4に示す論理回路部1000nをPWM出力回路1050nとした場合のブロック図である図11と、第一のパルス出力回路1060mとした場合のブロック図である図12について説明する。図11において、PWM出力回路1050n(n=0〜7)を構成する場合の可逆カウンタ2000nは、共通クロック回路9001が発生するクロック信号をアップ計数するようになっていて、第一の設定レジスタ3001nには目標とするパルス幅変調信号信号80の周期Tが格納され、第二の設定レジスタ3002nには目標とするパルス幅変調信号信号80のOFF時間幅が格納されるようになっている。マイクロプロセッサ111は、設定データ3050nによってこれ等の設定値を待機バッファレジスタ4004nに送信し、待機バッファレジスタ4004nの内容はパルス幅変調信号80の各周期の終了時点で第一および第二の設定レジスタ3001n・3002nへ転送されるようになっている。
現在値レジスタ4001nの計数現在値が上昇して第二の設定レジスタ3002nに格納されているOFF時間に相当する設定値に達すると、上昇比較一致出力Pが作動し、これがチャンネル端子12nから出力インタフェース回路149Yと出力端子140Yを介して電気負荷103yの対応チャンネルに供給される。現在値レジスタ4001nの計数現在値がさらに上昇して第一の設定レジスタ3001nに格納されている周期に相当する設定値に達すると、カウントアップ出力Qが作動し、その結果可逆カウンタ2000nがリセットされて、比較一致出力Pは論理レベル「L」に復帰してチャンネル端子12nの出力はOFFとなり、現在値レジスタ4001nの内容がゼロになると共に、待機バッファレジスタ4004n内の設定データが第一および第二の設定レジスタ3001n・3002nへ転送される。
したがって、パルス幅変調信号80の周期Tは、クロック信号の周期τと第一の設定レジスタ3001nに格納された設定値N1との積τ×N1に等しくなり、パルス幅変調信号80のOFF時間幅は、クロック信号の周期τと第二の設定レジスタ3002nに格納された設定値N2との積τ×N2に等しくなり、チャンネル端子12nから出力されるパルス幅変調信号80のON時間幅は、τ×(N1−N2)で算出されるものとなる。なお、もしも比較一致出力Pの反転論理出力をチャンネル端子12nに供給するようにすれば、ON/OFFの概念が反転するので、τ×N2がON幅時間に相当することになる。このため、論理反転した場合には第二の設定レジスタ3002nに格納される設定値N2はON時間幅に対応した設定値であるということになる。
一方、汎用出力回路1092によれば、第二のポート12には出力ラッチメモリ145を介してデバイスメモリ114a内の特定領域である出力イメージメモリのON/OFF状態が送信されるようになっている。この汎用出力回路1092は、特殊命令が使用されていないチャンネル端子12nに対して有効となるものであり、例えば後述の高速パルス出力としてチャンネル端子12nが占有されているときには汎用出力としては使用できず、該当チャンネルの出力イメージメモリはOFFにしておく必要がある。
図12において、第一のパルス出力回路1060m(m=0・2・4・6)はステッピングモータによって低速始動運転・高速運転・停止前低速運転・停止の高低速の2段速度運転を行うのに適したパルス発生回路であり、当該第一のパルス出力回路は、第一所定量の低速周期のパルスを発生してから第二所定量の高速周期のパルスを発生し、再び第一所定量の低速周期のパルスを発生してからパルス発生を停止するようになっている。これを詳細に説明すると、第一のパルス出力回路1060mは、一対の可逆カウンタ2000mと2000m+1によって構成され、前段の可逆カウンタ2000mは、共通クロック回路9001が発生するクロック信号をアップ計数するようになっていて、第一の設定レジスタ3001mには目標とする低速出力パルスの周期Tの1/2に相当した数値が格納され、第二の設定レジスタ3002mには目標とする高速出力パルスの周期Tの1/2に相当した数値が格納されている。
前段可逆カウンタ2000mの現在値レジスタ4001mの計数現在値が増加して、第一の設定レジスタ3001mの設定値N1、または第二の設定値レジスタ3002mの設定値N2(N2≦N1)に達すると、カウントアップ出力Qまたは上昇比較一致出力Pが発生して可逆カウンタ2000mをリセットすると共に、交番出力回路84の出力が交互に反転するようになっている。第一および第二の設定レジスタのどちら側の設定値を使用するかは後述する切換回路81の論理動作によって決定されるようになっている。可逆カウンタ2000mがリセットされて現在値レジスタ4001mの値がゼロに復帰したことに伴ってカウントアップ出力Qと上昇比較一致出力Pもリセットされ、再びクロック信号の計数が開始する。
その結果、共通クロック信号回路9001の発生クロック周期をτ=1μsecとすれば、交番出力回路84の出力パルスの周期は2×N1または2×N2(μsec)となる。出力選択回路49はパラメータメモリ8000mの内容と指令ラッチメモリ6000mの内容によって出力モードが変化し、例えばチャンネル端子12mに可逆パルス出力FRPを発生し、続く隣接チャンネル端子12m+1には回転方向指令出力DIRを発生するか、またはチャンネル端子12mに正転パルス出力FPを発生し、続く隣接チャンネル端子12m+1には逆転パルス出力RPを発生するようになっている。
後段の可逆カウンタ2000m+1は、交番出力回路84の出力信号をアップおよびダウン計数すると共に、当該可逆カウンタの第一の設定レジスタ3001m+1には目標となるパルス発生総数の1/2の値が格納されていて、この発生パルス数によって例えばステッピングモータによる全体移動量が決定される。可逆カウンタ2000m+1の第二の設定レジスタ3002m+1には目標となる低速パルス発生数が格納されていて、この発生パルス数によってステッピングモータの低速始動運転と停止前の低速運転による移動量が決定される。
可逆カウンタ2000m+1の現在値レジスタ4001m+1の計数現在値が増加して、第二の設定レジスタ3002m+1の設定値M2に達すると、上昇比較一致出力Pが発生して、切換回路81によって前段の可逆カウンタ2000mの設定周期を低速周期から高速周期に切換設定する。可逆カウンタ2000m+1の現在値レジスタ4001m+1の計数現在値がさらに増加して、第一の設定レジスタ3001m+1の設定値M1(M2≦M1)に達すると、カウントアップ出力Qが発生して否定論理素子82および83によって可逆カウンタ2000m+1が減算動作を開始し、やがて下降比較一致出力が作動すると、切換回路81によって前段の可逆カウンタ2000mの設定周期を高速周期から再び低速周期に切換設定する。
可逆カウンタ2000m+1の現在値レジスタ4001m+1の計数現在値がさらに減少してゼロに復帰して復帰出力が作動すると、各可逆カウンタは計数動作を停止し、報告信号7060mによってマイクロコンピュータ111に対してパルス発生完了報告が行われる。その結果、第一のパルス出力回路1060mによるパルスの発生総数は、後段可逆カウンタ2000m+1の上昇比較一致出力Pが作動するまでの低速パルス数M2と、カウントアップ出力Qが発生するまでの高速パルス数(M1−M2)と、減算動作によって下降比較一致出力Pが作動するまでの高速パルス数(M1−M2)と、復帰出力Qが作動するまでの低速パルス数M2となっていて、発生パルスの総数はM2+(M1−M2)+(M1−M2)+M2=2×M1であるが、前後に低速パルスが各M2パルス発生することになる。
発生パルスの総数を奇数にしたいときには、現在値レジスタ4001m+1の初期値として「+1」または「−1」を格納しておいて、残りの偶数値を設定値M1およびM2に割り当てるようにすればよい。マイクロプロセッサ111は、第一のパルス出力回路1060mが計数動作を行っていないときに、設定データ3060mによって各第一および第二の設定レジスタに対する設定値を送信すると共に、指令信号6060mによって回転方向指令信号を指令ラッチメモリ6000mへ送信するようになっている。現在値レジスタ4001m+1による発生パルス数の現在値は演算データ4060mによってマイクロプロセッサ111に送信されるようになっている。
なお、マイクロプロセッサ111は、指令信号6060mによって指令ラッチメモリ6000mに対して正転限界停止指令、逆転限界停止指令、強制停止指令などを送信して、パルス発生を停止することができるようになっている。また、第一のパルス出力回路1060mは、ステッピングモータに対する回転駆動指令を与えるものであり、当該ステッピングモータを駆動するドライバには正転駆動端子、逆転駆動端子を有するものと、正逆転駆動端子と回転方向指令端子を有するものがある。第一のパルス出力回路1060mはこれ等の駆動形式に応じたパルス出力を発生することができるようになっている。
以上の説明では、2段速度による低速始動運転・高速運転・停止前の低速運転・停止の動作を行うために、前段可逆カウンタをリングカウンタとして循環動作させるための設定値を第一および第二の設定レジスタによって切換えることによって低速または高速の出力パルス周期を得るようになっていて、後段可逆カウンタ2000m+1によって発生パルス数の計数と速度切換え指令信号を発生するようになっている。この速度切換制御において、低速パルス発生数の発生に応動する上昇比較一致出力Pと、下降比較一致出力が利用されている。しかし、後段可逆カウンタ2000m+1の運転開始時に、現在値レジスタ4001m+1に対して低速始動運転パルス発生数に相当した負数を格納し、第二の設定レジスタ3002m+1に対して高速運転パルス数を設定し、第一の設定レジスタ3001m+1に対して高速運転パルス数+停止前の低速運転パルス数を設定しておくおくことにより、復帰出力が作動している間は低速始動運転を行い、現在値レジスタ4001m+1が正の値になってから高速運転を行い、上昇比較一致出力Pが作動すると停止前の低速運転を行い、カウントアップ出力Qが発生すると停止するようにしてもよい。
次に、図4に示す論理回路部1000nを第二のパルス出力回路1070k(k=0または4)とした場合のブロック図である図13について説明する。なお、第二のパルス出力回路1070kは、サーボモータを駆動するサーボアンプに対して回転パルス指令を供給するものであって、当該サーボアンプに対しては正転パルスまたは逆転パルスを供給するか、または正逆転パルスと回転方向指令を供給するようになっている。また、第二のパルス出力回路1070kは、サーボモータのスロースタート/スローストップを行うために徐々にパルス周波数を増加させたり減少させたりする加減速度制御機能が付加されており、一部の回路変更によって後述の原点出し制御も行えるようになっている。このため、第二のパルス出力回路1070kは、第一のポート11と第二のポート12を共用した場合に有効となり、2チャンネルの入力と3チャンネルの出力と4個の可逆カウンタを占有する回路となっている。
図13において、第二のパルス出力回路1070・0は、4点の可逆カウンタ2000・0、2000・1、2000・2、2000・3が使用され、第二のパルス出力回路1070・4は、4点の可逆カウンタ2000・4、2000・5、2000・6、2000・7が使用されているが、両者は同様であるので、第二のパルス出力回路1070・0について説明する。初段の可逆カウンタ2000・0は、共通クロック回路9001が発生するクロック信号をアップ計数するようになっていて、第一の設定レジスタ3001・0には目標とする漸増漸減のステップ時間Δtの1/2に相当した数値が設定データ3070・0によって予め格納されている。前段可逆カウンタ2000・0の現在値レジスタ4001・0の計数現在値が増加して第一の設定レジスタ3001・0の設定値N1に達すると、カウントアップ出力Qが発生して可逆カウンタ2000・0をリセットすると共に、交番出力回路97の出力が交互に反転するようになっている。
可逆カウンタ2000・0がリセットされて現在値レジスタ4001・0の値がゼロに復帰したことに伴ってカウントアップ出力Qもリセットされ、再びクロック信号の計数が開始する。その結果、カウントアップ出力Qの発生周期は設定値N1とクロック信号周期τとの積であるN1×τに等しくなり、交番出力回路97の出力パルスの周期はその2倍の値である2×N1×τとなって、これがステップ時間Δtに相当することになる。したがって、初段の可逆カウンタ2000・0は、漸増漸減パターンのステップ時間生成手段となるものであり、現在値レジスタ4001・0の計数現在値の変化が鋸歯状波形91によって示されている。次段の可逆カウンタ2000・1は、交番出力回路97の出力信号をアップまたはダウン計数するようになっていて、1回のアップ/ダウン指令によって変分値レジスタ4003・1に格納されている漸減漸増周波数Δfの値が現在値レジスタ4001・1に加算または減算されるようになっている。
なお、この可逆カウンタ2000・1は、速度パターン93Aを生成するためのものであり、第二のパルス出力回路1070・0の動作開始に当たって、設定データ3070・0による初期設定が行われ、第一の設定レジスタ3001・1には目標運転速度に対応したパルス周波数f1の値が設定され、第二の設定レジスタ3002・1には低速速度に対応したパルス周波数f2の値が設定され、現在値レジスタ4001・1には運転開始時の初速に対応したパルス周波数f0の値が設定され、変分値レジスタ4003・1には前記漸増漸減周波数Δfの値が設定されている。
ただし、通常は低速速度と初速とは同じ値が使用され、f2=f0となっている。その結果、周期Δtによる計数入力信号が計数入力端子INに入力される都度に、現在値レジスタ4001・1の値は初速用のパルス周波数f0を初期値として漸増周波数Δfが順次加算され、この加算現在値が第一の設定レジスタ3001・1に格納されている目標運転速度に対応したパルス周波数f1に達すると、カウントアップ出力Qが発生して否定論理素子92の出力によってアップ指令入力が停止して、計数入力が発生しても現在値レジスタ4001・1の値は一定値を維持するようになる。
しかし、後述の可逆カウンタ2000・3が減速開始指令を発生すると、論理和素子95Aとゲート素子95bの出力によって、可逆カウンタ2000・1は減算動作を開始して、周期Δtによる計数入力信号が計数入力端子INに入力される都度に、現在値レジスタ4001・1には漸減周波数Δfが順次減算される。やがて、現在値レジスタ4001・1の値が第二の設定レジスタ3002・1に格納されている低速周波数f2(=f0)以下になると、下降比較一致出力が論理レベル「H」となり、ゲート素子95bの出力が論理レベル「L」に反転することによって減算動作が停止し、現在値レジスタ4001・1の値は低速周波数f2(=f0)の値を維持するようになっている。
終段前の可逆カウンタ2000・2は、共通クロック回路9001が発生するクロック信号によって変分値レジスタ4003・2に格納されている増分値を順次現在値レジスタ4001・2に加算するようになっており、第一の設定レジスタ3001・2には所定の係数Kがマイクロプロセッサ111からの設定データ3070・0によって格納されている。また、変分値レジスタ4003・2には前段の可逆カウンタ2000・1の現在値レジスタ4001・1の値が順次更新格納されるようになっている。
したがって、可逆カウンタ2000・2の現在値レジスタ4001・2の計数現在値は共通クロック回路9001から入力されたクロック信号のON/OFF動作によって順次変分値レジスタ4003・2に格納されている増分値が加算され、やがて第一の設定レジスタ3001・2に格納されている計数Kに達すると、カウントアップ出力Qを発生して、可逆カウンタ2000・2は自己リセットされ、同じ動作を繰返すことになる。その結果、カウントアップ出力Qの発生周期は変分値レジスタ4003・2に格納されている増分値が大きいほど速い周期となり、交番出力回路47の出力は変分値レジスタ4003・2に格納された増分値に反比例した周期のパルス出力となって、このパルス出力が出力選択回路49を介してチャンネル端子12・0と12・1に出力される。
出力選択回路49は、パラメータメモリ8000・2の内容によって出力モードが決定され、例えば正転パルス出力FPと逆転パルス出力RPが出力されるか、または可逆パルスFRPと方向信号出力DIRが出力されるようになっている。終段の可逆カウンタ2000・3は、交番出力回路47の出力信号をアップカウントし、パルス発生回数を計数するカウンタとなっている。可逆カウンタ2000・3の第一の設定レジスタ3001・3には目標パルス発生数が格納され、第二の設定レジスタ3002・3には減速開始点までのパルス発生数が格納される。これ等の設定値はマイクロプロセッサ111から設定データ3070・0として予め送信されたものとなっている。
可逆カウンタ2000・3がパルス発生数を計数し、やがて第二の設定レジスタ3002・3に格納された減速開始点までのパルス数に達すると、上昇比較一致出力Pが論理レベル「H」となり、論理和素子95Aとゲート素子95bを介して可逆カウンタ2000・1の減算動作が開始するようになっている。可逆カウンタ2000・3がパルス発生数を計数し、やがて第一の設定レジスタ3001・3に格納された目標パルス発生数に達するとカウントアップ出力Qが論理レベル「H」となり、全ての可逆カウンタの動作を停止して出力パルスの発生を停止すると共に、報告信号7070・0によってマイクロプロセッサ111へ動作完了を報告する。なお、マイクロプロセッサ111は指令信号6070・0によって指令ラッチメモリ6000・0に対して正転限界停止指令、逆転限界停止指令、強制停止指令などを送信して、パルス発生を停止することができるようになっている。また、図13の点線部分の動作については図14によって説明する。
次に、図4に示す論理回路部1000nを変形型パルス出力回路1080k(k=0または4)とした場合のブロック図である図14について、図13のものとの相違点を中心にして説明する。なお、変形型パルス出力回路1080kは、図19で後述するパラメータ変更手段918によって図13の第二のパルス出力回路1070kを一部変形して得られる回路であり、適用される特殊命令が原点復帰命令ZRNとなっているために各部に対する設定データも異なったものとなっている。
図14において、初段の可逆カウンタ2000・0は図13の場合と全く同様に動作し、共通クロック回路9001が発生するクロック信号をアップ計数しながら、第一の設定レジスタ3001・0で設定された漸増漸減のステップ時間に対応した繰り返し動作を行い、現在値レジスタ4001・0の計数現在値の変化は鋸歯状波形91によって示された変化を行うようになっている。次段の可逆カウンタ2000・1も図13の場合と略同様の動作を行って、特性線図133bで示したような速度パターンを生成する回路となっている。
但し、図14の場合は、現在値レジスタ4001・1に対する初速設定が行われていないので、速度上昇パターンはゼロから徐々に上昇するようになっている。また、可逆カウンタ2000・1が減算動作を開始するのはチャンネル端子11・0から入力された近点ドグ信号DOGの動作に依存しており、当該近点ドグ信号DOGは機械原点の手前でON動作するスイッチ信号に基づいて論理和素子95Aとゲート素子95bを介して可逆カウンタ2000・1にダウン指令を供給するものとなっている。
さらに、減速完了段階では第二の設定レジスタ3002・1に格納された微速運転速度(クリープ速度)に対応した一定速度が維持されるようになっている。これは、下降比較一致出力によってゲート素子95bを介してダウン動作を停止するためである。終段前の可逆カウンタ2000・2も図13の場合と全く同様の動作を行い、前段の現在値レジスタ4001・1の現在値が変分値レジスタ4003・2に順次転送され、運転速度に対応した周波数に反比例した周期のパルス出力をチャンネル端子12・0と12・1に発生するようになっている。
終段の可逆カウンタ2000・3は、サーボモータに設けられたエンコーダが発生するゼロ相信号をアップ計数するカウンタであり、その計数信号入力は論理積素子95eの出力信号となっている。保持回路95cは近点ドグ信号DOGがOFFからONに変化して、チャンネル端子11・0の論理レベルが「L」から「H」になったことを記憶し、ゲート素子95dの出力は保持回路95cがセットされた後に近点ドグ信号DOGがONからOFFに変化したことによて論理レベルが「H」となるように構成されている。
その結果、チャンネル端子11・1に入力されたゼロ相信号ZEROが論理積素子95eを介して可逆カウンタ2000・3の計数入力端子INに入力されるようになっている。なお、ゼロ点信号の計数開始判定回路96は保持回路95cとゲート素子95dによって構成されている。近点ドグ信号DOGとゼロ相信号ZEROとの関連については図28で改めて具体的に説明するが、近点ドグ信号DOGは原点近傍で一旦論理レベル「H」となり、やがて減速が略完了した時点で再び近点ドグ信号DOGが論理レベル「L」になって、その後に可逆カウンタ2000・3がゼロ相信号ZEROを計数開始するようになっている。
可逆カウンタ2000・3の現在値レジスタ4001・3の計数現在値が、予め第一の設定レジスタ3001・3に格納されているゼロ点信号数の値に達すると、カウントアップ出力Qが発生して、全ての可逆カウンタの動作とパルス出力の発生を停止し、出力選択回路49を介してチャンネル端子12・2に対してクリア信号CLRを発生すると共に、保持回路95cをリセットしたり、マイクロプロセッサ111には動作完了信号を報告信号7080・0によって送信するようになっている。チャンネル端子12・2に出力されたクリア信号CLRはサーボアンプの初期化を行う信号として使用されるものである。なお、可逆カウンタ2000・3は、図13においては発生パルス数の計数を行ったものが、図14ではゼロ点信号を計数するためのものとして共用されて、可逆カウンタの使用個数を抑制するようになっている。
次に、図1に示すデバイスメモリ114aの構成例である図15について説明する。図15において、例えば128点の多数の入力リレーは、8進番号X000〜X177によって識別され、各入力リレーはプログラマブルコントローラ100Aの入力端子に接続された開閉センサX000〜X177によって駆動される仮想の電子的リレーであって、無数の常開接点と常閉接点を持っていてユーザのシーケンスプログラムの中に使用することができるものである。また、例えば128点の多数の出力リレーは、8進番号Y000〜Y177によって識別され、各出力リレーはプログラマブルコントローラ100Aの出力端子に接続された電磁リレーまたはトランジスタまたはトライアック等の1個の出力素子によって外部接続された電気負荷を駆動すると共に、仮想の電子的接点である無数の常開接点と常閉接点を持っていてユーザのシーケンスプログラムの中に使用することができるものである。
10進番号で識別される補助リレーM0000〜M8999は、仮想の電子的リレーであって、仮想の電子的接点である無数の常開接点と常閉接点を持っていてユーザのシーケンスプログラムの中に使用することができるものである。補助リレーの一部はメーカによって動作が定義された特殊補助リレーであり、例えばM8000はプログラマブルコントローラ100Aが運転動作を開始すると自動的に付勢される特殊補助リレーとなっていて、ユーザはその接点情報をシーケンスプログラムの中で利用することができるようになっている。
10進番号で識別されるタイマT000〜T255は、16ビットの設定値レジスタと現在値レジスタと計時出力接点とリセットコイルを備えた仮想の電子的タイマであって、当該タイマがシーケンスプログラムによって駆動されると時間経過にともなってタイムアップ出力を発生し、仮想の電子的出力接点である無数の常開接点と常閉接点をユーザのシーケンスプログラムの中に使用することができるものである。
10進番号で識別されるカウンタC000〜C255は、16ビットの設定値レジスタと現在値レジスタとカウントアップ出力とリセットコイルを備えた仮想のカウンタであって、当該カウンタがシーケンスプログラムによって駆動/停止されるとその駆動回数を計数して、目標回数に達するとカウントアップ出力を発生し、仮想の電子的出力接点である無数の常開接点と常閉接点をユーザのシーケンスプログラムの中に使用することができるものである。したがって、このカウンタはプログラマブルコントローラの演算周期よりも早い動作の入力信号を計数することはできないものとなっている。
10進番号で識別されるデータレジスタD0000〜D8999は、16ビットのワードデバイスであり、隣接する2点のデータレジスタを組み合わせて32ビットのデータを扱うことができるようになっている。データレジスタの一部はメーカによって用途が定義された特殊データレジスタであり、例えばD8005にはバッテリ電圧が格納されていたり、D8010にはスキャンタイムが格納されるようになっている。これ等の多数のデバイスの動作状態や現在値・設定値情報の格納先はデバイス番号に応じてデバイスメモリに割付けられている。なお、前記補助リレー、タイマ、カウンタ、データレジスタにはバッテリバックアップされたものと、バッテリバックアップされていないものとがあって、各デバイス番号の範囲によって区分されている。
次に、図1の高速カウンタ番号の構成例である図16について説明する。図16において、高速カウンタは1相1入力方式でPS入力なし、1相1入力でPS入力付き、1相2入力方式、2相2入力で1逓倍・2逓倍・4逓倍方式のものに大別されていて、各高速カウンタには重複することがない拡張番号bb=00〜96が与えられている。一方、特殊ユニットの入力端子にはX**0〜X**7の番号が与えられているが、この入力番号のうち上2桁の**は当該特殊ユニットの接続位置で定まる配置番号であり、図1を参照すると明らかなとおり、特殊ユニット130の場合の第一のポート11に接続される入力の配置番号**は01となっている。この配置番号はCPUユニット110Aに近いものから順番に入力8点単位で一つの番号が8進数で採番されている。したがって、特殊ユニット130の第一のポート11に対する入力番号はX010〜X017となり、下1桁の番号0〜7はチャンネル番号となっている。
高速カウンタ番号はCbb**nで示されており、例えばC20010といえば、1相2入力の高速カウンタであり、入力端子X010にはアップ計数信号Uが入力され、入力端子X011にはダウン計数信号Dが入力されるものであることを示している。なお、拡張番号bbは重複しないようになっているので、高速カウンタ番号Cbb**nのうちチャンネル番号nは記載しなくても、拡張番号bbによって識別されるようになっており、チャンネル番号nは参考表記であって厳密にはCbb**が正式な高速カウンタ番号となっている。
なお、1相1入力の高速カウンタの場合にはアップまたはダウンの計数方向は高速カンタ命令HSCの中のプログラムによって指定されるようになっている。図16の中の符号Pは、プリセット指令入力端子がついていることを示しており、例えば高速カウンタC10010の場合であればX010が計数入力信号端子であるのに対し、X011はプリセット指令入力端子であり、この入力端子に接続された開閉信号がONすると、高速カウンタC10010の現在値レジスタに対して、シーケンスプログラムに基づく所定のプリセットデータが転送されることを意味している。
また、図16の中の符号Sは、計数開始指令入力端子がついていることを示しており、例えば高速カウンタC11011の場合であればX011が計数入力信号端子であるのに対し、X010は計数開始指令入力端子であり、この入力端子に接続された開閉信号がONするまでは高速カウンタC11011は計数動作を待機している。これに対し、計数開始指令入力端子Sを持たない高速カウンタの場合は、高速カウンタ命令HSCが実行された時点で計数動作を開始するようになっている。指令端子PとSについてはその他の高速カウンタの場合も同様である。
拡張番号bb=40〜96で指定される2相2入力の高速カウンタは、互いに90度の位相差をもったA相・B相の2相のパルス信号が各計数入力端子に印加され、例えばB相信号が論理レベル「L」から「H」に変化した時に、A相信号の論理レベルが「H」であればアップカウントを行い、A相信号の論理レベルが「L」であればダウンカウントを行うものとなっている。このように、B相信号の立上り論理変化のみを計数するのは1逓倍方式であるのに対し、B相信号の立下り論理変化を含めて計数するのが2逓倍方式であり、A相信号の立上りと立下りを含めて計数するのが4逓倍方式となっている。なお、後述の可変フィルタ命令REF、パルス密度測定命令FREQ、パルス幅測定命令PWDの場合は拡張番号bbは不要となっている。また、高速カウンタ命令HSCやパルス密度測定命令FREQ、パルス幅測定命令PWDが適用されていない入力に対して可変フィルタ命令REFが適用できるようになっている。
次に、図1の高速出力番号の構成例である図17について説明する。図17において、各種の高速出力命令PLS・DRV・ZRNが適用される出力には重複することがない拡張番号bb=00〜15が与えられている。一方、特殊ユニットの出力端子にはY**0〜Y**7の番号が与えられているが、この出力番号のうち上2桁の**は当該特殊ユニットの接続位置で定まる配置番号であり、図1を参照すると明らかなとおり、特殊ユニット140の場合の第二のポート12に接続される出力の配置番号**は02となっている。この配置番号はCPUユニット110Aに近いものから順番に出力8点単位で一つの番号が8進数で採番されている。
したがって、特殊ユニット140の第二のポート12に対する出力番号はY020〜Y027となり、下1桁の番号0〜7はチャンネル番号となっている。高速出力番号はYbb**nで示されており、例えばY02022は第一のパルス出力命令PLSに適用されるものであり、出力端子Y022には正転パルス出力FPが出力され、出力端子Y023には逆転パルス出力RPが出力されることを意味している。なお、拡張番号bbは重複しないようになっているので、高速出力番号Ybb**nのうちチャンネル番号nは記載しなくても、拡張番号bbによって識別されるようになっており、チャンネル番号nは参考表記であって厳密にはYbb**が正式な高速出力番号となっている。
図17の中の符号DIRは方向信号出力、符号FRPは可逆パルス出力であり、例えば拡張番号01の場合であればY021に可逆パルスが出力され、これを正転パルスとして扱うのか逆転パルスとして扱うのかはY020から出力された方向信号の論理レベルによって決定するようになっている。図17の中の符号CLRはサーボモータを駆動するサーボアンプに対して初期化を指令するクリア信号出力である。図17の中の符号PWMはパルス幅変調信号信号出力を発生する出力端子を示している。これ等の出力端子は重複して使用することはできないが、高速出力命令によって占有されていない出力は汎用出力として使用されるようになっている。また、PWM出力と汎用出力に対しては拡張番号bbは不要となっている。
(2)作用・動作の詳細な説明
以上のとおりに構成されたプログラマブルコントローラにおいて、まず、図18および図19で示す基本動作説明用フローチャートに基づいて作用動作を詳細に説明する。図18において、工程900においてプログラマブルコントローラ100Aに電源が投入されると、プログラマブルコントローラ100Aの内部では電源投入が検出されて各部の初期化が行われ、続いて工程901においてマイクロプロセッサ111が動作を開始する。続く工程902では図示しない運転/停止指令用のRUNスイッチがONされたかどうかを判定し、RUNスイッチがONされて運転状態にあればYESの判定を行って工程905(設定異常検出手段)へ移行し、RUNスイッチがOFFであればNOの判定を行って工程903へ移行するようになっている。
工程903では外部ツール108が接続されてプログラムモードが設定されているかどうかを判定し、プログラムモードであればYESの判定を行って工程904へ移行し、外部ツールが接続されていないか、または接続されていてもモニタモードが設定されているときにはNOの判定を行って動作終了工程910へ移行するようになっている。工程904では外部ツール108によってプログラムメモリ113Aに対するシーケンスプログラムの転送が行われてから動作終了工程910へ移行する。動作終了工程910では他の制御動作を行ってから再び動作開始工程901へ移行し、以上の動作を繰返すようになっている。したがって、工程902・903の判定が共にNOであるときには、マイクロプロセッサ111は工程901・902・903・910・901を循環動作していて、工程902におけるRUNスイッチがONになるか、または工程903がプログラムモードになるのを待っている状態となっている。
やがて、RUNスイッチがONにされると、工程905では、まずプログラムメモリ113A内のプログラムのチェックが行われる。プログラムチェックの中の一つは、カード情報格納メモリ9000に格納されているカード情報によって、第一および第二のポートに接続されている入出力インタフェース回路の種別を判定し、プログラムメモリ113Aに格納されている特殊ユニットに対応した命令内容が一致しているかどうかを判定するようになっている。その他、図16および図17で示された特殊ユニットの入出力が重複使用されていないかどうかを点検し、例えば高速カウンタの拡張番号01と10が使用されていると入力X011の重複使用となってエラー検出されるようになっている。続く工程906では工程905によるプログラムチェックに異常があればYESの判定を行って工程907へ移行し、異常がなければNOの判定を行って工程908(編成処理手段)へ移行するようになっている。工程907では表示器117に対する異常報知指令を発生すると共に、運転動作を停止して動作終了工程910へ移行するようになっている。
工程908ではプログラムメモリ113Aの内容に基づいて特殊ユニットのパラメータメモリ8000nに対して回路編成情報が送信されると共に、特殊ユニットに対する交信データが格納される転送仲介メモリ114bの割付編成が行われる。また、回路編成情報を受信した特殊ユニットでは受信したパラメータに基づいて各論理回路部1000nの具体的な回路編成が行われるようになっている。工程909ではRUNスイッチがONされているかどうかを再びチェックして、RUNスイッチがOFFされておればNOの判定を行って終了工程910へ移行し、RUNスイッチがONされておればYESの判定を行って中継端子Aを介して図19の工程911(入力処理手段)へ移行する。
図19において、工程911では各入出力ユニット120・130・140に設けられたデータセレクタ124・134・144を順次アクセスして、各入力端子に接続された開閉信号のON/OFF状態をデバイスメモリ114a内に割り付けられた入力イメージメモリに転送書込みするする。続く工程912はプログラムメモリ113Aに格納されているシーケンスプログラムを1命令毎に順次読出し実行するステップである。続く工程913は工程912で読み出された命令が特殊ユニットのための特殊命令を実行するものであったかどうかを判定し、特殊命令に関するものでなければNOの判定を行って工程922へ移行し、工程922ではシーケンスプログラムの完了を意味するEND命令であったかどうかを判定し、END命令でなければNOの判定を行って工程912へ復帰移行するようになっている。したがって、特殊命令が使用されていないときには工程912・913・922・912の循環動作が行われて一般のシーケンス命令が順次実行されるようになっている。
しかし、工程913の判定がYESとなって特殊命令が読み出された場合には工程914へ移行する。工程914では読み出された特殊命令が原点復帰命令ZRNであったかどうかを判定し、原点復帰命令ZRNであればYESの判定を行って工程915zへ移行し、原点復帰命令ZRNで無ければNOの判定を行って工程915dへ移行する。工程915zでは次工程916によってフラグZがセット済であるかどうかを判定し、セット済であればYESの判定を行って工程919aへ移行し、セット未完であればNOの判定を行って工程916へ移行する。
工程916では図14の変形型パルス出力回路1080・0または1080・4を編成するための回路編成データがパラメータメモリ8000nに送信され、回路編成済フラグZをセットすると共に、後述の工程917でセットされていたフラグDをリセットしてから工程919aへ移行する。工程915dでは次工程917によってフラグDがセット済であるかどうかを判定し、セット済であればYESの判定を行って工程919aへ移行し、セット未完であればNOの判定を行って工程917へ移行する。工程917では図13の第二のパルス出力回路1070・0または1070・4を編成するための回路編成データがパラメータメモリ8000nに送信され、回路編成済フラグDをセットすると共に、前述の工程916でセットされていたフラグZをリセットしてから工程919aへ移行する。
工程919aでは工程912で読み出された特殊命令が動作完了報告を行う形式の特殊命令であるかどうかを判定し、動作完了を報告する形式の特殊命令であればYESの判定を行って工程919bへ移行し、完了報告を行わない特殊命令であればNOの判定を行って工程921へ移行するようになっている。工程919bでは実行された特殊命令に対する動作完了報告が得られたかどうかを判定し、完了報告が得られておればYESの判定を行って工程921へ移行し、完了報告が得られていなければNOの判定を行って工程922へ移行するようになっている。工程921では読み出された特殊命令に関する新たな設定データを送信してから工程922へ移行するようになっている。なお、工程921では特殊命令で指定された設定データを特殊ユニットで取り扱いやすいデータに変換してから転送仲介メモリ114bに転送し、転送仲介メモリ114bから該当の特殊ユニットに送信されるようになっている。
例えば、特殊命令が図12で説明した第一のパルス出力回路1060mに対する第一のパルス出力命令PLSであって、この特殊命令によってパルス周波数と発生パルス数とが指定された場合には、工程921ではパルス周波数の逆数であるパルス周期に換算して、パルス周期と発生パルス数とが特殊ユニットに送信される。特殊ユニットでは指定されたパルス数の発生が完了したとき報告信号7060mによって完了報告を行うようになっているので、パルス発生が完了するまでは工程919bの判定によって工程921へは移行せず、新たな設定データが送信されないようになっている。
このようにして、プログラムメモリ113Aに格納されたシーケンスプログラムが順次実行され、やがてプログラム完了を意味するEND命令が読み出されると工程922がYESの判定を行って工程923へ移行する。工程923では各入出力ユニット120・130・140に設けられたラッチメモリ125・135・145を順次アクセスして、デバイスメモリ114a内に割り付けられた出力イメージメモリの内容を各ラッチメモリに順次転送書込みするする。但し、特殊ユニットにおいて特殊命令が適用されている出力に対しては出力イメージメモリの内容をOFFにしておく必要がある。
工程923による出力処理が完了すると工程924へ移行して、再びRUNスイッチがONされていることを確認した上で工程911へ復帰して、以下同様に入力処理・シーケンス処理・出力処理を循環実行するようになっている。なお、プログラマブルコントローラには入力処理と出力処理とをシーケンス処理の前後で一括処理する方式のものと、シーケンス処理の過程で適時に入力情報を直接読出しを行ったり、直接出力処理を行う方式のものがあり、ここでは便宜上一括処理方式で説明するが、直接処理方式のものであってもよい。以上の動作フローにおいて、工程905は設定異常検出手段、工程908は編成処理手段、工程911は入力処理手段、工程914から工程917で構成された工程ブロック918はパラメータ変更手段、工程919a・919bで構成された工程ブロック920は転送禁止手段、工程921はデータ変換・転送手段、工程923は出力処理手段となるステップとなるものである。
次に、図1の一般的なシーケンス制御回路図である図20について説明する。図20において、(A)と(J)は図19における工程911と工程923に相当しており、この入出力処理はシステムメモリ112Aの中の制御プログラムによって実行されるものであって、ユーザはプログラムを行う必要がない。図20において、(B)から(H)は図19における工程912のシーケンス処理に相当しており、(H)はシーケンスプログラムの終了を示すEND命令となっている。
(B)は入力リレーX000とX001が共にONしているときに補助リレーM0000を駆動する回路ブロックであり、常開接点の演算開始命令LDと直列接点命令ANDと、コイル駆動命令OUTが使用されている。(C)は入力リレーX002が不作動であるか、または補助リレーM0000が作動していて、しかも入力リレーX003が不作動であるときに補助リレーM0001が駆動されると共に、補助リレーM0002を自己保持駆動する回路ブロックであり、常閉接点の演算開始命令LDIと、並列接点命令ORと、常閉接点の直列接点命令ANIと、コイル駆動命令OUTと自己保持駆動命令SETが使用されている。なお、コイル駆動命令OUTの場合には当該コイルを駆動する接点が閉路しておれば付勢駆動され、開路しておれば消勢されることになるが、自己保持駆動命令SETの場合は一旦駆動されると駆動回路が開路しても動作状態が保持される命令となっている。
(D)は補助リレーM0001が駆動されているか、入力リレーX004が不作動である場合にタイマT000を駆動すると共に、補助リレーM0002の自己保持を解除する回路ブロックであり、常開接点の演算開始命令LDと、常閉接点の並列接点命令ORIと、コイル駆動命令OUTと、自己保持解除命令RSTとが使用されている。なお、タイマに対する駆動命令OUTに対しては遅延動作時間を設定するためのオペランドが付随しており、K100は例えば100秒の意味であるが、タイマの番号範囲によっては計時単位が異なっていて、例えばmsec単位で設定するタイマもある。
(E)はタイマT000が駆動されて所定時間後に遅延動作接点T000が閉路されると出力リレーY000を駆動する回路ブロックであり、LD命令とOUT命令とが使用されている。図20(F)は入力リレーX000によってカウンタC000を駆動する回路ブロックであり、LD命令とOUT命令が使用され、カウンタの駆動命令OUTに対しては目標動作回数Kがオペランドとして付随している。
なお、(F)の回路ブロックで示されたカウンタC000は入力リレーX000の開閉動作回数を計数して目標値10回に達すると出力接点C000が閉路することを意味している。したがって、入力リレーX000がプログラマブルコントローラ100Aの演算周期よりも短い時間の周期で開閉動作した場合には計数動作は行われないことになる。(G)は入力リレーX001が動作するとカウンタC000をリセットする回路ブロックであり、LD命令とRST命令が使用されている。カウンタに対するRST命令はカウンタの出力接点の動作を解除すると共に、カウンタの計数現在値をリセットするものとなっている。
プログラムメモリ113Aに格納されているシーケンスプログラムを順次実行してサイクリック演算を行う演算周期は命令内容や命令の使用個数によって千差万別であるが、一般には例えば10〜100msec程度のものである。また、入力信号端子にはノイズによる誤動作を避けるために、ノイズフィルタによって例えば10ms程度の応答遅延時間が設けられている。したがって、例えば図20に示す(F)で示したカウンタC000の場合であれば、演算周期が10msecであったとしても20msec以上のON幅とOFF幅時間が無ければ正確な計数動作が行えないので、計数可能な周波数は25Hz以下であることになる。また、シーケンスプログラムによってパルス信号を出力する場合には、演算周期が10msecであれば50Hz以上の高速パルスは出力できないことになる。これに対し、以下で説明する高速カウンタや高速パルス出力は例えば100KHz以下のパルス信号を扱うことを念頭においたものとなっている。
次に、可変フィルタ命令REFとパルス密度測定命令FREQとエッジ検出命令EDGEの使用例である図21および図22について説明する。図21において、(A)は特殊補助リレーM8000が閉路したときに、特殊ユニット130の入力X010に対して可変フィルタ命令REFを適用して、フィルタ定数をK5(5msec)に設定して補助リレーM0010を駆動しようとする回路ブロックとなっている。なお、特殊補助リレーM8000はプログラマブルコントローラ100AのRUNスイッチがONしているときには自動的に付勢される補助リレーとなっている。したがって、(B)で示すように特殊ユニット130に接続された開閉センサX010がON/OFF動作した場合に、図5の報告ビットメモリ7000n(この事例ではn=0になっている)に格納される入力信号は、(C)で示すとおり5msecの応答遅延が発生し、開閉センサX010が短時間のON動作を行っても、報告信号M0010は認知されない状態となる。
なお、報告ビットメモリ7000nに基づく報告信号7010nはREF命令が実行された時点でデバイスメモリ114aの補助リレーM0010へ転送されるようになっている。REF命令の第二オペランドでは目標とする応答遅延時間として、例えば1〜63msecが設定できるようになっているが、図5で示された共通クロック回路9001のクロック信号の周期τは例えば1μsecであり、応答遅延時間として1msecを得るための可逆カウンタ2000nの上限設定値は1000となる。したがって、マイクロプロセッサ111は応答遅延時間5msecを得るためには転送仲介メモリ114bに対して1000倍の数値5000を換算転送し、この値が設定データ3010nとして第一の設定レジスタ3001nに転送されるようになっている。
(D)は入力リレーX001が動作したときに、特殊ユニット130の入力信号X011のパルス密度を測定して、データレジスタD0100へ転送する回路ブロックとなっている。(E)は入力信号X011のパルス列を示している。(F)は図6で示されたパルス密度測定回路1020n(この事例ではn=1となっている)における可逆カウンタ2000nの現在値レジスタ4001nの計数現在値の変化を示したものとなっている。(G)は共通トリガ回路9002の出力特性を示したものであり、周期T0ごとに可逆カウンタ2000nの計数現在値をピークホールドレジスタ4002nへ転送してから、現在値レジスタ4001nをリセットするようになっている。
したがって、演算データ4020nによってデータレジスタD0100に転送されるピークホールドレジスタ4002nの値は周期T0期間における入力信号X011の動作回数を示すことになる。但し、トリガ信号の周期T0が例えば10msecである場合には、転送仲介メモリ114bに転送されたピークホールドレジスタ4002nの値は100倍されてデータレジスタD0100に換算転送されるようになっていて、最終的には入力信号X011の1秒当たりの開閉周波数Hzが得られるようになっている。
図22において、(A)は入力リレーX002が作動したときにエッジ検出命令EDGEを駆動する回路ブロックを示している。エッジ検出命令EDGEの第一オペランドには対象入力として特殊ユニット130の入力X012が指定され、第二オペランドには検出結果を格納する補助リレーの先頭番号が指定されていて、この事例であれば入力X012がOFFからONに変化した立上り検出結果が補助リレーM0030に格納され、入力X012がONからOFFに変化した立下り検出結果が補助リレーM0031に格納されるようになっている。(B)は立上り検出時に動作する補助リレーM0030によって補助リレーM0040を自己保持駆動する回路ブロックである。(C)は立下り検出時に動作する補助リレーM0031によって補助リレーM0041を自己保持駆動する回路ブロックである。(D)は補助リレーM0040によって補助リレーM0030をリセットして立上り検出を解除する回路ブロックである。(E)は補助リレーM0041によって補助リレーM0031をリセットして立下り検出を解除する回路ブロックである。なお、エッジ検出命令EDGEはマイクロプロセッサ111の演算周期よりも短いパルス入力の有無を検出するのに適した命令となっている。
次に、高速カウンタ命令HSCと高速比較命令HCMPとパルス幅測定命令PWDの使用例である図23について説明する。図23において、(A)は入力リレーX005が動作したときに、高速カウンタ命令HSCによって高速カウンタC24014が動作し、高速比較命令HCMPによって高速比較一致出力を得る回路ブロックとなっている。ここで使用されたHSC命令やHCMP命令の第一オペランドで指定された高速カウンタC24014は、図16の拡張番号bb=24となっているので、この高速カウンタは特殊ユニット130の入力信号X014によってアップ計数し、入力信号X015によってダウン計数する高速カウンタとなっている。
HSC命令の第二オペランドでは図10の可逆カウンタ2000m(この事例でなm=4となっている)の第一の設定レジスタ3001mに格納する上限数値がK3000として直接指定されている。この上限数値の設定はデータレジスタを用いた間接設定であってもよく、この場合には上限数値が書込まれたデータレジスタの番号が第二オペランドで指定されるようになっている。
なお、第一オペランドで指定された高速カウンタの番号が図16の拡張番号bb=00〜19となる1相1入力カウンタである場合には、HSC命令に第三オペランドが付随し、ここでアップ/ダウンの方向を指示する補助リレー番号が指定されるようになっている。図の例であれば、補助リレーM8910がONするとアップカウント、OFFするとダウンカウントを行うようになっている。
HCMP命令の第二オペランドには、図10の第二の設定レジスタ3002mに転送される中間設定値が格納されている。図の場合では中間設定値が格納されているデータレジスタ番号D0150によって間接設定されている。高速カウンタC24014の計数現在値が中間設定値を上昇通過すると比較一致出力Y014が動作すると共に、第三オペランドで指定された補助リレーM8920がON動作するようになっている。
(B)は高速カウンタC24014のカウントアップ出力によって出力リレーY000を駆動する回路ブロックを示している。(C)は図示しない他のシーケンスによって制御されている補助リレーM0021が動作すると、高速カウンタC24014をリセットする回路ブロックを示しており、これにより図10の可逆カウンタ2000mの現在値レジスタ4001mの値はゼロとなり、出力接点C24014もOFFとなる。
(D)はHCMP命令によって高速カウンタC24014の上昇比較一致出力Pが作動したときに動作する補助リレーM8920によって補助リレーM0020を自己保持駆動する回路ブロックが示されている。(E)は補助リレーM0020が動作したことに伴って、上昇比較一致出力Pによって駆動された補助リレーM8920の自己保持解除を行う回路ブロックを示しており、自己保持解除が行われると補助リレーM8920は不作動になると共に上昇比較一致出力Pもリセットされる。
(F1)は運転中に常時駆動されている特殊補助リレーM8000によって駆動されるパルス幅測定命令PWDを示した回路ブロックである。PWD命令の第一オペランドではパルス幅測定の対象となる入力端子番号が指定される。この事例では入出力ユニット130の入力X013が指定されている。第二オペランドでは測定時間幅が格納されるデータレジスタ番号を指定し、第三オペランドでは測定完了報告信号によって動作する補助リレー番号が指定されている。
この事例であれば、図7のパルス幅測定回路1022n(この事例ではn=3)において、チャンネル端子11nに接続された入力信号X013が論理レベル「H」になると、可逆カウンタ2000nは周期τ=1μsecのクロック信号を計数し、入力信号X013が論理レベル「L」に変化した時点の計測時間がピークホールドレジスタ4002nに格納される。計測結果は演算データ4022nによってマイクロプロセッサ111へ送信されてデータレジスタD0260に格納され、測定完了情報は報告信号7022nによって送信されて補助リレーM8950が駆動される。(F2)において、除算命令DIVによってデータレジスタD0260の逆数演算結果を1000倍した値がデータレジスタD0261に格納されている。
(F3)によって補助リレーM8950を自分自身の接点M8950によてリセットすると、指令信号6022nによって指令ラッチメモリ6000nに送信され、記憶回路63がリセットされて再度パルス幅の測定が開始する。論理回路部とマイクロプロセッサ間のデータ交信は、特殊命令が実行された時点で行われるので、測定したいパルス幅がマイクロプロセッサの演算周期よりも長時間であれば、マイクロプロセッサの複数サイクルの動作によってパルス幅が測定されることになる。これに対し、測定したいパルス幅がマイクロプロセッサの演算周期よりも短時間であれば、マイクロプロセッサの各演算サイクル毎にパルス幅が更新測定されることになる。
次に、第一のパルス出力命令PLSの使用例である図24について説明する。図24において、(F)は図示しない他のシーケンスによって動作する補助リレーM0000が動作したときに駆動される第一のパルス出力命令PLSの回路ブロックを示している。このPLS命令の第一オペランドで指定された高速出力Y06026は、図17の拡張番号bb=06が使用されているので出力端子Y026から正転パルス出力FPを発生し、隣接出力端子Y027から逆転パルスRPを発生するものとなっている。
PLS命令の第二オペランドで指定されたデータレジスタD0200は、各種設定データの先頭データレジスタ番号を示しており、一対のデータレジスタ(D0201・D0200)によって32ビットの目標パルス発生数を指定し、続くデータレジスタD0202によって低速パルスの発生数を指定し、続くデータレジスタD0203によって高速運転の発生パルスの周期をμsecの単位で指定し、続くデータレジスタD0204によって低速運転の発生パルスの周期をμsecの単位で指定するようになっている。
これ等の設定値は図12における設定データ3060m(この事例ではm=6)によって第一の設定レジスタ3001・7(目標移動パルス発生数の1/2)と第二の設定レジスタ3002・7(低速移動パルス数)、および第一の設定レジスタ3001・6(低速パルス周期)と第二の設定レジスタ3002・6(高速パルス周期)として送信され、指令信号6060・6によって回転方向指令が送信されるようになっている。
但し、第一の設定レジスタ3001・6と第二の設定レジスタ3002・6にはデータレジスタD0203とD0204によって指定された目標周期の半分の値が転送仲介メモリ114bを介して転送され、第一の設定レジスタ3201・7にはデータレジスタ(D0201・D0200)によって指定された目標移動パルス数の半分の値が転送仲介メモリ114bを介して転送されるようになっている。その結果、図12の交番出力回路84の出力パルスの周期はデータレジスタD0203またはD0204によって指定された目標周期に等しくなるようになっている。なお、データレジスタ(D0201・D0200)の内容が正の値であれば前進正転パルスを発生し、負の値であれば後退逆転パルスを発生することになっているが、第一の設定レジスタ3001・7には常に絶対値が転送され、回転方向は指令信号6060・6によって指令されるようになっている。
PLS命令の第三オペランドで指定された補助リレーM8920は、各種指令信号・報告信号の先頭補助リレー番号となっており、M8920は強制停止指令、続くM8921は正転限界停止指令、続くM8922は逆転限界停止指令、続くM8923はパルス出力完了報告となっている。なお、データレジスタD0204に続くデータレジスタD0205に単位換算定数を格納し、データレジスタ(D0201・D0200)には目標パルス発生数に替わって目標移動量(例えばmm単位)を指定し、これに単位換算定数を掛けると目標とする発生パルス数が得られるようにしておくこともできる。
図24において、(A)は運転開始時に1演算周期だけONしている特殊補助リレーM8002と、パルス出力完了信号となる補助リレーM8923とによって駆動される32ビット転送命令DMOVと16ビット転送命令MOV、および転送確認用の補助リレーM8010を駆動する回路ブロックを示している。DMOV命令では第一オペランドで指定された定数K40000を、第二オペランドで指定されたデータレジスタを下位とする一対のデータレジスタ(D0201・D0200)へ転送するようになっている。
MOV命令では第一オペランドで指定された定数K5000を第二オペランドで指定されたデータレジスタD0202に転送するようになっている。次のMOV命令では第一オペランドで指定された定数K50を第二オペランドで指定されたデータレジスタD0203に転送するようになっている。次のMOV命令では第一オペランドで指定された定数K100を第二オペランドで指定されたデータレジスタD0204に転送するようになっている。したがって、発生パルスの高速周期は50μs(パルス周波数では20KHz)、低速周期は100μs(パルス周波数では10KHz)のパルスを発生し、低速パルス数は5、000パルス、発生パルスの総数は40、000パルスとなっている。なお、定数Kによる直接設定によらないで、データレジスタ番号を指定する間接設定方式にすれば、運転中においてこれ等の設定値を変更することができるものである。
(B)は入力リレーX000が動作すると強制停止指令となる補助リレーM8920が駆動される回路ブロックを示している。(C)は入力リレーX001が動作すると、正転限界停止指令となる補助リレーM8921が駆動されるとともに、一対のデータレジスタ(D0221・D0220)に対して定数K80000を転送書込みする32ビット転送命令DMOVが駆動される回路ブロックとなっている。(D)は入力リレーX002が動作すると、逆転限界停止指令となる補助リレーM8922が駆動されるとともに、一対のデータレジスタ(D0221・D0220)に対して定数K200を転送書込みする32ビット転送命令DMOVが駆動される回路ブロックとなっている。
(E)は(A)の回路ブロックで駆動された補助リレーM8010によって、パルス出力完了で動作していた補助リレーM8923をリセットする回路ブロックとなっている。したがって、(F)において補助リレーM0000が閉路しておれば、第一のパルス命令PLSが実行されて、図11の設定データ3060・6や指令信号6060・6が第一のパルス出力回路1060・6へ送信され、パルス出力完了信号がリセットされて第一の設定レジスタ3001・6、3001・7と第二の設定レジスタ・3002・6・3002・7に対する定数設定が行われる。
(G)は図示しないシーケンス回路によって駆動される補助リレーM0001によって、現在位置読出命令DCVRDを駆動する回路ブロックを示している。DCVRD命令の第一オペランドでは高速パルス出力番号Y06026が指定され、第二オペランドでは32ビットデータを扱う一対のデータレジスタ(D0221・D0220)の下位のデータレジスタ番号が指定されている。DCVRD命令が実行されると、図12の現在値レジスタ4001・7の値が転送仲介メモリ114bに読み出され、その値が移動方向と上昇比較一致出力Pの作動状態、カウントアップ出力Qの作動状態、下降比較一致出力の作動状態、復帰出力の作動状態に応じた移動発生パルス数に換算されて、データレジスタ(D0221・D0220)に代数加算されるようになっている。データレジスタ(D0221・D0220)には、(C)または(D)で示したとおり、正転限界位置または逆転限界位置で所定の現在位置が転送書込みされているので、これ等の基準位置に基づいた絶対位置情報が得られることになる。
次に、第二のパルス出力命令DRVの使用例である図25と、加減速速度パターンを示す特性線図である図26について説明する。図25において、(F)は図示しない他のシーケンスによって動作する補助リレーM0000が動作したときに駆動される第二のパルス出力命令DRVの回路ブロックを示している。このDRV命令の第一オペランドで指定された高速出力Y10020は、図17の拡張番号bb=10が使用されているので出力端子Y020から正転パルス出力FPを発生し、隣接出力端子Y021から逆転パルスRPを発生し、後述の原点復帰命令ZRNが使用されたときには隣接出力端子Y022からクリア信号CLRを発生するものとなっている。
DRV命令の第二オペランドで指定されたデータレジスタD0300は、各種設定データの先頭データレジスタ番号を示しており、その設定内容は、(A1)〜(A4)によって説明する。DRV命令の第三オペランドで指定された補助リレーM8940は、各種指令信号・報告信号の先頭補助リレー番号となっており、M8940は強制停止指令、続くM8941は正転限界停止指令、続くM8942は逆転限界停止指令、続くM8943はパルス出力完了報告となっている。
図25において、(A1)〜(A5)は運転開始時に1演算周期だけONしている特殊補助リレーM8002と、パルス出力完了信号となる補助リレーM8943とによって駆動される各種の転送命令と転送確認用の補助リレーM8040を駆動する回路ブロックを示している。最初の転送命令DMOVは一対のデータレジスタ(D0301・D0300)に対して目標運転速度をパルス周波数Hzの単位で書込むものであり、ここでは定数K50000によって50KHzが指定されている。次の転送命令MOVはデータレジスタD0302に対して初速運転速度をパルス周波数Hzの単位で書込むものであり、ここでは定数K10000によって10KHzが指定されている。続く転送命令MOVはデータレジスタD0303に対しては、図26で示す周波数の増分値Δf=1024Hzとしたときの加減速時間Δt(μsec)を書込むものであり、ここでは定数K10000によって10msecが設定されている。
したがって、初速から目標運転速度に到達するまでの時間は10×(50−10)/1.024=390.6msecとなっている。次の転送命令DMOVは一対のデータレジスタ(D0305・D0304)に対して目標移動量を発生パルス数の単位で書込むものであり、移動方向に応じて正負の値が設定される。ここでは正の定数K200000によって20万パルス分の正転動作を行うようになっている。続く補助リレーM8040は転送確認を行うものとなっている。
(B)は入力リレーX000が動作すると強制停止指令となる補助リレーM8940が駆動される回路ブロックを示している。(C)は入力リレーX001が動作すると、正転限界停止指令となる補助リレーM8941が駆動される回路ブロックとなっている。(D)は入力リレーX002が動作すると、逆転限界停止指令となる補助リレーM8942が駆動される回路ブロックとなっている。(E)は(A5)の回路ブロックで駆動された補助リレーM8040によって、パルス出力完了で動作していた補助リレーM8943をリセットする回路ブロックとなっている。(A1)〜(A4)による設定値や(B)〜(E)による指令は、(F)で第二のパルス出力命令DRVが実行された時点で、転送仲介メモリ114bを介して図13で示された第二のパルス出力回路1070・0の各部に転送される。
但し、第二のパルス出力回路1070・0に転送されるデータは、図26で示す運転速度パターンに対応して、マイクロプロセッサ111によって予め減速開始位置が算出されている。この事例であれば運転速度50KHzから減速完了するまでの時間は50×10msec=0.5秒であるから、この間の発生パルス数はΔN=50×103×0.5/2=12500パルスとなる。したがって、減速開始点までのパルス発生数は200、000−12、500=187、500パルスとなる。
図13における初段の可逆カウンタ2000・0の第一の設定レジスタ3001・0には、データレジスタD0303に格納された加減速時間10000μsecの半分の値である5000が格納される。その結果、交番出力回路97の出力信号の周期は目標とする10000μsec=10msecとなっている。次段の可逆カウンタ2000・1の第一の設定レジスタ3001・1にはデータレジスタ(D0301・D0300)に格納された目標運転速度50、000が書込まれ、第二の設定レジスタ3002・1と現在値レジスタ4001・1にはデータレジスタD0302に格納された初速10、000が書込まれ、変分値レジスタ4003・1には図26の増減周波数Δf=1、024が書込まれる。
その結果、運転速度パターンとしては初速10KHzから10msec当たり約1KHzの割合で目標運転速度50KHzまで上昇し、この時点でカウントアップ出力Qが作動して現在値レジスタ4001・1の増加が停止する。なお、増減周波数をΔf=1、024としているのは、現在値レジスタ4101・1に対するバイナリ加算が容易となる数値を選択しているためであり、Δf=1、000であっても差し支えはない。終段前の可逆カウンタ2000・2の第一の設定レジスタ3001・2には、例えば最大運転速度100KHzの5倍に相当する係数=500、000が格納されている。その結果、変分値レジスタ4003・2に目標運転速度50KHzに相当した50、000が格納されている場合には、カウントアップ出力Qが作動するまでには10カウントを行う必要がある。
可逆カウンタ2000・2の計数入力信号の周期はτ=1μであるから、交番出力回路47の出力パルスの周期は20μsecとなり、これが目標とする運転速度の周波数50KHzと合致するようになっている。終段の可逆カウンタ2000・3の第一の設定レジスタ3001・3には、データレジスタ(D0305・D0304)に格納された目標移動量に相当するパルス発生数N=200、000が書込まれ、第二の設定レジスタ3002・3には減速開始点までの発生パルス数187、500パルスが書込まれ、回転方向は指令信号6070・0によって指令ラッチメモリ6000・0へ送信される。
その結果、出力パルスの発生数を計数している可逆カウンタ2000・3の計数現在値が減速開始点までの発生パルス数に達すると上昇比較一致出力Pが作動して、論理和素子95Aとゲート素子95bを介して可逆カウンタ2000・1に対して減算開始指令を供給する。可逆カウンタ2000・1は10msec当たり約1KHz分の減算を開始し、やがて第二の設定レジスタ3002・1に格納されている初速に達すると下降比較一致出力が作動(論理レベル「H」)し、ゲート素子95bを介して減算動作を停止し、速度パターンとしては初速値を維持するようになる。
可逆カウンタ2000・3の計数現在値が目標移動量に達するとカウントアップ出力Qが作動し、完了報告信号が送信されると共に各可逆カウンタの動作が停止するようになっている。なお、図25における(A1)〜(A4)において、定数Kによる直接設定によらないでデータレジスタ番号を指定する間接設定方式にすれば、運転中においてこれ等の設定値を変更することができるものである。ただし、各可逆カウンタの動作中においては論理回路部への転送は行われず、動作完了を待ってから次の設定が有効となるものである。また、補助リレーM8940・M8941・M8942による停止指令は、DRV命令が実行された時点でも有効となり、指令信号6070・0によって指令ラッチメモリ6000・0に送信されて、各可逆カウンタは動作停止する。補助リレーM8940・M8941・M8942が駆動解除されると、DRV命令が実行された時点で停止指令が解除され、指令信号6070・0によって指令ラッチメモリ6000・0に送信されて、各可逆カウンタは動作を開始するようになっている。
図25において、(G)は図示しないシーケンス回路によって駆動される補助リレーM0001によって、現在位置読出命令DCVRDを駆動する回路ブロックを示している。DCVRD命令の第一オペランドでは高速パルス出力番号Y10020が指定され、第二オペランドでは32ビットデータを扱う一対のデータレジスタ(D0321・D0320)の下位のデータレジスタ番号が指定されている。DCVRD命令が実行されると、図13の現在値レジスタ4001・3の値が転送仲介メモリ114bに読み出され、その値が移動方向に応じてデータレジスタ(D0321・D0320)に代数加算されるようになっている。データレジスタ(D0321・D0320)には後述の図27における(F)で示すとおり、原点位置の座標値が転送書込みされているので、この基準位置に基づいた絶対位置情報が得られることになる。
図25において、(H)は図示しないシーケンス回路によって駆動される補助リレーM0000によって、第三のパルス出力命令ABSを駆動した場合の回路ブロックを示している。このABS命令の第一オペランドで指定された高速出力Y10020は、図17の拡張番号bb=10が使用されているので出力端子Y020から正転パルス出力FPを発生し、隣接出力端子Y021から逆転パルスRPを発生し、後述の原点復帰命令ZRNが使用されたときには隣接出力端子Y022からクリア信号CLRを発生するものとなっている。ABS命令の第二オペランドで指定されたデータレジスタD0300は、各種設定データの先頭データレジスタ番号を示しており、その設定内容は、図25における(A1)〜(A4)によって説明したとおりである。但し、(A4)で設定される目標移動量の替わりにABS命令の場合には、目標移動位置が指定されるようになっており、図13の可逆カウンタ2000・3の第一の設定レジスタ3001・3に対しては、当該目標移動位置とデータレジスタ(D0321・D0320)で記憶されている現在位置との偏差に基づいて目標移動量が設定され、指令信号によって回転方向指令が送信されるようになっている。
ABS命令の第三オペランドで指定された補助リレーM8940は、各種指令信号・報告信号の先頭補助リレー番号となっており、M8940は強制停止指令、続くM8941は正転限界停止指令、続くM8942は逆転限界停止指令、続くM8943はパルス出力完了報告となっている。ABS命令の第一オペランドが図17の拡張番号00〜07である場合には、第一のパルス出力命令PLSに対する代替命令となり、この場合も目標移動量の替わりに目標移動位置が設定されるようになっている。
次に、原点復帰命令ZRNの使用例である図27と、原点復帰動作を示す特性線図である図28について説明する。図27において、(H)は(A5)における入力リレーX003が動作したときに駆動される補助リレーM8041を介して駆動される原点復帰命令ZRNの回路ブロックを示している。このZRN命令の第一オペランドで指定された高速出力Y10020は、図17の拡張番号bb=10が使用されているので出力端子Y020から正転パルス出力FPを発生し、隣接出力端子Y021から逆転パルスRPを発生し、隣接出力端子Y022からクリア信号CLRを発生するものとなっている。ZRN命令の第二オペランドで指定されたデータレジスタD0400は、各種設定データの先頭データレジスタ番号を示しており、その設定内容は図27における(A1)〜(A4)によって説明する。ZRN命令の第三オペランドで指定された補助リレーM8940は、各種指令信号・報告信号の先頭補助リレー番号となっており、M8940は強制停止指令、続くM8941は正転限界停止指令、続くM8942は逆転限界停止指令、続くM8943は原点出し完了報告、続くM8944は原点復帰方向指令信号となっている。
図27において、(A1)〜(A5)は入力リレーX003によって駆動される各種の転送命令と転送確認用の補助リレーM8041を駆動する回路ブロックを示している。最初の転送命令DMOVは一対のデータレジスタ(D0401・D0400)に対して目標運転速度をパルス周波数Hzの単位で書込むものであり、ここでは定数K20000によって20KHzが指定されている。次の転送命令MOVはデータレジスタD0402に対して微速運転速度(クリープ運転速度)をパルス周波数Hzの単位で書込むものであり、ここでは定数K1000によって1KHzが指定されている。
続く転送命令MOVはデータレジスタD0403に対しては、図28で示す周波数の増分値Δf=1024Hzとしたときの加減速時間Δt(μsec)を書込むものであり、ここでは定数K20000によって20msecが設定されている。したがって、目標運転速度20KHzに到達するまでの時間は20×20/1.024=390.6msecとなっている。次の転送命令MOVはデータレジスタD0404に対して後述の零点信号数を書込むものであり、ここではK3によって3パルスが設定されている。続く補助リレーM8041は転送確認を行うものとなっていて、原点出し完了の補助リレーM8943が作動しているときには補助リレーM8041は駆動されないようになっている。
図27において、(B)は入力リレーX000が動作すると強制停止指令となる補助リレーM8940が駆動される回路ブロックを示している。(C)は入力リレーX001が動作すると、正転限界停止指令となる補助リレーM8941が駆動される回路ブロックとなっている。(D)は入力リレーX002が動作すると、逆転限界停止指令となる補助リレーM8942が駆動される回路ブロックとなっている。(E)は入力リレーX005が動作すると、原点復帰方向指令となる補助リレーM8944が駆動されて前進動作を行う回路ブロックとなっている。(F)は補助リレーM8943が動作したときに一対のデータレジスタ(D0321・D0320)に対して、原点位置の座標値K2000が転送される回路ブロックとなっている。(G)は入力リレーX003が不作動となったときに、原点出し完了で動作していた補助リレーM8943をリセットする回路ブロックとなっている。
図27における(A1)〜(A4)による設定値や(B)〜(E)による指令は(H)で原点復帰命令ZRNが実行された時点で、転送仲介メモリ114bを介して図14で示された変形型パルス出力回路1080・0の各部に転送される。但し、原点復帰命令ZRNが駆動されたときにはまず、図19の工程916によるパラメータの変更設定が行われてから、各部との交信が行われるようになっている。
図14における初段の可逆カウンタ2000・0の第一の設定レジスタ3001・0には、データレジスタD0403に格納された加減速時間20000μsecの半分の値である10000が格納される。その結果、交番出力回路97の出力信号の周期は目標とする20000μsec=20msecとなっている。次段の可逆カウンタ2000・1の第一の設定レジスタ3001・1にはデータレジスタ(D0401・D0400)に格納された目標運転速度20、000が書込まれ、第二の設定レジスタ3002・1にはデータレジスタD0402に格納された微速K1000が書込まれ、変分値レジスタ4003・1には図28の増減周波数Δf=1、024が書込まれる。
その結果、運転速度パターンとしては初速0KHzから20msec当たり約1KHzの割合で目標運転速度20KHzまで上昇し、この時点でカウントアップ出力Qが作動して現在値レジスタ4001・1の増加が停止する。終段前の可逆カウンタ2000・2の第一の設定レジスタ3001・2には、例えば最大運転速度100KHzの5倍に相当する係数=500、000が格納されている。その結果、変分値レジスタ4003・2に目標運転速度20KHzに相当した20、000が格納されている場合には、カウントアップ出力Qが作動するまでには25カウントを行う必要がある。
可逆カウンタ2000・2の計数入力信号の周期はτ=1μであるから、交番出力回路47の出力パルスの周期は50μsecとなり、これが目標とする運転速度の周波数20KHzと合致するようになっている。ZRN命令の駆動によって図28に示すとおり現在位置から後退動作を行い、速度上昇後に目標速度(図示運転速度)に達し、やがて近点ドグ信号DOGがONして入力リレーX020が動作する。その結果、論理和素子95Aとゲート素子95bを介して可逆カウンタ2000・1に対して減算開始指令を供給する。可逆カウンタ2000・1は20msec当たり約1KHz分の減算を開始し、やがて第二の設定レジスタ3002・1に格納されている微速に達すると下降比較一致出力が作動(論理レベル「H」)して減算動作を停止し、速度パターンとしては微速(クリープ運転速度)を維持するようになる。
減速完了の直前には近点ドグ信号DOGがOFFして入力リレーX020が不作動となり、この時点からサーボモータのZ相信号に応動する入力リレーX021の動作が論理積素子95eを介して最終段の可逆カウンタ2000・3の計数入力端子INに入力される。可逆カウンタ2000・3の第一の設定レジスタ3001・3には、図27における(A4)によって設定されたデータレジスタD0404の値が予め転送されていて、この事例であればZ相信号を3カウントした時点でカウントアップ出力Qを発生し、各可逆カウンタの動作を停止すると共に、Y022にクリア信号出力CLRを発生してサーボアンプの初期化を行い、原点出し完了報告を行って補助リレーM8943が作動する。その結果、図27における(F)によって原点位置の座標データがデータレジスタ(D0321・D0320)に書込まれる。原点復帰の完了に伴って、入力リレーX003が解除されると、(G)によって原点出し完了を示す補助リレーM8943がリセットされ、(H)の補助リレーM8041が不作動になって原点復帰命令ZRNも駆動停止される。
なお、図27における(A1)〜(A4)において、定数Kによる直接設定によらないでデータレジスタ番号を指定する間接設定方式にすれば、運転中においてこれ等の設定値を変更することができるものである。ただし、各可逆カウンタの動作中においては論理回路部への転送は行われず、動作完了を待ってから次の設定が有効となるものである。また、補助リレーM8940・M8941・M8942による指令は、ZRN命令が実行された時点で有効となり、指令信号6080・0によって指令ラッチメモリ6200・0に送信されて、各可逆カウンタは動作停止する。補助リレーM8940・M8941・M8942が駆動解除されると、ZRN命令が実行された時点で停止指令が解除され、指令信号6080・0によって指令ラッチメモリ6000・0に送信されて、各可逆カウンタは動作を開始するようになっている。
次に、PWM出力命令の使用例である図29について、図11を参照しながら説明する。図29において、(A)は図示しないシーケンス回路によって駆動される補助リレーM0400によって駆動されるPWM出力命令PWMの回路ブロックを示している。このPWM命令の第一オペランドで指定されたデータレジスタD0500はパルス幅変調信号のパルス周期がμsec単位で設定され、第二オペランドで指定されたデータレジスタD0501にはパルス幅変調信号のON時間がμsec単位で設定され、第三オペランドにはパルス幅変調信号(PWM)出力を発生する特殊ユニットの出力番号が指定される。この事例であれば特殊ユニット140の出力端子Y025からパルス幅変調信号が出力されることになる。PWM命令が実行されると、図11の可逆カウンタ2000n(この事例ではn=5)の第一の設定レジスタ3001nには、データレジスタD0500で設定されたパルス幅変調信号の周期(μsec)が設定され、第二の設定レジスタ3002nには当該設定周期からデータレジスタD0501で設定されたON時間を差し引いて得られるOFF時間が設定されるようになっている。
その結果、共通クロック回路9001が発生する周期τ=1μsecのクロック信号を計数する可逆カウンタ2000nは設定されたOFF時間に達した時点で上昇比較一致出力Pを発生し、設定周期に達した時点でカウントアップ出力Qが発生して、この時点で可逆カウンタ2000nはリセットされ、上昇比較一致出力Pもリセットされるよう構成されている。したがって、図29における(C)で示すとおり、周期(D0500)でON時間幅(D0501)によるパルス幅変調信号がY025に出力されることになる。なお、図11のチャンネル端子12nと上昇比較一致出力Pとの間に反転論理素子を介在させるとONとOFFとが反転するので、第二の設定レジスタ3002nにはON時間を設定しておけばよいことになる。
図29における(B)は他の実施例によるPWM出力命令のオペランドの構成を示したものである。この事例によるPWM命令の第一オペランドで指定されたデータレジスタD0500は設定されるデータレジスタの先頭番号を示し、第二オペランドで指定された定数Kによって命令形式が定義され、第三オペランドにはパルス幅変調信号(PWM)出力を発生する特殊ユニットの出力番号が指定されるようになっている。
定数Kの値によってK0であればD0500に周期、D0501にON時間を設定し、K1であればD0500に周期、D0501にOFF時間、K2であればD0500に周期、D0501にデューティ(ON時間/周期)×1000を設定するよになっている。どの形式のものであっても図11の可逆カウンタ2000nに対しては周期とOFF時間に換算したデータが送信される。なお、マイクロプロセッサ111からの設定データ3050nはPWM命令の実行時点で一旦は待機バッファメモリ4004nに転送され、その後カウントアップ出力Qが作動して現在値レジスタ4001nと上昇比較一致出力Pがリセットされるタイミングにおいて第一および第二の設定レジスタ3001n・3002nに転送されるようになっている。
(4)実施の形態1の要点と特徴
以上の説明で明らかなとおり、この発明の実施の形態1によるプログラマブルコントローラ100Aは、マイクロプロセッサ111、当該マイクロプロセッサ111と協働するシステムメモリ112A、ユーザによって作成されたシーケンスプログラムが外部ツール108から転送書込みされるプログラムメモリ113A、入出力情報および制御情報を記憶するための入出力イメージメモリX・Yと補助リレーMとデータレジスタDとを包含するデバイスメモリ114aとを有するCPUユニット110Aと、当該CPUユニットに対してバス接続される単独または複数の入出力ユニット120〜140とを備える。当該入出力ユニットの一部または全部が特殊入出力処理機能を分担して前記マイクロプロセッサ111の制御機能を補完するための集積回路素子10を包含した特殊ユニット130・140となっている。前記特殊ユニット130・140は、複数の外部センサまたは外部負荷の少なくとも一方または双方に接続される外部接続用端子130X・130Y、140X・140Yと、当該外部接続端子に接続される多チャンネルの入力インタフェース回路139X・149Xまたは出力インタフェース回路139Y・149Yと、制御仕様の一部分が可変設定できて入出力制御に共用される集積回路素子10と、前記マイクロプロセッサ111と接続するためのバス接続用端子130Z・140Zとを搭載した電子基板19xyとを備えている。また、前記集積回路素子10は、前記入力インタフェース回路139X・149XからON/OFF動作する論理信号が入力される第一のポート11と、前記出力インタフェース回路139Y・149Yに対してON/OFF動作する論理信号を出力する第二のポート12と、各チャンネル番号nに対応するパラメータメモリ8000nと、前記マイクロプロセッサ111から当該パラメータメモリに送信された回路編成データによって入出力処理のための動作仕様が決定される論理回路部1000nとを備えている。
前記論理回路部1000nは、さらに、前記入力インタフェース回路139Xを介して得られる論理入力信号を高速計数して、カウントアップ出力または計数データを前記マイクロプロセッサ111に報告信号または演算データとして送信する報告ビットメモリ7000nと、演算レジスタ4000nとを備えると共に、前記マイクロプロセッサ111から受信した設定データまたは指令信号を設定レジスタ3000nと指令ラッチメモリ6000nに格納し、当該設定レジスタと指令ラッチメモリの内容に基づく高速パルス出力を前記出力インタフェース回路149Xに供給する可逆カウンタ2000nとを包含している。前記可逆カウンタ2000nは、前記演算レジスタ4000nの一部となる現在値レジスタ4001nを備え、前記入力インタフェース回路139Xから供給された入力信号に対する高速カウンタ回路を構成して、カウントアップ出力を前記CPUユニット110Aに送信する高速入力処理を行うのか、または前記CPUユニット110Aから受信した設定データに基づく高速パルス出力回路を構成して、所定のパルス出力を前記出力インタフェース回路149Yに供給する高速出力処理を行うのかは、前記プログラムメモリ113Aに格納されている制御プログラムに包含されている特殊命令の内容に連動して、各チャンネル毎にいずれか一方に決定される。前記パラメータメモリ8000nに送信される回路編成データにより、複数種類の高速入力処理と複数種類の高速出力処理がなされ、前記外部センサからの入力信号がアナログ信号である場合に、前記入力インタフェース回路は、入力信号に比例した周波数のパルスを前記集積回路素子10に供給し、前記外部負荷がアナログ負荷である場合に、前記集積回路素子10は、出力信号に指令したON/OFF比率のパルス出力を発生して、前記出力インタフェース回路は、受信したパルス出力信号を平滑して外部負荷に供給する。
また、前記CPUユニット110Aは、前記特殊ユニット130・140とのデータ交信を行うための転送仲介メモリ114bを備えると共に、前記システムメモリ112Aは、編成処理手段908とデータ変換・転送手段921となる制御プログラムを包含している。前記編成処理手段908は、前記プログラマブルコントローラ100Aの運転開始直後において、前記プログラムメモリ113Aの内容を検索して特殊ユニット130・140に対応した特殊命令を抽出し、当該特殊命令の内容に対応して当該特殊ユニットで適用される論理回路部1000nの種別と動作モードに対応した回路編成データを前記パラメータメモリ8000nに送信すると共に、当該パラメータによって回路編成が特定された各論理回路部1000nと交信するための転送仲介メモリ114bのアドレス編成を行う。前記データ変換・転送手段921は、前記特殊命令で指定されたデバイスメモリ114aの内容に基づいて前記論理回路部1000nの動作に適した換算単位の設定データと指令信号に変換して前記転送仲介メモリ114bを介して設定レジスタ3000nおよび指令ラッチメモリ6000nに送信すると共に、前記論理回路部1000nから得られた演算データまたは報告信号を前記転送仲介メモリ114bを介して前記特殊命令によって指定されたデバイスメモリ114aに転送する。
前記特殊命令は、命令の種別を示す命令語と、順不同の第一のオペランド、および第二または第三のオペランドの少なくとも一方とによって構成され、当該第一のオペランドは対象となる特殊ユニットの入出力番号を特定する識別番号を指定し、第二のオペランドは前記演算レジスタから得られる演算データを格納するデータレジスタ番号、または前記設定レジスタに対して送信される設定データが格納されているデータレジスタ番号か直接設定定数を指定し、第三のオペランドは前記報告ビットメモリから得られる報告信号を格納する補助リレー番号、または前記指令ラッチメモリ対して送信される指令信号が格納されている補助リレー番号を指定する。このため、編成処理手段によってパラメータの初期編成が行われ、運転中にあっては転送仲介メモリを媒介してマイクロプロセッサと論理回路部間のデータの変換・転送が行われる。したがって、高速処理を必要としない複雑な演算処理(例えば単位換算のための倍率乗算や逆数演算)をマイクロプロセッサで行い、論理回路部では当該論理回路部が動作しやすい設定データと指令信号に基づいて高速動作を行うことによって論理回路部の構成が簡素化され、安価な専用集積回路素子を得ることができる。
また、前記論理回路部1000nに設けられた可逆カウンタ2000nの一部または全部は、現在値レジスタ4001nと、第一の設定レジスタ3001nと、第二の設定レジスタ3002nと、第一の比較回路5001nと、第二の比較回路5002nとを備えている。前記現在値レジスタ4001nは、前記可逆カウンタ2000nの計数入力の動作回数を計数方向に応じて加減して、当該可逆カウンタの動作開始時の初期値からの累積値を記憶しているメモリである。前記第一の比較回路5001nは、前記第一の設定レジスタ3001nに格納されている数値と前記現在値レジスタ4001nの記憶数値とが合致したときに、第一の比較一致出力を発生する数値比較回路である。前記第二の比較回路5002nは、前記第二の設定レジスタ3002nに格納されている数値と前記現在値レジスタ4001nの記憶数値とが合致したときに第二の比較一致出力を発生する数値比較回路である。前記現在値レジスタまたは第一および第二の設定レジスタには、前記特殊命令が実行されたときに前記マイクロプロセッサ111から前記転送仲介メモリ114bを介して数値設定が行われる。つまり、論理回路部を構成する可逆カウンタは、複数の設定レジスタと比較回路とを備えている。したがって、可逆カウンタが動作開始する前に複数の設定レジスタに対する設定処理を行うことによって、高速計数中に新たな設定値の送信を必要としなくなるので論理回路部に対するマイクロプロセッサの通信制御負担を軽減することができると共に、複数の設定レジスタと複数の比較回路によってより高度な制御動作を行うことができる。
また、前記特殊ユニット130・140に搭載された前記論理回路部1000nは、全チャンネルに対応する汎用入力回路1091または汎用出力回路1092を備えている。前記汎用入力回路1091は、前記第一のポート11に接続された入力信号が入力処理用のデータセレクタ134・144を介して前記デバイスメモリ114aに割り付けられた入力イメージメモリ領域に送信される入力信号中継回路である。前記データセレクタから前記入力イメージメモリへの転送は、前記システムメモリ112Aに格納されている制御プログラムである入力処理手段911によって実行される。前記汎用出力回路1092は、前記デバイスメモリ114aに割り付けられた出力イメージメモリ領域から前記論理回路部1000nに設けられた出力ラッチメモリ135・145を介して前記第二のポート12に接続された出力回路に出力する出力信号中継回路である。前記出力イメージメモリから前記出力ラッチメモリへの転送は、前記システムメモリ112Aに格納されている制御プログラムである出力処理手段923によって実行される。前記汎用入出力回路1091・1092は、前記論理回路部1000nが高速入出力回路またはアナログ入出力回路として使用されていないときに有効となる。つまり、特殊ユニットに内蔵される集積回路素子は、高速入出力処理回路に加えて汎用入出力回路を備えている。したがって、高速出力またはアナログ出力は必要とするが高速入力やアナログ入力を必要としない用途、または高速入力またはアナログ入力は必要とするが高速出力やアナログ出力は必要としない用途において、不要とされた入出力端子を無駄なく使用して、特殊ユニットを経済的に有効活用することができる。
また、前記特殊ユニット130・140は、前記外部接続端子130X・140X、130Y・140Yに接続される多チャンネルの入力インタフェース回路139X・149Xと、出力インタフェース回路139Y・149Yとの双方を備えている。前記入力インタフェース回路139X・149Xは、高速入力パルスに対応した小さな時定数の入力フィルタを包含するか、または高速入力パルスが入力されない大きな時定数の入力フィルタを有する開閉センサ用の入力インタフェース回路139X・149Xであるか、または電圧/周波数変換器を含むアナログセンサ用の入力インタフェース回路のいずれかに分類される。前記出力インタフェース回路139Y・149Yは、高速出力パルスに対応した高速開閉動作を行うトランジスタを出力素子として包含するか、または高速出力パルスが出力されない低速開閉動作を行うトランジスタを出力素子として包含する出力インタフェース回路149Y・139Yであるか、または前記論理回路部1000nが発生するパルス幅変調信号出力に対する平滑回路を包含するアナログ負荷用の出力インタフェース回路のいずれかに分類される。前記特殊ユニット130・140は、高速論理入力または低速論理入力またはアナログ入力のいずれか一つと、高速論理出力または低速論理出力またはアナログ出力のいずれか一つとの任意の組合せの内で、低速論理入力と低速論理出力との組合せ以外の組合せによる複数種類の特殊ユニット130・140が適用可能に構成されている。つまり、特殊ユニットは、入力および出力インタフェース回路の双方を備え、各入力および出力インタフェース回路は、多様な仕様のものが適用できるようになっている。したがって、各チャンネルに設けられた可逆カウンタを様々な特殊用途に適用して、余すことなく活用することによって経済効果を高めることができる。
また、前記論理回路部1000nは、前記プログラムメモリ113A内に格納された可変フィルタ命令REFに応動する可変フィルタ回路1010nを備えている。当該可変フィルタ回路1010nは、入力信号の論理レベルの高・低に応じて所定のクロック信号をアップ・ダウン計数する可逆カウンタ2000nと、入力確定回路となる報告ビットメモリ7000nとを包含している。前記第一の設定レジスタ3001nには、前記設定データ3010nとして受信したフィルタ定数が格納されていて、前記現在値レジスタ4001nの値が当該第一の設定レジスタ3001nの設定値に上昇するとカウントアップ出力Qを発生して加算カウントを停止すると共に、前記現在値レジスタ4001nの現在値がゼロにまで下降すると前記カウントアップ出力Qに代わって復帰出力を発生して減算カウントを停止する。前記入力確定回路は、前記カウントアップ出力Qによってセットされ、前記復帰出力によってリセットされ、当該入力確定回路の出力は報告信号7010nとして送信される。
前記可変フィルタ命令REFは、対象となる入力リレー番号Xと、必要とされる入力フィルタ定数が格納されるデータレジスタ番号Dまたは直接設定定数Kと、報告信号7010nを格納する補助リレー番号Mとをオペランドとして有する特殊命令である。当該特殊命令が実行されると前記入力フィルタ定数が前記入力リレー番号Xに対応した可逆カウンタ2000nの第一の設定レジスタ3001nに設定データ3010nとして送信されると共に、前記報告信号7010nによって前記補助リレーMが作動する。つまり、特殊ユニットの高速入力端子を一般の入力として利用して、その入力フィルタは可変設定することができるようになっている。したがって、入力フィルタを通常の入力回路に設けられたフィルタよりも大きなフィルタ定数に設定することによって、重畳ノイズが大きな入力信号を十分に平滑してCPUユニットに取り込んだり、入力フィルタを通常の入力回路に設けられたフィルタよりも小さなフィルタ定数に設定することによって、重畳ノイズが小さな入力信号を速やかにCPUユニットに取り込んだりして、入力信号回路の実態に対応した入力処理を行うことができる。また、可変フィルタ回路は、各入力チヤンネルに割り当てられた可逆カウンタを利用して構成されている。したがって、高速入出力処理を行わない入力チャンネルにおいては各チャンネルに割り当てられた可逆カウンタを有効活用して、手軽に広範囲は可変フィルタ回路を得ることができる。
また、前記集積回路素子10または当該集積回路素子を搭載した特殊ユニット130・140はカード情報格納メモリ9000を備えると共に、前記システムメモリ112Aは設定異常検出手段905となる制御プログラムを包含している。前記カード情報格納メモリ9000には、前記第一および第二のポート11および12に対して論理信号用のインタフェース回路が接続されているか、アナログ信号用のインタフェース回路が接続されているかを識別する第一および第二の識別端子情報14aおよび14bと、論理信号用のインタフェース回路である場合には低速論理信号用であるか高速論理信号用であるかを識別する第一および第二の信号端子情報16aおよび16bが格納されている。前記設定異常検出手段905は、前記第一および第二のポート11および12に接続されている入出力インタフェース回路の種別と、前記プログラムメモリ113Aに格納されている命令内容が不一致であることを検出して、運転停止および異常報知を行う手段となっている。つまり、運転開始に当たって、特殊ユニットの入出力インタフェース回路の種別に対応したカード情報とプログラムメモリ内の命令内容を照合して、不適当な命令が使用されているときには運転停止と異常報知を行うようになっている。したがって、誤った制御プログラムの有無を発見してデバッグ処理を行うことができると共に、危険な運転が行われないので安全性が向上する。
また、前記論理回路部1000nに設けられた可逆カウンタ2000nの一部または全部は、待機バッファレジスタ4004nを備えている。当該待機バッファレジスタ4004nは、前記転送仲介メモリ114bから送信された数値データが一時格納され、前記論理回路部1000nが発生するタイミング信号に基づいて当該待機バッファレジスタの内容が前記第一の設定レジスタ3001nまたは第二の設定レジスタ3002nに転送される。前記転送仲介メモリ114bから送信された数値データが前記待機バッファレジスタを介して時間差をおいて前記第一および第二の設定値レジスタに転送されるのか、待機バッファレジスタを介さずに第一および第二の設定レジスタに対して直接転送されるのかは、前記特殊命令の内容によって判別される。つまり、設定レジスタに対する設定データの転送タイミングを論理回路部によって制御するための待機バッファレジスタを備えている。したがって、論理回路部の動作に先立って複数の設定処理を行っておくことができると共に、論理回路部の動作中において論理回路部が発生するタイミングで設定データの更新を行うことができるので、論理回路部に対するマイクロプロセッサの通信制御負担を軽減して複雑な制御動作を行うことができる。
また、前記システムメモリ112Aは、プログラマブルコントローラ100Aの運転中において実行される転送禁止手段920となる制御プログラムを包含している。当該転送禁止手段920は、前記特殊ユニット130・140に適用された特殊命令が、動作完了信号を発生する命令であって、当該特殊命令が実行開始されてから動作完了信号が得られるまでは少なくとも前記第一の設定レジスタ3001nと第二の設定レジスタ3002n対する設定データの送信を禁止する。当該動作完了信号は、前記第一のポート11に入力されたパルス信号、または第二のポート12が発生したパルス信号が、予め設定された目標パルスに到達したとき、または指令信号によってパルス発生・計数を完了したときに、前記報告ビットメモリ7000nの内容を読み出して得られる。つまり、特殊ユニットが高速入出力制御を行っている間は制御定数の変更が行われないようにして、動作完了信号に基づいて新たな設定値などの制御定数を送信するための動作完了確認手段を備えている。したがって、特殊ユニットの動作中に次回の動作のための制御定数を受信して誤った制御動作を行わないようにマイクロプロセッサ側で管理するようになっているので、特殊ユニット側のメモリ容量と制御負担を軽減することができる。
また、前記論理回路部1000nに設けられた可逆カウンタ2000nの一部または全部は、変分値調整用レジスタ4003nを備えている。当該変分値調整用レジスタ4003nは、前記可逆カウンタ2000nに対してアップまたはダウンの計数入力が与えられたときに作用して、前記現在値レジスタ4001nに対して変分値調整用レジスタ4003nに格納されている数値が加算または減算される。つまり、1回の計数動作による可逆カウンタによる増減値は変分値調整用レジスタの内容によって変更することができるようになっている。したがって、加算上限値に達するまでのカウントアップ時間は変分値調整用レジスタの内容に反比例することとなり、可逆カウンタを用いて逆数演算を行って、例えば目標周波数に対応した周期のパルス出力を生成することができる。また、現在値の増減勾配を可変設定できる。
また、前記論理回路部1000nは、前記プログラムメモリ113A内に格納された高速カウンタ命令HSCに応動する高速カウンタ回路1030n・1040mを備えている。前記高速カウンタ回路1030n・1040mは、カウント方向が指令信号6030nによって決定される1相1入力の可逆カウンタであるか、またはアップ・ダウン入力が個別に供給される1相2入力の可逆カウンタであるか、または2相入力の位相差によってアップ・ダウン方向を決定する2相2入力の可逆カウンタである。前記高速カウンタ回路1030n・1040mは、さらに、当該高速カウンタ回路の動作モードを決定するものとして、前記高速カウンタ命令HSCが実行された時点で計数開始するもの、または計数開始指令入力が付加されたもの、または前記現在値レジスタに初期値データを転送するためのプリセット指令入力が付加されたものとがある。前記2相2入力形式の高速カウンタ回路では、各相のパルス信号の立上りと立下りのどの時点で計数を行うのかによって1逓倍計数方式、または2逓倍計数方式、または4逓倍計数方式の計数モードのものがあって、前記各高速カウンタ回路には固有の識別番号が付与されている。
前記識別番号は、当該高速カウンタ回路を包含した特殊ユニットの接続位置を示す配置番号と、当該特殊ユニットの入力端子番号を示すチャンネル番号n・mが識別されると共に、前記各動作モードに対応した拡張番号bbの値を組み合わせた複数桁の番号である。前記高速カウンタ命令HSCは、対象となる高速カウンタの識別番号と、カウントアップ出力を発生するための計数目標値が格納されるデータレジスタ番号Dまたは直接設定定数Kと、1相1入力カウンタの場合の計数方向を指定する補助リレー番号Mとカウントアップ出力が格納されるカウンタ番号Cとを指定するオペランドを有する特殊命令である。当該特殊命令が実行されると設定データと計数方向指令信号が前記識別番号に対応した前記第一の設定レジスタ3001n・3001mと指令ラッチメモリ6000n・6000mに送信され、カウントアップ出力Qが報告ビットメモリ7000n・7000mから指定されたカウンタ番号のデバイスメモリ114aに計数完了報告信号7030n・7040mとして送信される。つまり、多様な高速カウンタ回路には入力チャンネルの重複使用を回避するための識別番号が付与されていると共に、スタート指令・プリセット指令は高速処理を必要としない場合には特殊ユニットの入力端子を使用しないでマイクロプロセッサから指令するようになっている。したがって、各入力チャンネルに割り当てられた1個の可逆カウンタを用いて、各チャンネル毎に目的とする多様な高速カウンタのどれかを生成することができる。また、高速処理を必要としないスタート指令・プリセット指令は特殊ユニットの入力端子を使用しないので、特殊機能を持つ入力端子を無駄に使用しない。
また、前記高速カウンタ回路1030n・1040mは、前記プログラムメモリ113A内に格納された高速比較命令HCMPに応動する高速出力機能を備えている。前記高速比較命令HCMPは、対象となる高速カウンタ回路の識別番号と、比較目標値が格納されるデータレジスタ番号Dまたは直接設定定数Kと、比較一致出力を格納する補助リレー番号Mとをオペランドとして有する特殊命令である。当該特殊命令は、前記第一のポート11が高速入力ポートとして使用されると共に、第二のポート12が論理出力ポートとして併用されている場合に有効となる。当該特殊命令が実行されると前記比較目標値が設定データ3030n・3040mとして前記識別番号に対応した可逆カウンタ2000n・2000mの第二の設定レジスタ3002n・3002mに送信され、前記第二の比較回路5002n・5002mによるアップ計数時の比較一致記憶信号である上昇比較一致出力Pは前記高速カンタ回路1030n・1040mの計数入力のチャンネル番号n・mに対応したチャンネル番号n・mの出力端子に出力されると共に、当該上昇比較一致出力Pは報告信号7030n・7040mとして指定された補助リレーMを駆動し、当該補助リレーMがリセット駆動されたことによって、前記上昇比較一致出力Pがリセットされる。つまり、高速カウンタの現在値が比較目標値に一致したときに、報告信号によってマイクロプロセッサへ報告すると共に、第一のポートの入力チャンネルに対応した第二のポートの対応出力チャンネルから比較一致出力が得られるようになっている。したがって、比較一致信号をデータバスを介してマイクロプロセッサに取り込んで、マイクロプロセッサ側で利用することができると共に、速やかに外部負荷に対応した制御信号を送出することができる。
また、前記論理回路部1000nは、各偶数チャンネル番号mに割り付けられた第一のパルス出力回路1060mを備えている。当該パルス出力回路は、前記プログラムメモリ113A内に格納された第一のパルス出力命令PLSに応動する。前記第一のパルス出力回路1060mは、動作モードとして正転パルス出力FPまたは逆転パルス出力RPのどちらか一方を発生する一対のパルス出力であるか、または可逆パルス出力FRPに回転方向指令出力DIRが付加されたパルス出力形式のものがある。当該各形式のパルス出力回路は、隣接したチャンネルの2個の可逆カウンタ2000m・2000m+1を占有する固有の識別番号を備え、当該可逆カウンタの一方は低速パルス周期と高速パルス周期に比例した定数が書込まれる第一および第二の設定レジスタ3001m・3002mを備えると共に、他方の可逆カウンタは、高速運転のパルス発生数と低速運転のパルス発生数に関連した定数が書込まれる第一および第二の設定レジスタ3001m+1・3002m+1を備えている。
前記識別番号は、当該パルス出力回路1060mを包含した特殊ユニットの接続位置を示す配置番号**と、当該特殊ユニットの出力端子番号を示すチャンネル番号nが識別されると共に、前記各動作モードに対応した拡張番号bbの値を組み合わせた複数桁の番号である。前記第一のパルス出力命令PLSは、対象となるパルス出力回路1060mの識別番号と、回転方向に対応した正負の目標発生パルス数と低速運転パルス数と高速運転パルス周期と低速運転パルス周期とが格納されるデータレジスタ番号を特定するためのオペランドと、強制停止指令と正転限界停止指令または逆転限界停止指令とパルス発生完了信号が格納される補助リレー番号を特定するためのオペランドとを有する特殊命令である。当該特殊命令が実行されると前記目標発生パルス数と低速運転パルス数と高速パルス周期と低速パルス周期が設定データとして、また回転方向指令と強制停止指令と正転限界停止指令または逆転限界停止指令とが指令信号として、前記識別番号に対応した可逆カウンタの第一および第二の設定レジスタ3001m・3002m、3001m+1・3002m+1と指令ラッチメモリ6000mに送信され、パルス発生完了信号が報告ビットッメモリ7000m+1から指定された補助リレーMに対して報告信号7060mとして報告送信される。つまり、特殊ユニットに内蔵された論理回路部はプログラムメモリ内に格納された第一のパルス出力命令に応動する第一のパルス出力回路を備え、当該パルス出力回路は、識別番号で区分された2点の出力を占有して、高低2段速度のパルス出力を発生する。したがって、各出力チャンネルに割り当てられた2個の可逆カウンタを用いて、各パルス出力回路毎に目的とする多様なパルス出力を発生することができ、運転速度を直線的に増減する加減速度抑制機能は持たないが、ステッピングモータの自己起動周波数以内で始動停止を行い、自己起動周波数以上の周波数で高速運転を行う簡易な位置決め制御に対して手軽に利用できる。
また、前記論理回路部1000nは、前記プログラムメモリ113A内に格納された第二のパルス出力命令DRVに応動する第二のパルス出力回路1070・0(1070・4)を備えている。前記第二のパルス出力回路1070・0(1070・4)は、動作モードとして正転パルス出力FPまたは逆転パルス出力RPのどちらか一方を発生する一対のパルス出力するか、または可逆パルス出力FRPに回転方向指令出力DIRが付加されたパルスを出力する形式のものがある。当該各形式のパルス出力回路は、少なくとも発生パルス数の設定レジスタとパルス周波数の設定レジスタと加減速度の設定レジスタを備えると共に、当該各パルス出力回路には、入力2点と出力3点に対応した4点の可逆カウンタを占有する固有の識別番号が付与されている。前記第二のパルス出力回路はさらに、加算計数入力が与えられたときに、変分値調整用レジスタ4003・2(4006・6)に格納されている数値を現在値レジスタ4001・2(4001・6)に加算することができる加算機能を有する可逆カウンタ2000・2(2000・6)を備え、当該可逆カウンタの第一の設定レジスタ3001・2(3001・6)に対して所定の係数値Kを格納し、前記変分値調整用レジスタ4003・2(4006・6)に対して目標とするパルス周波数を格納しておくことによって、パルス周波数に反比例した周期のカウントアップ出力Qを得て、当該カウントアップ出力Qの発生に伴って現在値レジスタ4001・2(4001・6)をリセットすることによって目標とするパルス周期に対応したカウントアップ出力Qを得る。前記識別番号は、当該パルス出力回路1070・0(1070・4)を包含した特殊ユニットの接続位置を示す配置番号**と、当該特殊ユニットの出力端子番号を示すチャンネル番号nが識別されると共に、前記各動作モードに対応した拡張番号bbの値を組み合わせた複数桁の番号である。
前記第二のパルス出力命令DRVは、対象となるパルス出力回路1070・0(1070・4)の識別番号と、回転方向に対応した正負の目標発生パルス数が格納されるデータレジスタ番号Dと、パルス周期またはパルス周波数と、加減速度設定用データが格納されるデータレジスタ番号Dを特定するためのオペランドと、強制停止指令と正転限界停止指令または逆転限界停止指令とパルス発生完了信号が格納される補助リレー番号Mを特定するためのオペランドとを有する特殊命令である。当該特殊命令が実行されると前記目標発生パルス数と加減速度データと目標パルス周波数と減速開始位置データとが設定データ3070・0(3070・4)として、また回転方向指令と強制停止指令と正転限界停止指令または逆転限界停止指令とが指令信号6070・0(6070・4)として、前記識別番号に対応した各可逆カウンタの第一および第二の設定レジスタ3001n・3002nと、指令ラッチメモリ6000nに対して送信され、パルス発生完了信号が報告信号7070・0(7070・4)として報告ビットメモリ7000nから指定された補助リレーMに対して送信される。つまり、特殊ユニットに内蔵された論理回路部は、プログラムメモリ内に格納された第二のパルス出力命令に応動する第二のパルス出力回路を備え、当該パルス出力回路は識別番号で区分された4点の可逆カウンタを占有するようになっている。したがって、各入出力チャンネルに割り当てられた4個の可逆カウンタを用いて、各パルス出力回路毎に目的とする多様なパルス出力を発生することができる。また、マイクロプロセッサから一定の加減速度指令を受けるだけで、論理回路部によって目標速度を徐々に上昇させたり、徐々に下降させるための加減速度制御機能が付加されているので、マイクロプロセッサによる時々刻々の設定データの更新を行う必要がなく、マイクロプロセッサの制御負担を軽減してスムースな加減速制御を行うことができる。
また、前記論理回路部1000nは、前記第二のパルス出力回路1070・0(1070・4)を部分的に変更して得られる変形型パルス出力回路1080・0(1080・4)を備えている。当該変形型パルス出力回路には、前記プログラムメモリ113A内に格納され原点復帰命令ZRNに応動するための位置決用入出力信号が付加されていると共に、前記システムメモリ112Aは、前記変形型パルス出力回路1080・0(1080・4)を得るためのパラメータ変更手段918となる制御プログラムを包含している。前記位置決用入力信号は、原点近傍で作動する近点ドッグ信号DOGと、前記パルス出力によって駆動されるサーボモータに設けられ、当該サーボモータの1回点当たりに1パルスの出力を発生するZ相信号が入力されるゼロ点信号ZEROを備えている。前記位置決用出力信号は、原点出しが完了したときに前記サーボモータを駆動するサーボアンプの位置決め偏差残留パルスをリセットするためのクリア信号CLRを備えている。前記原点復帰命令ZRNは、対象となる変形型パルス出力回路1080・0(1080・4)の識別番号と、少なくとも原点復帰用の高速パルス周波数またはパルス周期と、原点近傍におけるクリープ運転用の低速パルス周波数またはパルス周期と、加減速度設定用データとゼロ点信号数が格納されるデータレジスタ番号Dを特定するためのオペランドと、原点復帰方向指令と強制停止指令と正転限界停止指令または逆転限界停止指令と原点出完了信号が格納される補助リレー番号Mを特定するためのオペランドとを有する特殊命令である。
当該特殊命令が実行されると前記高速運転用のパルス周波数と低速クリープ運転用のパルス周波数と加減速度設定データとゼロ点信号数とが設定データ3080・0(3080・4)として、また原点復帰方向指令と強制停止指令と正転限界停止指令または逆転限界停止指令とが指令信号6080・0(6080・4)として、前記識別番号に対応した可逆カウンタの第一および第二の設定レジスタ3001n・3002nと指令ラッチメモリ6000nに対して送信され、原点出完了信号が報告信号7080・0(7080・4)として報告ビットメモリ7000nから指定された補助リレーMに送信される。前記パラメータ変更手段918は、前記第二のパルス出力命令DRVに対応して発生パルス数を計数していた最終段の可逆カウンタの入出力回路を変更して、原点復帰命令に対応してゼロ点信号数の計数を行う最終段の可逆カウンタとして利用するためのものであって、当該接続変更は、原点復帰命令ZRNの実行開始から実行完了までの限定期間において有効となり、常時は前記第二のパルス出力命令DRVに対応した接続回路に復元設定されている。つまり、第二のパルス出力回路には、2点の位置決用入力信号と1点の位置決用出力信号が付加されていて、パラメータの変更によって占有可逆カウンタ点数を増加させないで原点復帰命令が使用できるようになっている。したがって、第二のパルス出力命令において占有された5点の入出力と4点の可逆カウンタを用いて、手軽に原点復帰動作が行える。特に、第二のパルス出力命令と原点復帰命令とは最終段の可逆カウンタを除いて同一の論理回路によって構成され、制御指令内容が異なるだけの扱いとなっているので、論理回路部に対するパラメータ設定の変更を容易に行うことができる。
また、前記第一および第二のパルス出力回路1060m・1070・0(1070・4)には、前記プログラムメモリ113A内に格納された現在位置読出命令DCVRDによる監視手段が付加されている。前記現在位置読出命令DCVRDは、対象となるパルス出力回路1060m・1070・0(1070・4)の識別番号と、正転限界位置または逆転限界位置または原点位置に対する現在位置情報が格納されるデータレジスタ番号Dを指定するためのオペランドを有する。当該特殊命令が実行されると、前記識別番号に対応したパルス出力回路1060m・1070・0(1070・4)のパルス出力情報が格納される現在値レジスタ4001m+1、4001・3(4001・7)の移動完了後の内容が演算データ4060m・4070・0(4070・7)として送信されて、当該演算データが移動方向に応じて前記データレジスタDに対して順次代数加算されるものであり、前記データレジスタDには、原点位置または正逆転限界位置を含む基準位置において、予めシーケンスプログラムによって所定の初期位置データが書込みされる。つまり、原点位置または正逆転限界位置においてシーケンスプログラムによって所定の初期位置データを書込んだデータレジスタに対して、パルス出力命令に伴う移動量を現在位置読出命令によって読み出して代数加算するようになっている。したがって、パルス出力回路としては毎回の移動量のみを報告しておけば、多様な移動量による前進・後退動作の結果として、現在位置がどこにあるのかをマイクロプロセッサ側で知ることができるので、パルス出力回路を安価に構成することができる。なお、原点位置または正逆転限界位置においてシーケンスプログラムによって所定の初期位置データを書込んだ第二のデータレジスタに対して、パルス出力命令で指定された目標移動量の累積加算を行っておけば、当該累積加算によって得られる目標現在位置と、現在位置読出命令にる推定現在位置とが一致しているかどうかを比較判定することによって、正常な位置決め制御が行われているかどうかをユーザのシーケンスプログラムによって判定することができる。
また、前記第一および第二のパルス出力回路1060m・1070・0(1070・4)には、前記プログラムメモリ113A内に格納された第一および第二のパルス出力命令PLS・DRVに代わって使用される第三のパルス出力命令ABSが適用される。前記第三のパルス出力命令ABSは、前記第一および第二のパルス出力命令PLS・DRVにおいて指定される目標移動量に代わって目標移動位置が指定される。前記データ変換・転送手段921は、前記現在位置読出命令DCVRDによって検出記憶されている現在位置と前記目標移動位置との偏差によって今回の目標移動量を算出して、当該目標移動量を前記転送仲介メモリ114bを介して前記第一および第二の設定レジスタ3001n・3002nに送信する。つまり、システムメモリに付加されたデータ変換・転送手段と第三のパルス出力命令によって絶対位置指定による位置決制御が行えるようになっている。したがって、パルス出力回路に対しては常に相対移動量が指定されるので、第一および第二のパルス出力回路をそのまま用いて、ユーザの意向に基づく第三のパルス出力命令による運転が行える。
また、前記論理回路部1000nは、前記プログラムメモリ113A内に格納されたパルス幅測定命令PWDに応動するパルス幅測定回路1022nを備えている。前記パルス幅測定回路1022nは、高速論理信号用の入力インタフェース回路139Xに接続されたチャンネル端子11nの入力論理変化に応動して、所定周期のクロック信号を計数する可逆カウンタ2000nによって構成され、前記入力論理の変化から次の変化までの計数現在値をピークホールドレジスタ4002nに格納して演算データ4022nとして送信すると共に、測定完了信号を報告信号7022nとして送信し、当該報告信号7022nを受信したマイクロプロセッサ111が指令信号6022nによって測定完了信号をリセットすることによってパルス幅の測定が再開される。前記パルス幅測定命令PWDは、高速論理信号用の入力インタフェース回路139Xが接続されている特殊ユニット130に対して適用され、対象となる入力番号Xと、測定結果が格納されるデータレジスタ番号Dと測定完了信号が格納される補助レジスタ番号Mとをオペランドとして有する。当該特殊命令が実行されると前記ピークホールドレジスタ4002nの内容が演算データ4022nとして前記データレジスタDに転送格納されると共に、測定完了信号によって前記補助リレーMが駆動され、当該補助リレーMの動作をリセットすると測定再開指令が指令信号6022nによって指令ラッチメモリ6000nへ送信される。つまり、パルス幅測定回路は入力論理信号のON幅またはOFF幅をクロック信号によって計測して報告するようになっている。したがって、マイクロプロセッサによって測定時間幅の逆数演算を行うことによって、低速回転パルス信号によって高精度に回転速度を検出することができる。また、単に低速回転速度の大小判定を行う場合であれば逆数演算は不要であって、測定時間の大小によって回転速度の小大の判定が行える。
また、前記論理回路部1000nは、前記プログラムメモリ113A内に格納されたエッジ検出命令EDGEに応動するエッジ検出回路1031nを備えている。前記エッジ検出回路1031nは、高速論理信号用の入力インタフェース回路139Xに接続されたチャンネル端子11nの入力論理変化に応動して、立上りまたは立下がりの少なくとも一方を検出記憶して報告信号7031nとして送信する1カウントの可逆カウンタ2000nによって構成され、当該報告信号7031nを受信したマイクロプロセッサ111が指令信号6031nによって検出記憶信号をリセットすることによって次のエッジ検出が再開される。前記エッジ検出命令EDGEは、高速論理信号用の入力インタフェース回路139Xが接続されている特殊ユニット130に対して適用され、対象となる入力番号Xと、検出結果が格納される補助リレー番号Mとをオペランドとして有する。当該特殊命令が実行されると前記可逆カウンタ2000nの第一の設定レジスタ3001nには1を超過する値が格納されると共に、第二の設定レジスタ3002nには設定値1が格納され、前記第二の比較回路5002nがアップ計数中に比較一致したことを記憶する上昇比較一致出力Pによって立上りが検出され、当該上昇比較一致出力Pの発生に伴って計数方向と計数入力論理とが反転し、前記第二の比較回路5002nがダウン計数中に比較一致したことを記憶する下降比較一致出力によって立下りが検出され、前記上昇比較一致出力Pと下降比較一致出力とが報告信号7031nとして前記補助リレーMに送信されて、当該補助リレーMの動作をリセットすると検出再開指令が指令信号6031nによって指令ラッチメモリ6000nへ送信される。つまり、可逆カウンタの上昇比較一致出力と下降比較一致出力によって入力信号の立上りまたは立下りが検出されるようになっている。したがって、可逆カウンタを有効活用して入力信号の論理変化を速やかに検出したり、シーケンス演算周期以下の短い入力信号パルスの到来を検出記憶することができる。
また、前記論理回路部1000nは、前記プログラムメモリ113A内に格納されたパルス密度測定命令FREQに応動するパルス密度測定回路1020nを備えている。前記パルス密度測定回路1020nは、所定時間毎に計数現在値がリセットされる高速カウンタであって、リセット直前の計数最大値を記憶することによって入力パルス信号の周波数に比例したデジタル値を得て、当該測定周波数をピークホールドレジスタ4002nに格納する。前記パルス密度測定命令FREQは、高速論理信号用の入力インタフェース回路139Xが接続されている特殊ユニット130に対して適用され、対象となる入力番号Xと、測定結果が格納されるデータレジスタ番号Dとをオペランドとして有する。当該特殊命令が実行されると前記ピークホールドレジスタ4002nの内容が演算データ4020nとして前記データレジスタDに転送格納される。つまり、特殊ユニットに内蔵された論理回路部は、プログラムメモリ内に格納されたパルス密度測定命令に応動するパルス密度測定回路を備えている。したがって、各入力チャンネルに割り当てられた1個の可逆カウンタを用いて構成されたパルス密度測定回路は、論理信号用の入力インタフェース回路に適用されたときには、例えばモータの回転パルス信号のパルス密度を測定して当該モータの回転速度を測定する用途に使用することができる。
さらに、前記論理回路部1000nは、前記プログラムメモリ113A内に格納されたPWM出力命令PWMに応動するPWM出力回路1050nを備えている。前記PWM出力回路1050nは、前記第一および第二の設定レジスタ3001n・3002nの内容に基づいて所定の周期で可変デューティ(ON時間とON/OFF周期との比率)のパルス幅変調信号を発生する。前記PWM出力命令PWMは、論理信号用の出力インタフェース回路149Yが接続されている特殊ユニット140に対して適用され、対象となる出力番号と、出力パルスの周期とON幅とを確定するためのデータが格納されるデータレジスタ番号Dとをオペランドとして有する。当該特殊命令が実行されると前記出力パルスの周期とON幅またはOFF幅に関する二つのデータが設定データ3050nとして待機バッファレジスタ4004nに一時格納され、当該一時格納データは1パルスの発生完了時点で前記第一および第二の設定レジスタ3001n・3002nに再転送される。つまり、特殊ユニットに内蔵された論理回路部は、プログラムメモリ内に格納されたPWM出力命令に応動するPWM出力回路を備えている。したがって、各チャンネルに割り当てられた1個の可逆カウンタを用いて構成されたPWM出力回路は、論理信号用の出力インタフェース回路に適用されたときには、例えば電熱ヒータによる温度制御や白熱ランプによる調光制御などの電気負荷のON/OFF制御を行う用途に使用することができる。
実施の形態2.
(1)構成の詳細な説明
以下、この発明の実施の形態2によるプログラマブルコントローラのユニット構成図である図30について、図1に示す実施の形態1の構成との相違点を中心として説明する。なお、図30において、図1と同一符号は同一または相当部分を示している。図30において、プログラマブルコントローラ100Bは、CPUユニット110Bと、入出力ユニット120および150〜180と、終端ブロック190とによって構成されている。
CPUユニット110Bは、例えばAC100V〜240Vの商用電源である外部電源109から給電されると共に、図示しない脱着コネクタを介して外部ツール108と接続され、入出力制御プログラムの書込みや運転状態の監視を行うことができるようになっている。CPUユニット110Bの内部には、マイクロプロセッサ111と、例えばマスクROMメモリまたは不揮発フラッシュメモリであるシステムメモリ112Bと、例えば不揮発フラッシュメモリであって、ユーザが作成した入出力制御プログラムが格納されるプログラムメモリ113Bと、例えばRAMメモリであって、後述する入出力イメージメモリX・Yと補助リレーMとデータレジスタDとを包含するデバイスメモリ114aと、後述する機能を有する転送仲介メモリ114bと、前記デバイスメモリ114aの一部領域をバックアップするためのバッテリ115と、各入出力ユニットとデータ交信を行うためのバスインタフェース回路116と、警報表示器117と、前記外部ツール108とマイクロプロセッサ111とを接続するシリアルインタフェース118と、制御用電源119とが設けられている。この内、マイクロプロセッサ111、システムメモリ112B、プログラムメモリ113B、デバイスメモリ114a、転送仲介メモリ114b、バスインタフェース116、シリアルインタフェース118とは互いにバス接続されている。なお、制御用電源119は、CPUユニット110Bの外部に設置することも可能であり、電源ユニットとCPUユニットおよび所定点数の入出力ユニットによって基本ユニットが構成されるようになっている。
システムメモリ112Bは、図18および図19で前述した各種制御プログラムを包含すると共に、プログラムメモリ113Bに格納されたシーケンス言語による入出力制御プログラムをマイクロプロセッサ111に対応した機械言語に変換してマイクロプロセッサ111を作動させるものとなっていて、これらのプログラムは製品の出荷段階でプログラマブルコントローラのメーカによって格納されたものとなっている。
プログラムメモリ113Bには、例えばパーソナルコンピュータである外部ツール108を用いてユーザによって作成された入出力制御用のシーケンスプログラムが、シリアルインタフェース118を介して書込みされている。その一例となるものが前述した図20〜図25、図27、図29と、後述する図36で表現されたシーケンス図であって、パーソナルコンピュータの画面上でシーケンス図を作画すると自動的にシーケンスプログラムが作成されるようになっている。
CPUユニット110Bの端面位置には前述した入出力ユニット120および150〜180が接続されている。入出力ユニット120は、図1で前述した汎用の入出力ユニットであるのに対し、入出力ユニット150〜180は、開閉センサやON/OFF動作の論理負荷、或はアナログセンサやアナログ負荷に対応するための特殊ユニットとなっている。
以下、図30に示す特殊ユニット150〜170の内部構成図である図31〜図33について、図2および図3に示す構成との相違点を中心として説明する。なお、各図において、同一符号は同一または相当部分を示している。図31において、特殊ユニット150は、8点のアナログセンサ104Aに接続される入力端子150Xと、8点の高速論理動作を行う電気負荷104yに接続される出力端子150Yとを備えている。入力端子150Xと集積回路素子10に設けられた第一のポート11との間には、アナログ回路用の入力インタフェース回路159Xが設けられている。入力インタフェース回路159Xは、入力電圧に比例した周波数のパルスを発生する電圧/周波数変換器153nと、入力絶縁回路151nとが各チャンネル番号n=0〜7毎に直列接続されている。出力端子150Yと集積回路素子10に設けられた第二のポート12との間には、ON/OFF動作用の出力インタフェース回路159Yが設けられている。出力インタフェース回路159Yは、パワートランジスタである出力素子157nと、出力絶縁回路156nとが各チャンネル番号n=0〜7毎に直列接続されている。
電子基板19Ayには、入力端子150Xと入力インタフェース回路159X、出力端子150Yと出力インタフェース回路159Y、バス接続用コネクタ150Z並びに集積回路素子10が搭載されて特殊ユニット150を構成している。第一の識別端子14aは、グランド回路GNDに接続されていて入力インタフェース回路が159Xがアナログ入力用であることを示し、第二の識別端子14bは、定電圧電源線Vccに接続されて出力インタフェース回路159Yが論理信号用のものであることを示している。第一の信号端子16aは、入力インタフェース回路が後述の比較入力回路189Xであるときにグランド回路GNDに接続され、電圧/周波数変換器が使用された入力インタフェース回路の場合は定電圧電源線Vccに接続される。第二の信号端子16bは、定電圧電源線Vccに接続されて出力インタフェース回路159Yが高速論理信号用のものであることを示している。
図32において、特殊ユニット160は、8点の開閉センサ105xに接続される入力端子160Xと、8点のアナログ負荷105bに接続される出力端子160Yとを備えている。入力端子160Xと集積回路素子10に設けられた第一のポート11との間には、高速論理回路用の入力インタフェース回路169Xが設けられている。入力インタフェース回路169Xは、入力絶縁回路161nと、入力フィルタとなる例えば時定数で5μs程度の比較的短い時定数の入力フィルタ162nとが各チャンネル番号n=0〜7毎に直列接続されている。出力端子160Yと集積回路素子10に設けられた第二のポート12との間には、アナログ負荷用の出力インタフェース回路169Yが設けられている。出力インタフェース回路169Yは、出力絶縁回路166nと、図示しない出力素子となる演算増幅器を含む平滑回路168nとが各チャンネル番号n=0〜7毎に直列接続されている。当該平滑回路168nは、第二のポート12の各チャンネル端子12nが発生するパルス幅変調信号を平滑化して、その開閉デューティに比例したアナログ電圧を得るためのものとなっている。
電子基板19xbには、入力端子160Xと入力インタフェース回路169X、出力端子160Yと出力インタフェース回路169Y、バス接続用コネクタ160Z並びに集積回路素子10が搭載されて特殊ユニット160を構成している。第一の識別端子14aは、定電圧電源線Vccに接続されていて入力インタフェース回路が169Xが論理信号用であることを示し、第二の識別端子14bは、グランド回路GNDに接続されて出力インタフェース回路169Yがアナログ信号のものであることを示している。第一の信号端子16aは、定電圧電源線Vccに接続されて出力インタフェース回路169Xが高速論理信号用のものであることを示し、第二の信号端子16bは、論理レベル「H」となっていて後述のアナログ比較用ではないことを意味している。
図33において、特殊ユニット170は、8点のアナログセンサ106Aに接続される入力端子170Xと、8点のアナログ負荷106bに接続される出力端子170Yとを備えている。入力端子170Xと集積回路素子10に設けられた第一のポート11との間には、アナログ回路用の入力インタフェース回路179Xが設けられている。入力インタフェース回路179Xは、入力電圧に比例した周波数のパルスを発生する電圧/周波数変換器173nと入力絶縁回路171nとが各チャンネル番号n=0〜7毎に直列接続されている。出力端子170Yと集積回路素子10に設けられた第二のポート12との間には、アナログ負荷用の出力インタフェース回路179Yが設けられている。出力インタフェース回路179Yは、出力絶縁回路176nと、図示しない出力素子となる演算増幅器を含む平滑回路178nとが各チャンネル番号n=0〜7毎に直列接続されていて、当該平滑回路178nは、第二のポート12の各チャンネル端子12nが発生するパルス幅変調信号を平滑化して、その開閉デューティに比例したアナログ電圧を得るためのものとなっている。
電子基板19Abには、入力端子170Xと入力インタフェース回路179X、出力端子170Yと出力インタフェース回路179Y、バス接続用コネクタ170Z並びに集積回路素子10が搭載されて特殊ユニット170を構成している。第一および第二の識別端子14aおよび14bは、グランド回路GNDに接続されてアナログ入出力用であることを示し、第一および第二の信号端子16aおよび16bは、論理レベル「H」になっていて後述のアナログ比較用ではないことを意味している。
以下、図4に示す論理回路部1000nをアナログ信号用のパルス密度測定回路1021nとした場合のブロック図である図34と、アナログ負荷用のPWM出力回路1051nとした場合のブロック回路図である図35について説明する。なお、このアナログ信号用のパルス密度測定回路1021nは、図6で示されたパルス密度測定回路1020nの代替として使用できるものとなっている。また、PWM出力回路1051nは、図11で示されたPWM出力回路1050nと同一構成のものであるが、DA変換命令に対応した設定データとなっている。
図34において、パルス密度測定回路1021n(n=0〜7)を構成する場合の可逆カウンタ2000nは、チャンネル端子11nの入力信号が計数入力端子INに供給されてアップ計数動作を行うように構成されていて、第一の設定レジスタ3001nには、32ビット数値の上限値が設定データ3021nによって格納されるようになっている。
共通トリガ回路9002は、一定周期T0ごとに短いパルスのトリガ信号P0とQ0を発生するようになっていて、トリガ信号P0によって現在値レジスタ4001nの計数現在値をピークホールドレジスタ4002nへ転送し、続くトリガ信号Q0によって可逆カウンタ2000nのリセット端子RSTにリセット信号を供給する。その結果、現在値レジスタ4001nの内容はゼロにリセットされるようになっている。したがって、ピークホールドレジスタ4002nには、一定周期T0毎にリセットされる可逆カウンタ2000nのリセット直前の最大計数値が毎回格納され、この最大計数値がチャンネル端子11nに与えられた電圧/周波数変換器のパルス密度(即ちパルス周波数)となって、演算データ4021nによってマイクロプロセッサ111に送信されるようになっている。
一方、第一の設定レジスタ3001nには最大数値が設定されるのに対し、第二の設定レジスタ3002nには設定データ3021nによって中間データが設定されるようになっている。この中間データは入力された最大アナログ信号電圧に対応した電圧/周波数変換器の出力周波数の約1/2に相当した値となっている。第二の比較回路5002nは、現在値レジスタ4001nの計数現在値が第二の設定レジスタ3002nに格納されている中間データ以上となったときに判定記憶回路S2をセットして、当該判定記憶回路S2の出力は上昇比較一致出力Pとして報告信号7021nによってマイクロプロセッサ111へ送信される。但し、判定記憶回路S2は、トリガ信号P0によって一瞬リセットされ、トリガ信号Q0によって可逆カウンタ2000nがリセットされるまでの短い時間(トリガ信号の時間幅)において第二の比較回路5002nによってセットされるものである。
したがって、アナログ信号電圧に替わって、ゼロまたは最大電圧のどちらかが入力された場合には、入力電圧がゼロであれば、第二の比較回路5002nの出力は論理レベル「L」であるため、上昇比較一致出力Pの論理レベルは「L」となる。入力電圧が最大であれば、第二の比較回路5002nの出力は論理レベル「H」であるため、上昇比較一致出力Pの論理レベルは「H」となる。これは、特殊ユニット150および170は、8点のアナログ入力信号が扱えるが、もしもアナログ入力信号が1点しかない用途においては、残りの7点をON/OFFの論理入力として使用することができることを意味しており、最大入力電圧のデジタル変換値を演算データ4021nによってマイクロプロセッサ111に読み出して、マイクロプロセッサ111側で中間値との比較を行って論理判定するのに比べてユーザの処理が簡単となるものである。
図35おいて、PWM出力回路1051n(n=0〜7)を構成する場合の可逆カウンタ2000nは、共通クロック回路9001が発生するクロック信号をアップ計数するようになっていて、第一の設定レジスタ3001nには、目標とするパルス幅変調信号信号80の周期Tが格納され、第二の設定レジスタ3002nには、目標とするパルス幅変調信号信号80のOFF時間幅が格納されるようになっている。
マイクロプロセッサ111は、設定データ3051nによってこれ等の設定値を待機バッファレジスタ4004nに送信し、待機バッファレジスタ4004nの内容は、パルス幅変調信号80の各周期の終了時点で第一および第二の設定レジスタ3001n・3002nへ転送されるようになっている。可逆カウンタ2000nは、現在値レジスタ4001nの計数現在値が上昇して第二の設定レジスタ3002nに格納されているOFF時間に相当する設定値に達すると、上昇比較一致出力Pが作動し、これがチャンネル端子12nから出力インタフェース回路169Yと出力端子160Yを介してアナログ負荷105bの対応チャンネルに供給される。特殊ユニット170および180の場合も同様である。
可逆カウンタ2000nは、現在値レジスタ4001nの計数現在値がさらに上昇して第一の設定レジスタ3001nに格納されている周期に相当する設定値に達すると、カウントアップ出力Qが作動し、その結果、現在値レジスタ4001nの内容がリセットされると共に、上昇比較一致出力Pもリセットされてチャンネル端子12nの出力はOFFとなり、待機バッファレジスタ4004n内の設定データが第一および第二の設定レジスタ3001n・3002nへ転送される。
したがって、パルス幅変調信号80の周期Tはクロック信号の周期τと第一の設定レジスタ3001nに格納された設定値N1との積τ×N1に等しくなり、パルス幅変調信号80のOFF時間幅はクロック信号の周期τと第二の設定レジスタ3002nに格納された設定値N2との積τ×N2に等しくなり、チャンネル端子12nから出力されるパルス幅変調信号80のON時間幅はτ×(N1−N2)で算出されるものとなる。なお、もしも上昇比較一致出力Pの反転論理出力をチャンネル端子12nに供給するようにすれば、ON/OFFの概念が反転するので、τ×N2がON幅時間に相当することになる。このため、論理反転した場合に、第二の設定レジスタ3002nに格納される設定値N2はON時間幅に対応した設定値であるということになる。
特殊ユニット160、170および180は、8点のアナログ出力が行えるようになっているが、もしもアナログ出力を1点しか必要としない用途においては、残りの7点をON/OFF動作の軽負荷に適用することができる。即ち、PWM命令が適用されていないアナログ出力チャンネルについては、PWM出力は停止されており、デバイスメモリ114aの中の出力イメージメモリの内容が図19の出力処理923によって出力ラッチメモリ165、175、185に送信されるようになっている。
(2)作用・動作の詳細な説明
以上のとおりに構成されたプログラマブルコントローラにおいて、マイクロプロセッサ111の基本動作は図18および図19で説明したとおりであるので省略し、アナログ入出力命令の使用例である図36について説明する。図36において、(A1)は図示しないシーケンス回路によって補助リレーM0100が駆動されたときに動作するAD変換命令ANRDを示した回路ブロックである。AD変換命令ANRDは、特殊ユニット150の入力信号X010によって発生する電圧/周波数変換器153nのパルス密度を測定して、これをデータレジスタD0140へ転送することによってAD変換値を得る特殊命令となっている。例えばアナログセンサ104Aの信号電圧が0〜10Vである時に、電圧/周波数変換器153nの発生周波数が0〜100KHzであるとし、図34に示す共通トリガ信号回路9002の信号周期T0=10msecであるとすれば、入力信号電圧が10Vのときのピークホールドレジスタ4002nの値は1000となって、測定電圧の100倍の値がデータレジスタD0140に格納されることになる。
しかし、電圧/周波数変換器153nのバラツキ変動が想定されるので、予め既知の信号電圧をデジタル変換した値を大小2点で測定し、校正係数αとバイアス補正値βを算出しておくことによって、(A2)、(A3)で示すとおり、掛け算命令MULと加算命令ADDによって校正された検出電圧をデータレジスタD0142に得るようになっている。なお、(A4)で示すとおり、AD変換命令ANRDの第二オペランドに補助リレー番号が指定されると、第二の設定レジスタ3002nに定数500が格納されるようになっている。その結果、論理信号入力として10Vが入力されると上昇比較一致出力Pの論理レベルは「H」となり、論理信号入力として0Vが入力されると上昇比較一致出力Pの論理レベルは「L」となって、報告信号7021nによって指定された補助リレー8050へ転送されるようになっている。
図36において、(B3)は図示しないシーケンス回路によって補助リレーM0101が駆動されたときに動作するDA変換命令ANWRを示した回路ブロックである。DA変換命令ANWRは、データレジスタD0250の内容を周期とし、続く番号のデータレジスタD0251の内容をデューティとするパルス幅変調信号を発生して、平滑回路168nによって平滑されたアナログ出力電圧を特殊ユニット160の出力端子Y020に出力するようになっている。この事例では、図36(B2)で示すとおり、データレジスタD0250には転送命令MOVによって定数K10000が格納されている。また、(B1)で示した除算命令DIVでは、出力したい電圧が格納されているデータレジスタD0240の内容を、アナログ出力電圧の最大値で割って必要とされるデューティを算出し、この値をデータレジスタD0251に格納するようになっている。例えばアナログ出力電圧が0〜10Vであるとすれば、γ=10であるが、電源電圧のバラツキ変動を考慮して、初期校正によって適切な校正定数γが使用されるようになっている。
DA変換命令ANWRが駆動されると、図35に示す可逆カウンタ2000nの第一の設定レジスタ3001nには、データレジスタD0250の値、即ちK10000が転送され、共通クロック信号の周期をτ=1μsecとすると、チャンネル端子12nから得られるPWM信号の周期は10msecとなる。もしもONデューティが60%であれば第二の設定レジスタ3002nにはOFF時間幅となる4000μsecが格納されることになる。もしもONデューティが100%であれば第二の設定レジスタ3002nにはOFF時間幅となる0μsecが格納され、平滑回路168nの出力電圧はVmAx=10Vとなる。なお、DA変換命令ANWRが適用されていないアナログ出力に対しては、PWM出力は停止した状態にして図19の出力処理923によってON/OFF指令を出力ラッチメモリ165に送信し、チャンネル端子12nからON/OFF駆動出力を発生することができるようになっている。
(3)その他の例
次に、図30に示す特殊ユニット180の内部構成図である図37について、図2および図3の構成との相違点を中心として説明する。なお、各図において、同一符号は同一または相当部分を示している。図37において、特殊ユニット180は、8点のアナログセンサ107Aに接続可能な入力端子180Xと、8点のアナログ負荷107bに接続可能な出力端子180Yとを備えている。入力端子180Xと集積回路素子10に設けられた第一のポート11との間には、アナログ回路用の入力インタフェース回路189Xが設けられている。入力インタフェース回路189Xは、比較回路1811nと入力絶縁回路181nとが各チャンネル番号n=0〜7毎に直列接続されている。比較回路1811nの一方の入力端子にはアナログセンサ107Aからの入力信号電圧が印加され、他方の入力端子には後述の出力インタフェース回路189Yから得られる出力信号電圧が印加されて、両入力電圧の大小比較結果が入力絶縁回路181nを介して第一のポート11の各チャンネル端子11nに入力されるようになっている。出力端子180Yと集積回路素子10に設けられた第二のポート12との間には、アナログ負荷用の出力インタフェース回路189Yが設けられている。出力インタフェース回路189Yは、出力絶縁回路186nと、図示しない出力素子となる演算増幅器を含む平滑回路188nとが各チャンネル番号n=0〜7毎に直列接続されていて、当該平滑回路188nは、第二のポート12の各チャンネル端子12nが発生するパルス幅変調信号信号を平滑化して、その開閉デューティに比例したアナログ電圧を得るためのものとなっている。
電子基板18Abには、入力端子180Xと入力インタフェース回路189X、出力端子180Yと出力インタフェース回路189Y、バス接続用コネクタ180Z並びに集積回路素子10が搭載されて特殊ユニット180を構成している。第一および第二の識別端子14aおよび14bは、グランド回路GNDに接続されてアナログ入出力用であることを示し、第一および第二の信号端子16aおよび16bがグランド回路GNDに接続されて入出力インタフェース回路189Xおよび189Yがアナログ比較用のインタフェース回路であることを示している。
特殊ユニット180は、アナログセンサ107Aの信号電圧と所定の可変基準電圧とを比較してその判定結果を得る用途に適している。この場合、第二のポート12は可変基準電圧を得るために使用されているが、例えばアナログ比較が1点のみであれば、残りの7点はアナログ負荷107bに対するアナログ信号を供給したり、アナログ負荷が少なければ軽負荷用の論理出力信号用としても使用可能である。なお、アナログ比較に対する応用命令は、図36における(A4)の場合と同様のANRD命令が使用され、第一オペランドには入力番号、第二オペランドには比較結果を格納する補助リレー番号が指定されるようになっている。
以上の説明において、プログラマブルコントローラ100Aおよび100Bは、CPUユニットと入出力ユニットがそれぞれ孤立した筐体内に収納され、連結コネクタによって相互に接続されるトレーン型のプログラマブルコントローラとして説明した。しかし、CPUユニットや各入出力ユニットを共通の台板上に設置し、当該台板はマザーボードによって相互にバス接続された複数のコネクタを備え、各入出力ユニットをこのコネクタに接続するような形態のものであってもよく、またはまた、CPUユニットと入出力ユニットを一つの筐体に収納したユニット型のプログラマブルコントローラであってもよい。また、CPUユニットと各入出力ユニット間の交信は多数のデータバスとアドレスバスによって行うようになっているが、実態としてはデータバスとアドレスバスは兼用バスとなっていて、その他にコントロールバスを設けて信号線数の削減が行われていて、CPUユニットと特殊ユニット間の交信については直並列変換器を用いたシリアルバスであってもよい。また、特殊命令の実行完了報告を速やかに行うためにマイクロプロセッサに対する割込み制御信号線を設けることも可能である。
また、以上の説明では、各種高速カウンタや高速パルス出力に対して拡張番号と配置番号による個別番号を与え、特殊命令とこの個別番号との組み合わせによって論理回路部1000nのパラメータメモリ8000nの内容が定まるようになっているが、特殊命令に対して拡張番号に相当する番号をつけ(例えば、高速カウンタ命令HSCは、HSC00〜HSC96のように表現)、入出力番号はそのままにして拡張番号をつけないでおくことも可能である。
また、図2に示す論理回路用の入力インタフェース回路において、入力フィルタ132nは最高の入力パルス周波数に対応できるように例えば5μsecとしたが、様々な用途の中でもっと低い周波数のパルスを計数したい場合であれば、入力フィルタ132nの時定数を大きくしてノイズ誤動作を防ぐことが望ましい。このため、図5で説明した1〜64msecの可変フィルタ回路とは別に、5〜20μsec程度の可変フィルタを追加しておくことも可能である。
また、以上の説明において、各論理回路部1000nはパラメータメモリ8000nを備え、マイクロプロセッサ111は適用された応用命令に対応したパラメータデータを送信するようになっているが、論理回路部1000nは予め複数のパラメータデータを包含し、マイクロプロセッサ111によってどのパラメータデータを使用するのかを選択するようにしても良く、この場合にはパラメータデータの選択番号がパラメータとして送信されたことになるものである。さらに、以上の説明において、システムメモリ112Aおよび112Bは、実施の形態1および2において異なる符号となっているが、実態は同一内容のシステムプログラムが格納されているものである。
(4)実施の形態2の要点と特徴
以上の説明で明らかなとおり、この発明の実施の形態2によるプログラマブルコントローラ100Bは、マイクロプロセッサ111と、当該マイクロプロセッサ111と協働するシステムメモリ112Bと、ユーザによって作成されたシーケンスプログラムが外部ツール108から転送書込みされるプログラムメモリ113Bと、入出力情報および制御情報を記憶するための入出力イメージメモリX・Yと補助リレーMとデータレジスタDとを包含するデバイスメモリ114aとを有するCPUユニット110Bと、当該CPUユニットに対してバス接続される単独または複数の入出力ユニット120・150〜180を備えると共に、当該入出力ユニットの一部または全部が特殊入出力処理機能を分担して前記マイクロプロセッサ111の制御機能を補完するための集積回路素子10を包含した特殊ユニット150〜180となっている。前記特殊ユニット150〜180は、複数の外部センサまたは外部負荷の少なくとも一方または双方に接続される外部接続用端子150X〜180X・150Y〜180Yと、当該外部接続端子に接続される多チャンネルの入力インタフェース回路159X〜189Xまたは出力インタフェース回路159Y〜189Yと、制御仕様の一部分が可変設定できて入出力制御に共用される集積回路素子10と、前記マイクロプロセッサ111と接続するためのバス接続用端子150Z〜180Zとを搭載した電子基板とを備えている。前記集積回路素子10は、前記入力インタフェース回路159X〜189XからON/OFF動作する論理信号が入力される第一のポート11と、前記出力インタフェース回路159Y〜189Yに対してON/OFF動作する論理信号を出力する第二のポート12と、各チャンネル番号nに対応するパラメータメモリ8000nと、前記マイクロプロセッサ111から当該パラメータメモリに送信された回路編成データによって入出力処理のための動作仕様が決定される論理回路部1000nを備えている。
前記論理回路部1000nは、報告ビットメモリ7000nと演算レジスタ4000nと設定レジスタ3000nと指令ラッチメモリ6000nと可逆カウンタ2000nを包含し、前記可逆カウンタ2000nは、前記演算レジスタ4000nの一部となる現在値レジスタ4001nを備ている。前記パラメータメモリ8000nに送信される回路編成データにより、複数種類の高速入力処理と複数種類の高速出力処理が行われる。。前記外部センサからの入力信号がアナログ信号である場合には、前記入力インタフェース回路159X・179X・189Xは、入力信号に比例した周波数のパルスまたは比較判定論理信号を前記集積回路素子10に供給し、前記外部負荷がアナログ負荷である場合に、前記集積回路素子10は出力信号に指令したON/OFF比率のパルス出力を発生して、前記出力インタフェース回路169Y〜189Yは受信したパルス出力信号を平滑して外部負荷に供給する。
また、前記CPUユニット110Bは、前記特殊ユニット150〜180とのデータ交信を行うための転送仲介メモリ114bを備えると共に、前記システムメモリ112Bは編成処理手段908とデータ変換・転送手段921となる制御プログラムを包含している。前記編成処理手段908は、回路編成データを前記パラメータメモリ8000nに送信すると共に、転送仲介メモリ114bのアドレス編成を行う。前記データ変換・転送手段921は、前記転送仲介メモリ114bを介して前記特殊命令で指定されたデバイスメモリ114aと前記設定レジスタ3000n・指令ラッチメモリ6000nまたは前記演算レジスタ4000n・報告ビットメモリ7000nとの間のデータ交信を行う。前記特殊命令は、命令の種別を示す命令語と順不同の第一のオペランド、および第二または第三のオペランドの少なくとも一方とによって構成されている。
また、前記論理回路部1000nに設けられた可逆カウンタ2000nの一部または全部は、現在値レジスタ4001nと第一の設定レジスタ3001nと第二の設定レジスタ3002nと第一の比較回路5001nと第二の比較回路5002nとを備えている。前記現在値レジスタまたは第一および第二の設定レジスタには、前記特殊命令が実行されたときに前記マイクロプロセッサ111から前記転送仲介メモリ114bを介して数値設定が行われる。
また、前記特殊ユニット150〜180に搭載された前記論理回路部1000nは、全チャンネルに対応する汎用入力回路1091または汎用出力回路1092を備えている。前記汎用入力回路1091は、前記第一のポート11に接続された入力信号が入力処理用のデータセレクタ164を介して前記デバイスメモリ114aに割り付けられた入力イメージメモリ領域に送信される入力信号中継回路であって、前記データセレクタから前記入力イメージメモリへの転送は前記システムメモリ112Bに格納されている制御プログラムである入力処理手段911によって実行される。前記汎用出力回路1092は、前記デバイスメモリ114aに割り付けられた出力イメージメモリ領域から前記論理回路部1000nに設けられた出力ラッチメモリ155・165・175・185を介して前記第二のポート12に接続された出力回路に出力する出力信号中継回路であって、前記出力イメージメモリから前記出力ラッチメモリへの転送は前記システムメモリ112Bに格納されている制御プログラムである出力処理手段923によって実行される。前記汎用入出力回路1091・1092は、前記論理回路部1000nが高速入出力回路またはアナログ入出力回路として使用されていないときに有効となる。
また、前記特殊ユニット150〜170は、前記外部接続端子150X〜170X、150Y〜170Yに接続される多チャンネルの入力インタフェース回路159X〜179Xおよび出力インタフェース回路159Y〜179Yの双方を備えている。前記入力インタフェース回路159X〜179Xは、高速入力パルスに対応した小さな時定数の入力フィルタを包含するか、または高速入力パルスが入力されない大きな時定数の入力フィルタを有する開閉センサ用の入力インタフェース回路169Xであるか、または電圧/周波数変換器を含むアナログセンサ用の入力インタフェース回路159X・179Xのいずれかに分類される。前記出力インタフェース回路159Y〜179Yは、高速出力パルスに対応した高速開閉動作を行うトランジスタを出力素子として包含するか、または高速出力パルスが出力されない低速開閉動作を行うトランジスタを出力素子として包含する出力インタフェース回路159Yであるか、または前記論理回路部1000nが発生するパルス幅変調信号出力に対する平滑回路168n・178nを包含するアナログ負荷用の出力インタフェース回路169Y・179Yのいずれかに分類される。前記特殊ユニット150〜170は、高速論理入力または低速論理入力またはアナログ入力のいずれか一つと、高速論理出力または低速論理出力またはアナログ出力のいずれか一つとの任意の組合せの内で、低速論理入力と低速論理出力との組合せ以外の組合せによる複数種類の特殊ユニット150〜170が適用可能に構成されている。つまり、特殊ユニットは、入力および出力インタフェース回路の双方を備え、各入力および出力インタフェース回路は多様な仕様のものが適用できるようになっている。したがって、各チャンネルに設けられた可逆カウンタを様々な特殊用途に適用して、余すことなく活用することによって経済効果を高めることができる。
また、前記集積回路素子10または当該集積回路素子を搭載した特殊ユニット150〜170は、カード情報格納メモリ9000を備えると共に、前記システムメモリ112Bは、設定異常検出手段905となる制御プログラムを包含している。前記カード情報格納メモリ9000には、前記第一および第二のポート11および12に対して論理信号用のインタフェース回路が接続されているか、アナログ信号用のインタフェース回路が接続されているかを識別する第一および第二の識別端子情報14aおよび14bと、論理信号用のインタフェース回路である場合には低速論理信号用であるか高速論理信号用であるかを識別する第一および第二の信号端子情報16aおよび16bが格納される。前記設定異常検出手段905は、前記第一および第二のポート11および12に接続されている入出力インタフェース回路の種別と、前記プログラムメモリ113Bに格納されている命令内容が不一致であることを検出して、運転停止および異常報知を行う。
また、前記論理回路部1000nは、前記プログラムメモリ113B内に格納されたAD変換命令ANRDに応動するパルス密度測定回路1021nを備えている。前記パルス密度測定回路1021nは、所定時間毎に計数現在値がリセットされる高速カウンタであって、リセット直前の計数最大値を記憶することによって入力パルス信号の周波数に比例したデジタル値を得て、当該測定周波数をピークホールドレジスタ4002nに格納する。前記AD変換命令ANRDは、アナログ信号用の入力インタフェース回路159X・179Xが接続されている特殊ユニット150および170に対して適用され、対象となる入力番号Xと、当該入力番号の電圧/周波数変換器153n・173nが発生するパルス周波数の測定結果が格納されるデータレジスタ番号Dとをオペランドとして有する。当該特殊命令が実行されると前記ピークホールドレジスタ4002nの内容が演算データ4021nとして前記データレジスタDに転送格納される。つまり、特殊ユニットに内蔵された論理回路部は、プログラムメモリ内に格納されたAD変換命令に応動するパルス密度測定回路を備えている。したがって、各入力チャンネルに割り当てられた1個の可逆カウンタを用いて構成されたパルス密度測定回路は、電圧/周波数変換器を含むアナログ信号用の入力インタフェース回路に適用されたときには、入力されたアナログ信号電圧に比例したデジタル変換値を得るAD変換器として使用することができる。
また、前記パルス密度測定回路1021nは、前記可逆カウンタ2000nの第二の設定レジスタ3002nに対して中間設定値が格納され、アナログセンサ104A・106Aによる入力信号電圧の平均値が当該中間設定値に対応した入力電圧以上であれば、アップ計数中に前記第二の比較回路5002nが比較一致出力を発生したことを記憶する上昇比較一致出力Pが作動し、チャンネル端子11nの入力信号電圧の平均値が前記中間設定値に対応した入力電圧未満であれば、アップ計数中に前記第二の比較回路5002nが比較一致出力Pを発生せず前記上昇比較一致出力Pがリセットされる回路である。前記AD変換命令ANRDは、アナログ信号用の入力インタフェース回路159X・179Xが接続されている特殊ユニット150および170に対して適用され、対象となる入力番号Xと、前記報告信号7021nが格納される補助リレー番号Mとをオペランドとして有する。当該特殊命令が実行されると前記上昇比較一致出力Pの内容が報告信号7021nとして送信されて前記補助リレーMを駆動する。つまり、パルス密度測定回路は、第二の設定レジスタに中間設定値が格納されるようになっている。したがって、アナログ入力信号用として適用された特殊ユニットにおいて、必要とされるアナログ入力信号の点数が少ない場合に、残りのアナログ入力端子をON/OFF動作の論理信号入力として使用してムダな空き端子が発生しないようにすることができる。
また、前記論理回路部1000nは、前記プログラムメモリ113B内に格納されたDA変換命令ANWRに応動するPWM出力回路1051nを備えている。前記PWM出力回路1051nは、前記第一および第二の設定レジスタ3001n・3002nの内容に基づいて所定の周期で可変デューティ(ON時間とON/OFF周期との比率)のパルス幅変調信号を発生する。前記DA変換命令ANWRは、アナログ信号用の出力インタフェース回路169Y・179Y・189Yが接続されている特殊ユニット160・170および180に対して適用され、対象となる出力番号と、出力パルスの周期とON幅とを確定するためのデータが格納されるデータレジスタ番号Dとをオペランドとして有する。当該特殊命令が実行されると前記出力パルスの周期とON幅またはOFF幅に関する二つのデータが設定データ3051nとして待機バッファレジスタ4004nに一時格納され、当該一時格納データは1パルスの発生完了時点で前記第一および第二の設定レジスタ3001n・3002nに再転送される。つまり、特殊ユニットに内蔵された論理回路部は、プログラムメモリ内に格納されたDA変換命令に応動するPWM出力回路を備えている。したがって、各チャンネルに割り当てられた1個の可逆カウンタを用いて構成されたPWM出力回路は、PWM信号の平滑回路を含むアナログ信号用の出力インタフェース回路に適用されたときには、マイクロプロセッサによって指令されたデジタル値に比例したアナログ信号電圧を出力するためのDA変換器として使用することができる。
さらに、前記特殊ユニット180は、前記外部接続端子180X・180Yに接続される多チャンネルの入力インタフェース回路189Xおよび出力インタフェース回路189Yの双方を備えている。前記出力インタフェース回路189Yは、前記論理回路部1000nが第二のポート12から出力するパルス幅変調信号出力PWMに対する平滑回路188nを包含するアナログ負荷用のインタフェース回路である。前記入力インタフェース回路189Xは、アナログセンサ107Aからの入力信号と前記パルス幅変調信号出力PWMの平滑信号とを比較して二値化論理信号を発生して前記第一のポート11に入力するための比較回路1811nを包含したインタフェース回路である。前記特殊ユニット180は、重複しない入出力チャンネルに対してアナログ負荷の駆動を行うか、またはアナログ入力信号と可変比較値との比較結果信号を得る。つまり、比較回路を包含した入力インタフェース回路とアナログ信号用の出力インタフェース回路が使用され、アナログ比較とアナログ出力とが行えるようになっている。したがって、余剰な入出力が発生しないようにして、各チャンネルに割り付けられた可逆カウンタを有効活用することができると共に、多様なアナログ処理が行えるようになる。
実施の形態3.
(1)構成の詳細な説明
以下、この発明の実施の形態3によるプログラマブルコントローラのユニット構成図である図38について説明する。図38において、プログラマブルコントローラ100Cは、CPUユニット110Cと、入出力ユニット220、230、240、250、260Aと、終端ブロック290とによって構成されている。
CPUユニット110Cは、例えばAC100V〜240Vの商用電源である外部電源109から給電されると共に、図示しない脱着コネクタを介して外部ツール108と接続され、入出力制御プログラムの書込みや運転状態の監視を行うことができるようになっている。CPUユニット110Cの内部には、マイクロプロセッサ111と、例えばマスクROMメモリであるシステムメモリ112Cと、例えば不揮発フラッシュメモリであって、ユーザが作成した入出力制御プログラムが格納されるプログラムメモリ113Cと、例えばRAMメモリであって、後述する入出力イメージメモリと補助リレーとデータレジスタとを包含するデバイスメモリ114aと、後述する転送仲介メモリ114bと、前記デバイスメモリ114aの一部領域をバックアップするバッテリ115と、各入出力ユニットとデータ交信を行うためのバスインタフェース回路116と、警報表示器117と、前記外部ツール108とマイクロプロセッサ111とを接続するシリアルインタフェース118と、制御用電源119とが設けられている。
この内、マイクロプロセッサ111、システムメモリ112C、プログラムメモリ113C、デバイスメモリ114a、転送仲介メモリ114b、バスインタフェース116、シリアルインタフェース118とは互いにバス接続されている。
制御用電源119は、外部電源109から給電されて、図示しない入力信号回路に安定化されたDC24V電源を供給したり、定電圧電源線Vccに対して例えばDC5Vの安定化電圧を供給し、定電圧電源線Vccはグランド回路GNDと共に各部に配線されている。なお、制御用電源119は、CPUユニット110Cの外部に設置することも可能であり、電源ユニットとCPUユニットおよび所定点数の入出力ユニットとによって基本ユニットが構成されるようになっている。
システムメモリ112Cは、図44で後述する各種制御プログラムを包含すると共に、プログラムメモリ113Cに格納されたシーケンス言語による入出力制御プログラムをマイクロプロセッサ111に対応した機械言語に変換してマイクロプロセッサ111を作動させるものとなっていて、これ等のプログラムは製品の出荷段階でメーカによって格納されるものとなっている。なお、システムメモリ112Cは、マスクROMメモリ、またはフラッシュメモリによる不揮発メモリとなっている。
プログラムメモリ113Cには、例えばパーソナルコンピュータである外部ツール108を用いてユーザによって作成された入出力制御用のシーケンスプログラムが、シリアルインタフェース118を介して書込みされている。その一例となるものが前述の図20〜図25、図27、図29で表現されたシーケンス図であって、パーソナルコンピュータの画面上でシーケンス図を作画すると自動的にシーケンスプログラムが作成されるようになっている。なお、プログラムメモリ113CはバッテリバックアップされたRAMメモリであってもよく、フラッシュメモリまたはEPROM等による不揮発メモリを内蔵したメモリカセットを装着することによってプログラムメモリ領域を不揮発メモリ化することも可能である。
デバイスメモリ114aは、入出力信号情報やプログラマブルコントローラ100C内部のデバイスとなって、ユーザに開放されている補助リレー・タイマ・カウンタ・データレジスタ等のデバイスの作動状態が格納されるRAMメモリであり、当該デバイスメモリ114aの一部の領域は例えばリチウムバッテリであるバッテリ115によってバックアップされていて、プログラマブルコントローラ100Cに対する電源が遮断されても記憶状態が保持されるようになっている。警報表示器117は、マイクロプロセッサ111の作動状態を示す例えば複数個の発光ダイオードまたはセブンセグメント表示器によって構成され、電源の到来・正常運転状態・各種異常状態を表示するようになっている。
CPUユニット110Cの端面位置に図示しないコネクタを介して接続された入出力ユニット220には、図示しない入出力端子台を介して外部の開閉信号101xと電気負荷101yとが接続されている。なお、実態としての入出力ユニット220は複数台の入力ユニットと複数台の出力ユニットに分割されていて、必要とされる入出力点数規模に見合った台数の入力ユニットと出力ユニットが使用されるものである。開閉信号101xは、例えば操作盤に設けられた各種の操作スイッチや、アクチェータの動作を確認するためのセンサスイッチであって、1台の入力ユニットには例えば8点の入力信号が接続可能であって、さらに多くの開閉信号を接続するときには入力ユニットの接続台数を増やすようになっている。電気負荷101yは、例えば操作盤に設けられた各種の表示ランプや、アクチェータ駆動用の電磁弁、またはモータ駆動用の電磁継電器であって、1台の出力ユニットには例えば8点の出力信号が接続可能であって、さらに多くの電気負荷を接続するときには出力ユニットの接続台数を増やすようになっている。
入出力ユニット220の内部に設けられた入力インタフェース回路は、ホトカプラトランジスタまたはホトトライアックなどの入力絶縁回路221と、ノイズを抑制するための入力フィルタ222と、データセレクタ224によって構成されている。入出力ユニット220の内部に設けられた出力インタフェース回路は、電気負荷101yを駆動するための駆動信号のラッチメモリ225と、ホトカプラトランジスタまたはホトトライアックまたは電磁リレーなどの出力絶縁回路226とパワートランジスタまたはトライアックまたは電磁リレー等の出力素子227によって構成されている。
入出力ユニット230は、集積回路素子20と第一および第二のポート21および22を備えた特殊ユニットを構成し、当該特殊ユニットは、例えば8点の高速動作の開閉信号102xが入力絶縁回路231Aと入力フィルタ232Aを介して入力されると共に、8点の高速動作の開閉信号102xxが入力絶縁回路231bと入力フィルタ232bを介して入力される入力専用の特殊ユニットとなっている。
入出力ユニット240は、集積回路素子20と第一および第二のポート21および22を備えた特殊ユニットを構成し、当該特殊ユニットは、例えば8点の高速動作の開閉信号103xが入力絶縁回路241と入力フィルタ242を介して入力されると共に、8点の高速動作の電気負荷103yが出力絶縁回路246と出力素子247を介して駆動される入出力混合の特殊ユニットとなっている。
入出力ユニット250は、集積回路素子20と第一および第二のポート21および22を備えた特殊ユニットを構成し、当該特殊ユニットは、例えば8点の高速動作の電気負荷104yが出力絶縁回路256Aと出力素子257Aを介して駆動されると共に、8点の高速動作の電気負荷104yyが出力絶縁回路256bと出力素子257bを介して駆動される出力専用の特殊ユニットとなっている。なお、前記集積回路素子20は、いずれも入出力兼用の第一および第二のポート21および22を備えていて、当該第一および第二のポートを入力ポートとして使用するか、出力ポートとして使用するかによって入力専用・入出力混合・出力専用の特殊ユニットが得られるようになっている。
入出力ユニット260Aは、例えば8点のアナログセンサ105Aが接続されて、入力インタフェース回路である入力フィルタ262、多チャンネルAD変換器263、入力絶縁回路261、データセレクタ264によって、8チャンネルのアナログ入力に対する各12ビットのデジタル変換データを得ると共に、例えば8点のアナログ負荷105bが接続されて、出力インタフェース回路であるラッチメモリ265、出力絶縁回路266、多チャンネルDA変換器268を介して、12ビットのデジタルデータのアナログ変換出力を発生するようになっている。なお、実態としての入出力ユニット260Aはアナログ入力ユニットとアナログ出力ユニットに分割されていて、必要とされるアナログ入出力点数規模に見合った台数のアナログ入力ユニットとアナログ出力ユニットが使用されるものである。
最終段に接続された終端ブロック290は、終端処理回路299を備え、この終端処理回路299は、CPUユニット110Cから各入出力ユニットを貫通して設けられたデータバスDATAとアドレスバスADRの終端をプルアップ回路とプルダウン回路を介して定電圧電源線Vccとグランド回路GNDに接続して、高速信号の反射ノイズを抑制するものとなっている。なお、実態としての貫通バス信号線は、例えば16本のアドレス/データ兼用バスと、8本の制御信号用バスによって構成されていて、16本のアドレス/データ兼用バスがアドレス信号を扱っているのか、または送受信されるデータを扱っているのかは制御信号線によって指定されるようになっている。さらに、各入出力ユニットは図示しないバスコントローラを包含し、多数のデータセレクタやラッチメモリのうち、マイクロプロセッサ111によって指定されたものがデータバスに接続されてマイクロプロセッサ111と交信することができるようになっている。
以下、図38に示す構成の特殊ユニット240について、開閉信号側の構成図である図39と、電気負荷側の構成図である図40についてまとめて説明する。図39および図40において、特殊ユニット240は、8点の開閉信号103xに接続される入力端子240Xと、8点の電気負荷103yに接続される出力端子240Yとを備えている。入力端子240Xと集積回路素子20に設けられた第一のポート21との間には、論理回路用の入力インタフェース回路249Xが設けられている。入力インタフェース回路249Xは、入力絶縁回路241nと入力フィルタとなる例えば時定数で5μs程度の比較的短い時定数の固定フィルタ242nとが各チャンネル番号n=0〜7毎に直列接続されている。出力端子240Yと集積回路素子20に設けられた第二のポート22との間には、ON/OFF動作用の出力インタフェース回路249Yが設けられている。出力インタフェース回路249Yは、パワートランジスタである出力素子247nと出力絶縁回路246nとが各チャンネル番号n=0〜7毎に直列接続されている。
第一および第二のポート21および22は、チャンネル番号n=0〜7に対応して図中で符号表記されていないチャンネル端子21nおよび22nを備え、各チャンネル端子には同一構成内容の論理回路部1100n・1200nが設けられている。図39で示された論理回路部1100nの複数の入力端子の一つはチャンネル端子21nに直接接続され、論理回路部1100nの複数の出力端子の一つは第一のゲート素子25nを介してチャンネル端子21nに間接接続されている。各ゲート素子25nのゲート端子は第一のモード切換端子28aを介して定電圧電源線Vccに接続されているが、これは第一のポート21が出力インタフェース回路249Yではなく、入力インタフェース回路249Xに接続されていることを意味するものであると共に、モード切換端子24aの論理レベルが「H」であることによって第一のゲート素子25nは開路状態となっている。なお、第一の識別端子24aも定電圧電源線Vccに接続されているが、これは入力インタフェース回路249Xがアナログ信号用ではなくて、論理信号用であることを識別するためのものとなっている。さらに、第一の信号端子26aは論理レベル「H」となっていて、前述のアナログ比較用ではないことを示している。
図40で示された論理回路部1200nの複数の入力端子の一つはチャンネル端子22nに直接接続され、論理回路部1200nの複数の出力端子の一つは第二のゲート素子27nを介してチャンネル端子22nに間接接続されている。各ゲート素子27nのゲート端子は第二のモード切換端子28bを介してグランド回路GNDに接続されているが、これは第二のポート22が入力インタフェース回路249Xではなく、出力インタフェース回路249Yに接続されていることを意味するものであると共に、第二のモード切換端子28bの論理レベルが「L」であることによって第二のゲート素子27nは閉路状態となっている。なお、第二の識別端子24bは定電圧電源線Vccに接続されているが、これは出力インタフェース回路249Yがアナログ負荷用ではなくて、ON/OFF動作用のものであることを識別するためのものとなっている。さらに、第二の信号端子26bは論理レベル「H」となっていて、前述のアナログ比較用ではないことを示している。特殊ユニット240を構成する電子基板29xyには前記マイクロプロセッサ111とバス接続するためのバス接続用端子240Zが設けられ、当該バス接続用端子240Zは集積回路素子20のバス接続用端子23に接続されている。
論理回路部1100n・1200nは、図41において詳述するとおり、可逆カウンタ2100n・2200n、設定レジスタ3100n・3200n、演算レジスタ4100n・4200n、比較回路5100nおよび5200n、指令ラッチメモリ6100n・6200n、報告ビットメモリ7100n・7200n、パラメータメモリ8100n・8200nによって構成されている。100番台の符号は第一のポート21(図39参照)に対応し、200番台の符号は第二のポート22(図40参照)に対応したものとなっている。論理回路部1100n・1200n内の各要素は、アドレスバスADRによってマイクロプロセッサ111から指定されたものが択一的にデータバスDATAに接続されて、マイクロプロセッサ111から設定データや指令信号を受け取ったり、マイクロプロセッサ111に対して演算データや報告信号を送信するようになっている。パラメータメモリ8100n・8200nには、プログラマブルコントローラ100Cの運転開始に当たってマイクロプロセッサ111から回路編成情報が送信され、その結果として8点の論理回路部1100nと8点の論理回路部1200nのそれぞれの具体的な回路構成が決定されるようになっている。
カード情報メモリ9000は、少なくとも第一および第二のモード切換端子28aおよび28bと、第一および第二の識別端子24aおよび24bの論理情報をマイクロプロセッサ111に送信するためのものであり、集積回路素子20の内部または外部の電子基板29xy上に設置された配線パターン情報となっている。共通クロック回路9001、共通トリガ回路9002は後述するとおり、全ての論理回路部1100n・1200nに対して共用されるタイミング信号発生回路となっていて、共通クロック回路9001は例えばクロック周期τ=1μsecのクロック信号を発生し、共通トリガ回路9002は当該クロック信号を計数して得られる例えば信号周期T0=10msecで信号幅が1μsecのトリガ信号を発生するようになっている。
図38における特殊ユニット230や250の場合も集積回路素子20の構成は同様である。ただし、特殊ユニット230の場合は一対の入力端子230Xと一対の入力インタフェース回路239Xとが使用されて、第一および第二のポート21および22に対して論理信号用の入力インタフェース回路239Xが接続されていて、第一および第二のモード切換端子28aおよび28bは共に論理レベル「H」となっている。また、特殊ユニット250の場合は一対の出力端子250Yと一対の出力インタフェース回路259Yとが使用され、第一および第二のポート21および22に対して論理信号用の出力インタフェース回路259Yが接続されていて、第一および第二のモード切換端子28aおよび28bは共に論理レベル「L」となっている。
以下、図39および図40における論理回路部1100n・1200nの詳細構成図である図41について説明する。図41において、論理回路部1100nは第一のポート21のチャンネル番号nに割り付けられているものであるのに対し、論理回路部1200nは第二のポート22のチャンネル番号nに割り付けられているものであり、両者は同様に構成されていて、100番台、200番台の違いによって所在が区別されているのみであるから、以下の説明では論理回路部1100nに限定して説明する。論理回路部1100nの中心を成す可逆カウンタ2100nは、アップ指令端子UPまたはダウン指令端子DNのどちらかが論理レベル「H」となっていて、計数入力端子INの論理レベルが「L」から「H」に変化した時に現在値レジスタ4101nの計数現在値が増加または減少するようになっている。計数現在値の増加または減少変分値は変分値レジスタ4103nに格納された数値によって決定されるが、通常は変分値レジスタ4103nの値は1であって、現在値レジスタ4101の計数現在値は計数入力端子INの論理変化によって1カウントだけ増減するようになっている。
可逆カウンタ2100nのリセット端子RSTにリセット指令入力が与えられると、現在値レジスタ4101nの値はゼロになるが、待機バッファレジスタ4104nの中のプリセットレジスタに何らかの数値が格納されている場合には、当該プリセットレジスタの内容が現在値レジスタ4101nに転送されるようになっている。なお、キープホールドレジスタ4102nは、定期的に現在値レジスタ4101nの内容を読出し格納するためのものであり、現在値レジスタ4101n、キープホールドレジスタ4102n、変分値レジスタ4103n、待機バッファレジスタ4104nを総称したものが演算レジスタ4100nとなっている。特に、後述の説明で明らかになるとおり、変分値レジスタ4103nは特定チャンネルの可逆カウンタのみが備えていて、その他のチャンネルの可逆カウンタは常に1カウントの増減を行うものとなっている。設定レジスタ3100nは計数上限値が格納される第一の設定レジスタ3101nと、計数上限値未満の中間値が格納される第二の設定レジスタ3102nによって構成されている。
第一の比較回路5101nは、第一の設定レジスタ3101nに格納されている設定数値と現在値レジスタ4101nの計数現在値が合致するか、または計数現在値が設定数値を超過したときに論理レベルが「H」となり、判定記憶回路S1をセットしてカウントアップ出力Qを発生する数値比較回路である。前記第二の比較回路5102nは第二の設定レジスタ3102nに格納されている設定数値と現在値レジスタ4101nの計数現在値とを比較する数値比較回路であり、アップカウントモードにおいて比較一致または計数現在値が設定数値を超えると論理積素子42を介して判定記憶回路S2がセットされて上昇比較一致出力Pを発生する。また、ダウンカウントモードにおいて計数現在値が設定数値未満になるとゲート素子44を介して判定記憶回路S3がセットされて下降比較一致出力を発生する。
復帰比較回路5103nは、現在値レジスタ4101nの計数現在値が減少して、ゼロレジスタ41の値と合致したとき、または計数現在値が負の値になっているときに復帰出力を発生し、判定記憶回路S1をリセットする数値比較回路である。なお、マイクロプロセッサ111からの指令信号によって指令ラッチメモリ6100nを介して判定記憶回路S2およびS3や現在値レジスタの計数現在値をリセットすることができるようになっている。
報告ビットメモリ7100nは、カウントアップ出力Q、復帰出力、上昇比較一致出力P、下降比較一致出力によって構成されていて、これらの判定出力はデータセレクタ48を介してデータバスDATAに接続されるようになっている。交番出力回路47は、第一の比較回路5101nの比較一致出力が論理レベル「L」から「H」に変化する都度に出力論理が交互に判定する論理回路である。
出力選択回路49は、パラメータメモリ8100nの内容に応じて出力回路を選択決定する回路であり、例えば端子J・Kを前進パルス出力FP、後退パルス出力RPとして割り付けるのか、それとも正逆パルス出力FRPと方向指令出力DIRとして割り付けるのかが決定されるようになっている。また、判定記憶回路S2の出力による上昇比較一致出力P、またはカウントアップ出力Qによる動作完了出力を端子Lに供給するようになっている。
入力回路部40は、パラメータメモリ8100nの内容によって具体的な回路構成が確定する可逆カウンタ2100nに対する入力処理回路である。入力回路部40や出力選択回路49の具体的回路構成は、図42および前述の図5〜図14および図34を参照しながら後述するが、例えば可逆カウンタ2100nが高速カウンタ回路を構成する場合では、カウント方向が指令信号によって決定される1相1入力の可逆カウンタであるか、またはアップ・ダウン入力が個別に供給される1相2入力の可逆カウンタであるか、または2相入力の位相差によってアップ・ダウン方向を決定する2相2入力の可逆カウンタであるか、さらには、当該高速カウンタ回路は高速カウンタ命令が実行された時点で計数開始するのか、計数開始指令入力がONしたときに計数開始するのか、現在値レジスタに初期値データを転送するためのプリセット指令入力が付加されているのかどうか、前記2相2入力形式の高速カウンタ回路では各相のパルス信号の立上りと立下りのどの時点で計数を行うのかによって1逓倍計数方式、または2逓倍計数方式、または4逓倍計数方式の計数モードのものがある。これ等の様々な形式の高速カウンタ回路には固有の識別番号が付与されていて、特殊命令と識別番号との組み合わせによって定まる回路編成情報がパラメータメモリ8100nに格納されるようになっている。
入力端子A〜Hに対しては、各チャンネルの論理回路部1100nが予め決定されている多様な機能を発揮するために必要とされる全ての入力信号が接続されて、そのうちのどの入力信号をどのような回路構成によって可逆カウンタ2100nに接続するのかがパラメータメモリ8100nによって選択決定されるようになっている。なお、パラメータメモリ8100nは、プログラマブルコントローラ100Cの運転開始時にマイクロプロセッサ111から送信され、マイクロプロセッサ100Cの運転中には変更されないようになっている。しかし、この入力回路部40の一部の動作は、運転中にマイクロプロセッサ111から送信された指令ラッチメモリ6100nによっても変更できるようになっていて、例えば1相1入力の高速カウンタにおけるアップ・ダウンの計数方向の選択は指令ラッチメモリ6100nの内容によって可変設定されるようになっている。このように、入力回路部40は、可逆カウンタの計数方向の弁別指令、計数入力端子INに接続される計数入力信号の選択接続、リセット端子RSTに接続されるリセット信号の選択接続、計数入力端子INに対する計数信号を強制停止するための停止指令信号の選択接続を行う回路となっている。
論理積否定出力素子46aは、復帰比較回路5103nが論理レベル「H」になったときに、論理積素子45aに作用して、減算カウント動作を停止するためのゲート回路となっており、このゲート回路を有効にするかどうかは入力回路部40の内容に基づいて論理積素子46aによって決定されるようになっている。なお、論理積素子45aは、入力回路部40を介して得られたダウン方向指令信号を可逆カウンタ2100nのダウン指令端子DNに供給するゲート回路となっている。論理積否定出力素子46bは、第一の比較回路5101nが論理レベル「H」になったときに、論理積素子45bに作用して、加算カウント動作を停止するためのゲート回路となっており、このゲート回路を有効にするかどうかは入力回路部40の内容に基づいて論理積素子46bによって決定されるようになっている。なお、論理積素子45bは、入力回路部40を介して得られたアップ方向指令信号を可逆カウンタ2100nのアップ指令端子UPに供給するゲート回路となっている。
以下、図41に示す論理回路部1100n(1200n)を、汎用入力回路(可変フィルタ回路)1110n(1210n)と、汎用出力回路1290n(1190n)とした場合のブロック図である図42について説明する。なお、以下の説明において、論理回路部1100n(1200n)の10番台の数値によって各種の具体的な論理回路内容のものを示しており、論理回路部1100n側について説明するが、論理回路部1200n側も入力ポートとして使用されている場合には同様に構成されている。
図42において、可変フィルタ回路によって構成された汎用入力回路1110n(n=0〜7)は、共通クロック信号回路9001が発生するクロック信号を計数入力信号とする可逆カウンタ2100nによって構成されていて、当該可逆カウンタ2100nの第一の設定レジスタ3101nにはマイクロプロセッサ111からフィルタ定数となる設定データ3110nが送信され格納されている。特殊ユニット240の開閉信号103xの中の一つの入力が、入力インタフェース回路249Xを介して第一のポート21のチャンネル番号nとなるチャンネル端子21nに入力される。開閉信号103xがONしてチャンネル端子21nの論理レベルが「H」になると、論理積素子45bを介してアップ指令端子UPにアップ方向指令が供給される。
その結果、可逆カウンタ2100nは、共通クロック信号回路9001が発生するクロック信号をアップ計数し、現在値レジスタ4101nの現在値が徐々に上昇する。この計数現在値が予め第一の設定レジスタ3101nに格納されているフィルタ定数に相当する上限設定値に達すると、可逆カウンタ2100nは、カウントアップ出力Qを発生し、これが報告ビットメモリ7101nを介して後述の入力処理手段911によってデバイスメモリ114a内の入力イメージメモリへ転送される。
一方、可逆カウンタ2100nからカウントアップ出力Qが発生すると、論理積否定出力素子46bと論理積素子45bを介してアップ指令端子UPの論理レベルが「L」となり、上限設定値以上の加算計数が行われないようになっている。開閉信号103xがONからOFFに変化してチャンネル端子21nの論理レベルが「L」になると、否定論理素子51と論理積素子45aを介してダウン指令端子DNにダウン方向指令が供給される。
その結果、可逆カウンタ2100nは、共通クロック信号回路9001が発生するクロック信号をダウン計数し、現在値レジスタ4101nの現在値が徐々に減少する。この計数現在値がゼロにまで減少すると、可逆カウンタ2100nは、復帰出力を発生し、カウントアップ出力Qの論理変化が報告ビットメモリ7101nを介して後述の入力処理手段911によってデバイスメモリ114a内の入力イメージメモリへ転送される。一方、復帰出力が発生すると、論理積否定出力素子46aと論理積素子45aを介してダウン指令端子DNの論理レベルが「L」となり、ゼロ以下の減算計数が行われないようになっている。
したがって、開閉信号103xがONからOFF、またはOFFからONに変化した場合、共通クロック信号回路9001のクロック周期τ=1μsecと第一の設定レジスタ3101nに格納されているフィルタ定数Nとの積である応答遅延時間N×τ=Nμsecをおいて報告ビットメモリ7101nが変化することになる。なお、開閉信号103xにチャッタリングが生じて不規則な断続動作が行われたような場合には、可逆カウンタ2100nはアップまたはダウンの計数動作を行うことになり、累積加算結果が上限設定値になればON動作が確定し、累積減算結果がゼロになればOFF動作が確定することになる。
一方、第一のポート21が出力ポートとして使用されているときには、第一のモード切換端子28aの論理レベルは「L」となり、チャンネル端子21nの論理状態はゲート素子である最小フィルタ設定回路52を介して報告ビットメモリ7102nに供給され、これが報告信号7112nとしてマイクロプロセッサ111へ送信されるようになっている。なお、第一のポート21が出力ポートとして使用されているときの可逆カウンタ2100nの入出力回路構成は全く異なったものであり、チャンネル端子21nには例えば高速パルス出力が供給され、報告信号7112nはこの高速パルス出力の動作常態を監視するものとなっている。しかし、マイクロプロセッサ111の演算周期は高速パルス出力には追従できないので、各発生パルスを個別に監視することはできないが、パルス出力の発生状態をサンプリングチェックすることが可能となるものである。
汎用出力回路1290n(n=0〜7)は、マイクロプロセッサ111がデバイスメモリ114aの出力イメージメモリから後述する出力処理手段923によって指令ラッチメモリ6200nに送信した出力信号をチャンネル端子22nから出力インタフェース回路149Yと出力端子140Yを介して電気負荷103yに供給する回路となっている。この汎用出力回路1290nは、出力ポートに設定されたチャンネル端子22nに関する特殊命令が使用されていないときに有効となるものであり、例えば後述の高速パルス出力としてチャンネル端子22nが占有されているときには汎用出力としては使用できないようになっている。
次に、可変フィルタ命令REFと監視読出命令EXRDの使用例である図43に示すシーケンス図について説明する。図43(A)は特殊補助リレーM8000が閉路したときに、特殊ユニット230の入力X010に対して可変フィルタ命令REFを適用して、フィルタ定数を5msecにしようとする回路ブロックとなっている。なお、特殊補助リレーM8000は、プログラマブルコントローラ100CのRUNスイッチがONしているときには自動的に付勢される補助リレーとなっている。したがって、図43(B)で示すように特殊ユニット230に接続された開閉信号X010がON/OFF動作した場合に、図42に示す報告ビットメモリ7101n(この事例ではn=0になっている)に格納される入力信号は、図43(C)で示すとおり5msecの応答遅延が発生し、開閉信号X010が短時間のON動作を行っても、報告信号X010は認知されない状態となる。
なお、報告ビットメモリ7101nに基づく入力処理911は、REF命令が実行された時点、またはプログラマブルコントローラ100Cの1演算周期毎にデバイスメモリ114aの入力イメージメモリへ転送されるようになっている。REF命令の第二オペランドでは、目標とする応答遅延時間として、例えば1〜63msecが設定できるようになっているが、図42で示された共通クロック回路9001のクロック信号の周期τは例えば1μsecであり、応答遅延時間として1msecを得るための可逆カウンタ2100nの上限設定値は1000となる。したがって、マイクロプロセッサ111は、応答遅延時間5msecを得るためには、転送仲介メモリ114bに対して1000倍の数値5000を換算転送し、この値が設定データ3110nとして第一の設定レジスタ3101nに転送されるようになっている。
図43(D)は、図示しないシーケンス回路によって駆動される補助リレーM0001によって、監視読出命令EXRDを駆動する回路ブロックを示している。監視読出命令EXRDの第一オペランドでは、出力Y010を先頭とする8ビット分の出力Y010〜Y017が転送元として指定され、第二オペランドによって補助リレーM0100を先頭とする8ビット分の補助リレーM0100〜M0107が転送先として指定され、要は出力Y010〜Y017のON/OFF状態が補助リレーM0100〜M0107に転送されることになる。監視読出命令EXRDは、図42における報告信号7112nによって報告されるものであって、出力ポートとして使用されている各チャンネルの出力状態を監視するためのものとなっており、出力Y010〜Y017の一部は、高速パルス出力を発生しているのに対し、補助リレーM0100〜M0107に読み出されるON/OFF情報は、監視読出命令EXRDが実行されて時点で更新されることになるので、時間的には正確な情報が得られるものではない。
以下、図41に示す論理回路部1100n・1200nを各種の具体的な高速入出力回路に適用した場合の論理回路の構成を前述の図5〜図14を参照しながら説明する。なお、実施の形態1および2の場合と実施の形態3の場合との根本的な相違点は、実施の形態3の場合には、各チャンネルnに対して一対の論理論理回路部を備えているので、入出力点数の合計で2倍の点数の入出力を扱うことができるようになっていることである。
図5:可変フィルタ回路
図5で示された可変フィルタ回路1010nは、図42に示す可変フィルタ回路1110nと1210nによって置き換えられている。図5に示す可変フィルタ回路1010nは、報告ビットメモリ7000nの内容が可変フィルタ命令REFによって指定された補助リレーMに送信されるのに対し、図42に示す可変フィルタ回路1110nおよび1210nでは、シーケンスプログラムに基づかないで入力処理手段911によって自動的に入力イメージメモリへ送信されるようになっている。したがって、図5に示す汎用入力回路1091は、実施の形態3では適用されない回路となっている。
図6:パルス密度測定回路
図6ではパルス密度測定回路1020nが示されているが、図41に示す論理回路部1100n・1200nによれば、同様に構成された一対のパルス密度測定回路1120nおよび1220n(図示しない)が得られる。
図7:パルス幅測定回路
図7ではパルス幅測定回路1022nが示されているが、図41に示す論理回路部1100n・1200nによれば、同様に構成された一対のパルス幅測定回路1122nおよび1222n(図示しない)が得られる。
図8:エッジ検出回路
図8ではエッジ検出回路1031nが示されているが、図41に示す論理回路部1100n・1200nによれば、同様に構成された一対のエッジ検出回路1131nおよび1231n(図示しない)が得られる。
図9:1相1入力カウンタ回路
図9では1相1入力カウンタ回路1030nが示されているが、図41に示す論理回路部1100n・1200nによれば、同様に構成された一対の1相1入力カウンタ回路1130nおよび1230n(図示しない)が得られる。
図10:1相2入力カウンタ回路
図10では1相2入力カウンタ回路1040mが示されているが、図41に示す論理回路部1100n・1200nによれば、同様に構成された一対の1相2入力カウンタ回路1140mおよび1240m(図示しない)が得られる。
図11:PWM出力回路
図11ではPWM出力回路1050nが示されているが、図41に示す論理回路部1100n・1200nによれば、同様に構成された一対のPWM出力回路1150nおよび1250n(図示しない)が得られる。但し、図11に示す汎用出力回路1092に代わって、図42に示す汎用出力回路1190nおよび1290nが使用されるようになっている。
図12:第一のパルス出力回路
図12では第一のパルス出力回路1060mが示されているが、図41に示す論理回路部1100n・1200nによれば、同様に構成された一対の第一のパルス出力回路1160mおよび1260m(図示しない)が得られる。
図13:第二のパルス出力回路
図13では第二のパルス出力回路1070・0と1070・4が示されているが、図41に示す論理回路部1100n・1200nによれば、同様に構成された一対の第二のパルス出力回路1170・0、1270・0、1170・4、1270・4(図示しない)が得られる。
図14:変形型パルス出力回路
図14では変形型パルス出力回路1080・0と1080・4が示されているが、図41に示す論理回路部1100n・1200nによれば、同様に構成された一対の変形型パルス出力回路1180・0、1280・0、1180・4、1280・4(図示しない)が得られる。なお、図13で示された第二のパルス出力回路1070・0や、図14で示された変形型パルス出力回路1080・0においては、可逆カウンタとして2000・0、2000・1、2000・2、2000・3の4点が使用され、特に可逆カウンタ2000・3はパラメータ変更によって異なる目的に使用するようになっている。しかし、一対の論理回路部1100n・1200nを有する場合には、可逆カウンタとして2100・0、2100・1、2200・0、2200・1、2200・2の5点を使用し、パラメータ変更を行わないで第二のパルス出力回路と変形型パルス出力回路を得ることができる。
図37:アナログ比較ユニット
図37の特殊ユニット180はアナログ比較結果がデータセレクタ184を介して入力イメージメモリへ送信されるようになっている。しかし、一対の論理回路部1100n・1200nを有するものの場合には、第一のポート21は入力ポートとし、第二のポート22は出力ポートとしておくことによって、アナログ比較結果は可変フィルタ回路1110nを介して入力イメージメモリへ送信されることになる。
(2)作用・動作の詳細な説明
以上のとおりに構成されたものにおいて、図44で示す基本動作説明用フローチャートに基づいて作用動作を詳細に説明する。図44において、工程900においてプログラマブルコントローラ100Cに電源が投入されると、プログラマブルコントローラ100Cの内部では電源投入が検出されて各部の初期化が行われ、続いて工程901においてマイクロプロセッサ111が動作を開始する。続く工程902では図示しない運転/停止指令用のRUNスイッチがONされたかどうかを判定し、RUNスイッチがONされて運転状態にあればYESの判定を行って工程905へ移行し、RUNスイッチがOFFであればNOの判定を行って工程903へ移行するようになっている。
工程903では外部ツール108が接続されてプログラムモードが設定されているかどうかを判定し、プログラムモードであればYESの判定を行って工程904へ移行し、外部ツールが接続されていないか、または接続されていてもモニタモードが設定されているときにはNOの判定を行って動作終了工程910へ移行するようになっている。工程904では外部ツール108によってプログラムメモリ113Cに対するシーケンスプログラムの転送が行われてから動作終了工程910へ移行する。動作終了工程910では他の制御動作を行ってから再び動作開始工程901へ移行し、以上の動作を繰返すようになっている。
したがって、工程902および903の判定が共にNOであるときには、マイクロプロセッサ111は、工程901、902、903、910、901を循環動作していて、工程902におけるRUNスイッチがONになるか、または工程903がプログラムモードになるのを待っている状態となっている。
やがて、RUNスイッチがONにされると、工程905ではまずプログラムメモリ113C内のプログラムのチェックが行われる。プログラムチェックの中の一つは、カード情報格納メモリ9000に格納されているカード情報によって、第一および第二のポートに接続されている入出力インタフェース回路の種別を判定し、プログラムメモリ113Cに格納されている特殊ユニットに対応した命令内容が一致しているかどうかを判定するようになっている。その他、図16および図17で示された特殊ユニットの入出力が重複使用されていないかどうかを点検し、例えば高速カウンタの拡張番号01と10が使用されていると入力X031の重複使用となってエラー検出されるようになっている。
続く工程906では工程905によるプログラムチェックに異常があれば、YESの判定を行って工程907へ移行し、異常がなければ、NOの判定を行って工程908へ移行するようになっている。工程907では表示器117に対する異常報知指令を発生すると共に、運転動作を停止して動作終了工程910へ移行するようになっている。
工程908ではプログラムメモリ113Cの内容に基づいて特殊ユニットのパラメータメモリ8100n・8200nに対して回路編成情報が送信されると共に、特殊ユニットに対する交信データが格納される転送仲介メモリ114bの割付編成が行われる。また、回路編成情報を受信した特殊ユニットでは受信したパラメータに基づいて各論理回路部1100n・1200nの具体的な回路編成が行われるようになっている。
続く工程930では可変フィルタ命令REFが使用されているかどうかを点検し、この命令が使用されていなくて、特殊命令も使用されていない入力に対してはNOの判定を行って工程931へ移行し、可変フィルタ命令REFが使用されているかまたは特殊命令が使用されているとYESの判定を行って工程909へ移行するようになっている。
工程931では入力フィルタ定数として例えば10msの基準フィルタ定数となるように可変フィルタ回路の初期化設定を行ってから工程909へ移行する。工程909ではRUNスイッチがONされているかどうかを再びチェックして、RNUスイッチがOFFされておればNOの判定を行って終了工程910へ移行し、RUNスイッチがONされておればYESの判定を行って工程911へ移行する。
工程911では一般の入力ユニットに設けられたデータセレクタ(例えば図38の入力X000〜X007に対応したデータセレクタ224)を順次アクセスして、各入力端子に接続された開閉信号のON/OFF状態をデバイスメモリ114a内に割り付けられた入力イメージメモリに転送書込みするすると共に、特殊ユニットの場合であっても特殊命令が適用されていなくて汎用入力として使用されている入力については、図42で示したように報告ビットメモリ7101nまたは7201nの読出しを行って、該当入力のON/OFF状態をデバイスメモリ114a内に割り付けられた入力イメージメモリに転送書込みする。
続く工程912はプログラムメモリ113Cに格納されているシーケンスプログラムを1命令毎に順次読出し実行するステップである。続く工程913は工程912で読み出された命令が特殊ユニットのための特殊命令を実行するものであったかどうかを判定し、特殊命令に関するものでなければNOの判定を行って工程922へ移行し、工程922ではシーケンスプログラムの完了を意味するEND命令であったかどうかを判定し、END命令でなければNOの判定を行って工程912へ復帰移行するようになっている。したがって、特殊命令が使用されていないときには、工程912、913、922、912の循環動作が行われて一般のシーケンス命令が順次実行されるようになっている。
しかし、工程913の判定がYESとなって特殊命令が読み出された場合には工程919aへ移行する。工程919aでは読み出された特殊命令が動作完了報告を行う形式の特殊命令であるかどうかを判定し、動作完了を報告する形式の特殊命令であればYESの判定を行って工程919bへ移行し、完了報告を行わない特殊命令であればNOの判定を行って工程921へ移行するようになっている。工程919bでは実行された特殊命令に対する動作完了報告が得られたかどうかを判定し、完了報告が得られておればYESの判定を行って工程921へ移行し、完了報告が得られていなければNOの判定を行って工程922へ移行するようになっている。
工程921では読み出された特殊命令に関する新たな設定データを送信してから工程922へ移行するようになっている。なお、工程921では特殊命令で指定された設定データを特殊ユニットで取り扱いやすいデータに変換してから転送仲介メモリ114bに転送し、転送仲介メモリ114bから該当の特殊ユニットに送信されるようになっている。
例えば、特殊命令が図12で説明した第一のパルス出力回路1260mに対する第一のパルス出力命令PLSであって、この特殊命令によってパルス周波数と発生パルス数とが指定された場合には、工程923ではパルス周波数の逆数であるパルス周期に換算して、パルス周期と発生パルス数とが特殊ユニットに送信される。特殊ユニットでは指定されたパルス数の発生が完了したとき報告信号7260mによって完了報告を行うようになっているので、パルス発生が完了するまでは工程919bの判定によって工程921へは移行せず、新たな設定データが送信されないようになっている。このようにして、プログラムメモリ113Cに格納されたシーケンスプログラムが順次実行され、やがてプログラム完了を意味するEND命令が読み出されると工程922がYESの判定を行って工程923へ移行する。
工程923では一般の出力ユニットに設けられたラッチメモリ(例えば図38の出力Y000〜Y007に対応したラッチメモリ225)を順次アクセスして、デバイスメモリ114a内に割り付けられた出力イメージメモリの内容を各ラッチメモリに順次転送書込みするすると共に、特殊ユニットの場合であっても特殊命令が適用されていなくて汎用出力として使用されている出力については、図42で示したように該当出力のON/OFF状態を指令ラッチメモリ6200nに転送書込みする。
工程923による出力処理が完了すると、工程909へ移行して、再びRUNスイッチがONされていることを確認した上で工程911へ復帰して、以下同様に、入力処理・シーケンス処理・出力処理を循環実行するようになっている。なお、プログラマブルコントローラには入力処理と出力処理とをシーケンス処理の前後で一括処理する方式のものと、シーケンス処理の過程で適時に入力情報の直接読出しを行ったり、直接出力処理を行う方式のものがあり、ここでは便宜上で一括処理方式で説明するが、直接処理方式のものであってもよい。
以上の動作フローにおいて、工程905は設定異常検出手段、工程908は編成処理手段、工程911は入力処理手段、工程919aと工程919bによって構成された工程ブロック920は転送禁止手段、工程921はデータ変換・転送手段、工程923は出力処理手段、工程931は初期設定手段となるものである。
なお、図44と図18および図19のものを対比すると、図44では工程930と工程931によって自動的に汎用入力のフィルタ定数を例えば10msecの基準値に設定するようになっている。これ以外のフィルタ定数が必要であれば、図43(A)で示した可変フィルタ命令REFによって所望のフィルタ定数を設定することができる。また、図19ではパラメータ変更手段918が設けられ、図13および図14において可逆カウンタ2000・3の役割を変更するようになっている。しかし、図44の場合には図13・図14における可逆カウンタの割付を変更して、5点の可逆カウンタを使用しておくことによってパラメータの変更を必要としないようになっている。
(3)実施の形態3の要点と特徴
この発明の実施の形態3によるプログラマブルコントローラ100Cは、マイクロプロセッサ111と、当該マイクロプロセッサ111と協働するシステムメモリ112Cと、ユーザによって作成されたシーケンスプログラムが外部ツール108から転送書込みされるプログラムメモリ113Cと、入出力情報および制御情報を記憶するための入出力イメージメモリX・Yと補助リレーMとデータレジスタDとを包含するデバイスメモリ114aとを有するCPUユニット110Cと、当該CPUユニットに対してバス接続される単独または複数の入出力ユニット220〜250・260Aを備えると共に、当該入出力ユニットの一部または全部が特殊入出力処理機能を分担して前記マイクロプロセッサ111の制御機能を補完するための集積回路素子20を包含した特殊ユニット230〜250となっている。前記特殊ユニット230〜250は、複数の外部センサまたは外部負荷の少なくとも一方または双方に接続される外部接続用端子230X・240X・240Y・250Yと、当該外部接続端子に接続される多チャンネルの入力インタフェース回路239X・249Xまたは出力インタフェース回路249Y・259Yと、制御仕様の一部分が可変設定できて入出力制御に共用される集積回路素子20と、前記マイクロプロセッサ111と接続するためのバス接続用端子230Z〜250Zとを搭載した電子基板とを備えている。前記集積回路素子20は、前記入力インタフェース回路からON/OFF動作する論理信号が入力される第一のポート21と、前記出力インタフェース回路に対してON/OFF動作する論理信号を出力する第二のポート22と、各チャンネル番号nに対応するパラメータメモリ8100n・8200nと、前記マイクロプロセッサ111から当該パラメータメモリに送信された回路編成データによって入出力処理のための動作仕様が決定される論理回路部1100n・1200nを備えている。
また、前記論理回路部1100n・1200nは、前記入力インタフェース回路239X・249Xを介して得られる論理入力信号を高速計数して、カウントアップ出力または計数データを前記マイクロプロセッサ111に報告信号または演算データとして送信する報告ビットメモリ7100n・7200nと演算レジスタ4100n・4200nを備えると共に、前記マイクロプロセッサ111から受信した設定データまたは指令信号を設定レジスタ3100n・3200nと指令ラッチメモリ6100n・6200nに格納し、当該設定レジスタと指令ラッチメモリの内容に基づく高速パルス出力を前記出力インタフェース回路249Y・259Yに供給する可逆カウンタ2100n・2200nを包含している。前記可逆カウンタ2100n・2200nは、前記演算レジスタ4100n・4200nの一部となる現在値レジスタ4101n・4201nを備え、前記入力インタフェース回路239X・249Xから供給された入力信号に対する高速カウンタ回路を構成して、カウントアップ出力を前記CPUユニット110Cに送信する高速入力処理を行うのか、または前記CPUユニット110Cから受信した設定データに基づく高速パルス出力回路を構成して、所定のパルス出力を前記出力インタフェース回路249Y・259Yに供給する高速出力処理を行うのかは、前記プログラムメモリ113Cに格納されている制御プログラムに包含されている特殊命令の内容に連動して、各チャンネル毎にいずれか一方に決定される。前記パラメータメモリ8100n・8200nに送信される回路編成データにより、複数種類の高速入力処理と複数種類の高速出力処理がなされ、前記外部センサからの入力信号がアナログ信号である場合に、前記入力インタフェース回路は入力信号に比例した周波数のパルスまたは比較判定論理信号を前記集積回路素子20に供給し、前記外部負荷がアナログ負荷である場合に、前記集積回路素子20は出力信号に指令したON/OFF比率のパルス出力を発生して、前記出力インタフェース回路は受信したパルス出力信号を平滑して外部負荷に供給する。
また、前記CPUユニット110Cは、前記特殊ユニット230〜250とのデータ交信を行うための転送仲介メモリ114bを備えると共に、前記システムメモリ112Cは編成処理手段908とデータ変換・転送手段921となる制御プログラムを包含している。前記編成処理手段908は、前記プログラマブルコントローラ100Cの運転開始直後において、前記プログラムメモリ113Cの内容を検索して特殊ユニット230〜250に対応した特殊命令を抽出し、当該特殊命令の内容に対応して当該特殊ユニットで適用される論理回路部1100n・1200nの種別と動作モードに対応した回路編成データを前記パラメータメモリ8100n・8200nに送信すると共に、当該パラメータによって回路編成が特定された各論理回路部と交信するための転送仲介メモリ114bのアドレス編成を行う。前記データ変換・転送手段921は、前記特殊命令で指定されたデバイスメモリ114aの内容に基づいて前記論理回路部1100n・1200nの動作に適した換算単位の設定データと指令信号に変換して前記転送仲介メモリ114bを介して設定レジスタ3100n・3200nおよび指令ラッチメモリ6100n・6200nに送信すると共に、前記論理回路部1100n・1200nから得られた演算データまたは報告信号を前記転送仲介メモリ114bを介して前記特殊命令によって指定されたデバイスメモリ114aに転送する。前記特殊命令は、命令の種別を示す命令語と順不同の第一のオペランド、および第二または第三のオペランドの少なくとも一方とによって構成され、当該第一のオペランドは対象となる特殊ユニットの入出力番号を特定する識別番号を指定し、第二のオペランドは前記演算レジスタから得られる演算データを格納するデータレジスタ番号、または前記設定レジスタに対して送信される設定データが格納されているデータレジスタ番号か直接設定定数を指定し、第三のオペランドは前記報告ビットメモリから得られる報告信号を格納する補助リレー番号、または前記指令ラッチメモリ対して送信される指令信号が格納されている補助リレー番号を指定する。
また、前記論理回路部1100n・1200nに設けられた可逆カウンタ2100n・2200nの一部または全部は、現在値レジスタ4101n・4201nと第一の設定レジスタ3101n・3201nと第二の設定レジスタ3102n・3202nと第一の比較回路5101n・5201nと第二の比較回路5102n・5202nとを備えている。前記現在値レジスタ4101n・4201nは、前記可逆カウンタ2100n・2200nの計数入力の動作回数を計数方向に応じて加減して、当該可逆カウンタの動作開始時の初期値からの累積値を記憶しているメモリである。前記第一の比較回路5101n・5201nは、前記第一の設定レジスタ3101n・3201nに格納されている数値と前記現在値レジスタ4101n・4201nの記憶数値が合致したときに第一の比較一致出力を発生する数値比較回路であり、前記第二の比較回路5102n・5202nは、前記第二の設定レジスタ3102n・3202nに格納されている数値と前記現在値レジスタ4101n・4201nの記憶数値が合致したときに第二の比較一致出力を発生する数値比較回路である。前記現在値レジスタまたは第一および第二の設定レジスタには、前記特殊命令が実行されたときに前記マイクロプロセッサ111から前記転送仲介メモリ114bを介して数値設定が行われる。
また、前記特殊ユニット230〜250に搭載される集積回路素子20は、第一および第二のモード切換端子28aおよび28bを有する多チャンネルの第一および第二のポート21および22と、チャンネル番号nに対応する一対の論理回路部1100n・1200nを備えている。前記第一のポート21は、前記集積回路素子20の外部に設けられた入力インタフェース回路239X・249Xまたは出力インタフェース回路259Yを介して外部機器に接続するための入力端子230X・240Xまたは出力端子250Yに接続される入出力兼用ポートであって、当該第一のポート21を入力ポートとして使用するのか出力ポートとして使用するのかは前記第一のモード切換端子28aに入力された論理レベルによって選択決定される。前記第二のポート22は、前記集積回路素子20の外部に設けられた入力インタフェース回路239Xまたは出力インタフェース回路249Y・259Yを介して外部機器に接続するための入力端子230Xまたは出力端子240Y・250Yに接続される入出力兼用ポートであって、当該第二のポート22を入力ポートとして使用するのか出力ポートとして使用するのかは前記第二のモード切換端子28bに入力された論理レベルによって選択決定される。前記論理回路部1100n・1200nが前記入力インタフェース回路から供給された入力信号に対する高速カウンタ回路を構成して、カウントアップ出力を前記CPUユニット110Cに送信する高速入力処理またはアナログ入力処理を行うのか、または前記CPUユニット110Cから受信した設定データに基づく高速パルス出力回路を構成して、所定のパルス出力を前記出力インタフェース回路に供給する高速出力処理またはアナログ出力処理を行うのかは、前記プログラムメモリ113Cに格納されている制御プログラムに包含されている特殊命令の内容に連動していずれか一方に決定される。
また、当該一対の論理回路部1100n・1200nは、それぞれに各チャンネル番号nに対応して、一対の可逆カウンタ2100n・2200nと、設定レジスタ3100n・3200nと、演算レジスタ4100n・4200nと、指令ラッチメモリ6100n・6200nと、比較回路5100nおよび5200nと、報告ビットメモリ7100n・7200nと、パラメータメモリ8100n・8200nとを備えている。つまり、特殊ユニットに搭載される集積回路素子は一対の論理回路部と入出力兼用の第一および第二のポートを備え、当該第一および第二のポートを入力ポートとして使用するのか出力ポートとして使用するのかはインタフェース回路の種別に応じて自由に選択決定されるようになっている。したがって、一つの集積回路素子でありながら、インタフェース回路の種別さえ変更すれば、入出力混合または入力専用または出力専用、または高速入出力処理用またはアナログ入出力処理用の特殊ユニットにそのまま利用されて多目的機能を発揮することができ、用途の拡大に伴う量産効果によって集積回路素子の製造原価を低減し、安価なプログラマブルコントローラによって高度な入出力制御機能を得ることができる。
また、前記論理回路部1100n・1200nは、各チャンネル番号nに対応する汎用入力回路1110n・1210nまたは汎用出力回路1290n・1190nを備えている。前記汎用入力回路1110n・1210nは、前記第一または第二のポート21および22に接続された論理入力信号が報告ビットメモリ7101n(・7201n)を介して前記デバイスメモリ114aに割り付けられた入力イメージメモリ領域に送信される入力信号中継回路であって、前記報告ビットメモリから前記入力イメージメモリへの転送は、前記システムメモリ112Cに格納されている制御プログラムである入力処理手段911によって実行される。前記汎用出力回路1290n・1190nは、前記デバイスメモリ114aに割り付けられた出力イメージメモリ領域から前記論理回路部1100n・1200nに設けられた指令ラッチメモリ6200n(・6100n)が受信した指令信号をそのまま前記第一または第二のポート21および22に接続された出力回路249Y・259Yに出力する出力信号中継回路であって、前記出力イメージメモリから前記指令ラッチメモリへの転送は、前記システムメモリ112Cに格納されている制御プログラムである出力処理手段923によって実行される。前記汎用入出力回路1110n・1210n、1290n・1190nは、前記論理回路部が高速入出力回路またはアナログ入出力回路として使用されていないときに有効となる。つまり、特殊ユニットに内蔵される集積回路素子は高速入出力処理回路に加えて汎用入出力回路を備えている。したがって、高速入出力処理を必要とする入出力点数が少ないときには、残りの入出力端子を汎用入出力として無駄なく使用して、特殊ユニットを経済的に有効活用することができる。
また、前記汎用入力回路は、各チャンネル番号nに対応した可変フィルタ回路1110n・1210nを構成すると共に、前記システムメモリ112Cは、初期設定手段931となる制御プログラムを包含している。前記可変フィルタ回路1110n・1210nは、入力信号の論理レベルの大小に応じて所定のクロック信号を可逆計数する可逆カウンタ2100n(・2200n)と入力確定回路となる報告ビットメモリ7101n(・7201n)によって構成されている。前記第一の設定レジスタ3101n(・3201n)には、設定データ3110n(・3210n)として受信したフィルタ定数が格納されていて、前記現在値レジスタ4101n(・4201n)の値が当該第一の設定レジスタの設定値に上昇するとカウントアップ出力Qを発生して加算カウントを停止すると共に、前記現在値レジスタの現在値がゼロにまで下降すると前記カウントアップ出力Qに代わって復帰出力を発生して減算カウントを停止する。前記入力確定回路7101n(・7201n)は、前記カウントアップ出力Qによってセットされると共に、前記復帰出力Qによってリセットされ、当該入力確定回路の出力は、前記入力処理手段911によって前記デバイスメモリ114aの入力イメージメモリ領域に送信される。
また、前記初期設定手段931は、プログラマブルコントローラ100Cの運転開始時に作用して、前記プログラムメモリ113Cに可変フィルタ命令が存在するか否かを検索し、可変フィルタ命令REFが使用されていない入力信号に対しては基準となる一定のフィルタ定数を前記第一の設定レジスタ3101n・3201nに送信する。前記可変フィルタ命令REFは、対象となる入力リレー番号と、必要とされる入力フィルタ定数が設定データとして格納されるデータレジスタ番号または直接設定定数とをオペランドとして有する特殊命令であり、当該特殊命令が実行されると前記設定データが前記入力リレー番号に対応した第一の設定レジスタ3101n・3201nに送信される。つまり、特殊ユニットの入力端子を汎用入力として利用するときには、フィルタ定数は、自動的に基準の定数に設定されていると共に、必要に応じて可変フィルタ命令によって入力フィルタを可変設定することができるようになっている。また、可変フィルタ回路は、各入力チヤンネルに割り当てられた可逆カウンタを利用して構成されている。したがって、入力フィルタを通常の入力回路に設けられたフィルタよりも大きなフィルタ定数に設定することによって、重畳ノイズが大きな入力信号を十分に平滑してCPUユニットに取り込んだり、入力フィルタを通常の入力回路に設けられたフィルタよりも小さなフィルタ定数に設定することによって、重畳ノイズが小さな入力信号を速やかにCPUユニットに取り込んだりして、入力信号回路の実態に対応した入力処理を行うことができる。また、高速入力処理を行わない入力チャンネルにおいては各チャンネルに割り当てられた可逆カウンタを有効活用して、手軽に広範囲は可変フィルタ回路を得ることができる。
また、前記集積回路素子20は、各チャンネル番号nに対応した第一および第二のゲート素子25nおよび27nと最小フィルタ設定回路52と、前記プログラムメモリ113Cに格納される監視読出命令EXRDを備えている。前記第一および第二のゲート素子25nおよび27nは、前記論理回路部1100n・1200nの出力端子と前記第一および第二のポート21および22との間に接続され、前記第一および第二のモード切換端子28aおよび28bの論理レベルに応動して各出力信号を遮断する複数のゲート素子であって、前記第一および第二のポート21および22に入力インタフェース回路が接続されているときには出力信号を遮断し、前記第一および第二のポート21および22に出力インタフェース回路が接続されているときには出力信号を有効にする。前記最小フィルタ設定回路52は、前記第一および第二のポート21および22に出力インタフェース回路が接続されていて前記第一および第二のゲート素子25nおよび27nの出力信号が有効とされているときに作用して、フィルタ回路を介さないで当該出力信号を前記報告ビットメモリ7102n(・7202n)に格納する。前記監視読出命令EXRDは、出力リレー番号と前記デバイスメモリ114の転送先デバイス番号を指定するオペランドを備え、前記最小フィルタ設定回路52を介して入力された前記報告ビットメモリ7102n(・7202n)の内容を報告信号7112n(7212n)として読み出す。つまり、第一および第二のポートが出力ポートとして利用されているときには、可変フィルタ回路を無効にして、出力信号状態を特殊命令によって監視読出することができるようになっている。したがって、第一および第二のポートが入力ポートとして利用されているときには、可変フィルタ回路を介してデバイスメモリの入力イメージメモリに送信される入力信号に代わって、出力信号状態を特殊命令によって指定されたデバイスメモリに読み出して、該当番号の入力イメージメモリに誤った情報が転送されないようにすることができる。
また、前記集積回路素子20または当該集積回路素子を搭載した特殊ユニット230〜250は、カード情報格納メモリ9000を備えると共に、前記システムメモリ112Cは、設定異常検出手段905となる制御プログラムを包含している。前記カード情報格納メモリ9000は、前記第一および第二のポート21および22が入力ポートとして設定されているのか出力ポートとして設定されているのかに関する前記第一および第二のモード切換端子28aおよび28bの論理情報と、前記入出力インタフェース回路が論理信号回路であるかアナログ信号回路であるかを識別する第一および第二の識別端子24aおよび24bの論理情報の少なくとも一方を包含し、当該カード情報格納メモリ9000の内容は、前記データバスを介して前記CPUユニット110Cに接続されて前記マイクロプロセッサ111によって読出し可能となっている。前記設定異常検出手段905は、前記第一および第二のポート21および22に接続されている入出力インタフェース回路の種別と、前記プログラムメモリ113Cに格納されている命令内容が不一致であることを検出して、運転停止および異常報知を行う。つまり、運転開始に当たって、特殊ユニットの入出力インタフェース回路の種別に対応したカード情報とプログラムメモリ内の命令内容を照合して、不適当な命令が使用されているときには運転停止と異常報知を行うようになっている。したがって、誤った制御プログラムの有無を発見してデバッグ処理を行うことができると共に、危険な運転が行われないので安全性が向上する。
また、前記論理回路部1100n・1200nに設けられた可逆カウンタ2100n・2200nの一部または全部は、待機バッファレジスタ4104n・4204nを備えている。当該待機バッファレジスタ4104n・4204nは、前記転送仲介メモリ114bから送信された数値データが一時格納され、前記論理回路部1100n・1200nが発生するタイミング信号に基づいて当該待機バッファレジスタの内容が前記第一の設定レジスタ3101n・3201nまたは第二の設定レジスタ3102n・3202nに転送される。前記転送仲介メモリ114bから送信された数値データが前記待機バッファレジスタを介して時間差をおいて前記第一および第二の設定値レジスタに転送されるのか、待機バッファレジスタを介さずに第一および第二の設定レジスタに対して直接転送されるのかは、特殊命令の内容によって判別される。
また、前記システムメモリ112Cは、プログラマブルコントローラ100Cの運転中において実行される転送禁止手段920となる制御プログラムを包含している。当該転送禁止手段920は、前記特殊ユニット230〜250に適用された特殊命令が動作完了信号を発生する命令であって、当該特殊命令が実行開始されてから動作完了信号が得られるまでは少なくとも前記第一の設定レジスタ3101n・3201nと第二の設定レジスタ3102n・3202n対する設定データの送信を禁止する。当該動作完了信号は、前記第一のポート21に入力されたパルス信号、または第二のポート22が発生したパルス信号が、予め設定された目標パルスに到達したとき、または指令信号によってパルス発生・計数を完了したときに、前記報告ビットメモリ7100n・7200nの内容を読み出して得られる。
また、前記論理回路部1100n・1200nに設けられた可逆カウンタ2100n・2200nの一部または全部は、変分値調整用レジスタ4103n・4203nを備えている。当該変分値調整用レジスタ4103n・4203nは前記可逆カウンタ2100n・2200nに対してアップまたはダウンの計数入力が与えられたときに作用して、前記現在値レジスタ4101n・4201nに対して変分値調整用レジスタ4103n・4203nに格納されている数値が加算または減算される。
実施の形態4.
(1)構成と作用の詳細な説明
以下、この発明の実施の形態4によるプログラマブルコントローラのユニット構成図である図45について、図38のものとの相違点を中心として説明する。なお、各図において、同一符号は同一または相当部分を示している。また、マイクロプロセッサ111の基本動作は図44のフローチャートで説明したとおりである。
図45において、プログラマブルコントローラ100Dは、CPUユニット110Dと、入出力ユニット220〜250、260Bと、終端ブロック290とによって構成されている。CPUユニット110Dは、例えばAC100V〜240Vの商用電源である外部電源109から給電されると共に、図示しない脱着コネクタを介して外部ツール108と接続され、入出力制御プログラムの書込みや運転状態の監視を行うことができるようになっている。CPUユニット110Dの内部には、マイクロプロセッサ111と、例えばマスクROMメモリであるシステムメモリ112Dと、例えば不揮発フラッシュメモリであって、ユーザが作成した入出力制御プログラムが格納されるプログラムメモリ113Dと、例えばRAMメモリであって、後述する入出力イメージメモリと補助リレーとデータレジスタとを包含するデバイスメモリ114aと、前述した転送仲介メモリ114bと、前記デバイスメモリ114aの一部領域をバックアップするバッテリ115と、各入出力ユニットとデータ交信を行うためのバスインタフェース回路116と、警報表示器117と、前記外部ツール108とマイクロプロセッサ111とを接続するシリアルインタフェース118と、制御用電源119とが設けられている。
この内、マイクロプロセッサ111、システムメモリ112D、プログラムメモリ113D、デバイスメモリ114a、転送仲介メモリ114b、バスインタフェース116、シリアルインタフェース118とは互いにバス接続されている。なお、制御用電源119はCPUユニット110Dの外部に設置することも可能であり、電源ユニットとCPUユニットと所定点数の入出力ユニットによって基本ユニットが構成されるようになっている。
システムメモリ112Dは、図44で前述した各種制御プログラムを包含すると共に、プログラムメモリ113Dに格納されたシーケンス言語による入出力制御プログラムをマイクロプロセッサ111に対応した機械言語に変換してマイクロプロセッサ111を作動させるものとなっていて、製品の出荷段階でメーカによって格納されたプログラムとなっている。プログラムメモリ113Dには、例えばパーソナルコンピュータである外部ツール108を用いてユーザによって作成された入出力制御用のシーケンスプログラムが、シリアルインタフェース118を介して書込みされている。その一例となるものが前述した図20〜図25、図27、図29、図36、図43で表現されたシーケンス図であって、画面上でシーケンス図を作画すると自動的にシーケンスプログラムが作成されるようになっている。
CPUユニット110Dの端面位置には、前述した入出力ユニット220、230、240、250が接続されている。続く入出力ユニット260Bは、集積回路素子20と第一および第二のポート21および22を備えた特殊ユニットを構成し、当該特殊ユニットは、例えば8点のアナログセンサ105Aによるアナログ信号電圧が、電圧/周波数変換器263と入力絶縁回路261とを介して入力されると共に、8点のアナログ負荷105bが出力絶縁回路266と平滑回路268を介して駆動される入出力混合の特殊ユニットとなっている。
以下、図45に示す特殊ユニット260Bについて、アナログセンサ側の構成図である図46と、アナログ負荷側の構成図である図47について、図39および図40のものとの相違点を中心として説明する。なお、各図において、同一符号は同一または相当部分を示している。図46および図47において、特殊ユニット260Bは、8点のアナログセンサ105Aに接続される入力端子260Xと、8点のアナログ負荷105bに接続される出力端子260Yを備えている。入力端子260Xと集積回路素子20に設けられた第一のポート21との間にはアナログ回路用の入力インタフェース回路269Xが設けられている。入力インタフェース回路269Xは、入力電圧に比例した周波数のパルスを発生する電圧/周波数変換器263nと入力絶縁回路261nとが各チャンネル番号n=0〜7毎に直列接続されている。出力端子260Yと集積回路素子20に設けられた第二のポート22との間にはアナログ負荷用の出力インタフェース回路269Yが設けられている。出力インタフェース回路269Yは、出力絶縁回路266nと平滑回路268nとがが各チャンネル番号n=0〜7毎に直列接続されている。
第一および第二のポート21および22は、チャンネル番号n=0〜7に対応して図中で符号表記されていないチャンネル端子21nおよび22nを備え、各チャンネル端子には同一構成内容の論理回路部1100n・1200nとが設けられている。論理回路部1100nの複数の入力端子の一つはチャンネル端子21nに直接接続され、論理回路部1100nの複数の出力端子の一つは第一のゲート素子25nを介してチャンネル端子21nに間接接続されている。各ゲート素子25nのゲート端子は第一のモード切換端子28aを介して定電圧電源線Vccに接続されているが、これは第一のポート21が出力インタフェース回路269Yではなく、入力インタフェース回路269Xに接続されていることを意味するものであると共に、第一のモード切換端子28aの論理レベルが「H」であることによって第一のゲート素子25nは開路状態となっている。なお、第一の識別端子24aはグランド回路GNDに接続されているが、これは入力インタフェース回路269Xが論理信号用ではなくアナログ信号用であることを識別するためのものとなっている。さらに、第一の信号端子26aの論理レベルは「H」となっていて、前述のアナログ比較用ではないことを示している。
論理回路部1200nの複数の入力端子の一つはチャンネル端子22nに直接接続され、論理回路部1200nの複数の出力端子の一つは第二のゲート素子27nを介してチャンネル端子22nに間接接続されている。各ゲート素子27nのゲート端子は第二のモード切換端子28bを介してグランド回路GNDに接続されているが、これは第二のポート22が入力インタフェース回路269Xではなく、出力インタフェース回路269Yに接続されていることを意味するものであると共に、第二のモード切換端子28bの論理レベルが「L」であることによって第二のゲート素子27nは閉路状態となっている。なお、第二の識別端子26bもグランド回路GNDに接続されているが、これは出力インタフェース回路269Yが論理負荷用ではなくてアナログ負荷用のものであることを識別するためのものとなっている。さらに、第二の信号端子26bの論理レベルは「H」となっていて、前述のアナログ比較用ではないことを示している。特殊ユニット260Bを構成する電子基板29Abには前記マイクロプロセッサ111とバス接続するためのバス接続用端子260Zが設けられ、当該バス接続用端子260Zは集積回路素子20のバス接続用端子23に接続されている。
以下、図41に示す論理回路部1100n・1200nを各種の具体的なアナログ入出力回路に適用した場合の論理回路の構成を前述の図34を参照しながら説明する。なお、実施の形態1および2の場合と実施の形態3および4の場合の根本的な相違点は、実施の形態3および4の場合には各チャンネルnに対して一対の論理論理回路部を備えているので、入出力点数の合計で2倍の点数の入出力を扱うことができるようになっていることである。
図34:パルス密度測定回路
図34ではアナログ入力用のパルス密度測定回路1021nが示されているが、図41に示す論理回路部1100n・1200nによれば、同様に構成された一対のパルス密度測定回路1121n・1221n(図示しない)が得られる。
図35:PWM出力回路
図35ではアナログ出力用のPWM出力回路1051nが示されているが、図41に示す論理回路部1100n・1200nによれば、同様に構成された一対のPWM出力回路1151n・1251n(図示しない)が得られる。したがって、例えば図30における入出力ユニット170では、8点のアナログ入力端子170Xと8点のアナログ出力端子170Yを備えているが、論理回路部1000nが8点しかないために、入出力の合計で8点の処理を行うことができる構成となっている。これに対し、例えば図45における入出力ユニット260Bでは、8点のアナログ入力端子260Xと8点のアナログ出力端子260Yを備えていて、論理回路部1100n・1200nを各8点備えているために、入力・出力で各8点、合計で16点のアナログ入出力の処理を行うことができる構成となっている。
特殊ユニット260Bは、8点のアナログ出力が行えるようになっているが、もしもアナログ出力を1点しか必要としない用途においては、残りの7点をON/OFF動作の負荷に適用することができる。この場合、図35における設定データ3151n・3251nの中のOFF時間幅に関するデータをゼロにしたり、最大にすることによって出力を完全ONまたは完全OFFにすることができるが、このような数値データを送信しなくても、デバイスメモリ114aの中の出力イメージメモリにON/OFF情報を書込んでおくと、図42に示す汎用出力回路1190nおよび1290nによって指令ラッチメモリ6100n・6200nにON/OFF情報を送信し、指令ラッチメモリ6100n・6200nからチャンネル端子21nおよび22nにON/OFF信号を出力することができる。なお、PWM命令が適用されていないアナログ出力チャンネルについては、デバイスメモリ114aの中の出力イメージメモリの内容が出力処理手段923によって自動的に指令ラッチメモリ6100n・6200nに送信されるようになっている。
特殊ユニット260Bは、8点のアナログ入力が行えるようになっているが、もしもアナログ入力を1点しか必要としない用途においては、残りの7点を開閉信号入力として使用することができる。これは図34と図36(A4)において説明したとおりである。なお、以上の説明において、実施の形態3のシステムメモリを112C、実施の形態4のシステムメモリを112Dと示したが、これらのシステムメモリは同一のものが使用される。
(2)実施の形態4の要点と特徴
以上の説明で明らかなとおり、この発明の実施の形態4によるプログラマブルコントローラ100Dは、マイクロプロセッサ111と、当該マイクロプロセッサ111と協働するシステムメモリ112Dと、ユーザによって作成されたシーケンスプログラムが外部ツール108から転送書込みされるプログラムメモリ113Dと、入出力情報および制御情報を記憶するための入出力イメージメモリX・Yと補助リレーMとデータレジスタDとを包含するデバイスメモリ114aとを有するCPUユニット110Dと、当該CPUユニットに対してバス接続される単独または複数の入出力ユニット220〜250・260Bを備えると共に、当該入出力ユニットの一部または全部が特殊入出力処理機能を分担して前記マイクロプロセッサ111の制御機能を補完するための集積回路素子20を包含した特殊ユニット230〜250・260Bとなっている。前記特殊ユニット230〜250・260Bは、複数の外部センサまたは外部負荷の少なくとも一方または双方に接続される外部接続用端子230X・240X・260X、240Y・250Y・260Yと、当該外部接続端子に接続される多チャンネルの入力インタフェース回路239X・249X・269Xまたは出力インタフェース回路249Y・259Y・269Yと、制御仕様の一部分が可変設定できて入出力制御に共用される集積回路素子20と、前記マイクロプロセッサ111と接続するためのバス接続用端子230Z〜250Z・260Zとを搭載した電子基板とを備えている。前記集積回路素子20は、前記入力インタフェース回路239X・249X・269XからON/OFF動作する論理信号が入力される第一のポート21と、前記出力インタフェース回路249Y・259Y・269Yに対してON/OFF動作する論理信号を出力する第二のポート22と、各チャンネル番号nに対応するパラメータメモリ8100n・8200nと、前記マイクロプロセッサ111から当該パラメータメモリに送信された回路編成データによって入出力処理のための動作仕様が決定される論理回路部1100n・1200nを備えている。
また、前記論理回路部1100n・1200nは、報告ビットメモリ7100n・7200nと、演算レジスタ4100n・4200nと、設定レジスタ3100n・3200nと、指令ラッチメモリ6100n・6200nと、可逆カウンタ2100n・2200nを包含している。前記可逆カウンタ2100n・2200nは、前記演算レジスタ4100n・4200nの一部となる現在値レジスタ4101n・4201nを備えている。前記パラメータメモリ8100n・8200nに送信される回路編成データは、複数種類の高速入力処理回路と複数種類の高速出力処理回路とにより処理され、前記外部センサからの入力信号がアナログ信号である場合に、前記入力インタフェース回路269Xは、入力信号に比例した周波数のパルスを前記集積回路素子20に供給し、前記外部負荷がアナログ負荷である場合には、前記集積回路素子20は出力信号に指令したON/OFF比率のパルス出力を発生し、前記出力インタフェース回路269Yは、受信したパルス出力信号を平滑して外部負荷に供給する。
また、前記CPUユニット110Dは、前記特殊ユニット230〜250・260Bとのデータ交信を行うための転送仲介メモリ114bを備えると共に、前記システムメモリ112Dは、編成処理手段908とデータ変換・転送手段921となる制御プログラムを包含している。前記編成処理手段908は、回路編成データを前記パラメータメモリ8100n・8200nに送信すると共に、転送仲介メモリ114bのアドレス編成を行う。前記データ変換・転送手段921は、前記転送仲介メモリ114bを介して前記特殊命令で指定されたデバイスメモリ114aと前記設定レジスタ3100n・3200nおよび指令ラッチメモリ6100n・6200n、または前記演算レジスタ4100n・4200nおよび報告ビットメモリ7100n・7200nとの間のデータ交信を行う。前記特殊命令は、命令の種別を示す命令語と順不同の第一のオペランド、および第二または第三のオペランドの少なくとも一方とによって構成されている。
また、前記論理回路部1100n・1200nに設けられた可逆カウンタ2100n・2200nの一部または全部は、現在値レジスタ4101n・4201nと、第一の設定レジスタ3101n・3201nと、第二の設定レジスタ3102n・3202nと、第一の比較回路5101n・5201nと、第二の比較回路5102n・5202nとを備えている。前記現在値レジスタまたは第一および第二の設定レジスタには、前記特殊命令が実行されたときに前記マイクロプロセッサ111から前記転送仲介メモリ114bを介して数値設定が行われる。
また、前記特殊ユニット230〜250:260Bに搭載される集積回路素子20は、第一および第二のモード切換端子28aおよび28bを有する多チャンネルの第一および第二のポート21および22と、チャンネル番号nに対応する一対の論理回路部1100n・1200nを備えている。前記第一のポート21を入力ポートとして使用するのか出力ポートとして使用するのかは前記第一のモード切換端子28aに入力された論理レベルによって選択決定される。前記第二のポート22を入力ポートとして使用するのか出力ポートとして使用するのかは前記第二のモード切換端子28bに入力された論理レベルによって選択決定される。前記論理回路部1100n・1200nが前記入力インタフェース回路から供給された入力信号に対する高速カウンタ回路を構成して、カウントアップ出力を前記CPUユニット110Dに送信する高速入力処理またはアナログ入力処理を行うのか、または前記CPUユニット110Dから受信した設定データに基づく高速パルス出力回路を構成して、所定のパルス出力を前記出力インタフェース回路に供給する高速出力処理またはアナログ出力処理を行うのかは、前記プログラムメモリ113Dに格納されている制御プログラムに包含されている特殊命令の内容に連動していずれか一方に決定される。当該一対の論理回路部1100n・1200nは、それぞれに各チャンネル番号nに対応して、一対の可逆カウンタ2100n・2200nと、設定レジスタ3100n・3200nと、演算レジスタ4100n・4200nと、指令ラッチメモリ6100n・6200nと、比較回路5100nおよび5200nと、報告ビットメモリ7100n・7200nと、パラメータメモリ8100n・8200nとを備えている。
また、前記集積回路素子20または当該集積回路素子を搭載した特殊ユニット230〜250・260Bは、カード情報格納メモリ9000を備えると共に、前記システムメモリ112Dは、設定異常検出手段905となる制御プログラムを包含している。前記カード情報格納メモリ9000は、前記第一および第二のポート21および22が入力ポートとして設定されているのか出力ポートとして設定されているのかに関する前記第一および第二のモード切換端子28aおよび28bの論理情報と、前記入出力インタフェース回路が論理信号回路であるかアナログ信号回路であるかを識別する第一および第二の識別端子24aおよび24bの論理情報の少なくとも一方を包含する。当該カード情報格納メモリ9000の内容は、前記データバスを介して前記CPUユニット110Dに接続されて前記マイクロプロセッサ111によって読出し可能となっている。前記設定異常検出手段905は、前記第一および第二のポート21および22に接続されている入出力インタフェース回路の種別と、前記プログラムメモリ113Dに格納されている命令内容が不一致であることを検出して、運転停止および異常報知を行う。
実施の形態5.
(1)構成と作用の詳細な説明
以下、この発明の実施の形態5による特殊ユニットの内部構成図である図48について説明する。図48において、CPUユニット110Eは、マイクロプロセッサ111と、システムメモリ112Eと、プログラムメモリ113Eと、デバイスメモリ114aと、転送仲介メモリ114bとを備え、プログラムメモリ113Eには、外部ツール108からシーケンスプログラムが転送書込みされるようになっている。CPUユニット110Eに対してバス接続された特殊ユニット340は、8点の開閉センサ103xに接続される入力端子340Xと、8点の電気負荷103yに接続される出力端子340Yを備えている。
入力端子340Xと集積回路素子30に設けられた第一のポート31との間には、高速論理入力用の入力インタフェース回路349Xが設けられている。入力インタフェース回路349Xは、入力絶縁回路341nと入力フィルタとなる例えば時定数で5μs程度の比較的短い時定数の入力フィルタ342nとが各チャンネル番号n=0〜7毎に直列接続されている。出力端子340Yと集積回路素子30に設けられた第二のポート32との間には、ON/OFF動作用の出力インタフェース回路349Yが設けられている。出力インタフェース回路349Yは、パワートランジスタである出力素子347nと出力絶縁回路346nとが各チャンネル番号n=0〜7毎に直列接続されている。電子基板39xyには、入力端子340Xと入力インタフェース回路349X、出力端子340Yと出力インタフェース回路349Y、バス接続用コネクタ340Z並びに集積回路素子30が搭載されて、特殊ユニット340を構成している。
第一および第二のポート、はチャンネル番号n=0〜7に対応して図中で符号表記されていないチャンネル端子31nおよび32nを備えている。各チャンネルnには一対の論理回路部1100n・1200nが割付されていて、当該論理回路部1100n・1200nは、データバスDATAとの間で信号授受を行うと共に、論理回路部1100n・1200n相互間でも信号の授受を行い、さらにはチャンネル端子31nから信号を受け取ったり、チャンネル端子32nに信号を出力するようになっている。
論理回路部1100n・1200nの詳細は図41に相当したものとなっていて、典型的な高速入力処理動作としては例えばチャンネル端子31nから高速パルス信号が入力される。論理回路部1100nは、これを計数して所定の目標回数になればカウントアップ出力をデータバスDATAを介してマイクロプロセッサ111に送信し、当該目標回数は予めデータバスDATAを介してマイクロプロセッサ111から設定データとして送信されているものである。
また、典型的な高速出力処理動作としては、例えばマイクロプロセッサ111からデータバスDATAを介して論理回路部1200nに対して予め設定データとして送信されたパルス周期と発生パルス数に基づいて、チャンネル端子32nから高速パルス出力を発生するものである。
第一の識別端子34aは、第一のポート31に接続された入力インタフェース回路349Xが論理入力用であることを識別するためのものであり、論理レベル「H」となるように配線パターンが接続されている。第一の識別端子34bは、第二のポート32に接続された出力インタフェース回路349Yが論理出力用であることを識別するためのものであり、論理レベル「H」となるように配線パターンが接続されている。
第一および第二の信号端子36aおよび36bは論理レベル「H」となっていて、高速論理用の入出力インタフェース回路が接続されていることを示している。なお、入出力インタフェース回路がアナログ比較用のものである場合には第一および第二の信号端子36aおよび36bは論理レベル「L」に設定されるようになっている。
これ等の識別端子情報は、カード情報格納メモリ9000に供給され、データバスDATAを介してマイクロプロセッサ111へ送信されるようになっている。共通クロック回路9001は例えば1μsecを周期とするクロック信号τを発生して、必要に応じて各論理回路部1000nへ供給するようになっている。共通トリガ回路9002は例えば信号周期T0=10msecで1μsec幅の相前後するトリガ信号P0・Q0を発生し、必要に応じて各論理回路部1000nへ供給するようになっている。
一対の論理回路部1100n・1200nは、それぞれ16ビットの可逆カウンタ2100n・2200nと、設定レジスタ3100n・3200nと、演算レジスタ4100n・4200nと、比較回路5100nおよび5200nとを備えているが、一対の可逆カウンタ2100n・2200nは、パラメータメモリ8100n・8200nの内容によっては相互に従属接続されて1個の32ビット可逆カウンタ2000nとして動作するようになっている。一対の可逆カウンタ2100n・2200nが1個の可逆カウンタ2000nとして従属接続された場合には、設定レジスタ3100n・3200nと、演算レジスタ4100n・4200nと、比較回路5100nおよび5200nもそれぞれ32ビットの設定レジスタ3000n、演算レジスタ4000n、比較回路5000nとして一体化されるようになっている。
各チャンネルに設けられた可逆カウンタを2点の16ビットカウンタ2100n・2200nとして扱うか、1点の32ビットカウンタ2000nとして扱うかの識別は、可逆カウンタに対する特殊命令が32ビット命令であるか16ビット命令であるかによって識別されるようになっている。なお、図39および図40で示したとおり、各論理回路部1100n・1200nに対して第一および第二のゲート素子25nおよび27nに相当した第一および第二のゲート素子35nおよび37nを設けるようにすれば、第一および第二のポート31および32を入出力兼用ポートにすることも可能である。
(2)実施の形態5の要点と特徴
以上の説明で明らかなとおり、この発明の実施の形態5によるプログラマブルコントローラ100Eは、マイクロプロセッサ111と、当該マイクロプロセッサ111と協働するシステムメモリ112Eと、ユーザによって作成されたシーケンスプログラムが外部ツール108から転送書込みされるプログラムメモリ113Eと、入出力情報および制御情報を記憶するための入出力イメージメモリX・Yと補助リレーMとデータレジスタDとを包含するデバイスメモリ114aとを有するCPUユニット110Eと、当該CPUユニットに対してバス接続される単独または複数の入出力ユニット340を備えると共に、当該入出力ユニットの一部または全部が特殊入出力処理機能を分担して前記マイクロプロセッサ111の制御機能を補完するための集積回路素子30を包含した特殊ユニット340となっている。前記特殊ユニット340は、複数の外部センサまたは外部負荷の少なくとも一方または双方に接続される外部接続用端子340X・340Yと、当該外部接続端子に接続される多チャンネルの入力インタフェース回路349Xまたは出力インタフェース回路349Yと、制御仕様の一部分が可変設定できて入出力制御に共用される集積回路素子30と、前記マイクロプロセッサ111と接続するためのバス接続用端子340Zとを搭載した電子基板39xyとを備えている。前記集積回路素子30は、前記入力インタフェース回路349XからON/OFF動作する論理信号が入力される第一のポート31と、前記出力インタフェース回路349Yに対してON/OFF動作する論理信号を出力する第二のポート32と、各チャンネル番号nに対応するパラメータメモリ8100n・8200nと、前記マイクロプロセッサ111から当該パラメータメモリに送信された回路編成データによって入出力処理のための動作仕様が決定される論理回路部1100n・1200nを備えている。
また、前記論理回路部1100n・1200nは、前記入力インタフェース回路349Xを介して得られる論理入力信号を高速計数して、カウントアップ出力または計数データを前記マイクロプロセッサ111に報告信号または演算データとして送信する報告ビットメモリ7100n・7200nと演算レジスタ4100n・4200nを備えると共に、前記マイクロプロセッサ111から受信した設定データまたは指令信号を設定レジスタ3100n・3200nと指令ラッチメモリ6100n・6200nに格納し、当該設定レジスタと指令ラッチメモリの内容に基づく高速パルス出力を前記出力インタフェース回路349Yに供給する可逆カウンタ2100n・2200nを包含している。前記可逆カウンタ2100n・2200nは、前記演算レジスタの一部となる現在値レジスタ4101n・4201nを備え、前記入力インタフェース回路349Xから供給された入力信号に対する高速カウンタ回路を構成して、カウントアップ出力を前記CPUユニット110Eに送信する高速入力処理を行うのか、または前記CPUユニット110Eから受信した設定データに基づく高速パルス出力回路を構成して、所定のパルス出力を前記出力インタフェース回路349Yに供給する高速出力処理を行うのかは、前記プログラムメモリに格納されている制御プログラムに包含されている特殊命令の内容に連動して、各チャンネル毎にいずれか一方に決定される。前記パラメータメモリ8100n・8200nに送信される回路編成データは、複数種類の高速入力処理回路と複数種類の高速出力処理回路とにより処理され、前記外部センサからの入力信号がアナログ信号である場合に、前記入力インタフェース回路は入力信号に比例した周波数のパルスまたは比較判定論理信号を前記集積回路素子30に供給し、前記外部負荷がアナログ負荷である場合には、前記集積回路素子30は出力信号に指令したON/OFF比率のパルス出力を発生して、前記出力インタフェース回路は受信したパルス出力信号を平滑して外部負荷に供給する。
また、前記CPUユニット110Eは、前記特殊ユニット340とのデータ交信を行うための転送仲介メモリ114bを備えると共に、前記システムメモリ112Eは、編成処理手段908とデータ変換・転送手段921となる制御プログラムを包含している。前記編成処理手段908は、前記プログラマブルコントローラ100Eの運転開始直後において、前記プログラムメモリ113Eの内容を検索して特殊ユニット340に対応した特殊命令を抽出し、当該特殊命令の内容に対応して当該特殊ユニットで適用される論理回路部1100n・1200nの種別と動作モードに対応した回路編成データを前記パラメータメモリ8100n・8200nに送信すると共に、当該パラメータによって回路編成が特定された各論理回路部と交信するための転送仲介メモリ114bのアドレス編成を行う。前記データ変換・転送手段921は、前記特殊命令で指定されたデバイスメモリ114aの内容に基づいて前記論理回路部1100n・1200nの動作に適した換算単位の設定データと指令信号に変換して前記転送仲介メモリ114bを介して設定レジスタ3100n・3200nおよび指令ラッチメモリ6100n・6200nに送信すると共に、前記論理回路部1100n・1200nから得られた演算データまたは報告信号を前記転送仲介メモリ114bを介して前記特殊命令によって指定されたデバイスメモリ114aに転送する。前記特殊命令は、命令の種別を示す命令語と順不同の第一のオペランド、および第二または第三のオペランドの少なくとも一方とによって構成され、当該第一のオペランドは対象となる特殊ユニットの入出力番号を特定する識別番号を指定し、第二のオペランドは前記演算レジスタから得られる演算データを格納するデータレジスタ番号、または前記設定レジスタに対して送信される設定データが格納されているデータレジスタ番号か直接設定定数を指定し、第三のオペランドは前記報告ビットメモリから得られる報告信号を格納する補助リレー番号、または前記指令ラッチメモリ対して送信される指令信号が格納されている補助リレー番号を指定する。
また、前記論理回路部1100n・1200nに設けられた可逆カウンタ2100n・2200nの一部または全部は、現在値レジスタ4101n・4201nと、第一の設定レジスタ3101n・3201nと、第二の設定レジスタ3102n・3202nと、第一の比較回路5101n・5201nと、第二の比較回路5102n・5202nとを備えている。前記現在値レジスタ4101n・4201nは、前記可逆カウンタ2100n・2200nの計数入力の動作回数を計数方向に応じて加減して、当該可逆カウンタの動作開始時の初期値からの累積値を記憶しているメモリであり、前記第一の比較回路5101n・5201nは、前記第一の設定レジスタ3101n・3201nに格納されている数値と前記現在値レジスタ4101n・4201nの記憶数値が合致したときに第一の比較一致出力を発生する数値比較回路である。前記第二の比較回路5102n・5202nは、前記第二の設定レジスタ3102n・3202nに格納されている数値と前記現在値レジスタ4101n・4201nの記憶数値が合致したときに第二の比較一致出力を発生する数値比較回路であり、前記現在値レジスタまたは第一および第二の設定レジスタには前記特殊命令が実行されたときに前記マイクロプロセッサ111から前記転送仲介メモリ114bを介して数値設定が行われる。
また、前記特殊ユニット340に搭載される集積回路素子30は、多チャンネルの第一および第二のポート31および32と、チャンネル番号nに対応する一対の論理回路部1100n・1200nを備えている。前記第一のポート31は、前記集積回路素子30の外部に設けられた論理信号用またはアナログ信号用の入力インタフェース回路を介して外部機器に接続するための入力端子に接続され、前記第二のポート32は、前記集積回路素子30の外部に設けられた論理信号用またはアナログ信号用の出力インタフェース回路を介して外部機器に接続するための出力端子に接続され、前記論理回路部1100n・1200nが前記入力インタフェース回路から供給された入力信号に対する高速カウンタ回路を構成して、カウントアップ出力を前記CPUユニット110Eに送信する高速入力処理またはアナログ入力処理を行うのか、または前記CPUユニット110Eから受信した設定データに基づく高速パルス出力回路を構成して、所定のパルス出力を前記出力インタフェース回路に供給する高速出力処理またはアナログ出力処理を行うのかは、前記プログラムメモリ113Eに格納されている制御プログラムに包含されている特殊命令の内容に連動していずれか一方に決定される。
また、当該一対の論理回路部1100n・1200nは、それぞれに各チャンネル番号nに対応して、一対の可逆カウンタ2100n・2200nと、設定レジスタ3100n・3200nと、演算レジスタ4100n・4200nと、指令ラッチメモリ6100n・6200nと、比較回路5100nおよび5200nと、報告ビットメモリ7100n・7200nと、パラメータメモリ8100n・8200nとを備えている。前記一対の可逆カウンタ2100n・2200nは、前記特殊命令が倍長命令であるときには相互に従属接続され1個の倍長可逆カウンタ2000nを構成する。つまり、特殊ユニットに搭載される集積回路素子は、一対の論理回路部と第一および第二のポートを備え、一対の可逆カウンタを個別の可逆カウンタとして使用したり、1個の倍長可逆カウンタとして使用することができるようになっている。したがって、例えば各可逆カウンタは16ビットで構成し、一方の可逆カウンタを16ビットの高速カウンタとして使用すると共に、他方の可逆カウンタを16ビットのパルス出力回路として使用するか、もしくは32ビットの高速カウンタまたは32ビットのパルス出力回路のいずれか一方として使用することができ、集積回路素子の規模を圧縮してしかも多様な用途に適用することができる。
また、前記集積回路素子30または当該集積回路素子を搭載した特殊ユニット340は、カード情報格納メモリ9000を備えると共に、前記システムメモリ112Eは、設定異常検出手段905となる制御プログラムを包含している。前記カード情報格納メモリ9000には、前記第一および第二のポート31および32に対して論理信号用のインタフェース回路が接続されているか、アナログ信号用のインタフェース回路が接続されているかを識別する第一および第二の識別端子情報34A・34bが格納され、当該カード情報格納メモリ9000の内容は前記データバスを介して前記CPUユニット111Eに接続されて前記マイクロプロセッサ111によって読出し可能となっている。前記設定異常検出手段905は、前記第一および第二のポート31および32に接続されている入出力インタフェース回路の種別と、前記プログラムメモリ113Eに格納されている命令内容が不一致であることを検出して、運転停止および異常報知を行う。つまり、運転開始に当たって、特殊ユニットの入出力インタフェース回路の種別に対応したカード情報とプログラムメモリ内の命令内容を照合して、不適当な命令が使用されているときには運転停止と異常報知を行うようになっている。したがって、誤った制御プログラムの有無を発見してデバッグ処理を行うことができると共に、危険な運転が行われないので安全性が向上する。
また、前記論理回路部1100n・1200nに設けられた可逆カウンタ2100n・2200nの一部または全部は、待機バッファレジスタ4104n・4204nを備えている。当該待機バッファレジスタ4104n・4204nは、前記転送仲介メモリ114bから送信された数値データが一時格納され、前記論理回路部1100n・1200nが発生するタイミング信号に基づいて当該待機バッファレジスタの内容が前記第一の設定レジスタ3101n・3201nまたは第二の設定レジスタ3102n・3202nに転送されるものであり、前記転送仲介メモリ114bから送信された数値データが前記待機バッファレジスタを介して時間差をおいて前記第一および第二の設定値レジスタに転送されるのか、待機バッファレジスタを介さずに第一および第二の設定レジスタに対して直接転送されるのかは、前記特殊命令の内容によって判別される。
また、前記システムメモリ112Eは、プログラマブルコントローラ100Eの運転中において実行される転送禁止手段920となる制御プログラムを包含している。当該転送禁止手段920は、前記特殊ユニット340に適用された特殊命令が動作完了信号を発生する命令であって、当該特殊命令が実行開始されてから動作完了信号が得られるまでは少なくとも前記第一の設定レジスタ3101n・3201nと第二の設定レジスタ3102n・3202n対する設定データの送信を禁止する。当該動作完了信号は、前記第一のポート31に入力されたパルス信号、または第二のポート32が発生したパルス信号が、予め設定された目標パルスに到達したとき、または指令信号によってパルス発生・計数を完了したときに、前記報告ビットメモリ7100n・7200nの内容を読み出して得られる。
さらに、前記論理回路部1100n・1200nに設けられた可逆カウンタ2100n・2200nの一部または全部は、変分値調整用レジスタ4103n・4203nを備えている。当該変分値調整用レジスタ4103n・4203nは、前記可逆カウンタ2100n・2200nに対してアップまたはダウンの計数入力が与えられたときに作用して、前記現在値レジスタ4101n・4201nに対して変分値調整用レジスタ4103n・4203nに格納されている数値が加算または減算される。
この発明の実施の形態1によるプログラマブルコントローラのユニット構成図である。 図1に示す特殊ユニットとして構成される入出力ユニット130の内部構成図である。 図1に示す特殊ユニットとして構成される入出力ユニット140の内部構成図である。 図2および図3における論理回路部1000nの詳細構成図である。 図4に示す論理回路部1000nを可変フィルタ回路とした場合のブロック図である。 図4に示す論理回路部1000nをパルス密度測定回路とした場合のブロック図である。 図4に示す論理回路部1000nをパルス幅測定回路とした場合のブロック図である。 図4に示す論理回路部1000nをエッジ検出回路とした場合のブロック図である。 図4に示す論理回路部1000nを1相1入力の高速カウンタ回路とした場合のブロック図である。 図4に示す論理回路部1000nを1相2入力の高速カウンタ回路とした場合のブロック図である。 図4に示す論理回路部1000nをPWM出力回路とした場合のブロック図である。 図4に示す論理回路部1000nを第一のパルス出力回路とした場合のブロック図である。 図4に示す論理回路部1000nを第二のパルス出力回路とした場合のブロック図である。 図4に示す論理回路部1000nを変形型パルス出力回路とした場合のブロック図である。 図1に示すデバイスメモリ114aの構成例を示す図である。 図1に示す高速カウンタ番号の構成例を示す図である。 図1に示す高速出力番号の構成例を示す図である。 図1に示すプログラマブルコントローラの基本動作を説明するフローチャートである。 図18に続くフローチャートである。 図1に示すプログラマブルコントローラの一般的なシーケンス制御回路図である。 可変フィルタ命令とパルス密度測定命令の使用例を示す図である。 図22に対応するエッジ検出命令の使用例を示す図である。 高速カウンタ命令とパルス幅測定命令の使用例を示す図である。 第一のパルス出力命令の使用例を示す図である。 第二のパルス出力命令の使用例を示す図である。 図25の説明用特性線図である。 原点復帰命令の使用例を示す図である。 図27の説明用特性線図である。 PWM出力命令の使用例を示す図である。 この発明の実施の形態2によるプログラマブルコントローラのユニット構成図である。 図30に示す特殊ユニット150の内部構成図である。 図30に示す特殊ユニット160の内部構成図である。 図30に示す特殊ユニット170の内部構成図である。 アナログ信号用のパルス密度測定回路のブロック図である。 アナログ信号用のPWM出力回路のブロック図である。 アナログ入出力命令の使用例を示す図である。 図30に示す特殊ユニット180の内部構成図である。 この発明の実施の形態3によるプログラマブルコントローラのユニット構成図である。 図38に示す特殊ユニット240の前半構成図である。 図38に示す特殊ユニット240の後半構成図である。 図39および図40における論理回路部の詳細構成図である。 図41に示す論理回路部1100n(1200n)を、汎用入出力回路とした場合のブロック図である。 可変フィルタ命令REFと監視読出命令EXRDの使用例を示すシーケンス図である。 図38に示す構成の基本動作説明用のフローチャートである。 この発明の実施の形態4によるプログラマブルコントローラのユニット構成図である。 図45に示す特殊ユニット260Bの前半構成図である。 図46に示す特殊ユニット260Bの後半構成図である。 この発明の実施の形態5による特殊ユニット340の内部構成図である。
符号の説明
10,20,30 集積回路素子、11,21,31 第一のポート、12,22,32 第二のポート、11n,21n,31n チャンネル端子、12n,22n,32n チャンネル端子、14a,24a,34a 第一の識別端子、14b,24b,34b 第二の識別端子、25nおよび27n 第一および第二のゲート素子、16a,26a,36a 第一の信号端子、16b,26b,36b 第二の信号端子、28a,28b 第一および第二のモード切換端子、19,29,39 電子基板、100A〜100E プログラマブルコントローラ、108 外部ツール、110A〜110E CPUユニット、111 マイクロプロセッサ、112A〜112E システムメモリ、113A〜113E プログラムメモリ、114a デバイスメモリ、114b 転送仲介メモリ、120,220 汎用入出力ユニット、130〜180 第一〜第六の特殊ユニット、230〜250,260B 第一〜第四の特殊ユニット、340 特殊ユニット、130X〜180X 入力端子、240X,260X,340X 入力端子、130Y〜180Y 出力端子、240Y,260Y,340Y 出力端子、130Z〜180Z バス接続用端子、140Z,160Z,340Z バス接続用端子、139X〜189X 入力インタフェース回路、249X,269X,349X 入力インタフェース回路、139Y〜189Y 出力インタフェース回路、249Y,269Y,349Y 出力インタフェース回路、153n,173n,263n 電圧/周波数変換器、1811n 比較回路、52 最小フィルタ設定回路、54 記憶回路、168n〜188n,268n 平滑回路、905 設定異常検出手段、908 編成処理手段、911 入力処理手段、918 パラメータ変更手段、920 転送禁止手段、921 データ変換・転送手段、923 出力処理手段、931 初期設定手段、ABS 第三のパルス出力命令、ANRD AD変換命令、ANWR DA変換命令、DCVRD 現在位置読出命令、DRV 第二のパルス出力命令、EDGE エッジ検出命令、FREQ パルス密度測定命令、HCMP 高速比較命令、HSC 高速カウンタ命令、PLS 第一のパルス出力命令、PLD パルス幅測定命令、PWM PWM出力命令、REF 可変フィルタ命令、ZRN 原点復帰命令、Vcc 定電圧電源線、GND グランド回路、DATA データバス、ADR アドレスバス、1000n,1100n・1200n 論理回路部、2000n,2100n・2200n 可逆カウンタ、3000n,3100n・3200n 設定レジスタ、3001n,3101n,3201n 第一の設定レジスタ、3002n,3102n,3202n 第二の設定レジスタ、4000n,4100n・4200n 演算レジスタ、4001n,4101n,4201n 現在値レジスタ、4002n,4102n,4202n キープホールドレジスタ、4003n,4103n,4203n 変分値調整用レジスタ、4004n,4104n,4204n 待機バッファレジスタ、5000n,5100nおよび5200n 比較回路、5001n,5101n,5201n 第一の比較回路、5002n,5102n,5202n 第二の比較回路、5003n,5103n,5203n 復帰比較回路、6000n,6100n・6200n 指令ラッチメモリ、7000n,7100n・7200n 報告ビットメモリ、8000n,8100n・8200n パラメータメモリ、9000 カード情報メモリ、1010n,1110n,1210n 可変フィルタ回路、1020n,1021n パルス密度測定回路、1022n パルス幅定回路、1030n 高速カウンタ回路、1031n エッジ検出回路、1040n 高速カウンタ回路、1050n,1051n PWM出力回路、1060m 第一のパルス出力回路、1070・0 第二のパルス出力回路、1070・4 第二のパルス出力回路、1080・0 変形型パルス出力回路、1080・4 変形型パルス出力回路、1091 汎用入力回路、1092 汎用出力回路、1190nおよび1290n 汎用出力回路、3010n,3110n,3210n 設定データ、3020n〜3022n 設定データ、3030n,3031n 設定データ、3040m 設定データ、3050n 設定データ、3051n 設定データ、3060m 設定データ、3070・0 設定データ、3080・0 設定データ、4020n〜4022n 演算データ、4060m 演算データ、4070・0 演算データ、6022n 指令信号、6030n,6031n 指令信号、6040m 指令信号、6060m 指令信号、6070・0 指令信号、6080・0 指令信号、7010n 報告信号、7021n,7022n 報告信号、7030n,7031n 報告信号、7040m 報告信号、7060m 報告信号、7070・0 報告信号、PWM PWM出力命令、7080・0 報告信号、7112n,7212n 報告信号、Q カウントアップ出力、 復帰出力、P 上昇比較一致出力、 下降比較一致出力。

Claims (30)

  1. マイクロプロセッサと、前記マイクロプロセッサと協働するシステムメモリと、シーケンスプログラムを記憶するためのプログラムメモリと、入出力情報および制御情報を記憶するためのデバイスメモリとを有するCPUユニットと、
    前記CPUユニットにバス接続される単独または複数の入出力ユニットと
    を備え、
    前記入出力ユニットの少なくとも一部が、特殊入出力処理機能を分担して前記マイクロプロセッサの制御機能を補完するための集積回路素子を包含した特殊ユニットでなるプログラマブルコントローラであって、
    前記特殊ユニットは、外部接続端子に接続される多チャンネルの入力インタフェース回路および出力インタフェース回路と、制御仕様の一部分が可変設定できて入出力制御に共用される集積回路素子とを搭載した電子基板を有し、
    前記集積回路素子は、各チャンネル番号に対応するパラメータメモリと、前記マイクロプロセッサから各チャンネル番号に対応するパラメータメモリに送信される回路編成データによって入出力処理のための動作仕様が決定される論理回路部とを有し、
    前記論理回路部は、前記入力インタフェース回路を介して得られる論理入力信号を高速計数して、カウントアップ出力を前記マイクロプロセッサに報告信号として送信する報告ビットメモリと、計数データを前記マイクロプロセッサに演算データとして送信する演算レジスタと、前記マイクロプロセッサから受信した設定データを格納する設定レジスタと、前記マイクロプロセッサから受信した指令信号を格納する指令ラッチメモリと、前記設定レジスタと前記指令ラッチメモリの内容に基づく高速パルス出力を前記出力インタフェース回路に供給する可逆カウンタとを有し、
    前記可逆カウンタは、前記プログラムメモリに格納されている制御プログラムに包含されている特殊命令の内容に連動して、各チャンネル毎に、前記入力インタフェース回路から供給される入力信号に対する高速カウンタ回路を構成してカウントアップ出力を前記CPUユニットに送信する高速入力処理を行うのか、または前記CPUユニットから受信した設定データに基づく高速パルス出力回路を構成して所定のパルス出力を前記出力インタフェース回路に供給する高速出力処理を行うのかのいずれかが決定されるものであって、
    前記パラメータメモリに送信される回路編成データにより複数種類の高速入力処理と複数種類の高速出力処理が行われると共に、
    前記外部接続端子に接続される外部センサからの入力信号がアナログ信号である場合には、前記入力インタフェース回路は入力信号に比例した周波数のパルスを前記集積回路素子に供給し、前記外部負荷がアナログ負荷である場合には、前記集積回路素子は出力信号に指令したON/OFF比率のパルス出力を発生して、前記出力インタフェース回路は受信したパルス出力信号を平滑して外部負荷に供給する
    ことを特徴とするプログラマブルコントローラ。
  2. 請求項1に記載のプログラマブルコントローラにおいて、
    前記CPUユニットは、前記特殊ユニットとのデータ交信を行うための転送仲介メモリを有し、
    前記システムメモリは、編成処理手段とデータ変換・転送手段となる制御プログラムを包含し、
    前記編成処理手段は、前記プログラマブルコントローラの運転開始直後に、前記プログラムメモリの内容を検索して特殊ユニットに対応した特殊命令を抽出し、当該特殊命令の内容に対応して当該特殊ユニットで適用される論理回路部の種別と動作モードに対応した回路編成データを前記パラメータメモリに送信すると共に、回路編成が特定された各論理回路部と交信するための転送仲介メモリのアドレス編成を行い、
    前記データ変換・転送手段は、前記特殊命令で指定されたデバイスメモリの内容を前記論理回路部の動作に適した換算単位の設定データと指令信号に変換して前記転送仲介メモリを介して設定レジスタおよび指令ラッチメモリに送信すると共に、前記論理回路部から得られた演算データまたは報告信号を、前記転送仲介メモリを介して前記特殊命令によって指定されたデバイスメモリに転送し、
    前記特殊命令は、命令の種別を示す命令語と順不同の第一のオペランド、および第二または第三のオペランドの少なくとも一方とによって構成され、当該第一のオペランドは対象となる特殊ユニットの入出力番号を特定する識別番号を指定し、第二のオペランドは前記演算レジスタから得られる演算データを格納するデータレジスタ番号、または前記設定レジスタに対して送信される設定データが格納されているデータレジスタ番号か直接設定定数を指定し、第三のオペランドは前記報告ビットメモリから得られる報告信号を格納する補助リレー番号、または前記指令ラッチメモリ対して送信される指令信号が格納されている補助リレー番号を指定する
    ことを特徴とするプログラマブルコントローラ。
  3. 請求項2に記載のプログラマブルコントローラにおいて、
    前記可逆カウンタは、計数入力の動作回数を計数方向に応じて加減して、当該可逆カウンタの動作開始時の初期値からの累積値を記憶する現在値レジスタと、計数上限値が格納される第一の設定レジスタと、計数上限値未満の中間値が格納される第二の設定レジスタと、前記第一の設定レジスタに格納されている数値と前記現在値レジスタの記憶数値が合致したときに第一の比較一致出力を発生する数値比較回路でなる第一の比較回路と、前記第二の設定レジスタに格納されている数値と前記現在値レジスタの記憶数値が合致したときに第二の比較一致出力を発生する数値比較回路でなる第二の比較回路とを有し、
    前記現在値レジスタまたは第一および第二の設定レジスタには、前記特殊命令が実行されたときに前記マイクロプロセッサから前記転送仲介メモリを介して数値設定が行われる
    ことを特徴とするプログラマブルコントローラ。
  4. 請求項2に記載のプログラマブルコントローラにおいて、
    前記論理回路部は、前記システムメモリに格納されている制御プログラムである入力処理手段の実行に基づいて入力信号を入力処理用のデータセレクタを介して前記デバイスメモリに割り付けられた入力イメージメモリ領域へ転送する汎用入力回路と、前記システムメモリに格納されている制御プログラムである出力処理手段の実行に基づいて前記デバイスメモリに割り付けられた出力イメージメモリ領域のデータを前記論理回路部に設けられた出力ラッチメモリに転送する汎用出力回路とを有し、
    前記汎用入力回路および前記汎用入出力回路は、前記論理回路部が高速入出力回路またはアナログ入出力回路として使用されていないときに有効となる
    ことを特徴とするプログラマブルコントローラ。
  5. 請求項4に記載のプログラマブルコントローラにおいて、
    前記入力インタフェース回路は、高速入力パルスに対応した小さな時定数の入力フィルタを包含するか、または高速入力パルスが入力されない大きな時定数の入力フィルタを有する開閉センサ用の入力インタフェース回路、または電圧/周波数変換器を含むアナログセンサ用の入力インタフェース回路のいずれかに分類され、
    前記出力インタフェース回路は、高速出力パルスに対応した高速開閉動作を行うトランジスタを出力素子として包含するか、または高速出力パルスが出力されない低速開閉動作を行うトランジスタを出力素子として包含する出力インタフェース回路、または前記論理回路部が発生するパルス幅変調信号出力に対する平滑回路を包含するアナログ負荷用の出力インタフェース回路のいずれかに分類され、
    前記特殊ユニットは、高速論理入力または低速論理入力またはアナログ入力のいずれか一つと、高速論理出力または低速論理出力またはアナログ出力のいずれか一つとの任意の組合せの内で、低速論理入力と低速論理出力との組合せ以外の組合せによる複数種類の特殊ユニットが適用可能に構成されている
    ことを特徴とするプログラマブルコントローラ。
  6. 請求項4に記載のプログラマブルコントローラにおいて、
    前記論理回路部は、前記プログラムメモリ内に格納された可変フィルタ命令に応動する可変フィルタ回路でなり、
    前記可変フィルタ回路は、入力信号の論理レベルの高・低に応じて所定のクロック信号をアップ・ダウン計数する可逆カウンタと、入力確定回路となる報告ビットメモリとを包含し、
    前記可逆カウンタの第一の設定レジスタには設定データとして受信したフィルタ定数が格納されていて、前記可逆カウンタの現在値レジスタの値が前記第一の設定レジスタの設定値に上昇すると、カウントアップ出力を発生して加算カウントを停止すると共に、前記現在値レジスタの現在値がゼロにまで下降すると、前記カウントアップ出力に代わって復帰出力を発生して減算カウントを停止し、
    前記報告ビットメモリは、前記カウントアップ出力によってセットされ、前記復帰出力によってリセットされて、出力を報告信号として送信されるものであり、
    前記可変フィルタ命令は、対象となる入力リレー番号と、必要とされる入力フィルタ定数が格納されるデータレジスタ番号または直接設定定数と、報告信号を格納する補助リレー番号とをオペランドとして有する特殊命令であり、前記特殊命令が実行されると、前記入力フィルタ定数が前記入力リレー番号に対応した可逆カウンタの第一の設定レジスタに設定データとして送信されると共に、前記報告信号によって前記補助リレーが作動する
    ことを特徴とするプログラマブルコントローラ。
  7. 請求項4に記載のプログラマブルコントローラにおいて、
    前記特殊ユニットは、カード情報格納メモリを有し、
    前記システムメモリは、設定異常検出手段となる制御プログラムを包含し、
    前記カード情報格納メモリには、第一および第二のポートに対して論理信号用のインタフェース回路が接続されているか、またはアナログ信号用のインタフェース回路が接続されているかを識別する第一および第二の識別端子情報と、論理信号用のインタフェース回路である場合には低速論理信号用であるかまたは高速論理信号用であるかを識別する第一および第二の信号端子情報が格納され、
    前記カード情報格納メモリの内容は、前記データバスを介して前記CPUユニットに接続されて前記マイクロプロセッサによって読出し可能となっており、
    前記設定異常検出手段は、前記第一および第二のポートに接続されている入出力インタフェース回路の種別と、前記プログラムメモリに格納されている命令内容が不一致であることを検出して、運転停止および異常報知を行う
    ことを特徴とするプログラマブルコントローラ。
  8. 請求項2に記載のプログラマブルコントローラにおいて、
    前記集積回路素子は、第一および第二のモード切換端子を有する多チャンネルの第一および第二のポートと、チャンネル番号に対応する一対の論理回路部を有し、
    前記第一のポートは、前記集積回路素子の外部に設けられた入力インタフェース回路または出力インタフェース回路を介して外部機器に接続するための入力端子または出力端子に接続される入出力兼用ポートであって、
    前記第一のポートを入力ポートまたは出力ポートとして使用するのかは前記第一のモード切換端子に入力された論理レベルによって選択決定され、
    前記第二のポートは、前記集積回路素子の外部に設けられた入力インタフェース回路または出力インタフェース回路を介して外部機器に接続するための入力端子または出力端子に接続される入出力兼用ポートであって、
    前記第二のポートを入力ポートまたは出力ポートとして使用するのかは前記第二のモード切換端子に入力された論理レベルによって選択決定され、
    前記一対の論理回路部が、前記入力インタフェース回路から供給された入力信号に対する高速カウンタ回路を構成して、カウントアップ出力を前記CPUユニットに送信する高速入力処理またはアナログ入力処理を行うのか、または前記CPUユニットから受信した設定データに基づく高速パルス出力回路を構成して、所定のパルス出力を前記出力インタフェース回路に供給する高速出力処理またはアナログ出力処理を行うのかは、前記プログラムメモリに格納されている制御プログラムに包含されている特殊命令の内容に連動していずれか一方に決定され、
    前記一対の論理回路部は、各チャンネル番号nに対応して、可逆カウンタと、設定レジスタと、演算レジスタと、指令ラッチメモリと、比較回路と、報告ビットメモリと、パラメータメモリとをそれぞれに有する
    ことを特徴とするプログラマブルコントローラ。
  9. 請求項8に記載のプログラマブルコントローラにおいて、
    前記論理回路部は、各チャンネル番号に対応する汎用入力回路または汎用出力回路を有し、
    前記汎用入力回路は、前記第一または第二のポートに接続された論理入力信号が報告ビットメモリを介して前記デバイスメモリに割り付けられた入力イメージメモリ領域に送信される入力信号中継回路であって、前記報告ビットメモリから前記入力イメージメモリへの転送は、前記システムメモリに格納されている制御プログラムである入力処理手段によって実行され、
    前記汎用出力回路は、前記デバイスメモリに割り付けられた出力イメージメモリ領域から前記論理回路部に設けられた指令ラッチメモリが受信した指令信号をそのまま前記第一または第二のポートに接続された出力回路に出力する出力信号中継回路であって、前記出力イメージメモリから前記指令ラッチメモリへの転送は、前記システムメモリに格納されている制御プログラムである出力処理手段によって実行され、
    前記汎用入力回路および前記汎用出力回路は、前記論理回路部が高速入出力回路またはアナログ入出力回路として使用されていないときに有効となる
    ことを特徴とするプログラマブルコントローラ。
  10. 請求項9に記載のプログラマブルコントローラにおいて、
    前記汎用入力回路は、各チャンネル番号に対応した可変フィルタ回路を構成し、
    前記システムメモリは、初期設定手段となる制御プログラムを包含し、
    前記可変フィルタ回路は、入力信号の論理レベルの大小に応じて所定のクロック信号を可逆計数する可逆カウンタと、入力確定回路となる報告ビットメモリによって構成され、
    前記第一の設定レジスタには、設定データとして受信したフィルタ定数が格納されていて、現在値レジスタの値が当該第一の設定レジスタの設定値に上昇すると、カウントアップ出力を発生して加算カウントを停止すると共に、前記現在値レジスタの現在値がゼロにまで下降すると、前記カウントアップ出力に代わって復帰出力を発生して減算カウントを停止し、
    前記報告ビットメモリは、前記カウントアップ出力によってセットされると共に、前記復帰出力によってリセットされ、当該報告ビットメモリの出力は、前記入力処理手段によって前記デバイスメモリの入力イメージメモリ領域に送信され、
    前記初期設定手段は、プログラマブルコントローラの運転開始時に作用して、前記プログラムメモリに可変フィルタ命令が存在するか否かを検索し、可変フィルタ命令が使用されていない入力信号に対しては基準となる一定のフィルタ定数を前記第一の設定レジスタに送信し、
    前記可変フィルタ命令は、対象となる入力リレー番号と、必要とされる入力フィルタ定数が設定データとして格納されるデータレジスタ番号または直接設定定数とをオペランドとして有する特殊命令であり、当該特殊命令が実行されると前記設定データが前記入力リレー番号に対応した第一の設定レジスタに送信される
    ことを特徴とするプログラマブルコントローラ。
  11. 請求項8に記載のプログラマブルコントローラにおいて、
    前記集積回路素子は、各チャンネル番号に対応した第一および第二のゲート素子と、最小フィルタ設定回路とを有すると共に、前記プログラムメモリに監視読出命令を格納し、
    前記第一および第二のゲート素子は、前記論理回路部の出力端子と前記第一および第二のポートとの間に接続され、前記第一および第二のモード切換端子の論理レベルに応動して各出力信号を遮断する複数のゲート素子であって、前記第一および第二のポートに入力インタフェース回路が接続されているときには出力信号を遮断し、前記第一および第二のポートに出力インタフェース回路が接続されているときには出力信号を有効にし、
    前記最小フィルタ設定回路は、前記第一および第二のポートに出力インタフェース回路が接続されていて、前記第一および第二のゲート素子の出力信号が有効とされているときに作用して、フィルタ回路を介さないで当該出力信号を前記報告ビットメモリに格納し、
    前記監視読出命令は、出力リレー番号と前記デバイスメモリの転送先デバイス番号を指定するオペランドを有し、前記最小フィルタ設定回路を介して入力された前記報告ビットメモリの内容を報告信号として読み出す特殊命令である
    ことを特徴とするプログラマブルコントローラ。
  12. 請求項8に記載のプログラマブルコントローラにおいて、
    前記特殊ユニットは、カード情報格納メモリを有し、
    前記システムメモリは、設定異常検出手段となる制御プログラムを包含し、
    前記カード情報格納メモリは、前記第一および第二のポートが入力ポートまたは出力ポートのいずれかに設定されているのかに関する前記第一および第二モード切換端子の論理情報と、前記入出力インタフェース回路が論理信号回路またはアナログ信号回路のいずれかであるかを識別する第一および第二の識別端子の論理情報の少なくとも一方を包含し、当該カード情報格納メモリの内容は、前記データバスを介して前記CPUユニットに接続されて前記マイクロプロセッサによって読出し可能であり、
    前記設定異常検出手段は、前記第一および第二のポートに接続されている入出力インタフェース回路の種別と、前記プログラムメモリに格納されている命令内容が不一致であることを検出して、運転停止および異常報知を行う
    ことを特徴とするプログラマブルコントローラ。
  13. 請求項2に記載のプログラマブルコントローラにおいて、
    前記集積回路素子は、多チャンネルの第一および第二のポートと、チャンネル番号に対応する一対の論理回路部とを有し、
    前記第一のポートは、前記集積回路素子の外部に設けられた論理信号用またはアナログ信号用の入力インタフェース回路を介して外部機器に接続するための入力端子に接続され、
    前記第二のポートは、前記集積回路素子の外部に設けられた論理信号用またはアナログ信号用の出力インタフェース回路を介して外部機器に接続するための出力端子に接続され、
    前記一対の論理回路部が、前記プログラムメモリに格納されている制御プログラムに包含されている特殊命令の内容に連動して、前記入力インタフェース回路から供給された入力信号に対する高速カウンタ回路を構成して、カウントアップ出力を前記CPUユニットに送信する高速入力処理またはアナログ入力処理を行うのか、または前記CPUユニットから受信した設定データに基づく高速パルス出力回路を構成して、所定のパルス出力を前記出力インタフェース回路に供給する高速出力処理またはアナログ出力処理を行うのかのいずれか一方を決定し、
    当該一対の論理回路部は、各チャンネル番号に対応して、可逆カウンタと、設定レジスタと、演算レジスタと、指令ラッチメモリと、比較回路と、報告ビットメモリと、パラメータメモリとをそれぞれに有し、
    前記一対の可逆カウンタは、前記特殊命令が倍長命令であるときには相互に従属接続され1個の倍長可逆カウンタを構成する
    ことを特徴とするプログラマブルコントローラ。
  14. 請求項13に記載のプログラマブルコントローラにおいて、
    前記特殊ユニットは、カード情報格納メモリを有し、
    前記システムメモリは、設定異常検出手段となる制御プログラムを包含し、
    前記カード情報格納メモリには、前記第一および第二のポートに対して論理信号用のインタフェース回路かまたはアナログ信号用のインタフェース回路のいずれかが接続されているかを識別する第一および第二の識別端子情報が格納され、
    当該カード情報格納メモリの内容は、前記データバスを介して前記CPUユニットに接続されて前記マイクロプロセッサによって読出し可能となっており、
    前記設定異常検出手段は、前記第一および第二のポートに接続されている入出力インタフェース回路の種別と、前記プログラムメモリに格納されている命令内容が不一致であることを検出して、運転停止および異常報知を行う
    ことを特徴とするプログラマブルコントローラ。
  15. 請求項3に記載のプログラマブルコントローラにおいて、
    前記論理回路部に設けられた可逆カウンタの一部または全部は、待機バッファレジスタを有し、
    前記待機バッファレジスタは、前記転送仲介メモリから送信された数値データが一時格納され、前記論理回路部が発生するタイミング信号に基づいて当該待機バッファレジスタの内容が前記第一の設定レジスタまたは第二の設定レジスタに転送されるものであり、
    前記転送仲介メモリから送信された数値データが前記待機バッファレジスタを介して時間差をおいて前記第一および第二の設定値レジスタに転送されるのか、待機バッファレジスタを介さずに第一および第二の設定レジスタに対して直接転送されるのかは、前記特殊命令の内容によって判別される
    ことを特徴とするプログラマブルコントローラ。
  16. 請求項3に記載のプログラマブルコントローラにおいて、
    前記システムメモリは、プログラマブルコントローラの運転中において実行される転送禁止手段となる制御プログラムを包含し、
    前記転送禁止手段は、前記特殊ユニットに適用された特殊命令が動作完了信号を発生する命令であって、当該特殊命令が実行開始されてから動作完了信号が得られるまでは、少なくとも前記第一の設定レジスタと第二の設定レジスタ対する設定データの送信を禁止し、
    前記動作完了信号は、前記第一のポートに入力されたパルス信号、または第二のポートが発生したパルス信号が、予め設定された目標パルスに到達したとき、または指令信号によってパルス発生・計数を完了したときに、前記報告ビットメモリの内容を読み出して得られる
    ことを特徴とするプログラマブルコントローラ。
  17. 請求項16に記載のプログラマブルコントローラにおいて、
    前記論理回路部に設けられた可逆カウンタの一部または全部は、変分値調整用レジスタを有し、
    前記変分値調整用レジスタは、前記可逆カウンタに対してアップまたはダウンの計数入力が与えられたときに作用して、前記現在値レジスタに対して変分値調整用レジスタに格納されている数値を加算または減算する
    ことを特徴とするプログラマブルコントローラ。
  18. 請求項16に記載のプログラマブルコントローラにおいて、
    前記論理回路部は、前記プログラムメモリ内に格納された高速カウンタ命令に応動する高速カウンタ回路を有し、
    前記高速カウンタ回路は、カウント方向が指令信号によって決定される1相1入力の可逆カウンタであるか、またはアップ・ダウン入力が個別に供給される1相2入力の可逆カウンタであるか、または2相入力の位相差によってアップ・ダウン方向を決定する2相2入力の可逆カウンタのいずれかであって、
    前記高速カウンタ回路は、さらに、当該高速カウンタ回路の動作モードを決定するものとして、前記高速カウンタ命令が実行された時点で計数開始するもの、または計数開始指令入力が付加されたもの、または前記現在値レジスタに初期値データを転送するためのプリセット指令入力が付加されたものとがあり、前記2相2入力形式の高速カウンタ回路では、各相のパルス信号の立上りと立下りのどの時点で計数を行うのかによって1逓倍計数方式、または2逓倍計数方式、または4逓倍計数方式の計数モードのものがあって、固有の識別番号が付与されており、
    前記識別番号は、当該高速カウンタ回路を包含した特殊ユニットの接続位置を示す配置番号と、当該特殊ユニットの入力端子番号を示すチャンネル番号が識別されると共に、前記各動作モードに対応した拡張番号の値を組み合わせた複数桁の番号であり、
    前記高速カウンタ命令は、対象となる高速カウンタの識別番号と、カウントアップ出力を発生するための計数目標値が格納されるデータレジスタ番号Dまたは直接設定定数Kと、1相1入力カウンタの場合の計数方向を指定する補助リレー番号Mとカウントアップ出力が格納されるカウンタ番号Cとを指定するオペランドを有する特殊命令であり、
    前記特殊命令が実行されると、設定データと計数方向指令信号が前記識別番号に対応した前記第一の設定レジスタと指令ラッチメモリに送信され、カウントアップ出力が報告ビットメモリから指定されたカウンタ番号のデバイスメモリに計数完了報告信号として送信される
    ことを特徴とするプログラマブルコントローラ。
  19. 請求項18に記載のプログラマブルコントローラにおいて、
    前記高速カウンタ回路は、前記プログラムメモリ内に格納された高速比較命令に応動する高速出力機能を有し、
    前記高速比較命令は、対象となる高速カウンタ回路の識別番号と、比較目標値が格納されるデータレジスタ番号Dまたは直接設定定数Kと、比較一致出力を格納する補助リレー番号Mとをオペランドとして有する特殊命令であり、
    前記特殊命令は、前記第一のポートが高速入力ポートとして使用されると共に、第二のポートが論理出力ポートとして併用されている場合に有効となるものであって、
    前記特殊命令が実行されると、前記比較目標値が設定データとして前記識別番号に対応した可逆カウンタの第二の設定レジスタに送信され、前記第二の比較回路によるアップ計数時の比較一致記憶信号である上昇比較一致出力は、前記高速カンタ回路の計数入力のチャンネル番号に対応したチャンネル番号の出力端子に出力されると共に、当該上昇比較一致出力は、報告信号として指定された補助リレーMを駆動し、当該補助リレーMがリセット駆動されたことによって前記上昇比較一致出力がリセットされる
    ことを特徴とするプログラマブルコントローラ。
  20. 請求項16に記載のプログラマブルコントローラにおいて、
    前記論理回路部は、奇数または偶数チャンネル番号に割り付けられた第一のパルス出力回路を有し、
    前記第一のパルス出力回路は、前記プログラムメモリ内に格納された第一のパルス出力命令に応動し、動作モードとして正転パルス出力または逆転パルス出力のどちらか一方を発生する一対のパルス出力であるか、または可逆パルス出力に回転方向指令出力が付加されたパルス出力形式のものがあって、
    当該各形式のパルス出力回路は、隣接したチャンネルの2個の可逆カウンタを占有する固有の識別番号を有し、当該可逆カウンタの一方は低速パルス周期と高速パルス周期に比例した定数が書込まれる第一および第二の設定レジスタを有すると共に、他方の可逆カウンタは高速運転のパルス発生数と低速運転のパルス発生数に関連した定数が書込まれる第一および第二の設定レジスタを有し、
    前記識別番号は、前記第一のパルス出力回路を包含した特殊ユニットの接続位置を示す配置番号と、当該特殊ユニットの出力端子番号を示すチャンネル番号が識別されると共に、前記各動作モードに対応した拡張番号の値を組み合わせた複数桁の番号であり、
    前記第一のパルス出力命令は、対象となるパルス出力回路の識別番号と、回転方向に対応した正負の目標発生パルス数と低速運転パルス数と高速運転パルス周期と低速運転パルス周期とが格納されるデータレジスタ番号を特定するためのオペランドと、強制停止指令と正転限界停止指令または逆転限界停止指令とパルス発生完了信号が格納される補助リレー番号を特定するためのオペランドとを有する特殊命令であり、
    前記特殊命令が実行されると、前記目標発生パルス数と低速運転パルス数と高速パルス周期と低速パルス周期が設定データとして、回転方向指令、強制停止指令、正転限界停止指令または逆転限界停止指令が指令信号として、前記識別番号に対応した可逆カウンタの第一および第二の設定レジスタと指令ラッチメモリに送信され、パルス発生完了信号が報告ビットッメモリから指定された補助リレーMに対して報告信号として報告送信される
    ことを特徴とするプログラマブルコントローラ。
  21. 請求項17に記載のプログラマブルコントローラにおいて、
    前記論理回路部は、前記プログラムメモリ内に格納された第二のパルス出力命令に応動する第二のパルス出力回路を有し、
    前記第二のパルス出力回路は、動作モードとして正転パルス出力または逆転パルス出力のどちらか一方を発生する一対のパルス出力を備えるか、または可逆パルス出力に回転方向指令出力が付加されたパルス出力形式のものがあり、前記各形式のパルス出力回路は、少なくとも発生パルス数の設定レジスタとパルス周波数の設定レジスタと加減速度の設定レジスタを有すると共に、当該各パルス出力回路には、入力2点と出力3点に対応した4点の可逆カウンタを占有する固有の識別番号が付与されており、
    前記第二のパルス出力回路は、加算計数入力が与えられたときに、変分値調整用レジスタに格納されている数値を現在値レジスタに加算することができる加算機能を有する可逆カウンタを有し、当該可逆カウンタの第一の設定レジスタに対して所定の係数値を格納し、前記変分値調整用レジスタに対して目標とするパルス周波数を格納しておくことによって、パルス周波数に反比例した周期のカウントアップ出力を得て、当該カウントアップ出力の発生に伴って現在値レジスタをリセットすることによって目標とするパルス周期に対応したカウントアップ出力を得る回路であり、
    前記識別番号は、前記第二のパルス出力回路を包含した特殊ユニットの接続位置を示す配置番号と、当該特殊ユニットの出力端子番号を示すチャンネル番号が識別されると共に、前記各動作モードに対応した拡張番号の値を組み合わせた複数桁の番号であり、
    前記第二のパルス出力命令は、対象となるパルス出力回路の識別番号と、回転方向に対応した正負の目標発生パルス数が格納されるデータレジスタ番号Dと、パルス周期またはパルス周波数と、加減速度設定用データが格納されるデータレジスタ番号Dを特定するためのオペランドと、強制停止指令と正転限界停止指令または逆転限界停止指令とパルス発生完了信号が格納される補助リレー番号Mを特定するためのオペランドとを有する特殊命令であり、
    前記特殊命令が実行されると、前記目標発生パルス数と加減速度データと目標パルス周波数と減速開始位置データとが設定データとして、また回転方向指令と強制停止指令と正転限界停止指令または逆転限界停止指令とが指令信号として、前記識別番号に対応した各可逆カウンタの第一および第二の設定レジスタと、指令ラッチメモリに対して送信され、パルス発生完了信号が報告信号として報告ビットメモリから指定された補助リレーMに対して送信される
    ことを特徴とするプログラマブルコントローラ。
  22. 請求項21に記載のプログラマブルコントローラにおいて、
    前記論理回路部は、前記第二のパルス出力回路を部分的に変更して得られる変形型パルス出力回路を有し、前記変形型パルス出力回路には前記プログラムメモリ内に格納され原点復帰命令に応動するための位置決用入出力信号が付加されると共に、
    前記システムメモリは、前記変形型パルス出力回路を得るためのパラメータ変更手段となる制御プログラムを包含し、
    前記位置決用入力信号は、原点近傍で作動する近点ドッグ信号と、前記パルス出力によって駆動されるサーボモータに設けられ、当該サーボモータの1回点当たりに1パルスの出力を発生するZ相信号が入力されるゼロ点信号を有し、
    前記位置決用出力信号は、原点出しが完了したときに前記サーボモータを駆動するサーボアンプの位置決め偏差残留パルスをリセットするためのクリア信号を有し、
    前記原点復帰命令は、対象となる変形型パルス出力回路の識別番号と、少なくとも原点復帰用の高速パルス周波数またはパルス周期と、原点近傍におけるクリープ運転用の低速パルス周波数またはパルス周期と、加減速度設定用データとゼロ点信号数が格納されるデータレジスタ番号Dを特定するためのオペランドと、原点復帰方向指令と強制停止指令と正転限界停止指令または逆転限界停止指令と原点出完了信号が格納される補助リレー番号Mを特定するためのオペランドとを有する特殊命令であり、
    前記特殊命令が実行されると、前記高速運転用のパルス周波数と低速クリープ運転用のパルス周波数と加減速度設定データとゼロ点信号数とが設定データとして、原点復帰方向指令と強制停止指令と正転限界停止指令または逆転限界停止指令とが指令信号として、前記識別番号に対応した可逆カウンタの第一および第二の設定レジスタと指令ラッチメモリに対して送信され、原点出完了信号が報告信号として報告ビットメモリから指定された補助リレーMに送信され、
    前記パラメータ変更手段は、前記第二のパルス出力命令に対応して発生パルス数を計数していた最終段の可逆カウンタの入出力回路を変更して、原点復帰命令に対応してゼロ点信号数の計数を行う最終段の可逆カウンタとして利用するためのものであって、当該接続変更は原点復帰命令の実行開始から実行完了までの限定期間において有効となり、常時は前記第二のパルス出力命令に対応した接続回路に復元設定されている
    ことを特徴とするプログラマブルコントローラ。
  23. 請求項20または22に記載のプログラマブルコントローラにおいて、
    前記第一および第二のパルス出力回路には、前記プログラムメモリ内に格納された現在位置読出命令による監視手段が付加されていて、
    前記現在位置読出命令は、対象となるパルス出力回路の識別番号と、正転限界位置または逆転限界位置または原点位置に対する現在位置情報が格納されるデータレジスタ番号Dを指定するためのオペランドを有する特殊命令であり、
    当該特殊命令が実行されると、前記識別番号に対応したパルス出力回路のパルス出力情報が格納される現在値レジスタの移動完了後の内容が演算データとして送信されて、当該演算データが移動方向に応じて前記データレジスタDに対して順次代数加算され、前記データレジスタDには原点位置または正逆転限界位置を含む基準位置において、予めシーケンスプログラムによって所定の初期位置データが書込みされる
    ことを特徴とするプログラマブルコントローラ。
  24. 請求項23に記載のプログラマブルコントローラにおいて、
    前記第一および第二のパルス出力回路には、前記プログラムメモリ内に格納された第一および第二のパルス出力命令に代わって使用される第三のパルス出力命令が適用され、
    前記第三のパルス出力命令は、前記第一および第二のパルス出力命令において指定される目標移動量に代わって目標移動位置が指定されるものであり、
    前記データ変換・転送手段は、前記現在位置読出命令によって検出記憶されている現在位置と前記目標移動位置との偏差によって今回の目標移動量を算出して、当該目標移動量を前記転送仲介メモリを介して前記第一および第二の設定レジスタに送信する
    ことを特徴とするプログラマブルコントローラ。
  25. 請求項16に記載のプログラマブルコントローラにおいて、
    前記論理回路部は、前記プログラムメモリ内に格納されたパルス幅測定命令に応動するパルス幅測定回路を有し、
    前記パルス幅測定回路は、高速論理信号用の入力インタフェース回路に接続されたチャンネル端子の入力論理変化に応動して、所定周期のクロック信号を計数する可逆カウンタによって構成され、前記入力論理の変化から次の変化までの計数現在値をピークホールドレジスタに格納して演算データとして送信すると共に、測定完了信号を報告信号として送信し、当該報告信号を受信したマイクロプロセッサが指令信号によって測定完了信号をリセットすることによってパルス幅の測定が再開される回路であり、
    前記パルス幅測定命令は、高速論理信号用の入力インタフェース回路が接続されている特殊ユニットに対して適用され、対象となる入力番号Xと、測定結果が格納されるデータレジスタ番号Dと測定完了信号が格納される補助レジスタ番号Mとをオペランドとして有する特殊命令であり、
    当該特殊命令が実行されると、前記ピークホールドレジスタの内容が演算データとして前記データレジスタDに転送格納されると共に、測定完了信号によって前記補助リレーMが駆動され、当該補助リレーMの動作をリセットすると測定再開指令が指令信号によって指令ラッチメモリへ送信される
    ことを特徴とするプログラマブルコントローラ。
  26. 請求項3に記載のプログラマブルコントローラにおいて、
    前記論理回路部は、前記プログラムメモリ内に格納されたエッジ検出命令に応動するエッジ検出回路を有し、
    前記エッジ検出回路は、高速論理信号用の入力インタフェース回路に接続されたチャンネル端子の入力論理変化に応動して、立上りまたは立下がりの少なくとも一方を検出記憶して報告信号として送信する1カウントの可逆カウンタによって構成され、当該報告信号を受信したマイクロプロセッサが指令信号によって検出記憶信号をリセットすることによって次のエッジ検出が再開される回路であり、
    前記エッジ検出命令は、高速論理信号用の入力インタフェース回路が接続されている特殊ユニットに対して適用され、対象となる入力番号Xと、検出結果が格納される補助リレー番号Mとをオペランドとして有する特殊命令であり、
    前記特殊命令が実行されると、前記可逆カウンタの第一の設定レジスタには1を超過する値が格納されると共に、第二の設定レジスタには設定値1が格納され、前記第二の比較回路がアップ計数中に比較一致したことを記憶する上昇比較一致出力によって立上りが検出され、当該上昇比較一致出力の発生に伴って計数方向と計数入力論理とが反転し、
    前記第二の比較回路がダウン計数中に比較一致したことを記憶する下降比較一致出力によって立下りが検出され、
    前記上昇比較一致出力と下降比較一致出力とが報告信号として前記補助リレーMに送信されて、当該補助リレーMの動作をリセットすると検出再開指令が指令信号によって指令ラッチメモリへ送信される
    ことを特徴とするプログラマブルコントローラ。
  27. 請求項3に記載のプログラマブルコントローラにおいて、
    前記論理回路部は、前記プログラムメモリ内に格納されたパルス密度測定命令またはAD変換命令に応動するパルス密度測定回路を有し、
    前記パルス密度測定回路は、所定時間毎に計数現在値がリセットされる高速カウンタであって、リセット直前の計数最大値を記憶することによって入力パルス信号の周波数に比例したデジタル値を得て、当該測定周波数をピークホールドレジスタに格納する回路であり、
    前記パルス密度測定命令は、高速論理信号用の入力インタフェース回路が接続されている特殊ユニットに対して適用され、対象となる入力番号Xと、測定結果が格納されるデータレジスタ番号Dとをオペランドとして有する特殊命令であり、前記特殊命令が実行されると、前記ピークホールドレジスタの内容が演算データとして前記データレジスタDに転送格納され、
    前記AD変換命令は、アナログ信号用の入力インタフェース回路が接続されている特殊ユニットに対して適用され、対象となる入力番号Xと、当該入力番号の電圧/周波数変換器が発生するパルス周波数の測定結果が格納されるデータレジスタ番号Dとをオペランドとして有する特殊命令であり、当該特殊命令が実行されると前記ピークホールドレジスタの内容が演算データとして前記データレジスタDに転送格納される
    ことを特徴とするプログラマブルコントローラ。
  28. 請求項27に記載のプログラマブルコントローラにおいて、
    前記パルス密度測定回路は、前記可逆カウンタの第二の設定レジスタに対して中間設定値が格納され、アナログセンサによる入力信号電圧の平均値が当該中間設定値に対応した入力電圧以上であれば、アップ計数中に前記第二の比較回路が比較一致出力を発生したことを記憶する上昇比較一致出力が作動し、チャンネル端子の入力信号電圧の平均値が前記中間設定値に対応した入力電圧未満であれば、アップ計数中に前記第二の比較回路が比較一致出力を発生せず前記上昇比較一致出力がリセットされる回路であり、
    前記AD変換命令は、アナログ信号用の入力インタフェース回路が接続されている特殊ユニットに対して適用され、対象となる入力番号Xと、前記報告信号が格納される補助リレー番号Mとをオペランドとして有する特殊命令であり、当該特殊命令が実行されると、前記上昇比較一致出力の内容が報告信号として送信されて前記補助リレーMを駆動する
    ことを特徴とするプログラマブルコントローラ。
  29. 請求項15に記載のプログラマブルコントローラにおいて、
    前記論理回路部は、前記プログラムメモリ内に格納されたPWM出力命令またはDA変換命令に応動するPWM出力回路を有し、
    前記PWM出力回路は、前記第一および第二の設定レジスタの内容に基づいて所定の周期で可変デューティ(ON時間とON/OFF周期との比率)のパルス幅変調信号を発生する回路であり、
    前記PWM出力命令は、論理信号用の出力インタフェース回路が接続されている特殊ユニットに対して適用され、対象となる出力番号と、出力パルスの周期とON幅とを確定するためのデータが格納されるデータレジスタ番号Dとをオペランドとして有する特殊命令であり、当該特殊命令が実行されると、前記出力パルスの周期とON幅またはOFF幅に関する二つのデータが設定データとして待機バッファレジスタに一時格納され、当該一時格納データは1パルスの発生完了時点で前記第一および第二の設定レジスタに再転送され、
    前記DA変換命令は、アナログ信号用の出力インタフェース回路が接続されている特殊ユニットに対して適用され、対象となる出力番号と、出力パルスの周期とON幅とを確定するためのデータが格納されるデータレジスタ番号Dとをオペランドとして有する特殊命令であり、当該特殊命令が実行されると、前記出力パルスの周期とON幅またはOFF幅に関する二つのデータが設定データとして待機バッファレジスタに一時格納され、当該一時格納データは1パルスの発生完了時点で前記第一および第二の設定レジスタに再転送される
    ことを特徴とするプログラマブルコントローラ。
  30. 請求項29に記載のプログラマブルコントローラにおいて、
    前記特殊ユニットは、前記外部接続端子に接続される多チャンネルの入力インタフェース回路および出力インタフェース回路の双方を有し、
    前記出力インタフェース回路は、前記論理回路部が第二のポートから出力するパルス幅変調信号出力に対する平滑回路を包含するアナログ負荷用のインタフェース回路であり、
    前記入力インタフェース回路は、アナログセンサからの入力信号と前記パルス幅変調信号出力の平滑信号とを比較して二値化論理信号を発生して前記第一のポートに入力するための比較回路を包含したインタフェース回路であり、
    前記特殊ユニットは、重複しない入出力チャンネルに対してアナログ負荷の駆動を行うか、またはアナログ入力信号と可変比較値との比較結果信号を得る
    ことを特徴とするプログラマブルコントローラ。
JP2007234092A 2007-09-10 2007-09-10 プログラマブルコントローラ Active JP4507125B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007234092A JP4507125B2 (ja) 2007-09-10 2007-09-10 プログラマブルコントローラ
US12/042,068 US7644220B2 (en) 2007-09-10 2008-03-04 Programmable controller
DE102008019089A DE102008019089B4 (de) 2007-09-10 2008-04-16 Programmierbare Steuerung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007234092A JP4507125B2 (ja) 2007-09-10 2007-09-10 プログラマブルコントローラ

Publications (2)

Publication Number Publication Date
JP2009069864A true JP2009069864A (ja) 2009-04-02
JP4507125B2 JP4507125B2 (ja) 2010-07-21

Family

ID=40340214

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007234092A Active JP4507125B2 (ja) 2007-09-10 2007-09-10 プログラマブルコントローラ

Country Status (3)

Country Link
US (1) US7644220B2 (ja)
JP (1) JP4507125B2 (ja)
DE (1) DE102008019089B4 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015052312A (ja) * 2013-09-09 2015-03-19 株式会社デンソー 回転角検出システム
JP5847703B2 (ja) * 2010-03-31 2016-01-27 テルモ株式会社 集積回路およびこれを使用した医療機器
WO2016038645A1 (ja) * 2014-09-11 2016-03-17 三菱電機株式会社 入出力制御装置、入出力制御方法、及びプログラム
US10175673B2 (en) 2015-04-06 2019-01-08 Mitsubishi Electric Corporation Programmable controller system
US20210061325A1 (en) * 2018-01-16 2021-03-04 Mitsubishi Electric Corporation Signal control device and abnormality detection method

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7940921B2 (en) * 2005-06-23 2011-05-10 Agere Systems Inc. Continuous power transfer scheme for two-wire serial link
US7737874B1 (en) * 2008-06-28 2010-06-15 Jefferson Science Associates, Llc Method of multi-channel data readout and acquisition
JP2010081673A (ja) * 2008-09-24 2010-04-08 Sanyo Electric Co Ltd バッテリシステム及びバッテリパック
US8441202B2 (en) * 2009-10-26 2013-05-14 Light-Based Technologies Incorporated Apparatus and method for LED light control
US8598804B2 (en) 2009-10-26 2013-12-03 Light-Based Technologies Incorporated Apparatus and method for LED light control
US8032673B2 (en) 2009-12-14 2011-10-04 Apple Inc. Transaction ID filtering for buffered programmed input/output (PIO) write acknowledgements
US8655561B2 (en) * 2010-06-23 2014-02-18 Shimano Inc. Bicycle control system having a value generating unit
CN101976286B (zh) * 2010-10-27 2013-11-06 中兴通讯股份有限公司 终端设备及终端设备中模拟电路的实现方法
JP4926299B1 (ja) * 2011-03-22 2012-05-09 三菱電機株式会社 プログラマブルロジックコントローラ
JP2012198965A (ja) * 2011-03-22 2012-10-18 Toshiba Corp 不揮発性半導体記憶装置
US20120253481A1 (en) * 2011-03-29 2012-10-04 General Electric Company Hart channel interface component including redundancy
US8850092B2 (en) * 2011-04-11 2014-09-30 Rockwell Automation Technologies, Inc. Input module for an industrial controller
US20140068218A1 (en) * 2012-08-31 2014-03-06 Shinya IEMURA Storage device and communication method
JP2014206939A (ja) * 2013-04-15 2014-10-30 株式会社安川電機 コントローラ、制御装置、機器制御システム、コンピュータプログラム及びコンピュータ可読情報記憶媒体
DE102013011391B8 (de) 2013-07-09 2015-01-15 Phoenix Contact Gmbh & Co. Kg Zählereinheit und Steuerungssystem mit Zählereinheit
JP5896964B2 (ja) * 2013-09-02 2016-03-30 三菱電機株式会社 電子制御装置
US10437650B2 (en) * 2014-06-19 2019-10-08 Nec Corporation Controlling execution of tasks in a series of operational processing by identifying processing units based on task command, task setting information, state of operational processing
GB2537856A (en) * 2015-04-28 2016-11-02 Nordic Semiconductor Asa Communication between intergrated circuits
US11070049B2 (en) 2017-11-08 2021-07-20 Eaton Intelligent Power Limited System, method, and apparatus for power distribution in an electric mobile application using a combined breaker and relay
US11368031B2 (en) 2017-11-08 2022-06-21 Eaton Intelligent Power Limited Power distribution and circuit protection for a mobile application having a high efficiency inverter
WO2019092103A2 (en) 2017-11-08 2019-05-16 Eaton Intelligent Power Limited Power distribution unit and fuse management for an electric mobile application
CN109542040B (zh) * 2018-12-29 2020-07-28 中电智能科技有限公司 Io信号处理方法和可编程逻辑控制器
US11682895B2 (en) 2019-02-22 2023-06-20 Eaton Intelligent Power Limited Inverter assembly with integrated coolant coupling port
JP7324060B2 (ja) * 2019-06-11 2023-08-09 ファナック株式会社 位置検出装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4303990A (en) * 1976-07-01 1981-12-01 Gulf & Western Industries, Inc. Programmable controller using microprocessor
US4858101A (en) * 1987-08-26 1989-08-15 Allen-Bradley Company, Inc. Programmable controller with parallel processors
US5193189A (en) * 1987-10-07 1993-03-09 Allen-Bradley Company, Inc. Programmable controller with multiple priority level task processing
US5410717A (en) * 1991-03-22 1995-04-25 Allen-Bradley Company, Inc. Removable function card for a programmable controller processor
US5765000A (en) * 1994-12-29 1998-06-09 Siemens Energy & Automation, Inc. Dynamic user interrupt scheme in a programmable logic controller
US5909586A (en) * 1996-11-06 1999-06-01 The Foxboro Company Methods and systems for interfacing with an interface powered I/O device
JP2002006907A (ja) 2000-06-26 2002-01-11 Omron Corp I/oユニット及びプログラマブルコントローラシステム
TW539931B (en) * 2000-11-30 2003-07-01 Matsushita Electric Works Ltd General-purpose functional circuit and general-purpose unit for programmable controller
JP4366860B2 (ja) 2000-11-30 2009-11-18 パナソニック電工株式会社 プログラマブルコントローラを構成するユニットの汎用機能回路及び汎用ユニット
JP2002222003A (ja) 2001-01-26 2002-08-09 Matsushita Electric Works Ltd プログラマブルコントローラの汎用ユニット
US7024495B2 (en) * 2001-03-30 2006-04-04 Omron Corporation Programmable controller
JP4451010B2 (ja) * 2001-04-09 2010-04-14 三菱電機株式会社 プログラマブルコントローラ
JP3526293B2 (ja) * 2001-11-30 2004-05-10 三菱電機株式会社 プログラマブルコントローラ
WO2004107698A1 (ja) * 2003-05-28 2004-12-09 Mitsubishi Denki Kabushiki Kaisha プログラマブルコントローラ
US7945340B2 (en) * 2005-03-14 2011-05-17 Omron Corporation Programmable controller system
EP1703347B1 (en) * 2005-03-15 2018-10-17 Omron Corporation Programmable logic controller device and programmable logic controller system
EP1770457B1 (de) * 2005-09-28 2009-02-18 Siemens Aktiengesellschaft Peripheriebaugruppe für ein Automatisierungsgerät
JP2007234092A (ja) 2006-02-28 2007-09-13 Victor Co Of Japan Ltd 光ディスク及び光ディスクの製造方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN7009001890, 三菱電機株式会社, "新製品ダイジェスト", 新製品ニュース, 200705, No.459, p.3及び4, JP *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5847703B2 (ja) * 2010-03-31 2016-01-27 テルモ株式会社 集積回路およびこれを使用した医療機器
JP2015052312A (ja) * 2013-09-09 2015-03-19 株式会社デンソー 回転角検出システム
WO2016038645A1 (ja) * 2014-09-11 2016-03-17 三菱電機株式会社 入出力制御装置、入出力制御方法、及びプログラム
KR20170024125A (ko) 2014-09-11 2017-03-06 미쓰비시덴키 가부시키가이샤 입출력 제어장치, 입출력 제어 방법, 및 프로그램
JPWO2016038645A1 (ja) * 2014-09-11 2017-04-27 三菱電機株式会社 入出力制御装置、入出力制御方法、及びプログラム
US9971332B2 (en) 2014-09-11 2018-05-15 Mitsubishi Electric Corporation Input/output control device, input/output control method, and non-transitory computer-readable medium for selective activation of logical circuits
US10175673B2 (en) 2015-04-06 2019-01-08 Mitsubishi Electric Corporation Programmable controller system
US20210061325A1 (en) * 2018-01-16 2021-03-04 Mitsubishi Electric Corporation Signal control device and abnormality detection method
US11938980B2 (en) * 2018-01-16 2024-03-26 Mitsubishi Electric Corporation Signal control device and abnormality detection method

Also Published As

Publication number Publication date
US20090070514A1 (en) 2009-03-12
DE102008019089A1 (de) 2009-03-12
JP4507125B2 (ja) 2010-07-21
DE102008019089B4 (de) 2011-12-08
US7644220B2 (en) 2010-01-05

Similar Documents

Publication Publication Date Title
JP4507125B2 (ja) プログラマブルコントローラ
JP4893931B2 (ja) セーフティ・コントローラ
EP3076291B1 (en) Method for assignment of verification numbers
US7881323B2 (en) Configurable ASIC for use with a programmable I/O module
US10394212B2 (en) Apparatus and method for a security-critical application
US20090030534A1 (en) Method for the programming of a safety controller
JP4442524B2 (ja) 安全plc
US20100030348A1 (en) Method and system for integrated control of machine operations
US9098074B2 (en) Safety-related control unit and method for controlling an automated installation
JP2012524352A (ja) 安全関連制御ユニット用アプリケーションプログラムの生成方法および装置
JP2017167596A (ja) スレーブ装置、スレーブ装置の制御方法、情報処理プログラム、および記録媒体
JP6874438B2 (ja) スレーブ装置、スレーブ装置の制御方法、情報処理プログラム、および記録媒体
US20140207982A1 (en) Signal Processing System and Method for Processing Signals in a Bus Node
JP2011181072A (ja) システム設定可能な安全制御装置を有する安全装置
US9280195B2 (en) Method for automatically generating user program code for a programmable logic controller for controlling a machine
JP4967939B2 (ja) デジタル指示調節計
JP2017162413A (ja) スレーブ装置、スレーブ装置の制御方法、情報処理プログラム、および記録媒体
JP6549697B2 (ja) ユニット及び制御システム
US11599081B2 (en) Method and apparatus for proxy execution and computation with an industrial controller
WO2013146308A1 (ja) 制御機器および制御機器の更新時間表示方法
WO2014099886A1 (en) Universal software platform for work vehicles
CN113711141B (zh) 控制装置
WO2017168587A1 (ja) プログラマブルロジックコントローラ
SINGH APPLICATION OF PROGRAMMABLE LOGIC CONTROLLER (PLC) IN INDUSTRY
US20230281076A1 (en) Data processing procedure for safety instrumentation and control (i&c) systems, i&c system platform, and design procedure for i&c system computing facilities

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091216

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: 20100406

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100421

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

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4507125

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140514

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250