- 締切済み
RS422とRS485のソフト制御の違いについて
仕事で自社のPCとPLC(三菱など)との通信のソフト開発をしています。 Windowsです。 その中で、RS232、RS422はアプリケーションソフトを変更せず、ハードのDIP-SWおよび、接続配線の変更のみで通信できましたが、RS485に関してはできませんでした。ハード的な変更だけでなく、ソフト制御が異なると聞きました。 RS485は開発で必要でなく、どのような違いがあるかを把握しておけばいいレベルですが、どなたか、ソフトの制御の違いを知っておられる方は見えませんか? もしくは、ドライバレベルで異なるのであれば、教えてください。(ドライバレベルはまったくの初心者ですのでついてゆけないかもしれません。)
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- 86tarou
- ベストアンサー率40% (5093/12700)
私はシリアル通信ICとドライバレシーバIC(422や485)をCPU(アセンブラ)で直接コントロールする方法しか経験がありません。コンピュータもハード、ソフトとも設計するので、使い方等は分かるのですが… ^^; PCやPLCではどうなってるのか分かりません(どこまで制御してくれるのか?)ので、ソフトの変更が必要かどうかは判断出来ません。私の言ったのは、あくまでもハードを直接コントロールする場合の話です。422の送信、受信で2組の信号線に対し、485は送受信を1組の信号線で行うので2本だけです。422は双方がいつでも送信出来るが485は信号の衝突防止のため出来ず、当然信号の向きのコントロール(送信が終わればドライバをハイインピーダンスにして、それを相手局にソフト的に知らせる)が必要になります。これは1対1の通信でも、双方向で使うのなら向きの制御が必要なので同じです。それをどこまでハード側(PCやPLC)でやってくれるかどうかでしょうね。かなりのレベルまで制御してくれると思いますが、詳しくは説明書を見られる方が早いかもしれません。
- 86tarou
- ベストアンサー率40% (5093/12700)
422も485もハード的には差動(平衡)通信ですが、422が1対1なのに対し485は2本のラインに複数の端末が繋がり1対多の通信になります。なので、どの端末が送信するかの制御が別途必要になります。大抵の場合は親局一つに対して子局が複数ということになるでしょう。それぞれを判別するのに端末毎にIDが設定されます。 ドライバレシーバのハードレベルでは422と485はほぼ同じです。違うのはドライバをオフしハイインピーダンスに出来ることでしょうか。これは他の端末との送信が衝突しないためです。 ちなみに232は不平衡通信でノイズに弱いです。
お礼
ご教授ありがとうございました。 もう少し教えていただきたいのですが、485で1対1の場合はそれぞれIDは親:0、子:0でよいのでしょうか。 そうであれば、単純に配線を変えれば、422のアプリケーションで485でもいけるということでしょうか。
お礼
やはりハードに何をするのか、ドライバがどこまでしてくれているのかがわかっていないと、アプリはどこまでする必要があるのかわかりませんね。もう少し確認してみようと思います。 ただ、どうやら信号の向きを制御する必要があることがわかりました。 その違いだけわかっただけどもたすかりました。 回答いただきありがとうございました。