# ボタンスイッチ1

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

ボタンスイッチ1

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

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

ランプ機能を有効にする場合は、表示対象とするタグを入力タグ（_TagIn）、入力タグ2（_TagIn2）に指定します。１点のみの入力の場合は_TagInのみ、２点入力の場合は_TagIn、_TagIn2にタグパスを指定できます。

また、入力タグとは別にフォルト識別タグ（_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を切り替えて出力 ※スイッチタイプをALTERNATE_SWITCHとする場合、入力タグの指定が必要。
表示設定 | キャプション | _Caption | キャプションを指定します。
| ボタン | _Label | ボタンのラベルを指定します。
表示色設定 | ボタン塗り色 | _BtnFillColor | ボタンの初期表示色を指定します。
| ON色 | _LampOnColor | ランプのON表示色を指定します。
| OFF色 | _LampOffColor | ランプのOFF表示色を指定します。
| 異常時色 | _LampAbnormalColor | 異常時の表示色を指定します。入力値の異常値検出時（入力値が矛盾した状態）の表示色となります。
| NULL色 | _LampNullColor | NULL表示色を指定します。NULL色とは、入力タグに値が取得できていない間（たとえば画面表示直後など）、または、フォルト状態の時のランプ表示色となります。
| キャプション色 | _CaptionColor | キャプションの色を指定します。
| ボタン文字色 | _BtnTextColor | ボタンのラベルの色を指定します。@AutoColorとすることで、塗りの色に対して最適な文字色で表示されます。
| 背景パネル | _BackPanelColor | 背景パネルの色を指定します。
入力補助設定 | 確認画面表示 | _IsConfirm | 有効にすると、操作時に確認ダイアログが表示されます。尚、スイッチタイプがA_SWITCH、B_SWITCHの場合は、本プロパティを有効にしても確認画面は表示されません。
| 確認メッセージ | _ConfirmMsg | 確認画面で表示される確認メッセージを指定します。
| エラーメッセージ | _ErrorMsg | 書き込みエラー時のエラーメッセージを指定します。

スイッチタイプと出力値

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

スイッチタイプ | 出力タグ点数 | 仕様
A_SWITCH | １点出力 | •スイッチを押したとき、_TagOutに_RalseValueを書き込む。 •スイッチを離したとき、_TagOutに_LowerValueを書き込む。
| ２点出力 | •スイッチを押したとき、_TagOutに_RalseValueを、_TagOut2に_LowerValueを書き込む。 •スイッチを離したとき、_TagOutに_LowerValueを、_TagOut2に_RaiseValueを書き込む。
B_SWITCH | １点出力 | •スイッチを押したとき、_TagOutに_LowerValueを書き込む。 •スイッチを離したとき、_TagOutに_RaiseValueを書き込む。
| ２点出力 | •スイッチを押したとき、_TagOutに_LowerValueを、_TagOut2に_RaiseValueを書き込む。 •スイッチを離したとき、_TagOutに_RaiseValueを、_TagOut2に_LowerValueを書き込む。
ON_SWITCH | １点出力 | •スイッチを押すと、_TagOutに_RalseValueを書き込む。
| ２点出力 | •スイッチを押すと、_TagOutに_RalseValueを、_TagOut2に_LowerValueを書き込む。
OFF_SWITCH | １点出力 | •スイッチを押すと、_TagOutに_LowerValueを書き込む。
| ２点出力 | •スイッチを押すと、_TagOutに_LowerValueを、_TagOut2に_RaiseValueを書き込む。
ALTERNATE_SWITCH | １点出力 | •スイッチを押すと入力タグの状態を反転した値を書き込む。入力タグがON状態のときは_TagOutに_LowerValueを、入力タグがOFF状態のときは_TagOutに_RaiseValueを書き込む。
| ２点出力 | •スイッチを押すと入力タグの状態を反転した値を書き込む。入力タグがON状態のときは_TagOutに_LowerValue、_TagOut2に_RaiseValueを書き込み、入力タグがOFF状態のときは_TagOutに_RaiseValue、_TagOut2に_LowerValueを書き込む。

使用例

1) 入力なし／１点出力

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

_TagIn　・・・未使用

_TagIn2　・・・未使用

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

_TagOut2　・・・未使用

_TagFault　・・・任意

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

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

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

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

| ボタンスイッチ1の仕様として、スイッチタイプがA_SWITCH、B_SWITCH、ON_SWITCH、OFF_SWITCHの場合は入力タグを指定しなくてもスイッチ機能のみで動作します。一方、ALTERNATE_SWITCHについては入力タグの指定が必須となります（入力タグの値を反転して出力するため）。入力タグが未設定の状態でALTERNATE_SWITCHを選択した場合、出力値の動作は保障されません。

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

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

2) 入力なし／２点出力

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

_TagIn　・・・未使用

_TagIn2　・・・未使用

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

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

_TagFault　・・・任意

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

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

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

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

3) １点入力／１点出力

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

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

_TagIn2　・・・未使用

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

_TagOut2　・・・未使用

_TagFault　・・・任意

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

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

| 初期状態です。入力タグの値に応じてボタンの表示色は変化します。 ボタンクリックにより、入力タグのON値／OFF値を反転した値を出力タグに書き込みます。 左記は現状がOFF値のためON値が書き込まれます。

| ON値が出力タグに書き込まれた結果、入力タグがON値となり、ランプ表示がON色になりました。

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

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

| ボタンスイッチ1の仕様として、スイッチタイプがALTERNATE_SWITCHについては入力タグの指定が必須ですが、入力タグを設定する事でランプ表示が有効となるため、ON/OFFに応じてボタンの色が変化する動作となります。もしも、ALTERNATE_SWITCHを使用したいがランプ表示を行いたくないような場合は（ON/OFF値の反転出力のみを行いたい場合など）、ON色（_LampOnColor）、ON色（_LampOnColor）に同じ色を設定することで対応します。

4) ２点入力／２点出力

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

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

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

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

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

_TagFault　・・・任意

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

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

| ボタンクリックにより、入力タグのON値／OFF値を反転した値を出力タグ、出力タグ2に書き込みます。 左記はOFF値の状態のため、出力タグにON値、出力タグ2にOFF値が書き込まれます。

| 出力タグにON値、出力タグ2にOFF値が書き込まれた結果、ランプ表示がON色になりました。

| もう一度クリックすると、出力タグにOFF値、出力タグ2にON値が書き込まれ、ランプ表示がOFF色になりました。

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

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

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

5) 確認画面表示

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

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