工業音楽 shuplana's diary

CNCを中心としたワンボードマイコン~パソコン周辺

LinuxCNC 活用のプラン

GUIのアプリ群をリモートで実行する記事があり、GUIを分離した構成も紹介されていたりしますので、別の機会にまとめたいと思います。

なぜ一方をリモートで実行したいかというと、

  • リアルタイム処理に専念し機械制御のみを行うPCと、GUIアプリ群で画面表示に専念するPCに分散し、それぞれ目的に適したカスタマイズ、アップグレードができるようにする。

上記の目的のためです。

 

そのため、起動OSで仮想化マシンに別OSとして稼働させた中で動作させるのは目的に反します。リアルタイムOS仮想マシン内で動かした際のその環境に起因する負荷が読めない、そしてそれを解決する手間も読めないからです。

 

LinuxCNCのブロック・ダイアグラムから。最近のダイアグラムは、Remote GUIも加えられていますね。

f:id:shuplana:20170504093338p:plain

 

【1】ステップ1

 

普通にLinuxCNCを動かそうとすれば、LinuxCNCが要求するハード、LinuxのPC1機でLinuxCNCを稼働させることになります。

f:id:shuplana:20170504093355p:plain

【2】ステップ2

目的のPC2機構成で、機械制御とGUIを分離します。

LinuxのPC2機でLinuxCNCを稼働させることになります。

f:id:shuplana:20170504093402p:plain

 

【3】ステップ3

 

機械制御部をBeagleBoneBlackに置き換えます。小さいこと、リアルタイム性に優れているだろうとの読みです。

BeagleBoneBlackのチップにはPRUという、リアルタイム処理に優れたユニットが含まれていて、これを活用したLinuxCNCの派生、MachineKitが供給されています。

RemoteGUI も、GPUを積んだPCで稼働させる想定です。

できれはGPUを積んだWindows機に移植したいです。GPUを積んだ専用のLinuxクライアント機は他に使い道がなくなるのでWindows機にしたいです。

 

f:id:shuplana:20170504093411p:plain

 

BeagleBoneBlackのCNC用Capeは、XylotexさんのDB25出力するCapeを購入済みだったのですが、Xylotexさんは路線を変更して、Stepper Motor Driverを駆動する信号を出せるCapeしかなくなっています。

しかしながら、よくよく考えてみれば、今となっては大掛かりなプリンタケーブルのDB25より、プリンターケーブル~Breakout基板まで省略できてしまうCapeなので、とても省スペース、省部品となりますので、このCapeを買いなおそうかと思っています。

上記の構想で進めていきます。

 

 

BeagleBoneBlackでMachineKitを動かす

BeagleBoneBlack入手後しばらくたってしまい、Rev.A5Cもちょっと古くなってしまいましたが、
MachineKitを入れてみました。
また、通常のDebian8.6とMachineKitとの違いもあるようなので、気づいたところを書きます。

 

http://elinux.org/Beagleboard:BeagleBoneBlack_Debian#BBW.2FBBB_.28All_Revs.29_Machinekit

microSD/Standalone: (machinekit) Based on Debian Jessie (new)


上記から、SDカード書き込み用のイメージを取得します。

7Zipで解凍し、Win32DiskImagerでSDカードに書き込みます。
以前はLinux機で書き込んでましたが、BBBを動かすまでLinux機がいらないです。
ただし、BBBでSDカードから起動できなくなったりすると、Windows機でSDカードを操作しないと
いけないのですが、もちろん読めないフォーマットだったりしますので、フォーマットし直しするのも
うまくいかなかったりします。
MicroSDカードがWindowsエクスプローラからフォーマットできなくなったとき、
SDFormatterでフォーマットする。クイックフォーマットのチェックを外すなどで対処してください。


なぜか、WinのBONEドライバが動かなくなっていたので、192.168.7.2でアクセスできなかったので
面倒なことになってしまいました。

