# ボタンスイッチ2

マニュアル > ライブラリ リファレンス > 部品ライブラリ > 基本部品 > # ボタンスイッチ2 |

ボタンスイッチ2

| ボタンスイッチ2は、2つのボタンによるON/OFF操作のための部品です。 現在の状態をボタンの表示色としてランプ表示するランプ機能も備えており、ランプ兼スイッチとして使うこともできます。

出力先のタグを出力タグ（_TagOut）、出力タグ2（_TagOut2）に指定します。１点のみの出力の場合は_TagOutのみ、２点出力の場合は_TagOut、_TagOut2にタグパスを指定できます。

ランプ機能を有効にする場合は、表示対象とするタグを入力タグ（_TagIn）、入力タグ2（_TagIn2）に指定します。１点のみの入力の場合は_TagInのみ、２点入力の場合は_TagIn、_TagIn2にタグパスを指定できます。但しボタンスイッチ2部品においては、通常は入力タグを使用せずに、主にスイッチ機能として利用することを想定しています。

また、入力タグとは別にフォルト識別タグ（_TagFault）にフォルト識別用のタグを指定することにより、下位側から受け取った機器異常などの信号をもとにフォルト表示とすることもできます。

カスタムプロパティ

タグ設定 | 入力タグ | _TagIn | 入力タグのタグパスを指定します。
| 入力タグ2 | _TagIn2 | 入力タグ2のタグパスを指定します。２点入力の場合のみ使用します。
| 出力タグ | _TagOut | 出力タグのタグパスを指定します。
| 出力タグ2 | _TagOut2 | 出力タグ2のタグパスを指定します。２点出力の場合のみ使用します。
| フォルト識別タグ | _TagFault | フォルト識別タグのタグパスを指定します。
値／スイッチ設定 | ON値 | _RaiseValue | ONとみなす値を設定します。デフォルトでTrueが設定されています（「1」としても同意）。対象とする信号のON/OFFの意味合いに合わせて、True以外の値を設定することもできます。スイッチ操作によりタグに書き込むON値についても、同プロパティの値が採用されます。
| OFF値 | _LowerValue | OFFとみなす値を設定します。デフォルトでFalseが設定されています(「0」としても同意)。対象とする信号のON/OFFの意味合いに合わせて、False以外の値を設定することもできます。スイッチ操作によりタグに書き込むOFF値についても、同プロパティの値が採用されます。
| 検出待ち時間 | _DiscrepancyTimeout | 2点入力の場合に、_TagIn、_TagIn2の入力値が矛盾した状態がここで指定した時間（ミリ秒）継続した場合に、異常時色（_AbnormalColor）で表示します（矛盾した状態とは、例えば_TagIn、_TagIn2がいずれもTrueの状態など）。
| スイッチタイプ | _SwitchType | スイッチタイプを選択します。 •A_SWITCH ・・・押している間ON、離すとOFF •B_SWITCH ・・・押している間OFF、離すとON •ON_SWITCH ・・・押すとON出力（OFF出力なし） •OFF_SWITCH ・・・押すとOFF出力（ON出力なし） •ALTERNATE_SWITCH ・・・押すたびにON/OFFを切り替えて出力
表示設定 | キャプション | _Caption | キャプションを指定します。
| ボタン1 | _Label | ボタン1（左ボタン）のラベルを指定します。
| ボタン2 | _Label2 | ボタン2（右ボタン）のラベルを指定します。
表示色設定 | ボタン1塗り色 | _Btn1FillColor | ボタン1（左ボタン）の初期塗り色を指定します。
| ボタン2塗り色 | _Btn2FillColor | ボタン2（右ボタン）の初期塗り色を指定します。
| ON色 | _LampOnColor | ランプのON表示色を指定します。
| OFF色 | _LampOffColor | ランプのOFF表示色を指定します。
| 異常時色 | _LampAbnormalColor | 異常時の表示色を指定します。入力値の異常値検出時（入力値が矛盾した状態）の表示色となります。
| NULL色 | _LampNullColor | NULL表示色を指定します。NULL色とは、入力タグに値が取得できていない間（たとえば画面表示直後など）、または、フォルト状態の時のランプ表示色となります。
| キャプション色 | _CaptionColor | キャプションの色を指定します。
| ボタン1文字色 | _Btn1TextColor | ボタン1のラベルの色を指定します。@AutoColorとすることで、塗りの色に対して最適な文字色で表示されます。
| ボタン2文字色 | _Btn2TextColor | ボタン2のラベルの色を指定します。@AutoColorとすることで、塗りの色に対して最適な文字色で表示されます。
| 背景パネル | _BackPanelColor | 背景パネルの色を指定します。
入力補助設定 | 確認画面表示 | _IsConfirm | 有効にすると、操作時に確認ダイアログが表示されます。尚、スイッチタイプがA_SWITCH、B_SWITCHの場合は、本プロパティを有効にしても確認画面は表示されません。
| 確認メッセージ | _ConfirmMsg | 確認画面で表示される確認メッセージを指定します。
| エラーメッセージ | _ErrorMsg | 書き込みエラー時のエラーメッセージを指定します。

