![]() | LabVIEW 2016ヘルプ |
![]() | LabVIEW 2017ヘルプ |
![]() | LabVIEW 2018ヘルプ |
![]() | LabVIEW 2019ヘルプ |
![]() | LabVIEW 2020ヘルプ |
カスタム制御器とカスタム表示器を使用して、使用可能なフロントパネルオブジェクトを増やすことができます。LabVIEWの標準の制御器および表示器と外観の異なる、ユーザのアプリケーションに適したカスタムのユーザインタフェースコンポーネントを作成できます。作成したカスタム制御器または表示器をディレクトリまたはLLBに保存して別のフロントパネルで使用することができます。また、カスタム制御器および表示器のアイコンを作成して、制御器パレットに追加することもできます。カスタム制御器および表示器の作成を開始する前に、注意とアドバイスをお読みください。
カスタム制御器または表示器のすべてのインスタンスを保存したカスタム制御器または表示器のファイルにリンクさせるには、タイプ定義や指定タイプ定義を使用します。保存したカスタム制御器または表示器のファイルだけを編集することで、すべてのインスタンスを変更することができます。このファイルは、いくつかのVIで同じカスタム制御器または表示器を使用する場合に役立ちます。
![]() |
メモ また、XControlを使用して、LabVIEWで複雑な制御器および表示器を設計および作成します。カスタム制御器とは異なり、XControlにはバックグラウンドで実行されるVIで定義された実行時間と編集時間の動作が可能です。XControlの作成および編集は、LabVIEWプロフェッショナル開発システムのみで実行できます。VIにXControlが含まれる場合、LabVIEWのすべてのパッケージを使用してVIを実行することができます。 |
制御器エディタウィンドウでは、制御器と表示器をカスタマイズしたり、LabVIEWクラスのプライベートデータ制御器を定義することができます。たとえば、サイズ、カラー、および制御器や表示器の要素の相対位置を変更し、制御器または表示器に画像をインポートすることができます。
制御器エディタウィンドウは以下の方法で表示することができます。
![]() |
メモ クラスのプライベートデータ制御器を定義する場合は、制御器エディタウィンドウが開くと同時にブロックダイアグラムにクラスプライベートデータのクラスタが表示されます。また、制御器エディタウィンドウのリング制御器は、デフォルトのクラスプライベートデータから変更することができません。 |
制御器エディタウィンドウはフロントパネルのように見えますが、単一の制御器または表示器をカスタマイズする場合にのみ制御器エディタウィンドウを使用します。LabVIEWクラスでは、この単一の制御器はクラスタである必要があります。制御器エディタウィンドウにはブロックダイアグラムがなく、実行することもできません。
制御器エディタウィンドウは1つの制御器または表示器のみを含むことができます。他のサブ制御器やサブ表示器を含む配列またはクラスタ制御器または表示器をカスタマイズすることができます。配列またはクラスタ自体は単一の制御器です。配列やクラスタの外に制御器または表示器を移動すると、制御器エディタウィンドウツールバーに無効な制御器ボタンが表示されます。無効な制御器ボタンをクリックしてエラーリストウィンドウにエラーの説明を表示します。
制御器エディタウィンドウのツールバーにあるモード指示ボタンは、編集モードであるか、またはカスタマイズモード
であるかを表します。このボタンをクリックして、2つのモードを切り替えます。また、操作→カスタマイズモードに変更または操作→編集モードに変更を選択してモードを切り替えることもできます。編集モードで制御器エディタウィンドウを開きます。
フロントパネルの編集モードで行うのと同様に、編集モードを使用して制御器や表示器のサイズまたはカラーを変更し、ショートカットメニューからオプションを選択します。
カスタマイズモードを使用して制御器や表示器の各部品を変更すると、制御器や表示器の大規模な変更を行うことができます。
カスタマイズモードでは、各部品のショートカットメニューを制御器または表示器のショートカットメニュー全体に置き換えます。異なる部品には、違うショートカットメニューが割り当てられます。ショートカットメニューを使用すると、以下の操作を実行できます。
すべての制御器および表示器は複数の小さい部品で構成されています。たとえば、以下の図はスライド制御器の各部品を示します。
制御器エディタウィンドウでカスタマイズモードに切り替えると、制御器または表示器の部品が独立するので、他の部品に影響を与えることなく、各部品に変更を行うことができます。カスタマイズモードは、数値制御器の名前ラベルや基数などの編集モードで非表示の部品を含む、制御器や表示器のすべての部品を表示します。制御器または表示器のこの部品はそれぞれ分離しているので、カスタマイズモードの間に、制御器または表示器の値の操作や変更を行うことはできません。
カスタマイズモードでは、位置決めツールを使用して制御器や表示器の複数部品を選択し、ツールバーのオブジェクトを整列、オブジェクトを均等に整列、並べ替えプルダウンメニューを使用して該当部品を再配列します。
制御器部品ウィンドウを表示するには、ウィンドウ→部品ウィンドウを表示を選択します。制御器部品ウィンドウを使用して、制御器や表示器の各部品のサイズと位置を調整します。制御器部品ウィンドウは制御器や表示器の部品を識別し、各部品の正確な位置とサイズをピクセル単位で示します。
制御器部品ウィンドウの編集中の部品には、制御器エディタウィンドウで選択した画像および部品の名前が含まれます。編集中の部品表示をクリックして、制御器または表示器の部品をすべて表示し、該当部品を選択します。編集中の部品の増分矢印または減分矢印をクリックして、制御器または表示器の部品間をスクロールします。
制御器エディタウィンドウの部品を移動またはサイズ変更すると、制御器部品ウィンドウの編集中の部品セクションと部品の位置と寸法セクションで位置とサイズが更新されます。また、部品の位置と寸法セクションで直接に位置とサイズを入力し、制御器エディタウィンドウで部品を移動またはサイズを変更することもできます。この方法は、2つの部品を全く同じサイズに変更したり、2つの部品を整列させる必要がある場合に便利です。部品の位置と寸法セクションで位置とサイズの値を入力した後は、変更を有効にするために<Enter>キーを押すか、またはマウスの左ボタンをクリックします。
編集モードまたはカスタマイズモードのどちらの状態でも、制御器エディタウィンドウを使用してグラフィック、テキスト、装飾をカスタム制御器や表示器に追加することができます。クリップボードからグラフィックまたはテキストを貼り付ける、ラベリングツールを使用してラベルを作成する、または装飾体パレットから装飾を選択する場合、オブジェクトは制御器または表示器の新規の装飾部品になるので、フロントパネルに制御器または表示器を配置するとその制御器または表示器とともに新規の装飾部品が表示されます。制御器エディタウィンドウでは、装飾部品の移動、サイズ変更、階層順位の変更、または新規の装飾部品を置換することができます。フロントパネルでカスタム制御器または表示器を使用する場合、追加したすべての装飾部品のサイズを変更することができます。ただし、追加した装飾部品を移動することはできません。
装飾部品には、単一のグラフィック、異なるタイミングで表示される複数のグラフィック、それぞれ独立している複数のグラフィックを使用することができます。装飾部品をカスタマイズするには、カスタマイズモードで制御器エディタウィンドウを配置し、カスタマイズする装飾部品を右クリックします。ショートカットメニュー項目が使用可能かどうかは、装飾部品のタイプにより異なります。
単一のグラフィックの装飾部品に関するショートカットメニューは、以下の項目があります。
![]() |
メモ また、編集→貼り付けを選択して、装飾体をクリップボードの画像に置換することもできます。装飾体をファイルの画像に置換するには、装飾体を右クリックしてショートカットメニューからファイルからインポートを選択します。 |
装飾部品には、異なるタイミングで表示される複数の依存グラフィックがあります。この異なるグラフィックは同じサイズで同じ色を使用します。現在の装飾部品のグラフィックを移動したりサイズ変更すると、これに比例して他のグラフィックも同じように移動したりサイズ変更が行われます。たとえば、ブールスイッチには4つの異なるグラフィックがあります。最初のグラフィックはFALSE状態を示します。2番目のグラフィックはTRUE状態を示します。3番目のグラフィックは放されたらスイッチ状態を示します。この放されたらスイッチは、TRUEからFALSEへの遷移状態です。4番目のグラフィックは放されたらラッチ状態を示します。この放されたらラッチは、FALSEからTRUEへの遷移状態です。ブール制御器が放されたらスイッチ状態または放されたらラッチ状態にある場合、マウスボタンを放すまでブール制御器の値は変更されません。マウスボタンをクリックしてからマウスボタンを放すまでの間、ブール制御器は3番目または4番目のグラフィックを遷移状態として表示します。
複数の依存グラフィックの装飾部品に関するショートカットメニューには、単一のグラフィックの装飾部品で使用可能なすべての項目に加えて、ピクチャ項目の項目が含まれます。ショートカットメニューからピクチャ項目を選択すると、装飾部品に属するすべてのグラフィックが表示されます。現在のグラフィックの項目には周囲に太枠が付いています。グラフィックをインポートする場合は、現在のグラフィックの項目のみを変更します。他のグラフィック項目の1つにグラフィックをインポートするには、該当する部品を右クリックしてショートカットメニューからピクチャ項目を選択し、グラフィックの項目を選択して新規グラフィックをインポートします。
複数のグラフィックの装飾部品には、それぞれ違う色を使用した異なるサイズのグラフィックを設定することができます。たとえば、複数値のスライドでどちらのスライドが有効かを示すには、異なるサイズの2つのグラフィックを使用します。複数の独立したグラフィックの装飾部品に関するショートカットメニューには、単一のグラフィックと複数の依存グラフィックの装飾部品で使用可能なすべての項目に加えて、独自のサイズの項目が含まれます。ショートカットメニューから独自のサイズを選択してチェックマークを付けると、装飾部品の他のグラフィックを変更せずに、各グラフィックを個別に移動およびサイズ変更することができます。
テキスト部品は、ラベルなど、テキストを使用しているグラフィックです。テキスト部品のショートカットメニューには、単一のグラフィックの装飾部品に使用可能な項目と編集モード時のフロントパネルでテキスト要素に使用可能な項目がすべて含まれます。制御器部品ウィンドウには、テキストそのものではなく、テキスト部品の背景グラフィックのみが表示されます。テキストではなく、この背景グラフィックをカスタマイズすることができます。
制御器エディタウィンドウがカスタマイズモードにあるときのみにグラフィックをインポートできる他の制御器と表示器とは異なり、制御器エディタウィンドウが編集モードにあるとき、グラフィックをブール制御器および表示器にインポートできます。制御器エディタウィンドウが編集モードの場合にブール制御器や表示器を右クリックすると、表示されるショートカットメニューには、編集モード時のフロントパネルでブール制御器と表示器に使用可能なすべての項目に加えて、クリップボードからピクチャをインポートの項目が含まれます。
VIでカスタム制御器や表示器を配置する場合、保存したカスタム制御器や表示器とVIのカスタム制御器や表示器のインスタンスの間には接続がありません。カスタム制御器または表示器の各インスタンスは、それぞれが独立した複製となります。したがって、カスタム制御器や表示器のファイルに行う変更は、すでにこのカスタム制御器や表示器を使用しているVIには影響を与えません。カスタム制御器や表示器のインスタンスをカスタム制御器や表示器のファイルへリンクする場合、このカスタム制御器や表示器をタイプ定義または指定タイプ定義として保存してください。タイプ定義または指定タイプ定義のすべてのインスタンスは、作成した元のファイルへリンクしています。
タイプ定義または指定タイプ定義としてカスタム制御器または表示器を保存する場合、タイプ定義または指定タイプ定義に行うデータタイプの変更のすべては、このタイプ定義または指定タイプ定義を使用するすべてのVIにあるタイプ定義または指定タイプ定義のあらゆるインスタンスに影響します。また、指定タイプ定義に行う外観変更は、フロントパネル上の指定タイプ定義のすべてのインスタンスに影響を与えます。
カスタム制御器または表示器のすべてのインスタンスを保存したカスタム制御器または表示器のファイルにリンクさせるには、タイプ定義や指定タイプ定義を使用します。保存したカスタム制御器または表示器のファイルだけを編集することで、すべてのインスタンスを変更することができます。このファイルは、いくつかのVIで同じカスタム制御器または表示器を使用する場合に非常に役立ちます。
タイプ定義は、カスタム制御器または表示器の各インスタンスの正しいデータタイプを識別します。タイプ定義のデータタイプが変更されると、タイプ定義のすべてのインスタンスは自動更新されます。つまり、タイプ定義を使用する各VIで、タイプ定義のインスタンスのデータタイプが変更されます。ただし、タイプ定義はデータタイプのみを識別するため、データタイプの一部である値のみが更新されます。たとえば、数値制御器では、データ範囲はデータタイプの一部ではありません。したがって、数値制御器のタイプ定義は、タイプ定義のインスタンスのデータ範囲を指定しません。また、リング制御器の項目名はデータタイプを定義しないので、タイプ定義でリング制御器の項目名を変更しても、タイプ定義のインスタンスの項目名は変更されません。ただし、列挙体制御器のタイプ定義で項目名を変更する場合、この項目名はデータタイプの一部なのでインスタンスが更新されます。タイプ定義のインスタンスには、独自に固有のキャプション、ラベル、説明、ヒントラベル、デフォルト値、サイズ、色、制御器/表示器のスタイル(スライドやノブなど)があります。
タイプ定義でデータタイプを変更する場合、LabVIEWは可能な限り、タイプ定義のインスタンスで古いデフォルト値を新規データタイプに変換します。数値制御器または表示器を文字列制御器または表示器に置換するなど、データタイプを互換性のないタイプに変更する場合は、インスタンスのデフォルト値を保持することはできません。タイプ定義のデータタイプを以前のタイプ定義に互換性のないデータタイプに変更すると、LabVIEWではインスタンスのデフォルト値が.ctlファイルで指定したデフォルト値に設定されます。デフォルト値を指定しない場合、データタイプのデフォルト値が使用されます。たとえば、タイプ定義を数値から文字列タイプに変更する場合、古い数値データタイプに関連するすべてのデフォルト値は空の文字列に置換されます。
指定タイプ定義は、キャプション、ラベル、説明、ヒントラベル、デフォルト値以外のすべてのインスタンスを強制的に指定タイプ定義と同じにします。タイプ定義の場合と同様に、指定タイプ定義のデータタイプは、指定タイプ定義を使用する場所ではすべて同じ状態のままになります。また、指定タイプ定義は、数値制御器のデータ範囲の確認およびリング制御器の項目名の確認など、他の値も定義します。表示、無効、キーフォーカス、点滅、位置、および境界など、制御器または表示器の外観に影響するVIサーバプロパティのみが指定タイプ定義に使用可能です。
![]() |
メモ 定数を指定タイプ定義にリンクすると、反対に定数はリングが指定でないような動作をします。指定タイプ定義では、タイプ定義のすべてのインスタンスがまったく同じ装飾属性を保持している必要があります。しかし、ほとんどの装飾属性はブロックダイアグラム上で不正になります。これは、定義がブロックダイアグラム上のみにあり、装飾属性を保持しないためです。 |
インスタンスと指定タイプ定義の間のリンクを削除しない限り、指定タイプ定義のインスタンスの自動更新を回避することはできません。
フロントパネルまたはブロックダイアグラムから、タイプ定義または指定タイプ定義を作成および編集できます。タイプ定義および指定タイプ定義をカスタマイズするには、制御器エディタウィンドウで他の制御器や表示器をカスタマイズするのと同様の手法を使用します。
インスタンスを右クリックしてタイプ定義から自動更新ショートカットメニュー項目の隣にあるチェックマークを外すと、タイプ定義のデータタイプが変更する際、タイプ定義の各インスタンスの自動更新を回避することができます。タイプ定義から自動更新からチェックマークを外すと、タイプ定義のデータタイプが変更した際にインスタンスの自動更新を回避できますが、インスタンスとタイプ定義の間のリンクは保持されます。インスタンスを右クリックしてショートカットメニューからタイプ定義から切断を選択すると、インスタンスとタイプ定義の間のリンクを削除することができます。
![]() |
メモ インスタンスと指定タイプ定義の間のリンクを削除しない限り、指定タイプ定義のインスタンスの自動更新を回避することはできません。 |
タイプ定義のインスタンスの自動更新を無効にしてから、インスタンスのデータタイプを変更したり、タイプ定義のデータタイプを変更したりすると、インスタンスは淡色表示になり、実行ボタンは壊れた状態で表示されます。インスタンスを手動で更新するには、インスタンスを右クリックして、確認してタイプ定義から更新を選択して確認してタイプ定義から更新ダイアログボックスを表示します。インスタンスを更新せずにアプリケーションが実行できるようにするには、インスタンスを右クリックして、ショートカットメニューからタイプ定義から切断を選択することにより、永久的にインスタンスとタイプ定義とのリンクを削除します。
タイプ定義のインスタンスが淡色で表示されている場合は、確認してタイプ定義から更新ダイアログボックスを使用してインスタンスを手動で更新する必要があります。
タイプ定義のデータタイプを変更すると、LabVIEWはタイプ定義のすべてのインスタンスの更新を自動的に試みます。インスタンスを更新するときに、LabVIEWが以前のデフォルト値を、更新された制御器または定数にマッピングできない場合、LabVIEWはそれらのインスタンスを未解決の状態にします。未解決のインスタンスは淡色で表示され、そのインスタンスが存在するVIの実行ボタンは壊れた状態で表示されます。データマッピングの不一致を解決するには、インスタンスを手動で更新する必要があります。別の方法としては、未解決のインスタンスとタイプ定義とのリンクを削除することにより、アプリケーションを実行可能にすることができます。
インスタンスを右クリックしてショートカットメニューからタイプ定義から切断を選択すると、インスタンスとタイプ定義または指定タイプ定義の間のリンクを完全に削除することができます。タイプ定義または指定タイプ定義から切断すると、インスタンスのデータタイプの制限が取り除かれ、インスタンスは制御器または表示器になります。
タイプ定義または指定タイプ定義の各インスタンスについては、インスタンスを含むVIがタイプ定義または指定タイプ定義を保存したファイルへの接続を管理します。タイプ定義または指定タイプ定義のインスタンスを含むVIを実行するには、タイプ定義または指定タイプ定義を含むファイルをVIが利用できるようにする必要があります。VIを開いても、LabVIEWでVIに必要なタイプ定義または指定タイプ定義を検索できない場合、VIのタイプ定義または指定タイプ定義のインスタンスは無効になり、実行ボタンは壊れて表示されます。VIを実行できるようにするには、正しいタイプ定義または指定タイプ定義を検索して開きます。また、無効なインスタンスを右クリックしてショートカットメニューからタイプ定義から切断を選択し、インスタンスとタイプ定義または指定タイプ定義の間のリンクを完全に削除することもできます。
フロントパネルまたはブロックダイアグラムにタイプ定義および指定タイプ定義を配置する方法は、フロントパネルまたはブロックダイアグラムにカスタム制御器や表示器を配置する方法と同じです。フロントパネル上のタイプ定義または指定タイプ定義のインスタンスを右クリックすると、ショートカットメニューにタイプ定義のオプションが表示されます。インスタンスを右クリックしてショートカットメニューからタイプ定義を開くを選択すると、フロントパネルまたはブロックダイアグラムからタイプ定義または指定タイプ定義を開くことができます。
ブロックダイアグラム上のタイプ定義または指定タイプ定義のインスタンスの左上隅には、グリフのマークが付いています。このグリフの上にカーソルを移動すると、ヒントラベルにタイプ定義または指定タイプ定義の名前が表示されます。変更がフロントパネルのインスタンスに影響する場合と同様に、タイプ定義に行った変更は、定数としてブロックダイアグラムに配置されたインスタンスに影響します。
![]() |
メモ 指定タイプ定義を変更すると、ブロックダイアグラム上に定数として配置したインスタンスはリンクが指定ではないように動作し、LabVIEWは定数をデータタイプの変更でのみ更新します。たとえば、指定タイプ定義として保存された文字列値をリング制御器で更新すると、文字列値はリング制御器のデータタイプの一部ではないため、LabVIEWはブロックダイアグラム上に配置された指定タイプ定義のインスタンスを更新しません。 |
フロントパネルにクラスタタイプ定義またはクラスタ指定タイプ定義のインスタンスを配置する場合は、ブロックダイアグラムで「名前でバンドル」関数および「名前でバンドル解除」関数を使用してクラスタの要素にアクセスします。クラスタ順位でクラスタ要素を参照する「バンドル」関数および「バンドル解除」関数とは異なり、「名前でバンドル」関数および「名前でバンドル解除」関数は名前でクラスタ要素を参照します。したがって、クラスタタイプ定義またはクラスタ指定タイプ定義で要素を並べ替えたり新規の要素を追加しても、VIは壊れません。
「名前でバンドル」関数または「名前でバンドル解除」関数に配線されたクラスタタイプ定義またはクラスタ指定タイプ定義から要素を削除する場合、存在しない要素のリファレンスが無効になるため、ブロックダイアグラムを変更する必要があります。「名前でバンドル」関数および「名前でバンドル解除」関数の無効な名前は、黒で表示されます。選択できる有効な名前のリストを表示するには、「名前でバンドル」関数または「名前でバンドル解除」関数をクリックします。
クラスタタイプ定義またはクラスタ指定タイプ定義されている制御器のリファレンスを作成すると、そのリファレンスが指定するクラスタ内の制御器は、クラスタ順位により決定されます。このため、クラスタイプ定義またはクラス指定タイプ定義から制御器を削除すると、削除された制御器を指定していたリファレンスが、同じクラスタ内の別の制御器を指定する可能性があります。クラスタタイプ定義またはクラスタ指定タイプ定義から制御器を削除した場合、すべてのリファレンスがクラスタ内の正しい制御器を指定していることを確認してください。
役に立った
役に立たなかった