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

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

Info

Publication number
JP2005056196A
JP2005056196A JP2003287017A JP2003287017A JP2005056196A JP 2005056196 A JP2005056196 A JP 2005056196A JP 2003287017 A JP2003287017 A JP 2003287017A JP 2003287017 A JP2003287017 A JP 2003287017A JP 2005056196 A JP2005056196 A JP 2005056196A
Authority
JP
Japan
Prior art keywords
execution
sequence program
sequence
execution time
time ratio
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003287017A
Other languages
English (en)
Inventor
Noritake Nagashima
範武 長島
Satoru Hasegawa
哲 長谷川
Toshitoku Matsukawa
都志徳 松川
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 JP2003287017A priority Critical patent/JP2005056196A/ja
Priority to US10/900,324 priority patent/US20050034128A1/en
Priority to EP04254651A priority patent/EP1505462A3/en
Priority to CNA2004100700378A priority patent/CN1580997A/zh
Publication of JP2005056196A publication Critical patent/JP2005056196A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15081Period length ratio between application and communication task is settable

Landscapes

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

Abstract

【課題】 複数のシーケンスプログラムの実行時間の割合を所望する条件に沿うように自動調整できるプログラマブルコントローラを得る。
【解決手段】 予め設定されている実行割合で各シーケンスプログラムを実行し、各プログラムの実行時間を測定する(100)。測定された各シーケンスプログラムの実行時間を合計し(101)、この合計時間を満たす最小実行周期数を算出する(102)。この最小周期数での各実行周期における必要実行時間を各プログラム毎に求める(103)。この必要実行時間に基づいて実行周期における各プログラムの実行割合を算出し設定する(104,105)。これにより、複数のシーケンスプログラムは同一スキャンタイムでそのプログラム1回の処理を終了することができる。また、設定した目標スキャンタイム又は目標スキャンタイム比率になるように実行周期の時間割合を各シーケンスプログラムに割り当てることもできる。
【選択図】 図2

Description

