質問

私は、によって作成された Think'n'Do と呼ばれる PC ベースの自動化ソフトウェア パッケージを使用しています。 フエニックス・コンタクト リアルタイム処理を実行し、入力の読み取り/制御ロジック/出力の書き込みはすべて最大 50ms で行われます。10msごとにPLCからタグを読み書きするOPCサーバーがあります。PLC へのタグの書き込みと書き込まれた値の読み取りには長い遅延が発生します (Think'n'Do (50ms) > OPC サーバー (10ms) > PLC (10ms) > OPC サーバー (10ms) > Think'n'Do (50ms) )、私の計算では 130ms しかかからないはずのプロセスが完了するまでに最大 6 秒かかります。

どこを調べればよいのか、なぜこれほど時間がかかるのかについてのアイデアがあれば助かります。

役に立ちましたか?

解決

それは、OPC クライアントがデータをプルするようにどのように構成されているかによって異なります。OPC でグループにサブスクライブすると、リフレッシュ レートを指定できるようになります。これは、OPC クライアントに応じて、デフォルトで 1 秒または 5 秒になる場合があります。OPC サーバーがデータの更新頻度に課す制限もあります。これは、OPC クライアントがデータ変更イベントをサブスクライブしている場合にのみ適用されます。

もう 1 つの方法は、OPC サーバーに対して非同期または同期の読み取り/書き込みを行うことです。いくつかの読み取りモードもあります。OPC を使用しているため、OPC 互換クライアントを使用してサーバーをテストできます。これにより、問題が Think'n'Do の設定にあるのか、それとも PLC / サーバーに問題があるのか​​がわかります。

私が使用した中で最も優れた汎用 OPC クライアントは、OPC Quick Client です。ここから TOP Server を使用して入手できます。 http://www.toolboxopc.com/Functions/Demo/demo.shtml. 。TOP サーバーのデモを取得し、OPC クイック クライアントをインストールするだけです。これを使用して OPC サーバーに接続し、タグを参照してデータがどのように表示されるかを確認できます。私が使用した中で 2 番目に優れた OPC クライアントは、ICONICS (OPC Data Spy と呼ばれます) のもので、ここから入手できます。 http://www.iconics.com/support/free_tools.asp.

OPC クライアントを使用して、データを読み取る速度を確認します。グループのリフレッシュ レートが正しく設定されていることを確認してください。このツールはタイミング情報も提供してくれると思います (ただし、6 秒の遅延は非常に簡単に把握できるでしょう)。

他のヒント

OPC サーバーのキャッシュを使用していないようです。通常、OPC サーバーにはキャッシュがありますが、クライアントが接続し、キャッシュの使用を指定しない場合、必要なパフォーマンスが得られません。OPC サーバーはデバイスからキャッシュをリフレッシュしますが、リフレッシュの基準は OPC サーバーごとに異なる場合があります。

システムが同期読み取り (I/O 呼び出しをブロック) を実行し、アプリケーションのロジックを実装してから同期書き込み (再度ブロック) を実行する場合は、PLC へのラウンドトリップが複数あることを考慮する必要があります。

同期読み取りには、App(リクエスト) -> OPCServer -> PLC -> OPCServer -> App(result) が含まれます。これは 1 つの項目の読み取りにすぎません (ただし、一度に複数の項目を要求することもできます)。

次に、同様の同期書き込みには、App(Write) -> OPCServer -> PLC -> OPCServer -> App(Done) も含まれます。

非同期読み取りと書き込みおよびグループ読み取りと書き込みは、アプリケーションのブロックを減らすのに役立ちますが、アプリケーションがこの非同期動作に対応できるかどうかに注意してください。

もう 1 つ注目すべき点は PLC 構成です。Allen-Bradley PLC には、外部ネットワーク経由で I/O 要求を処理するために使用されるインタースキャン遅延設定があります。この時間が短く、データの帯域幅が広い場合は、速度が低下します。

注目すべき場所がいくつかあります。OPC クライアント構成、OPC クライアント自体、OPC サーバー、または PLC 自体。

確認すべき事項は次のとおりです。

  1. OPC クライアントの設定 - OPC タグを追加した OPC グループは、高速なスキャン レートを持つ必要があります (つまり、使用目的に応じて 100 ミリ秒から 1 秒)。値を書き込むという行為で、値がより速く入力されることに気づきましたか?そうでない場合は、DCOM またはネットワーク構成に問題がある可能性があります。
  2. OPC クライアント - 無料の OPC クライアント ソフトウェア (おそらく OPC Foundation Web サイトまたは主要な OPC サーバー ソフトウェア ベンダーから) をダウンロードして、値がより速く返されるかどうかを確認します。その場合、クライアントに問題がある可能性があります。
  3. OPC サーバー - 一部の OPC サーバーには診断ツールがあります。これらをオンにして、実際に書き込みが行われる時刻と、読み取りが実際に行われる時刻を確認します。これらの質問に答えることができれば、おそらく遅延の原因が PLC にあるのか OPC サーバーにあるのかを特定できるでしょう。また、OPC サーバーの CPU 使用率を観察します。通常よりも多くの CPU を使用している場合は、OPC サーバーの負荷が低下し、パフォーマンスが低下している可能性があります。
  4. その他 - 最後に、PLC、ネットワークが正しく動作していることを確認します。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top