スイッチタイプと出力値

各スイッチタイプにおける出力タグへの出力値は以下のとおりです。

スイッチタイプ | 出力タグ点数 | 仕様
A_SWITCH | １点出力 | •ボタン2（ONボタン）を押した時、_TagOutに_RaiseValueを書き込む。ボタン2を離したとき、_TagOutに_LowerValueを書き込む。 •ボタン1（OFFボタン）を押した時、_TagOutに_LowerValueを書き込む。ボタン1を離したとき、何も書き込まない。
| ２点出力 | •ボタン2（ONボタン）を押したとき、_TagOutに_RaiseValueを書き込む。ボタン2を離したとき、_TagOutに_LowerValueを書き込む。 •ボタン1（OFFボタン）を押したとき、_TagOut2に_RaiseValueを書き込む。ボタン1を離したとき、_TagOut2に_LowerValueを書き込む。
B_SWITCH | １点出力 | •ボタン2（ONボタン）を押した時、_TagOutに_LowerValueを書き込む。ボタン2を離したとき、_TagOutに_RaiseValueを書き込む。 •ボタン1（OFFボタン）を押した時、_TagOutに_RaiseValueを書き込む。ボタン1を離したとき、何も書き込まない。
| ２点出力 | •ボタン2（ONボタン）を押したとき、_TagOutに_LowerValueを書き込む。ボタン2を離したとき、_TagOutに_RaiseValueを書き込む。 •ボタン1（OFFボタン）を押したとき、_TagOut2に_LowerValueを書き込む。ボタン2を離したとき、_TagOut2に_RaiseValueを書き込む。
ON_SWITCH | １点出力 | •ボタン2（ONボタン）を押すと、_TagOutに_RalseValueを書き出す。 •ボタン1（OFFボタン）を押すと、_TagOutに_LowerValueを書き出す。
| ２点出力 | •ボタン2（ONボタン）を押すと、_TagOutに_RalseValueを書き出す。 •ボタン1（OFFボタン）を押すと、_TagOut2に_RaiseValueを書き出す。
OFF_SWITCH | １点出力 | •ボタン2（ONボタン）を押すと、_TagOutに_LowerValueを書き出す。 •ボタン1（OFFボタン）を押すと、_TagOutに_RaiseValueを書き出す。
| ２点出力 | •ボタン2（ONボタン）を押すと、_TagOutに_LowerValueを書き出す。 •ボタン1（OFFボタン）を押すと、_TagOut2に_LowerValueを書き出す。
ALTERNATE_SWITCH | １点出力 | •ボタン2（ONボタン）を押すと、_TagOutに_RalseValueを書き出す。 •ボタン1（OFFボタン）を押すと、_TagOutに_LowerValueを書き出す。
| ２点出力 | •ボタン2（ONボタン）を押すと、_TagOutに_RaiseValueを、_TagOut2に_LowerValueを書き込む。 •ボタン1（OFFボタン）を押すと、_TagOutに_LowerValueを、_TagOut2に_RaiseValueを書き込む。

使用例

1) 入力なし／１点出力

出力タグを指定すると、１点出力のスイッチとして動作します。スイッチの動作はスイッチタイプ（_SwitchType）の設定に従います。

_TagIn　・・・未使用

_TagIn2　・・・未使用

_TagOut　・・・出力タグのタグパスを指定

_TagOut2　・・・未使用

_TagFault　・・・任意

_SwitchType　・・・目的に応じたスイッチタイプを選択

以下はスイッチタイプ「ON_SWITCH」の場合の動作例です。

| ボタン2（ONボタン）をクリックすると、出力タグにON値を書き込みます。 入力タグの指定がないため、表示色は変化しません。

| ボタン1（OFFボタン）をクリックすると、出力タグにOFF値を書き込みます。 同じく、表示色は変化しません。

| 出力タグの品質フラグがBADの時、又はフォルト識別タグがTrueの時、フォルト表示となります。 フォルト時は黄色枠の点滅状態となり、ボタン操作が無効とます。

| 入力タグを省略する場合、通信異常時をフォルト状態としたい場合はフォルト識別タグを指定してください。入力タグとフォルト識別タグをいずれも省略すると、通信異常（品質フラグBAD）を取得できないため、フォルト表示となりません。

| 部品が張り付けられたフォームの「FocusHover」プロパティをTrueに設定することで、操作対象の部品上にマウスカーソルをあわせた際にフォーカス枠を表示させることができます。

2) 入力なし／２点出力

出力タグ、出力タグ2の両方にタグを指定すると、２点出力のスイッチとして動作します。スイッチの動作はスイッチタイプ（_SwitchType）の設定に従います。

_TagIn　・・・未使用

_TagIn2　・・・未使用