本発明は、シーケンスプログラムを実行するプログラマブルコントローラに関する。
プログラマブルコントローラは、シーケンスプログラムを実行することで、数値制御装置の数値制御部の制御(M機能、T機能)、及び機械の周辺機器(ワークローダー、自動工具交換装置(ATC))などの制御を行っている。
近年、機械の高機能化が進み、機械システムに新たな周辺機器を追加する場合があり、この場合、追加した周辺機器を制御する制御プログラムをプログラマブルコントローラのシーケンスプログラムに追加する場合が多い。又、機械を自動化するためにその制御プログラムをシーケンスプログラムに追加する場合もある。その結果、プログラマブルコントローラが実行するシーケンスプログラムが多くなり、その保守、管理が困難になってきている。
この問題を解決する方法として、近年では、機械の基本部分を制御するシーケンスプログラムと、追加周辺機器を制御するためのシーケンスプログラムを別々に作成し、これらの複数のシーケンスプログラムをプログラマブルコントローラのプロセッサが順番に切り替えながら、少しずつ実行して見かけ上シーケンスプログラムを並行して実行するようにして、シーケンスプログラムの保守性を容易にする方法が取られている。
複数のシーケンスプログラムを並行に実行させる方法としては、予め決められた実行時間の割合を設定し、この設定割合に基づいて各シーケンスプログラムを実行させている。本願発明に関係し、この実行時間の割合を自動的に変更するようなプログラマブルコントローラは知られておらず、公知文献もない。
予め決められた実行時間の割合で複数のシーケンスプログラムを並行に実行した場合、数値制御部のシーケンスプログラムの実行時間の割合と周辺機器のシーケンスプログラムの実行時間の割合の比率が不適切であると、シーケンスプログラムの全体の動作が不効率となる場合がある。
そこで、本発明の目的は、複数のシーケンスプログラムの実行時間の割合を所望する条件に沿うように自動調整できるプログラマブルコントローラを提供することにある。
複数のシーケンスプログラムを1実行周期内の予め決められた時間割合で順次繰り返して実行するプログラマブルコントローラにおいて、請求項1に係わる発明は、複数のシーケンスプログラムの各々の実行時間を測定する測定手段と、該測定手段で測定された各々のシーケンスプログラムの実行時間に基づき、各シーケンスプログラムのスキャンタイムが同一となるように、1実行周期内に実行される各シーケンスプログラムの実行時間割合を求め設定する実行時間割合算出手段とを設け、この実行時間割合算出手段で求められ設定された実行時間割合に基づき複数のシーケンスプログラムを実行するようにした。
又、請求項2に係わる発明は、各シーケンスプログラムの各々の目標スキャンタイムを設定入力する手段と、複数のシーケンスプログラムの各々の実行時間を測定する測定手段と、入力された各々の目標スキャンタイムと測定手段で測定された各々のシーケンスプログラムの実行時間に基づき1実行周期内に実行される各シーケンスプログラムの実行時間割合を求め設定する実行時間割合算出手段とを設け、この実行時間割合算出手段で求められ設定された実行時間割合に基づき複数のシーケンスプログラムを実行するようにした。
請求項3に係わる発明は、各シーケンスプログラムの目標スキャンタイム比率を設定入力する手段と、複数のシーケンスプログラムの各々の実行時間を測定する測定手段と、入力された目標スキャンタイム比率と測定手段で測定された各々のシーケンスプログラムの実行時間に基づき1実行周期内に実行される各シーケンスプログラムの実行時間割合を求め設定する実行時間割合算出手段とを設け、この実行時間割合算出手段で求められ設定された実行時間割合に基づき複数のシーケンスプログラムを実行するようにした。
又、請求項4に係わる発明は、複数のシーケンスプログラムの各々ステップ数を求める手段と、求められた各シーケンスプログラムのステップ数に応じた比率で1実行周期内の各シーケンスプログラムの実行時間割合を求め設定する実行時間割合算出手段とを設け、この実行時間割合算出手段で求められ設定された実行時間割合に基づき複数のシーケンスプログラムを実行するようにした。
さらに、請求項5に係わる発明は、複数のシーケンスプログラムの各々の実行時間を測定する測定手段と、実行時間割合を調整するための条件を入力する条件入力手段と、入力された条件とさらには前記測定手段で測定された各々のシーケンスプログラムの実行時間に基づき1実行周期内に実行される各シーケンスプログラムの実行時間割合を求め設定する実行時間割合算出手段とを設け、この実行時間割合算出手段で求められ設定された実行時間割合に基づき前記複数のシーケンスプログラムを実行するようにした。そして、請求項6に係わる発明は、この条件入力手段を、各シーケンスプログラムの1回の実行が終了するスキャンタイムを同一にする、各シーケンスプログラムの目標スキャンタイムを設定し該目標スキャンタイムにする、各シーケンスプログラムの目標スキャンタイム比率を設定し該目標スキャンタイム比率にする、各シーケンスプログラムのステップ数の比率に応じた1実行周期内の実行時間割合にする、とのいずれかの条件を選択入力するものとした。
本発明は、所望する条件に合致するように実行周期における各シーケンスプログラムの実行時間の割合が自動的に求められ決定されるので、シーケンスプログラムを効率よく実行することができる。また、周辺機器等が追加されシーケンスプログラムが増加しても、各シーケンスプログラムの所望する最適の実行時間の割合を得ることができる。
図1は、本発明の各実施形態を構成するプログラマブルコントローラの要部ブロック図である。プログラマブルコントローラ10には、シーケンス制御を実行するプロセッサ11、制御ソフトウェアが格納されたRAM12、不揮発性RAM等で構成されたシーケンスプログラムを記憶するプログラムメモリ13、DI/DO信号(入出力信号)を記憶する信号メモリ14及びワークRAMがバス20で接続されている。さらに、処理時間等を計時するためのタイマ16、入出力機器に接続されるI/Oインタフェース17、液晶又はCRT等で構成される表示器18、及びキーボード等のデータや指令を入力するための入力機器19もバス20に接続されている。なお、数値制御装置に設けられ数値制御部とバス20で接続されたプログラマブルコントローラ10の場合には、表示器18及び入力機器19は、数値制御部に設けられた表示器、入力機器で兼用されており、プログラマブルコントローラ10に設ける必要はない。
上述したプログラマブルコントローラ10のハードウェア構成は従来のプログラマブルコントローラと差異はなく、制御ソフトウェア用のRAM12にシーケンスプログラムを実行する1実行周期内における各シーケンスプログラムの実行時間割合を調整するソフトウェアが格納されている点で従来プログラマブルコントローラと相違している。
そして、本実施形態においては、プログラムメモリ13には、複数のシーケンスプログラムが格納されており、信号メモリ14は、各シーケンスプログラム毎に入力信号、出力信号を記憶するDI/DO信号テーブル等が設けられている。また、ワークRAM15には、各シーケンスプログラム毎のスキャンタイム(シーケンスプログラムを1回実行するのに要する時間)、各シーケンスプログラムを実行する1実行周期における各シーケンスプログラムの実行時間割合等が記憶されるようになっている。
図2は、本発明の第1の実施形態のプログラマブルコントローラ10におけるプロセッサ11が実行する実行時間割合調整処理のフローチャートであり、図3は、この第1の実施形態における実行時間割合調整処理の説明図である。なお、第1の実施形態は、実行する複数のシーケンスプログラムが同一スキャンタイムになるように調整するものである。
プログラマブルコントローラ10は、シーケンスプログラムが設定された数に応じて、自動的に1実行周期を等分割して各シーケンスプログラムの1実行時間とする。すなわち実行時間割合を設定された複数のシーケンスプログラムに対して同一割合にする。また、作業者が各シーケンスプログラムに対して、それぞれ実行時間を設定入力することによって、各シーケンスプログラムの実行割合を設定されている。
図3(a)は、3つのシーケンスプログラムA,B,Cが設定されているときの例をとって説明するスキャンタイムを同一にする自動調整の説明図である。自動調整前における各シーケンスプログラムA,B,Cのスキャンタイムが24ms,16ms,8msであり、1実行周期の実行割合は、同一として8msの1実行周期時間が33%ずつに分割され、それぞれシーケンスプログラムA,B,Cが実行されるように自動調節前は設定されている。
そこで、本第1の実施形態は、スキャンタイムを同一にする調整指令を入力機器19より指令することによって、プロセッサ11は、図2の処理を開始する。
まず、各シーケンスプログラムA,B,Cをこの予め設定された実行割合で実行し、各シーケンスプログラムA,B,Cの実実行時間を測定する(ステップ100)。図3(b)〜(d)は、各シーケンスプログラムの実行時間測定の説明図である。図3(b)は、シーケンスプログラムAの実行時間測定で、このシーケンスプログラムAは、スキャンタイムが24msで、3実行周期で1回のシーケンスプログラムの処理を終了する。そして測定結果が、第1回、第2回の実行周期では、割り当てられた実行周期の1/3周期に対応する2.6msの間、処理を実行し、第3回の実行周期では2.1msの間、処理を実行していることが測定され、合計7.3msの実実行時間であることが測定されたとする。
又、図3(c)は、シーケンスプログラムBの実実行時間測定の説明図であり、このシーケンスプログラムBはスキャンタイムが16msで2実行周期で実行されるもので、1回目の実行周期では、2.6ms、2回目の実行周期では2.4msが測定され、合計5.0msの実実行時間が測定されたとする。又、シーケンスプログラムCに対しては、図3(d)に示すようにスキャンタイムが8msで1実行周期であり、実実行時間は2.5msが測定されたとする。
こうして測定された各シーケンスプログラムの実実行時間の合計したトータルの実行時間を算出する(ステップ101)。図3の例では、
トータルの実行時間=7.3ms+5.0ms+2.5ms=14.8ms
次にこのトータルの実行時間を、実行周期の時間で割り小数点以下を切り上げて、トータルの実行時間を満たす最小実行周期数を求める(ステップ102)。図3の例では、
トータルの実行時間/1実行周期の時間=14.8ms/8ms=1.85→2
こうして求めた最小実行周期数で各シーケンスプログラムの測定実行時間を除し、1実行周期における実行時間を各シーケンスプログラム毎に求める(ステップ103)。図3の例では、
シーケンスプログラムA=7.3ms/2=3.65ms
シーケンスプログラムB=5.0ms/2=2.5ms
シーケンスプログラムC=2.5ms/2=1.25ms
求めた各シーケンスプログラムの1実行周期における実行時間を1実行周期の時間で除し、各シーケンスプログラムの実行割合を求める(ステップ104)。図3の例では、
シーケンスプログラムA=3.65ms/8ms=46%
シーケンスプログラムB=2.5ms/8ms=31%
シーケンスプログラムC=1.25ms/8ms=16%
求めた設定割合を設定して(ステップ105)、この自動調整処理は終了する。以上のようにして、入力されているシーケンスプログラムのスキャンタイムは全て同一になるように調整される。図3に示した例では、図3(e)に示すように、各シーケンスプログラムA,B,Cはスキャンタイムが16msで2実行周期で各シーケンスプログラムA,B,Cが1回のシーケンス処理を終了するように、1実行周期の46%をシーケンスプログラムA、31%をシーケンスプログラムB、16%をシーケンスプログラムCに割り当てられる。そして、以後は、この設定された実行割合で、複数のシーケンスプログラムを実行することになる。
図4は、本発明の第2の実施形態のプログラマブルコントローラにおけるプロセッサ11が実行する実行時間割合調整処理のフローチャートであり、この第2の実施形態は、実行する複数のシーケンスプログラムに対して目標スキャンタイムを設定し、この設定目標スキャンタイムと一致するように実行時間の割合を調整するものである。また、図5は、3つのシーケンスプログラムA,B,Cが設定されている例をとってこの第2の実施形態を説明する説明図である。図5(a)は、予め設定された実行割合で、1実行周期(8ms)を、実行するシーケンスプログラム数の3で等分割し、それぞれ実行するものとし、スキャンタイムがシーケンスプログラムAは24ms(3実行周期)、シーケンスプログラムBは16ms(2実行周期)、シーケンスプログラムCは8ms(1実行周期)であるものとする。又、入力機器19より目標スキャンタイムを図5(b)に示すように、シーケンスプログラムA=16ms(2実行周期)、シーケンスプログラムB=16ms(2実行周期)、シーケンスプログラムC=8ms(1実行周期)と設定し、自動調整指令を入力するとプログラマブルコントローラ10のプロセッサ11は、図4にフローチャートで示す処理を開始する。
第1の実施形態と同様に、プロセッサ11は、まず、各シーケンスプログラムをこの予め設定された実行割合で実行し、各シーケンスプログラムの実実行時間を測定する(ステップ200)。図5(c)〜(e)は、3つのシーケンスプログラムA,B,Cの実行時間の測定を表したもので、第1の実施形態の図3(b)〜(d)と同じであり、前述したように、
シーケンスプログラムA=7.3ms
シーケンスプログラムB=5.0ms
シーケンスプログラムC=2.5ms
であったとする。
次に、設定された目標スキャンタイムを実行周期時間(8ms)で割り、各シーケンスプログラムの1回の実行が終了する周期を求める(ステップ201)。図5で示す例では、
シーケンスプログラムA=16ms/8ms=2周期
シーケンスプログラムB=16ms/8ms=2周期
シーケンスプログラムC=8ms/8ms=1周期
次に、ステップ200で求めた各シーケンスプログラムの実実行時間をステップ201で求めたシーケンスプログラムの1回の処理を終了するのに必要とする周期で割り、1実行周期における実行時間をそれぞれ求める(ステップ202)。図5の例では、
シーケンスプログラムA=7.3ms/2周期=3.65ms
シーケンスプログラムB=5.0ms/2周期=2.5ms
シーケンスプログラムC=2.5ms/1周期=2.5ms
求めた実実行時間の実行周期(8ms)における割合を求める(ステップ203)。図5の例では、
シーケンスプログラムA=3.65ms/8ms=46%
シーケンスプログラムB=2.5ms/8ms=31%
シーケンスプログラムC=2.5ms/8ms=31%
こうして求めた実行割合の合計が100%を越えているか否か判断し(ステップ204)、越えていなければ、求めた実行割合を設定し、自動調整処理は終了する。一方、実行割合の合計が100%を越えていれば、再調整して、各シーケンスプログラムの実行割合の合計が100%以下になるように調整する(ステップ205)。この実施形態では、各シーケンスプログラムの実行割合が、実行割合の合計に対する比率によって求める。すなわち、求めた各シーケンスプログラムの実行割合を実行割合の合計で割り、100をかけて割合を求める。図5(f)の例では、実行割合の合計が100%を越えているからこの再調整を行う。
シーケンスプログラムA=46%×100/(46+31+31)=42%
シーケンスプログラムB=31%×100/(46+31+31)=29%
シーケンスプログラムC=31%×100/(46+31+31)=29%
こうして求めた、実行割合を図5(g)に示すように設定する(ステップ206)。以後この実行割合で各シーケンスプログラムを実行することになる。
この再調整を行った場合、目標スキャンタイムに近いスキャンタイムが得られるにしても、目標としたスキャンタイムは得られない。例えば図5の例では、シーケンスプログラムAは3実行周期の24ms、シーケンスプログラムBは3実行周期の24ms、シーケンスプログラムCは2実行周期の16msとなり、指令した目標スキャンタイムのシーケンスプログラムA=16ms、シーケンスプログラムB=16ms、シーケンスプログラムC=8msとはならない。再調整を行う必要があることは、目標スキャンタイムで各シーケンスプログラムを実行できないことを意味しており、このような場合、再調整を行わずに、目標スキャンタイムの設定が誤りだとして、目標スキャンタイムの再設定をするようにしてもよい。また、再設定するか否かの判断を問いかけてもよい。
この場合、ステップ204で、実行時間割合が100%を越えたと判断されたとき、アラームをだし、目標スキャンタイムの再設定を促すようにし、再設定されるとステップ201以下の処理を行い、実行時間割合が100%以内になるまで、繰り返し実行するようにしてもよい。なお、このアラームを出して目標スキャンタイムの再設定を行うようにする場合には、ステップ202で求めた各シーケンスプログラムの1実行周期における必要実行時間の合計が1実行周期の時間(8ms)以内か否か判断し、以内でなければ、目標スキャンタイムの再設定を促し、以内ならば、ステップ203の処理をして各シーケンスプログラムの実行割合を求め、求めた実行割合を設定するようにすればよい。
図6は、本発明の第3の実施形態のプログラマブルコントローラにおけるプロセッサ11が実行する実行時間割合調整処理のフローチャートであり、この第3の実施形態は、実行する複数のシーケンスプログラムに対して目標スキャンタイム比率を設定し、この設定目標スキャンタイム比率となるように各シーケンスプログラムの実行時間の割合を調整するものである。また、図7は、第1,第2の実施形態における例と同様に、3つのシーケンスプログラムA,B,Cが設定されている例をとって、この第3の実施形態を説明する説明図である。図7(a)は、予め設定された実行割合で、1実行周期(8ms)を、実行するシーケンスプログラム数の3で等分割し、それぞれ実行するものとし、スキャンタイムがシーケンスプログラムAは24ms(3実行周期)、シーケンスプログラムBは16ms(2実行周期)、シーケンスプログラムCは8ms(1実行周期)であるものとする。又、目標スキャンタイム比率を図7(b)に示すように、シーケンスプログラムA:シーケンスプログラムB:シーケンスプログラムC=2:3:2と入力機器19より設定したものとする。そして、自動調整指令を入力されると、プログラマブルコントローラ10のプロセッサ11は、図6にフローチャートで示す処理を開始する。
第1、第2の実施形態と同様に、プロセッサ11は、まず、各シーケンスプログラムをこの予め設定された実行割合で実行し、各シーケンスプログラムの実実行時間を測定する(ステップ300)。図7(c)〜(e)は、3つのシーケンスプログラムA,B,Cの実行時間の測定を表したもので、第1の実施形態の図3(b)〜(d)と同じであり、説明を省略する。なお、図7に示すように実行時間の測定結果が次のような時間であったものとする。
シーケンスプログラムA=2.6+2.6+2.1=7.3ms
シーケンスプログラムB=2.6+2.4=5.0ms
シーケンスプログラムC=2.5ms
次に、設定された目標スキャンタイム比率に1実行周期時間(8ms)をかけ、各シーケンスプログラムの目標スキャンタイムを求める(ステップ301)。図7で示す例では、シーケンスプログラムA、シーケンスプログラムB、シーケンスプログラムCにおいて
A:B:C:=2:3:2=16ms:24ms:16ms
として求められる。
次に、各シーケンスプログラムの目標スキャンタイムにおける実行周期数を求める(ステップ302)。図7の例では、
シーケンスプログラムA=16ms/8ms=2周期
シーケンスプログラムB=24ms/8ms=3周期
シーケンスプログラムC=16ms/8ms=2周期
次に、ステップ300で求めた実実行時間と、求めた実行周期数より各シーケンスプログラムの目標スキャンタイムを満たす1実行周期あたりの必要実行時間を求める(ステップ303)。図7の例では、
シーケンスプログラムA=7.3ms/2周期=3.65ms
シーケンスプログラムB=5.0ms/3周期≒1.67ms
シーケンスプログラムC=2.5ms/2周期=1.25ms
求めた必要実行時間より1実行周期における各シーケンスプログラムの実行割合を求める(ステップ304)。図7の例では、
シーケンスプログラムA=3.65ms/8ms≒46%
シーケンスプログラムB=1.67ms/8ms≒21%
シーケンスプログラムC=1.25ms/8ms≒16%
この実行比率の合計が100%を越えているか判断し(ステップ305)、100%以下であれば、この求めた実行割合を設定する(ステップ306)。また、100%を越えるようであれば、実行できないとして、目標スキャンタイム比率に乗じる時間を1実行周期の時間分増大し(ステップ307)、ステップ301以下の処理を実行する(先の例では、目標スキャンタイム比率に乗じる時間が1実行周期の時間8msであったが1実行周期を加算し16msとする)。
以下このようにして目標スキャンタイム比率で実行できる1実行周期における実行割合を求め設定する(ステップ306)。
図7に示す例では、目標スキャンタイム比率に1実行周期の時間8msを乗じて得られる目標スキャンタイムでの各シーケンスプログラムA,B,Cの1実行周期における実行時間の割合が、前述したように、46%,21%,16%であり100%を越えないから、図7(f)に示すように、各シーケンスプログラムA,B,Cのスキャンタイムが16ms,24ms,16msで1実行周期における実行時間の割合が46%,21%,16%として設定される。この設定された実行時間の割合で以後各シーケンスプログラムが実行されることになる。
なお、この第3の実施形態においても、ステップ303で求めた1実行周期あたりの必要実行時間の合計が1実行周期(8ms)を越えるか否か判断し、越える場合には、ステップ307に移行し、ステップ303で求めた1実行周期あたりの必要実行時間の合計が1実行周期(8ms)以内になると、ステップ304の処理をして実行時間の割合を求め、ステップ306に移行して求めた実行時間の割合を設定するようにしてもよい。または、ステップ307に移行するか否かの判断を問いかけてもよい。
また、ステップ303で求めた1実行周期あたりの必要実行時間の合計が、1実行周期(8ms)を越えるか否か判断し、越えたと判断したとき、アラームをだし、目標スキャンタイム比率の再設定を促すようにし、再設定されるとステップ301以下の処理を行い、実行時間割合が100%以内になるまで、繰り返し実行するようにしてもよい。なお、このアラームを出して目標スキャンタイム比率の再設定を行うようにする場合には、ステップ303で求めた各シーケンスプログラムの1実行周期における必要時間の合計が1実行周期の時間(8ms)以内か否か判断し、以内でなければ、目標スキャンタイム比率の再設定を促し、以内ならば、ステップ304の処理をして各シーケンスプログラムの実行割合を求め、求めた実行割合を設定するようにすればよい。
図8は、本発明の第4の実施形態のプログラマブルコントローラにおけるプロセッサ11が実行する実行時間割合調整処理のフローチャートであり、この第4の実施形態は、実行する複数の各シーケンスプログラムが有するステップ数によって、各シーケンスプログラムの実行時間の割合を調整するものである。また、図9は、この第4の実施形態の一例の説明図である。この図9に示す例では、図9(a)に示すように、3つのシーケンスプログラムA,B,Cのそれぞれのステップ数が「5000」、「3000」、「2000」であったものとする。入力機器19より自動調整指令を入力されると、プログラマブルコントローラ10のプロセッサ11は、図8にフローチャートで示す処理を開始する。
入力設定されている各シーケンスプログラムの冒頭に記憶されているプログラムサイズよりステップ数を読み取る(ステップ400)。このステップ数の比率に基づいて、1実行周期の実行時間の割合を求める比率を求め設定し(ステップ401,402)、自動調整処理は終了する。
図9に示した例では、シーケンスプログラムA,B,Cのステップ数が5000,3000,2000,であることから、図9(b)に示すように5:3:2の比率で1実行周期を分割し、シーケンスプログラムA,B,Cの実行時間の割合を50%,30%,20%に設定することを示している。
上述した各実施形態では、実行時間割合の自動調整指令等をプログラマブルコントローラに入力することによって、それぞれスキャンタイム同一になるように、設定目標スキャンタイムとなるように、設定スキャンタイム比率になるように、又はシーケンスプログラムのステップ数に応じた実行時間の割合になるように、自動的に調整した。そこで、これらの実行時間割合の自動調整方法の条件を選択できるようにしてもよい。例えば、実行時間割合の自動調整モードにして、表示器18に実行できる自動調整方法の条件を表示し、その中から選択し、さらに必要な情報を自動調整の条件として入力することによって、何れかの自動調整方法を実行させることができるようにする。
例えば、表示器18に自動調整の種類として「スキンタイム同一にする」、「目標スキャンタイムにする」、「目標スキャンタイム比率にする」、「ステップ数に応じた割合とする」を表示し、入力機器19でいずれかの条件項目を選択させるようにする。プログラマブルコントローラ10のプロセッサ11は、「スキンタイム同一にする」の項目が選択されれば、図2の処理を実行し、「目標スキャンタイムにする」の項目が選択され、目標スキャンタイムの設定が行われると図4の処理を行い、「目標スキャンタイム比率にする」の項目が選択され、目標スキャンタイム比率が設定されると図6に示す処理を実行し、「ステップ数に応じた割合とする」の項目が選択されれば、図8の処理を実行して、実行時間の割合を自動的に調整する。
本発明の各実施形態を実施するプログラマブルコントローラの要部ブロック図である。 本発明の第1の実施形態のフローチャートである。 同第1の実施形態における実行時間割合調整処理の1例の説明図である。 本発明の第2の実施形態のフローチャートである。 同第2の実施形態における実行時間割合調整処理の1例の説明図である。 本発明の第3の実施形態のフローチャートである。 同第3の実施形態における実行時間割合調整処理の1例の説明図である。 本発明の第4の実施形態のフローチャートである。 同第4の実施形態における実行時間割合調整処理の1例の説明図である。
符号の説明
10 プログラマブルコントローラ
20 バス

