JP2005234639A - 数値制御装置のカスタマイズ方法および数値制御装置 - Google Patents

数値制御装置のカスタマイズ方法および数値制御装置 Download PDF

Info

Publication number
JP2005234639A
JP2005234639A JP2004039556A JP2004039556A JP2005234639A JP 2005234639 A JP2005234639 A JP 2005234639A JP 2004039556 A JP2004039556 A JP 2004039556A JP 2004039556 A JP2004039556 A JP 2004039556A JP 2005234639 A JP2005234639 A JP 2005234639A
Authority
JP
Japan
Prior art keywords
user
user function
processing
function
system software
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
JP2004039556A
Other languages
English (en)
Inventor
Naoyoshi Ishibashi
直義 石橋
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.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric 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 Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2004039556A priority Critical patent/JP2005234639A/ja
Publication of JP2005234639A publication Critical patent/JP2005234639A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)

Abstract

【課題】数値制御装置のシステムソフトウエアの一部をユーザが独自に簡単に変更することができる数値制御装置のカスタマイズ方法および数値制御装置を提供する。
【解決手段】システムソフトウエアで実現されている機能の関数単位で、前記システムソフトウエアの処理に代えて、前記ユーザが作成した前記ユーザ関数を有効とするユーザ関数選択パラメータを備え、該ユーザ関数選択パラメータにより、前記ユーザ関数が有効かどうかを判別し(ステップST2)、判別した結果前記ユーザ関数が有効でなければ前期システムソフトウエアの処理を実行し(ステップST3)、判別した結果前期ユーザ関数が有効であれば前記システムソフトウエアの処理に代えて前記ユーザ関数を実行する(ステップST4)。
【選択図】 図1

Description

