冗長制御システムの使用
詳細については、以下を参照してください。 コマンドを呼び出すときの冗長システムの動作
オンライン変更によるアプリケーションのロードと開始
要件:次のように構成されている PLC PLC (1) と PLC 2 が実行中で、更新されたアプリケーションをダウンロードできる状態になっています。
デバイスツリーでアプリケーションを選択します。
クリック
。ログイン方法を尋ねるダイアログが開きます。
選択する オンライン変更でログイン。
アプリケーションはに更新されます PLC 1。
PLC 2 シミュレーションモードに切り替わり、約 10 秒後に同期します。その後、両方の PLC は再びアクティブ/スタンバイモードになります
ヒント
The 活性化、 切り替える、 同期する、 と シミュレーション コマンドはで有効になっています 冗長状態 タブ。
PLC1が実行されているときにのみ開始
要件: PLC 1 が走っています。標準プロジェクトはで開かれています CODESYS Development System。通信パラメータは PLC 1。
デバイスエディタで、 通信設定 タブをクリックしてネットワークを検索します。
準備ができているデバイスは、 デバイスを選択 ダイアログ。
のデバイスを選択します PLC 1 をクリックします わかった 選択を確認します。
デバイス接続設定が構成されます。
クリック
。アプリケーションはにダウンロードされます PLC 1。
PLC 1 スタンドアロンモードで実行されています。
ランタイムシステムを起動する PLC 2。
同期フェーズが開始され、アプリケーションと冗長データが適用されます。その後、 PLC 1 アクティブに切り替え、 PLC 2 スタンバイに切り替えます。
アクティブ/スタンバイモードの実行中にアプリケーションをロードする
要件:両方のPLCが実行されています。冗長プロジェクトはで開かれています CODESYS。
デバイスエディタで、 通信設定 タブをクリックしてネットワークを検索します。
準備ができているデバイスは、 デバイスを選択 ダイアログ。
のデバイスを選択します PLC 1 をクリックします わかった 選択を確認します。
デバイス接続設定が構成されます。
クリック オンライン → ログイン.
開いたダイアログプロンプトで、 ダウンロードしてログイン オプション。
アプリケーションが停止します PLC 1 単一システムにロードする場合も同様です。アプリケーションが削除され、新しいアプリケーションをロードする操作が開始されます。この間、 PLC 2 冗長シミュレーションモードに切り替えます。しばらくすると、 PLC 2 同期を再試行します。10 秒ごとに試行が繰り返されます。その時間までに 10 秒以上経過した場合 PLC 1 を起動し、 PLC 2 エラーモードに切り替わりますが、引き続き同期を試みます。
始める PLC 1。
同期が開始され、アプリケーションと冗長データがに送信されます PLC 2。
ヒント
スタンバイモードで動作している PLC へのダウンロードはサポートされていません。アクティブな PLC にログインする必要があることを示すエラーメッセージが表示されます。
冗長状態のプログラムクエリの実装
POUで
PLC_PRG
、冗長状態のクエリを実装します。PROGRAM PRG_PLC VAR sReduState: RedundancyState; bResult: BOOL; END_VAR bResult := RDCY.GetRedundancyState(ADR(sReduState));
ログインする PLC 1 オンラインでの変更を確認します。
PLC 1 と PLC 2 連続して起動し、アクティブ/スタンバイモードに切り替えます。今度は
state.eRedundancyState
変数は現在の状態を取得して監視できるようにします。注記
ヒント:現在の状態は、 冗長状態 タブ。
アプリケーションの同等性のテスト
両方のPLCで同じアプリケーションが実行されているか確認してください。
要件:冗長システムがアクティブ/スタンバイモードで、アプリケーションが実行されています。
に接続します PLC 2。
このためには、デバイスのゲートウェイとの接続を設定します。または、より便利な方法として、 PLC パスをスワップ の「ボタン」 冗長構成。
ダウンロード メッセージが表示されない場合、両方のアプリケーションは同じです。
コントローラ障害のシミュレーション
やめる PLC 1 実行時。
システムグラフィックは、 未知の 州 (
) ために PLC 1。 PLC 2 すぐにに切り替わります スタンドアロン 州 (
)。
再起動します PLC 1 デバイス。
PLC 1 に切り替えます スタンバイ (
)。 PLC 2 に切り替えます。 アクティブ (
)。
コントローラを再接続する
自動なし 再接続 (リンクの切断と再接続)は冗長コンポーネントの機能範囲に含まれます。これは、アプリケーションやデバイスによって特定の条件が関係するためです。ただし、次の実装で再接続のトリガーをプログラムできます。
PROGRAM PLC_PRG VAR sReduState: RedundancyState; sSyncInfo: SYNC_INFO; sPlcIdent: PLC_IDENT; xConnectionState: BOOL; xResult: BOOL; END_VAR (* Collect information *) GetRedundancyState(ADR(sReduState)); xConnectionState := GetConnectionState(); sPlcIdent := GetPlcIdent(); (* If in standalone mode, and connection is possible, re-synchronize from PLC2 *) IF sReduState.eRedundancyState = RDCY.STATE.RS_CYCLE_STANDALONE AND xConnectionState AND xResult = FALSE AND sPlcIdent = RDCY.PLC_IDENT.PLC_ID_2 THEN xResult := RDCY.Synchronize(); END_IF
ファイアウォール設定の構成
TCPとUDPの両方が冗長同期に使用されます。冗長リンク用にIPポートが設定されています。これはUDPに使用されます。ポート+1はTCPに使用されます。
デフォルトとしてポート1205が設定されています。
ロックを解除するポート
UDP: Port 1205 TCP: Port 1206