Claims (6)

  1. 複数のシーケンスプログラムを1実行周期内の予め決められた時間割合で順次繰り返して実行するプログラマブルコントローラにおいて、
    前記複数のシーケンスプログラムの各々の実行時間を測定する測定手段と、
    該測定手段で測定された各々のシーケンスプログラムの実行時間に基づき、各シーケンスプログラムのスキャンタイムが同一となるように、1実行周期内に実行される各シーケンスプログラムの実行時間割合を求め設定する実行時間割合算出手段と、
    該実行時間割合算出手段で求められ設定された実行時間割合に基づき前記複数のシーケンスプログラムを実行することを特徴とするプログラマブルコントローラ。
  2. 複数のシーケンスプログラムを1実行周期内の予め決められた時間割合で順次繰り返して実行するプログラマブルコントローラにおいて、
    各シーケンスプログラムの各々の目標スキャンタイムを設定入力する手段と、
    前記複数のシーケンスプログラムの各々の実行時間を測定する測定手段と、
    前記入力された各々の目標スキャンタイムと前記測定手段で測定された各々のシーケンスプログラムの実行時間に基づき1実行周期内に実行される各シーケンスプログラムの実行時間割合を求め設定する実行時間割合算出手段と、
    該実行時間割合算出手段で求められ設定された実行時間割合に基づき前記複数のシーケンスプログラムを実行することを特徴とするプログラマブルコントローラ。
  3. 複数のシーケンスプログラムを1実行周期内の予め決められた時間割合で順次繰り返して実行するプログラマブルコントローラにおいて、
    各シーケンスプログラムの目標スキャンタイム比率を設定入力する手段と、
    前記複数のシーケンスプログラムの各々の実行時間を測定する測定手段と、
    前記入力された目標スキャンタイム比率と前記測定手段で測定された各々のシーケンスプログラムの実行時間に基づき1実行周期内に実行される各シーケンスプログラムの実行時間割合を求め設定する実行時間割合算出手段と、
    該実行時間割合算出手段で求められ設定された実行時間割合に基づき前記複数のシーケンスプログラムを実行することを特徴とするプログラマブルコントローラ。
  4. 複数のシーケンスプログラムを1実行周期内の予め決められた時間割合で順次繰り返して実行するプログラマブルコントローラにおいて、
    前記複数のシーケンスプログラムの各々ステップ数を求める手段と、
    前記求められた各シーケンスプログラムのステップ数に応じた比率で1実行周期内の各シーケンスプログラムの実行時間割合を求め設定する実行時間割合算出手段と、
    該実行時間割合算出手段で求められ設定された実行時間割合に基づき前記複数のシーケンスプログラムを実行することを特徴とするプログラマブルコントローラ。
  5. 複数のシーケンスプログラムを1実行周期内の予め決められた時間割合で順次繰り返して実行するプログラマブルコントローラにおいて、
    前記複数のシーケンスプログラムの各々の実行時間を測定する測定手段と、
    実行時間割合を調整するための条件を入力する条件入力手段と、
    前記入力された条件とさらには前記測定手段で測定された各々のシーケンスプログラムの実行時間に基づき1実行周期内に実行される各シーケンスプログラムの実行時間割合を求め設定する実行時間割合算出手段と、
    該実行時間割合算出手段で求められ設定された実行時間割合に基づき前記複数のシーケンスプログラムを実行することを特徴とするプログラマブルコントローラ。
  6. 前記条件入力手段は、各シーケンスプログラムの1回の実行が終了するスキャンタイムを同一にする、各シーケンスプログラムの目標スキャンタイムを設定し該目標スキャンタイムにする、各シーケンスプログラムの目標スキャンタイム比率を設定し該目標スキャンタイム比率にする、各シーケンスプログラムのステップ数の比率に応じた1実行周期内の実行時間割合にする、とのいずれかの条件を選択入力するものである請求項5に記載のプログラマブルコントローラ。
