JP2011198356A - 複数の独立したシーケンスプログラムを並列実行するプログラマブルコントローラ - Google Patents

複数の独立したシーケンスプログラムを並列実行するプログラマブルコントローラ Download PDF

Info

Publication number
JP2011198356A
JP2011198356A JP2011016083A JP2011016083A JP2011198356A JP 2011198356 A JP2011198356 A JP 2011198356A JP 2011016083 A JP2011016083 A JP 2011016083A JP 2011016083 A JP2011016083 A JP 2011016083A JP 2011198356 A JP2011198356 A JP 2011198356A
Authority
JP
Japan
Prior art keywords
arithmetic processing
mpu
processing circuits
instruction
programmable controller
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
JP2011016083A
Other languages
English (en)
Other versions
JP4809497B2 (ja
Inventor
Masuo Ogura
万寿夫 小倉
Yasushi Nomoto
靖司 野本
Motoyoshi Miyachi
基好 宮地
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP2011016083A priority Critical patent/JP4809497B2/ja
Publication of JP2011198356A publication Critical patent/JP2011198356A/ja
Application granted granted Critical
Publication of JP4809497B2 publication Critical patent/JP4809497B2/ja
Expired - Fee Related 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

【課題】MPUの命令実行待ちでプログラムが停止することを回避する。
【解決手段】シーケンスプログラムの中で所定の第1の命令をハードウェアで実行する演算処理回路(1)〜(n)と、並行して実行されている複数の独立したシーケンスプログラムの中で、演算処理回路で実行できない第2の命令を実行するMPU11,12と、演算処理回路で発生した少なくとも1つの前記第2の命令の情報を命令の発生した順番にMPUに転送する第1の転送手段と、MPUが実行した前記第2の命令の実行結果の情報を、演算処理回路に転送する第2の転送手段と、を備えた独立したシーケンスプログラムを並行して実行するプログラマブルコントローラであって、演算処理回路をMPUの数と同じ数のグループに分けて各グループは少なくとも1つの演算処理回路で構成し、各グループに対応する前記MPUと第1の転送手段と第2の転送手段をそれぞれ有す。
【選択図】図18

Description

本発明は、プログラマブルコントローラに関し、特に、複数本のシーケンスプログラムを並列実行するプログラマブルコントローラに関する。
シーケンス制御を行うプログラマブルコントローラでは、一般的に、演算実行処理、すなわち、シーケンスプログラムの実行はMPUやASICで行われており、シーケンスプログラムを構成する命令に応じてMPUで処理するかASICで処理するかを使い分けている。なお、MPUは、CPUの機能を一つのLSIにまとめたものである。また、ASICは、ある特定の用途のために設計、製造される集積回路のことである。
このようなプログラマブルコントローラにおいて、1台で複数本の独立したシーケンスプログラムを実行するには、特許文献1に開示される下記(1)、(2)の技術がある。
(1)MPU10、メモリ20、ASIC30のそれぞれ1個から構成されるハードウェアで、プログラム(1)〜プログラム(n)の複数本のプログラムを時分割して実行する(図1,図2を参照)。この構成のプログラマブルコントローラでは、一つ一つのプログラムを時系列的に処理することから、図2に示されるように、各プログラムを実行する処理時間の総和が長くなるという問題がある。
(2)MPU10、メモリ20、演算処理回路(1)〜演算処理回路(n)の複数個の演算処理回路および調停回路38を有するASIC30のそれぞれ1個から構成されるハードウェアで、プログラム(1)〜プログラム(n)の複数本のプログラムを並行して実行する(図3,図4を参照)。この構成のプログラマブルコントローラでは、複数のシーケンスプログラムを並行して実行することが可能である。図4に示されるように、プログラム(1)〜プログラム(n)を処理する時間は、プログラム(1)の実行時間である。つまり、処理時間が一番長いプログラムに、プログラムの実行時間が依存する。
特開2009−116445号公報
背景技術で説明した(1)の技術では、図2に示されるように、処理時間の合計が長くなるという問題がある。
また、(2)の技術では、図3に示されるように、複数本のシーケンスプログラムをASIC30内部の複数個の演算処理回路、及び、1台のMPU10で実行する。そのため、プログラムを構成する命令において、MPUが実行する命令の占める割合が大きいと、複数本のプログラムが同時にMPUに命令の実行を要求する可能性が高くなり、MPUの命令実行待ちでプログラムが停止することになるという問題があった。
図5は、従来技術の問題点を説明する図であり、(2)の技術を用いて、プログラム(1)〜(3)が並行して処理されることを示している。符号100はMPUの実行命令時間、符合112はASICの実行命令時間である。また、符号114と符号116はプログラムの処理停止を意味する。
MPU10が1台であるため、プログラム(1)のMPU10での処理が終了するのを待って、プログラム(2)のMPU10での処理が開始する。また、プログラム(3)の処理では、プログラム(2)のMPU10での処理が終了するのを待って、プログラム(3)のMPU10での処理が開始する。このように、MPU10が1個であるため、複数のプログラムのMPU実行命令を同時に処理することができず、プログラムが停止することが起こるという問題点がある。
そこで本発明の目的は、上記従来技術の問題点に鑑み、プログラムを構成する命令において、MPUが実行する命令の占める割合が大きく、複数本のプログラムが同時にMPUに命令の実行を要求する場合でも、MPUの命令実行待ちでプログラムが停止する時間を短縮することが可能な、複数の独立したシーケンスプログラムを並列実行するプログラマブルコントローラを提供することである。
本願の請求項1に係る発明は、複数の独立したシーケンスプログラムを並行して実行するプログラマブルコントローラであって、シーケンスプログラムの中の所定の第1の命令をハードウェアで実行する複数の演算処理回路と、並行して実行されている複数の独立したシーケンスプログラムの中で、前記演算処理回路で実行できない第2の命令を実行する複数台のMPUと、前記演算処理回路で発生した少なくとも1つの前記第2の命令の情報を、その命令の発生した順番に前記MPUに転送する第1の転送手段と、前記MPUが実行した前記第2の命令の実行結果の情報を、前記第2の命令の情報の発生元である前記演算処理回路に転送する第2の転送手段とを備え、前記複数の演算処理回路は、前記のMPUの数と同じ数の、少なくとも一つの演算処理回路を含んだグループに分けられ、かつそれらのグループのうちの少なくとも一つは、少なくとも二つの演算処理回路を含み、前記第1及び第2の転送手段並びに前記MPUはこの少なくとも二つの演算処理回路を含むグループに対応して配されている、前記のプログラマブルコントローラである。
請求項2に係る発明は、前記複数の演算処理回路を前記グループに分けて構成するときに、前記複数の演算処理回路の各々がどのグループに属するかを選択する選択手段を有することを特徴とする請求項1に記載のプログラマブルコントローラである。
請求項3に係る発明は、前記選択手段は、前記演算処理回路の各々がどのグループに属するかを指定するデータを格納するレジスタと、前記レジスタに格納されたデータに従って各々の前記演算処理回路を対応する各グループの前記MPUと前記第1の転送手段と前記第2の転送手段に関連づける選択回路と、を備えたことを特徴とする請求項2に記載のプログラマブルコントローラである。
請求項4に係る発明は、前記演算処理回路の各々がどのグループに属するかを指定する前記データは、前記複数の独立したシーケンスプログラムを任意に前記グループに分けてシミュレーションを行い、前記複数のシーケンスプログラムの実行時間が最短となる組み合わせのデータであることを特徴とする請求項3に記載のプログラマブルコントローラである。
請求項5に係る発明は、前記第1の転送手段に替えて、一つの前記演算処理回路から一つの前記MPUに前記第2の命令の情報を直接転送する第3の転送手段を有する構成を含むことを特徴とする請求項1から請求項4のいずれか一つに記載のプログラマブルコントローラである。
本発明により、プログラムを構成する命令において、MPUが実行する命令の占める割合が大きく、複数本のプログラムが同時にMPUに命令の実行を要求する場合でも、MPUの命令実行待ちでプログラムが停止する時間を短縮することが可能な、複数の独立したシーケンスプログラムを並列実行するプログラマブルコントローラを提供できる。
従来技術のMPU、メモリ、ASIC、それぞれ1個から構成されるプログラマブルコントローラを説明する要部ブロック図である。 図1に示される構成のプログラマブルコントローラにおける各プログラムの実行時間である。 従来技術のMPU、メモリ、複数個の演算処理回路および調停回路を有するASIC、それぞれ1個から構成されるプログラマブルコントローラを説明する図である。 図3に示される構成のプログラマブルコントローラにおけるプログラムの実行時間の最大値を説明する図である。 従来技術の問題点を説明する図である。 本発明の第1の実施形態である、従来技術のハードウェアを2個実装した構成を説明する図である。 プログラム(1)を構成する命令がほとんどMPU実行命令、プログラム(2)〜(8)を構成する命令がほとんどASIC実行命令の場合のプログラムの実行時間を説明する図である。 演算処理回路が8回路で、従来技術のハードウェアを2つ実装する場合を説明する図である。 図8の構成のプログラマブルコントローラで図7のプログラムを実行した場合のプログラムの実行時間を説明する図である。 演算処理回路が8回路で、一つの調停回路を備えたハードウェアを実装する場合を説明する図である。 図10の構成のプログラマブルコントローラで図7のプログラムを実行した場合のプログラムの実行時間を説明する図である。 MPUと同数の調停回路の各々が調停する演算処理回路の数を変更できるようにし、並列実行するプログラムの内容に応じて、最適なハードウェア構成を選択できる本発明の第2の実施形態を説明する図である。 図12の構成において、MPUが2個の場合の構成を説明する図である。 本発明の実施形態のMPUを2個と演算処理回路を8回路とを実装する第1の構成を説明する図である。 本発明の実施形態のMPUを2個と演算処理回路を8回路とを実装する第2の構成を説明する図である。 本発明の実施形態のMPUを2個と演算処理回路を8回路とを実装する第3の構成を説明する図である。 本発明の実施形態のMPUを2個と演算処理回路を8回路とを実装する第4の構成を説明する図である。 本発明のハードウェア構成を変更するための回路を説明する図である。
以下、本発明の実施形態を図面と共に説明する。なお、同じ要素や類似する要素は、同じ符号を用いて説明する。
まず、本願の特許請求の範囲および課題を解決するための手段に記載される第1の転送手段と第2の転送手段について概略を説明する。第1の転送手段と第2の転送手段は、特許文献1に詳細に記述されているように、従来公知の技術であるため、詳細な説明は省略し、ここでは概略を説明する。
シーケンスプログラムの中で、演算処理回路で実行可能な命令を第1の命令といい、前記演算処理回路で実行できずMPUで処理する命令を第2の命令という。
演算処理回路は、第2の命令が発生したときにMPU命令実行要求信号を出力し該MPU命令実行要求信号を出力してからMPUが該第2の命令を完了するまで停止状態となるMPU命令実行要求手段と、MPUが前記第2の命令の実行を完了した信号を受けてプログラム実行を再開する再開手段とを有する。
第1の転送手段は、第2の命令が発生したときにMPU命令実行要求信号を順次受け付ける受付手段と、前記第2の命令が発生した前記演算処理回路のID番号と前記第2の命令のプログラムアドレスを順次記憶する記憶手段と、前記記憶手段に記憶されているプログラムアドレスに基づいてMPUが順次前記第2の命令を実行していくためのMPU命令実行開始信号を前記受付手段からMPUに順次出力するMPU実行開始手段を有する。
第2の転送手段は、MPUが第2の命令の実行を完了する毎に完了した前記第2の命令に対応する前記ID番号の演算処理回路にMPU命令実行完了信号と実行結果を出力するMPU実行完了通知手段とを有する。
図6は、従来技術のハードウェアを2個実装した本発明の第1の実施形態を説明する図である。第1の実施形態は、ASIC30にn本の演算処理回路と2台の調停回路31,32を設け、2台のMPU11,12を用いる。
第1の実施形態をより一般的に述べると、複数台のMPUと、複数個の演算処理回路、および、演算処理回路が実行できない命令(MPU実行命令)の実行をMPUに要求する際の複数の演算処理回路間の調停を行うMPUと同数の調停回路とを有するハードウェアを設ける。なお、マルチコアMPUのように、1チップに複数のコアを有するMPU1台で構成してもよい。
第1の実施形態では、事前に各シーケンスプログラムの実行開始前に、ソフトウェアでシミュレーションを行ない、全体のプログラムの実行時間が最も短い構成となるように、複数のシーケンスプログラムを複数のセットにそれぞれ割り当てておく。これにより、最短の時間で複数のシーケンスプログラムを処理することができる。
ところで、並列実行するプログラムの本数、あるいは、各プログラムに含まれるMPU実行命令の数も様々であるため、複数台のMPUを最大限に有効利用できない場合がある。図7は、プログラム(1)を構成する命令がほとんどMPU実行命令、プログラム(2)〜(8)を構成する命令がほとんどASIC実行命令の場合のプログラムの実行時間を説明する図である。
ただし、この図のプログラムの実行時間は、各プログラムが専用の演算処理回路及び専用のMPUで実行される、すなわち、各プログラムは、他のプログラムとの競合により、MPUの命令実行待ちとなって停止することがない、とした場合の実行時間である。
図8は、演算処理回路が8回路で、従来技術のハードウェアを2つ実装する場合を説明する図である。図8の構成は、図6においてn=8の場合である。ASIC30には、8個の演算処理回路(1)〜(8)と2つの調停回路31,32が備わっている。第1の調停回路31には演算処理回路(1)〜(4)が接続され、第2の調停回路32には演算処理回路(5)〜(8)が接続されている。そして、第1のMPU11に第1の調停回路31が接続され、第2のMPU12に第2の調停回路32が接続されている。
図9は、図8の構成のプログラマブルコントローラで図7のプログラムを実行した場合のプログラムの実行時間を説明する図である。第1のMPU11は、プログラム(1)〜(4)の実行処理で、MPU命令実行の待ち合わせを行なうため、プログラムの停止が発生する。
図9に示される停止時間の問題を回避するため、図8に示される調停回路と演算処理回路との組み合わせを変更する。図10は、演算処理回路が8回路で、一つの調停回路を備えたハードウェアを実装する場合を説明する図である。演算処理回路(1)は直接、第1のMPU11に接続し、演算処理回路(2)〜(8)は調停回路39に接続される。
図11は、図10の構成のプログラマブルコントローラで図7のプログラムを実行した場合のプログラムの実行時間を説明する図である。プログラム(1)を構成する命令がほとんどMPU実行命令、プログラム(2)〜(8)を構成する命令がほとんどASIC実行命令の場合、図8より図10のようなハードウェア構成になっている方が全体の実行時間を短縮できる。
MPU実行命令とASIC実行命令の割合はプログラム毎に異なるため、プログラムに応じて複数のMPUと演算処理回路との組み合わせを変更する。
図12は、MPUと同数の調停回路の各々が調停する演算処理回路の数を変更できるようにし、並列実行するプログラムの内容に応じて、最適なハードウェア構成を選択できる本発明の第2の実施形態を説明する図である。
図12において、m個(m<n)の調停回路が調停する演算処理回路の数をハードウェア的に変更できるようにする。例えば、図13に示すようにMPU2台の場合について説明する。
MPU2台の場合、調停回路2回路、演算処理回路n回路(n=2j、j=1,2,3,・・・)のハードウェア接続の組み合わせを以下のn/2通りに変更できるようにする。なお、複数のMPUに替えて、例えば、マルチコアMPUのように1チップに複数のコアを有するMPUを1台として構成してもよい。
[1]
MPU(1)、調停回路(1)、演算処理回路(1)を接続。
MPU(2)、調停回路(2)、演算処理回路(2)〜(n)を接続。
[2]
MPU(1)、調停回路(1)、演算処理回路(1),(2)を接続。
MPU(2)、調停回路(2)、演算処理回路(3)〜(n)を接続。
[3]
MPU(1)、調停回路(1)、演算処理回路(1)〜(3)を接続。
MPU(2)、調停回路(2)、演算処理回路(4)〜(n)を接続。


[n/2]
MPU(1)、調停回路(1)、演算処理回路(1)〜(n/2)を接続。
MPU(2)、調停回路(2)、演算処理回路(n/2 + 1)〜(n)を接続。
図13において、演算処理回路の数が8個の場合を例として説明する。図14は、本発明の実施形態のMPUを2個と演算処理回路を8回路とを実装する第1の構成を説明する図である。図15は、本発明の実施形態のMPUを2個と演算処理回路を8回路とを実装する第2の構成を説明する図である。図16は、本発明の実施形態のMPUを2個と演算処理回路を8回路とを実装する第3の構成を説明する図である。図17は、本発明の実施形態のMPUを2個と演算処理回路を8回路とを実装する第4の構成を説明する図である。
図14〜図17の組み合わせは、複数個の演算処理回路を有するハードウェアのレジスタ設定などで変更することができる仕様にする。変更することができる仕様を、図18を用いて後述して説明する。そして、このハードウェア構成をどのように設定するかは、各シーケンスプログラム実行開始前にソフトウェアでシミュレーションを行ない、全ハードウェア構成の組み合わせで複数本のプログラムを実行して、全体のプログラムの実行時間が最も短い構成を選択する。
以上のように、複数本の独立したシーケンスプログラム実行時、複数の演算処理回路と調停回路とMPUのハードウェアを複数セットで構成し、さらに、シーケンスプログラムの内容に応じてプログラマブルコントローラのハードウェアの構成を変更する(組み替える)ことにより、プログラムの実行がMPU実行命令の実行待ちで停止する時間を短縮することができる。
図18は、本発明に係るハードウェア構成を変更するための回路を説明する図である。
図18ではメモリ20は省略されている。第1の調停回路31には第1のMPU11が接続され、第2の調停回路32には第2のMPU12が接続される。第1の調停回路31は演算処理回路(1)〜(n/2)の調停を行なうことが可能で、MPU命令実行要求信号を第1のMPU11に出力する。また、第1のMPU11は命令の実行が完了すると、第1の調停回路31にMPU命令実行完了信号を出力する。第1の調停回路31は、このMPU命令実行完了信号をMPU命令実行要求信号を出力した演算処理回路に出力する。第2の調停回路32は、演算処理回路(2)〜(n)の調停を行なうことが可能で、MPU命令実行要求信号を第2のMPU12に出力する。
したがって、演算処理回路(2)〜(n/2)は、第1の調停回路31及び第2の調停回路32の双方に接続可能である。つまり、演算処理回路(2)〜(n/2)と第1の調停回路31および第2の調停回路32とは、図18に示すとおり、セレクタ51〜59を介して接続され、演算処理回路(2)〜(n/2)が出力するMPU命令実行要求信号及びデータは、セレクタ51〜59の設定によって、第1の調停回路31または第2の調停回路32のどちらか一方に出力される。そして、MPU命令実行要求信号及びデータは、第1の調停回路31または第2の調停回路32から、第1のMPU11または第2のMPU12に出力される。図18において、セレクタ51〜59は9つのセレクタを意味するのではなく、図示されているセレクタのみに符号を付けた。
一方、第1のMPU11または第2のMPU12が出力したMPU命令実行完了信号は、第1の調停回路31または第2の調停回路32から、更に、直接、または、セレクタ51〜59を介してMPU命令実行要求信号を出力した演算処理回路に出力される。演算処理回路(1)と第1の調停回路31とは直接接続している。
レジスタ及びデコーダ40の端子S1,S2,・・・,S(n/2 ―1)から出力される信号は、0または1の出力であり、セレクタ51〜59を切り替える。セレクタの切り替えは、レジスタ及びデコーダ40からの指示によって行う。セレクタ51〜59をどのように設定するかは、第2のMPU12からレジスタ及びデコーダ40へセレクタ設定情報dとして与えられる。なお、レジスタ及びデコーダ40へのセレクタ設定情報は第1のMPU11から与えるようにしてもよい。
セレクタ51,52,57を例として説明する。演算処理回路(2)の端子aからの出力は、セレクタ51の0端子とセレクタ57の0端子に入力する。セレクタ51,57の1端子はグランドに接地され、セレクタ51の出力は第1の調停回路31の端子a(2)に入力する。セレクタ57の出力は第2の調停回路32の端子a(2)に入力する。
セレクタ52の0端子には第1の調停回路31のb(2)端子からの出力が入力し、セレクタ52の1端子には第2の調停回路32のb(2)端子からの出力が入力する。そして、セレクタ52の出力は、演算処理回路(2)のb端子に入力する。
演算処理回路(3)〜(n/2)も同様にセレクタ53〜56,58,59を介して第1の調停回路31と第2の調停回路32に接続されている。
レジスタ及びデコーダ40のS1端子からの出力は、セレクタ51,52の切替え端子に入力し、一方、セレクタ57の切替え端子にインバータ60を介して入力する。例えば、レジスタ及びデコーダ40の端子S1から「1」を意味する信号が出力されると、セレクタ51のスイッチは「1」に接続され、S1から「0」を意味する信号が出力されると、セレクタ51のスイッチは「0」に接続される。
上述したように、各演算処理回路(1)〜(n)のa端子から、MPU命令実行要求信号およびデータが、直接、もしくは、セレクタ51〜59を介して第1の調停回路31,第2の調停回路32に出力される。図18では、演算処理回路(1)、演算処理回路(n/2 +1)〜演算処理回路(n)は、第1の調停回路31、または、第2の調停回路32に直接接続されている。
そして、第1の調停回路31,第2の調停回路32からMPU命令実行完了信号が、直接、もしくは、セレクタを介して各演算処理回路(1〜n)に送り出される。
セレクタ51〜59の選択信号は、レジスタ及びデコーダ40により生成する。(n/2 −1)個の演算処理回路を、第1の調停回路31または第2の調停回路32のどちらかに接続するかを決めるための選択信号S(n/2 −1),・・・,S3,S2,S1は表1のようになる。
(表1)
Figure 2011198356
ここで、(S(n/2 ―1),・・・,S3,S2,S1)=(1,・・・,1,1,1)の場合、第1のMPU11にデータ、MPU命令実行要求信号を出力するのは演算処理回路(1)のみである。この場合、第1の演算処理回路と第1のMPU11の間のデータ、MPU命令実行要求信号、およびMPU命令実行完了信号の授受は、調停回路を介さずに直接行われる。
また、レジスタ及びデコーダ40は、レジスタの設定値に応じて表1のような選択信号を生成する回路にする。このレジスタ及びデコーダ40のレジスタはMPUにより設定することが可能な構成とする。例えば、演算処理回路が8回路の場合、2ビットレジスタR1,R0を設け、このデータをデコードして、表2のように選択信号S1,S2,S3を生成する。
(表2)
Figure 2011198356
以上説明した本発明の実施形態によれば、本発明は、複数の演算処理回路と複数台のMPUを用いる構成により、複数本の独立したシーケンスプログラムを並行して実行するハードウェアに関するものであるが、シーケンスプログラムの本数、各シーケンスプログラムを構成する命令の内容により、複数の演算処理回路と、複数台のMPUのハードウェア接続の組み合わせの中から、プログラムの処理時間を最も短縮できる最適な構成を選択することができる。
10 MPU
11 第1のMPU
12 第2のMPU
13 第3のMPU
14 第mのMPU
20 メモリ
30 ASIC
31 第1の調停回路
32 第2の調停回路
33 第3の調停回路
34 第mの調停回路
38,39 調停回路
40 レジスタ及びデコーダ
51,52,53,54,55,56,57,58,59 セレクタ
60,61,62 インバータ
a MPU命令実行要求信号及びデータ
b MPU命令実行完了信号
d セレクタ設定情報

Claims (5)

  1. 複数の独立したシーケンスプログラムを並行して実行するプログラマブルコントローラであって、
    シーケンスプログラムの中の所定の第1の命令をハードウェアで実行する複数の演算処理回路と、
    並行して実行されている複数の独立したシーケンスプログラムの中で、前記演算処理回路で実行できない第2の命令を実行する複数台のMPUと、
    前記演算処理回路で発生した少なくとも1つの前記第2の命令の情報を、その命令の発生した順番に前記MPUに転送する第1の転送手段と、
    前記MPUが実行した前記第2の命令の実行結果の情報を、前記第2の命令の情報の発生元である前記演算処理回路に転送する第2の転送手段とを備え、
    前記複数の演算処理回路は、前記のMPUの数と同じ数の、少なくとも一つの演算処理回路を含んだグループに分けられ、
    かつそれらのグループのうちの少なくとも一つは、少なくとも二つの演算処理回路を含み、前記第1及び第2の転送手段並びに前記MPUはこの少なくとも二つの演算処理回路を含むグループに対応して配されている、
    前記のプログラマブルコントローラ。
  2. 前記複数の演算処理回路を前記グループに分けて構成するときに、前記複数の演算処理回路の各々がどのグループに属するかを選択する選択手段を有することを特徴とする請求項1に記載のプログラマブルコントローラ。
  3. 前記選択手段は、
    前記演算処理回路の各々がどのグループに属するかを指定するデータを格納するレジスタと、
    前記レジスタに格納されたデータに従って各々の前記演算処理回路を対応する各グループの前記MPUと前記第1の転送手段と前記第2の転送手段に関連づける選択回路と、を備えたことを特徴とする請求項2に記載のプログラマブルコントローラ。
  4. 前記演算処理回路の各々がどのグループに属するかを指定する前記データは、前記複数の独立したシーケンスプログラムを任意に前記グループに分けてシミュレーションを行い、前記複数のシーケンスプログラムの実行時間が最短となる組み合わせのデータであることを特徴とする請求項3に記載のプログラマブルコントローラ。
  5. 前記第1の転送手段に替えて、一つの前記演算処理回路から一つの前記MPUに前記第2の命令の情報を直接転送する第3の転送手段を有する構成を含むことを特徴とする請求項1から請求項4のいずれか一つに記載のプログラマブルコントローラ。
JP2011016083A 2010-02-25 2011-01-28 複数の独立したシーケンスプログラムを並列実行するプログラマブルコントローラ Expired - Fee Related JP4809497B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011016083A JP4809497B2 (ja) 2010-02-25 2011-01-28 複数の独立したシーケンスプログラムを並列実行するプログラマブルコントローラ

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010040996 2010-02-25
JP2010040996 2010-02-25
JP2011016083A JP4809497B2 (ja) 2010-02-25 2011-01-28 複数の独立したシーケンスプログラムを並列実行するプログラマブルコントローラ

Publications (2)

Publication Number Publication Date
JP2011198356A true JP2011198356A (ja) 2011-10-06
JP4809497B2 JP4809497B2 (ja) 2011-11-09

Family

ID=44356993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011016083A Expired - Fee Related JP4809497B2 (ja) 2010-02-25 2011-01-28 複数の独立したシーケンスプログラムを並列実行するプログラマブルコントローラ

Country Status (4)

Country Link
US (1) US8301869B2 (ja)
JP (1) JP4809497B2 (ja)
CN (1) CN102169332B (ja)
DE (1) DE102011011682B4 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10908572B2 (en) 2018-05-24 2021-02-02 Fanuc Corporation Programmable controller and machine learning device

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105242611B (zh) * 2015-10-31 2017-12-12 肖勤 一种时序再现循环控制器以及时序控制方法
JP6356736B2 (ja) 2016-06-29 2018-07-11 ファナック株式会社 コントローラシステムおよび制御方法
US11904399B2 (en) * 2020-11-30 2024-02-20 Metal Industries Research & Development Centre Online prediction method of tool-electrode consumption and prediction method of machining accuracy

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009116445A (ja) * 2007-11-02 2009-05-28 Fanuc Ltd 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748934A (en) * 1996-05-31 1998-05-05 Hewlett-Packard Company Operand dependency tracking system and method for a processor that executes instructions out of order and that permits multiple precision data words
JP2933026B2 (ja) * 1996-08-30 1999-08-09 日本電気株式会社 複数命令並列発行/実行管理装置
US6901504B2 (en) * 2002-01-22 2005-05-31 International Business Machines Corporation Result forwarding of either input operand to same operand input to reduce forwarding path
JP4082706B2 (ja) * 2005-04-12 2008-04-30 学校法人早稲田大学 マルチプロセッサシステム及びマルチグレイン並列化コンパイラ
JP4491439B2 (ja) * 2006-06-30 2010-06-30 株式会社日立製作所 制御装置及び制御方法
US7984272B2 (en) * 2007-06-27 2011-07-19 International Business Machines Corporation Design structure for single hot forward interconnect scheme for delayed execution pipelines
US7930519B2 (en) * 2008-12-17 2011-04-19 Advanced Micro Devices, Inc. Processor with coprocessor interfacing functional unit for forwarding result from coprocessor to retirement unit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009116445A (ja) * 2007-11-02 2009-05-28 Fanuc Ltd 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10908572B2 (en) 2018-05-24 2021-02-02 Fanuc Corporation Programmable controller and machine learning device

Also Published As

Publication number Publication date
CN102169332A (zh) 2011-08-31
JP4809497B2 (ja) 2011-11-09
US20110208952A1 (en) 2011-08-25
DE102011011682A1 (de) 2011-08-25
CN102169332B (zh) 2013-08-07
DE102011011682B4 (de) 2014-02-06
US8301869B2 (en) 2012-10-30

Similar Documents

Publication Publication Date Title
TWI528280B (zh) 用於在資料流加速器中控制指令順序之執行的方法、積體電路及電腦平台
JP5994679B2 (ja) 処理装置、及び処理装置の制御方法
US9043806B2 (en) Information processing device and task switching method
JP2007041781A (ja) リコンフィグ可能な集積回路装置
US20110022759A1 (en) Multiprocessor system
JP4809497B2 (ja) 複数の独立したシーケンスプログラムを並列実行するプログラマブルコントローラ
JP2006266835A (ja) 試験装置、試験方法、及び試験制御プログラム
US8060726B2 (en) SIMD microprocessor, image processing apparatus including same, and image processing method used therein
CN109726800B (zh) 运算方法、装置及相关产品
JPH04245324A (ja) 演算装置
CN111767995A (zh) 运算方法、装置及相关产品
JP5630798B1 (ja) プロセッサーおよび方法
JP2001157049A5 (ja)
JP6432348B2 (ja) 演算装置及び演算方法
US20070220236A1 (en) Reconfigurable computing device
JP2010107230A (ja) 試験装置、プログラム、記憶媒体、および、試験方法
JP2008102599A (ja) プロセッサ
US20080288952A1 (en) Processing apparatus and device control unit
US11797421B2 (en) Semiconductor apparatus and debug system
US20180136955A1 (en) Simulation apparatus, simulation method, and computer readable medium
JP3982077B2 (ja) マルチプロセッサシステム
JP2010033336A (ja) 信号処理装置及び信号処理方法
JP5441185B2 (ja) 割り込みコントローラ及び時分割割り込み発生方法
JP2010113442A (ja) データ保持装置
WO2015136686A1 (ja) 情報処理装置及び方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110704

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

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

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

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4809497

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees