Skip to main content

安全関連機能ブロックの一般規則

これらのプログラミングルールは、PLCopenの「安全関連機能ブロックの一般ルール」に対応しています。これらは、PLCopen準拠の機能ブロックに適用されます。

機能ブロック固有のルール

重要

PLCopen機能ブロックを使用する場合、ユーザーは、アプリケーションで機能ブロックが各サイクルで少なくとも1回呼び出されることを確認する必要があります。

デフォルト信号

安全関連のすべてのブールI/O信号には、デフォルトの安全値があります FALSE

信号レベル

の値 SAFEBOOL 次のようにのみ適用されます。

  • 0:システム出力で定義された安全性に対応

  • 1:システムの安全面が正しく動作していることを意味します。たとえば、通常の動作が可能です。

これは、デフォルト値のルールやすべての出力がに設定されているなど、IEC61131環境の機能を反映しています。 0 エラーの場合。

I/Oパラメータがありません

欠落しているパラメーターは許可されます。デフォルト値が適用されます。これらのデフォルト値は、いかなる状況においても危険な状態につながることはありません。属性を含むデフォルト値(Variable オーダー Constant)、関連するFB仕様で指定されています。

動作を開始する

最初は、出力はデフォルト値に設定されています。機能ブロックの最初の呼び出しの後、出力は有効です。一貫した開始動作(コールドスタート)があります。

タイミング図

FBに示されているタイミング図は、説明のためにのみ提供されています。これらは正確なタイミング動作を表すものではありません。正確なタイミング動作は、実装によって異なります。

エラー処理と診断

すべての安全関連機能ブロックには、2つのエラー関連出力があります。 ErrorDiagCode。これらは、システムまたはハードウェアレベルでの診断ではなく、ユーザーアプリケーションレベルでの診断目的で提供されます。

安全関連環境のルールは、安全関連機能の切り替えが最優先されることです。さらに、次の切り替えには、関数型プログラムまたはオペレーター・インターフェースのいずれかで、診断のための十分な時間が必要です。

一般的な入力パラメータ

名前

データ・タイプ

説明

Activate

BOOL

FBのアクティブ化のための変数または定数

初期値は FALSE

このパラメータは、関連する安全装置のステータス(アクティブまたは非アクティブ)を表す変数に接続できます。これにより、デバイスが無効になっている場合でも、無関係な診断情報が生成されないようになります。

FALSE:すべての出力変数は初期値に設定されます。

デバイスが接続されていない場合、静的 TRUE 信号を割り当てる必要があります。

S_<安全関連の入力名>

SAFExxxx

毎日 SAFExxxx タイプ入力名はで始まります S_

変数のみを割り当てることができます。

S_StartReset

SAFEBOOL

可変または定数

FALSE (初期値): 自動リセットは無効です。による手動リセット Reset 入力

TRUE:セーフティコントローラ起動時の自動リセット(ウォームまたはコールド)

に注意してください 安全上の注意事項 S_StartReset

S_AutoReset

SAFEBOOL

可変または定数

FALSE (初期値): 自動リセットは無効です。による手動リセット Reset 非常停止スイッチを放したときに入力します。

TRUE:非常停止スイッチを放すと自動復帰します。

に注意してください 安全上の注意事項 S_AutoReset

Reset

BOOL

変数。初期値は FALSE

機能に応じて、この入力はさまざまな目的に使用できます。

  • ステートマシンのリセット、およびエラーメッセージとステータスメッセージの結合 DiagCode、エラーの原因が取り除かれたとき。このリセット動作は、エラーリセットとして設計されています。

  • オペレーターによる再起動インターロックの手動リセット。このリセットは、機能リセットとして設計されています。

  • 追加のFB固有のリセット機能

この機能は、からの信号変化時にのみアクティブになります FALSETRUE。静的 TRUE シグナルはそれ以上のアクションを引き起こしませんが、一部の機能ブロックでエラーとして検出される場合があります。

に注意してください 安全上の注意事項 Reset

適切な意味は、すべての機能ブロックに記述されている必要があります。

安全上の注意事項 S_StartReset

S_StartReset

この自動始動は、安全コントローラーの始動時に危険が発生しないことが保証されている場合にのみアクティブにする必要があります。したがって、機能ブロックの「自動開始」機能を使用するには、他のシステムまたはアプリケーション対策を実装する必要があります。これにより、予期しない(または意図しない)起動が発生しないようにする必要があります。

