JP2004252844A - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
JP2004252844A
JP2004252844A JP2003044302A JP2003044302A JP2004252844A JP 2004252844 A JP2004252844 A JP 2004252844A JP 2003044302 A JP2003044302 A JP 2003044302A JP 2003044302 A JP2003044302 A JP 2003044302A JP 2004252844 A JP2004252844 A JP 2004252844A
Authority
JP
Japan
Prior art keywords
sequence
sequence program
address
physical address
program
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
JP2003044302A
Other languages
English (en)
Inventor
Noritake Nagashima
範武 長島
Satoru Hasegawa
哲 長谷川
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 JP2003044302A priority Critical patent/JP2004252844A/ja
Priority to EP04250868A priority patent/EP1450226A3/en
Priority to US10/780,588 priority patent/US20040167658A1/en
Priority to CNA2004100046393A priority patent/CN1523494A/zh
Publication of JP2004252844A publication Critical patent/JP2004252844A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • 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/13Plc programming
    • G05B2219/13114Use of relative addresses for program
    • 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/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36244Means, use of tables, correlating functions to instructions

Abstract

【課題】シーケンスプログラムの作成、変更が容易な数値制御装置を得る。
【解決手段】信号の種類及び/又はアドレスによってグループ分けする。シーケンスプログラム毎に各グループ番号に対応させて先頭物理アドレスを記憶するアドレステーブルAT1−1,AT2−2を設ける。プログラムのオブジェクトコード30は、命令コードとグループ番号とオフセットアドレスで構成する。オブジェクトコード30が読み込まれると、命令グループ番号の先頭物理アドレスをプログラムに対応するテーブルより読み出す。この先頭物理アドレスにオフセットアドレスを加算し、信号の物理アドレス31を求め命令コードの処理を行う。プログラム毎にアドレステーブルがあり、物理アドレスが異なるから、複数のプログラムにおいて共通する部分は、1つのみプログラムを作成すればよい。ハードウエアが変更されてもアドレステーブルを変更するだけでよい。
【選択図】 図5

Description

