JPH05158522A - Numerical controller - Google Patents

Numerical controller

Info

Publication number
JPH05158522A
JPH05158522A JP32719891A JP32719891A JPH05158522A JP H05158522 A JPH05158522 A JP H05158522A JP 32719891 A JP32719891 A JP 32719891A JP 32719891 A JP32719891 A JP 32719891A JP H05158522 A JPH05158522 A JP H05158522A
Authority
JP
Japan
Prior art keywords
application program
memory
program
personal computer
address
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
JP32719891A
Other languages
Japanese (ja)
Inventor
Takao Sasaki
佐々木隆夫
Tetsuya Shimizu
哲哉 清水
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 JP32719891A priority Critical patent/JPH05158522A/en
Publication of JPH05158522A publication Critical patent/JPH05158522A/en
Pending legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Devices For Executing Special Programs (AREA)
  • Control By Computers (AREA)

Abstract

PURPOSE:To easily execute an application program of a binary format developed on a personal computer OS. CONSTITUTION:An application program 200 developed on a personal computer 300 passes through a medium such as a floppy disk and a communication circuit, etc., and is stored in a first memory 101 of a numerical controller 100. Subsequently, its program is subjected to address operation by a program loading means 102, stored in a second memory 103 and becomes an application program 200a. When a CPU which is not shown in the figure executes and processes the application program 200a, an OS processing means 104 executes input/output control of data to a CNC main body 1 or an external apparatus 105 by an OS processing request contained in the application program 200a.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は数値制御装置に関し、特
にユーザが独自開発した応用プログラムを実行する数値
制御装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a numerical controller, and more particularly to a numerical controller for executing an application program originally developed by a user.

【0002】[0002]

【従来の技術】従来の数値制御装置では、市販のOS
(Operating System)を移植するなどして、ソフトウェ
ア開発環境と実行環境との両方の環境を提供している。
これにより、数値制御装置上で対話型自動プログラミン
グシステム等の応用プログラムを開発し、実行すること
ができる。
2. Description of the Related Art In a conventional numerical controller, a commercially available OS is used.
(Operating System) is ported to provide both software development environment and execution environment.
As a result, an application program such as an interactive automatic programming system can be developed and executed on the numerical controller.

【0003】ところが、ここ数年、市販されているパソ
コンの処理能力が格段に向上し、パソコン上で動作する
ソフトウェアや周辺機器を製造販売するメーカーである
サードパーティの参入によって、パソコン上のソフトウ
ェア開発環境が急速に向上しつつある。
However, in the past few years, the processing capacity of commercially available personal computers has improved remarkably, and the software development on personal computers has been made possible by the entry of a third party who is a manufacturer who manufactures and sells software operating on personal computers and peripheral devices. The environment is improving rapidly.

【0004】このような動向に対して、ユーザ、特に工
作機械メーカーのユーザから、自社で所有するパソコン
の使い慣れたソフトウェア開発環境でシステムプログラ
ムを開発し、このシステムプログラムを数値制御装置で
実行できるように望まれていた。
In response to such a trend, a user, particularly a user of a machine tool maker, can develop a system program in a software development environment familiar to his or her own personal computer and execute the system program on a numerical controller. Was desired by.

【0005】[0005]

【発明が解決しようとする課題】しかし、従来の数値制
御装置では、応用プログラムを開発する場合において、
パソコン上のソフトウェア開発環境と比べて操作性等で
劣っていた。ところが、パソコン上のソフトウェア開発
環境と同等のソフトウェア開発環境を数値制御装置で実
現するためには、多くの開発工数を必要とするという問
題点があった。
However, in the conventional numerical control device, when developing an application program,
It was inferior in operability to the software development environment on a personal computer. However, in order to realize a software development environment equivalent to the software development environment on a personal computer with a numerical control device, there is a problem that a lot of development man-hours are required.

【0006】また、市販OSの移植では、そのまま移植
しているために、そのOSが有する長所と短所を引き継
いでいた。このため、数値制御装置の処理能力を充分に
発揮することができないという問題点があった。
Further, in porting a commercially available OS, since it is ported as it is, the advantages and disadvantages of the OS are inherited. Therefore, there is a problem in that the processing capability of the numerical control device cannot be fully exerted.

【0007】そして、ソフトウェア開発環境をより良く
するためには、大容量の外部記憶装置等が必要となり、
コストが高くなるという問題点があった。本発明はこの
ような点に鑑みてなされたものであり、パソコンOS上
で開発されたバイナリ形式の応用プログラムを容易に実
行することができる数値制御装置を、提供することを目
的とする。
In order to improve the software development environment, a large capacity external storage device or the like is required,
There was a problem that the cost was high. The present invention has been made in view of the above circumstances, and an object thereof is to provide a numerical control device capable of easily executing a binary format application program developed on a personal computer OS.

