JP5710726B2 - 機械を制御するための浮動小数点演算命令を含む制御プログラムを実行する制御装置 - Google Patents
機械を制御するための浮動小数点演算命令を含む制御プログラムを実行する制御装置 Download PDFInfo
- Publication number
- JP5710726B2 JP5710726B2 JP2013211641A JP2013211641A JP5710726B2 JP 5710726 B2 JP5710726 B2 JP 5710726B2 JP 2013211641 A JP2013211641 A JP 2013211641A JP 2013211641 A JP2013211641 A JP 2013211641A JP 5710726 B2 JP5710726 B2 JP 5710726B2
- Authority
- JP
- Japan
- Prior art keywords
- floating
- point data
- format
- string
- conversion
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/14—Conversion to or from non-weighted codes
- H03M7/24—Conversion to or from floating-point codes
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15059—Floating point coprocessor
Description
本発明は機械を制御するための制御装置に関し、特に、機械を制御するための浮動小数点演算命令を含む制御プログラムを実行する制御装置に関する。
プログラマブルコントローラをはじめとする機械を制御するための制御装置では、制御プログラム内で取り扱うデータのタイプとして、ビット形式、バイト形式、ワード形式データなどをもち、それぞれのタイプのデータが内部メモリに格納される。また、IEEE754で規定されている浮動小数点データを、制御プログラムの演算命令などで取り扱う前記機械を制御するための制御装置もある。
前記機械を制御するための制御装置は、各種データをバックアップするために、所定のフォーマットのパラメータデータとしてパソコンなどの外部機器または外部記憶媒体に出力し、必要に応じて外部機器で編集されたパラメータデータを、前記機械を制御するための制御装置に取り込むことができる。また、前記内部メモリであるところの保持型メモリに格納されるデータなどは、あらかじめ前記外部機器で、初期値パラメータを作成し、制御プログラムと合わせて前記機械を制御するための制御装置に入力する場合もある。
そして、特許文献1には、処理装置のメモリに、浮動小数点データで記憶している実数値を10進数あるいは他の形式に変換して外部機器に出力する技術が開示されている。
そして、特許文献1には、処理装置のメモリに、浮動小数点データで記憶している実数値を10進数あるいは他の形式に変換して外部機器に出力する技術が開示されている。
特許文献1にも示されているとおり、処理装置のメモリに格納される浮動小数点データをバックアップ等の用途で外部記憶媒体に出力する際に、10進数の数字列の形式に変換して出力すると、その数字列は変換時の丸め誤差を含む。
また、特許文献1には、外部記憶媒体から、10進数の数字列を処理装置に読み込む際に、浮動小数点データに逆変換する技術が開示されているが、それでは、10進数への変換の際に生じた誤差を含んだ浮動小数点データに変換されることになり、元の浮動小数点データに復元することはできない。
さらに、特許文献1には、処理装置のメモリに記憶している浮動小数点データと、外部記憶媒体に出力した10進数の数字列を浮動小数点データに逆変換して、それらを比較する技術も開示されている。しかし、この比較手段は、丸め誤差を含んだ範囲での比較であり、全く同じ値の浮動小数点データかどうかの比較手段としては、用いることはできない。
他の出力形式として、浮動小数点データを16進数の数字列に変換して外部機器等に出力する方法もある。この方法ならば、入力する際に誤差の混入の恐れは無くなるが、その内容を外部機器で確認しようとすると、当該データは16進数の数字列で表現されるため、その内容を認識しづらいという問題がある。
さらに別の出力形式として、浮動小数点データをそのまま外部機器等に出力する方法もある。その場合、出力した浮動小数点データを外部機器で、10進数の数字列で表示したり、変更したりする手段を得るためには、前記浮動小数点データを10進数の数字列に変換する手段や、逆に10進数の数字列を浮動小数点データに変換する手段を外部機器で持つ必要がある。
ところが、これらの変換手段は、制御装置に内蔵しているものと、外部機器に内蔵しているものとで、変換アルゴリズムが全く同等でないと、制御装置上の変換動作と外部機器上の変換動作に差異が生じる恐れがある。制御装置と外部機器では、コプロセッサを含むCPUや、OS環境を完全に一致させることが困難であるから、前記変換アルゴリズムが完全に同等の変換手段を提供するのは、非常に困難である。
そこで本発明の目的は、オペレータが、外部機器上で行う確認または編集作業を容易に行うことができるように、浮動小数点データを、異なる2つの形式の数字列として、外部機器および外部記憶媒体の少なくとも1つに出力する、機械を制御する制御装置を提供することである。
より具体的には、本発明の目的は、かかる問題点を解決するためになされたもので、浮動小数点データをパラメータとして、外部機器および外部記憶媒体の少なくとも一方に出力する際は、オペレータが視認しやすい第1の形式の数字列に変換して出力する、機械を制御する制御装置を提供することである。
さらに本発明の他の目的は、さらに、入力の際は、もとの浮動小数点データに完全に復元できる手段を備えた制御装置を提供することである。
さらに、本発明の他の目的は、さらに、前記外部機器上で変更した第1の形式の数字列を入力した場合、変更されたことを自動認識して、第1の形式の数字列を浮動小数点データに変換して、機械を制御するための制御装置のメモリに格納する前記機械を制御するための制御装置を提供することである。
本願の請求項1に係る発明は、機械を制御するための浮動小数点演算命令を含む制御プログラムを実行する制御装置において、前記制御プログラムを格納する制御プログラム格納用メモリと、前記浮動小数点演算命令で使用する浮動小数点データ及び、前記浮動小数点演算命令の演算により生成された浮動小数点データを保持する浮動小数点データ保持用メモリと、前記浮動小数点データをオペレータが認識しやすい形式の第1の形式の数字列に変換する第1変換手段と、前記浮動小数点データを前記第1の形式と異なる前記浮動小数点データと丸め誤差のない第2の形式の数字列に変換する第2変換手段と、前記第1の形式の数字列と前記第2の形式の数字列を含む文字列データを生成する文字列データ生成手段と、前記生成された文字列データを外部機器および外部記憶媒体の少なくとも一方に出力する出力手段と、を有することを特徴とする制御装置である。
請求項2に係る発明は、前記第1の形式の数字列と前記第2の形式の数字列を含む前記文字列データを、前記外部機器および前記外部記憶媒体の少なくとも一方から入力する入力手段と、前記入力手段により入力した第1の形式の数字列を浮動小数点データに変換する第3変換手段と、前記第3変換手段により変換して得られた前記浮動小数点データを前記浮動小数点データ保持用メモリに格納する手段と、を有することを特徴とする請求項1に記載の制御装置である。
請求項3に係る発明は、前記入力手段により入力した前記第2の形式の数字列を浮動小数点データに変換する第4変換手段と、前記第4変換手段により変換して得られた前記浮動小数点データを第1の形式の数字列に変換する第5変換手段と、前記第5変換手段により変換して得られた前記第1の形式の数字列と前記入力手段により入力した前記文字列データに含まれている前記第1の形式の数字列と比較をする比較手段と、前記比較手段による比較の結果、同じ値であれば、前記第4変換手段により変換して得られた前記浮動小数点データを前記浮動小数点データ保持用メモリに格納する手段と、前記比較手段による比較の結果、値に差異があれば、前記第3変換手段により変換して得られた前記浮動小数点データを前記浮動小数点データ保持用メモリに格納する手段と、を有することを特徴とする請求項2に記載の制御装置である。
請求項4に係る発明は、前記浮動小数点データの前記第1の形式の数字列の変換は、所定の桁数で丸め演算であることを特徴とする請求項1乃至3の何れか1つに記載の制御装置である。
請求項5に係る発明は、前記第2の形式の数字列は、前記浮動小数点データを2進数、8進数、16進数のいずれかに変換した数字列であることを特徴とする請求項1乃至3の何れか1つに記載の制御装置である。
請求項6に係る発明は、前記丸め演算は、所定の桁数より下位桁を四捨五入する丸め演算であることを特徴とする請求項4に記載の制御装置である。
請求項5に係る発明は、前記第2の形式の数字列は、前記浮動小数点データを2進数、8進数、16進数のいずれかに変換した数字列であることを特徴とする請求項1乃至3の何れか1つに記載の制御装置である。
請求項6に係る発明は、前記丸め演算は、所定の桁数より下位桁を四捨五入する丸め演算であることを特徴とする請求項4に記載の制御装置である。
請求項7に係る発明は、前記出力手段は、前記生成された文字列データを含んで形成されたパラメータファイルを出力する手段であることを特徴とする請求項1乃至6の何れか1つに記載の制御装置である。
請求項8に係る発明は、前記入力手段は、前記出力手段から出力された、前記生成された文字列データを含んで形成されたパラメータファイルを入力する手段であることを特徴とする請求項2または3に記載の制御装置である。
請求項8に係る発明は、前記入力手段は、前記出力手段から出力された、前記生成された文字列データを含んで形成されたパラメータファイルを入力する手段であることを特徴とする請求項2または3に記載の制御装置である。
本発明により、オペレータが、外部機器上で行う確認または編集作業を容易に行うことができるように、浮動小数点データを、異なる2つの形式の数字列として、外部機器および外部記憶媒体の少なくとも1つに出力する機械を制御する制御装置を提供できる。なお、制御装置の入出力は、文字列データを逐次出力する形式、あるいは、文字列データを含んで形成されるファイル形式で行ってもよい。
より具体的には、本発明により、かかる問題点を解決するためになされたもので、浮動小数点データをパラメータとして、外部機器および外部記憶媒体の少なくとも一方に出力する際は、オペレータが視認しやすい第1の形式の数字列に変換して出力する制御装置を提供できる。
さらに本発明により、さらに、入力の際は、もとの浮動小数点データに完全に復元できる手段を備えた制御装置を提供できる。
さらに、本発明により、前記外部機器上で変更した第1の形式の数字列を入力した場合、変更されたことを自動認識して、第1の形式の数字列を浮動小数点データに変換して、機械を制御するための制御装置のメモリに格納する前記機械を制御するための制御装置を提供できる。
より具体的には、本発明により、かかる問題点を解決するためになされたもので、浮動小数点データをパラメータとして、外部機器および外部記憶媒体の少なくとも一方に出力する際は、オペレータが視認しやすい第1の形式の数字列に変換して出力する制御装置を提供できる。
さらに本発明により、さらに、入力の際は、もとの浮動小数点データに完全に復元できる手段を備えた制御装置を提供できる。
さらに、本発明により、前記外部機器上で変更した第1の形式の数字列を入力した場合、変更されたことを自動認識して、第1の形式の数字列を浮動小数点データに変換して、機械を制御するための制御装置のメモリに格納する前記機械を制御するための制御装置を提供できる。
以下、本発明の実施形態を図面と共に説明する。
図1は機械を制御する制御装置の概略ブロック図である。CPU10は制御装置1の全体の制御の中心となるプロセッサである。制御装置1の電源投入時に、CPU10はバス11を介して、書き換え可能なフラッシュROM12に格納されたシステム・プログラムと、機械を制御するための制御プログラムを読み出し、フラッシュROM12からRAM13にコピーする。このシステム・プログラムに従って制御装置1の全体の制御を実行する。図9,図10に示される処理のプログラムもシステム・プログラムの一部として、フラッシュROM12に格納される。浮動小数点演算命令を含む制御プログラムは、機械を制御するために実行される。RAM13には浮動小数点演算命令で使用される一時的な計算データや一時的な表示用データなどが格納される。不揮発性メモリ14は、工具補正量やパラメータなどが格納される。後述する浮動小数点データも不揮発性メモリ14に格納される。
図1は機械を制御する制御装置の概略ブロック図である。CPU10は制御装置1の全体の制御の中心となるプロセッサである。制御装置1の電源投入時に、CPU10はバス11を介して、書き換え可能なフラッシュROM12に格納されたシステム・プログラムと、機械を制御するための制御プログラムを読み出し、フラッシュROM12からRAM13にコピーする。このシステム・プログラムに従って制御装置1の全体の制御を実行する。図9,図10に示される処理のプログラムもシステム・プログラムの一部として、フラッシュROM12に格納される。浮動小数点演算命令を含む制御プログラムは、機械を制御するために実行される。RAM13には浮動小数点演算命令で使用される一時的な計算データや一時的な表示用データなどが格納される。不揮発性メモリ14は、工具補正量やパラメータなどが格納される。後述する浮動小数点データも不揮発性メモリ14に格納される。
外部記憶媒体インタフェース15は、外部記憶媒体20との間でデータの送受を行うためのインタフェースである。外部記憶媒体インタフェース15の具体例としては、USBメモリインタフェース、メモリカードインタフェースがある。外部記憶媒体20は制御装置1から出力されたデータを格納する記憶装置であって、具体例としては、USBメモリやメモリカードがある。
外部インタフェース16は、外部機器21との間でデータの送受を行うためのインタフェースである。外部インタフェース16の具体例としては、Ethernet(登録商標) インタフェースやRS232−Cインタフェースがある。外部機器21の具体例としては、パーソナルコンピュータがある。
表示コントローラ17は、液晶表示装置などから構成される表示ユニット22に、図示しない機械の各軸の現在位置、アラーム、パラメータ、画像データなどのデジタルデータを画像信号に変換して出力する。前記画像信号は、表示ユニット22の表示画面に表示される。MDIコントローラ18は、MDIユニット23から入力されたデータを受信して、CPU10へ渡す。外部信号インタフェース19は、I/O機器24とのI/O信号通信のためのインタフェースである。CPU10は、I/O機器24、外部信号インタフェース19を経由して、図示しない機械の操作盤の操作スイッチの信号などの入力信号を受信する。また、逆に、制御装置1からの出力信号が、外部信号インタフェース19、I/O機器24を経由して図示しない機械に出力される。
なお、図1では、サーボモータなどを制御する軸制御回路、サーボアンプ、スピンドル制御回路、スピンドルアンプ、手動パルス発生器用インタフェースなどは図示を省略している。
図2は制御装置1の表示ユニット22の表示画面に表示される画面例である。制御装置1で取り扱う浮動小数点データは、メモリ(例えば、不揮発性メモリ14)に格納される。前記浮動小数点データを制御装置1の表示ユニット22の表示画面上に表示する際は、前記浮動小数点データを10進数の数字列に変換し、図2に示されるように所定の桁数に丸めて表示される。
図2に示される画面には、PMC(プログラマブルコントローラ)の保守作業において表示されるPMCパラメータ(データ)の一覧が表示されている。番号0〜番号22に対応する各アドレス(アドレスD0000)〜(アドレスD0088)に、各PMCパラメータデータが表示されている。表示されている例は、32ビット浮動小数点データ(単精度実数)を所定の桁数で丸めた10進数の数字で表示されている。10進数の数字列は、有効数字桁数内で表現できない場合は、指数部付きで記述する。32ビット浮動小数点データの場合の10進数の数字列の有効桁数は7桁であるから、8桁目を丸められる(四捨五入)。なお、64ビット浮動小数点データの場合の10進数の数字列の有効桁数は15桁なので、16桁目を丸める(四捨五入)。
前記浮動小数点データを、バックアップ用パラメータの一部または全部として外部機器21および外部記憶媒体20の少なくとも一方に出力する際は、制御装置1は、図3に示されるように、前記浮動小数点データを所定の桁数に丸めた10進数の数字列に変換し、さらに、前記浮動小数点データの全情報を保持した16進数の数字列に変換する。次に、その両方を含む文字列データを生成し、前記文字列データを外部機器21および外部記憶媒体20の少なくとも一方に出力する。図3では、ファイル形式で、制御装置1から外部機器21や外部記憶媒体20に出力されている。
なお、「10進数の数字列」は特許請求の範囲に記載される第1の形式の数字列、「16進数の数字列」は第2の形式の数字列に対応する。図4は制御装置1から外部機器または外部記憶媒体に出力されるファイルの形式を説明する図である。第2の形式の数字列は、前記浮動小数点データを2進数または8進数に変換した数字列としてもよい。
オペレータが、前記バックアップ用パラメータの一部または全部として受信した前記10進数の数字列を、パーソナルコンピュータなどの外部機器21上で確認や編集する際は、汎用のテキストエディタで、外部機器21のメモリに格納されたパラメータファイル(図3参照)を開いて確認や変数を行う。オペレータは、パラメータ(データ)に変更点がある場合は、10進数の数字列の部分のみを変更する。
図5は、外部機器21の表示装置の表示画面に表示された編集後のファイル例である。オペレータは、図3に示されるファイル例において、アドレスD0004のデータに「−」を付与し、アドレスD0024のデータの指数を変更し、アドレスD0048のデータの小数点桁を追加(最下位桁に「3」)を追加)し、アドレスD0084のデータを、端数を切り上げて整数を入力し、アドレスD0092に、データの追加を行う編集を行ったことが図5に示されている。
図6は、外部機器21で編集されたファイル(図5参照)を読み込んだファイル例である。この場合、図6は、図5と同じ内容である。制御装置1が、外部機器21あるいは外部記憶媒体20から制御装置1に読み込んだファイルから、バックアップ用パラメータをメモリ(不揮発性メモリ14)に格納する際、前記読み込んだファイルの文字列データに、浮動小数点データを検知したなら、併記されている16進数の数字列を一旦浮動小数点データに変換し、さらに、出力時に用いた同じ変換手段で10進数の数字列に変換する。次に、前記読み込んだファイルの文字列に記述されている10進数の数字列と比較する。比較の結果、二つの数字列が同じであれば、データの変更はないとみなし、16進数の数字列を入力値として受け入れ、その浮動小数点データデータをメモリ(例:不揮発性メモリ14)に格納する。二つの数字列に差異があれば、データは更新されたとみなして、記述されている10進数の数字列を入力値として受け入れ、浮動小数点データに変換して、メモリに格納する。
上記の比較の方式は、10進数の数字列を所定の桁数内に丸めた数字列にして比較する。出力時と入力時の10進数の数字列への変換手段は、同じアルゴリズムのため、浮動小数点データは、同じ10進数の数字列として変換される。10進数の数字列のみ記述しているパラメータは、その数字列を入力値としてそのまま採用し、
浮動小数点データに変換して、メモリに格納する。図7は、制御装置が外部から読み込んだファイルを制御装置のメモリに格納する際の各処理を説明する図である。図8に示されるように、変更または追加したアドレスのデータが、制御装置1の表示ユニット22の表示画面に、マーカあるいは色表示によって、オペレータが認識しやすいように表示されている。
浮動小数点データに変換して、メモリに格納する。図7は、制御装置が外部から読み込んだファイルを制御装置のメモリに格納する際の各処理を説明する図である。図8に示されるように、変更または追加したアドレスのデータが、制御装置1の表示ユニット22の表示画面に、マーカあるいは色表示によって、オペレータが認識しやすいように表示されている。
制御装置1で実行される上述の一連の処理について、図9,図10に示されるフローチャートを用いて説明する。
図9は、制御装置から外部機器または外部記憶媒体へのファイル出力の処理のフローを説明する図である。以下、各ステップに従って説明する。
●[ステップSA01]メモリから浮動小数点データを読み出す。
●[ステップSA02]浮動小数点データを所定の桁数で丸めて10進数数字列に変換する。
●[ステップSA03]浮動小数点データを16進数数字列に変換する。
●[ステップSA04]10進数数字列と16進数数字列を併記した文字列を所定のパラメータフォーマットで記述して、文字列データを生成する。
●[ステップSA05]所定のパラメータフォーマットで記述して生成した文字列データを、パラメータファイルに書き込む。
●[ステップSA06]メモリ内に次の浮動小数点データがあるか否か判断し、ある場合(YES)ステップSA01へ戻り、ない場合(NO)ステップSA07へ移行する。
●[ステップSA07]外部機器および外部記憶媒体の少なくとも一方にパラメータファイルを出力し、処理を終了する。
図9は、制御装置から外部機器または外部記憶媒体へのファイル出力の処理のフローを説明する図である。以下、各ステップに従って説明する。
●[ステップSA01]メモリから浮動小数点データを読み出す。
●[ステップSA02]浮動小数点データを所定の桁数で丸めて10進数数字列に変換する。
●[ステップSA03]浮動小数点データを16進数数字列に変換する。
●[ステップSA04]10進数数字列と16進数数字列を併記した文字列を所定のパラメータフォーマットで記述して、文字列データを生成する。
●[ステップSA05]所定のパラメータフォーマットで記述して生成した文字列データを、パラメータファイルに書き込む。
●[ステップSA06]メモリ内に次の浮動小数点データがあるか否か判断し、ある場合(YES)ステップSA01へ戻り、ない場合(NO)ステップSA07へ移行する。
●[ステップSA07]外部機器および外部記憶媒体の少なくとも一方にパラメータファイルを出力し、処理を終了する。
図10は、外部機器または外部記憶媒体から制御装置へのファイル入力の処理のフローを説明する図である。以下、各ステップに従って説明する。
●[ステップSB01]外部機器または外部記憶媒体からパラメータファイルを入力する。
●[ステップSB02]パラメータファイルから実数形式パラメータの文字列を一行読み出す。
●[ステップSB03]一行読み出した実数形式パラメータの文字列に16進数数字列があるか否か判断し、ある場合(YES)にはステップSB04へ移行し、ない場合(NO)ステップSB09へ移行する。
●[ステップSB04]16進数数字列を浮動小数点データに変換する。得られたデータを16進数変換浮動小数点データという。
●[ステップSB05]16進数変換浮動小数点データを所定の桁数で丸めて10進数数字列に変換する。変換によって得られた10進数数字列を変換10進数数字列という。
●[ステップSB06]変換10進数数字列と記述10進数数字列とを比較する。記述10進数数字列は、ステップSB02で読み出した、一行の実数形式パラメータの文字列に含まれていた10進数数字列である。
●[ステップSB07]変換10進数数字列と記述10進数数字列とか同値であるか否か判断し、同値の場合(YES)にはステップSB08へ移行し、同値ではない場合(NO)にはステップSB09へ移行する。
●[ステップSB08]ステップSB04で得られた16進数変換浮動小数点データを、メモリの所定のアドレスに格納し、ステップSB11へ移行する。
●[ステップSB09]ステップSB02で読み出した、一行の実数形式パラメータの文字列に含まれていた10進数数字列(記述10進数数字列)を浮動小数点データに変換する。変換して得られたデータを10進数変換浮動小数点データという。
●[ステップSB10]ステップSB09で変換して得られた10進数変換浮動小数点データをメモリの所定のアドレスに格納し、ステップSB11へ移行する。
●[ステップSB11]パラメータファイルの最終行であるか否か確認し、最終行の場合(YES)には処理を終了し、最終行ではない場合(NO)にはステップSB02へ戻り処理を終了する。
●[ステップSB01]外部機器または外部記憶媒体からパラメータファイルを入力する。
●[ステップSB02]パラメータファイルから実数形式パラメータの文字列を一行読み出す。
●[ステップSB03]一行読み出した実数形式パラメータの文字列に16進数数字列があるか否か判断し、ある場合(YES)にはステップSB04へ移行し、ない場合(NO)ステップSB09へ移行する。
●[ステップSB04]16進数数字列を浮動小数点データに変換する。得られたデータを16進数変換浮動小数点データという。
●[ステップSB05]16進数変換浮動小数点データを所定の桁数で丸めて10進数数字列に変換する。変換によって得られた10進数数字列を変換10進数数字列という。
●[ステップSB06]変換10進数数字列と記述10進数数字列とを比較する。記述10進数数字列は、ステップSB02で読み出した、一行の実数形式パラメータの文字列に含まれていた10進数数字列である。
●[ステップSB07]変換10進数数字列と記述10進数数字列とか同値であるか否か判断し、同値の場合(YES)にはステップSB08へ移行し、同値ではない場合(NO)にはステップSB09へ移行する。
●[ステップSB08]ステップSB04で得られた16進数変換浮動小数点データを、メモリの所定のアドレスに格納し、ステップSB11へ移行する。
●[ステップSB09]ステップSB02で読み出した、一行の実数形式パラメータの文字列に含まれていた10進数数字列(記述10進数数字列)を浮動小数点データに変換する。変換して得られたデータを10進数変換浮動小数点データという。
●[ステップSB10]ステップSB09で変換して得られた10進数変換浮動小数点データをメモリの所定のアドレスに格納し、ステップSB11へ移行する。
●[ステップSB11]パラメータファイルの最終行であるか否か確認し、最終行の場合(YES)には処理を終了し、最終行ではない場合(NO)にはステップSB02へ戻り処理を終了する。
以下、本発明の効果について説明する。上記本発明の実施形態によれば、浮動小数点データは10進数の数字列と16進数の数字列が併記されて出力されるため、オペレータは、外部機器上の汎用のテキストエディタを使って、10進数で値を容易に確認できる。また、従来のビット、バイト、ワード形式データに混在して出力しても親和性がある。
オペレータが、浮動小数点データを変更する際、または新規に浮動小数点データを追加する際は、分かりやすい10進数の数字列で入力できる。また、16進数の数字列が併記されている為、変更の無いデータの入力時、誤差の心配がなく浮動小数点データが復元できる。
データ更新の判定は、併記されている16進数の数字列から10進数の数字列を作り出し、10進数の数字列同士の比較を行なう。その際、浮動小数点データから10進数の数字列への変換手段が出力時と、比較時とで、同じアルゴリズムの変換手段を使用するため、変換誤差に対する考慮が一切不要である。
1 制御装置
10 CPU
11 バス
12 フラッシュROM
13 RAM
14 不揮発性メモリ
15 外部記憶媒体インタフェース
16 外部インタフェース
17 表示コントローラ
18 MDIコントローラ
19 外部信号インタフェース
20 外部記憶媒体
21 外部機器
22 表示ユニット
23 MDIユニット
24 I/O機器
10 CPU
11 バス
12 フラッシュROM
13 RAM
14 不揮発性メモリ
15 外部記憶媒体インタフェース
16 外部インタフェース
17 表示コントローラ
18 MDIコントローラ
19 外部信号インタフェース
20 外部記憶媒体
21 外部機器
22 表示ユニット
23 MDIユニット
24 I/O機器
Claims (8)
- 機械を制御するための浮動小数点演算命令を含む制御プログラムを実行する制御装置において、
前記制御プログラムを格納する制御プログラム格納用メモリと、
前記浮動小数点演算命令で使用する浮動小数点データ及び、前記浮動小数点演算命令の演算により生成された浮動小数点データを保持する浮動小数点データ保持用メモリと、
前記浮動小数点データをオペレータが認識しやすい形式の第1の形式の数字列に変換する第1変換手段と、
前記浮動小数点データを前記第1の形式と異なる前記浮動小数点データと丸め誤差のない第2の形式の数字列に変換する第2変換手段と、
前記第1の形式の数字列と前記第2の形式の数字列を含む文字列データを生成する文字列データ生成手段と、
前記生成された文字列データを外部機器および外部記憶媒体の少なくとも一方に出力する出力手段と、
を有することを特徴とする制御装置。 - 前記第1の形式の数字列と前記第2の形式の数字列を含む前記文字列データを、前記外部機器および前記外部記憶媒体の少なくとも一方から入力する入力手段と、
前記入力手段により入力した第1の形式の数字列を浮動小数点データに変換する第3変換手段と、
前記第3変換手段により変換して得られた前記浮動小数点データを前記浮動小数点データ保持用メモリに格納する手段と、
を有することを特徴とする請求項1に記載の制御装置。 - 前記入力手段により入力した前記第2の形式の数字列を浮動小数点データに変換する第4変換手段と、
前記第4変換手段により変換して得られた前記浮動小数点データを第1の形式の数字列に変換する第5変換手段と、
前記第5変換手段により変換して得られた前記第1の形式の数字列と前記入力手段により入力した前記文字列データに含まれている前記第1の形式の数字列と比較をする比較手段と、
前記比較手段による比較の結果、同じ値であれば、前記第4変換手段により変換して得られた前記浮動小数点データを前記浮動小数点データ保持用メモリに格納する手段と、
前記比較手段による比較の結果、値に差異があれば、前記第3変換手段により変換して得られた前記浮動小数点データを前記浮動小数点データ保持用メモリに格納する手段と、
を有することを特徴とする請求項2に記載の制御装置。 - 前記浮動小数点データの前記第1の形式の数字列の変換は、所定の桁数で丸め演算であることを特徴とする請求項1乃至3の何れか1つに記載の制御装置。
- 前記第2の形式の数字列は、前記浮動小数点データを2進数、8進数、16進数のいずれかに変換した数字列であることを特徴とする請求項1乃至3の何れか1つに記載の制御装置。
- 前記丸め演算は、所定の桁数より下位桁を四捨五入する丸め演算であることを特徴とする請求項4に記載の制御装置。
- 前記出力手段は、前記生成された文字列データを含んで形成されたパラメータファイルを出力する手段であることを特徴とする請求項1乃至6の何れか1つに記載の制御装置。
- 前記入力手段は、前記出力手段から出力された、前記生成された文字列データを含んで形成されたパラメータファイルを入力する手段であることを特徴とする請求項2または3に記載の制御装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013211641A JP5710726B2 (ja) | 2013-10-09 | 2013-10-09 | 機械を制御するための浮動小数点演算命令を含む制御プログラムを実行する制御装置 |
DE102014014700.2A DE102014014700A1 (de) | 2013-10-09 | 2014-10-02 | Steuervorrichtung zur ausführung eines steuerungsprogramms mit einem befehl für eine gleitkommaoperation zum steuern einer maschine und verfahren zum umwandeln eines gleitkommaparameters in einem steuerungsprogramm |
US14/508,175 US9405505B2 (en) | 2013-10-09 | 2014-10-07 | Control device for executing control program including floating point operation command for controlling machine and method of converting floating point parameter in control program |
CN201410527887.XA CN104570788B (zh) | 2013-10-09 | 2014-10-09 | 一种控制装置以及浮点小数点参数的变换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013211641A JP5710726B2 (ja) | 2013-10-09 | 2013-10-09 | 機械を制御するための浮動小数点演算命令を含む制御プログラムを実行する制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015075917A JP2015075917A (ja) | 2015-04-20 |
JP5710726B2 true JP5710726B2 (ja) | 2015-04-30 |
Family
ID=52693348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013211641A Active JP5710726B2 (ja) | 2013-10-09 | 2013-10-09 | 機械を制御するための浮動小数点演算命令を含む制御プログラムを実行する制御装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9405505B2 (ja) |
JP (1) | JP5710726B2 (ja) |
CN (1) | CN104570788B (ja) |
DE (1) | DE102014014700A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11137982B2 (en) * | 2019-02-27 | 2021-10-05 | Micron Technology, Inc. | Acceleration circuitry |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59123009A (ja) | 1982-12-29 | 1984-07-16 | Fanuc Ltd | 出力デ−タ良否確認方法 |
JPH01276222A (ja) * | 1988-04-27 | 1989-11-06 | Nec Corp | データ変換装置 |
JPH01280825A (ja) * | 1988-05-06 | 1989-11-13 | Mitsubishi Electric Corp | データ生成装置 |
US6557096B1 (en) * | 1999-10-25 | 2003-04-29 | Intel Corporation | Processors with data typer and aligner selectively coupling data bits of data buses to adder and multiplier functional blocks to execute instructions with flexible data types |
US20030088597A1 (en) * | 2001-08-02 | 2003-05-08 | International Business Machines Corporation | Method and system for string representation of floating point numbers |
DE102004030384A1 (de) * | 2004-06-23 | 2006-01-19 | Siemens Ag | System und Verfahren zur verlustfreien Übertragung von Fließkommazahlen in XML |
US7685213B2 (en) * | 2005-03-31 | 2010-03-23 | Siebel Systems, Inc. | Conversion of floating-point numbers from binary into string format |
US8364734B2 (en) * | 2005-09-15 | 2013-01-29 | International Business Machines Corporation | Converting from decimal floating point into scaled binary coded decimal |
JP2009067071A (ja) * | 2007-09-10 | 2009-04-02 | Hitachi Ltd | 電子制御装置 |
-
2013
- 2013-10-09 JP JP2013211641A patent/JP5710726B2/ja active Active
-
2014
- 2014-10-02 DE DE102014014700.2A patent/DE102014014700A1/de active Pending
- 2014-10-07 US US14/508,175 patent/US9405505B2/en active Active
- 2014-10-09 CN CN201410527887.XA patent/CN104570788B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US20150100611A1 (en) | 2015-04-09 |
JP2015075917A (ja) | 2015-04-20 |
CN104570788A (zh) | 2015-04-29 |
US9405505B2 (en) | 2016-08-02 |
CN104570788B (zh) | 2016-11-23 |
DE102014014700A1 (de) | 2015-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI464558B (zh) | 程式作成支援裝置 | |
EP0740239B1 (en) | Numerical control | |
WO2018051441A1 (ja) | ラダープログラム編集支援装置およびラダープログラムの編集方法 | |
JP6088471B2 (ja) | 加工動作の調整を容易にする数値制御装置 | |
JP5785501B2 (ja) | ラダープログラム作成装置 | |
JP6010094B2 (ja) | サイクルタイムに係るパラメータ設定支援機能を有する数値制御装置 | |
JP6312648B2 (ja) | 工具カタログデータベースと連携する数値制御システム | |
TWI497241B (zh) | Program display device, program display method and display program diagram of the program products | |
JP5710726B2 (ja) | 機械を制御するための浮動小数点演算命令を含む制御プログラムを実行する制御装置 | |
CN102981448B (zh) | 可变更用户界面的数值控制装置 | |
CN104956274A (zh) | 数控装置 | |
JP6077601B2 (ja) | 加工プログラムのサイクルタイムを短縮する数値制御装置 | |
CN113614659A (zh) | 开发支持装置、开发支持装置的控制方法、信息处理程序、及记录介质 | |
KR101230563B1 (ko) | 디시전 테이블을 사용한 시퀀스 제어 장치, 프로그램 작성 장치, 및 인터프리터 실행 엔진 | |
JP6871280B2 (ja) | 数値制御装置 | |
JP4091631B2 (ja) | 機械の信号処理装置 | |
JP2016115312A (ja) | 加工時に使用した変数値を埋め込んだ変数確認用ncプログラムの作成機能を備えた数値制御装置 | |
KR101726120B1 (ko) | 프로그램 편집 장치, 프로그램 편집 방법 및 프로그램 편집 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
EP4343468A1 (en) | Development assistance device, control method for development assistance device, information processing program, and recording medium | |
US20040176871A1 (en) | Processing program creation apparatus | |
JP2020098428A (ja) | 数値制御装置 | |
JP7048263B2 (ja) | 計算処理装置、計算処理方法および計算処理プログラム | |
JP4275981B2 (ja) | 工作機械の軸送り制御装置 | |
JP2005115669A (ja) | 数値制御装置 | |
JP4240381B2 (ja) | 制御装置の保守装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150123 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150210 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150304 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5710726 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |