JP2003150213A - コントローラ - Google Patents

コントローラ

Info

Publication number
JP2003150213A
JP2003150213A JP2001347764A JP2001347764A JP2003150213A JP 2003150213 A JP2003150213 A JP 2003150213A JP 2001347764 A JP2001347764 A JP 2001347764A JP 2001347764 A JP2001347764 A JP 2001347764A JP 2003150213 A JP2003150213 A JP 2003150213A
Authority
JP
Japan
Prior art keywords
control
servo
program
sequence
unit
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.)
Withdrawn
Application number
JP2001347764A
Other languages
English (en)
Inventor
Mamoru Egi
守 恵木
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2001347764A priority Critical patent/JP2003150213A/ja
Publication of JP2003150213A publication Critical patent/JP2003150213A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【課題】 シーケンス制御とサーボ制御を備えたコント
ローラにおける制御が高精度に行えるようにすること 【解決手段】 シーケンス制御をするシーケンス用プロ
グラム11とサーボ制御をするモーション用プログラム
12を独立したアプリケーションプログラム(IEC6
1131−3)により構成する。また、制御対象機器7
の軸情報を論理化して軸情報記憶部13に格納し、両プ
ログラムは、軸情報記憶部にアクセスすることにより、
情報の送受を行う。つまり、シーケンス制御は、制御条
件等を軸情報記憶部に書き込み、サーボ制御はその軸情
報記憶部に格納された条件に従って実行する。実行中に
得られる制御量等の情報は軸情報記憶部に格納する。そ
して、シーケンス制御は、その制御量などに基づいて制
御が完了したか否かを判定し、完了した場合には停止或
いは次の制御命令を軸情報記憶部に書き込む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、コントローラに
関するものである。
【0002】
【発明の背景】従来のソフトウェアPLCにおいては、
例えばサーボ制御(モーション制御)などを行う場合に
は、専用のNCボードを用意し、それをソフトウェアP
LCがインストールされたパソコンに装着する。そし
て、PLCの稼働時には、そのNCボードにファームウ
ェアとして実装されているサーボループを適宜実行する
ことにより、制御するようになっている。
【0003】そして、モーション制御するためのCPU
は、通常NCボード上に実装されていて、PLC本体の
シーケンス処理を司るCPUとは別に構成されており、
それぞれのCPUが独立したスキャン処理を行い、必要
に応じて相互に通信を行い協調動作する。つまり、セン
サ信号などの外部トリガの取り込みは、シーケンス処理
を司るCPUが一旦取得し、それをモーション制御用の
CPUに伝達する。これにより、外部トリガに基づく所
定の処理をモーション制御側で実行する。また、実行結
果は、NCボード上のCPUからPLC本体のシーケン
ス処理をするCPUに伝達される。
【0004】このように、シーケンス処理とモーション
制御(サーボループ)とは、別々に動作している。一
方、例えば従来のNCボードで位置決め制御を行うに
は、目標位置と位置決め完了幅をシーケンスプログラム
(シーケンス処理をするCPU)からNCボードに与
え、NCボードが独自に位置決め完了したことを判定
し、位置決め完了信号をシーケンスプログラムに返すよ
うな動作を行う。係る場合、NCボードは、サーボルー
プ(位置制御)だけでなく、位置決め完了判定というシ
ーケンス処理まで含んでいる。
【0005】ところで、位置決め完了の条件は、必ずし
も位置が位置決め完了幅以内にあれば良いとは限らず、
所定位置に一定時間以上保持されたことを条件に、始め
て位置決め完了とみなすなど、アプリケーションによっ
て完了条件は様々である。
【0006】従って、NCボードの位置決めのAPI
(アプリケーションインタフェース)が位置決め完了幅
しか指定できなければ、そのNCボードを使用すること
が困難になる。
【0007】更に、仮にそのNCボード固有のAPIを
組み合わせることにより、上記した複雑な完了条件を判
定できるように構成できたとしても、NCボード固有の
シーケンスを含んだAPIで構成されたプログラムであ
れば、そこで作成したソフトウェアは、NCボードを他
の製品に変更した際に再利用できなくなる。このよう
に、モーション制御とシーケンス制御が混在したAPI
ベースでアプリケーションが構成されていると、ソフト
ウェアの再利用が困難となる。
【0008】また、サーボ制御の一例として、例えば、
樹脂成型装置では、樹脂が金型に充填されるまでは速度
制御を行って比較的短時間で充填処理を行い、樹脂が金
型内に充填された後は、バリ,ヒケを防止するために圧
力制御を行うことが好ましい。この場合に、速度制御か
ら圧力制御に切替を行うために、金型内に樹脂が充填さ
れたかどうかの判定を行う必要がある。この判定条件と
しては、例えば、樹脂を注入するスクリュー軸の位置
と、樹脂圧力の双方が所定値以上になったことで判定す
ることができる。
【0009】しかしながら、このように位置と圧力など
複数の項目を使用して位置制御の完了を判定するなど
は、NCボードが予め用意している単純な位置決め機能
(位置決め完了判定:シーケンス処理)では対応できな
い。
【0010】一方、高価なプログラマブルタイプのモー
ションボードは、アルゴリズムをC言語などで実装でき
るので、上記のような複雑な位置決め完了条件を判定
し、シーケンス処理を進めることができるものの、以下
に示す理由から実用に供し得ない。
【0011】すなわち、例えば、PLCの場合、位置制
御ループにマイナーループを加えたり、デジタルノイズ
フィルタを付加するなど、サーボ制御のアルゴリズムの
実機調整の段階では、頻繁にプログラムを修正する必要
がある。一方、コンパイラ系の言語を使用すると、プロ
グラムをコンパイルしダウンロードして初めて使用でき
る。従って、プログラマブルタイプのモーションボード
を用いた場合、上記のプログラムを修正する都度、実機
を停止し、修正後コンパイル済みプログラムを実機にダ
ウンロードし、その後、運転条件の初期化と、運転の再
開後に装置の条件が整うのを待つ必要があり、処理が煩
雑となる。
【0012】さらに、シーケンス制御とサーボ制御の記
述言語が異なると、実装スキルの違いから同一の人が実
装することができない。従って、開発効率が低下してし
まうと言う問題もある。
【0013】さらに、NCボードの場合、機種によって
制御できる軸数が2軸,4軸,8軸と言うように決まっ
ている。従って、係るNCボードに対して直接指令を出
すプログラムを組んでいると、NCボードの種類を変更
した場合に、それまで使用していたプログラムをそのま
ま使うことができないおそれがある。また、NCボード
を用いて軸間同期や補間制御を行っている場合には、N
Cボードに接続されている軸間でしか同期や補間が行え
なえない。従って、例えばワークのハンドリングロボッ
トと、ワークを置くステージが協調して動作させる場
合、ハンドリングロボットとワークが異なるPLC(N
Cボード)で制御されているとすると、NCボードによ
る軸間の同期や補間が行えないといった問題がある。
【0014】また、オンラインエディットができる言語
として、従来からグラフィカル言語のラダー言語が使用
されている。係るラダーは、グラフィカル言語で、ロジ
ックを視覚的に表現するのでプログラムの理解が容易に
行えると言う特徴があり、その特徴からシーケンス制御
に広く使用されている。しかしながら、ラダー言語は、
数値演算の記述が行いにくく、サーボ演算を記述するの
に適していない。
【0015】そこで、サーボ制御用のプログラムは、通
常、BASICやC言語などのテキスト言語で表記する
ことになるが、このテキスト言語の場合、グラフィカル
言語に比較するとプログラムの構造を理解するのが煩雑
である。そして、サーボ系の表現には、視覚的に構造を
理解できることからブロック線図が良く利用されるが、
テキスト言語で記述されたプログラム(アルゴリズム)
から逆にブロック線図を生成することは困難であり、プ
ログラム作成者以外の人が、プログラムの構造を理解す
るのが煩雑である。従って、一度作成されたサーボ制御
用のプログラムを修正する作業自体が煩雑となる。
【0016】更に、従来のNC制御装置のCP制御機能
は、軌道の補間に直線補間や円弧補間などの限定された
補間しか用意されておらず、ユーザ独自の補間方法を指
定することはできなかった。その結果、直線や円弧以外
の起動を描かせたい場合には、目標とする軌道を細かな
直線に分割した上で、各区分毎にNCボード(モーショ
ン制御を実行する実行部)に目標値を与え、モーション
制御の実行部では与えられた目標値と現在位置の間を直
線補間を行いながら制御することになる。
【0017】従って、目標起動と実際の軌道では誤差が
生じてしまう。係る誤差は、各区分を短くすることによ
り少なくすることはできるものの、各区分毎に目標値を
与えることから、頻繁に目標値を与えることになり、そ
の都度実行部側でも目標値の更新が行われることから、
処理が煩雑となり、制御にかかる処理時間が長くなるお
それがある。もちろん、分割する区分を長くすると、誤
差が大きくなる。さらに、金型の切削など非常に高精度
な制御が必要な場合には、たとえ誤差が少なくても、影
響が出てしまうものもある。
【0018】また、樹脂成型においては、速度制御から
圧力制御にスムーズに切り替える必要がある。これは、
圧力波形のリンギングが発生するとバリやボイドの原因
になるからである。
【0019】しかし、上記したように従来のNCボード
がサポートしている目標軌道生成パターンは、直線等限
られたものであり、曲線の場合もS字カーブ程度であ
る。そして、係る目標軌道も、位置制御や速度制御に対
してのみ適用されるもので、圧力制御には対応していな
い。
【0020】従って、速度制御から突然圧力制御に切り
替えると、目標圧力がステップ状に与えられることにな
り、図1に示す(丸で囲む部分)ように圧力のオーバー
シュートを生じるおそれがある。オーバーシュートする
と、バリなどの発生要因となる。そして、オーバーシュ
ートを解消するために圧力が目標値よりも小さくなり、
ボイド等を生じるおそれもある。また、与える指令値を
小さくすると、オーバーシュートはしないものの、目標
圧力に到達するまでの推定時間が長くなり、作業効率が
低下する。もちろん、速度制御している区間での、直線
近似に伴う目標軌道と実際の軌道との誤差による問題も
生じてしまう。
【0021】この発明は、シーケンス制御とモーション
制御(サーボ制御)を備えたコントローラにおける制御
が高精度に行え、しかも、各制御を行うためのソフトウ
ェアの資源化ができ、アルゴリズムの調整を含む開発期
間の短縮をすることのできるコントローラを提供するこ
とを目的とする。
【0022】
【課題を解決するための手段】この発明によるコントロ
ーラでは、シーケンス制御手段とサーボ制御手段が独立
したアプリケーションプログラムにより構成され、実行
されるコントローラであって、前記シーケンス制御手段
は、前記サーボ制御手段に対して直接または間接的に制
御条件とともに制御命令を与える指示手段と、前記サー
ボ制御手段の保持する情報を取得し、前記与えた制御命
令に基づく制御の完了の有無を判定する判定手段を備え
るようにした。
【0023】ここで、指示手段は、実施の形態では、
「軸制御委譲部11a」に対応し、判定手段は実施の形
態では「軸制御完了判定部11b」に対応する。また、
シーケンス制御手段は、「シーケンス用プログラム1
1」により実現され、サーボ制御手段は、「モーション
用プログラム12」により実現されている。
【0024】この発明によれば、サーボ制御(モーショ
ン制御)とシーケンス制御をそれぞれ別のプログラムで
構成し、サーボ制御手段は、モーション制御(サーボ制
御)に専念し、終了判定などはシーケンス制御手段側
(判定手段等)で行うようになる。このように判定をシ
ーケンス制御手段側で行うようにしたため、複雑な判定
処理も確実に行うことができる。なお、判定を行うに必
要な現在位置などの制御量や状態変数等は、サーボ制御
手段側から取得する。そして、いずれの手段もアプリケ
ーションプログラムで構築したため、より高精度な制御
が行える。
【0025】また、前記サーボ制御手段は、少なくとも
目標軌道生成手段と、その目標軌道生成手段で生成され
た目標軌道と、制御対象の制御量に基づき前記制御対象
に対する指令値を求める補償手段を有し、前記目標軌道
生成手段は、数学関数を使用してサーボ周期毎に目標値
を生成するようにすることができる。
【0026】目標軌道生成手段もアプリケーションプロ
グラムで構築されるので、複雑な関数の目標軌道も簡単
に生成することができ、より高精度な制御が行えるよう
になる。同様に、アプリケーションプログラムであるた
め、補償手段も、ユーザ独自のものを実装することがで
きる。また、目標軌道生成手段や補償手段等のサーボ制
御手段を構成する各要素を分離し、要素単位で記述する
と、ソフトウエアの資産化が可能となる。
【0027】さらに、前記シーケンス制御手段と、前記
サーボ制御手段は、IEC61131−3で記述される
ように構成すると良い。このように、同一の言語で構築
することにより、同一の人がシーケンス制御手段とサー
ボ制御手段(モーション制御手段)の両方を生成し、実
装することができ、開発効率が高くなる。さらに、係る
言語は、インタプリタ系の言語であるので、コンパイル
等に要する時間が短縮され、その点でも開発・調整に要
する時間が短縮される。
【0028】また、前記サーボ制御手段におけるサーボ
ループのプログラムが、オンラインエディットできるよ
うに構成されているとよい。この機能は、例えば、IE
C61131−3で用意されたものを利用することがで
きる。この発明によれば、オンラインで調整できるの
で、プログラムを修正する都度、最初から運転を開始す
る必要が無くなり、現場調整に要する期間が短縮でき
る。
【0029】さらにまた、前記制御対象の軸情報を論理
化して軸情報記憶部に格納し、前記シーケンス制御手段
並びに前記サーボ制御手段は、前記軸情報記憶部にアク
セスすることにより、情報の送受を行うようにすること
ができる。この発明によれば、軸情報を論理化し、各プ
ログラム(制御手段)からは、論理名等でアクセスする
ようにできるため、制御手段側では制御対象の軸がどの
ボードに接続されているか等の物理的な接続関係を気に
することなく動作できるので、ソフトウェア(アプリケ
ーションプログラム)の再利用が容易にできるととも
に、ボードが変更された場合の当該アプリケーションプ
ログラムへの影響が抑制される。
【0030】さらにまた、前記サーボ制御手段に使用さ
れている補償手段は、ST(Structureed
Text)言語により記述されたファンクション或いは
ファンクジョンブロックであり、サーボ制御は、前記フ
ァンクションやファンクションブロックを組み合わせた
ファンクションブロックダイアグラムで記述することが
できる。このようにテキスト言語で記述することによ
り、プログラムの理解が容易になり、しかも、ファンク
ションやファンクションブロックのようにプログラム部
品で構築することにより、各部品を再利用しやすくな
る。そして、ファンクションブロックダイアグラムを利
用することで、プログラムの構造理解が向上する。
【0031】
【発明の実施の形態】図2は、本発明の好適な一実施の
形態を示している。本実施の形態では、装置性能並びに
コストに直接影響するモーション制御(サーボ制御)
を、IEC61131−3で記述されたプログラムから
なるソフトウェアサーボで実現するようにした。すなわ
ち、図2に示すように、リアルタイムOS(RTOS)
1で動作するFAコンピュータ2に組み込まれるソフト
ウェアPLCエンジン(IEC6113−3ランタイ
ム)3上に、ユーザプログラム5が実装される。
【0032】このユーザプログラム(ソフトウェアサー
ボプラットフォーム)5は、IEC61131−3で実
装されたファンクションブロック(FB)及びテンプレ
ートとなるプログラムを備えて構成される。
【0033】なお、FAコンピュータ2には、I/Oボ
ード6a,マルチファンクションボード6b,画像ボー
ド6cなどの外部インタフェース等を備え、本発明との
関係では、マルチファンクションボード6bに制御対象
機器7が接続されている。このマルチファンクションボ
ードは、ADボード,DAボード,パルスカウンタ,D
IOボード等により構成される(図3参照)。このよう
に、入出力機能を集約したマルチファンクションボード
6bを使用することにより、1枚のボードで各種の制御
対象機器7と結合することが可能になる。
【0034】ここで本発明では、図3に示すように、ユ
ーザプログラム5として、シーケンス用プログラム(シ
ーケンス制御部)11と、サーボループ制御をするため
のモーション用プログラム12をそれぞれ別々のプログ
ラムとして作成し、格納するようにした。さらに、IE
C61131−3では、プログラムやファンクションブ
ロックの組を実行するタスクを作成することができると
ともにマルチタスク実行も可能であり、しかも、各タス
クには実行間隔並びに優先順位を指定することができ
る。従って、シーケンス用プログラム11は、優先度も
低く実行間隔も長い(例えば10msec間隔)低速タ
スクに設定し、また、モーション用プログラム12は、
優先度も高く実行間隔も短い(例えば1msec間隔)
高速タスクに設定した。
【0035】そして、それらシーケンス用プログラム1
1並びにモーション用プログラム12は、軸情報記憶部
(論理化デバイス)13にアクセスし、所定アドレスに
対してデータの読み書きを行うことにより、互いに連係
して動作するようにしている。
【0036】このように、シーケンス用プログラム11
とモーション用プログラム12を分離し、モーション用
プログラム12では、モーション制御だけに専念し、位
置決め完了判定などのシーケンス的な要素はシーケンス
用プログラム11側に記述するようにした。さらに、終
了判定のための現在位置などの情報は、シーケンス制御
(シーケンス用プログラム11)側が直接モーション制
御(モーション用プログラム12)側から取得するよう
にした。
【0037】すなわち、終了判定のために必要になる現
在位置などの制御値や状態変数をグローバル変数として
定義し、上記した軸情報記憶部13に格納する。この軸
情報記憶部13に対しては、シーケンス用プログラム1
1とモーション用プログラム12の双方から高速に参照
できるため、モーション用プログラム12が取得した制
御対象機器7の状態等を軸情報記憶部13に格納し、シ
ーケンス用プログラム11は軸情報記憶部13にアクセ
スして係る状態等を参照することにより、終了判定を高
速に行うことができる。
【0038】このように、終了判定をソフトウェア(シ
ーケンス用プログラム11)で実装したため、複雑な終
了判定基準であっても適切に終了判定をすることができ
る。しかも、係る終了判定基準をユーザ側で任意に設定
することができるので使い勝手が良くなる。
【0039】さらに、サーボループをソフトウェア(モ
ーション用プログラム12)で実装したため、ユーザが
独自の補償器を実装することが可能になる。また、IE
C61131−3を採用したため、オンラインエディッ
トが可能な実装となり、プログラムを修正するたびに最
初から制御対象機器の運転を開始する必要がなくなり、
サーボアルゴリズムの現場調整期間を短縮できる。更
に、シーケンス制御とモーション制御の言語やツール
が、IEC61131−3に統一されるため、同一の人
がシーケンスとモーションの双方を実装することが可能
になり、開発効率が高まる。そして、IEC61131
−3は、インタプリタ系の言語であるので、コンパイル
時間を削減或いは短縮できる。
【0040】ところで、サーボ演算(数値演算)の実装
は、グラフィカル言語では記述性が悪く、かえってプロ
グラムの理解を妨げてしまう。そこで、サーボ演算はテ
キスト言語のStructured Text(ST)
で記述し、Function(FN)またはFunct
ion Block(FB)として再利用可能なプログ
ラム部品にしておく。そして制御系の枠組みは前記FN
やFBを用いてFunction Block Dia
gram(FBD)で記述するようにした。FBDを利
用することにより、ブロック線図からストレートにマッ
ピングできるので、プログラムの構造理解が飛躍的に向
上する。
【0041】次に、上記した構成(各プログラム11,
12,軸情報記憶部13)のより具体的な構成を説明す
る。良く知られているように、NCボードは、機種によ
って制御できる軸数が2軸,4軸,8軸と言うように様
々となっている。そして、通常は、各ボードに対して直
接指令を出すプログラムを組んでいる。しかし、係る構
成をとると、ボードを変更した時にソフトウェアの再利
用が困難になる。そこで、本実施の形態では、各プログ
ラム11,12は、各制御対象機器7を軸番号で規定
し、各軸番号が実際にどのボードのどこに接続されてい
るかなどの物理的な接続関係は、軸情報記憶部13で吸
収するようにしている。
【0042】つまり、軸番号と物理的なアドレスとの対
応情報をテーブルとして軸情報記憶部13に格納してお
く。そして、ソフトウェアPLCエンジン3は、デバイ
スドライバ(ボードドライバ)8を介して軸番号に対応
する制御対象機器7と通信を行い、入出力処理を行う。
つまり、制御対象機器7から入力情報を取得すると、対
応する軸情報記憶部13の軸番号の所定の値にデータを
書き込む処理を行ったり、軸情報記憶部13に格納され
た情報に従って、制御命令を出力するなどの通常のIN
/OUTリフレッシュ処理を行うようになる。このよう
に、物理的な接続関係を気にしなくて済むので、制御軸
の論理化が容易に行え、ボードの変更に対してソフトウ
ェアの受ける影響を抑制できる。
【0043】軸情報記憶部13の具体的なデータ構造の
一例としては、図4に示すように、軸番号と、項目並び
にその項目の値を関連付けたテーブル構造となってい
る。そして、値の欄に対して読み書きが行われる。
【0044】図5に示すように、シーケンス用プログラ
ム11(シーケンス制御部)は、モーション用プログラ
ム12に対して処理を委譲する軸制御委譲部11aと、
軸制御の完了を判定する軸制御完了判定部11bを有し
ている。いずれも、ファンクションブロック(FB)で
形成している。軸制御委譲部11aは、図6に示すよう
な構成をとり、シーケンスプログラムから、係るファン
クションブロックが読み出され、起動する軸の論理名
(軸名称),制御系の種類やモータドライバの動作状態
を指定する制御方式,目標軌道の生成パターン,サーボ
ループ内で異常が発生した場合に遷移すべき制御モード
(異常時制御方式)及びサーボ演算に必要な目標値など
のパラメータが与えられる。軸制御委譲部11aは、入
力されたパラメータを、軸情報記憶部13の所定領域
(対応する軸番号&項目の値の欄)に格納する。
【0045】一方、軸制御完了判定部11bは、軸制御
記憶部13の所定の項目の値を監視し、設定された条件
になったか否かを判断し、条件を具備した場合に、完了
通知をシーケンスプログラムに渡す。これにより、シー
ケンスプログラムは、必要に応じて次の制御に移行する
(軸制御委譲部11aの起動等)。
【0046】モーション用プログラム12は、センサ情
報などを取得し、軸情報記憶部13に格納する入力部1
2aと、軸情報記憶部13に格納された情報に従ってサ
ーブループの制御を実行する制御部12bと、外部の制
御対象機器7に向けて指令値を出力する出力部12cと
を備えている。
【0047】制御部12bは、図4に示すように、速度
制御用,圧力制御用など複数種用意されている。そし
て、この制御部12bにて、従来NCボード側で処理し
ていた軸間の補間処理などをソフトウェアで実行するよ
うにしている。さらに、サーボループをソフトウェアで
実装するに際し、補償器21,目標軌道生成器22,フ
ィルタ23などのシーケンス要素を分離し階層化してい
る。これにより、ソフトウェアの資産化が可能になる。
つまり、サーボループをソフトウェアで実装し、NCボ
ードが用意している軸間の補間機能を使用しない構成と
している。
【0048】図5には、速度制御用の制御部12bの内
部構造の一例を示しているが、圧力制御用の制御部12
bの内部構造の一例を示すと、図7のようになる。圧力
制御用の制御部12bでは、補償器21としてはPID
補償器としているが、他の構造のものでももちろん良
い。
【0049】目標軌道生成器22は、軸情報記憶部13
で規定されるパターン(例えばS字カーブなど)と、経
過時間を受け取り、経過時間に従ってパターン上の現在
位置を求めることにより軌道を生成する。具体的には、
例えば図8に示すような構成をとることができる。この
図示した例は、5次関数で目標軌道生成をするファンク
ション(FN)の例で、STで記述している。
【0050】また、制御対象機器の制御対象の測定値で
ある制御量がフィルタ23に与えられる。この制御量
は、速度制御の場合は速度であり、圧力制御の場合は圧
力測定値となる。具体的な値は、入力部12aを介して
取得した測定値が軸情報記憶部13に格納されているの
で、係る値を読み出してフィルタ23に与えることにな
る。なお、本実施の形態では、入力部12aからはエン
コーダ情報が与えられるので、速度変換部12dを設
け、軸情報記憶部13に格納されたエンコーダ情報は速
度変換部12dに与えられ、そこにおいて単位時間あた
りのエンコーダ情報の増加量から速度を算出し、求めた
速度値を制御量としてフィルタ(デジタルフィルタ)2
3に与えるようにしている。もちろん、直接速度情報が
取得できる場合には、圧力の場合と同様に係る速度(測
定値)をフィルタ23に与えるようにしても良い。
【0051】また、補償器21は、軸情報記憶部13に
格納さたれパラメータと、目標軌道生成器22の出力並
びにフィルタ23の出力が与えられる。そこで、現在の
制御量と目標軌道生成器22から与えられる軌道(目標
値)を比較し、目標に達するための操作量(指令値)を
算出し、軸情報記憶部13の所定領域に格納する。
【0052】なお、図7に示す圧力制御を行う制御部1
2bにおける補償器21はPID制御を行うようになっ
ているため、補償器21に与えられるパラメータは、比
例定数,積分定数,微分定数となる。そして、この補償
器21の具体的な構成は、例えば図9に示すようにな
る。
【0053】上記のようにして、補償器21は、求めた
指令値を軸情報記憶部13に書き込むので、出力部12
cは、例えば、係る指令値が格納される軸情報記憶部1
3を所定間隔毎にアクセスし、そこに格納されている指
令値を制御対象機器7に与え、これにより、モーション
制御を実行する。
【0054】さらに、図7に示すように、圧力制御をす
る制御部12bでは、EQ26を設けている。このEQ
26には、シーケンス制御部11(軸制御委譲部11
a)が軸情報記憶部13に書き込んだ現在実行すべき制
御方式が与えられるとともに、予め整数定数(図示の例
では、iPressure)が与えられる。図5にも示
すように、本実施の形態では制御部12bは複数並列的
に配置されており、制御方式は各制御部のEQ26にそ
れぞれ入力される。
【0055】そして、各EQ26は、与えられた制御方
式が自分に対する指令かどうかをチェックし、自分に対
する指令であれば目標起動生成器22を活性化させ、目
標起動生成の計算を実行させる。つまり、EQ26に与
えられる整数定数と一致する入力があった場合に、自分
に対する指令と判断し、EQ26は真となって目標機起
動生成器22が活性化される。一例を示すと、制御方式
が「iPressure」の場合には、圧力制御をする
制御部18bのEQ26が真となる。なお、図5では省
略しているが、速度制御用の制御部12bにもEQ26
は存在し、例えば、整数定数としては「iVeloci
ty」が与えられる。すると、制御方式として、「iV
elocity」が入力されると、真となる。
【0056】もちろん、与えられた制御方式が自己宛て
でない場合には、目標起動生成器22は活性化されな
い。よって、制御方式により特定される1つの制御部1
2bが動作し、複数の制御方式や異常処理が同時に起動
されないようにインターロックがかけられる。
【0057】このように、サーボ演算(モーション制
御)をソフトウェアで実装し、目標軌道生成器22もユ
ーザ自身で記述することができるので、例えば、目標軌
道生成器22に関数を記述することにより、滑らかな目
標軌道を制御周期毎に生成することができる。
【0058】さらにまた、図5に示すように、複数の制
御部12bを備えており、何れの制御部12bを使うか
は、軸制御委譲部11aが軸情報記憶部13に書き込ん
だ「制御方式」により決定される。そして、各制御部1
2bの出力を切り替えスイッチ12eを介して軸情報記
憶部13に与えるようにしている。この切り替えスイッ
チ12eは、軸情報記憶部13に格納された制御方式の
種類に従って、いずれか1つの制御部12bを択一的に
選択されるので、その選択された制御部12bは出力を
軸情報記憶部13に格納するようになる。
【0059】なお、上記したように、入力部12aが取
得した制御量情報は、軸情報記憶部13に格納されるた
め、軸制御完了判定部11bは、係る制御量情報と、目
標値などから目標に達したか否かを判断し、完了した場
合には、シーケンス制御部11に通知する。これを受け
て、シーケンス制御部11は、今回の制御を終了した
り、制御方式を切り替えたりする。制御方式の切り替え
は、軸制御委譲部11aが軸情報記憶部13の制御方式
の欄に登録することにより行われる。
【0060】上記した実施の形態を用いて、例えば、樹
脂の成型装置における制御を行う場合は、以下のように
なる。すなわち、良く知られているように、樹脂を型内
に注入するためのピストン(シリンダ)を前進移動させ
る場合に、図10に示すようにまず速度制御を行い一定
の位置まで移動させる。そして、所定位置まで移動する
と、前方へ付勢してもそれ以上は前進せず停止するもの
の、圧力は高くなる。従って、このときは圧力制御に移
行し、型内に充填された圧力(ピストンが受ける反力)
を徐々に上昇させ、目的の圧力に導くように制御する。
【0061】そして、所望の圧力を一定時間かけること
により、所望の形状の樹脂製品が完成するので、ピスト
ンを逆方向に後退移動させ、型内の樹脂製品を取り出す
とともに、次の製造工程の準備を行う。この後退移動時
は、速度制御を行う。
【0062】このように、樹脂成形における制御は、速
度制御→圧力制御→速度制御というように異なる種類の
制御が混在している。そして、最初の速度制御の完了
は、例えば、位置情報(エンコーダ情報)から、所定の
位置に達したことを条件としたり、係る位置とともに圧
力が所定の切替圧力に達したことを条件に判断すること
ができる。また、圧力制御の完了は、例えば、圧力が目
標圧力に達してから所定時間経過したこと等を条件に判
断することができる。係る完了の判断は、軸制御完了判
定部11bが行う。
【0063】制御系の切替圧力以上になり速度制御から
圧力制御に切り替えた際に、いきなり目標圧力へステッ
プ応答させると、図1に示したようにオーバーシュート
などを生じてしまうが、本実施の形態では、目標軌道生
成器22をソフトウェアで生成するようにしたため、例
えば現在の圧力から目標圧力まで2次関数で滑らかな圧
力目標軌道を生成することができる(図10参照)。こ
のように、目標軌道が滑らかなので、圧力波形のリンギ
ングが発生せずにバリやボイドの発生を抑制できる。
【0064】さらに、ステップ応答させるとオーバーシ
ュートや圧力が収束するまでの収束時間がばらつくた
め、製品の品質もばらついてしまうが、本実施の形態の
ように、制御量を滑らかな目標軌道に追従させることで
圧力波形の再現性が高まり、バリやボイドが発生せず品
質が安定する。そして、実際の制御結果の一例を示す
と、図11のようになる。図12に示す従来の制御に基
づくオーバーシュートと比較すると、スムーズな制御が
行えていることが明らかである。
【0065】ところで、圧力制御を行う際に、静止摩擦
が大きいので比例ゲインを高くしたいが、比例ゲインを
高くすると圧力の制御波形が振動的になる(図1参
照)。一方、振動を抑制するために微分項を入れると、
圧力の測定値に大きなノイズが混入しているため、かえ
って振動を励起してしまう。そこで、エンコーダで検出
された位置情報から計算された速度情報をフィードバッ
クすることにより圧力制御のリンギングの抑制を行うこ
とを考える。
【0066】係る修正処理をしようとした場合、例え
ば、補正する前の制御部が図13に示すように構成され
ているとすると、制御部のアルゴリズムを修正し、図1
4に示すように構成することで対応できる。すなわち、
制御部12bは、ソフトウェアで形成されているととも
に、各要素単位でプログラムが構築されている。従っ
て、図14に示すように、乗算器(MUL)24や、減
算器(SUB)25などの各要素を作成し追加すること
により簡単に構成することができる。
【0067】図14に示すように構成すると、エンコー
ダ情報から計算された速度情報は圧力測定値のような激
しいノイズを含まないので、効果的に圧力制御波形のリ
ンギングを抑制できる。比例ゲインを大きくできるの
で、静止摩擦などの影響を緩和でき、制御精度を高める
ことができる。
【0068】本実施の形態では制御部その他のプログラ
ムをIEC61131−3で構成している。このIEC
61131−3は、プログラムがPOUの組み合わせで
できており、POU単位でのオンラインエディットが行
える。従って、係るIEC61131−3のオンライン
エディットができる実装を用いて記述することにより、
上記した制御部12bの機能の追加・修正を、装置を停
止することなく行うことができる。よって、装置を初期
化する時間や、装置が起動してからアルゴリズム内容を
評価できる状態になるまでのステップと、プログラムの
コンパイルとダウンロード時間を削減できるので、アル
ゴリズム調整時間を大幅に短縮することができる。
【0069】そして、具体的には、図15に示すフロー
チャートに示す手順により修正処理ができる。すなわ
ち、まずプログラムをコンパイルし、FAコンピュータ
2にダウンロードする(ST1,ST2)。このFAコ
ンピュータ2には、制御対象機器7等も接続されてお
り、実際に運転を開始する(ST3)。本実施の形態の
場合、速度制御→圧力制御→速度制御を実行して樹脂成
形を行うものに適用しているので、まず、速度制御を行
う(ST4)。そして、完了条件に合致したならば、次
の圧力制御に移行する(ST5)。なお、各制御は、軸
制御委譲部11aからの指示に従い、モーション用プロ
グラム12が所望の制御を行うことにより実行される。
【0070】そして、圧力制御波形が制御要求を満足す
るか否かを判断する(ST6)。この判断は、例えば、
波形をモニタに出力し、人が判断するようにしても良い
し、目標軌道があるので、それとのずれが一定の範囲内
であるか否かや、オーバーシュートの有無・程度などか
ら自動的に判断するようにしても良い(ST6)。そし
て、要求を満足しない場合には、オンラインエディット
により制御部12bの制御アルゴリズムを修正する(S
T7)。その後、ステップ5に戻り再度圧力制御を実行
する。
【0071】上記した修正と検証を繰り返し行い、制御
要求を満足した場合には後退用の速度制御を行って原点
復帰し(ST8)、運転を停止する(ST9)。これに
より、修正が完了するので、以後、正規の制御を行うこ
とになる。
【0072】また、本発明は、必ずしもオンラインエデ
ィットの機能を必須にする必要はなく、オンラインエデ
ィットができない場合でも、ソフトが部品化されている
ため、比較的簡単に追加・修正が行える。そして、その
場合の具体的な処理手順としては、図16に示すように
なる。すなわち、プログラムのコンパイル(ST1)か
ら圧力制御を実行し(ST5)、得られた圧力制御波形
が制御要求を満足するか否かを判断する(ST6)処理
までは上記したオンラインエディットの場合と同様であ
る。
【0073】そして、制御要求を満足しない場合には、
後退移動の速度制御をして原点復帰をし(ST10)、
運転を一旦停止する(ST11)。次いで、制御アルゴ
リズムの修正を行い(ST12)、ステップ1に戻り、
修正後のプログラムに基づいて上記した処理を実行す
る。すならち、修正後のプログラムをコンパイルしてダ
ウンロードし(ST1,ST2)、修正後のプログラム
に基づいて制御を行い、動作を検証する。
【0074】そして、制御要求を満足した場合には後退
用の速度制御を行って原点復帰し(ST8)、運転を停
止する(ST9)。これにより、修正が完了するので、
以後、正規の制御を行うことになる。
【0075】
【発明の効果】以上のように、この発明では、シーケン
ス制御とモーション制御(サーボ制御)を独立して動作
するプログラムで構築したため、制御が高精度に行える
ようになる。
【図面の簡単な説明】
【図1】従来の問題点を説明する図である。
【図2】本発明に係るコントローラの好適な一実施の形
態を示す図である。
【図3】本発明に係るコントローラの好適な一実施の形
態を示す図である。
【図4】軸情報記憶部のデータ構造の一例を示す図であ
る。
【図5】本発明に係るコントローラの好適な一実施の形
態を示すソフトウェア構成図である。
【図6】軸制御委譲部の構造の一例を示す図である。
【図7】制御部の構造の一例を示す図である。
【図8】軌道生成部の具体例の一例を示す図である。
【図9】補償部の具体例の一例を示す図である。
【図10】本実施の形態のコントローラを用いて行う速
度/圧力制御切替の一例を示す図である。
【図11】本発明の効果を実証する実験結果を示す図で
ある。
【図12】本発明の効果を実証するための比較例の実験
結果を示す図である。
【図13】制御部(圧力)の内部構造の一例を示す図で
ある。
【図14】制御部(圧力)の修正後の内部構造の一例を
示す図である。
【図15】制御部の修正処理手順(オンラインエディッ
ト)の一例を示すフローチャートである。
【図16】制御部の修正処理手順(オンラインエディッ
ト無し)の一例を示すフローチャートである。
【符号の説明】
1 リアルタイムOS 2 FAコンピュータ 3 ソフトウェアPLCエンジン 5 ユーザプログラム 6a I/Oボード 6b マルチファンクションボード 6c 画像ボード 7 制御対象機器 8 デバイスドライバ 11 シーケンス用プログラム(シーケンス制御部) 11a 軸制御委譲部 11b 軸制御完了判定部 12 モーション用プログラム 12a 入力部 12b 制御部 12c 出力部 12d 速度変換部 12e 切り替えスイッチ 13 軸情報記憶部 21 補償器 22 目標軌道生成器 23 フィルタ 24 乗算器 25 減算器
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5H220 AA05 BB05 BB12 DD01 EE06 EE15 HH05 JJ19 JJ26 JJ31 5H269 AB27 BB08 EE01 EE03 EE07 EE27 GG05 GG09 HH06 KK01 QB01

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 シーケンス制御手段とサーボ制御手段が
    独立したアプリケーションプログラムにより構成され、
    実行されるコントローラであって、 前記シーケンス制御手段は、前記サーボ制御手段に対し
    て直接または間接的に制御条件とともに制御命令を与え
    る指示手段と、前記サーボ制御手段の保持する情報を取
    得し、前記与えた制御命令に基づく制御の完了の有無を
    判定する判定手段を備えたことを特徴とするコントロー
    ラ。
  2. 【請求項2】 前記サーボ制御手段は、少なくとも目標
    軌道生成手段と、 その目標軌道生成手段で生成された目標軌道と、制御対
    象の制御量に基づき前記制御対象に対する指令値を求め
    る補償手段を有し、 前記目標軌道生成手段は、数学関数を使用してサーボ周
    期毎に目標値を生成することを特徴とする請求項1に記
    載のコントローラ。
  3. 【請求項3】 前記シーケンス制御手段と、前記サーボ
    制御手段は、IEC61131−3で記述されているこ
    とを特徴とする請求項1または2に記載のコントロー
    ラ。
  4. 【請求項4】 前記サーボ制御手段におけるサーボルー
    プのプログラムが、オンラインエディットができるよう
    に構成されていることを特徴とする請求項1から3の何
    れか1項に記載のコントローラ。
  5. 【請求項5】 前記制御対象の軸情報を論理化して軸情
    報記憶部に格納し、 前記シーケンス制御手段並びに前記サーボ制御手段は、
    前記軸情報記憶部にアクセスすることにより、情報の送
    受を行うようにしたことを特徴とする請求項1から4の
    何れか1項に記載のコントローラ。
  6. 【請求項6】 前記サーボ制御手段に使用されている補
    償手段は、ST言語により記述されたファンクション或
    いはファンクションブロックであり、 サーボ制御は、前記ファンクションやファンクションブ
    ロックを組み合わせたファンクションブロックダイアグ
    ラムで記述されていることを特敏とする請求項1から5
    の何れか1項に記載のコントローラ。