注意

入力が変数にリンクされている場合(リンクされていない場合) FALSE)、追加の検証手段を定義する必要があります。

安全上の注意事項 S_AutoReset

注意

自動再起動は、緊急停止ボタンを離して機械が再起動しないことが保証されている場合にのみアクティブにする必要があります。したがって、機能ブロックの「自動再起動」機能を使用するには、他のシステムまたはアプリケーション対策を実装する必要があります。これにより、マシンの予期しない(または意図しない)再起動が発生しないようにする必要があります。

注意

入力が変数にリンクされている場合(リンクされていない場合) FALSE)、追加の検証手段を定義する必要があります。

安全上の注意事項 Reset

注意

A SAFEBOOL の代わりに接続する必要があります BOOL 安全要件に応じて。参照:機能ブロック: SF_ResetButton

一般的な出力パラメータ

名前

データ・タイプ

説明

Ready

BOOL

TRUE:機能ブロックがアクティブで、出力結果が有効であることを示します(セーフティリレーの「POWER」LEDと同じ)。

FALSE:機能ブロックがアクティブでなく、プログラムが実行されていません。デバッグモードで、または追加の機能ブロックをアクティブ化/非アクティブ化するのに役立ちます。関数型プログラムでのさらなる処理にも役立ちます。

S_<安全関連の出力名>

SAFExxxx

毎日 SAFExxxx データ型の出力名はで始まります S_

SafetyDemand

BOOL

FBがアクティブであり、主要な安全機能が要求されていることを示す出力(たとえば、安全機能に関連する)。その他の安全関連の入力パラメータは考慮されません(例: SafetyActiveEDM)。安全ループは閉じられておらず、関連する安全出力には安全状態が要求されます。エラーはありません。

TRUE:安全要求

FALSE:安全要求なし

ResetRequest

BOOL

リセット機能を押して続行するようにオペレーターに信号を送るために使用できる出力

TRUE:オペレーターのリセットが要求されました

FALSE:オペレーターのリセットは要求されていません

Error

BOOL

エラーフラグ(セーフティリレーの「K1 / K2」LEDと同じ)

TRUE:TRUEの場合、エラーが発生し、FBがエラー状態にあることを示します。関連するエラー状態は、 DiagCode 出力。

FALSE:エラーがなく、FBが別の状態にあることを示します。これもまたミラーリングされています DiagCode

デバッグモードだけでなく、関数型プログラムでのさらなる処理にも役立ちます。

DiagCode

WORD

診断レジスタ

FBのすべての状態(ActiveNot Active、 と Error)はこのレジスタで表されます。この情報は、16を超えるコードを表すために、16進形式でエンコードされます。同時に表示される一貫性のあるコードは1つだけです。複数のエラーが発生した場合、 DiagCode 出力は、最初に検出されたエラーを示します。

デバッグモードだけでなく、関数型プログラムでのさらなる処理にも役立ちます。

診断コード

透過的でユニークな診断コンセプトは、すべての機能ブロックの基礎を形成します。したがって、サプライヤの実装に関係なく、統一された診断情報が次の形式でユーザーに提供されることが保証されます。 DiagCode。エラーが存在しない場合は、機能ブロック(ステートマシン)の内部ステータスが示されます。エラーはバイナリ出力を介して示されます(Error)。内部または外部の機能ブロックエラーに関する詳細情報は、次の方法で取得できます。 DiagCode。機能ブロックは、さまざまなリセット入力を介してリセットする必要があります。

4. 一般的な診断コード

DiagCode

説明

0000_0000_0000_0000 置き場

0000 ヘックス

FBはアクティブ化されていません。このコードはアイドル状態を表します。一般的な例として、のI/O設定は次のようになります。

Activate = FALSE

S_In = FALSE また TRUE

Ready = FALSE

Error = FALSE

S_Out = FALSE

SafetyDemand = FALSE

ResetRequest = FALSE

1000_0000_0000_0000 置き場

8000 ヘックス

FBは、エラーまたは安全出力をに設定するその他の条件なしでアクティブ化されます。 FALSE。これは、デフォルトの動作状態です。 S_Out 安全出力= TRUE 通常の操作では。一般的な例として、のI/O設定は次のようになります。

Activate = TRUE

S_In = TRUE

Ready = TRUE

Error = FALSE

S_Out = TRUE

SafetyDemand = FALSE

ResetRequest = FALSE

1000_0100_0000_0001 置き場

