Skip to main content

SF_ModeSelector

ヒント

ここで説明する機能ブロックのバージョンは、 機能ブロックのバージョンリスト

適用される安全基準

SF_ModeSelector 認定された PLCopen 機能ブロックです。適用される標準の詳細については、「PLCopen – 技術委員会 5 – 安全ソフトウェア」を参照してください。

重要

標準に記載されている要件はユーザーが満たす必要があります。

インターフェースの説明

この機能ブロックは、手動、自動、半自動などのシステム操作モードを選択します。

名前

データタイプ

初期値

説明、パラメータ値

Activate

BOOL

FALSE

一般的な入力パラメータ

S_Mode0

SAFEBOOL

FALSE

変数または定数。

入力 0 モード選択スイッチの

FALSE: モード0はオペレータによって要求されていません

TRUE: モード 0 はオペレータによって要求されます。

S_Mode1

SAFEBOOL

FALSE

変数または定数。

モード選択スイッチの入力0

FALSE: モード1はオペレータによって要求されていない

TRUE: モード 1 はオペレータによって要求されます。

S_Mode2

SAFEBOOL

FALSE

変数または定数。

入力 2 モード選択スイッチの

FALSE: モード2はオペレータによって要求されていない

TRUE: モード 2 はオペレータによって要求されます。

S_Mode3

SAFEBOOL

FALSE

変数または定数。

入力 3 モード選択スイッチの

FALSE: モード3はオペレータによって要求されていない

TRUE: モード 3 はオペレータによって要求されます。

S_Mode4

SAFEBOOL

FALSE

変数または定数。

入力 4 モード選択スイッチの

FALSE: モード4はオペレータによって要求されていません

TRUE: モード 4 はオペレータによって要求されます。

S_Mode5

SAFEBOOL

FALSE

変数または定数。

入力 5 モード選択スイッチの

FALSE: モード5はオペレータによって要求されていない

TRUE: モード 5 はオペレータによって要求されます。

S_Mode6

SAFEBOOL

FALSE

変数または定数。

入力 6 モード選択スイッチの

FALSE: モード6はオペレータによって要求されていない

TRUE: モード 6 はオペレータによって要求されます。

S_Mode7

SAFEBOOL

FALSE

変数または定数。

入力 7 モード選択スイッチの

FALSE: モード7はオペレータによって要求されていない

TRUE: モード 7 はオペレータによって要求されます。

S_Unlock

SAFEBOOL

FALSE

変数または定数。

選択したモードをロックします。

FALSE: 現在 S_ModeXSel 出力はロックされており、 S_ModeX 入力は変化をもたらさない S_ModeXSel 設定モードの立ち上がりエッジの場合でも出力されます。

TRUE: 選択された S_ModeXSel ロックされていないため、モード選択の変更が可能です

S_SetMode

SAFEBOOL

FALSE

変数(または定数) FALSE、 万一に備えて AutoSetMode = TRUE

選択したモードを設定します。

オペレータはモードの設定を確認します。新しいモードへの変更は S_ModeX = TRUE つながる S_AnyModeSel/S_ModeXSel = FALSE、上昇のみ SetMode トリガーエッジは新しい S_ModeXSel = TRUE

AutoSetMode

BOOL

FALSE

絶え間ない

確認モードをパラメータ化します。

FALSE: モードの変更は、オペレータによって確認される必要があります。 SetMode

TRUE: 有効な変更 S_ModeX 別の入力 S_ModeX 自動的に S_ModeXSel オペレーターによる確認なしで SetMode (ロックされていない限り S_Unlock)。

ModeMonitorTime

TIME

T#0

絶え間ない

選択入力の変更に許可される最大時間。

ModeMonitorTime 注意事項を必ず守ってください。

Reset

BOOL

FALSE

一般的な入力パラメータ

モードモニター時間

