LoginSignup
0
0

(調査)CNCのUI開発(CODESYSとやりとりする、PC側のUI開発)

Posted at

やりたいこと

動く範囲で使いやすい汎用CNCを作ること。UI大事!

方針

コントローラ

CODESYSのMOTION FBを使ってCODESYSで開発。
とりあえずRPiで動くものを公開。

UI

WebVisuでもいいんだけど、なんとなく使い勝手のデザインがなぁ、って最近思ってます。

ファナックやシーメンスのようなメンブレンスイッチ液晶モニター一体型のコンソールがあるといいんだけど、どっちみち物理SWは必要で、あとはラズパイのランタイム+UI画面+(できれば手パ)の構成。
image.png

手パはこんなのあるんですね。使えたらいいんだけど。6軸でワイヤレス。
image.png

PC用のプログラミング言語との接続と親和性

ラズパイはLinuxがベースになっていて、PCのプログラミング言語(PythonやC)でGUI画面が作れる。

このリンク(CODESYSのヘルプ)
https://content.helpme-codesys.com/ja/CODESYS%20Examples/_ex_cds_shared_memory_communication.html

を見ると、共有メモリが使えるみたいです。共有メモリ速くて楽です。でも、Linuxでも出来るって書いてあるけど、ランタイムが載ってないのは、ドキュメントが追いついていないのか?はっきりしないですね。

PLCベースのコントローラで動かすことを思うと、共有メモリではなく、Modbus/TCPでレジスタやコイルに必要な定義をしてやりとりしたほうが、どちらもいけてラッキーですかね。

通信はModbus/TCPを使うことに

CODESYS側も手っ取り早いのと、各PC言語にもライブラリがあるケースが多いので後々いろんなケースで自由度が高まる気がしました。

機械にPC乗せたくない場合(案外多い)も、産業用のタッチパネル(OMRONや三菱、富士電機とか)も、Modbus/TCP or RTUはサポートしてるから、機械が好きな人も手軽に自由に機械の画面も作れていいですね。

image.png

PC側の開発言語は簡単でいいから自由な3Dをサポートしたい

1)OpenGL系の簡単なワイヤーフレームまたは、シェーディンググラフィック
2)Modbus通信のライブラリがある
3)大規模なテキストファイルの編集、事務所のCAD/CAMとのやり取りが簡単
4)反応が速く、長期運用可能に。静的なメモリ割り当てがなるべく可能なら尚よい。

すべては難しいかもなので、それらのバランスの良い言語で、開発工数が少ないものを。

候補
C+OpenGL
C#+Unity
FreePascal(Lazarus)+GLScene

とかですかね。

Python系のGUIも調べてみたいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0