LAN経由で作業をしました。


BBB起動後の作業

fdiskでMicroSDカードの全容量を使えるように設定し直す。
(32GBのSDカードを使っています。イメージは数GBだったと思います)
パーティションすべて削除後、追加(n)すると、Bootフラグが消えてることがあるので(a)でフラグを付ける。
特に、元の開始セクタは同じ値を設定すること。(デフォルトで出る値は元の値より小さいことがある。
resize2fsで残りを割り当て。

常時点滅のLED0を消す。

/etc/rc.local

echo gpio > /sys/class/leds/beaglebone\:green\:usr0/trigger


上記を追加し、GPIOがアクセスあったときに点灯するようにしました。
単に点滅を消すには echo none > ... です。

 

固定IPにする。

MachineKit
connmanで管理されているようです。
/var/lib/connman/wired.config を追加して、定義してください。

[global]
Name = Wired
Description = Wired network configuration

[service_ether]
Type = ethernet
IPv4 = 192.168.1.xxx/255.255.255.0/192.168.1.yyy

address/netmask/gateway の順です


これを定義してrebootしただけでは有効にならず、(それ以前のDHCP
取得したIPと定義したIPが両方接続できるが、ifconfigの内容は以前のまま)
2回目のrebootで有効になりました。

通常のBBB Debianでは/etc/network/interfaces を編集すればOKです。

 

今、ここまでです。

 

比較的 入手しやすい万年筆のペン先ユニット

f:id:shuplana:20160214233103j:plain

ペン先ユニットがあるだけではなんにも出来ないですが、とりあえずまとめます。

ペン首を作るときに、中に収めることができるのか、カートリッジなどインク供給できるのかなど、不明点満載ですが、見切り発車です。

 

左から

ペリカン PELIKAN M400 バイカラー 14K B 2本購入してました

ペリカン PELIKAN M400 18K B

Jowo #5 18K

Bock 14K バイカラー

 

Bockのペン先は1回り大きいです。というか、書きやすいのであればこのペン先が

いいなぁ。ペリカンのペン先は、まさに「時価」で、どんどん値上がりしたかと思うと

売りに出されていなくなったりします。

 

Jowoの#6の方が私が欲しいペン先の大きさだったのかもしれません。

どんなものかわからなかったのでとりあえず入手してみました。

 

1本単位で購入すると、送料まで含めて12,000円くらいで買えたと思いますが、

ペリカンは倍近くになっているか、もう買えないかもしれません。

 

 

f:id:shuplana:20160214233119j:plain

昼飯 正平(しょっぺ)

f:id:shuplana:20150120115141p:plain

ちょっと前の昼飯。

 

たまにはカレーうどんが食べたいなと。

 

 

昼飯 仁亭

ちょっと前の昼飯。

f:id:shuplana:20150116104629p:plain

 

以前寄ったときは、デミグラスソースが甘く感じて好みではなかったと思ったので、メンチカツ定食にしました。

 

おいしいですが、2品盛りを定番にして欲しいなぁ。

都内にいた頃は秋葉原~神保町で仕事が多かったので、キッチンジローやキッチン南海が懐かしいです。

 

昼飯 ラーメン 次元

ちょっと前の昼飯。

f:id:shuplana:20150114120902p:plain

病院で診察を受けて、行きたかったラーメン屋さんへ。

チャーシューメン

ですが、チャーシューの冷え具合で、スープが冷たくなってました。

 

昼飯 花鳥風月 山形北町店

ちょっと前の昼飯。

 

えびワンタンメン

f:id:shuplana:20150109094330p:plain

 

場所は、もともと、幸楽苑があったとこじゃなかったかなぁ。

チャーシューがあぶってあり、冬によくある、冷えたチャーシューを乗せるがためにスープが冷える、ということがない。

それ以外は、特に。すべてにおいて薄くしか感じませんでした。