拡張レベルの開発者向け: ModeMonitorTime 入力は定数値に設定する必要があります。つまり、呼び出し時に値を変更してはいけません。

24. 変数出力

名前

データタイプ

初期値

説明、パラメータ値

Ready

SAFEBOOL

FALSE

一般的な出力パラメータ

S_Mode0Sel

SAFEBOOL

FALSE

モード 0 が選択され、確認されたことを示します。

FALSE: モード 0 が選択されていないか、アクティブではありません。

TRUE: モード 0 が選択され、アクティブになります。

S_Mode1Sel

SAFEBOOL

FALSE

モード 1 が選択され、確認されたことを示します。

FALSE: モード 1 が選択されていないか、アクティブではありません。

TRUE: モード 1 が選択され、アクティブになっています。

S_Mode2Sel

SAFEBOOL

FALSE

モード 2 が選択され、確認されたことを示します。

FALSE: モード 2 が選択されていないか、アクティブではありません。

TRUE: モード 2 が選択され、アクティブになっています。

S_Mode3Sel

SAFEBOOL

FALSE

モード 3 が選択され、確認されたことを示します。

FALSE: モード 3 が選択されていないか、アクティブではありません。

TRUE: モード 3 が選択され、アクティブになっています。

S_Mode4Sel

SAFEBOOL

FALSE

モード 4 が選択され、確認されたことを示します。

FALSE: モード 4 が選択されていないか、アクティブではありません。

TRUE: モード 4 が選択され、アクティブになっています。

S_Mode5Sel

SAFEBOOL

FALSE

モード 5 が選択され、確認されたことを示します。

FALSE: モード 5 が選択されていないか、アクティブではありません。

TRUE: モード 5 が選択され、アクティブになっています。

S_Mode6Sel

SAFEBOOL

FALSE

モード 6 が選択され、確認されたことを示します。

FALSE: モード 6 が選択されていないか、アクティブではありません。

TRUE: モード 6 が選択され、アクティブになっています。

S_Mode7Sel

SAFEBOOL

FALSE

モード 7 が選択され、確認されたことを示します。

FALSE: モード 7 が選択されていないか、アクティブではありません。

TRUE: モード 7 が選択され、アクティブになっています。

S_AnyModeSel

SAFEBOOL

FALSE

8 つのモードのうち 1 つが選択され、確認されたことを示します。

FALSE: いいえ S_ModeX が選択されます。

TRUE: 8人のうちの1人 S_ModeX 選択されアクティブになります。

Error

BOOL

FALSE

一般的な出力パラメータ

DiagCode

WORD

16#0000

診断コード



58. 機能ブロック: SF_ModeSelector
機能ブロック: SF_ModeSelector


機能説明

この機能ブロックは、手動、自動、半自動などのシステム操作モードを選択します。コントローラを起動するときは、マシンが安全モードにあると想定する必要があります。マシンを起動するときは、モードセレクターによって設定されたモードへの移行をデバイス入力(マシンのスタートボタンなど)によって開始する必要があります。

デフォルト状態後のFBの有効化は、 ModeChanged 状態。これはFBの安全な状態であり、 S_ModeXSel そして S_AnyModeSelFALSE

. FB が ModeChanged 状態の場合:
  • 新しい S_ModeX 入力は上昇で確認する必要がある S_SetMode トリガーエッジ(場合 AutoSetMode = FALSE)、そして新たな S_ModeXSel 出力。

  • 新しい S_ModeX 入力すると自動的に S_ModeXSel 出力(場合 AutoSetMode = TRUE)。

  • このような状態からの移行 80058000 1つだけ有効です S_ModeX 入力は TRUE. すべてが S_ModeX がFALSEの場合、FBは状態のままです 8005、 たとえ S_SetMode トリガー。

からの移行 ModeChangedModeSelected 状態、つまり S_SetMode オペレータによって設定され、タイマーによって監視されません。