【0001】
【発明の属する技術分野】
本発明は、シーケンスプログラムを実行するシーケンス制御部を内蔵した数値制御装置に関する。
【0002】
【従来の技術】
数値制御装置に内蔵するシーケンス制御部では、シーケンスプログラムを実行することで、数値制御装置の数値制御部による制御のM機能(機械の運動の補助機能)、T機能(工具指定機能)、および機械の周辺機器(ワークローダー、ATC(自動工具交換装置)など)の制御を行っている。
【0003】
近年の機械の高機能化に伴い、シーケンスプログラムの容量はますます増加する傾向にある。シーケンスプログラムに、新たな周辺機器を追加するための制御プログラムや、機械を自動化するための制御プログラムを追加することも多く、シーケンスプログラムが大規模となり、その保守、管理が困難になってきている。これらの問題を解決するために、近年では、機械の基本部分を制御するためのシーケンスプログラムと、追加周辺機器を制御するためのシーケンスプログラムを別々に作成し、これらの複数のシーケンスプログラムを、別々の用意された信号メモリ領域を使用して、並行して実行することで、シーケンスプログラムの保守を容易にする試みがある。それぞれのシーケンスプログラムで使用する信号を別々のメモリ領域に用意し使用することで、一方のシーケンスプログラムの修正の影響が他方のシーケンスプログラムに及んでしまうことを防止することを可能としたので、シーケンスプログラムの保守上、非常にメリットがある。
【0004】
【発明が解決しようとする課題】
シーケンスプログラムには、信号メモリの値の読み出し、書き込み、論理演算、数値演算等を行う命令などがある。このような命令のオブジェクトコードは、「命令コード」+「信号メモリアドレス情報」で構成される。「信号メモリアドレス情報」には、シーケンス制御部の信号メモリ中の各信号の物理アドレスと1対1に対応する情報が記録されている。このため、ひとつのシーケンス制御部で、複数のシーケンスプログラムを、それぞれ別々に用意された信号メモリ領域を使用して実行する場合、例えば、信号メモリ領域M1の信号を使用してシーケンスプログラムP1を実行し、信号メモリ領域M2を使用してシーケンスプログラムP2を実行するためには、シーケンスプログラムP1のオブジェクトコード中の「信号メモリアドレス情報」には、信号メモリ領域M1の各信号の物理アドレスと1対1に対応する情報を、シーケンスプログラムP2のオブジェクトコード中の「信号メモリアドレス情報」には、信号メモリ領域M2の各信号の物理アドレスと1対1に対応する情報を記録する必要がある。
【0005】
信号メモリ領域M1,M2内のそれぞれの各信号のアドレス配置は信号メモリ領域M1とM2で異なる場合がある。図11は、信号メモリ領域M1,M2における信号への配置の一例である。信号メモリ領域M1においては、I/Oデバイスからの入力信号X0〜X127に対しては、「20000000H〜2000007fH」が割り当てられ、I/Oデバイスからの出力信号Y0〜Y127に対しては、「20001000H〜2000107fH」が割り当てられ、I/Oデバイスからの入力信号X200〜X455に対しては、「20002000H〜200020ffH」が割り当てられている。
【0006】
一方、信号メモリ領域M2においては、I/Oデバイスからの入力信号X0〜X127に対しては、「30000000H〜3000007fH」が割り当てられ、I/Oデバイスからの出力信号Y0〜Y127に対しては、「40001000H〜4000107fH」が割り当てられ、I/Oデバイスからの入力信号X200〜X455に対しては、「50001000H〜500010ffH」が割り当てられている。
【0007】
このように、信号の種類及び信号のアドレスによって、信号アドレス領域のアドレス配置が異なる場合がある。このため、シーケンスプログラムP1と、シーケンスプログラムP2のオブジェクトコードを作成する場合には、それぞれの信号メモリ領域M1とM2の各信号の物理アドレス情報に基づいて、別々に「信号メモリアドレス情報」をもつオブジェクトコードを作成する必要があった。
【0008】
また、シーケンス制御部のハードウェアの変更などにより、各信号メモリ領域内の各信号の物理アドレスを変更するには、変更された物理アドレスマップに基づいたオブジェクトコードを新規に作成する必要があり、物理アドレスの変更前のオブジェクトコードと、変更後のオブジェクトコードのバイナリ互換性が保てなかった。
そこで、本発明の目的は、シーケンスプログラムの作成、変更を容易とする数値制御装置を提供することにある。
【0009】
【課題を解決するための手段】
本願請求項1に係わる発明は、シーケンスプログラムを実行するシーケンス制御部を内蔵した数値制御装置において、前記シーケンス制御部は、複数のシーケンスプログラムの中から実行するシーケンスプログラムを順番に切替える手段と、前記シーケンスプログラムで取扱う信号がグループ分けされ、該グループを特定する情報とそのグループの先頭物理アドレスとを夫々関連付けて記録した前記シーケンスプログラム毎のテーブルと、前記シーケンスプログラム切替えの際に、次に実行されるシーケンスプログラムに対応した前記テーブルを選択する手段と、シーケンスプログラムのオブジェクトコード中に指定されたグループ特定情報及びグループの先頭物理アドレスからのオフセットアドレスと前記選択テーブルに基づいて、対象となる信号の物理アドレスを求めてアクセスし命令を実行する手段とを備えたことを特徴とするものである。
【0010】
又、請求項2に係わる発明は、シーケンスプログラムを実行するシーケンス制御部を内蔵した数値制御装置において、前記シーケンス制御部は、複数のシーケンスプログラムの中から実行するシーケンスプログラムを順番に切替える手段と、前記シーケンスプログラムで取扱う信号が信号の種類毎または信号のアドレス範囲毎にグループ分けされ、該グループ特定情報とそのグループの先頭物理アドレスとを夫々関連付けて記憶した前記シーケンスプログラム毎のテーブルと、前記シーケンスプログラムのオブジェクトコード中に指定された前記グループ特定情報と前記選択テーブルに基づいてグループの先頭物理アドレスを求める手段と、該求めた先頭物理アドレスと前記オブジェクトコード中に指定されたグループの先頭物理アドレスからのオフセットアドレスに基づき対象となる信号の物理アドレスを算出する手段と、該算出した対象となる信号の物理アドレスにアクセスし命令を実行する手段とを備えるものである。
【0011】
請求項3に係わる発明は、シーケンスプログラムを実行するシーケンス制御部を内蔵した数値制御装置において、前記シーケンス制御部は、前記シンボル情報とその物理アドレスとを夫々関連付けて記録したテーブルを備え、シーケンスプログラムのオブジェクトコード中に指定されたシンボル情報と前記テーブルに基づいて、対象となる信号の物理アドレスを求めてアクセスし命令を実行することを特徴とするものである。
請求項4に係わる発明は、シーケンスプログラムを実行するシーケンス制御部を内蔵した数値制御装置において、前記シーケンス制御部は、複数のシーケンスプログラムの中から実行するシーケンスプログラムを順番に切替える手段と、前記シンボル情報とその物理アドレスとを夫々関連付けて記録した前記シーケンスプログラム毎のテーブルを備え、前記シーケンスプログラム切替えの際に、次に実行されるシーケンスプログラムに対応した前記テーブルを選択する手段と、
シーケンスプログラムのオブジェクトコード中に指定されたシンボル情報と前記選択テーブルに基づいて、対象となる信号の物理アドレスを求めてアクセスし命令を実行するようにしたものである。
【0012】
又、請求項5に係わる発明は、シーケンスプログラムを実行するシーケンス制御部を内蔵した数値制御装置において、前記シーケンス制御部は、複数のシーケンスプログラムの中から実行するシーケンスプログラムを順番に切替える手段と、前記シーケンスプログラムで取扱う信号の種類毎または信号のアドレス範囲毎にグループ分けされ、該グループ特定情報とそのグループの先頭物理アドレスとを夫々関連付けて記憶した前記シーケンスプログラム毎のテーブル及びシンボル情報とその物理アドレスとを夫々関連付けて記録した前記シーケンスプログラム毎のテーブルを備え、前記オブジェクトコード中に指定された前記グループ特定情報と前記選択テーブルに基づいてグループの先頭物理アドレスを求める手段と、該求めた先頭物理アドレスと前記オブジェクトコード中に指定された前記オフセットアドレスに基づき対象となる信号の物理アドレスを求める手段と、
シーケンスプログラムのオブジェクトコード中に指定されたシンボル情報と前記選択テーブルに基づいて、対象となる信号の物理アドレスを求める手段と、
求められた信号の物理アドレスにアクセスし命令を実行する手段とを備えるものである。
【0013】
そして、請求項6に係わる発明は、前記シーケンスプログラムを順番に切替える手段を、設定された時間が経過する毎に切替えるものとした。さらに、請求項7に係わる発明は、前記シーケンス制御部に、前記シーケンスプログラムに指定されたテーブル選択命令に従って、前記テーブルを選択する手段を備えるものとした。
【0014】
【発明の実施の形態】
図1は、本発明の一実施形態の数値制御装置の要部ブロック図である。数値制御装置の数値制御部10のプロセッサ11には、数値制御部を制御する制御ソフトウェアを格納するRAM12、ワークRAM13がバス14で接続されている。なお、制御する機械の軸を駆動するサーボモータを制御する軸制御手段等も接続されているが図1では図示していない。
【0015】
又、シーケンス制御部20の、プロセッサ21には、該シーケンス制御部20を制御する制御ソフトウェアを格納するRAM22、RAMで構成され各種シーケンスプログラムを格納するプログラムメモリ23、信号メモリ(RAM)24、ワークRAM25、各種タイマ26,機械や周辺機器に接続される入出力ディバイス27がバス28で接続されている。なお、バス14とバス28はバス15で接続されている。
【0016】
プログラムメモリ23には、各種シーケンスプログラムが格納されているが、この実施形態では説明を簡単にするために、シーケンスプログラム1とシーケンスプログラム2が格納されているものとして以下説明する。
信号メモリ(RAM)24には、各シーケンスプログラム毎に分けられ、かつ、シーケンスプログラムで取扱う信号及び/又は信号のアドレス範囲毎にグループ分けがされている。図2はこの信号のグループ分けの説明図である。まずシーケンスプログラム1用とシーケンスプログラム2用にまず分けられ、かつ信号の種類X,Y,F,G等に分けられると共に、信号のアドレス範囲毎にもグループ分けされている。図2に示す例では、I/Oデバイスからの入力信号を意味する信号Xのアドレス「0000」〜「0127」がグループ番号0,信号Xでアドレスが「0200」〜「0327」のものをグループ番号1と分けられている。
【0017】
同様に、グループ番号2はI/Oデバイスへの出力信号Yのアドレス「0000」〜「0127」、グループ番号3は「Y0200」〜「Y0327」、グループ番号4は、数値制御部10からの入力信号の「F0000」〜「F0767」、グループ番号5は、数値制御部10からの入力信号の「F1000」〜「F1767」、グループ番号6は、数値制御部10への出力信号の「G0000」〜「G0767」、グループ番号7は、数値制御部10への出力信号の「G1000」〜「G1767」と、信号の種類毎でかつアドレス範囲毎にグループ分けされている。
【0018】
以上のように、信号のグループ化は、信号の種類によって信号メモリ領域内でのアドレス配置位置が異なること、及び同一の信号種類でもアドレスの違いによってその配置が異なること(図11における信号Xの場合等)より、信号メモリ領域内で、信号のアドレス配置が異なる単位、及び物理アドレスが変更される可能性がある信号単位毎にグループ化されている。
【0019】
ワークRAM25には、後述する複数のシーケンスプログラムを少しずつ実行させるための実行時間が設定記憶されている。又、後述する利用するアドレステーブル番号も記憶されるようになっている。そして、シーケンスプログラム1用のアドレステーブルAT1、シーケンスプログラム2用のアドレステーブルAT2が記憶されている。このアドレステーブルAT1,AT2は信号のグループに対するものAT1−1,AT2−1とシーケンスプログラム中のオブジェクトコード中に指定されるシンボル情報に対するものAT1−2,AT2−2がある。
【0020】
図3は、この信号のグループに対するアドレステーブルAT1−1,AT2−1の一例を示す図である。シーケンスプログラム1に対するアドレステーブルAT1−1では、グループ番号0に対して先頭物理アドレスが「20000000h」と設定されており、以下、各グループ番号毎にそれぞれ「1000h」増加した先頭物理アドレスが図3に示すように設定されている。
【0021】
又、シーケンスプログラム2に対するアドレステーブルAT2−1では、グループ番号0に対して先頭物理アドレスが「20008000h」と設定されており、各グループ番号毎にそれぞれ「1000h」増加した先頭物理アドレスが図3に示すように設定されている。このように、シーケンスプログラム1に対するアドレステーブルAT1−1とシーケンスプログラム2に対するアドレステーブルAT2−1では同一のグループ番号に対して異なった先頭物理アドレスが設定されている。
【0022】
図4は、シンボル情報に対するアドレステーブルAT1−2,AT2−2の一例である。「非常停止情報」に対しては、シーケンスプログラム1用のアドレステーブルAT1−2には物理アドレス「20008008h」が設定され、シーケンスプログラム2用のアドレステーブルAT2−2には「30008008h」の物理アドレスが設定されている。同様に、同一のシンボル情報に対してシーケンスプログラム1用のアドレステーブルAT1−2と、シーケンスプログラム2用のアドレステーブルAT2−2では、異なった物理アドレスが設定されている。
【0023】
図5、図6は、本実施形態において信号の物理アドレスを求める処理原理の説明図である。図5は、グループ番号を有する指令の場合であり、図6はシンボル情報による命令の場合の説明図である。まず、図5に示すグループ番号を有する指令に対する処理について説明する。
符号30は、シーケンスプログラムにおけるグループ番号を伴う指令のオブジェクトコードフォーマットであり、命令コードとグループ番号及びグループの先頭物理アドレスからのオフセットアドレス量を表すオフセットアドレスで構成されている。すなわち、従来の「信号メモリアドレス情報」が、「グループ番号」と「オフセットアドレス」で構成されている。このフォーマットによる命令が読み込まれると、グループ番号と、予めシーケンスプログラムを実行する前に設定されているアドレステーブル番号より、アドレステーブルを指定し、そのアドレステーブルに設定されているグループ番号に対する先頭物理アドレスを読み出し、この先頭物理アドレスに命令されたオフセットアドレスを加算して、信号の物理アドレス31を求め、命令コードで命令されている処理(読み出し、書き込み、論理演算、数値演算等)を実行する。
【0024】
命令コード、グループ番号、オフセットアドレスが同一でも、すなわち、命令のオブジェクトコードが同一でも、アドレステーブルが異なると、グループ番号に対して設定されている先頭物理アドレスが異なることから、同一のオフセットアドレスを加算したとしても求められる信号の物理アドレス31は異なったものとなる。すなわち、シーケンスプログラムによって指定するアドレステーブルを変えることによって、指定される実際の物理アドレスが異なるものとなるから、シーケンスプログラムを変更することなく、複数の周辺機器等をシーケンス制御できることになる。
【0025】
例えば、命令コードとして「X0000」をリード、グループ番号が「0」とし、オフセットアドレスが「0」のオブジェクトコードが指令されているとする。なお、グループ番号「0」に属する信号Xの先頭のアドレスは「0000」であり、このアドレスが先頭物理アドレスに対応するものであるから、オフセットアドレスは「0」として設定されている。
【0026】
そして、アドレステーブル番号が「1」が指定されているとすれば、アドレステーブルAT1−1からグループ番号「0」の先頭物理アドレス「20000000h」が読み出され、この先頭物理アドレス「20000000h」にオフセットアドレス「0」が加算されて信号の物理アドレス「20000000h」が求められ、このアドレスの情報が読み出されることになる。
【0027】
一方、アドレステーブル番号が「2」が指定されているとすれば、アドレステーブルAT2−1からグループ番号「0」の先頭物理アドレス「20008000h」が読み出され、これにオフセットアドレス「0」が加算されて信号の物理アドレス「20008000h」が求められ、このアドレスの情報が読み出されることになる。アドレステーブル番号の指定を変えることによって同一のオブジェクトコードの指令でも異なった物理アドレスに対して処理がなされることになる。
【0028】
又、図6は、シンボル情報によるオブジェクトコードの命令の場合の動作説明図である。符号32はシンボル情報によるオブジェクトコードのフォーマットで、命令コードとシンボル情報からなる。すなわち、従来の「信号メモリアドレス情報」が「シンボル情報」で構成されることになる。このようなオブジェクトコードの命令が読み込まれたとき、予め設定されているアドレステーブル番号に基づいてアドレステーブルを決定し、このアドレステーブルに設定されているシンボル情報に対する物理アドレスを読み取り、この読み取った物理アドレスが信号の物理アドレス31となり、命令コードの処理(読み込み、書き込み、論理演算等)がなされることになる。
【0029】
例えば、シンボル情報が「EMERGENCY STOP」(非常停止)で、書き込み命令であると、アドレステーブル番号1が設定されていれば、アドレステーブルAT1−2より、物理アドレス「20008008h」が読み出され、この物理アドレスに非常停止の情報が書き込まれることになる。又、アドレステーブル番号2設定されていれば、アドレステーブルAT2−2より、物理アドレス「30008008h」が読み出され、この物理アドレスに非常停止の情報が書き込まれることになる。
【0030】
アドレステーブルを変えることによって、同一オブジェクトコードの命令に対しても異なった物理アドレスを指定して処理することができるので、2つの周辺機器を制御するような場合、各々周辺機器を制御するシーケンスプログラムに対応させてアドレステーブルを用意しておけば、各シーケンスプログラムに同一のオブジェクトコードの命令があったとしても、物理アドレスは区別されて処理がなされるから、同時に並行してシーケンス制御を行っても混乱は生じない。
【0031】
図7は、本発明の第1の実施形態のシーケンス制御部のプロセッサ21が実施する処理のフローチャートである。この第1の実施形態では、シーケンスプログラム1及び2を交互に実行するものである。
処理が開始されると、まず、アドレステーブル番号を「1」に設定する(ステップ100)。次に、この設定されたアドレステーブル番号を「1」に対応する、図3,図4に示したアドレステーブルAT1−1,AT1−2が選択され、このテーブルAT1−1,AT1−2 に基づいて物理アドレスを決定し、シーケンスプログラム1の各命令をプログラム終了まで、順次実行する(ステップ101,102)。
【0032】
シーケンスプログラム1をプログラム終了まで実行すると、次にアドレステーブル番号を「2」に設定し(ステップ103)、この設定されたアドレステーブル番号を「2」に対応する、図3,図4に示したアドレステーブルAT2−1,AT2−2を選択し、このテーブルAT2−1,AT2−2 に基づいて物理アドレスを決定し、シーケンスプログラム2の各命令をプログラム終了まで、順次実行する(ステップ104,105)。そしてプログラム終了まで実行すると、再びステップ100に戻り前述した処理を行うことになる。以下、シーケンスプログラム1及び2を交互に実行することになる。交互にシーケンスプログラム1及び2を実行しても、各シーケンスプログラムで用いる信号メモリ領域(信号の物理アドレス)が異なるから、これらシーケンスプログラムで制御される機器の動作制御が誤ることはない。
【0033】
図8は、本発明の第2の実施形態として、シーケンス制御部20のプロセッサ21が実施する処理のフローチャートである。この第2の実施形態では、シーケンスプログラム1及び2を設定された実行時間毎交互に実行し、シーケンスプログラムを少しずつ実行するようにしたものである。
【0034】
まず、アドレステーブル番号を「1」にセットし(ステップ200)、予め設定されているプログラム実行時間をタイマにセットして起動させ(ステップ201)、設定されたアドレステーブル番号を「1」に対応する、図3,図4に示したアドレステーブルAT1−1,AT1−2を用いて、シーケンスプログラム1用の実行ポインタで示されるシーケンスプログラム1における1命令を実行する。そして実行ポインタを「1」インクリメントする(ステップ202)。なお、この実行ポインタ及び後述するシーケンスプログラム2用の実行ポインタは、電源が投入されたときの初期設定で最初は「0」が設定されている。又、プログラム終了が読み込まれたときにはこの実行ポインタは「0」にリセットされる。
【0035】
そして、プログラム終了の指令が読み込まれたか判断し(ステップ203)、プログラム終了でなければ、タイマが設定時間経過したか判断し(ステップ204)、タイムアップしていなければステップ202に戻り、前述した処理を実行する。
タイマが設定時間を計時してタイムアップすると、アドレステーブル番号を「2」にセットし(ステップ205)、タイマにプログラム実行時間をセットして起動させ(ステップ206)、設定されたアドレステーブル番号を「2」に対応する、図3,図4に示したアドレステーブルAT2−1,AT2−2を用いて、シーケンスプログラム2用の実行ポインタで示されるシーケンスプログラム2における1命令を実行する。そして実行ポインタを「1」インクリメントする(ステップ207)。そして、プログラム終了か判断し(ステップ208)、終了でなければ、タイマがタイムアップしたか判断し(ステップ209)、プログラムが終了するかタイマがタイムアップするまでステップ207〜209の処理を繰り返し実行し、シーケンスプログラム2の命令を順次実行する。
【0036】
タイマがタイムアップすると、ステップ200に戻り、前述した処理ステップ200以下の処理を実行する。以下、設定されたプログラム実行時間単位でシーケンスプログラム1とシーケンスプログラム2が交互に少しずつ並行して実行されることになる。
この第2の実施形態において、シーケンスプログラム1,2が所定時間間隔で少しずつ実行されたとしても、信号メモリ領域(信号の物理アドレス)は、シーケンスプログラム1と2では異なるから、誤った制御がなされることはない。
【0037】
図9は、本発明の第3の実施形態である。この第3の実施形態は上述した第2の実施形態と比較して、シーケンスプログラム中にテーブル切替命令を入れておくことにより、テーブルの切替を可能にしたものである。これによって、シーケンスプログラム1とシーケンスプログラム2間の情報の交換等を可能にしたものである。
【0038】
まず、プログラム1用のテーブル番号記憶メモリに設定されている番号をアドレステーブル番号にセットする(ステップ300)。なお、プログラム1用のテーブル番号記憶メモリには、電源投入時の初期設定で、自己のテーブル番号が設定されている。すなわちシーケンスプログラム1には番号「1」がシーケンスプログラム2用には番号「2」が設定されている。
【0039】
次に、予め設定されているプログラム実行時間をタイマにセットして起動させる(ステップ301)。そして、設定されたアドレステーブル番号(最初は「1」)に対応する、図3,図4に示したアドレステーブルを用いて、シーケンスプログラム1用の実行ポインタで示されるシーケンスプログラム1における1命令を実行し、実行ポインタを「1」インクリメントする(ステップ302)。実行ポインタは前述したように電源が投入されたときの初期設定で最初は「0」が設定され、プログラム命令が実行される毎に「1」インクリメントされ、プログラム終了が読み込まれたときには「0」にリセットされる。
【0040】
次に、読み出された命令がテーブル切替命令かを判断し(ステップ303)、テーブル切替命令でなければ、プログラム終了の指令が読み込まれたか判断し(ステップ305)、プログラム終了でなければ、タイマが設定時間経過したか判断し(ステップ306)、タイムアップしていなければステップ302に戻り、前述した処理を実行する。
【0041】
又、テーブル切替命令が読み込まれると、このテーブル切替命令で指定されている番号をテーブル番号に設定し、かつ、プログラム1用のテーブル番号記憶メモリにこの指定された番号を記憶する(ステップ304)。この実施形態では、2つのアドレステーブルしかなく、現在指定しているテーブル番号は「1」であると、テーブル切替命令によってテーブル番号は「2」に設定されることになる。その結果、プログラム終了になるか(ステップ305)、タイマが設定時間を計時してタイムアップするまでは(ステップ306)、ステップ302での命令の実行は、切替られたアドレステーブルを用いて行われることになる。
【0042】
タイマが設定時間を計時してタイムアップすると、プログラム2用のテーブル番号記憶メモリに設定されている番号をアドレステーブル番号にセットする(ステップ307)。この実施形態の場合、「2」にセットされる。そして、タイマにプログラム実行時間をセットして起動する(ステップ308)。次に、設定されたアドレステーブル番号(「2」)に対応する、アドレステーブル(AT2−1,AT2−2)を用いて、シーケンスプログラム2用の実行ポインタで示されるシーケンスプログラム2における1命令を実行し、実行ポインタを「1」インクリメントする(ステップ309)。次に、読み出された命令がテーブル切替命令かを判断し(ステップ310)、テーブル切替命令でなければ、プログラム終了の指令が読み込まれたか(ステップ312)、プログラム終了でなければ、タイマが設定時間経過したか判断し(ステップ313)、タイムアップしていなければステップ309に戻り、前述した処理を実行する。
【0043】
又、テーブル切替命令が読み込まれると(ステップ310)、このテーブル切替命令で指定されている番号をテーブル番号に設定し、かつ、プログラム2用のテーブル番号メモリにこの指定された番号を記憶する。以後は、再びシーケンスプログラム2よりテーブル切替指令が読み込まれない限り、この切替えられたテーブル番号のアドレステーブルを用いて処理されることになる。
【0044】
タイマがタイムアップすると、ステップ300に戻り、前述した処理ステップ200以下の処理を実行するが、この場合、ステップ303でテーブル切替指令が読み込まれた後では、プログラム2用のテーブル番号メモリに記憶する番号は切替られているものであるから、その切替えられた番号がテーブル番号に設定されこの切替えられた番号のアドレステーブルに基づいて処理が実行されることになる。
【0045】
この第3の実施形態では、シーケンスプログラム1はアドレステーブルAT1−1,AT1−2に基づいて、シーケンスプログラム2はアドレステーブルAT2−1,AT2−2に基づいて、各プログラムに対する独自の異なる物理アドレスを用いてプログラム命令を実行しているとき、テーブル切替指令によって、シーケンスプログラム1がシーケンスプログラム2の物理アドレスをリードしたりライトしたりすることができる。逆にシーケンスプログラム2がシーケンスプログラム1の物理アドレスをリードしたりライトしたりすることができる。これにより、シーケンスプログラム1,2によって、並行して実行している相手の動作処理を監視したり、待ち合わせ等の動作をさせることができる。
【0046】
また、数値制御部10が複数の系統を制御する多系統制御を実行するような場合には、系統毎のアドレステーブルを設けて、テーブル切替をおこなって、同一のシーケンスプログラムを実行させるようにする。例えば、シーケンスプログラム1を系統毎に実施させたい場合、系統a,b,c・・毎にアドレステーブルAT1−1a,AT1−1b,AT1−1c,AT1−2a,AT1−2b,AT1−2c・・を設けておき、アドレステーブルT1−1a,T1−2aに切替えて系統aに対してシーケンスプログラム1を実行した後、テーブル切替指令でアドレステーブルT1−1b,T1−2bに切替えて系統bに対してシーケンスプログラム1を実行させ、終了後、テーブル切替指令でアドレステーブルT1−1c,T1−2cに切替えて系統cに対してシーケンスプログラム1を実行させるようにする。このように、アドレステーブルを切り替えるだけで複数の系統に対して同一の動作を実行させることができる。
又、シーケンス制御部のハードウェアの変更などにより、各信号メモリ領域内の各信号の物理アドレスを変更するには、アドレステーブルを変更するだけで、対応でき、システムの変更、拡充が容易となる。
【0047】
【発明の効果】
本発明により、異なったシーケンスプログラムにおいてオブジェクトコードが同一でも、異なった信号メモリ領域で実行可能なため、各信号の物理アドレス情報をオブジェクトコード中に直接記録する必要がない。オブジェクトコードは信号の物理アドレスに依存しないものとなるため、異なったシーケンスプログラムにおいて共通する部分は、同一のシーケンスプログラムでよく、プログラマの開発工数が軽減できる。また異なった信号メモリの物理アドレスマップを持つハードウェア毎に、シーケンスプログラムのオブジェクトコードを作成する必要がなく、プログラマの開発工数が軽減できる。
【図面の簡単な説明】
【図1】本発明の一実施形態の数値制御装置の要部ブロック図である。
【図2】同実施形態における信号のグループ分けの説明図である。
【図3】同実施形態におけるアドレステーブルの一例を示す図である。
【図4】同実施形態におけるシンボル情報に対するアドレステーブルの一例の説明図である。
【図5】同実施形態におけるグループ番号に基づく信号の物理アドレスを求める処理原理の説明図である。
【図6】同実施形態におけるシンボル情報による命令に対する物理アドレスを求める処理原理の説明図である。
【図7】第1の実施形態におけるシーケンス制御部のプロセッサが実施する処理のフローチャートである。
【図8】第2の実施形態におけるシーケンス制御部のプロセッサが実施する処理のフローチャートである。
【図9】第3の実施形態におけるシーケンス制御部のプロセッサが実施する処理のフローチャートである。
【図10】第3の実施形態におけるシーケンス制御部のプロセッサが実施する処理のフローチャートの続きである。
【図11】信号に対して割り当てられた物理アドレス領域の説明図である。
【符号の説明】
10 数値制御部
20 シーケンス制御部
14,15,28 バス
AT1−1,AT2−1,AT1−2,AT2−2, アドレステーブル
30 オブジェクトコードフォーマット

