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

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

Info

Publication number
JP2021071864A
JP2021071864A JP2019197432A JP2019197432A JP2021071864A JP 2021071864 A JP2021071864 A JP 2021071864A JP 2019197432 A JP2019197432 A JP 2019197432A JP 2019197432 A JP2019197432 A JP 2019197432A JP 2021071864 A JP2021071864 A JP 2021071864A
Authority
JP
Japan
Prior art keywords
time
sequence
sequence program
execution
remainder
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
JP2019197432A
Other languages
English (en)
Other versions
JP7364428B2 (ja
Inventor
直 小野瀬
Nao ONOSE
直 小野瀬
充 望月
Mitsuru Mochizuki
充 望月
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 JP2019197432A priority Critical patent/JP7364428B2/ja
Priority to US17/060,080 priority patent/US11561524B2/en
Priority to DE102020127997.3A priority patent/DE102020127997A1/de
Priority to CN202011185614.3A priority patent/CN112748695A/zh
Publication of JP2021071864A publication Critical patent/JP2021071864A/ja
Application granted granted Critical
Publication of JP7364428B2 publication Critical patent/JP7364428B2/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
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • 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
    • 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/058Safety, monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • 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/056Programming the PLC
    • 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/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35382Distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Programmable Controllers (AREA)

Abstract

【課題】複数のシーケンスプログラムに対する実行可能時間の割当を保証し処理開始タイミングを変更することなく、余り時間を有効活用できる仕組みを提供すること。【解決手段】本発明のプログラマブルコントローラ1は、割当時間内でシーケンスプログラムを実行するシーケンス実行部112と、シーケンスプログラムの実行が終了した際の、割当時間の余りである余り時間を測定する余り時間測定部114と、余り時間測定部114が測定した余り時間において所定のシーケンスプログラムを実行するか否かを判断し、その判断結果に応じて所定のシーケンスプログラムを余り時間で実行するようにシーケンス実行部へと指令する実行可否判断部116と、を備える。【選択図】図2

Description

本発明は、プログラマブルコントローラに関する。
CNC(数値制御装置)などで使用されるプログラマブルコントローラ(プログラマブルロジックコントローラ、PLC)では、加工を行う機械の本体部や、加工に用いられる工具を管理する工具管理機構部、ローダなどの周辺機器部などの制御対象に係るシーケンスプログラムを動作させている。
プログラマブルコントローラは、その動作周期毎にシーケンス制御を繰り返し行う。プログラマブルコントローラは、各動作周期の開始タイミングから所定の実行可能時間の間、シーケンスプログラムをスキャン(実行)している。プログラマブルコントローラでは、第1レベル、第2レベルといったように複数のプログラムレベルが用意されているものがある(例えば、特許文献1等)。図9に例示されるように、複数のプログラムレベルを用意しているプログラマブルコントローラは、第1レベル用に用意されたシーケンスプログラムについては必ず1回は実行可能時間内でスキャン(実行)する。また、プログラマブルコントローラは、第2レベル用に用意されたシーケンスプログラムについては、実行可能時間内で第1レベルのシーケンスプログラムのスキャン(実行)が終了した後に、当該実行可能時間の残り時間でスキャン(実行)可能な分だけ分割し、割り込ませてスキャン(実行)する。図9の例では、実行可能時間が16msであり、第1レベルでのスキャンは約4msで終了し、残りの約12msで第2レベルでのスキャンを行っている。なお、プログラマブルコントローラは、シーケンスプログラムのスキャンタイムが1回の実行可能時間に対して十分に小さい場合には、シーケンスプログラムのスキャンを複数回行う場合もある。例えば、実行可能時間が16msであり、シーケンスプログラムをスキャンするのに掛かるスキャンタイムが8msの場合、実行可能時間内でシーケンスプログラムのスキャンが2回行われる。
ところで、シーケンスプログラムのスキャンに掛かる時間は、ファンクションブロックの実行条件や、通るラングによって変化する。そのため、図10の32msからの動作周期に見られるように、実行可能時間内でスキャンするシーケンスプログラムのスキャンタイムが中途半端に短い場合、残った時間で2スキャン目のシーケンスプログラムのスキャンをすることができない。このような場合、実行可能時間の残りの「余り時間」はプログラマブルコントローラの動作における無駄な時間となる。
特開昭63−317834号公報
プログラマブルコントローラにおいて、複数系統の複数のシーケンスプログラムを並列に実行する場合、実行可能時間をそれぞれの系統のシーケンスプログラムのスキャンタイムとして分割して割り当てる。この時、予め決められた割合で実行可能時間を割り当てて複数のシーケンスプログラムを並行にスキャンした場合、上記したように周辺機器の状況や処理条件によって各シーケンスプログラムのスキャンタイムが変動すると、たびたび余り時間が発生する。そして、結果としてプログラマブルコントローラの動作が非効率となる場合がある。
このような課題は、各動作周期において、それぞれのシーケンスプログラムのスキャンタイムを考慮して動的に実行可能時間を割り当てることで解決を図ることができる。しかしながら、プログラマブルコントローラの実行可能時間の割当を予め定め、各動作周期におけるそれぞれの系統のシーケンスプログラムのスキャンの開始タイミングを固定的に定めておいた方が、プログラマブルコントローラの動作をCNCの分配周期と同期させることができるというメリットがあるため、設定された実行可能時間の割当を変更することが一概に良いとも言えない。
そこで、複数のシーケンスプログラムに対する実行可能時間の割当を保証し処理開始タイミングを変更することなく、余り時間を有効活用できる仕組みが望まれている。
本発明では、各動作周期における実行可能時間を予め定められた時間割合で複数のシーケンスプログラムに割り当てて順次繰り返して実行するプログラマブルコントローラにおいて、余り時間が発生した際に、該余り時間を予め定めた系統のシーケンスプログラムの実行に割り当てることで、上記課題を解決する。
そして、本発明の一態様は、1つの動作周期における実行可能時間を予め定められた割合で分割した割当時間を複数の系統に割り当て、該割当時間において各系統のシーケンスプログラムを実行するプログラマブルコントローラにおいて、前記割当時間内で前記シーケンスプログラムを実行するシーケンス実行部と、前記シーケンスプログラムの実行が終了した際の、前記割当時間の余りである余り時間を測定する余り時間測定部と、前記余り時間測定部が測定した前記余り時間において所定のシーケンスプログラムを実行するか否かを判断し、その判断結果に応じて前記所定のシーケンスプログラムを前記余り時間で実行するように前記シーケンス実行部へと指令する実行可否判断部と、
を備えたプログラマブルコントローラである。
本発明の一態様により、多系統の制御を行う際に、複数のシーケンスプログラムを自由に割り付けることができるので、安価に数値制御システムを変更、拡充することができる。また、確実に行わなければならないシーケンス制御にはスキャンタイムを分配し、重要度の低い制御は余り時間発生時のみ実行する等の制御を可能とすることで、よりフレキシブルなシーケンス制御を実現する。また、シーケンスの開始タイミングは変更することなく、使用していない時間を有効活用することで無駄のない制御が可能となる。
従来の多系統シーケンスでは、1つの系統は1実行周期で1回しか実行できなかったが、この方式によれば余り時間が存在すれば複数回特定の系統のシーケンスを繰り返し実行することが可能である。信号の更新処理が、1周期の間隔より早い場合やデータ収集等の処理に効果を発揮する。
一実施形態によるプログラマブルコントローラの概略的なハードウェア構成図である。 一実施形態によるプログラマブルコントローラの概略的な機能を示すブロック図である。 割当テーブルの例を示す図である。 割当テーブルに従って複数の系統のシーケンプログラムを動作させた例を示す図である。 余り時間に第4系統のシーケンプログラムを動作させた例を示す図である。 割当テーブルに実行条件を設定した例を示す図である。 割当テーブルに優先順位を設定した例を示す図である。 一実施形態によるプログラマブルコントローラの概略的な動作を示すフローチャートである。 従来技術によるプログラマブルコントローラの動作を説明する図である。 従来技術によるプログラマブルコントローラの問題を説明する図である。
以下、本発明の実施形態を図面と共に説明する。
図1は、本発明の一実施形態によるプログラマブルコントローラの概略的なハードウェア構成図である。プログラマブルコントローラ1はシーケンス制御を実行するCPU10を有する。CPU10には、バス19を介してROM11、RAM12、不揮発性メモリ13、入出力回路14、インタフェース15が接続されている。インタフェース15にはCFメモリ(Compact Flashメモリ)等を読み書きするための外部装置2が接続されている。CPU10は、インタフェース15を介してCFメモリ等が取り付けられた外部装置2から実行形式オブジェクトのシーケンスプログラムを取得し、不揮発性メモリ13へと記録することができる。また、バス19はバスインタフェース18を介して数値制御装置等の制御装置に接続可能になっている。入出力回路14にはI/Oユニット20を介して工作機械や周辺装置等の制御対象となる機械の各種アクチュエータやセンサなどに接続されている。
ROM11には、プログラマブルコントローラ1のCPU10が実行するシステム・プログラムが記憶されている。CPU10は、該システム・プログラムを実行することによりプログラマブルコントローラ1の各部の動作を制御する。また、不揮発性メモリ13には、プログラマブルコントローラ1が実行するシーケンスプログラムが記憶される。シーケンスプログラムの実行時にCPU10は、不揮発性メモリ13から該シーケンスプログラムを読み出し、RAM12の実行用のシーケンスプログラム格納領域へと格納し、このRAM12に記憶された実行用のシーケンスプログラムを順次実行する。
RAM12には、プログラマブルコントローラ1がシーケンスプログラムを実行するときの各種信号を記憶する実行用信号メモリ領域が設けられており、該実行用信号メモリ領域には、シーケンスプログラムを実行する際に必要となる入力信号、出力信号、シーケンスプログラムにおける内部リレーの状態等を記憶する領域が設けられている。
タイマ16は、例えばRTC(Real Time Clock)等で構成され、処理時間等を計時するために用いられる。
図2は、本発明の一実施形態によるプログラマブルコントローラ1が備える機能を概略的なブロック図として示したものである。本実施形態によるプログラマブルコントローラ1が備える各機能は、図1に示したプログラマブルコントローラ1が備えるCPU10がシステム・プログラムを実行し、プログラマブルコントローラ1の各部の動作を制御することにより実現される。
本実施形態のプログラマブルコントローラ1は、シーケンス制御部110を備える。また、プログラマブルコントローラ1のRAM12乃至不揮発性メモリ13には、プログラマブルコントローラ1で実行されるシーケンスプログラムを記憶する領域であるプログラム記憶部210、及びシーケンスプログラムに対する実行可能時間の割当情報が設定された割当テーブルを記憶する割当テーブル記憶部220が設けられている。
シーケンス制御部110の機能は、図1に示したプログラマブルコントローラ1が備えるCPU10がROM11から読み出したシステム・プログラムを実行し、主としてCPU10によるRAM12、不揮発性メモリ13を用いた演算処理と、タイマ16による計時処理、入出力回路14及びバスインタフェース18を介した入出力処理が行われることで実現される。シーケンス制御部110は、プログラム記憶部210に記憶されるシーケンスプログラムに対して各動作周期の実行可能時間を割り当て、割り当てた実行可能時間に従って各シーケンスプログラムを実行する。シーケンス制御部110は、シーケンス実行部112、余り時間測定部114、実行可否判断部116を備える。
シーケンス制御部110が参照する割当テーブル記憶部220には、シーケンスプログラムに対する実行可能時間の割当情報が設定された割当テーブルが記憶されている。シーケンス制御部110は、割当テーブル記憶部220に記憶された割当テーブルで設定される実行可能時間の割当情報に従って実行可能時間を分割し、プログラム記憶部210から読みだした各シーケンスプログラムの実行に掛ける割当時間として割り当てる。
シーケンス実行部112は、シーケンス制御部110が割り当てた各割当時間内において、プログラム記憶部210に予め記憶されている少なくとも1つのシーケンスプログラムを実行する。シーケンス実行部112は、割当時間内にシーケンスプログラムの全体の実行が終了しない場合には、割当時間内に実行可能な範囲でシーケンスプログラムを分割し、分割したシーケンスプログラムを実行する。
図3は、割当テーブルの例を示している。割当テーブルは、例えば実行可能時間をシーケンスプログラムの実行に割り当てる割合を系統ごとに設定したテーブルとして定義できる。図3で示す割当テーブルでは、例えば第1系統、第2系統、第3系統の3つの系統を備えた機械のシーケンス制御を行う際、第1系統のシーケンスプログラムの実行に50%、第2系統のシーケンスプログラムの実行に30%、第3系統のシーケンスプログラムの実行に20%の実行可能時間を、それぞれ割当時間として割り当てるように定義されている。また、例えば第1系統、第2系統、第3系統、第4系統の4つの系統を備えた機械のシーケンス制御を行う際、第1系統のシーケンスプログラムの実行に50%、第2系統のシーケンスプログラムの実行に30%、第3系統のシーケンスプログラムの実行に20%の実行可能時間を、それぞれ割当時間として割り当て、第4系統に対しては割当時間を割り当てないように定義されている。また、第4系統には余り時間使用フラグ(図中のアスタリスク)が設定されている。この余り時間使用フラグは、余り時間が発生した際に該余り時間で実行する系統に対して作業者が予め付与しておく。
図4は、図3に例示される割当テーブルに従って、シーケンス実行部112が第1系統、第2系統、第3系統、第4系統の4つの系統を備えた機械のシーケンス制御を行うために、それぞれのシーケンスプログラムの実行を行う例を示している。プログラム記憶部210に、第1系統の第1レベル用シーケンスプログラム及び第2レベル用シーケンスプログラム、第2系統の第1レベル用シーケンスプログラム及び第2レベル用シーケンスプログラム、第3系統の第1レベル用シーケンスプログラム及び第2レベル用シーケンスプログラム、第4系統の第2レベル用シーケンスプログラムがそれぞれ記憶されているとする。この時、シーケンス制御部110は、実行可能時間Tpの50%であるTp×0.5を第1系統の第1レベル用シーケンスプログラム及び第2レベル用シーケンスプログラムの実行に割当時間として割り当てる。また、シーケンス制御部110は、実行可能時間Tpの30%であるTp×0.3を第2系統の第1レベル用シーケンスプログラム及び第2レベル用シーケンスプログラムの実行に、実行可能時間Tpの残り20%であるTp×0.2を第3系統の第1レベル用シーケンスプログラム及び第2レベル用シーケンスプログラムの実行に割当時間として割り当てる。なお、シーケンス制御部110は、第4系統には割当時間を割り当てない。そして、この割り当てられた割当時間に従って、シーケンス実行部112はそれぞれの系統のシーケンスプログラムを実行する。
余り時間測定部114は、シーケンス実行部112が所定の割当時間においてシーケンスプログラムの実行が終了した時、余り時間が存在しているかを確認する。余り時間測定部114は、余り時間が存在することが確認された場合、割当時間の残り時間を余り時間として測定し、測定した結果を実行可否判断部116へと出力する。例えば、図4では、第1系統のシーケンスプログラムの実行が終了した後、及び第2系統のシーケンスプログラムの実行が終了した後に、余り時間(点線矢印)が生じている。
実行可否判断部116は、余り時間測定部114が測定した余り時間に実行可能なシーケンスプログラムが有るかを判断する。実行可否判断部116は、余り時間に実行可能なシーケンスプログラムがあると判断した場合、当該シーケンスプログラムを余り時間内に実行するようにシーケンス実行部112に指令する。本実施形態による実行可否判断部116は、余り時間使用フラグの有無で、余り時間に実行可能なシーケンスプログラムの存在を判断する。
図5は、図4に示されるように割当時間が各系統に割り当てられた際に、余り時間で第4系統の第2レベル用シーケンスプログラムルを実行した例である。第1系統の割当時間内に、第1レベル用シーケンスプログラム及び第2レベル用シーケンスプログラムの実行が終了して余り時間が生じると、実行可否判断部116は、割当テーブルを参照して余り時間使用フラグが付与されている系統を確認する。図5の場合、第4系統に余り時間使用フラグが付与されているため、実行可否判断部116は、第4系統のシーケンスプログラムを余り時間で実行するようにシーケンス実行部112に指令する。そして、当該指令を受けたシーケンス実行部112は、プログラム記憶部210に記憶されている第4系統の第2レベル用シーケンスプログラムを分割して余り時間内で実行する。なお、余り時間使用フラグが付与される系統に対して複数のレベル用のシーケンスプログラムがある場合には、いずれのレベルのシーケンスプログラムを実行するのかを割当テーブルで指定できるようにしても良い。通常は、第1レベル用のシーケンスプログラムは毎動作周期に実行されることを前提としているので、余り時間に実行されるシーケンスプログラムとしては第2レベル用のシーケンスプログラムであることが望ましい。
なお、上記実施例では、余り時間使用フラグを普段実行しない系統に対して付与している。しかしながら、余り時間使用フラグは、普段実行される系統のうちで、余り時間が生じた時に他のシーケンスプログラムに優先して実行したい系統に対して付与するようにしても良い。
上記構成を備えた本実施形態によるプログラマブルコントローラ1は、余り時間を効率的に利用することができる。余り時間は、他のシーケンスプログラムと比較して重要度が低いシーケンスプログラムの実行や、逆に他のシーケンスプログラムよりも優先して実行したいシーケンスプログラムの実行に活用することができる。
本実施形態によるプログラマブルコントローラ1の一変形例として、余り時間においてシーケンスプログラムを実行する条件を、割当テーブルに設定できるようにしても良い。図6は、余り時間においてシーケンスプログラムを実行する条件を設定した割当テーブルの例を示している。図6の例では、4系統のシーケンス制御を行う際に、第4系統に対しては割当時間を割り当てず、余り時間が発生した場合に実行されるように余り時間使用フラグが付与されている。また、余り時間が0.4ms以上である場合に限って、第4系統のシーケンスプログラムを実行するように設定されている。この時、シーケンスプログラムを実行している際に余り時間が発生すると、実行可否判断部116は、発生した余り時間が0.4ms以上である時に限って、当該余り時間に第4系統のシーケンスプログラムを実行するようにシーケンス実行部112に指令する。このような実行条件が設定できるようにすることで、例えば所定の閾値以上の余り時間が無いと実行できないシーケンスプログラムについては、余り時間の長さに応じて実行するか否かを判定することが可能となる。なお、実行条件は、上記した余り時間に対する条件以外にも、所定の信号の状態や、シーケンスプログラムが分割されて実行されているか否か等を条件として設定できるようにしても良い。所定の信号の状態を条件とすると、例えば操作盤から作業者が所定のシーケンスプログラムの実行を指令する信号を入力している場合のみ、該所定のシーケンスプログラム(例えば、動作ログを取るシーケンスプログラムなど)を実行する、といったような柔軟な運用が可能となる。また、シーケンスプログラムの分割実行を条件とすると、実行可能時間内で終了しなかったシーケンスプログラムに余り時間を使用させるといった柔軟な運用が可能となる。
本実施形態によるプログラマブルコントローラ1の他の変形例として、余り時間に実行可能なシーケンスプログラムが複数ある場合に、それぞれのシーケンスプログラムの実行優先順位を、割当テーブルに設定できるようにしても良い。図7は、余り時間に実行可能な複数のシーケンスプログラムに対して優先順位を設定した割当テーブルの例を示している。図7の例では、4系統のシーケンス制御を行う際に、第4系統に対しては割当時間を割り当てず、第3系統と第4系統について余り時間が発生した場合に実行されるように余り時間使用フラグが付与されている。また、余り時間使用フラグには、第3系統が優先順1、第4系統が優先順2となるように優先度が設定されている。更に、第3系統は余り時間が0.6ms以上の時、第4系統は余り時間が0.4ms以上の時に実行するように実行条件が設定されている。この時、余り時間が発生すると、余り時間が0.6ms未満である場合には第4系統のシーケンスプログラムが、0.6ms以上である場合は第3系統のシーケンスプログラムが実行される。このように、優先順位が設定できるようにすることで、余り時間が発生した時のシーケンスプログラムの実行をより細かく制御することが可能となる。
図8は、上記した変形例のプログラマブルコントローラ1の1回の動作周期における動作を概略的なフローチャートで示したものである。
プログラマブルコントローラ1が備えるシーケンス制御部110は、動作周期毎に割当テーブル記憶部220に記憶される割当テーブルの設定を読み込み(ステップSA01)、各系統に対して実行可能時間を割り当てる。そして、系統毎にステップSA03〜SA09を繰り返し実行する(ステップSA02)。各系統では、タイマ16で処理時間を計測しながら(ステップSA03,ステップSA05)、シーケンス実行部112がシーケンスプログラムを実行してシーケンス制御処理を行う(ステップSA04)。
そして、余り時間測定部114が割当時間に余り時間が発生したことを確認した場合(ステップSA06)、実行可否判断部116は、割当テーブルで余り時間使用フラグが付与されている系統について、優先順位に従ってステップSA08,ステップSA09を繰り返し実行する(ステップSA07)。実行可否判断部116は、余り時間の長さや各信号の状態、シーケンスプログラムが分割実行中か否か、等の実行条件の判定を行い(ステップSA08)、実行条件が成立している場合は、余り時間内に当該系統のシーケンスプログラムを実行するようにシーケンス実行部112に指令する。そして、シーケンス実行部112は、余り時間において指令されたシーケンスプログラムを実行する(ステップSA09)。
以上、本発明の一実施形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
1 プログラマブルコントローラ
2 外部装置
10 CPU
11 ROM
12 RAM
13 不揮発性メモリ
14 入出力回路
15 インタフェース
16 タイマ
18 バスインタフェース
19 バス
20 I/Oユニット
110 シーケンス制御部
112 シーケンス実行部
114 余り時間測定部
116 実行可否判断部
210 プログラム記憶部
220 割当テーブル記憶部

Claims (4)

  1. 1つの動作周期における実行可能時間を予め定められた割合で分割した割当時間を複数の系統に割り当て、該割当時間において各系統のシーケンスプログラムを実行するプログラマブルコントローラにおいて、
    前記割当時間内で前記シーケンスプログラムを実行するシーケンス実行部と、
    前記シーケンスプログラムの実行が終了した際の、前記割当時間の余りである余り時間を測定する余り時間測定部と、
    前記余り時間測定部が測定した前記余り時間において所定のシーケンスプログラムを実行するか否かを判断し、その判断結果に応じて前記所定のシーケンスプログラムを前記余り時間で実行するように前記シーケンス実行部へと指令する実行可否判断部と、
    を備えたプログラマブルコントローラ。
  2. 前記実行可能時間の前記複数の系統へ割り当てる割合を定義した割当テーブルを備え、
    前記割当テーブルには、余り時間において実行する系統を指定する余り時間使用フラグを設定可能であり、
    前記実行可否判断部は、前記余り時間使用フラグが設定された系統がある場合に、前記系統のシーケンスプログラムを前記余り事時間において実行すると判断する、
    請求項1に記載のプログラマブルコントローラ。
  3. 前記割当テーブルには、更に余り時間使用フラグが設定された系統の実行条件を設定可能であり、
    前記実行可否判断部は、前記実行条件を満足する場合に、前記系統のシーケンスプログラムを前記余り時間において実行すると判断する、
    請求項2に記載のプログラマブルコントローラ。
  4. 前記割当テーブルには、更に余り時間使用フラグが設定された複数の系統間の優先順位が設定可能であり、
    前記実行可否判断部は、前記優先順位を考慮して余り時間において実行する系統を判断する、
    請求項3に記載のプログラマブルコントローラ。
JP2019197432A 2019-10-30 2019-10-30 プログラマブルコントローラ Active JP7364428B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019197432A JP7364428B2 (ja) 2019-10-30 2019-10-30 プログラマブルコントローラ
US17/060,080 US11561524B2 (en) 2019-10-30 2020-10-01 Programmable controller
DE102020127997.3A DE102020127997A1 (de) 2019-10-30 2020-10-23 Programmierbare steuerung
CN202011185614.3A CN112748695A (zh) 2019-10-30 2020-10-29 可编程控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019197432A JP7364428B2 (ja) 2019-10-30 2019-10-30 プログラマブルコントローラ

Publications (2)

Publication Number Publication Date
JP2021071864A true JP2021071864A (ja) 2021-05-06
JP7364428B2 JP7364428B2 (ja) 2023-10-18

Family

ID=75485566

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019197432A Active JP7364428B2 (ja) 2019-10-30 2019-10-30 プログラマブルコントローラ

Country Status (4)

Country Link
US (1) US11561524B2 (ja)
JP (1) JP7364428B2 (ja)
CN (1) CN112748695A (ja)
DE (1) DE102020127997A1 (ja)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58142450A (ja) * 1982-02-18 1983-08-24 Mitsubishi Electric Corp 計算機中央処理装置のプログラミング方式
JPS59212905A (ja) * 1983-05-18 1984-12-01 Fanuc Ltd プログラマブル・コントロ−ラの制御方式
JPS63317834A (ja) * 1987-06-22 1988-12-26 Fanuc Ltd ラダ−プログラム処理方式
JPH01140301A (ja) * 1987-11-27 1989-06-01 Hitachi Ltd シーケンス制御方法
JPH0283601A (ja) * 1987-10-07 1990-03-23 Allen Bradley Co Inc プログラマブル・コントローラ
JPH10326104A (ja) * 1997-05-26 1998-12-08 Mitsubishi Electric Corp プログラマブルコントローラおよびシーケンスプログラム実行方法
JP2004206511A (ja) * 2002-12-26 2004-07-22 Fanuc Ltd 数値制御装置
JP2005084800A (ja) * 2003-09-05 2005-03-31 Fanuc Ltd プログラマブルコントローラ
JP2013117806A (ja) * 2011-12-02 2013-06-13 Mitsubishi Electric Corp Cpu割当時間管理装置及びcpu割当時間管理プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6806019B2 (ja) * 2017-09-26 2020-12-23 オムロン株式会社 制御装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58142450A (ja) * 1982-02-18 1983-08-24 Mitsubishi Electric Corp 計算機中央処理装置のプログラミング方式
JPS59212905A (ja) * 1983-05-18 1984-12-01 Fanuc Ltd プログラマブル・コントロ−ラの制御方式
JPS63317834A (ja) * 1987-06-22 1988-12-26 Fanuc Ltd ラダ−プログラム処理方式
JPH0283601A (ja) * 1987-10-07 1990-03-23 Allen Bradley Co Inc プログラマブル・コントローラ
JPH01140301A (ja) * 1987-11-27 1989-06-01 Hitachi Ltd シーケンス制御方法
JPH10326104A (ja) * 1997-05-26 1998-12-08 Mitsubishi Electric Corp プログラマブルコントローラおよびシーケンスプログラム実行方法
JP2004206511A (ja) * 2002-12-26 2004-07-22 Fanuc Ltd 数値制御装置
JP2005084800A (ja) * 2003-09-05 2005-03-31 Fanuc Ltd プログラマブルコントローラ
JP2013117806A (ja) * 2011-12-02 2013-06-13 Mitsubishi Electric Corp Cpu割当時間管理装置及びcpu割当時間管理プログラム

Also Published As

Publication number Publication date
JP7364428B2 (ja) 2023-10-18
US20210132566A1 (en) 2021-05-06
CN112748695A (zh) 2021-05-04
US11561524B2 (en) 2023-01-24
DE102020127997A1 (de) 2021-05-06

Similar Documents

Publication Publication Date Title
CN109557890B (zh) 控制装置
JP6333796B2 (ja) 複数のcpuコアで最適な負荷配分を行う数値制御装置
JP5528568B2 (ja) 並列プログラム制御
CN107037781B (zh) 加工时间预测装置
US6539268B1 (en) Universal motion control
US20200019436A1 (en) Control device, control method, and control program
CN104551852B (zh) 能够指定暂停点的数值控制装置
CN103052923A (zh) 安全控制装置及安全控制方法
CN105843161A (zh) 能够进行加工循环的部分修正的数值控制装置
CN105527923A (zh) 数值控制装置
CN108345264B (zh) 可编程控制器
JP7364428B2 (ja) プログラマブルコントローラ
JP2016031725A (ja) 加工プログラムの読み出し時間に左右されないdnc運転手段を備えた数値制御装置
CN105589408A (zh) 数值控制装置
US20050055109A1 (en) Programmable controller
JP6877649B2 (ja) 数値制御装置
US11934182B2 (en) Method for computer-supported simulation of operation of a machine working in an automated manner
JP7364427B2 (ja) プログラマブルコントローラ
CN115061793A (zh) 一种多任务执行方法、装置、设备及介质
US20030225812A1 (en) Controller for machine
WO2023157145A1 (ja) メモリ管理支援装置、及びコンピュータが読み取り可能な記憶媒体
JPS63317834A (ja) ラダ−プログラム処理方式
JP2016122400A (ja) Ncプログラムによる高速なシーケンス制御を有する数値制御装置
JPH0728519A (ja) 数値制御装置のブロックデータ処理方法
CN106444639A (zh) 通过行程极限附近的测试运转限制移动量的数值控制装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230418

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230419

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231005

R150 Certificate of patent or registration of utility model

Ref document number: 7364428

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150