8401 ヘックス

FBによってアクティブ化が検出され、FBがアクティブ化されましたが、 S_Out 安全出力はに設定されます FALSE。このコードは、動作モードの初期化状態を表します。一般的な例として、のI/O設定は次のようになります。

Activate = TRUE

S_In = TRUE

Ready = TRUE

Error = FALSE

S_Out = FALSE

SafetyDemand = FALSE

ResetRequest = TRUE

1000_1000_0000_0010 置き場

8802 ヘックス

アクティブ化されたFBは、安全要求を検出します。 S_In = FALSE。安全出力が無効になっています(S_Out = FALSE)。一般的な例として、のI/O設定は次のようになります。

Activate = TRUE

S_IN = FALSE

Ready = TRUE

Error = FALSE

S_Out = FALSE

SafetyDemand = TRUE

ResetRequest = FALSE

1000_0100_0000_0011 置き場

8403 ヘックス

起動されたFBの安全出力は、安全要求によって無効にされています。安全要求は現在撤回されていますが、安全出力は残っています FALSE リセット状態が検出されるまで。これは、 S_Out 安全出力= FALSE。一般的な例として、のI/O設定は次のようになります。

Activate = TRUE

S_In = FALSE => TRUE (静的に続行 TRUE)。

Ready = TRUE

Error = FALSE

S_Out = FALSE

SafetyDemand = TRUE ==> FALSE

ResetRequest = FALSE ==> TRUE



5. システム固有またはデバイス固有のコード

DiagCode

説明

0xxx_xxxx_xxxx_xxxx 置き場

X=システムまたはデバイス固有のメッセージ。この情報には、システムまたはデバイスの診断情報が含まれており、 DiagCode 出力。

ノート: 0000 ヘックス 予約されています。



一般的な状態図

9. セーフティ FB の一般的な状態図
セーフティ FB の一般的な状態図


. 一般的な状態図の説明:
  • 状態と遷移の一般的な概要が表示されます。一部のトランジションはここでは名前が付けられていません。これは、それらがFB固有であり、関連するFBで記述されていることを意味します。

  • この図は、次の3つの領域を示しています。

    • 上部では、FBはアクティブではありません。安全な状態です(安全な出力は FALSE)。

    • 真ん中で、FBはアクティブです。安全な状態です(安全な出力は FALSE)。

    • 下部では、FBは通常の状態です。安全な出力は TRUE

  • 状態図の最初の水平線は、非アクティブ FB からアクティブ FB への遷移を示しています。

  • 2番目の水平線は、FBの非安全状態から安全状態への遷移を示しています。

  • 可能な並列遷移の優先順位は、番号(0 =最高の優先度)。

  • 状態バブルには、状態名と16進数のDiagCodeが含まれます。

  • 条件 ORAND、 と XOR 論理演算子として使用され、 NOT 否定として使用されます。

  • FB記述内では、開始状態は次のとおりです。 Idle、を介した運用状態への移行 Init 州。

  • 何らかの状態からの移行 Activate = FALSE に直接変更されます Idle 州 (0 = 最も高い優先度が予約されています Activate = FALSE)。わかりやすくするために、これらの遷移は各状態図には示されていません。ただし、それらは各状態図の脚注として記載されています。

  • わかりやすくするために、出力設定は状態図には記載されていません。 FB出力の状態を含む明示的な真理値表は、各FB仕様の一部です。さらに、FB固有のエラーおよびステータスコードについても説明します。

  • からの移行に注意してください 8xx00000:特定のアプリケーション(プレスなど)は、リスクの危険なしにサイクルを完了する必要があります。その場合、移行を遅らせることができます。

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

DiagCode

州名

状態の説明と出力設定

Cxxx

Error

Ready = TRUE

S_Out = FALSE

SafetyDemand = FALSE

ResetRequest = FALSE

Error = TRUE



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

DiagCode

州名

状態の説明と出力設定

0000

Idle

Ready = FALSE

S_Out = FALSE

SafetyDemand = FALSE

ResetRequest = FALSE

Error = FALSE

8xxx

初期状態および動作モードのすべての状態 S_Out = FALSE

Ready = TRUE

S_Out = FALSE

SafetyDemand =依存

ResetRequest =依存

Error = FALSE

8000

動作モードのすべての状態 S_Out = TRUE

Ready = TRUE

S_Out = TRUE

ResetDemand = FALSE

ResetRequest = FALSE

Error = FALSE