本発明は、ユーザが作成するユーザ関数を組み込むことのできる数値制御装置のカスタマイズ方法および数値制御装置に関する。
図6は、従来の数値制御装置の構成を示すブロック図である。61は数値制御装置、62はサーボモータの動作指令が記述されたNC加工プログラム、63はユーザが作成するユーザアプリケーションプログラムであり、64はユーザアプリケーションプログラムを実行するアプリケーションプログラム実行部である。65はNCプログラムに指令された移動速度と移動量を解析し、サーボモータに単位時間あたりの移動量を発生させると共に、サーボモータの位置情報を現在位置に変換する位置指令作成管理部である。66は位置ループ、速度ループを含みサーボモータを制御するサーボ制御部であり、67はサーボモータである。68はアラームを処理するアラーム処理部である。71、72は位置指令作成管理部65に、73、74はサーボ制御部66に、75、76はアラーム処理部68に埋め込まれたユーザ関数である。(例えば特許文献1参照)
以下に各部の処理の概要を示す。アプリケーションプログラム実行部64は、ユーザアプリケーションプログラム63に記述されたNCプログラム解析機能を実行すると、NC加工プログラム62を読み込み解析し、サーボモータ67を動作させる指令を作成し、位置指令作成管理部65に出力する。位置指令作成管理部65では、その指令を解析し、位置指令を作成する。また、サーボモータ67の位置情報を現在位置に変換し、その情報をアプリケーションプログラム実行部64に出力する。位置指令作成管理部65により作成された単位時間あたりの移動量はサーボ制御部66に出力される。サーボ制御部66は、その単位時間あたりの移動量により、サーボモータ67を駆動する。サーボモータ67の位置情報は位置指令作成管理部65でアプリケーションプログラムが表示できる現在位置のデータに変換され、アプリケーションプログラム実行部64に出力される。アプリケーションプログラム実行部64では、ユーザアプリケーションプログラム63に記述された現在位置表示機能を実行することにより、現在位置表示を行う。また、何らかのアラームが発生した場合、アラーム処理部68により、アラーム内容の加工、分析が行われ、アプリケーションプログラム実行部64に出力される。アプリケーションプログラム実行部64では、ユーザアプリケーションプログラム63に記述されたアラーム機能を実行することにより、アラーム表示、サーボモータの停止処理等を行う。このように、ユーザのアプリケーションの中で、NC加工プログラムを解析する処理や各種データを表示する処理は、位置指令作成管理部65やアラーム処理部68とインターフェイスをとりながら、アプリケーションプログラム実行部64で実行される。しかし、システムの基本部で処理するような一部のアラーム処理や、位置データを監視しながらする必要のあるピッチエラー補正等の処理は、処理するタイミングの関係でアプリケーションプログラム実行部64では実行できない。そのため、各処理部にユーザ関数という形で処理するように、あらかじめユーザが処理を追加したいであろうというタイミングに、処理内容を記載していない無処理のユーザ関数(71〜76)を埋め込んである。図6では、ユーザ関数(71〜76)は各処理部に2ヶ例示してあるが、2ヶに限定されるものではない。
図7は、従来の数値制御装置が、ユーザ関数を含む1つの機能Aを実行するときのフローである。これは、例えば図6の位置指令作成管理部65を修正するということを想定したときのフローチャートである。この例では、処理はシステム処理1、システム処理2、システム処理3の3つの関数で構成されている。ここで、システム処理1〜3は、システムソフトウエアで実現されている。システムソフトウエアとは、リアルタイム性があったり、ハードウエアやOS(Operating System)に依存していたりするシステムの根幹となるソフトウエアであり、一般的にはユーザでは修正は行えない。また、この例では、ユーザ関数はシステム処理1の直前と、システム処理3の直前で実行するものがあらかじめ準備されていて、それぞれをユーザ関数1、ユーザ関数2とする。
まず、ステップST71で、機能Aが有効かどうかを、機能選択パラメータでチェックし、有効でない場合は処理を終了する。有効な場合、ステップST72で、ユーザ関数1が有効かどうかをユーザ関数実行パラメータでチェックする。もし有効なら、システム処理1の直前で、ユーザ関数1を実行する(ステップST73)。ステップST74でシステム処理1を実行し、ステップST75でシステム処理2を実行する。そして、ステップST76でユーザ関数2が有効かどうかをユーザ関数実行パラメータでチェックする。もし有効なら、システム処理3の直前でユーザ関数2を実行する(ステップST77)。その後ステップST78でシステム処理3を実行する。このように、従来の数値制御装置のカスタマイズ方法では、数値制御装置メーカから見てユーザが望むであろうと想定される場所にユーザ関数が起動できるように埋め込まれている。さらに、その関数を実行するかどうかのパラメータを持っており、実行するように選択されているユーザ関数のみが起動される仕組みとなっている。
あらかじめ埋め込まれているユーザ関数を使用する為の入出力とユーザ関数内で使用できるAPI(Application Program Interface)は公開されており、ユーザは、実行したいタイミングのユーザ関数を、仕様書に沿って、公開されたAPIを使用しながら独自処理を記述し、機能が追加されたユーザ専用の実行モジュールを作成できる。
図8は従来のシステム処理の概念図である。82は1つの機能を実現するときのソフトウエアのメインとなるメインプログラムであり、ここからシステム処理1(83)〜システム処理3(85)が順次呼び出されて実行していく。各システム処理で使用するデータは一部はメインプログラム82から引数として渡されるが、一部はシステム処理1(83)〜システム処理3(85)で共通にアクセスできるデータ領域であるグローバル変数領域81にあり、そのデータは各処理の中から直接アクセスしている。このため、各システム処理のソフトウエアがグローバル変数のアドレスに依存するため独立性が無くなる。すなわち、あるシステム処理に変更が無くとも、他のシステム処理で使用するグローバル変数に増減があったりした場合、グローバル変数のアドレスがずれることになり、再度コンパイル、リンクを行う必要がある。
図9は、従来の数値制御装置のユーザ関数選択手段のブロック図である。これは、図6の位置指令作成管理部65が3つのシステム処理と2つの関数で構成されている場合の例で、システム処理1〜3(92〜94)、ユーザ関数1〜2(97〜98)は共にソフトウエア実行手段96で実行される。ソフトウエア実行手段96は数値制御装置61内にあり(図示せず)、位置指令作成管理部65、サーボ制御部66、アラーム処理部67のソフトウエアを実行する。また、このブロック図では、ソフトウエア実行手段は図の上部に入力されたものから順に実行していくことを示しており、ユーザ関数1、システム処理1、システム処理2の順に実行していく。システム処理1〜3は無条件に実行されるが、ユーザ関数1〜2はユーザ関数実行パラメータ95の値により実行するかどうかが決定される。
このように従来の数値制御装置では、あらかじめ準備されたユーザ関数である程度のユーザ処理は実現できるが、準備されているユーザ関数のタイミングと異なるタイミングで実行したいユーザ処理が発生した場合は、数値制御装置メーカへ依頼し、ユーザ関数の追加をしてもらう必要がある。例えば、システムソフト内のサーボモータの減速処理開始と同時に何か処理したいような場合には、そのタイミングで起動されるユーザ関数が準備されていないため、ユーザ関数で処理することはできない。
例えば図7の場合、機能Aを構成する処理はシステム処理1、2、3の3つに分類されているが、ユーザは機能Aのシステム処理1のみを変更すれば満足できる場合でも、システムソフトウエアの一部を変更してレベルアップできないため対応できない。
特開2002−132316号公報(第5−8頁、第3図)
従来の数値制御装置では、システムソフトウエアの機能の一部に変更の必要性が生じた場合には、ユーザはその都度数値制御装置メーカに処理変更の依頼を行なわなければならず、簡単に変更することができない。
そこで、本発明は数値制御装置のシステムソフトウエアの一部をユーザが独自に簡単に変更することができる数値制御装置のカスタマイズ方法および数値制御装置を提供することを目的とする。
上記問題を解決するため、本発明の数値制御装置のカスタマイズ方法は、ユーザが作成するユーザ関数を組み込むことができる数値制御装置のカスタマイズ方法において、システムソフトウエアで実現されている機能の関数単位で前記システムソフトウエアの処理に代えて前記ユーザが作成したユーザ関数を有効とするユーザ関数選択パラメータを備え、該ユーザ関数選択パラメータにより前記ユーザ関数が有効かどうかを判別し、判別した結果前記ユーザ関数が有効でなければ前期システムソフトウエアの処理を実行し、判別した結果前期ユーザ関数が有効であれば前記システムソフトウエアの処理に代えて前記ユーザ関数を実行することを特徴としている。
また、本発明の数値制御装置は、ユーザアプリケーションプログラムを実行するアプリケーションプログラム実行部と、サーボモータに単位時間あたりの移動量を発生させると共に前記サーボモータの位置情報を現在位置に変換する位置指令作成管理部と、位置ループ、速度ループを含み前記サーボモータを制御するサーボ制御部と、アラームを処理するアラーム処理部とを備え、前記位置指令作成管理部と前記サーボ制御部と前記アラーム処理部のそれぞれにユーザが作成するユーザ関数を組み込むことができる数値制御装置において、システムソフトウエアで実現されている機能の関数単位で前記システムソフトウエアの処理に代えて前記ユーザが作成したユーザ関数を有効とするユーザ関数選択パラメータを備え、該ユーザ関数選択パラメータの値により前記システムソフトウエアの処理に代えて前記ユーザ関数を実行するソフトウエア実行手段を備えたことを特徴としている。このようになっているため、システムソフトウエアの一部分をユーザが簡単に変更ができるのである。
本発明によれば、システムソフトウエアの各関数の呼び出し先をユーザ処理にするようにユーザ関数選択パラメータにより選択できるようにしたため、システムソフトウエアの処理の一部をユーザ独自の関数へ代えることが可能になる。従って、ユーザによる数値制御装置のシステムソフトウエアの一部変更が可能となるため、ユーザ独自の数値制御装置のソフトウエアを簡単に自由に構築できる。
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
図1は本発明の実施例で、1つの機能を実行するときのフローである。機能Aを構成するそれぞれのシステム処理1〜3は、図4に示すユーザ関数選択パラメータにより、システム処理に代えてユーザが作成したユーザ関数を選択できることを示している。
まずステップST1で機能Aが有効かどうかを機能選択パラメータでチェックし、有効でない場合は処理を終了する。有効な場合、ステップST2で、システム処理1に代わるユーザ関数1が有効かどうかをユーザ関数選択パラメータによりチェックする。もし有効な場合、システム処理1に代わりユーザ関数1が起動される(ステップST4)。有効でない場合、システム処理1が起動される(ステップST3)。そしてステップST5でシステム処理2に代わるユーザ関数2が有効かどうかチェックする。もし有効な場合、システム処理2に代わりユーザ関数2が起動される(ステップST7)。同様にステップST8〜ステップST10で、システム処理3かユーザ関数3かの選択を行う。
図4はシステムソフトウエアの各関数の処理対象を決定するためのユーザ関数選択パラメータの構成である。ユーザ関数選択パラメータは、数値制御装置のメモリ内に存在し、ユーザ関数1〜3が有効かどうかを定義する。図4の構成の例では、システム処理1〜3のそれぞれの処理を、ユーザ関数と、標準のシステム処理のどちらで実行するかを選択できることを表している。
システム処理1〜3の各処理は、ユーザが作成した処理に置き換えできるように、機能を構成するモジュール毎にソフトウエアを開放できるように、関数への全ての処理依頼を引数にまとめることにより、グローバルな変数を使用せず、モジュールの独立性を高くしている。以下に図に基づき説明する。
図2は本発明のシステム処理の概念図である。メインプログラム22はシステム処理1(23)〜システム処理3(25)を呼び出すとき図にあるようにグローバル変数に相当するものを引数に置き直し、システム処理を呼び出す。そして処理を抜けたところで、再度グローバル変数にコピーする。こうすることで、各システム処理の中はグローバル変数がなくなり、他のシステム処理の影響を受けることなくシステム処理単位でユーザ関数に置き換えられる。
このシステムで、ユーザが独自のユーザ関数を作成して新しいシステムを構築したい場合、標準の機能Aの処理1、2、3の必要なもののユーザ関数選択パラメータを有効にし、機能Aを構成する一部の処理を、ユーザ関数として公開された入出力に沿って、開放されているAPIを使用しソフトウエアを作成する。
図3は、そのユーザ関数を開発して数値制御装置に組み込む為の“開発の流れ”を示すフローである。
ユーザはまずステップST31でC言語等のプログラム言語によって処理を記述したユーザ関数プログラムを作成する。次にステップST32でそのプログラムをコンパイルする。そしてステップST33で数値制御装置のシステムソフトウアに含まれる位置指令作成部、位置管理部、サーボ制御部、アラーム処理部の各処理の基本部を提供するライブラリ31とリンクし、ユーザ実行モジュールを作成する。ステップST34で、システムソフトウエアに含まれるツールを使用して数値制御装置へユーザ実行モジュールをダウンロードする。ステップST35で、システムソフトウエアに含まれるデバッグツールを使い、モニタリングとデバッグを行う。デバッグ終了後のユーザ関数プログラムは、実行を開始すると、ユーザ関数選択パラメータに沿って、標準のシステム処理の代わりとして自動的に呼び出される。
図5は本発明の数値制御装置のユーザ関数選択手段のブロック図である。ソフトウエア実行手段56は、ユーザ関数選択パラメータにより、システム処理かユーザ関数かのどちらかを選択して実行する。
このように、システムソフトウエアの各関数の呼び出し先をユーザ処理にするようにユーザ関数選択パラメータにより選択できるようにしたため、システムソフトの処理の一部をユーザ独自の関数へ代えることが可能になるのである。
本発明の数値制御装置の1つの機能実行時のフロー 本発明のシステム処理の概念図 本発明の数値制御装置のユーザ関数の開発のフロー 本発明の数値制御装置のユーザ関数選択パラメータの構成を示す図 本発明の数値制御装置のユーザ関数選択手段のブロック図 従来の数値制御装置のブロック図 従来の数値制御装置の1つの機能実行時のフロー 従来のシステム処理の概念図 従来の数値制御装置のユーザ関数選択手段のブロック図
符号の説明
1 ユーザ関数選択パラメータ
2 機能選択パラメータ
3 ユーザ関数実行パラメータ
21、81 グローバル変数格納領域
22、82 システムプログラム
23、52、83、92 システム処理1
24、53、84、93 システム処理2
25、54、85、94 システム処理3
31 ライブラリ
51、91 ユーザ関数選択手段
61 数値制御装置
55 ユーザ関数選択パラメータ
56、96 ソフトウエア実行手段
57、71、97 ユーザ関数1
58、72、98 ユーザ関数2
59、73 ユーザ関数3
62 NC加工プログラム
63 ユーザアプリケーションプログラム
64 アプリケーションプログラム実行部
65 位置指令作成管理部
66 サーボ制御部
67 サーボモータ
68 アラーム処理部
74 ユーザ関数4
75 ユーザ関数5
76 ユーザ関数6
95 ユーザ関数実行パラメータ