【0008】[0008]

【課題を解決するための手段】本発明では上記課題を解
決するために、パソコン上で開発されたバイナリ形式の
応用プログラムを実行する数値制御装置において、前記
応用プログラムを一時的に格納する第1のメモリと、前
記第1のメモリに格納された前記応用プログラムを、ア
ドレス演算して第2のメモリに格納するプログラムロー
ド手段と、前記応用プログラムに含まれるパソコンOS
処理要求に応じて、パソコンOSをシミュレートして入
出力機器との入出力制御を行うOS処理手段とを有する
ことを特徴とする数値制御装置が提供される。
In order to solve the above problems, the present invention provides a numerical controller for executing an application program in a binary format developed on a personal computer, which temporarily stores the application program. Memory, a program loading means for calculating the address of the application program stored in the first memory and storing it in the second memory, and a personal computer OS included in the application program
There is provided a numerical controller characterized by having an OS processing means for simulating a personal computer OS in response to a processing request and controlling input / output with an input / output device.

【0009】[0009]

【作用】パソコン上で開発されたバイナリ形式の応用プ
ログラムは、まず第1のメモリに一時的に格納される。
次に、プログラムロード手段が、この応用プログラムを
アドレス演算して第2のメモリに格納する。そして、応
用プログラムが実行されると、応用プログラムに含まれ
るOS処理要求に応じて、OS処理手段が入出力機器を
制御する。
The binary application program developed on the personal computer is temporarily stored in the first memory.
Next, the program loading means calculates the address of this application program and stores it in the second memory. When the application program is executed, the OS processing means controls the input / output device according to the OS processing request included in the application program.

【0010】[0010]

【実施例】以下、本発明の一実施例を図面に基づいて説
明する。図2は、本発明の数値制御装置の全体概略図で
ある。図において、数値制御装置は基本的に、CNC
(数値制御部)1、MMC(マン・マシン・コントロー
ラ部)3及びPMC(プログラマブル・マシン・コント
ローラ部)7から構成されている。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 2 is an overall schematic diagram of the numerical controller according to the present invention. In the figure, the numerical control device is basically a CNC.
(Numerical controller) 1, MMC (Man Machine Controller) 3 and PMC (Programmable Machine Controller) 7.

【0011】CNC1は、数値制御装置全体の制御とサ
ーボモータの制御を実行する。このために、サーボユニ
ット2が接続されている。図では1個のサーボユニット
が表してあるが、軸数に応じたサーボユニットを接続す
ることができる。
The CNC 1 controls the entire numerical controller and the servomotor. For this purpose, the servo unit 2 is connected. Although one servo unit is shown in the figure, servo units corresponding to the number of axes can be connected.

【0012】MMC3は、オペレータと数値制御装置の
インタフェースとしての機能を果たす。このために、各
種データの表示を行うCRTと、ユーザ等のオペレータ
が操作する操作キーとを有するCRT/MDIユニット
4が接続されている。従って、オペレータはCRTから
数値制御装置の状態を知り、必要なデータを操作キーか
ら入力することができる。また、MMC3には大容量の
メモリ5が接続されており、加工プログラム等が格納で
きる。さらに、MMC3にはハードディスク装置や、紙
テープパンチャー等の周辺機器6が接続でき、加工プロ
グラムを入出力することができる。
The MMC 3 functions as an interface between the operator and the numerical controller. For this purpose, a CRT / MDI unit 4 having a CRT for displaying various data and an operation key operated by an operator such as a user is connected. Therefore, the operator can know the state of the numerical control device from the CRT and can input necessary data from the operation keys. A large capacity memory 5 is connected to the MMC 3 to store a machining program and the like. Further, a hard disk device or a peripheral device 6 such as a paper tape puncher can be connected to the MMC 3, and a processing program can be input / output.

【0013】PMC7は、CNC1からのM機能指令、
S機能指令、T機能指令等を受け、工作機械8を制御す
る。さらに、工作機械8からの各種のスイッチ等の信号
を受けて、工作機械8の油圧シリンダ等のアクチュエー
タを制御する。
PMC7 is an M function command from CNC1,
The machine tool 8 is controlled in response to the S function command, the T function command, and the like. Further, it receives signals from the machine tool 8 such as various switches and controls actuators such as hydraulic cylinders of the machine tool 8.

