シリアル通信と聞くと少し尻込みしてしまう方も多いかと思いますが、一連の私の記事を見て頂きましたあなたならもう安心してシリアル通信の仕事もこなせるでしょう。
装置もので多軸のサーボモータを使用している方でもなかなかシリアル通信を行ったことがあるという方も少ないのが現状であり、シリアル通信はこういう者なんだということを知っているだけでもあなたの価値は上がります。
前回シリアル通信受信データの読み出し方法を紹介しましたが、今回はシリアル通信のデータ送信方法を説明します。
PLCは情報を受け取るだけというシリアル通信の方が非常に簡単なプログラムとなるのですが、シリアル通信を行う理由として様々なデータを送受信したり、PCとのインターフェースがシリアル通信しか対応していないため制御トリガーをPLCから出力して欲しいなど様々な要望があるため、なかなか情報を受け取るだけというわけにはいかないのが実際の現場です。
自分だけ楽するようなラダーソフト屋は毛嫌いされてしまいますし、楽していることはお互いソフト屋ならわかります。
ここでいう楽は自分だけというものであり、お互いに楽できる方法を提案・実行できるのが本当に仕事ができる優秀な方です。
シリアル通信はお互いのシステム構成やプログラムの理解も少しはしないとどちらかが苦労してしまうことになります。
なるべくそのようなことにならないようにお互いにメリットがあり、平等なデメリットが発生するようなバランスの取れた仕事をするようにしましょう。
今回はiQ-Rシリーズのシリアル通信データ送信GP.BUFSND命令について紹介します。
広告
シリアル通信データ送信 GP.BUFSND命令
シリアル通信データ送信 GP.BUFSND命令
Point.送信するコネクションNo.やユニットNo.を間違えないようにする
送信するコネクションNo.を間違えると相手通信機器にデータが遅れないということが発生します。
また、ユニットNo.を間違えてしまうとエラーが発生してしまう可能性があるため注意しましょう。
シリアル通信データ送信 コントロールデータ/送信データ
Point.データ送信長はバイトで指定(手順無しのバイナリ)
データをどれだけ送信するかは手順無しのバイナリならばバイトで指定します。
1バイトあたり1文字ということになりますので、1ワード=2バイトです。
Ethernetユニットの設定によって異なるため注意しましょう。
下記にEthernetユニットの設定方法を紹介した記事とプログラム参考例を載せておきますので参考にして下さい。
シリアル通信データ送信 GP.BUFSND命令タイムチャート
Point.タイムチャートは正確に把握する
データ送信命令GP.BUFSND命令がどのように動いているかはしっかり資料を確認しましょう。
N-L20との通信制御概要記事も下記に紹介しておりますので参考にして下さい。
まとめ
・送信するコネクションNo.やユニットNo.を間違えないようにする
・データ送信長はバイトで指定(手順無しのバイナリ)
・タイムチャートは正確に把握する