Claims (2)

  1. ユーザが作成するユーザ関数を組み込むことができる数値制御装置のカスタマイズ方法において、
    システムソフトウエアで実現されている機能の関数単位で前記システムソフトウエアの処理に代えて前記ユーザが作成したユーザ関数を有効とするユーザ関数選択パラメータを備え、
    該ユーザ関数選択パラメータにより前記ユーザ関数が有効かどうかを判別し、
    判別した結果前記ユーザ関数が有効でなければ前期システムソフトウエアの処理を実行し、
    判別した結果前期ユーザ関数が有効であれば前記システムソフトウエアの処理に代えて前記ユーザ関数を実行することを特徴とする数値制御装置のカスタマイズ方法。
  2. ユーザアプリケーションプログラムを実行するアプリケーションプログラム実行部と、
    サーボモータに単位時間あたりの移動量を発生させると共に前記サーボモータの位置情報を現在位置に変換する位置指令作成管理部と、
    位置ループ、速度ループを含み前記サーボモータを制御するサーボ制御部と、
    アラームを処理するアラーム処理部とを備え、
    前記位置指令作成管理部と前記サーボ制御部と前記アラーム処理部のそれぞれにユーザが作成するユーザ関数を組み込むことができる数値制御装置において、
    システムソフトウエアで実現されている機能の関数単位で前記システムソフトウエアの処理に代えて前記ユーザが作成したユーザ関数を有効とするユーザ関数選択パラメータを備え、
    該ユーザ関数選択パラメータの値により前記システムソフトウエアの処理に代えて前記ユーザ関数を実行するソフトウエア実行手段を備えたことを特徴とする数値制御装置。