JP2001347764A 2001-11-13 2001-11-13 コントローラ Withdrawn JP2003150213A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001347764A JP2003150213A (ja) 2001-11-13 2001-11-13 コントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001347764A JP2003150213A (ja) 2001-11-13 2001-11-13 コントローラ

Publications (1)

Publication Number Publication Date
JP2003150213A true JP2003150213A (ja) 2003-05-23

Family

ID=19160715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001347764A Withdrawn JP2003150213A (ja) 2001-11-13 2001-11-13 コントローラ

Country Status (1)

Country Link
JP (1) JP2003150213A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280377A (ja) * 2006-03-15 2007-10-25 Omron Corp Plcシステム
JP2010225072A (ja) * 2009-03-25 2010-10-07 Yamatake Corp 制御システムのコントローラおよび制御方法
JP2020161028A (ja) * 2019-03-28 2020-10-01 ファナック株式会社 サーボモータ制御装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280377A (ja) * 2006-03-15 2007-10-25 Omron Corp Plcシステム
JP4737441B2 (ja) * 2006-03-15 2011-08-03 オムロン株式会社 Plcシステム
JP2010225072A (ja) * 2009-03-25 2010-10-07 Yamatake Corp 制御システムのコントローラおよび制御方法
JP2020161028A (ja) * 2019-03-28 2020-10-01 ファナック株式会社 サーボモータ制御装置
CN111756309A (zh) * 2019-03-28 2020-10-09 发那科株式会社 伺服电动机控制装置
US11256226B2 (en) 2019-03-28 2022-02-22 Fanuc Corporation Servomotor control device with counterforce command calculation

