Skip to main content

基本レベルのプログラミング例

ドキュメント「PLCopen – 技術委員会5安全ソフトウェア技術仕様パート2:ユーザー例バージョン1.01 – 公式リリース」の「EDMによる両手制御」の例が、 CODESYS Safety Extension 基本レベルのプログラムのプログラミング例と、 CODESYS Safety Extension FBD 実装。

ヒント

基本レベルでのプログラミングの詳細については、「PLCopen - Technical Committee 5 Safety Software」ドキュメントを参照してください。

安全機能の機能説明

この例では、次の安全機能が使用されています。

  • 緊急停止ボタンが押されたら、すべての危険な動きを停止する必要があります( SF_EmergencyStop

    緊急停止は最優先です。 EStop プッシュボタンの場合、S0 リセットによるリセットが必要です。

  • 安全出力は、両手操作ボタンの両方を押すことで作動します。両手操作ボタンのいずれかを放すと、安全出力が解除され、スイッチ装置を介して危険な動きが停止します。 K1 そして K2 (経由 SF_TwoHandControlTypeII

  • 接続されたスイッチングデバイスの基本状態と動作状態を監視します。エラーが検出されると、安全出力は動作できなくなります。(経由 SF_EDM

  • 安全または機能アプリケーションをオンにした後、または緊急停止状態の後、両手コントロールを解放して再度作動させ、安全出力を再度アクティブにする必要があります( SF_OutControl)。機能の再起動を確実にするために、機能アプリケーションのプロセス信号は、 Activate 両手制御FBの入力 THC_S2_S3(両手操作が有効な状態でアプリケーションプロセスが再起動されると、デバイスは状態 C0003、これはアクティブ化時に両方のプッシュボタンが押されたというエラーを通知し、再起動を防止します。

この例では、動作状態は 1 つだけ存在します。

123. プログラミング例の変数宣言: EDM による両手制御
プログラミング例の変数宣言: EDM による両手制御


124. プログラミング例の実装: EDM による両手制御
プログラミング例の実装: EDM による両手制御


105. 入力:

名前

データタイプ

説明

S1_S_EStopIn

SAFEBOOL

緊急停止ボタンS1

S2_S_Switch1

SAFEBOOL

両手操作の押しボタン1に接続されたスイッチS2

S3_S_Switch2

SAFEBOOL

スイッチS3は両手操作のプッシュボタン2に接続されています

K1_S_EDM1

SAFEBOOL

フィードバック外部装置K1

K2_S_EDM2

SAFEBOOL

フィードバック外部デバイスK2

S0_Reset

BOOL

開発者がスイッチS0を使用してリセット(機能アプリケーションから派生)

Process

BOOL

プロセスによる動きの解放(機能的応用から派生)



106. 出力:

名前

データタイプ

説明

S_EDM_Out_EDM_K1_K2

SAFEBOOL

アクチュエータを制御する K1 そして K2

Error_EStop_S1

BOOL

エラーフラグ EStop_S1

Error_THC_S2_S3

BOOL

エラーフラグ THC_S2_S3

Error_OC_K1_K2

BOOL

エラーフラグ OC_K1_K2

Diag_EStop_S1

WORD

診断コード EStop_S1

16#8xxx: 通常運行、

16#Cxxx EStop_S1でエラーが発生した場合

Diag_THC_S2_S3

WORD

診断コード THC_S2_S3

16#8xxx: 通常運行、

16#Cxxx エラーが発生した場合 THC_S2_S3

Diag_OC_K1_K2

WORD

診断コード OC_K1_K2

16#8xxx: 通常運行、

16#Cxxx エラーが発生した場合 OC_K1_K2



追加メモ

この例は、 SF_TwoHandControlTypeIII

の入力 活性化 設定された TRUE 簡潔にするためです。これはアプリケーション内の変数に置き換えることができます。

107. 使用されたFBパラメータに関する情報

ファンクションブロック

入力

定数値

説明

EStop_S1

S_StartReset

FALSE

S-PLC起動時に自動リセットは行われません。

S_AutoReset

FALSE

自動リセットなし、開発者によるリセット/確認が必要

OC_K1_K2

S_StartReset

TRUE

S-PLC起動時に自動リセットが許可されます。

S_AutoReset

TRUE

自動リセット、開発者によるリセット/確認は不要

Static Control

FALSE

ファンクションブロックのアクティブ化または安全機能のトリガー後に、Appl_Control信号(立ち上がりエッジ)の動的変更が要求されます(S_SafeControlFALSE

EDM_K1_K2

S_StartReset

FALSE

S-PLC起動時に自動リセットは行われません。

MonitoringTime

T#200ms

2つのフィードバック信号の最大応答時間

S_EDM1 そして S_EDM2