


文字列変換ファンクション

三菱・OMRON・KEYENCEのIEC61131-3比べ

先日RS232Cの双方向通信で躓きました。メ-カ-サポ-トに電話しても匙を投げられなんとか自力解決しましたが、わかってみると大した原因ではなかったです。ま、そんなもんですよね。
問題となったのは三菱電機iQ-Rのシリアルコミュニケ-ションユニットと同じく三菱電機Qのシリアルコミュニケ-ションユニットでの双方向通信です。設定は両方ともに以下の通り
いつもはこの設定で送受信するのですが今回は全く繋がりません。見てみるとQ→RでRがエラ-を返しています。エラ-コ-ドは7F24でした。これをサポ-トに伝えると双方向通信ではでないエラ-だと言われました。確かにマニュアルにも対象外となっています。
プログラムを移植してQ対Q、R対Rだと正常に通信しますのでプログラムの問題であることは排除されました。送受信プログラムをマニュアルを元に一から構築してQ側で送信デ-タをトレ-スしてみました。
R側からNAK(0x15)の後にエラ-コ-ドが返ってきています。
サムチェックを外してR側から送信をかけてQ側の受信をトレ-スしてみました。
なにやら受信はしているようですがACKを返しません。もう一度送ってみると…
受信の途中でACKを返しています。つまり受信数設定とデ-タ数が合っていないと推測されますね。
通しでモニタした結果も載せておきます。
Q側のパラメ-タを再確認してみました。
何度見てもバイト単位になってる。けど挙動はワ-ド単位の挙動をしている???
次にユニットのバッファメモリで受信数を調べてみました。
あらららデ-タは5つしか受け取っていません。そして5ワ-ド分になっています。完全にQ側はワ-ド単位で動いていますね。
そういえばQJ71C24NはユニットのフラッシュROMに何やら書きこむ必要があった事を思い出してインテリジェントユニットへ書き込みを行いました。
パラメ-タ類を正常値に戻してQ→Rの後にR→Qを試したら無事に通りました。
この問題の厄介だなと思ったのがQ対Qだと何事もなく通信してしまい、動作的には正常に見える(実際正常に送受信する)しQ対Rの時にだけ起こる点ですね。問題を解決するまで3日かかりました(汗)