Similar Documents

Publication Publication Date Title
JP4973792B1 (ja) 演算ユニット、出力制御方法、およびプログラム
US6345212B1 (en) Automatic variable linkage mechanism for integrating third party software components
HAN et al. Development of a PC-based open architecture software-CNC system
JP5355356B2 (ja) 部品プログラムの作成のための方法
US7548795B2 (en) Numerical control system
US5984499A (en) Method and apparatus for a numerical control system for processing multiple job streams
JP2004326618A (ja) 工作機械の数値制御装置
US5930141A (en) Method of controlling access to storage means in numerical-control system, and numerical-control system
US6889097B2 (en) Data source and converter
JP2003150213A (ja) コントローラ
JP2003181900A (ja) コントローラ並びにモーション制御装置
JP2001282331A (ja) 工作機械シミュレーション装置
JP7172864B2 (ja) サポート装置およびサポートプログラム
US5479354A (en) Method for the computer-assisted control of a machine or process
JPS5958505A (ja) 数値制御装置
JP6881174B2 (ja) 制御装置および制御方法
US9864359B2 (en) Numerical control device
WO2017101700A1 (zh) 与数控系统直接通讯的计算机辅助制造方法及装置和系统
JP6821101B1 (ja) 数値制御装置
JP7180158B2 (ja) プログラム開発装置、およびコントローラ
US7406404B2 (en) Method for developing a machine
JP3719044B2 (ja) 位置決め制御装置
CN115167265B (zh) Plc应用包生成方法、plc应用包运行方法及相关装置
CN108027602B (zh) 模拟工业过程、设施或机器的真实控制器的模拟方法和执行该模拟方法的模拟系统
JP3660038B2 (ja) 数値制御装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050201