JP2003287017A 2003-08-05 2003-08-05 プログラマブルコントローラ Pending JP2005056196A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2003287017A JP2005056196A (ja) 2003-08-05 2003-08-05 プログラマブルコントローラ
US10/900,324 US20050034128A1 (en) 2003-08-05 2004-07-28 Programmable controller
EP04254651A EP1505462A3 (en) 2003-08-05 2004-08-02 Programmable controller
CNA2004100700378A CN1580997A (zh) 2003-08-05 2004-08-05 可编程的控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003287017A JP2005056196A (ja) 2003-08-05 2003-08-05 プログラマブルコントローラ

Publications (1)

Publication Number Publication Date
JP2005056196A true JP2005056196A (ja) 2005-03-03

Family

ID=33550015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003287017A Pending JP2005056196A (ja) 2003-08-05 2003-08-05 プログラマブルコントローラ

Country Status (4)

Country Link
US (1) US20050034128A1 (ja)
EP (1) EP1505462A3 (ja)
JP (1) JP2005056196A (ja)
CN (1) CN1580997A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013145553A (ja) * 2012-01-04 2013-07-25 General Electric Co <Ge> 動力アプリケーション用の制御システム
JP2016062125A (ja) * 2014-09-12 2016-04-25 発紘電機株式会社 I/o制御機能付プログラマブル表示器、制御システム
US11574372B2 (en) 2017-02-08 2023-02-07 Upstream Data Inc. Blockchain mine at oil or gas facility

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006043390B4 (de) * 2006-09-15 2010-05-27 Dmg Electronics Gmbh Vorrichtung und Verfahren zur Simulation eines Ablaufs zur Bearbeitung eines Werkstücks an einer Werkzeugmaschine
EP1993009A1 (en) * 2007-05-16 2008-11-19 Tac AB Controller, system, method and computer programs for building control
EP2363769B1 (de) * 2010-03-04 2012-12-12 Siemens Aktiengesellschaft Verfahren zur Ermittlung der Lastverteilung eines Automatisierungssystems
JP4905597B1 (ja) * 2011-03-15 2012-03-28 オムロン株式会社 コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、およびそのプログラムを格納する記録媒体
EP2615511A1 (de) * 2012-01-12 2013-07-17 Siemens Aktiengesellschaft Verfahren zur synchronen Ausführung von Programmen in einem redundanten Automatisierungssystem
JP5715195B2 (ja) * 2013-07-03 2015-05-07 ファナック株式会社 プログラム実行ペースを指定できるモーションコントローラ
JP6139386B2 (ja) 2013-11-27 2017-05-31 株式会社東芝 プログラマブルコントローラ
RU2582858C1 (ru) * 2015-01-12 2016-04-27 Ольга Андреевна Оралова Система управления двухкоординатного объекта
CN108227608B (zh) * 2016-12-15 2020-11-06 台达电子工业股份有限公司 一种基于plc控制的动态扫描方法及系统
US11016456B2 (en) 2018-01-11 2021-05-25 Lancium Llc Method and system for dynamic power delivery to a flexible datacenter using unutilized energy sources
US11016553B2 (en) 2018-09-14 2021-05-25 Lancium Llc Methods and systems for distributed power control of flexible datacenters
US10873211B2 (en) 2018-09-14 2020-12-22 Lancium Llc Systems and methods for dynamic power routing with behind-the-meter energy storage
US11031787B2 (en) 2018-09-14 2021-06-08 Lancium Llc System of critical datacenters and behind-the-meter flexible datacenters
US10367353B1 (en) 2018-10-30 2019-07-30 Lancium Llc Managing queue distribution between critical datacenter and flexible datacenter
US10452127B1 (en) 2019-01-11 2019-10-22 Lancium Llc Redundant flexible datacenter workload scheduling
CA3139776A1 (en) 2019-05-15 2020-11-19 Upstream Data Inc. Portable blockchain mining system and methods of use
US11868106B2 (en) 2019-08-01 2024-01-09 Lancium Llc Granular power ramping
US11397999B2 (en) 2019-08-01 2022-07-26 Lancium Llc Modifying computing system operations based on cost and power conditions
US10608433B1 (en) 2019-10-28 2020-03-31 Lancium Llc Methods and systems for adjusting power consumption based on a fixed-duration power option agreement
US11042948B1 (en) 2020-02-27 2021-06-22 Lancium Llc Computing component arrangement based on ramping capabilities
US20220050714A1 (en) * 2020-08-14 2022-02-17 Lancium Llc Power aware scheduling

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03253965A (ja) * 1990-03-05 1991-11-13 Mitsubishi Electric Corp コントローラによるマルチタスク処理方式
JPH08278804A (ja) * 1995-04-06 1996-10-22 Fanuc Ltd シーケンス・プログラムの診断方式
JPH10133889A (ja) * 1996-10-28 1998-05-22 Omron Corp コントローラの制御周期設定方法および装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3648253A (en) * 1969-12-10 1972-03-07 Ibm Program scheduler for processing systems
US5193189A (en) * 1987-10-07 1993-03-09 Allen-Bradley Company, Inc. Programmable controller with multiple priority level task processing
US5627745A (en) * 1995-05-03 1997-05-06 Allen-Bradley Company, Inc. Parallel processing in a multitasking industrial controller
US5812844A (en) * 1995-12-07 1998-09-22 Microsoft Corporation Method and system for scheduling the execution of threads using optional time-specific scheduling constraints
DE69738832D1 (de) * 1996-03-28 2008-08-28 Hitachi Ltd Verfahren zum Planen von periodischen Prozessabläufen
JPH103307A (ja) * 1996-06-17 1998-01-06 Fanuc Ltd 数値制御装置
US6317774B1 (en) * 1997-01-09 2001-11-13 Microsoft Corporation Providing predictable scheduling of programs using a repeating precomputed schedule
KR100422132B1 (ko) * 2001-09-06 2004-03-11 엘지전자 주식회사 실시간 시스템의 씨피유 타스크 점유율 측정장치
US20050028160A1 (en) * 2003-08-01 2005-02-03 Honeywell International Inc. Adaptive scheduler for anytime tasks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03253965A (ja) * 1990-03-05 1991-11-13 Mitsubishi Electric Corp コントローラによるマルチタスク処理方式
JPH08278804A (ja) * 1995-04-06 1996-10-22 Fanuc Ltd シーケンス・プログラムの診断方式
JPH10133889A (ja) * 1996-10-28 1998-05-22 Omron Corp コントローラの制御周期設定方法および装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013145553A (ja) * 2012-01-04 2013-07-25 General Electric Co <Ge> 動力アプリケーション用の制御システム
JP2016062125A (ja) * 2014-09-12 2016-04-25 発紘電機株式会社 I/o制御機能付プログラマブル表示器、制御システム
US11574372B2 (en) 2017-02-08 2023-02-07 Upstream Data Inc. Blockchain mine at oil or gas facility

