Adventurer3の制御1

現在の運用は、Simplify3Dでgコードファイルを作成し、FlashPrintに読み込ませ、そこからネットワーク経由で印刷している。Simplify3Dで直接Adventurer3に出力できないか調査してみた。

Simplify3Dでのマシン制御

COMポート経由のシリアル通信でやっているみたいで、ネットワークの対応はしていないみたいだ。試しに、Adventurer3のUSBポートとコンピュータのUSBをオス―オスでつないだが、コンピュータ側に、新たにCOMポートが現れなかったので、Adventurer3のUSBは、USBメモリだけしか対応していないみたいだ。当然この状態では、Simplify3Dで制御することはできなかった。

tcp通信を仮想COMポート経由でつないだら

Simplify3Dは、COMポートしか対応していないみたいなので、tcpの通信をcom0com経由でつないだら、行くんじゃないかと思い、インストールし、tcp通信をcomに流すソフトを作成し、実施してみた。

これで、Simplify3D側で接続しようとしたが、認識させることができなかった。というか、tcpの接続がすぐ切れてしまった。

通信の内容の確認

一度、仕切り直して、FlashPrintとAdventurer3との通信内容がどうなっているのかを、プロトコルアナライザで調べてみた。

とりあえずは、次のことが分かった。

  • 通信内容
    tcpipで接続し、ASCIIテキストでやり取りしている。
  • コマンドを送付し、そのコマンドの内容をリターンでもらっている。
    コマンドは、いわゆるgコード相当のもの
  • Adventurer3側へのコマンド送信では、コマンドの前に~(チルダ)を入れている。
  • 接続の後に、M601 S1を送付し、接続解除の前にはM602を送付している。

サンプルプログラム

調べた内容で、サンプルプログラムを作成したところ、とりあえずAdventurer3とのステータス確認もどきの情報のやり取りはできた模様。

プログラム

 プログラムの内容は、次のようなもの。

  1. Adventurer3のIPアドレス検索
    この機種は、MACアドレスの先頭が0x02で始まるローカルアサインアドレスというもので、また最終バイトが、起動毎に変わるので、IP固定もできない曲者。
    しょうがないので、arp経由で先頭のMACアドレスが0x02のものをAdventurer3だと仮定し接続するようにした。
  2. tcp接続
    接続後、M601 S1を送付し、接続を解除されないようにした。
  3. tpc接続解除
    解除前にM602を送付するようにした。
  4. 途中では、コマンドが送付されるかどうか確認のため、いくつかのコマンド送付を行っている。

次は、Simplify3D側からの送付コードの内容を確認し、com0com経由でやり取りができるか確認していきたい。

コメント

タイトルとURLをコピーしました