【0014】これらのCNC1、MMC3、PMC7
は、各々マイクロプロセッサ構成となっている。そし
て、CNC1とMMC3との間をウィンドウ9a、MM
C3とPMC7との間をウィンドウ9b、及びCNC1
とPMC7との間をウィンドウ9cで結合されており、
必要な信号の授受を行うことができる。
These CNC1, MMC3, PMC7
Each have a microprocessor configuration. Then, a window 9a, MM is provided between the CNC1 and the MMC3.
Window 9b between C3 and PMC7, and CNC1
And PMC7 are connected by a window 9c,
Necessary signals can be exchanged.

【0015】図1は本発明の数値制御装置の概念図であ
る。図において、応用プログラム200は、開発環境と
してのパソコン300で開発される。開発された応用プ
ログラム200はバイナリ形式のプログラムであり、フ
ロッピーディスク、通信回線等の媒介を経て、実行環境
としての数値制御装置100の第1のメモリ101に格
納される。
FIG. 1 is a conceptual diagram of a numerical controller according to the present invention. In the figure, the application program 200 is developed on a personal computer 300 as a development environment. The developed application program 200 is a binary program and is stored in the first memory 101 of the numerical control device 100 as an execution environment via a medium such as a floppy disk or a communication line.

【0016】第1のメモリ101に格納された応用プロ
グラム200は、プログラムロード手段102によって
アドレス演算され、第2のメモリ103に格納されて応
用プログラム200aとなる。
The application program 200 stored in the first memory 101 is subjected to address calculation by the program loading means 102 and stored in the second memory 103 to become the application program 200a.

【0017】応用プログラム200aを図示されていな
いCPUが実行処理すると、応用プログラム200aに
含まれているOS処理要求により、OS処理手段104
がCNC1又は外部機器105とのデータの入出力制御
を行う。
When the CPU (not shown) executes the application program 200a, the OS processing means 104 receives the OS processing request contained in the application program 200a.
Performs data input / output control with the CNC 1 or the external device 105.

【0018】こうして、パソコン300上で開発された
応用プログラム200は、数値制御装置100で容易に
実行させることができる。以下、MMCの動作について
説明する。図3は、本発明を実施するためのMMCのハ
ードウェアの概略構成図である。CPU(プロセッサ)
31はROM32に格納されたシステムプログラムに従
ってMMC3全体を制御する。ROM32にはEPRO
MあるいはEEPROMが使用される。RAM33はS
RAM等が使用され、対話型自動プログラミングシステ
ム等の応用プログラム、各種のデータあるいは入出力信
号が格納される。不揮発性メモリ34にはバッテリによ
ってバックアップされたCMOSが使用され、電源切断
後も保持すべきパラメータ、ピッチ誤差補正量及び工具
補正量等のデータが格納されている。
Thus, the application program 200 developed on the personal computer 300 can be easily executed by the numerical controller 100. The operation of the MMC will be described below. FIG. 3 is a schematic configuration diagram of the hardware of the MMC for implementing the present invention. CPU (processor)
Reference numeral 31 controls the entire MMC 3 according to the system program stored in the ROM 32. EPRO in ROM 32
M or EEPROM is used. RAM33 is S
A RAM or the like is used to store application programs such as an interactive automatic programming system, various data or input / output signals. A CMOS backed up by a battery is used for the non-volatile memory 34, and data such as parameters, pitch error correction amount, tool correction amount, and the like to be retained even after power-off is stored.

【0019】なお、不揮発性メモリ34は図1の第1の
メモリ101に、RAM33は図1の第2のメモリ10
3に、それぞれ相当する。また、図1のプログラムロー
ド手段102及びOS処理手段104は、ROM32あ
るいはRAM33に格納され、CPU31の実行によっ
て実現される機能である。
The nonvolatile memory 34 is the first memory 101 of FIG. 1, and the RAM 33 is the second memory 10 of FIG.
3 corresponds to each. Further, the program loading means 102 and the OS processing means 104 of FIG. 1 are functions stored in the ROM 32 or the RAM 33 and realized by the execution of the CPU 31.

【0020】CRTC(CRT制御回路)35は、ディ
ジタル信号を表示用の信号に変換して表示装置36に与
える。表示装置36には、CRTあるいは液晶表示装置
が使用され、オペレータへのメッセージ等が表示され
る。KEY(操作盤)37は、キーボード等から構成さ
れ、各種のデータの入力等に使用される。
A CRTC (CRT control circuit) 35 converts a digital signal into a display signal and supplies it to a display device 36. A CRT or a liquid crystal display device is used as the display device 36, and a message to the operator is displayed. The KEY (operation panel) 37 is composed of a keyboard and the like and is used for inputting various data.