JP2004039556A 2004-02-17 2004-02-17 数値制御装置のカスタマイズ方法および数値制御装置 Pending JP2005234639A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004039556A JP2005234639A (ja) 2004-02-17 2004-02-17 数値制御装置のカスタマイズ方法および数値制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004039556A JP2005234639A (ja) 2004-02-17 2004-02-17 数値制御装置のカスタマイズ方法および数値制御装置

Publications (1)

Publication Number Publication Date
JP2005234639A true JP2005234639A (ja) 2005-09-02

Family

ID=35017564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004039556A Pending JP2005234639A (ja) 2004-02-17 2004-02-17 数値制御装置のカスタマイズ方法および数値制御装置

Country Status (1)

Country Link
JP (1) JP2005234639A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017110061A1 (ja) 2015-12-22 2017-06-29 パナソニックIpマネジメント株式会社 モータ制御装置のカスタマイズ方法、およびモータ制御装置
US11454952B2 (en) 2019-09-12 2022-09-27 Mitsubishi Electric Corporation Numerical control apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017110061A1 (ja) 2015-12-22 2017-06-29 パナソニックIpマネジメント株式会社 モータ制御装置のカスタマイズ方法、およびモータ制御装置
US10353366B2 (en) 2015-12-22 2019-07-16 Panasonic Intellectual Property Management Co., Ltd. Customization method of motor control device and motor control device
US11454952B2 (en) 2019-09-12 2022-09-27 Mitsubishi Electric Corporation Numerical control apparatus

