(57)【要約】  【課題】  連続性を失うことなく指令値を出力するような制御装置を提供する。さらにそのような制御装置を搭載し、連続性を失うことなく効率的に切断対象を寸断するような走行切断機を提供する。  【解決手段】  指令値をそのまま用いる同期運転と、複数の指令値の移動平均により出力用の指令値に変換して用いる非同期運転と、を交互に切り換える制御装置において、同期運転から非同期運転に切り換えるとき、同期運転時の最後の指令値と非同期運転時の最初の移動平均である出力用の指令値とを略一致させて、切り換え前後で指令値が連続するように出力する制御装置とした。また、このような制御装置を搭載した走行切断機とした。【選択図】  図１７
2005096021.tif 000002
【特許請求の範囲】
【請求項１】
指令値をそのまま用いる同期運転と、複数の指令値の移動平均により出力用の指令値に変換して用いる非同期運転と、を交互に切り換える制御装置において、
同期運転から非同期運転へ切り換えるとき、同期運転時の最後の指令値と非同期運転時の最初の移動平均である出力用の指令値とを略一致させて、切り換え前後で指令値が連続するように出力することを特徴とする制御装置。
【請求項２】
指令値をそのまま用いる同期運転と、複数の指令値の移動平均により出力用の指令値に変換して用いる非同期運転と、を交互に切り換える制御装置において、
同期運転から非同期運転へ切り換えるとき、同期運転時の最後の指令値ｍ−１個に非同期運転時の最初の指令値を１個加算した和をｍで割った１段目移動平均により一段目出力値を取得し、 同期運転時の最後の指令値ｎ−１個に一段目出力値を１個加算した和をｎで割った２段目移動平均を出力用の指令値とし、同期運転時の最後の指令値と切換え直後の最初の指令値とを略一致させて、切り換え前後で指令値が連続するように出力することを特徴とする制御装置。
【請求項３】
切断対象の移動量をパルス信号に変換して出力する主軸エンコーダと、
パルス信号に基づいて指令値を出力する請求項１または２記載の制御装置と、
制御装置から出力される指令値に基づいて従軸モータへ駆動信号を出力するサーボアンプと、
サーボアンプから出力される駆動信号に基づいて回転駆動される従軸モータと、
従軸モータの駆動により制御されるカッタと、
従軸モータの回転をパルス信号に変換して出力する従軸エンコーダと、
を備え、従軸エンコーダからのパルス信号に基づいてサーボアンプが従動モータを制御し、切断対象に対するカッタの位置決めを行って切断する走行切断機であって、
従軸モータを同期運転から非同期運転へ切換えるときに同期運転の最後の指令値と非同期運転の最初の指令値とを略一致させてカッタを滑らかに移動させることを特徴とする走行切断機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一連の運転の間で同期運転と非同期運転とを切り換える制御装置、および、このような制御装置を搭載した走行切断機に関する。
【背景技術】
【０００２】
フライングシャーやロータリーシャーなどでは、走行切断動作における一連の運転中で同期運転と非同期運転とを切り換える制御を行っている。このような同期運転／非同期運転の切り換えを伴う制御について説明する。ここで説明を具体化するため、フライングシャータイプの走行切断機について例を挙げ、図を参照しつつ説明する。図１７は、従来技術の走行切断機の構成図である。
【０００３】
走行切断機１０００は、図１７で示すように、制御装置１００、走行切断機構２００に大別される。このような走行切断機構２００により板状部材３００が切断され、切断部材４００に寸断される。
走行切断機構２００は、詳しくは、繰出しロール２０１、主軸モータ２０２、メジャーロール２０３、主軸エンコーダ２０４、サーボアンプ２０５、従軸モータ２０６、従軸エンコーダ２０７、減速機２０８、ボールネジ２０９、カッタ２１０を備えている。
【０００４】
また、制御装置１００は、入力インターフェース（以下、入力Ｉ／Ｆという。）１０１、カウンタ１０２、ＣＰＵ（Central Processing Unit）１０３、出力インターフェース（以下、出力Ｉ／Ｆという。）１０４、カウンタ１０５、入力Ｉ／Ｆ１０６、ＲＡＭ（Random  Access  Memory）１０７、ＲＯＭ（Read  Only  Memory）１０８を備えている。
【０００５】
このような走行切断機１０００では、主軸モータ２０２によって回動される繰出しロール２０１により、板状部材３００が停止することなく定速度で送られる。そして板状部材３００の移動方向と同方向であり、かつ板状部材３００の移動速度と同速度でカッタ２１０が移動した状態、言い換えれば、板状部材３００に対して相対的にカッタ２１０が停止した状態でカッタ２１０が切断動作を行う。そして、切断終了後に次の切断動作に備えるため、板状部材３００の移動方向と逆方向に非同期かつ高速でカッタ２１０が移動し、起動点へ復帰する復帰動作を行う。以下同様の切断動作と復帰動作とを繰り返して板状部材３００を多数の一定長さの切断部材４００へ寸断するというものである。
【０００６】
このような切断動作と復帰動作とを交互に行うため、制御装置１００は、以下のような制御を行う。なお、繰出しロール２０１を回動する主軸モータ２０２は、独立して繰出し機能のみ有し、一定方向・一定速度で板状部材３００を繰り出すように駆動するものであり、制御装置１００は主軸モータ２０２を制御しない。
【０００７】
メジャーロール２０３は、板状部材３００に接するように設置され、板状部材３００の移動に応じて回転する。このメジャーロール２０３の回転を主軸エンコーダ２０４がパルス信号に変換して出力する。
主軸エンコーダ２０４から出力されるパルス信号は、入力Ｉ／Ｆ１０１へ入力される。入力Ｉ／Ｆ１０１はパルス信号を所定形式に変換した上でカウンタ１０２へ出力する。カウンタ１０２はパルス数をカウントし、ＣＰＵ１０３へ計数データを出力する。
【０００８】
ＣＰＵ１０３は、この計数データに基づいてカッタ２１０が板状部材３００と同期して移動するように制御する同期運転を行う。カウンタ１０２でカウントされた計数データからカッタ２１０の移動量・移動速度を演算し、位置指令値および速度指令値に変換して出力Ｉ／Ｆ１０４を介してサーボアンプ２０５へ出力する。出力Ｉ／Ｆ１０４とサーボアンプ２０５とでは例えば数値である位置指令値および速度指令値をシリアル通信方式で通信する。しかしながら信号方式は各種採用できる。
【０００９】
サーボアンプ２０５は、位置指令値および速度指令値に応じて従軸モータ２０６を駆動する駆動信号を出力する。従軸モータ２０６は、減速機２０８を介してボールネジ２０９を回動し、カッタ２１０が板状部材３００と同じ方向に移動する運転を行う。
このサーボアンプ２０５、従軸モータ２０６、従軸エンコーダ２０７でクロースドな制御系を構成し、速度指令値・位置指令値に追従するようにサーボアンプ２０５は制御を行う。
【００１０】
この際、従軸エンコーダ２０７から出力されたパルス信号は、サーボアンプ２０５に入力され、サーボアンプ２０５から出力されるパルス信号は、入力Ｉ／Ｆ１０６へ入力される。入力Ｉ／Ｆ１０６はパルス信号を所定形式に変換した上でカウンタ１０５へ出力する。カウンタ１０５はパルス数をカウントし、ＣＰＵ１０３へ計数データを出力する。
制御装置１００のＣＰＵ１０３は、計数データに基づいて、板状部材３００の送り速度にカッタ２１０の速度が追従するように位置指令値および速度指令値を調節している。このように主軸側から入力されたパルス信号と同期するように従軸側で微調を行う同期制御を行って板状部材３００の繰り出し速度と同期させるような同期運転を行っている。
【００１１】
そしてカッタ２１０は、板状部材３００を切断する。そして従軸モータ２０６・ボールネジ２０９の駆動を一旦停止した後に非同期運転に切り換えてカッタ２１０を板状部材３００の移動方向と逆方向に移動させる。そして、起動点に復帰させて従軸モータ２０６・ボールネジ２０９の駆動を再度一旦停止した後に同期運転に切換えて上記の様な切断動作を行う。
従来技術における同期運転（切断動作）および非同期運転（復帰動作）を切り換える制御はこのようなものである。
【００１２】
なお、ここで減速機２０８は従軸モータ２０６のトルクを増大させるために設置されているものであるが、従軸モータ２０６が十分な発生トルクを有しているならば、減速機２０８を取り去って従軸モータ２０６の回動軸にボールネジ２０９を直接接続するような構成を採用しても良い。
【００１３】
さて、従来技術における非同期運転による復帰動作では、速度指令値・位置指令値に対してＳ字フィルタ処理を施していた。続いてこのようなＳ字フィルタ処理について説明する。図１８，図１９はＳ字フィルタ処理を説明する説明図である。ここでは速度指令値を例に挙げて説明する。
カッタ２１０を移動させるにあたり、まずＣＰＵ１０３は、図１８（ａ）で示すような速度指令値を演算する。
【００１４】
しかしながら、従軸モータ２０６の回転速度をステップ状に変化（停止状態から瞬時に高速回転状態に変化）させることは困難であるため、Ｓ字フィルタ処理により図１８（ｃ）で示すように無理のない移動（停止状態から無理なく回転速度を上げて所定の高速回転状態へ移行させるような移動）をする速度指令値に変換して出力する。
【００１５】
このようなＳ字フィルタ処理は、移動平均処理（後述）を二回行うことで実現する。例えば、図１８（ａ）で示すようなステップ状の速度指令値に対して移動平均処理を一回行う（１段目移動平均処理）と図１８（ｂ）で示すように台形状の速度指令値となり、さらに移動平均処理をもう一回行う（２段目移動平均処理）と図１８（ｃ）で示すように傾斜部（加速度）がＳ字状の指令値となる。Ｓ字フィルタ処理とはこのようなものである。
【００１６】
続いて移動平均を行う場合のＣＰＵ１０３とＲＡＭ１０７とのデータのやりとりについて説明する。図１９で示すように、ＲＡＭ１０７上に予め設定されたｎ箇所の領域のバッファを準備しておき、速度指令値を次々にバッファに格納し、その時点で全バッファに格納されている速度指令値の平均を移動平均として、出力用の速度指令値として出力するというものである。
【００１７】
続いて、Ｓ時フィルタ処理手順について説明する。
ＲＡＭ１０７は、図１９（ａ）で示すように、非同期運転開始時は全て０に初期化されている。ＣＰＵ１０３は主軸エンコーダ２０４・従軸エンコーダ２０７からの入力パルスに応じてカッタ２１０の速度指令値を演算すると、その速度指令値をＲＡＭ１０７へ転送する。ＲＡＭ１０７は、図１９（ｂ）で示すように、速度指令値１をバッファ１に格納する。ＣＰＵ１０３はバッファ１へ指令値を転送後、全バッファの速度指令値（速度指令値１および未格納領域からは０）を読み出して移動平均を二重に行うことにより、Ｓ字状に変化した速度指令値を求め、出力Ｉ／Ｆ１０４へ出力する。
続いて、同様に図１９（ｃ）で示すように、速度指令値２の転送後に速度指令値２をバッファ２に格納し、全バッファに格納された速度指令値（速度指令値１，２および未格納領域からは０）を読み出して移動平均を二重に求め、出力Ｉ／Ｆ１０４へ出力する。
【００１８】
以下同様に図１９（ｄ），（ｅ）で示すように、バッファ３，・・・，バッファｎ−１，バッファｎに速度指令値３，・・・，速度指令値ｎ−１，速度指令値ｎを順次格納し、速度指令値を転送の都度、全バッファに格納された速度指令値の移動平均を二重に求め、出力Ｉ／Ｆ１０４へ出力する。
そしてバッファに全て格納したならば、図１９（ｆ）で示すように、バッファ１の領域へ戻り、バッファ１の領域に速度指令値ｎ＋１を書き込み、移動平均を二重に求め、出力Ｉ／Ｆ１０４へ出力する。以下同様の処理が繰り返し行われる。
【００１９】
さて、非同期運転時には上記のようなＳ字フィルタ処理を行っているが、このＳ字フィルタ処理は同期運転時には不要であり、同期運転時のＳ字フィルタ処理について現状では下記（１）（２）の二通りの方式が用いられている。
（１）非同期運転時および同期運転時ともにＳ字フィルタ処理を行い、切り換え動作を行わない方式。
（２）非同期運転時にＳ字フィルタ処理を行うが、同期運転時にＳ字フィルタ処理を行わないというように、処理の切り換え動作を行う方式。
【００２０】
特に（１）の方式については、例えば、特許文献１にも開示さている。
【００２１】
【特許文献１】特開平５−３４１８４７号公報  （段落番号００１６〜段落番号００３６，図３〜図１１）
【発明の開示】
【発明が解決しようとする課題】
【００２２】
上記した（１），（２）の方式は何れも問題点があった。
（１）の方式では、同期運転中にＳ字フィルタ処理された速度指令値を入力すると、同期運転中に動作遅れが発生し、動作遅れが続いて同期位置精度が悪くなるという問題があった。
【００２３】
（２）の方式では、非同期運転時のみＳ字フィルタ処理を行うことで上記ずれの問題を解消している。しかしながら切換え時には従軸モータ２０６・ボールネジ２０９の駆動を一旦停止する必要がある。このように一度運転を停止してから同期運転・非同期運転の切り換えを行うため、動作過程に減速・停止・加速が必要となって、１工程に要する時間が増大し、結果として生産性が低下するという問題がある。
【００２４】
なお、従軸モータ２０６・ボールネジ２０９の駆動を停止せずに同期運転・非同期運転の切り換えを行い、同期運転から非同期運転へ切換えるときに動作過程に減速・停止・加速を無くして滑らかに接続できれば、生産性を向上させることができる。しかしながら、同期運転から非同期運転へ切換えるときに同時にＳ字フィルタ処理の実施・不実施の切り換えを行うが、この切換えに伴って指令値の連続性が保てなくなるという問題もあった。
【００２５】
Ｓ字フィルタ処理の実施・不実施の切換えにより指令値の連続性が保てなくなる問題について具体的に説明する。図２０は指令値の不連続性を説明する説明図である。
Ｓ字フィルタ処理では、図１８（ａ）で示すような指令値に対して２段階の移動平均処理を行い、１段移動平均処理で図１８（ａ）のステップ状の速度指令値を図１８（ｂ）の台形状の速度指令値とし、２段移動平均処理で図１８（ｂ）の台形状の速度指令値を図１８（ｃ）のＳ字状の速度指令値に変換する。
【００２６】
ここに、ｎ＝速度指令値数、ＳＵＭ＝前回までの速度指令値の加算値、ＯＬＤ＝最も古い速度指令値、ＮＥＷ＝今回の速度指令値とし、移動平均を求めると次式のようになる。
【００２７】
【数１】
2005096021.tif 000003
移動平均値＝ＳＵＭｉ／ｎ
【００２８】
この式を見ても明らかなように、Ｓ字フィルタ処理を行うには、前回までの速度指令値の加算値ＳＵＭと、最も古い速度指令値ＯＬＤとが必要である。非同期運転へ切り換えた直後に移動平均を行うと、それまでに格納された速度指令値がないため、ＳＵＭ＝０、ＯＬＤ＝０である。したがって、非同期運転への切り換え直後の最初の速度指令値による移動平均は次式のようになる。
【００２９】
【数２】
2005096021.tif 000004
【００３０】
これをグラフで表すと１段目移動平均では図２０（ｂ）で示すようになり、さらに２段目移動平均では、図２０（ｃ）で示すようになる。図２０（ｂ），（ｃ）で示すように速度指令値の移動平均演算開始時点からバッファへの格納が始まるため、速度の連続性が失われるという問題があった。
【００３１】
また、図示しないが位置指令値の場合も同様Ｓ字フィルタ処理では問題が発生する。この問題点については問題点の理解を深めるべく具体的数値を挙げて説明する。
先に説明した移動平均を式として表すと次式のように表される。
【００３２】
【数３】
2005096021.tif 000005
【００３３】
毎回送り量である位置指令値＝１０（＝移動量）が送られてくるものとする。カッタ２１０の停止状態で位置指令値１が格納された後（図１９（ｂ））、ＣＰＵ１０３では全バッファ１〜バッファｎに格納された位置指令値の平均値を求め、出力Ｉ／Ｆ１０４を介してサーボアンプ２０５へ位置指令値を出力する。ｎ＝２０の場合、次式のようになる。
【００３４】
【数４】
2005096021.tif 000006
【００３５】
サーボアンプ２０５への位置指令値１０に対して９．５の動作遅れが発生する。同様に位置指令値２（＝１０）が送られてきた時点の出力値は、次式のようになる。
【００３６】
【数５】
2005096021.tif 000007
【００３７】
サーボアンプ２０５への位置指令値１０（送り量としては２０）に対して、１９の動作遅れが発生する。
この例は１段目移動平均のみ説明したものであり、実際の２段目移動平均では、さらに動作遅れが増大する。このように、Ｓ字フィルタ処理ではバッファ個数に比例する遅れが発生し、指令値と実制御との間にずれが生じる。
このように、同期運転と非同期運転とを切り変える制御装置では、Ｓ字フィルタ処理により指令値が連続的でないという問題があった。
【００３８】
この発明は上記問題点を解決するためになされたものであり、その目的は、連続性を失うことなく指令値を出力するような制御装置を提供することにある。さらにそのような制御装置を搭載し、連続性を失うことなく効率的に切断対象を寸断するような走行切断機を提供することにある。
【課題を解決するための手段】
【００３９】
このような課題を解決するため、本発明は、
指令値をそのまま用いる同期運転と、複数の指令値の移動平均により出力用の指令値に変換して用いる非同期運転と、を交互に切り換える制御装置において、
同期運転から非同期運転へ切り換えるとき、同期運転時の最後の指令値と非同期運転時の最初の移動平均である出力用の指令値とを略一致させて、切り換え前後で指令値が連続するように出力することを特徴とする。
【００４０】
また、本発明は、
指令値をそのまま用いる同期運転と、複数の指令値の移動平均により出力用の指令値に変換して用いる非同期運転と、を交互に切り換える制御装置において、
同期運転から非同期運転へ切り換えるとき、同期運転時の最後の指令値ｍ−１個に非同期運転時の最初の指令値を１個加算した和をｍで割った１段目移動平均により一段目出力値を取得し、 同期運転時の最後の指令値ｎ−１個に一段目出力値を１個加算した和をｎで割った２段目移動平均を出力用の指令値とし、同期運転時の最後の指令値と切換え直後の最初の指令値とを略一致させて、切り換え前後で指令値が連続するように出力することを特徴とする。
【００４１】
また、本発明は、
切断対象の移動量をパルス信号に変換して出力する主軸エンコーダと、
パルス信号に基づいて指令値を出力する請求項１または２記載の制御装置と、
制御装置から出力される指令値に基づいて従軸モータへ駆動信号を出力するサーボアンプと、
サーボアンプから出力される駆動信号に基づいて回転駆動される従軸モータと、
従軸モータの駆動により制御されるカッタと、
従軸モータの回転をパルス信号に変換して出力する従軸エンコーダと、
を備え、従軸エンコーダからのパルス信号に基づいてサーボアンプが従動モータを制御し、切断対象に対するカッタの位置決めを行って切断する走行切断機であって、
従軸モータを同期運転から非同期運転へ切換えるときに同期運転の最後の指令値と非同期運転の最初の指令値とを略一致させてカッタを滑らかに移動させることを特徴とする。
【発明の効果】
【００４２】
以上のような本発明によれば、連続性を失うことなく指令値を出力するような制御装置を提供することができる。さらにそのような制御装置を搭載し、連続性を失うことなく効率的に切断対象を寸断するような走行切断機を提供することができる。
【発明を実施するための最良の形態】
【００４３】
以下、本発明の制御装置および走行切断機の最良の形態について図を参照しつつ説明する。本形態では、構成自体は先に図１７に示した制御装置および走行切断機と同じであり、ＣＰＵ１０３によるＳ字フィルタ処理が相違するものである。以下、本形態の説明では、図１７の制御装置および走行切断機と同じ符号・名称を付すとともに重複する説明を省略し、相違点についてのみ説明する。
【００４４】
Ｓ字フィルタ処理について図を参照しつつ説明する。図１は、定周期処理のフローチャートである。この定周期処理とは、所定期間毎に繰り返し行われるものであり、メイン処理に相当する。
【００４５】
ステップＳ１００では主軸位置演算を行う。具体的には図１７で示すように、主軸エンコーダ２０４・入力Ｉ／Ｆ１０１を経てパルス信号がカウンタ１０２へ入力され、カウンタ１０２は計数データをＣＰＵ１０３へ出力する。ＣＰＵ１０３はこの計数データを用いて主軸位置、つまり、板状部材３００におけるカッタ２１０の切断位置を演算する。
【００４６】
ステップＳ２００では、従軸移動量を演算する。具体的には図１７で示すように、板状部材３００におけるカッタ２１０の切断位置に移動させるための速度指令値・位置指令値を演算する。そして、同期／非同期運転切換指示がある場合は指示を行う。具体的にはフラグである非同期運転切換に１か０を代入して行う。
【００４７】
ステップＳ３００では、Ｓ字フィルタ処理を行う。具体的には、同期運転から非同期運転への切換指示があって以後非同期運転が続く間はＳ字フィルタ処理を行い、また、非同期運転から同期運転への切換指示があって以後同期運転が続く間はＳ字フィルタ処理を行わない。なお、Ｓ字フィルタ処理については後述する。
【００４８】
ステップＳ４００では、出力を行う。具体的にはＳ字フィルタ処理がなされた速度指令値・位置指令値をサーボアンプ２０５へ出力する。
【００４９】
ステップＳ５００では制御を行う。
サーボアンプ２０５は従軸モータ２０６を駆動する駆動信号を出力する。従軸エンコーダ２０７は、従軸モータ２０６の回転に応じてパルス信号を出力し、サーボアンプ２０５はこのパルス信号を用いて速度指令値・位置指令値に追従するように制御する。
また、サーボアンプ２０５はこのパルス信号を入力Ｉ／Ｆ１０６を介してカウンタ１０５へ出力し、カウンタ１０５はＣＰＵへ計数データを出力し、ＣＰＵ１０３は主軸側に追従するように位置指令値・速度指令値を調節する。
【００５０】
そして、定周期処理を終了する。
このような定周期処理は定期的に繰り返し行われて、最適な速度指令値・位置指令値が定周期毎に出力されて、板状部材３００とカッタ２１０との位置関係を制御する。
【００５１】
続いてステップＳ３００のＳ字フィルタ処理について図を参照しつつ説明する。図２〜図５はＳ字フィルタ処理のフローチャート、図６〜図１５はバッファ領域と格納値を説明する説明図である。なお、Ｓ字フィルタ処理は、速度指令値・位置指令値ともに行われるが、ここでは説明の簡略化のため位置指令値について説明する。
このＳ字フィルタ処理では、ＣＰＵ１０３とＲＡＭ１０７とを用いて行うものであって、ＲＡＭ１０７には１段目移動平均用のｍ個のバッファ領域（例えば図６参照）が確保され、また、２段目移動平均用のｎ個のバッファ領域（例えば図７参照）が確保される。
【００５２】
図２〜図５で示すようなＳ字フィルタ処理の１回のフローが終了したとき、１段目移動平均用の１個のバッファ領域に新たに格納された値を用いる１段目移動平均である１段目フィルタ処理が、また、２段目移動平均用の１個のバッファ領域に新たに格納された値を用いる２段目移動平均である２段目フィルタ処理が、それぞれ一回行われる。
【００５３】
このような図２〜図５で示すＳ字フィルタ処理は非同期運転開始後から格納が進むにつれて大別して４段階の処理に分けられ、
（１）非同期運転開始当初第１回の処理
（２）第２回目から全てのバッファ領域に位置指令値が格納されるまでの処理
（３）位置指令値が順次入れ替えられて最後の位置指令値が格納されるまでの処理
（４）最後の位置指令値が格納されてから全てのバッファ領域に０が格納されるまでの処理、
に分けられる。
また、同期運転中の処理もあり、
（０）同期運転中にフローを抜ける処理、
がある。以下、このように分けて説明する。
【００５４】
（０）同期運転中にフローを抜ける処理
定周期処理内のステップＳ３００のＳ字フィルタ処理が実行されるとき、まず図１のステップＳ２００で出力された同期／非同期運転切換指示（フラグである非同期運転切換が１か０か）に基づいて、図２で示すステップＳ１，Ｓ２では、同期運転か非同期運転かを判定する。
今まで同期運転中（ステップＳ１でフラグである同期運転中＝１のためｙｅｓ）であって非同期運転切換えがなされていない（ステップＳ２でフラグである非同期運転切換＝０のためｎｏ）ならば、同期運転中であると判断してＳ字フィルタ処理を終了し、定周期処理へ戻る。
【００５５】
（１）非同期運転開始当初の第１回の処理
定周期処理内のステップＳ３００のＳ字フィルタ処理が実行されるとき、今まで同期運転中であった（ステップＳ１でフラグである同期運転中＝１であってｙｅｓである）が非同期運転切換がなされた（ステップＳ２でフラグである非同期運転切換＝１であってｙｅｓである）ならば、フラグである同期運転中＝０とし（ステップＳ３）、変数の初期化を行う（ステップＳ４，Ｓ５）。
ステップＳ４では、変数ａ，ｂに０を、ｉ，ｊにｍを、ｋ，ｌにｎを代入する。
ステップＳ５では、１段目フィルタ総移動量に同期時最終指令値×ｍを、１段目フィルタ余りに０を、２段目フィルタ総移動量に同期時最終指令値×ｎを、２段目フィルタ余りに０を、それぞれ入力する。
【００５６】
続いてステップＳ６〜ステップＳ８では、変数ａの値を決定する。最初は０に１が加えられてａ＝１が設定される（ステップＳ６）。このａはバッファ領域の番号を表している。ちなみに以後Ｓ字フィルタ処理が行われる都度、変数ａは１から１ずつ増加してｍとなり、また１に戻って１づつ増加する。さて、フローに戻るが、最初はａ＞ｍでないためステップＳ９の先頭へジャンプする（ステップＳ７）。
１段目処理が終了しておらず（ステップＳ９でｎｏ）、位置指令値出力が完了しておらず（ステップＳ１６でｎｏ）、ｉ＝０でないため（ステップＳ１８でｎｏ）、ステップＳ２１へ進む。
【００５７】
ステップＳ２１〜ステップＳ２５は１段目フィルタ処理である。
まず、図６で示すように１段目フィルタ処理用バッファ領域の１段目（１）、つまりバッファ１の領域に位置指令値１を格納する（ステップＳ２１）。
続いて１段目フィルタ総移動量を求める（ステップＳ２２）。１段目フィルタ総移動量−同期時最終指令値＋位置指令値（今回値）を演算して１段目フィルタ総移動量に代入する処理である。そしてｉをデクリメントする（ステップＳ２３）。
【００５８】
続いて１段目フィルタ出力値を求める（ステップＳ２４）。（１段目フィルタ総移動量＋１段目フィルタ余り）／ｍを演算して１段目フィルタ出力値に代入する処理であり、最初は１段目フィルタ余り＝０である。このような１段目フィルタ出力値は２段目フィルタ処理へ引き渡す値である。
これら処理は、結局、同期運転で最終のｍ個の位置指令値の中の一つと、非同期運転に切換えて最初の位置指令値と、を交換して移動平均を求めるような処理である。したがって、同期運転で最終の位置指令値と、一段目移動平均である１段目フィルタ出力値と、は差が殆どなくなって略一致して連続する位置指令値となる。
【００５９】
続いて、１段目フィルタ余りを求める（ステップＳ２５）。（１段目フィルタ総移動量＋１段目フィルタ余り）／ｍの余りを算出して１段目フィルタ余りに代入する処理である。１段目フィルタ出力値を求めた時の余り（１［pulse］に満たないもの）を切り捨てると誤差が累積していくためこれら余りを反映できるように１段目フィルタ余りとして管理する。
【００６０】
続いて２段目フィルタ処理へ移行する。
図４で示すステップＳ３１〜ステップＳ３３では、変数ｂの値を決定する。最初はｂ＝１が設定される（ステップＳ３１）。このｂはバッファ領域の番号を表している。変数ｂは１から１ずつ増加してｎとなり、また１に戻って１づつ増加することとなる。
さてフローに戻るが、２段目終了処理＝１でない、つまり２段目処理が終了しておらず（ステップＳ３４でｎｏ）、１段目終了＝１でない、つまり１段目処理が終了しておらず（ステップＳ４２でｎｏ）、ｋ＝０でないため（ステップＳ４４でｎｏ）、ステップＳ４７へ進む。
【００６１】
ステップＳ４７〜ステップＳ５１は２段目フィルタ処理である。
まず、図７で示すように２段目フィルタ処理用バッファ領域の２段目（１）に、つまりバッファ１の領域に１段目フィルタからの１段目フィルタ出力値を格納する（ステップＳ４７）。
続いて２段目フィルタ総移動量を求める（ステップＳ４８）。２段目フィルタ総移動量−同期時最終指令値＋１段目フィルタ出力値を演算して２段目フィルタ総移動量に代入する処理である（ステップＳ４８）。そしてｋをデクリメントする（ステップＳ４９）。
【００６２】
続いて２段目フィルタ出力値を求める（ステップＳ５０）。（２段目フィルタ総移動量＋２段目フィルタ余り）／ｎを演算して２段目フィルタ出力値に代入する処理であり、最初は２段目フィルタ余り＝０である。このような２段目フィルタ出力値は最終的な位置指令値であってサーボアンプ２０５への出力値である。
これら２段目フィルタ処理は、結局、同期運転で最終の位置指令値ｎ個の中の一つと、非同期運転に切換えてから最初の１段目フィルタ出力値と、を交換して移動平均を求めるような処理である。したがって、同期運転で最終の位置指令値と二段目移動平均である２段目フィルタ出力値と、は差は殆どなくなり、略一致する。
【００６３】
また、２段目フィルタ余りを求める（ステップＳ５１）。（２段目フィルタ総移動量＋２段目フィルタ余り）／ｎの余りを算出して２段目フィルタ余りに代入する処理である。２段目フィルタ出力値を求めた時の余り（１［pulse］に満たないもの）を２段目フィルタ余りとして管理する。
そしてＳ字フィルタ処理を終了して定周期処理へ戻る。
【００６４】
（２）第２回目から全てのバッファ領域に位置指令値が格納されるまでの処理
次に定周期処理内のステップＳ３００のＳ字フィルタ処理が実行されるとき、図２で示すように、すでに非同期運転に切り替わって同期運転中でない（ステップＳ１でフラグである同期運転中＝０であってｎｏである）ためステップＳ６の先頭へジャンプする。
続いて変数ａの値を１増加させ（ステップＳ６）、ａ＞ｍでないためステップＳ９の先頭へジャンプする（ステップＳ７）。
１段目終了処理＝０、つまり１段目処理が終了しておらず（ステップＳ９でｎｏ）、位置指令値出力が完了しておらず（ステップＳ１６でｎｏ）、ｉ＝０でないため（ステップＳ１８でｎｏ）、ステップＳ２１へ進む。
【００６５】
ステップＳ２１〜Ｓ２５は１段目フィルタ処理である。
まず、図８で示すように１段目フィルタ処理用のバッファ領域の１段目（２）、つまりバッファ２の領域に位置指令値２を格納する（ステップＳ２１）。
続いて１段目フィルタ総移動量を求める（ステップＳ２２）。１段目フィルタ総移動量−同期時最終指令値＋位置指令値（今回値）を演算して１段目フィルタ総移動量に代入する処理である。そしてｉをデクリメントする（ステップＳ２３）。
【００６６】
続いて１段目フィルタ出力値を求める（ステップＳ２４）。（１段目フィルタ総移動量＋１段目フィルタ余り）／ｍを演算して１段目フィルタ出力値に代入する処理である。このような１段目フィルタ出力値は２段目フィルタ処理へ引き渡す値である。
続いて、１段目フィルタ余りを求める（ステップＳ２５）。（１段目フィルタ総移動量＋１段目フィルタ余り）／ｍの余りを算出して１段目フィルタ余りに代入するような処理である。
【００６７】
続いて２段目フィルタ処理へ移行する。
図４で示すように変数ｂの値を１増加させ（ステップＳ３１）、ｂ＞ｎでないためステップＳ３４の先頭へジャンプする（ステップＳ３２）。
また、２段目終了処理＝１でない、つまり２段目処理が終了しておらず（ステップＳ３４でｎｏ）、１段目終了＝１ではない、つまり１段目処理が終了しておらず（ステップＳ４２でｎｏ）、ｋ＝０でないため（ステップＳ４４でｎｏ）、ステップＳ４７へ進む。
【００６８】
ステップＳ４７〜ステップＳ５１は２段目フィルタ処理である。
まず、図９で示すように２段目移動平均用の２段目（２）、つまりバッファ２の領域に１段目フィルタ出力値２を格納する（ステップＳ４７）。
続いて２段目フィルタ総移動量を求める（ステップＳ４８）。２段目フィルタ総移動量−同期時最終指令値＋１段目フィルタ出力値を演算して２段目フィルタ総移動量に代入する処理である（ステップＳ４８）。そしてｋをデクリメントする（ステップＳ４９）。
【００６９】
続いて２段目フィルタ出力値を求める（ステップＳ５０）。（２段目フィルタ総移動量＋２段目フィルタ余り）／ｎを演算して２段目フィルタ出力値に代入する処理であり、このような２段目フィルタ出力値は最終的な位置指令値である。
また、２段目フィルタ余りを求める（ステップＳ５１）。（２段目フィルタ総移動量＋２段目フィルタ余り）／ｎの余りを算出して２段目フィルタ余りに代入する処理である。
この後にＳ字フィルタ処理を終了する。
【００７０】
以下、Ｓ字フィルタ処理が繰り返されていく都度、Ｓ２３でｉをデクリメントによりｉが０になるまで（つまりｍ回）このような処理が行われ、図１０で示すように１段目フィルタ処理用のバッファ領域の１段目（ｍ）まで、つまりバッファｍまでの全領域に位置指令値を格納する。
同様にステップＳ４９でｋをデクリメントしており、０になるまで（つまりｎ回）このような処理が行われ、図１１で示すように２段目フィルタ処理用のバッファ領域の１段目（ｎ）まで、つまりバッファｎまでの全領域に１段目フィルタ出力値を格納する。なお、通常はｍ＝ｎであり、図１０で示すように、１段目フィルタ処理用バッファの全領域で位置指令値が格納されると同時に図１１で示すように、２段目フィルタ処理用バッファの全領域で１段目フィルタ出力値が同時に格納される。
【００７１】
（３）位置指令値が順次入れ替えられて最後の位置指令値が格納されるまでの処理
定周期処理内のステップＳ３００のＳ字フィルタ処理が実行されるとき、図２で示すように、同期運転中＝０、つまり非同期運転中である（ステップＳ１でｎｏ）ためステップＳ６の先頭へジャンプする。
続いて変数ａの値を１増加させ（ステップＳ６）、ａ＞ｍであるため（ステップＳ７でｙｅｓ）ａ−ｍを行って（ステップＳ８）ステップＳ９へ進む。
１段目終了処理＝１でない、つまり１段目処理が終了しておらず（ステップＳ９でｎｏ）、位置指令値出力が完了していないが（ステップＳ１６でｎｏ）、ｉ＝０であるため（ステップＳ１８でｙｅｓ）、ステップＳ１９へ進む。
【００７２】
続いて１段目フィルタ処理を行う。ｉ＝０となった、つまり１段目フィルタ用バッファの全領域に位置指令値が格納された後の処理であり、ステップＳ１９，Ｓ２０，Ｓ２４，Ｓ２５で行われる。
まず１段目フィルタ総移動量を求める（ステップＳ１９）。１段目フィルタ総移動量−１段目（ａ）＋位置指令値（今回値）を演算して１段目フィルタ総移動量に代入する処理である。この式は、位置指令値２，３，・・，ｍ，ｍ＋１の総和を求めるものである。
続いて、図１２で示すように１段目フィルタ処理用の１段目（１）、つまり１段目フィルタ用バッファのバッファ１の領域に位置指令値１に代えて今回の位置指令値ｍ＋１を上書き格納する（ステップＳ２０）。
【００７３】
続いて１段目フィルタ出力値を求める（ステップＳ２４）。（１段目フィルタ総移動量＋１段目フィルタ余り）／ｍを演算して１段目フィルタ出力値に代入する処理である。このような１段目フィルタ出力値は２段目フィルタ処理へ引き渡す値である。
続いて、１段目フィルタ余りを求める（ステップＳ２５）。（１段目フィルタ総移動量＋１段目フィルタ余り）／ｍの余りを算出して、１段目フィルタ余りに代入する処理である。
【００７４】
続いて２段目フィルタ処理を行う。ｋ＝０となった、つまり２段目フィルタ用バッファの全領域に１段目フィルタ出力値が格納された後の処理であり、図４で示すように、ステップＳ４５，Ｓ４６，Ｓ５０，Ｓ５１で行われる。
図４で示すように変数ｂの値を１増加させ（ステップＳ３１）、ｂ＞ｎであるため（ステップＳ３２でｙｅｓ）ｂ−ｎを行って（ステップＳ３３）ステップＳ３４へ進む。
また、２段目終了処理＝１でない、つまり２段目処理が終了しておらず（ステップＳ３４でｎｏ）、１段目終了＝１ではない、つまり１段目処理が終了していないが（ステップＳ４２でｎｏ）、ｋ＝０であるため（ステップＳ４４でｙｅｓ）、ステップＳ４５の先頭へ進む。
【００７５】
まず２段目フィルタ総移動量を求める（ステップＳ４５）。２段目フィルタ総移動量−２段目（ｂ）＋１段目フィルタ出力値（今回値）を演算して２段目フィルタ総移動量に代入する処理である。この式は１段目フィルタ出力値２，３，・・，ｎ，ｎ＋１を用いて２段目フィルタ処理を行うものである。
続いて、図１３で示すように２段目フィルタ処理用の２段目（１）、つまり２段目フィルタ用バッファのバッファ１の領域に１段目フィルタ出力値１に代えて今回の１段目フィルタ出力値ｎ＋１を上書き格納する（ステップＳ４６）。
【００７６】
続いて２段目フィルタ出力値を求める（ステップＳ５０）。（２段目フィルタ総移動量＋２段目フィルタ余り）／ｎを演算して２段目フィルタ出力値に代入する処理であり、このような２段目フィルタ出力値は最終的な位置指令値である。
また、２段目フィルタ余りを求める（ステップＳ５１）。（２段目フィルタ総移動量＋２段目フィルタ余り）／ｎの余りを算出して２段目フィルタ余りに代入する処理である。
【００７７】
以下、Ｓ字フィルタ処理が定周期的に行われる都度、１段目フィルタ用バッファ・２段目フィルタ用バッファの領域の格納値を順番に入れ替えるような処理を繰り返して、その都度１段目フィルタ処理・２段目フィルタ処理を行う。これは、位置指令値に位置指令値出力完了を表すフラグ（１段目処理終了＝１）を添付されるまで繰り返し行われ、添付されたならば、その位置指令値を最後の入力とする。この場合ステップＳ４２，Ｓ４３でフラグである２段目終了処理＝１となる処理が行われる。
【００７８】
（４）最後の位置指令値が格納されてから全てのバッファ領域に０が格納されるまでの処理
位置指令値に位置指令値出力完了を表すフラグ（１段目処理終了＝１）が添付されており、以後は位置指令値＝０を格納してＳ字フィルタ処理を行う。
定周期処理内のステップＳ３００のＳ字フィルタ処理が実行されるとき、図２で示すように、今まで非同期運転中であった（ステップＳ１でフラグである同期運転中＝０であってｎｏである）ためステップＳ６の先頭へジャンプする。
続いて変数ａの値を１増加させ（ステップＳ６）、ステップＳ９の先頭へジャンプする（ステップＳ７）。１段目処理が終了しているため（ステップＳ９でｙｅｓ）、図３のステップＳ１０の先頭へ進む。
【００７９】
続いて１段目フィルタ処理を行う。これは位置指令値出力を完了した後の処理であり、ステップＳ１０〜Ｓ１５，Ｓ２４，Ｓ２５で行われる。
まず、１段目フィルタ総移動量を求める（ステップＳ１０）。１段目フィルタ総移動量−１段目（ａ）を演算して１段目フィルタ総移動量に代入する。この式は例えば、バッファ領域の中で最も古い１個の位置指令値と０とを交換するものである。
続いて、図１４で示すように１段目フィルタ処理用バッファの１段目（３）、つまりバッファ３の領域に０を上書き格納する（ステップＳ１１）。なお、図１４ではバッファ３を図示しているが、格納場所は例示的なものであり、位置指令値の終了時期に応じて０の格納開始箇所が変更される。続いてｊをインクリメントし（ステップＳ１３）、ｊが０でないならステップＳ２４（図２）の先頭へジャンプする。
【００８０】
続いて１段目フィルタ出力値を求める（ステップＳ２４）。（１段目フィルタ総移動量＋１段目フィルタ余り）／ｍを演算して１段目フィルタ出力値に代入する処理である。このような１段目フィルタ出力値は２段目フィルタ処理へ引き渡す値である。
続いて、１段目フィルタ余りを求める（ステップＳ２５）。（１段目フィルタ総移動量＋１段目フィルタ余り）／ｍの余りを算出して、１段目フィルタ余りに代入する処理である。
【００８１】
続いて２段目フィルタ処理を行う。２段目終了処理＝１となった、つまり位置指令値出力を完了した後の処理であり、図５で示すようにステップＳ３５〜Ｓ４１で行われる。
まず、２段目フィルタ総移動量を求める（ステップＳ３５）。２段目フィルタ総移動量−２段目（ｂ）を演算し、２段目フィルタ総移動量に代入する。この式は１個の最も古い１段目フィルタ出力値と０とを交換するものである。
続いて、図１５で示すように２段目フィルタ処理用バッファの１段目（３）、つまりバッファ３の領域に０を上書き格納する（ステップＳ３６）。なお、図１５ではバッファ３を図示しているが、格納場所は例示的なものであり、位置指令値の終了時期に応じて０の格納開始箇所が変更される。また、図ではｍとｎが一致していない場合を想定しているが、ｍ＝ｎならば、図１５は、上から４ｎ＋１、４ｎ＋２、０、３ｎ＋４、・・・、４ｎとなる。
【００８２】
続いて２段目フィルタ出力値を求める（ステップＳ３７）。（２段目フィルタ総移動量＋２段目フィルタ余り）／ｎを演算して２段目フィルタ出力値に代入する処理であり、このような２段目フィルタ出力値は最終的な位置指令値である。
また、２段目フィルタ余りを求める（ステップＳ３８）。（２段目フィルタ総移動量＋２段目フィルタ余り）／ｎの余りを算出して２段目フィルタ余りに代入する処理である。
続いてｌをインクリメントし（ステップＳ３９）、ｌが０でないならＳ字フィルタ処理を終了し（ステップＳ４０）、定周期処理内の次の処理（ステップＳ４００）を実行する。
【００８３】
以下このようにバッファ領域の格納値である位置指令値・１段目フィルタ出力値を古い値から順次０に入れ替えるような処理を繰り返して、その都度１段目フィルタ処理・２段目フィルタ処理を行い位置指令値を出力する。
なお、図３のステップＳ１２でｊがデクリメントされ、ｊが０になったとき（ステップＳ１３でｙｅｓ）、１段目終了処理＝０（ステップＳ１４）、１段目終了＝１（ステップＳ１５）となり、つまり１段目フィルタ処理が終了したと設定される。また、図５のステップＳ３９でｌがデクリメントされ、ｌが０になったときに（ステップＳ４０でｙｅｓ）、２段目終了処理＝０（ステップＳ４１）、つまり２段目フィルタ処理が終了したと設定される。
【００８４】
このようにして、２段階の移動平均によりＳ字フィルタ処理がなされる。同期運転から非同期運転に切り換えるとき、同期運転時の最後の指令値と非同期運転時の最初の移動平均である出力用の指令値とを近づけて、切り換え時に指令値が連続するようになされているため、非同期運転に切換えるとき滑らかに連続するようになる。例えば、実際の速度は図１６で示すように切換え時で略一致しており、これにより機械的ショックの発生が少ないものとなり、機械的ショックが緩和される。
本形態の制御装置および走行切断機はこのようなものとなる。
【００８５】
なお、本形態の制御装置では位置指令値をＳ字フィルタ処理するものとして説明したが、速度指令値をＳ字フィルタ処理する場合にも同様の処理を行うことで、切換え時に移動が滑らかに接続することができる。
さらに、制御装置は走行切断機に適用するものとして説明したが、同期運転から非同期運転に切換えるような制御対象に適用することができる。
【図面の簡単な説明】
【００８６】
【図１】定周期処理のフローチャートである。
【図２】Ｓ字フィルタ処理のフローチャートである。
【図３】Ｓ字フィルタ処理のフローチャートである。
【図４】Ｓ字フィルタ処理のフローチャートである。
【図５】Ｓ字フィルタ処理のフローチャートである。
【図６】バッファ領域と格納値を説明する説明図である。
【図７】バッファ領域と格納値を説明する説明図である。
【図８】バッファ領域と格納値を説明する説明図である。
【図９】バッファ領域と格納値を説明する説明図である。
【図１０】バッファ領域と格納値を説明する説明図である。
【図１１】バッファ領域と格納値を説明する説明図である。
【図１２】バッファ領域と格納値を説明する説明図である。
【図１３】バッファ領域と格納値を説明する説明図である。
【図１４】バッファ領域と格納値を説明する説明図である。
【図１５】バッファ領域と格納値を説明する説明図である。
【図１６】同期運転から非同期運転へ切換えるときの速度線図
【図１７】従来技術の走行切断機の構成図である。
【図１８】Ｓ字フィルタ処理を説明する説明図である。
【図１９】Ｓ字フィルタ処理を説明する説明図である。
【図２０】指令値の不連続性を説明する説明図である。
【符号の説明】
【００８７】
１０００：走行切断機
１００：制御装置
１０１：入力Ｉ／Ｆ
１０２：カウンタ
１０３：ＣＰＵ
１０４：出力Ｉ／Ｆ
１０５：カウンタ
１０６：入力Ｉ／Ｆ
１０７：ＲＡＭ
１０８：ＲＯＭ
２００：走行切断機構
２０１：繰出しロール
２０２：主軸モータ
２０３：メジャーロール
２０４：主軸エンコーダ
２０５：サーボアンプ
２０６：従軸モータ
２０７：従軸エンコーダ
２０８：減速機
２０９：ボールネジ
２１０：カッタ
３００：板状部材
４００：切断部材
【図１】
2005096021.tif 000008
【図２】
2005096021.tif 000009
【図３】
2005096021.tif 000010
【図４】
2005096021.tif 000011
【図５】
2005096021.tif 000012
【図６】
2005096021.tif 000013
【図７】
2005096021.tif 000014
【図８】
2005096021.tif 000015
【図９】
2005096021.tif 000016
【図１０】
2005096021.tif 000017
【図１１】
2005096021.tif 000018
【図１２】
2005096021.tif 000019
【図１３】
2005096021.tif 000020
【図１４】
2005096021.tif 000021
【図１５】
2005096021.tif 000022
【図１６】
2005096021.tif 000023
【図１７】
2005096021.tif 000024
【図１８】
2005096021.tif 000025
【図１９】
2005096021.tif 000026
【図２０】
2005096021.tif 000027