【0021】また、高速I/F(高速インタフェース)
38は、図2のCNC1及びPMC7とのデータの入出
力制御を行う。I/F(インタフェース)39は、入出
力機器とのデータの入出力制御を行う。この入出力機器
は、図2のCRT/MDIユニット4及び周辺機器6に
相当する。なお、これらの構成要素はバス30によって
互いに結合されている。
High speed I / F (high speed interface)
Reference numeral 38 controls data input / output with the CNC 1 and PMC 7 in FIG. The I / F (interface) 39 controls the input / output of data with the input / output device. This input / output device corresponds to the CRT / MDI unit 4 and the peripheral device 6 in FIG. It should be noted that these components are coupled to each other by a bus 30.

【0022】図4は、応用プログラムを第2のメモリへ
ロードする手順を示す図である。図において、対話型自
動プログラミングシステム200aは図1の応用プログ
ラム200の一つであり、ヘッダ部201、実行部20
2及びライブラリ部203から構成されている。
FIG. 4 is a diagram showing a procedure for loading the application program into the second memory. In the figure, an interactive automatic programming system 200a is one of the application programs 200 shown in FIG.
2 and the library unit 203.

【0023】ヘッダ部201には、制御情報とリロケー
タブルアドレス情報とが格納されている。制御情報はフ
ァイル識別子やリロケーション項目数等からなる。ファ
イル識別子には、当該ファイルが実行ファイルであるこ
とを示す所定のコードが格納される。例えば、パソコン
OSの一つであるMS−DOS(登録商標)では、アス
キー文字で”MZ”が実行ファイルであることを示す識
別子となる。
The header section 201 stores control information and relocatable address information. The control information includes a file identifier and the number of relocation items. A predetermined code indicating that the file is an executable file is stored in the file identifier. For example, in MS-DOS (registered trademark) which is one of the personal computer OSs, "MZ" in ASCII characters is an identifier indicating that it is an execution file.

【0024】また、リロケーション項目数には、リロケ
ータブルアドレス情報の個数が格納される。リロケータ
ブルアドレス情報は実行部202に含まれるリロケータ
ブルアドレスの位置を対話型自動プログラミングシステ
ム200aの相対アドレスで示す。図4では、ヘッダ部
201のリロケータブルアドレス情報201a,201
bは、それぞれ実行部202のリロケータブルアドレス
202a,202bの位置を、対話型自動プログラミン
グシステム200a内での相対アドレスで示す。
Further, the number of relocation items stores the number of relocatable address information. The relocatable address information indicates the position of the relocatable address included in the execution unit 202 by the relative address of the interactive automatic programming system 200a. In FIG. 4, the relocatable address information 201a, 201 of the header portion 201
b indicates the positions of the relocatable addresses 202a and 202b of the execution unit 202 by relative addresses in the interactive automatic programming system 200a.

【0025】実行部202は、対話型自動プログラミン
グシステム200aのプログラム本体である。また、必
要に応じて、ライブラリ部203に格納されている汎用
の関数プログラムを呼び出す。
The execution unit 202 is the program body of the interactive automatic programming system 200a. In addition, a general-purpose function program stored in the library unit 203 is called as needed.

【0026】このような対話型自動プログラミングシス
テム200aに対して、図1のプログラムロード手段1
02は、次のような手順で第2のメモリ103に対話型
自動プログラミングシステム200aを格納する。ここ
で、リロケータブルアドレス103a,103bは、そ
れぞれリロケータブルアドレス202a,202bに相
当する。
For such an interactive automatic programming system 200a, the program loading means 1 shown in FIG.
02 stores the interactive automatic programming system 200a in the second memory 103 in the following procedure. Here, the relocatable addresses 103a and 103b correspond to the relocatable addresses 202a and 202b, respectively.

【0027】まず、プログラムロード手段102は、対
話型自動プログラミングシステム200aのヘッダ部2
01を第2のメモリ103に読み込む。このとき、ヘッ
ダ部201の先頭アドレスをAD1、最終アドレスを
(AD2−1)とする。そして、ヘッダ部201の制御
情報からリロケーション項目数を取得する。なお、ここ
ではリロケーション項目数が「2」であると仮定して説
明する。
First, the program loading means 102 uses the header section 2 of the interactive automatic programming system 200a.
01 is read into the second memory 103. At this time, the start address of the header portion 201 is AD1, and the end address thereof is (AD2-1). Then, the number of relocation items is acquired from the control information of the header section 201. Note that description will be made here assuming that the number of relocation items is “2”.