FBが ModeSelected 状態、新しい S_ModeX 入力(優先度が高い)と NOT S_Unlock 信号(優先度が低い)は、 ModeChanged 州。

S_ModeX モード選択に使用されない入力パラメータにはデフォルト値を割り当てる必要がある FALSE プログラムの検証を簡素化します。

注意

AutoSetMode S-PLC の起動時に危険が発生しないことが保証されている場合にのみ、入力をアクティブにする必要があります。

ステータス図

59. ステータス図: SF_Modeselector
ステータス図: SF_Modeselector


ヒント

注: 任意の状態から Idle 州、によって開始された Activate = FALSEは表示されません。いずれの場合も、これらの遷移が最も優先されます。

典型的なタイミング図

60. タイミング図 1: SF_ModeSelector
タイミング図 1: SF_ModeSelector


61. タイミング図 2: SF_ModeSelector、モード入力のエラー条件 2
タイミング図 2: SF_ModeSelector、モード入力のエラー条件 2


62. タイミング図3: SF_ModeSelector
タイミング図3: SF_ModeSelector


エラー検出

. FBはモード入力がいずれも選択されていないことを検出します。この無効な状態は、 ModeMonitorTime 有効期限:
  • トリガーエッジの立ち下がりごとに再起動します S_ModeX 入力

  • それは ModeChanged FB の起動後の状態です。

対照的に、FBは、複数の S_ModeX 入力が同時に選択されます。

FBがエラー状態にある場合、静的リセット条件が検出されます。 C001 または C002

エラー動作

エラーイベントの場合、 S_ModeXSel そして S_AnyModeSel 出力は安全状態に設定されます(FALSE)。 DiagCode 入力すると関連するエラーコードが表示され、 Error 出力は TRUE

エラーは、 Reset BOOL FBはエラー状態から ModeChanged 州。

FB固有のステータスとエラーコード

25. FB固有のエラーコード

DiagCode

像名

ステータスの説明と出力設定

16#C001

Error

Short-circuit

FBは2つ以上の S_ModeX TRUE です (たとえば、回線の短絡)。

Ready = TRUE

Error = TRUE

S_AnyModeSel = FALSE

全て S_ModeXSel = FALSE

16#C002

Error

Open-circuit

FBは、すべての S_ModeXFALSE落下後の時間間隔 S_ModeX トリガーエッジが ModeMonitorTime を超える (たとえば、ラインの短絡)

Ready = TRUE

Error = TRUE

S_AnyModeSel = FALSE

全て S_ModeXSel = FALSE

16#C003

Reset Error 1

ステータスで静的リセット信号が検出されました C001

Ready = TRUE

Error = TRUE

S_AnyModeSel = FALSE

全て S_ModeXSel = FALSE

16#C004

Reset Error 2

ステータスで静的リセット信号が検出されました C002

Ready = TRUE

Error = TRUE

S_AnyModeSel = FALSE

全て S_ModeXSel = FALSE



26. FB固有のステータスコード(エラーなし)

DiagCode

像名

ステータスの説明と出力設定

16#0000

Idle

機能ブロックはアクティブではありません(基本状態)。

Ready = FALSE

Error = FALSE

S_AnyModeSel = FALSE

全て S_ModeXSel = FALSE

16#8005

ModeChanged

有効化後の状態または S_ModeX 変更された(ロックを除く)か、エラーステータスのリセット後

Ready = TRUE

Error = FALSE

S_AnyModeSel = FALSE

全て S_ModeXSel = FALSE

16#8000

ModeSelected

有効なモード選択ですが、まだロックされていません。

Ready = TRUE

Error = FALSE

S_AnyModeSel = TRUE

S_ModeXSel = 選択済み XTRUE; その他は FALSE

16#8004

ModeLocked

有効なモード選択がロックされています。

Ready = TRUE

Error = FALSE

S_AnyModeSel = TRUE

S_ModeXSel = 選択済み XTRUE; その他は FALSE