制限事項
CODESYS バージョン
ブートプロジェクトはコントローラー間で転送されるため、同じバージョンのランタイムシステムを両方のデバイスにインストールする必要があります。したがって、2番目のコントローラーにロード可能である必要があります。
リアルタイムでのタスクとコミュニケーション
周期的なタスクのみが許可されます。タイプのタスク イベント、 ステータス、または フリーホイーリング 同期できません。
の CODESYS Redundancy この機能は 1 つのタスクだけを同期します (冗長タスク)。他のタスクやアプリケーションも可能ですが、両方の PLC で非同期に実行されます。
さらに、タスクの実行と通信に影響を与える冗長システムは、特定のリアルタイム要件を満たす必要があります。冗長通信のメッセージ(要求と応答)の実行時間は、事前に定義された時間間隔内に存在する必要があり、タスクのジッターは考慮されます。
リアルタイムタスク実行とは、冗長性によって制御されるアプリケーションタスクのジッターが制限されていることを意味します。リアルタイム通信とは、冗長リンクによって送信されたメッセージを、特定の時間内に他のPLCが受信する必要があることを意味します。
タスクの実行時間
メッセージング期間(要求と応答の時間)により、タスクの実行時間が長くなります。冗長性を使用すると、タスクの合計実行時間が長くなります。
アプリケーションとタスクの名前を変更する
冗長アプリケーションまたは冗長タスクの名前を変更することは重要な変更であり、冗長操作中は不可能です。これは、変更後、「冗長システムの構成」の「はじめに」で説明されているように、両方のPLCを再構成する必要があるためです。
タイムアウトの値
タイムアウトに指定する値は、タスクのジッター時間と最大通信ジッター時間の合計よりも大きくする必要があります。どちらの時間もシステム固有です。実行時に、タスクのジッターが高く、メッセージ転送が遅延すると、タイムアウトが発生します。他のPLCからのメッセージを待っている間、システムは他のPLCがもう実行されていないと想定します。その結果、待機中のPLCと送信側のPLCがスタンドアロンモードに切り替わります。これにより、同期が失われ、フィールドバスでの通信の問題が発生します。
ヒント
アクティブな PLC がスタンドアロンモードに切り替わるときのタイムアウトは、 冗長構成 エディタの 将軍 の「」タブ 冗長設定 タブ。さらに、値はランタイム設定ファイルに保存されます (例: CODESYSControl.cfg
) エントリ付き StandbyWaitTime
。
IECタイマー
両方のPLCで実行時間が異なると、PLCを切り替えるときに「バンプ」(出力値のずれ)が発生する可能性があります。これを防ぐために、IECタスクの実行中にIECタイマー値が凍結されます。 IECタイマーからの呼び出し(例:関数 TON
)したがって、IECタスクを実行すると、物理時間が実行され続けても、常に同じタイマー値になります。したがって、実装は非アクティブに(おそらくループで)待機する必要があります。これは、IECタイマー値が現在のタスクスキャンで変更されないためです。
ポインター、リファレンス、インターフェイス
ザル POINTER TO
、 REFERENCE TO
、および INTERFACE
アプリケーションユニット間の関係を表すステートメント (およびインターフェイスインスタンス) は、同期された冗長アプリケーションでは機能しません。
POINTER
冗長性によって制御されるデータ領域で変数を宣言してはなりません。これは、同期中に冗長制御されたデータが他のPLCに送信されるためです。ただし、他のPLCには別のメモリレイアウトが配置されている可能性があるため、ポインタは他のPLCでは無効です。
コンパイル時に、冗長機能は、ポインターが冗長制御された領域にあることを確認します。そこにあるポインタごとに警告が表示されます。このチェックは、次のエントリを使用してデバイス記述ファイルで非アクティブ化できます。
<Device> <Custom> <Redundancy DisablePointerChecks="true">
EtherCAT DC
この冗長性の拡張は、工場の自動化よりもプロセス業界を対象としています。このため、分散クロックを備えたEtherCATドライブはサポートされていません。ただし、EtherCAT I / Oはサポートされています。
上記の「リアルタイムでのタスクと通信」のセクションも参照してください。
「既存のマップ」:既存の変数へのマッピング
I/O マッピング方法「Map on Existing」(I/O を既存の変数にマッピングする) は、 CODESYS Redundancy。これらの種類の変数は、入力データ領域または出力データ領域には格納されませんが、宣言された場所に格納されます。その結果、動作中に同期されません。
ネットワーク変数
複数の書き込みテレグラムが同時に送信されるため、書き込み権限のあるネットワーク変数は使用しないでください。読み取り権限のあるネットワーク変数は許可されています
ファイルアクセス
異なるファイルデータは、切り替え時に異なるPLCで「バンプ」を引き起こす可能性があるため、ファイルアクセスを使用しないでください。
ファイルを使用する場合は、冗長性制御の対象とならないデータ領域でファイルハンドルを宣言する必要があります。ファイルは両方のPLCで別々に開く必要があります。ローカルPC上のファイルにアクセスするために、別のPLCのファイルハンドルを使用しないでください。
コンパイル時に、 CODESYS Redundancy 変数を処理するチェック (RTS_IEC_HANDLE
、 CAA.HANDLE
) は、冗長制御エリアに配置されています。このような領域で検出されたハンドル変数ごとに警告が発行されます。
オンラインセキュリティユーザー管理
オンラインセキュリティユーザー管理を使用する場合は、両方の PLC に同じユーザー名とパスワードを設定する必要があります。それ以外の場合は、次のようなオンラインサービスが必要になります write variable
または online change
スタンバイPLCには送信されません。
SoftMotion
CODESYS SoftMotion と CODESYS Redundancy 組み合わせることはできません。 SoftMotionの時間要件 できません 冗長性を使用するときに満たされます。