Also Published As

Publication number Publication date
US20050034128A1 (en) 2005-02-10
EP1505462A2 (en) 2005-02-09
EP1505462A3 (en) 2006-05-17
CN1580997A (zh) 2005-02-16

Similar Documents

Publication Publication Date Title
JP2005056196A (ja) プログラマブルコントローラ
US8346378B2 (en) Programmable controller
US20190143524A1 (en) Programming assistance apparatus, robot system, and method for generating program
US9921560B2 (en) Control device, control system, tool device, and collection instruction program
US9557897B2 (en) Apparatus and method for inputting cutting shape using interactive program in computer numerical control machine tool
EP2946252B1 (en) Automated input simulation for simulated programmable logic controller
KR102056350B1 (ko) 인텔리전트 기능 유닛 및 프로그래머블 로직 컨트롤러 시스템
EP3249486A1 (en) Device maintenance apparatus, device maintenance method, device maintenance program, and recording medium
US20150317260A1 (en) Conversion device, peripheral device and programmable logic controller
JPWO2013008274A1 (ja) 数値制御装置
US10114366B2 (en) Numerical controller for managing machining data and machining result
JP2005084800A (ja) プログラマブルコントローラ
US4924403A (en) Numerical control method and system therefor having override playback function
JP5155228B2 (ja) エンジニアリング支援装置およびエンジニアリング支援方法
US10838395B2 (en) Information processing device
US6795738B1 (en) Programmable controller
KR101610386B1 (ko) 컴퓨터 수치 제어 공작기계에서 가공 대화형 프로그램을 이용한 가공 형상 입력 장치 및 방법
JP6289322B2 (ja) I/o制御機能付プログラマブル表示器、制御システム
RU2306594C1 (ru) Способ управления движением курсора
JP6808108B1 (ja) データ処理状況提示装置およびデータ処理状況提示方法
JP6296998B2 (ja) 制御システム、制御装置および制御方法
CN108983794A (zh) 水下机器人智能辅助作业系统与方法
JP2019046026A (ja) 制御装置およびパラメータ設定方法
JP7221796B2 (ja) 生産管理装置及び方法
CN116432919A (zh) 自动化控制程序配置方法、自动化设备及计算机存储介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060411

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060608

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060808