LinuxCNC 活用のプラン
GUIのアプリ群をリモートで実行する記事があり、GUIを分離した構成も紹介されていたりしますので、別の機会にまとめたいと思います。
なぜ一方をリモートで実行したいかというと、
- リアルタイム処理に専念し機械制御のみを行うPCと、GUIアプリ群で画面表示に専念するPCに分散し、それぞれ目的に適したカスタマイズ、アップグレードができるようにする。
上記の目的のためです。
そのため、起動OSで仮想化マシンに別OSとして稼働させた中で動作させるのは目的に反します。リアルタイムOSを仮想マシン内で動かした際のその環境に起因する負荷が読めない、そしてそれを解決する手間も読めないからです。
LinuxCNCのブロック・ダイアグラムから。最近のダイアグラムは、Remote GUIも加えられていますね。
【1】ステップ1
普通にLinuxCNCを動かそうとすれば、LinuxCNCが要求するハード、LinuxのPC1機でLinuxCNCを稼働させることになります。
【2】ステップ2
目的のPC2機構成で、機械制御とGUIを分離します。
LinuxのPC2機でLinuxCNCを稼働させることになります。
【3】ステップ3
機械制御部をBeagleBoneBlackに置き換えます。小さいこと、リアルタイム性に優れているだろうとの読みです。
BeagleBoneBlackのチップにはPRUという、リアルタイム処理に優れたユニットが含まれていて、これを活用したLinuxCNCの派生、MachineKitが供給されています。
RemoteGUI も、GPUを積んだPCで稼働させる想定です。
できれはGPUを積んだWindows機に移植したいです。GPUを積んだ専用のLinuxクライアント機は他に使い道がなくなるのでWindows機にしたいです。
BeagleBoneBlackのCNC用Capeは、XylotexさんのDB25出力するCapeを購入済みだったのですが、Xylotexさんは路線を変更して、Stepper Motor Driverを駆動する信号を出せるCapeしかなくなっています。
しかしながら、よくよく考えてみれば、今となっては大掛かりなプリンタケーブルのDB25より、プリンターケーブル~Breakout基板まで省略できてしまうCapeなので、とても省スペース、省部品となりますので、このCapeを買いなおそうかと思っています。
上記の構想で進めていきます。