KV-nano シリアル通信

欧米のエンジニアのように、ラダーとプログラミング言語を用途によって使い分けてできるようようになるという目標ですが、最近はWeb関係ばかりやっていたので、久しぶりにPLCについてです。

キーエンスのKV-nanoとパソコンをシリアルで接続しましたが、初めに少しハマってしましたので書きます。

初めにハマったこと

まずキーエンスのホームページでシリアル通信のマニュアルを探しても目当てのものがなく、Ethernetマニュアルの上位リンクでコマンドを確認して試みんだのですが、どうしてもエラーE1しか返ってきませんでした。

途方にくれてKV Studioのメニューの項目をいろいろみてたら、ヘルプにシリアル通信のマニュアルがあることがわかりました。インストールしてなかったので、ホームページからKV STUDIO用マニュアルセットをダウンロードしインストールして見れるようになりました。

通信できなかった原因

単純なことで、通信開始CRをまず送る必要があります。マニュアルには詳しく乗ってませんが、下記のような挙動をすることがわかりました。

  • 通信開始しないでコマンドを送るとE1が返ってきます。
  • 通信開始CRを開始してもう一度CRコマンドを投げるとE1が返ってきます。
  • 通信終了CQはできますが、アプリ終了時は自動的にリセットされるようです。もう一度起動したときは、通信開始CRをします。
  • コマンドメモ

    コマンドはいろいろな種類がありますが、とりあえず以下のコマンドを使用することにしました。

    内容コマンド用途
    通信開始CR
    通信終了CQ
    モニタ登録(メモリ)MWSDMデータランダム読み出し
    モニタ読み出し(メモリ)MWRDMデータランダム読み出し
    モニタ登録(ビット)MBSビットデータランダム読み出し
    モニタ読み出し(ビット)MBRビットデータランダム読み出し
    連続読み出しRDS文字列読み出し
    連続書き込みWRS文字列書き込み
    書き込みWRDM/ビットを1点書き込み

    デバイス登録に共通するデータ形式

    .U10進数16ビット符号なし
    .S10進数16ビット符号あり
    .D10進数32ビット符号なし
    .L10進数32ビット符号あり
    .H16進数16ビット

    デバイスは、デバイス種別+デバイス番号+データ形式で指定します。例えば、D100で10進数16ビット符号ありなら D100.Sとなります。

    モニタ登録、モニタ読み出し

    アドレスが連続してない場合、これを使ったほうが便利だと思いました。モニタ登録の主な挙動は下記の通りです。

  • 通信切断では消えない
  • PLC電源OFFでは消える
  • もう一度モニタ登録すると上書きされる
  • 投稿日:
    カテゴリー: PLC タグ:

    コメントする

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です