シリアル通信の基本
分からなくても、何とかなるけれど
分かっていたら、もう少し何とかなる
今一ピンと来ない通信を、シーケンサからの視点で理解してみましょう
どうも!ズブです。今回はシリアル通信の基本
信号を配線してみよう
通信と聞くと、ちょっと身構えてしまいますよね。
なのでとりあえず、通信は横に置いときましょう。
いつもやっている、信号の取り合い を思い出して下さい。
きっと皆さん、ササッとつないで動かしているのではないでしょうか。
こんなイメージ
![](https://zubu.jp/wp-content/uploads/2019/02/入出力.png)
大抵は『 動けるよ 』『 動いてよ 』の ドライ信号 でのやり取りですよね。
少し行儀が悪いですが、共通コモン化 して ワイヤー本数 を減らしてみましょう
![](https://zubu.jp/wp-content/uploads/2019/02/入出力2.png)
ワイヤー本数 3本で、信号の取り合いができるようになりました。
信号を工夫してみよう
では、ちょっぴり複雑な装置で、動作が3パターン ある場合を考えてみましょう。
配線3倍にしちゃいますか?
ではでは、さらに複雑な装置で、動作が10パターン ある場合は?
配線10倍にしちゃいますか?
正直、キリがありませんね。
ダメ元で、最初の 3本の配線 でやりくり出来るかを、一緒に考えてみましょう。
とは言え、入力出力ともに1本ずつ しかありませんから、
ON か OFF ぐらいしか、やりようがないですね。
ん?ON か OFF?
ならば、立ち上がり で拾ったらどうでしょう?
![](https://zubu.jp/wp-content/uploads/2019/02/パルス.png)
立ち上がりの数で動作パターンを指示 する作戦、良さそうじゃないですか。
ですが、ただの ビット立ち上がり だと、どこからカウントして良いか分かりません 。
そこで、スタート時に長めのONで通知 してから、ビットを払い出す作戦はどうでしょう?
![](https://zubu.jp/wp-content/uploads/2019/02/stx.png)
これなら、受け手もタイミングは掴めますね。
同じく、終了時も長めにON させて、お知らせしましょう。
![](https://zubu.jp/wp-content/uploads/2019/02/etx.png)
これだと、スタートとエンドに挟まれた ビットの数1~4までをカウント出来るようになりました。
こうなると、少し欲が出てきます。
立ち上がりだけだと、幾つ入って来たかしかカウント出来ない ので、信号がONの場所とOFFの場所が数えられたら、便利そうじゃないですか?
スタートでタイミングを合わせて、お互いのクロックを同期 させてみましょう。
![](https://zubu.jp/wp-content/uploads/2019/02/クロック1.png)
これだと、クロック毎にONかOFFが検査 できるので、立ち上がりビット だけで受けるよりも情報量が多くなり、信号が引っ付いていても判別できるようになりますね。
スタートタイミングの後、OFF-ON-OFF・・・と繰り返すので
受け取った順番通り、ビットに格納してみましょう。
![](https://zubu.jp/wp-content/uploads/2019/02/クロック.png)
ビットを表すとこうなります
『 01011010 』
(入って来た順番に若番ですよ)
折角なので、4ビットずつ、16進数で表記 して恰好良くしてみましょう。
今回の入力は『 0101 1010 』= H05A と表せますね。
こちらも参照BIN,H,BCD数値の扱い方
また、絵だと16個のクロックに分かれていますので、1秒間にこれだけやり取りできるとすれば
16 ビット / 秒 と表せます。
16 bit percent second
即ち、16 bps のスピードという事になりますね
ドライ接点から始まって、随分いろんなパターンのやり取りができるようになってきましたよ。
シリアル通信を見てみよう
随分、前書きに時間を取ってしまいました。
シリアル通信と言えば、ほぼRS-232 なので、そちらをお手本に進めて行きますね。
配線
D-SUB9ピン や 25ピンなどがありますが、関係ありません
本当のデータ送受信に使うケーブルはこれだけ
![](https://zubu.jp/wp-content/uploads/2019/02/232繋ぎ.png)
お互いの 送る場所と受ける場所を繋いであげる だけですね。
自分解釈でも構わない ので意味を頭の片隅に入れるようにします。
そうする事で、メーカーや規格が変わった場合でもピンとくるようになりますよ。
通信
三菱電機さんの、シリアルコミュニケーションユニットの取説から抜粋です
![](https://zubu.jp/wp-content/uploads/2019/02/シリアル通信.png)
こういうデータパターンにすれば、データのやり取りは出来ますよという概念図ですね。
まとめ
配線といい、通信といい、どこかで似たような絵を見た事がありませんか?
はい、
いままでのワザとらしい前振りは、全てこの為でした(笑)
けれど、こう考えるとシリアル通信大した事ないでしょ?
所詮は 電圧のパルス列信号 なのです。
ですがご存知の通り、電圧信号はノイズに弱い
総延長15M というのも、通信再興速度が20kbps というのもその辺りが原因です。
そこで、基幹ラインには ノイズに強い差動パルスで信号 でやり取りする RS485 が主流になっているのです。
そんなん使った事ない!って方は、エム・システム技研計装豆知識
これの通信の中身は知りませんが、物が同じなら中身も同じ
中身が同じなら、物理ラインの帳尻を合わせて、ボーレートを合わせ直しさえすれば、通信が通るのも道理
なので、複雑な変換もせずにRS-232とRS485のコンバート等も可能なのですね。
こんなの
![](https://zubu.jp/wp-content/uploads/2019/02/コンバータ2.png)
調べたら沢山でてきます。
合わせて読みたい
肩の力が抜けたところで、実際に通信をしてみましょう
シーケンサでシリアル通信をしよう~前編~
シーケンサでMODBUS通信をしよう(1)
シーケンサの文字データの扱い方
最近のコメント