Claims (7)

  1. シーケンスプログラムを実行するシーケンス制御部を内蔵した数値制御装置において、
    前記シーケンス制御部は、
    複数のシーケンスプログラムの中から実行するシーケンスプログラムを順番に切替える手段と、
    前記シーケンスプログラムで取扱う信号がグループ分けされ、該グループを特定する情報とそのグループの先頭物理アドレスとを夫々関連付けて記録した前記シーケンスプログラム毎のテーブルと、
    前記シーケンスプログラム切替えの際に、次に実行されるシーケンスプログラムに対応した前記テーブルを選択する手段と、
    シーケンスプログラムのオブジェクトコード中に指定されたグループ特定情報及びグループの先頭物理アドレスからのオフセットアドレスと前記選択テーブルに基づいて、対象となる信号の物理アドレスを求めてアクセスし命令を実行する手段とを備えたことを特徴とする数値制御装置。
  2. シーケンスプログラムを実行するシーケンス制御部を内蔵した数値制御装置において、
    前記シーケンス制御部は、
    複数のシーケンスプログラムの中から実行するシーケンスプログラムを順番に切替える手段と、
    前記シーケンスプログラムで取扱う信号が信号の種類毎または信号のアドレス範囲毎にグループ分けされ、該グループ特定情報とそのグループの先頭物理アドレスとを夫々関連付けて記憶した前記シーケンスプログラム毎のテーブルと、
    前記シーケンスプログラムのオブジェクトコード中に指定された前記グループ特定情報と前記選択テーブルに基づいてグループの先頭物理アドレスを求める手段と、
    該求めた先頭物理アドレスと前記オブジェクトコード中に指定されたグループの先頭物理アドレスからのオフセットアドレスに基づき対象となる信号の物理アドレスを算出する手段と、
    該算出した対象となる信号の物理アドレスにアクセスし命令を実行する手段とを備えたことを特徴とする数値制御装置。
  3. シーケンスプログラムを実行するシーケンス制御部を内蔵した数値制御装置において、
    前記シーケンス制御部は、
    前記シンボル情報とその物理アドレスとを夫々関連付けて記録したテーブルを備え、
    シーケンスプログラムのオブジェクトコード中に指定されたシンボル情報と前記テーブルに基づいて、
    対象となる信号の物理アドレスを求めてアクセスし命令を実行することを特徴とする数値制御装置。
  4. シーケンスプログラムを実行するシーケンス制御部を内蔵した数値制御装置において、
    前記シーケンス制御部は、
    複数のシーケンスプログラムの中から実行するシーケンスプログラムを順番に切替える手段と、
    前記シンボル情報とその物理アドレスとを夫々関連付けて記録した前記シーケンスプログラム毎のテーブルを備え、
    前記シーケンスプログラム切替えの際に、次に実行されるシーケンスプログラムに対応した前記テーブルを選択する手段と、
    シーケンスプログラムのオブジェクトコード中に指定されたシンボル情報と前記選択テーブルに基づいて、対象となる信号の物理アドレスを求めてアクセスし命令を実行することを特徴とする数値制御装置。
  5. シーケンスプログラムを実行するシーケンス制御部を内蔵した数値制御装置において、
    前記シーケンス制御部は、
    複数のシーケンスプログラムの中から実行するシーケンスプログラムを順番に切替える手段と、
    前記シーケンスプログラムで取扱う信号の種類毎または信号のアドレス範囲毎にグループ分けされ、該グループ特定情報とそのグループの先頭物理アドレスとを夫々関連付けて記憶した前記シーケンスプログラム毎のテーブル及びシンボル情報とその物理アドレスとを夫々関連付けて記録した前記シーケンスプログラム毎のテーブルを備え、
    前記オブジェクトコード中に指定された前記グループ特定情報と前記選択テーブルに基づいてグループの先頭物理アドレスを求める手段と、
    該求めた先頭物理アドレスと前記オブジェクトコード中に指定された前記オフセットアドレスに基づき対象となる信号の物理アドレスを求める手段と、
    シーケンスプログラムのオブジェクトコード中に指定されたシンボル情報と前記選択テーブルに基づいて、対象となる信号の物理アドレスを求める手段と、
    求められた信号の物理アドレスにアクセスし命令を実行する手段とを備えたことを特徴とする数値制御装置。
  6. シーケンスプログラムを順番に切替える手段は、設定された時間が経過する毎に切替える請求項1、請求項2、請求項4又は請求項5に記載の数値制御装置。
  7. 前記シーケンス制御部は、前記シーケンスプログラムに指定されたテーブル選択命令に従って、前記テーブルを選択する手段とを備える、請求項1、請求項2、請求項4又は請求項5に記載の数値制御装置。