_TagOut　・・・出力タグのタグパスを指定

_TagOut2　・・・出力タグ2のタグパスを指定

_TagFault　・・・任意

_SwitchType　・・・目的に応じたスイッチタイプを選択

以下はスイッチタイプ「ALTERNATE_SWITCH」の場合の動作例です。

| ボタン2（ONボタン）をクリックすると、出力タグにON値、出力タグ2にOFF値が書き込まれます。 入力タグの指定がないため、表示色は変化しません。

| ボタン1（OFFボタン）をクリックすると、出力タグにOFF値、出力タグ2にON値が書き込まれます。 同じく、表示色は変化しません。

フォルト時の動作は１点入力の場合と同様です。

3) １点入力／１点出力

入力タグを指定すると、ランプ兼スイッチとして動作します。ON/OFFの状態を１点のタグのみで識別します。入力タグ（_TagIn）の値がON値（_RaiseValue）のときをON、入力タグ（_TagIn）の値がOFF値（_LowerValue）のときをOFFとしてランプ表示します。スイッチの動作はスイッチタイプ（_SwitchType）の設定に従います。

尚、１点入力／１点出力のランプ兼スイッチとして利用する場合、スイッチタイプはON_SWITCH、OFF_SWITCH、ALTERNATE_SWITCHのいずれかを使用します。A_SWITCH、B_SWITCHはランプ表示での使用には適しません。

_TagIn　・・・入力タグのタグパスを指定

_TagIn2　・・・未使用

_TagOut　・・・出力タグのタグパスを指定

_TagOut2　・・・未使用

_TagFault　・・・任意

_SwitchType　・・・目的に応じたスイッチタイプを選択

以下はスイッチタイプ「ALTERNATE_SWITCH」の場合の動作例です。

| 現状は入力タグがOFF値の状態です。 ここで、ボタン2（ONボタン）をクリックすると出力タグにON値が書き込まれます。

| ボタン1（OFFボタン）が消灯し、ボタン2（ONボタン）がON色になりました。 ここで、ボタン1（OFFボタン）をクリックすると出力タグにOFF値が書き込まれます。

| ボタン2（ONボタン）が消灯し、ボタン1（OFFボタン）がOFF色になりました。

| 出力タグの品質フラグがBADの時、又はフォルト識別タグがTrueの時、フォルト表示となります。 フォルト時は黄色枠の点滅状態となり、ボタン操作が無効とます。

| 入出力ともに同じタグの場合は、入力タグと出力タグに同じタグパスを指定します。

4) ２点入力／２点出力

入力タグ、入力タグ2を指定すると、２点入力のランプ兼スイッチとして動作します。ON/OFFの状態を２点のタグで識別し、入力タグの値がON値（_RaiseValue）かつ入力タグ2の値がOFF値（_LowerValue）のときを「ON」として、入力タグの値がOFF値（_LowerValue）かつ入力タグ2の値がON値（_RaiseValue）のときを「OFF」としてランプ表示します。スイッチの動作はスイッチタイプ（_SwitchType）の設定に従います。

尚、２点入力／２点出力のランプ兼スイッチとして利用する場合、スイッチタイプはALTERNATE_SWITCHを使用します。その他のスイッチタイプはランプ表示での使用には適しません。

_TagIn　・・・入力タグのタグパスを指定

_TagIn2　・・・入力タグ2のタグパスを指定

_TagOut　・・・出力タグのタグパスを指定

_TagOut2　・・・出力タグ2のタグパスを指定

_TagFault　・・・任意

_SwitchType　・・・ALTERNATE_SWITCH

以下はスイッチタイプ「ALTERNATE_SWITCH」の場合の動作例です。

| 現状は入力タグがOFF値、入力タグ2がON値の状態です。 ここで、ボタン2（ONボタン）をクリックすると、出力タグにON値が、出力タグ2にOFF値が書き込まれます。

| ボタン1（OFFボタン）が消灯し、ボタン2（ONボタン）がON色になりました。 ここで、ボタン1（OFFボタン）をクリックすると、出力タグにOFF値が、出力タグ2にON値が書き込まれます。

| ボタン2（ONボタン）が消灯し、ボタン1（OFFボタン）がOFF色になりました。

| 入力タグと入力タグ2の値が矛盾した状態が検出待ち時間継続すると（例えば、入力タグ、入力タグ2がいずれもFalseの時など）、ランプ表示が異常表示色となります（デフォルトでは塗りを黄色点滅）。

フォルト時の動作は１点入力の場合と同様です。

| １点入力の場合、入力タグの値がON値、OFF値のいずれとも異なる値となった場合にランプ表示を異常表示色とします。この場合は検出待ち時間は適用されず、即座に表示色が切り替わります。

5) 確認画面表示

確認画面表示（_IsConfirm）を有効にすると、書き込み操作時に確認ダイアログ（Yes/No）が表示されます。

| ダイアログでYesが選択されるとタグに値が書き込まれます。