【0028】次に、プログラムロード手段102は、対
話型自動プログラミングシステム200aの実行部20
2及びライブラリ部203(以下、「ロードモジュー
ル」と呼ぶ。)を第2のメモリ103に読み込む。この
とき、実行部202の先頭アドレスをAD2とする。な
お、図4では、第2のメモリ103において、ヘッダ部
とロードモジュールとのアドレスが連続しているが、必
ずしも連続している必要はない。
Next, the program loading means 102 is the execution unit 20 of the interactive automatic programming system 200a.
2 and the library unit 203 (hereinafter referred to as “load module”) are read into the second memory 103. At this time, the start address of the execution unit 202 is AD2. In FIG. 4, the addresses of the header section and the load module are continuous in the second memory 103, but they are not necessarily continuous.

【0029】そして、実行部202の先頭アドレスAD
2とヘッダ部201のリロケータブルアドレス情報とか
ら、相対アドレスを絶対アドレスに変換するアドレス演
算を行い、第2のメモリ103上の対話型自動プログラ
ミングシステムのリロケータブルアドレスを更新する。
Then, the start address AD of the execution unit 202
2 and the relocatable address information of the header unit 201, an address operation for converting a relative address into an absolute address is performed, and the relocatable address of the interactive automatic programming system on the second memory 103 is updated.

【0030】例えば、リロケータブルアドレス情報20
1aから第2のメモリ103上のリロケータブルアドレ
ス103aを求め、リロケータブルアドレス103aの
内容に実行部202の先頭アドレスAD2を加算演算
し、結果をリロケータブルアドレス103aに格納して
更新する。同様に、リロケータブルアドレス情報201
bから第2のメモリ103上のリロケータブルアドレス
103bを求め、リロケータブルアドレス103bの内
容に実行部202の先頭アドレスAD2を加算演算し、
結果をリロケータブルアドレス103bに格納して更新
する。
For example, relocatable address information 20
The relocatable address 103a on the second memory 103 is obtained from 1a, the start address AD2 of the execution unit 202 is added to the content of the relocatable address 103a, and the result is stored in the relocatable address 103a and updated. Similarly, the relocatable address information 201
The relocatable address 103b on the second memory 103 is obtained from b, and the start address AD2 of the execution unit 202 is added to the content of the relocatable address 103b,
The result is stored in the relocatable address 103b and updated.

【0031】このようにして、リロケーション項目数に
ついて、リロケータブルアドレスのアドレス演算処理を
行う。そして、アドレス演算処理が行われた対話型自動
プログラミングシステム200aは、図3のCPU31
によって直接実行することができる。
In this way, the address arithmetic processing of the relocatable address is performed for the number of relocation items. Then, the interactive automatic programming system 200a on which the address calculation processing is performed is the CPU 31 of FIG.
Can be performed directly by.

【0032】図5は、応用プログラムのOS処理要求に
対する制御手順を示す図である。図において、OS処理
手段104は、MS−DOSシミュレータ104aと数
値制御装置OSシミュレータ104bとから構成されて
いる。対話型自動プログラミングシステム200aは応
用プログラム200の一つであり、アドレス演算して図
4の第2のメモリ103に格納されたプログラムであ
る。以下、図3のCPU31によって実行される対話型
自動プログラミングシステム200aの処理過程につい
て説明する。
FIG. 5 is a diagram showing a control procedure for the OS processing request of the application program. In the figure, the OS processing means 104 comprises an MS-DOS simulator 104a and a numerical controller OS simulator 104b. The interactive automatic programming system 200a is one of the application programs 200, and is a program stored in the second memory 103 of FIG. The process of the interactive automatic programming system 200a executed by the CPU 31 of FIG. 3 will be described below.

【0033】対話型自動プログラミングシステム200
aに含まれる処理P1が行われている過程において、M
S−DOS処理要求があった場合は、OS呼び出し処理
C1によってプログラム処理をMS−DOSシミュレー
タ104aに移行する。MS−DOSシミュレータ10
4aは、MS−DOS処理要求の内容に応じて処理I1
を行い、必要に応じて入出力機器105との入出力制御
を行う。また、処理I1が終了すると、復帰処理R1に
よって、対話型自動プログラミングシステム200aに
おいてMS−DOS処理要求の次の処理P2に移行す
る。
Interactive automatic programming system 200
In the process of performing the process P1 included in a, M
If there is an S-DOS processing request, the OS calling processing C1 shifts the program processing to the MS-DOS simulator 104a. MS-DOS simulator 10
4a processes I1 according to the content of the MS-DOS processing request.
And performs input / output control with the input / output device 105 as necessary. When the process I1 is completed, the return process R1 causes the interactive automatic programming system 200a to proceed to the process P2 subsequent to the MS-DOS process request.

【0034】ここで、MS−DOSシミュレータ104
bは、パソコンのBIOS(BasicInput Output System
)もシミュレートする。したがって、特定のパソコン
を対象とする言語処理コンパイラ等によって生成された
応用プログラム200であっても、入出力機器105と
の入出力制御を行うことができる。
Here, the MS-DOS simulator 104
b is the BIOS (Basic Input Output System) of the personal computer
) Is also simulated. Therefore, even the application program 200 generated by a language processing compiler or the like for a specific personal computer can perform input / output control with the input / output device 105.