JP2003044302A 2003-02-21 2003-02-21 数値制御装置 Pending JP2004252844A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2003044302A JP2004252844A (ja) 2003-02-21 2003-02-21 数値制御装置
EP04250868A EP1450226A3 (en) 2003-02-21 2004-02-18 Numerical controller
US10/780,588 US20040167658A1 (en) 2003-02-21 2004-02-19 Numerical controller
CNA2004100046393A CN1523494A (zh) 2003-02-21 2004-02-20 数字控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003044302A JP2004252844A (ja) 2003-02-21 2003-02-21 数値制御装置

Publications (1)

Publication Number Publication Date
JP2004252844A true JP2004252844A (ja) 2004-09-09

Family

ID=32732990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003044302A Pending JP2004252844A (ja) 2003-02-21 2003-02-21 数値制御装置

Country Status (4)

Country Link
US (1) US20040167658A1 (ja)
EP (1) EP1450226A3 (ja)
JP (1) JP2004252844A (ja)
CN (1) CN1523494A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013190593A1 (ja) * 2012-06-19 2013-12-27 三菱電機株式会社 数値制御装置
JP2019135599A (ja) * 2018-02-05 2019-08-15 株式会社東芝 制御システム、制御方法、制御装置及び表示装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4038216B2 (ja) * 2005-05-10 2008-01-23 ファナック株式会社 シーケンスプログラム編集装置
CN101996560B (zh) * 2010-11-05 2014-08-06 彩优微电子(昆山)有限公司 一种显示驱动装置以及显示驱动方法
JP5937637B2 (ja) * 2014-04-30 2016-06-22 ファナック株式会社 シーケンスプログラムの切り替え時に、切り替え予告信号を出力する制御装置
JP6068401B2 (ja) * 2014-07-30 2017-01-25 ファナック株式会社 加工プログラムの読み出し時間に左右されないdnc運転手段を備えた数値制御装置
KR101949623B1 (ko) * 2014-10-07 2019-02-18 시티즌 도케이 가부시키가이샤 공작 기계의 제어 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3412382A (en) * 1965-11-26 1968-11-19 Massachusetts Inst Technology Shared-access data processing system
DE2944757C2 (de) * 1979-11-06 1986-01-16 Bruno M. Einsiedeln Hess Programmierbare Prozeßsteuerung
JPH03149605A (ja) * 1989-11-07 1991-06-26 Fanuc Ltd Pcの信号転送制御方式
JP2661316B2 (ja) * 1990-03-24 1997-10-08 トヨタ自動車株式会社 複数のプログラマブルコントローラ間の並列運転による制御装置
JPH103307A (ja) * 1996-06-17 1998-01-06 Fanuc Ltd 数値制御装置
JP3932817B2 (ja) * 2001-03-14 2007-06-20 オムロン株式会社 制御システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013190593A1 (ja) * 2012-06-19 2013-12-27 三菱電機株式会社 数値制御装置
JP2019135599A (ja) * 2018-02-05 2019-08-15 株式会社東芝 制御システム、制御方法、制御装置及び表示装置

