シリアル通信とは
シリアル通信は、今でもバーコードリーダー他汎用入力機器の通信方法として使われてます。
データを送受信するための伝送路を1本、または2本使用して、データを1ビットずつ連続的に送受信する通信方式です。少ない信号線での接続が可能であるため、線材や中継装置のコストが抑えられるなどのメリットがあります。
参考URL:https://www.contec.com/jp/support/basic-knowledge/daq-control/serial-communicatin/
参考URLに詳しい説明が書いてあるので、簡単に説明します。
シリアル通信の種類
RS232、RS422、RS485が主な規格となります。
RS232は、距離制限15mで1対1、RS422、485は長距離(1km)で422は1対1、485はn対nで通信できます。
長距離で機器がたくさんあるときは、RS485ですね。
RS232は、一番汎用性が高く、今でのパソコンから、量り、バーコードリーダー等でも使われています。
三菱QJ71C24・・で通信設定をします
今回は、三菱のシリアルコミュニケーションユニットでシリアル通信の設定をします。
簡単な汎用機器での受信をするまでとなります。
まず配線ですが、大抵の場合はこれで
何種類もあるので、仕様を確認して・・なんですが、説明がない場合がおおいです。
相手機器の通信IF(インターフェース)仕様は、下記の通り
まずは、動画URLです。
新規でGXWORKSを立ち上げします。
インテリユニットの設定をします。
インターフェース仕様に合わせます。
今回は、無手順通信でやります。
通信完了信号は、受信エンドコードとなります。CR+LFなので3338となります。
割込み通信でやるので、割込み設定を使用するにし、PCパラメータでも設定します。
割込み設定は50からと指定されていました。
次にプログラムを作成します。
EIは割込み設定を使うよという命令です。これでPCパラメータ設定に従って受信するとCR+LFのエンドコードのたびに受信します。
I50に割込みして受信命令でD100に受信データが入ります。
あとは、サンプルコメントを流用します。
追記:異常受信完了の場合
異常受信完了で止まってしまった。
その場合は、受信読出し完了をONさせます。
また、異常内容をみると受信バッファがいっぱいになったと・・
いうことで受信したら、受信バッファはクリアします。
受信したデータは、伝文の仕様は下記の通り
データはASCIIデータとしてD100以降に格納されますので、8Word目からのデータを使って表示等に使います。
まとめ
シリアル通信は、古くから使われていますので、ぜひ参考にしてみてください。
コメント