【0035】また、処理P3が行われている過程におい
て、数値制御装置OS処理要求があった場合は、OS呼
び出し処理C2によってプログラム処理を数値制御装置
OSシミュレータ104bに移行する。数値制御装置O
Sシミュレータ104bは、数値制御装置OS処理要求
の内容に応じて処理I2を行い、CNC1との入出力制
御を行う。また、処理I2が終了すると、復帰処理R2
によって、対話型自動プログラミングシステム200a
において数値制御装置OS処理要求の次の処理P4に移
行する。
In the course of performing the process P3, if there is a numerical controller OS processing request, the OS calling process C2 shifts the program processing to the numerical controller OS simulator 104b. Numerical control device O
The S simulator 104b performs processing I2 according to the content of the numerical control device OS processing request, and performs input / output control with the CNC 1. When the process I2 ends, the return process R2
By the interactive automatic programming system 200a
In, the processing shifts to the next processing P4 of the numerical controller OS processing request.

【0036】なお、図5では、MS−DOS処理要求と
数値制御装置OS処理要求とが各々一回ずつ対話型自動
プログラミングシステム200aに含まれている場合を
示したが、実際には多数回のMS−DOS処理要求と数
値制御装置OS処理要求とが含まれている。
Although FIG. 5 shows the case where the MS-DOS processing request and the numerical controller OS processing request are included in the interactive automatic programming system 200a once, respectively, in reality, many times. The MS-DOS processing request and the numerical controller OS processing request are included.

【0037】図6は、応用プログラムを第2のメモリへ
ロードして実行する手順を示すフローチャートである。
図において、Sの後に続く数字はステップ番号を示す。 〔S1〕ヘッダ部の読み込みを行う。具体的には、図4
の対話型自動プログラミングシステム200aのヘッダ
部201を第2のメモリ103に読み込む。一般的に、
ヘッダ部201は第2のメモリ103のワークエリアに
格納される。
FIG. 6 is a flow chart showing the procedure for loading the application program into the second memory and executing it.
In the figure, the number following S indicates a step number. [S1] The header part is read. Specifically, FIG.
The header section 201 of the interactive automatic programming system 200a of FIG. Typically,
The header section 201 is stored in the work area of the second memory 103.

【0038】〔S2〕ロードモジュールのサイズを演算
する。ヘッダ部の制御情報から、次に読み込みを行うロ
ードモジュールの大きさを演算する。そして、演算され
た大きさは、数値制御装置OSへ通知し、ロードモジュ
ールをロードすべき第2のメモリ103のエリアを確保
する。
[S2] The size of the load module is calculated. The size of the load module to be read next is calculated from the control information in the header section. Then, the calculated size is notified to the numerical control device OS, and the area of the second memory 103 for loading the load module is secured.

【0039】〔S3〕リロケーション項目数の取得を行
う。ヘッダ部201の制御情報から、リロケータブルア
ドレスのアドレス演算を行う項目数を取得する。 〔S4〕ロードモジュールの読み込みを行う。ステップ
S2で確保した第2のメモリ103にロードモジュール
を格納する。
[S3] The number of relocation items is acquired. From the control information of the header part 201, the number of items for which the address calculation of the relocatable address is performed is acquired. [S4] The load module is read. The load module is stored in the second memory 103 secured in step S2.

【0040】〔S5〕リロケーションのアドレス演算を
行う。すなわち、ロードモジュールに含まれる相対アド
レスを第2のメモリ上の絶対アドレスに変換処理を行
う。具体的には、ヘッダ部201のリロケータブルアド
レス情報及びステップS4で格納したロードモジュール
の先頭アドレスから、アドレス演算を行う。
[S5] Relocation address calculation is performed. That is, the relative address included in the load module is converted into the absolute address on the second memory. Specifically, the address calculation is performed from the relocatable address information of the header section 201 and the start address of the load module stored in step S4.

【0041】〔S6〕アドレス演算が終了したか否かを
判定する。すなわち、リロケーション項目数だけステッ
プS5のアドレス演算処理が行われたか否かを判定す
る。もし、終了した(YES)ならばステップS7に進
み、終了していない(NO)ならばステップS5に戻
る。
[S6] It is determined whether the address calculation is completed. That is, it is determined whether or not the address calculation processing of step S5 has been performed by the number of relocation items. If completed (YES), the process proceeds to step S7, and if not completed (NO), the process returns to step S5.

