文字列関数
機能説明
NC 機能 式、変数 または 文字列式 内では、次の文字列機能を使用できます:
構文要素 | 意味 | NC 機能 |
---|---|---|
DECLARE STRING | QS パラメータにテキストを割り当てる | DECLARE STRING |
|| | 文字列パラメータの内容を結合して、文字列パラメータに割り当てる |
|
TONUMB | QS パラメータの値を数値に変換して、数値パラメータに割り当てる |
|
TOCHAR | 数値をテキストに変換して、文字列パラメータに割り当てる |
|
SUBSTR | QS パラメータから部分ストリングをコピーし、文字列パラメータに割り当てる |
|
SYSSTR | システムデータを読み取り、内容を文字列パラメータに割り当てる |
|
INSTR | QS パラメータで部分ストリングを検索し、見つかった場所を数値パラメータに割り当てる |
|
STRLEN | QS パラメータの文字数を算出し、数値パラメータに割り当てる |
|
STRCOMP | QS パラメータのアルファベットの昇順を比較し、結果を数値パラメータに割り当てる |
|
CFGREAD | 機械パラメータの内容を読み出し、変数に割り当てる |
|
コントローラには以下の式の入力方法があります。
- オートコンプリート
- アクションバーまたはフォームから式を入力するためのポップアップキーボード
- スクリーンキーボードの式入力モード
SYSSTR を使用してシステムデータを読み取る
NC 機能 SYSSTR を使用すると、システムデータを読み取って、内容を文字列パラメータに保存できます。グループ番号 ID および番号 NR を使用してシステムデータを選択します。オプションで IDX および DAT を入力できます。
SYSSTR では英数字の値のみを読み取ることができます。
数値の場合、NC 機能 FN 18: SYSREAD が使用できます。SYSSTR は FN 18: SYSREAD と同じようにプログラミングします。
FN 18: SYSREAD を使用してシステムデータを読み取る
システムデータの概要全体において、英数字値は「システムストリング」というテキストで表されます。
機械パラメータ、エラー番号、システムデータの概要
追加ドキュメント「機械パラメータ、エラー番号、システムデータの概要」には、次の機能の概要が含まれます:
- 「設定者用MP」アプリケーションの機械パラメータ
- NC 機能 FN 14: ERROR (ISO:D14) の事前定義されたエラー番号
- NC 機能 FN 18: SYSREAD (ISO:D18) および SYSSTR を使用して読み出すことができるシステムデータ
ID:1445456-xx
このドキュメントは、ハイデンハインのホームページから無料でダウンロードできます。
文字列パラメータにテキストを割り当てる
テキストを使用して処理する前に、文字列パラメータに文字を割り当てる必要があります。
次のように文字列パラメータにテキストを割り当てます: | ||
| ||
| ||
|
または、NC 機能 DECLARE STRING を使用して QS パラメータに文字を割り当てることもできます。
これらの例では、文字列パラメータにテキストが割り当てられます。
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
11 QS10 = "workpiece" | :QS パラメータ QS10 にテキストを割り当てる |
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
11 {a} = "workpiece" | :名称パラメータ {a} にテキストを割り当てる |
文字列パラメータの値を結合する
結合演算子「||」で複数の文字列パラメータの内容を互いに結合することができます。そのため、固定テキストと可変テキストなどを組み合わせることができます。
次のように複数の文字列パラメータの内容を結合します: | ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
これらの例では、2 つの文字列パラメータの内容が結合され、その結果が 3 番目の文字列パラメータに割り当てられます。
パラメータの内容:
- QS12 および {b}:ステータス:
- QS13 および {c}:不良品
- QS10 および {a}:ステータス:不良品
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
11 QS10 = QS12 || QS13 | :QS12 と QS13 の内容を結合して、QS パラメータ QS10 に割り当てる |
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
11 {a} = {b} || {c} | :{b} と {c} の内容を結合して、名称パラメータ {a} に割り当てる |
文字列パラメータの値を数値に変換する
NC 機能 TONUMB を使用して、QS パラメータ の数字のみを別の変数タイプに保存できます。その後、計算内でこれらの値を使用できます。
これらの例では、QS パラメータの変数値が数値に変換されます。この値が数値パラメータに割り当てられます。
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
11 Q82 = TONUMB ( SRC_QS11 ) | :QS11 の値を数値に変換して、Q82 に割り当てる |
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
11 {a} = TONUMB ( SRC_QS11 ) | :QS11 の値を数値に変換して、{a} に割り当てる |
数値をテキストに変換する
NC 機能 TOCHAR を使用して、数値パラメータの内容を文字列パラメータに保存できます。保存された内容を別の文字列パラメータなどと結合できます。
これらの例では、Q パラメータの数値がテキストに変換されます。このテキストが文字列パラメータに割り当てられます。
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
11 QS11 = TOCHAR ( DAT+Q50 DECIMALS3 ) | :Q50 の数値をテキストに変換して、QS パラメータ QS11 に割り当てる |
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
11 {a} = TOCHAR ( DAT+Q50 DECIMALS3 ) | :Q50 の数値をテキストに変換して、名称パラメータ {a} に割り当てる |
文字列パラメータから部分ストリングをコピーする
NC 機能 SUBSTR を使用して、1 つの QS パラメータから、定義された部分ストリングを別の文字列パラメータに保存できます。例えば、ファイルの絶対パスからファイル名を抽出するために、この NC 機能を使用できます。
これらの例では、QS パラメータの部分ストリングが別の文字列パラメータに保存されます。構文要素 BEG2 を使用して、3 番目の文字からコピーされるように定義します。構文要素 LEN4 を使用して、次の 4 文字がコピーされるように定義します。
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
11 QS13 = SUBSTR ( SRC_QS10 BEG2 LEN4 ) | :QS10 の部分ストリングを QS パラメータ QS13 に割り当てる |
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
11 {a} = SUBSTR ( SRC_QS10 BEG2 LEN4 ) | :QS10 の部分ストリングを名称パラメータ{a} に割り当てる |
QS パラメータの内容から部分ストリングを検索する
NC 機能 INSTR を使用して、特定の部分ストリングが QS パラメータ内にあるかどうかを確認できます。これにより、例えば複数の QS パラメータの結合が行われたかどうかを確認できます。この確認には 2 つの QS パラメータが必要です。最初の QS パラメータ内で 2 番目の QS パラメータの内容が検索されます。
部分ストリングが見つかると、部分ストリングが見つかった場所までの文字数が結果パラメータに保存されます。複数の場所が見つかっても、最初の場所が保存されるため、結果は同じです。
検索する部分ストリングが見つからない場合、合計文字数が結果パラメータに保存されます。
この例では、1 つの QS パラメータで 2 番目の QS パラメータのテキストが検索されます。文字のカウント時は、ゼロから始まります。見つかった場所が、数として数値パラメータに割り当てられます。
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
11 Q50 = INSTR ( SRC_QS10 SEA_QS13 BEG2 ) | :QS13 の部分ストリングを QS10 で検索する |
QS パラメータの内容の文字数を算出する
NC 機能 STRLEN は、QS パラメータの内容の文字数を算出します。この NC 機能で、例えばファイルパスの長さを求めることができます。
選択された QS パラメータが定義されていない場合は、値 -1 になります。
この例では、QS パラメータの文字数が算出されます。算出された数が数値パラメータに割り当てられます。
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
11 Q52 = STRLEN ( SRC_QS15 ) | ;QS15 の文字数を算出し、Q52 に割り当てる |
2 つのテキストのアルファベット順を比較する
NC 機能 STRCOMP を使用すると、2 つの QS パラメータの内容のアルファベット順を比較できます。
コントローラが返す結果は以下のとおりです:
- 0:両方の QS パラメータの内容が同じ
- -1:最初の QS パラメータの内容が 2 番目の QS パラメータの内容よりアルファベット順で前にある
- +1:最初の QS パラメータの内容が 2 番目の QS パラメータの内容よりアルファベット順で後にある
アルファベット順は以下のとおりです:
- 特殊文字 (?_ など)
- 数字 (123 など)
- 大文字 (ABC など)
- 小文字 (abc など)
最初の文字からチェックが始まり、QS パラメータの内容が異なるところまでチェックされます。例えば 4 番目の位置で内容が異なる場合、この位置でチェックが中断されます。
同じ文字列を含む内容は、短いほうから先に表示されます (abcd の前に abc など)
この例では、2 つの QS パラメータ値のアルファベット順が比較されます。その結果が数として数値パラメータに割り当てられます。
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
11 Q52 = STRCOMP ( SRC_QS12 SEA_QS14 ) | :QS12 と QS14 の値のアルファベット順を比較する |
機械パラメータの内容を適用する
NC 機能 CFGREAD を使用すると、機械パラメータの値を読み出すことができます。
CFGREAD の前に、キー、エンティティ、属性を含む QS パラメータをプログラミングする必要があります。大文字と小文字が正しいか注意してください。
NC 機能には以下の構文要素が含まれます。
構文要素 | 意味 |
---|---|
KEY_QS | 機械パラメータのグループ名を含む QS パラメータ (キー) キーが存在しない場合は、内容なしで QS パラメータを定義します。 |
TAG_QS | 機械パラメータのオブジェクト名を含む QS パラメータ (エンティティ) |
ATR_QS | 機械パラメータの名前を含む QS パラメータ (属性) |
IDX | 機械パラメータのインデックス 数字または数値パラメータ オプションの構文要素 |
機械パラメータに数値が含まれている場合は、その値を Q、QL、または QR パラメータに適用できます。数値は常にメートル法で出力されます。文字列を QS パラメータに適用します。 名称パラメータに数値と文字列を適用することができます。
例
この例では、機械パラメータ pocketOverlap (No. 201001) から経路オーバーラップを適用します:
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
11 QS11 = "CH_NC" | :QS パラメータ QS11 にキーを割り当てる |
12 QS12 = "CfgGeoCycle" | :QS パラメータ QS12 にエンティティを割り当てる |
13 QS13 = "pocketOverlap" | :QS パラメータ QS13 に属性を割り当てる |
14 Q50 = CFGREAD( KEY_QS11 TAG_QS12 ATR_QS13 ) | :機械パラメータの内容を読み出す |
この例では、機械パラメータ centerPos (No. 114313) から、Y 軸 (インデックス 1) の工具タッチプローブの位置を適用します:
ユーザーマニュアルに含まれている NC プログラムは、あくまで解決のヒントです。機械で NC プログラムまたは個々の NC ブロックを使用する前には、必ずそれらを調整してください。
以下に応じて調整を行います。
- 工具
- 切断値
- 送り速度
- 安全な高さまたは安全な位置
- 機械特有の位置 (例:M91)
- プログラム呼出しのパス
一部の NC プログラムは機械キネマティクスに依存しています。このような NC プログラムは、最初のテストランの前にその機械キネマティクスに合わせてプログラムを調整してください。
さらに、実際のプログラムランの前にシミュレーションで NC プログラムをテストしてください。
プログラムをテストすることで、ソフトウェアオプションや有効な機械キネマティクス、現在の機械構成で、その NC プログラムが使用可能かどうかを確認できます。
11 QS11 = "TT140_2" | :QS パラメータ QS11 にキーを割り当てる |
12 QS12 = "CfgTTRectStylus" | :QS パラメータ QS12 にエンティティを割り当てる |
13 QS13 = "centerPos" | :QS パラメータ QS13 に属性を割り当てる |
14 {a} = CFGREAD( KEY_QS11 TAG_QS12 ATR_QS13 IDX1 ) | :機械パラメータの内容を読み出す |
注意事項
NC 機能 文字列式 を使用すると、結果は常にテキストになります。NC 機能 式 を使用すると、結果は常に数値になります。