Also Published As

Publication number Publication date
EP1450226A3 (en) 2006-05-03
CN1523494A (zh) 2004-08-25
EP1450226A2 (en) 2004-08-25
US20040167658A1 (en) 2004-08-26

Similar Documents

Publication Publication Date Title
JP2001265609A (ja) 演算処理装置
JP2004252844A (ja) 数値制御装置
US8464016B2 (en) Method and device for switching over in a memory for a control device
JP2001265620A (ja) Romのプログラムデバッグ方式
US6408366B1 (en) Interface device, method and monitoring system for monitoring the status of a hardware device
CN100578448C (zh) 芯片式系统的启动方法及启动装置
JPS6333168B2 (ja)
JP3460747B2 (ja) 数値制御装置
EP0923010B1 (en) Programmable controller
JP3328686B2 (ja) プログラマブルコントローラ
JPH0643920A (ja) 工具管理方式
JP3331357B2 (ja) プログラマブルコントローラ
JP2003248514A (ja) 監視制御システム
JP2522047B2 (ja) 機器制御用プログラマブルコントロ―ラ
JPH02253425A (ja) フロッピィ・ディスク・コントローラ
JPH05242050A (ja) プロセッサ装置
JP2000029508A (ja) プログラマブルコントローラ
JP2001188683A (ja) 集積回路装置
JPS5862705A (ja) プログラマブル制御装置の制御プログラム作成方式
JP2002144385A (ja) 成形品取出し装置におけるユーザプログラム設定方式
JPS6239779B2 (ja)
JPS63150733A (ja) 中央処理装置
JPH05298112A (ja) 並列実行型プログラマブルコントローラシステムのプログラム管理方法
JPH01205203A (ja) プログラマブルコントローラのプログラム管理方式
JPH03240135A (ja) Ct装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050912

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051025