【0042】〔S7〕実行開始アドレスの設定を行う。
具体的には、ヘッダ部201の制御情報及びステップS
4で格納したロードモジュールの先頭アドレスから、ロ
ードモジュールが実行できるように、図3のCPU31
内の所定のレジスタを設定する。
[S7] The execution start address is set.
Specifically, the control information of the header section 201 and step S
CPU 31 of FIG. 3 so that the load module can be executed from the start address of the load module stored in 4.
Set the specified register in.

【0043】〔S8〕ロードモジュールの実行を行う。
すなわち、図3のCPU31によってロードモジュール
が実行される。また、ロードモジュールに含まれるOS
処理要求に応じて、図3のOS処理手段104が処理
し、CNC1又は入出力機器105とのデータの入出力
を行う。
[S8] The load module is executed.
That is, the load module is executed by the CPU 31 of FIG. The OS included in the load module
In response to the processing request, the OS processing means 104 of FIG. 3 performs processing and inputs / outputs data to / from the CNC 1 or the input / output device 105.

【0044】したがって、パソコン300上で開発され
たバイナリ形式の対話型自動プログラミングシステム2
00aを、プログラムロード手段102が第2のメモリ
103にアドレス演算してロードし、各OS処理要求に
応じてOS処理手段104がCNC1又は入出力機器1
05とのデータの入出力を行うので、パソコン300上
で開発された対話型自動プログラミングシステム200
aを容易に数値制御装置100で実行することができ
る。
Therefore, the binary-type interactive automatic programming system 2 developed on the personal computer 300.
00a is loaded into the second memory 103 by the program loading means 102, and the OS processing means 104 responds to each OS processing request by the CNC 1 or the input / output device 1
05, the interactive automatic programming system 200 developed on the personal computer 300 is used to input and output data.
a can be easily executed by the numerical control device 100.

【0045】以上の説明では、パソコン300上で開発
された応用プログラム200は対話型自動プログラミン
グシステム200aとしたが、これに限ることなくパソ
コン300上で開発された任意の応用プログラム200
でも同様に数値制御装置100で実行することができ
る。
In the above description, the application program 200 developed on the personal computer 300 is the interactive automatic programming system 200a, but the application program 200 is not limited to this, and any application program 200 developed on the personal computer 300 can be used.
However, it can be similarly executed by the numerical control device 100.

【0046】また、OS処理手段104はCNC1及び
入出力機器105とのデータの入出力制御を行なった
が、PMC7とのデータの入出力制御を行うこともでき
る。さらに、第1のメモリは不揮発性メモリとしたが、
RAMであってもよい。同様に、第2のメモリはRAM
としたが、不揮発性メモリであってもよい。
Although the OS processing means 104 controls data input / output with the CNC 1 and the input / output device 105, it can also control data input / output with the PMC 7. Furthermore, although the first memory is a non-volatile memory,
It may be RAM. Similarly, the second memory is RAM
However, it may be a non-volatile memory.

【0047】そして、パソコンOSはMS−DOSとし
たが、OS/2(商標)等の他のパソコンOSであって
もよい。
Although the personal computer OS is MS-DOS, it may be other personal computer OS such as OS / 2 (trademark).

【0048】[0048]

【発明の効果】以上説明したように本発明では、パソコ
ン上で開発されたバイナリ形式の応用プログラムをアド
レス演算して数値制御装置の第2のメモリにロードし、
OS処理要求に応じてOS処理手段が入出力機器等との
入出力制御を行うように構成したので、パソコン上で開
発された応用プログラムを容易に数値制御装置で実行す
ることができる。
As described above, according to the present invention, the binary-format application program developed on the personal computer is subjected to the address calculation and loaded into the second memory of the numerical controller,
Since the OS processing means is configured to control the input / output with the input / output device in response to the OS processing request, the application program developed on the personal computer can be easily executed by the numerical controller.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の数値制御装置の概念図である。FIG. 1 is a conceptual diagram of a numerical controller according to the present invention.

【図2】本発明の数値制御装置の全体概略図である。FIG. 2 is an overall schematic diagram of a numerical controller according to the present invention.

【図3】本発明を実施するためのMMCのハードウェア
の概略構成図である。
FIG. 3 is a schematic configuration diagram of hardware of an MMC for implementing the present invention.

【図4】応用プログラミングを第2のメモリへロードす
る手順を示す図である。
FIG. 4 is a diagram showing a procedure for loading application programming into a second memory.

【図5】応用プログラミングのOS処理要求に対する制
御手順を示す図である。
FIG. 5 is a diagram showing a control procedure for an OS processing request of applied programming.

