2011-08-04 9 views
1

私は、TCP/IP経由で36 GEのPLCと通信するC++の第三者によって作成されたIndustrial HMIを持っています。 HMIは、同じスイッチに接続された同じ部屋の2つの異なるマシンで実行されています。 1つのHMIがWindows Server 2003 32ビットで動作しています。もう一方はWindows 7 64ビットで動作しています。 Windows 7 HMIが接続できないPLCがいくつかあります。すべてのPLCは、Windows Server 2003 HMI上で正常に通信します。私はWiresharkを実行して何が起こっているのかを見てきました。ネットワーク通信のトラブルシューティング

PLCのイーサネットカードをリセットすると、Win7 HMIと障害のあるベースの1つがSYN/ACKシーケンスを送信します。 HMIがデータ(PSH)を送信すると、PLCはRSTパケットで応答します。その時点から、Win7 HMIのSYNパケットはRST応答を受信します。私は昨日この新しいHMIを設定しました。それはその時点以来このようになっています。このHMIは他のWin7コンピュータで問題なく動作しています。私が知る限り、すべてのPLCは同じハードウェア/ファームウェアリビジョンレベルにあります。私は、36台のPLCのそれぞれのソフトウェアが同一であるという事実を知っています。

これ以上トラブルシューティングを行うにはどうすればいいですか?昨日セットアップしたこの新しいマシンは、今週早くに亡くなったものを置き換えるため、PLCへの接続数は増加していません。他のほとんどのPLCはすべて正常に通信しているため、PLCハードウェアの負荷に問題はないようです。 C++コードはまったく同じ方法ですべてのベースと通信しています。このコードは、36個のPLCオブジェクトの配列を保持し、情報を更新するときにループします。これ以上問題を解決するために私ができることについて誰もが考えているのですか?

答えて

1

私は私の前提に間違いがあったことが判明しました。 Win7上で動作する他のHMIはありませんでした。私はWin7のPCをXPのPCに置き換えました。いったんXPから強制終了すると、ある時点でこれをトラブルシューティングする必要がありますが、現時点では問題はありません。私は、HMIからのすべての通信が同一であるため、PLCファームウェアの問題であると考えています。

4

機能するシステムと通信するときにWiresharkを実行します。これが動作していないときに行ったキャプチャとこれを比較してください。

正常に動作する構成があります。アイデアは、動作しないものと違うものを見つけることです。明らかに違いが出てくるだろうし、その違いには問題の手掛かりがあるかもしれない。

+0

私はいつでもwiresharkを実行していました。より長いトラブルシューティングでは、話をしたくないPLCの状態になり、最終的に(約90秒に1回)、RSTの代わりにPLCからSYN/ACKを返すことになりました。最初のPSHパケットは、機能するPLCに送信された最初のPSHパケットと同じデータを持っていました。機能していないPLCは直ちにRSTで応答しますが、他のPLCでは対話が「正常」(通常はRSTがないこととデータが前後に転送されていることを意味します)に進みます。 –

関連する問題