Similar Documents

Publication Publication Date Title
US5805892A (en) Method of and apparatus for debugging multitask programs
JP4628634B2 (ja) 汎用運動制御システム
JP2006018697A (ja) スクリプト言語で記述されたプログラムを呼出し可能な数値制御装置
JP7000686B2 (ja) 制御装置
WO2020039900A1 (ja) 情報処理装置およびプログラム
US20130081054A1 (en) Method for Enabling Sequential, Non-Blocking Processing of Statements in Concurrent Tasks in a Control Device
JP2005234639A (ja) 数値制御装置のカスタマイズ方法および数値制御装置
US20020082734A1 (en) Industrial controller with clock-synchronous running level model
EP3159792B1 (en) Method of optimally compiling plc command
WO2019230262A1 (ja) サポート装置、制御システム、および開発支援プログラム
JP2019139365A (ja) アプリケーションプログラムを生成する方法、装置、プログラム
JP2004280299A (ja) コントローラ、開発装置及びシステム
US20180059649A1 (en) Simulator linkage device, control method of simulator linkage device, information processing program and recording medium
JP4784355B2 (ja) プログラマブルコントローラシステム、プログラマブルコントローラのデバッグ方法、プログラミング支援プログラム、プログラマブルコントローラのデバッグ制御プログラム
KR20180110401A (ko) 다중 기능 단일화 저작 시스템
JP2002132316A (ja) 数値制御装置およびそのソフトウエア組み込みシステム
JP2008139999A (ja) Ejb呼び出しにおけるトランザクションコンテキスト送信の最適化装置及びその方法
CN115061403A (zh) 一种软件定义的控制器及其编程方法和运动控制方法
KR20190065565A (ko) 클라이언트개발과 서버개발과 검증기능이 포함된 다중 기능 융합 저작 시스템
JP2021114019A (ja) データ処理方法
JP2003280709A (ja) 系統間軸交換制御機能を有する多系統数値制御装置
JP2000242314A (ja) プログラム判別表示方法および装置
JPH0546371A (ja) 制御システムにおける制御方法
JP2001134431A (ja) 関数の再入可能性判定方法
JP2006091944A (ja) ソフトウェアコンポーネントテストシステム及びソフトウェアコンポーネントテスト方法