【図6】応用プログラミングを第2のメモリへロードし
て実行する手順を示すフローチャートである。
FIG. 6 is a flowchart showing a procedure for loading application programming into a second memory and executing the application programming.

【符号の説明】[Explanation of symbols]

1 CNC 3 MMC 100 数値制御装置 101 第1のメモリ 102 プログラムロード手段 103 第2のメモリ 104 OS処理手段 105 入出力機器 200,200a 応用プログラム 1 CNC 3 MMC 100 Numerical Control Device 101 First Memory 102 Program Loading Means 103 Second Memory 104 OS Processing Means 105 Input / Output Equipment 200, 200a Application Program

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 パソコン上で開発されたバイナリ形式の
応用プログラムを実行する数値制御装置において、 前記応用プログラムを一時的に格納する第1のメモリ
と、 前記第1のメモリに格納された前記応用プログラムを、
アドレス演算して第2のメモリに格納するプログラムロ
ード手段と、 前記応用プログラムに含まれるパソコンOS処理要求に
応じて、パソコンOSをシミュレートして、入出力機器
との入出力制御を行うOS処理手段と、 を有することを特徴とする数値制御装置。
1. A numerical controller for executing a binary format application program developed on a personal computer, comprising: a first memory for temporarily storing the application program; and the application stored in the first memory. Program
Program loading means for calculating an address and storing it in the second memory, and OS processing for simulating the personal computer OS in response to a personal computer OS processing request included in the application program and controlling input / output with the input / output device A numerical control device comprising:
【請求項2】 前記OS処理手段は、さらにマルチタス
ク・リアルタイム処理機能を有する数値制御装置OSを
シミュレートして、CNC本体を制御するように構成し
たことを特徴とする請求項1記載の数値制御装置。
2. The numerical value according to claim 1, wherein said OS processing means is configured to control a CNC main body by further simulating a numerical control device OS having a multitasking / realtime processing function. Control device.
【請求項3】 前記プログラムロード手段は、前記応用
プログラムに含まれるリロケータブルアドレスを更新し
て、前記第2のメモリに格納するように構成したことを
特徴とする請求項1記載の数値制御装置。
3. The numerical control device according to claim 1, wherein the program loading means is configured to update a relocatable address included in the application program and store the relocatable address in the second memory.
【請求項4】 前記OS処理手段は、パソコンBIOS
もシミュレートすることを特徴とする請求項1の数値制
御装置。
4. The OS processing means is a personal computer BIOS
The numerical controller according to claim 1, wherein the numerical controller also simulates.
JP32719891A 1991-12-11 1991-12-11 Numerical controller Pending JPH05158522A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32719891A JPH05158522A (en) 1991-12-11 1991-12-11 Numerical controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32719891A JPH05158522A (en) 1991-12-11 1991-12-11 Numerical controller

Publications (1)

Publication Number Publication Date
JPH05158522A true JPH05158522A (en) 1993-06-25

Family

ID=18196414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32719891A Pending JPH05158522A (en) 1991-12-11 1991-12-11 Numerical controller

Country Status (1)

Country Link
JP (1) JPH05158522A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07319531A (en) * 1994-05-27 1995-12-08 Fanuc Ltd Control program reloading system
JPH1199492A (en) * 1997-09-29 1999-04-13 Matsushita Electric Ind Co Ltd Industrial robot

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07319531A (en) * 1994-05-27 1995-12-08 Fanuc Ltd Control program reloading system
JPH1199492A (en) * 1997-09-29 1999-04-13 Matsushita Electric Ind Co Ltd Industrial robot

Similar Documents

Publication Publication Date Title
JP2883784B2 (en) Microcomputer
JPS60262204A (en) Programmable controller
JPH05158522A (en) Numerical controller
CA1155231A (en) Pipelined digital processor arranged for conditional operation
JPH0410081B2 (en)
JP3480957B2 (en) Memory programming equipment
JPH07129207A (en) Numerical control system
JP2513142B2 (en) Program simulator device
JPS6225213B2 (en)
JP2899009B2 (en) Information processing device
JP2510691B2 (en) Arithmetic processing method
JPH07234714A (en) Numerical controller
JPH03113562A (en) Compact industrial computer
JP2941807B2 (en) Data processing apparatus and method
JPS5949609A (en) Programmable controller equipped with simulation performing function
JPH1021191A (en) Command history managing device for information processor
JPH07253876A (en) Program generating device
JP2897748B2 (en) Keyboard device
JPS6247706A (en) Numerical controller
JP3260788B2 (en) Robot control device and method
JPS63310003A (en) Sequence control system
JPH0546220A (en) Numerical controller
JPH0588722A (en) Numerical controller
JPH07120172B2 (en) Programmable controller
JPH0895610A (en) Programmable controller