CNCペンダント用基板の使い方【CNCペンダント】

4. CNCjsで使うための設定

Duetで使う場合は飛ばしてください
CNCjsで使う場合の構成としては以下のようになります.

4.1 Nodejsインストール

CNCjsとProMicroの橋渡しをするソフトウェアを動かすため,nodejsをインストールします.

v12系、v14系、v16系で動作確認できています。(12.22.7、14.18.0、16.13.0)
最新のものでは動かないかもしれないです。その場合は最新ではなく古いバージョンのnodejsの導入をお願いします。
nodejs v12
nodejs v14
nodejs v16

インストール方法参考:


4.2 CNCjs橋渡し用プログラムインストール

以下からプログラムをダウンロードします.

ダウンロードしたファイルを解凍し,フォルダを開きます.
開いたフォルダにてコマンドプロンプトを開きます.
図のようにファイルエクスプローラーのパス欄にcmdと入力するとコマンドプロンプトを開くことができて簡単です.

以下のコマンドを実行します.

npm install

npm installの際にModuleNotFoundError: No module named 'distutils'が出る場合はPythonのバージョン3.12以降でdistutilsモジュールが削除されたことが原因です。
コマンドでpip install setuptoolsを実行し、エラーが消えないか試してみてください。
参考:【inshellisense】ModuleNotFoundError: No module named 'distutils' の対処法 #error - Qiita

npm installの際にERRが出る場合はwindows-build-toolsのインストールが必要かもしれません。
詳細はこちら

4.3 プログラムの起動

ある程度自動で起動する方法と手動で起動する方法の2種類あります。

4.3.1 プログラムをある程度自動で起動する場合

これはCNCjsとペンダントのソフトを一緒に起動する方法です。ポート番号の設定も自動でします。
CNCjsは前もって起動する必要はありません。

start_for_windows.batというファイルがあります。これをテキストエディタ等で一度開きます。

set cncjs_path=C:\Users\testuser\AppData\Local\Programs\cncjs-app\CNCjs.exeと書かれている部分を自分の環境に合わせて変更します。一度変更すればその後は変更の必要はありません。

CNCjsのショートカットがある場合はプロパティからexeファイルの場所を確認できます。

start_for_windows.batのCNCjsのパスの編集が完了後、保存して閉じます。
その後start_for_windows.batをクリックして起動します。
CNCjsのexeのパスが間違っていなければエラー表示がなく起動します。

しばらく待つとCNCjsが起動します。黒い画面に文字が流れることがありますが、CNCjsが起動していれば気にする必要はありません。
CNCjsの起動を確認後、適当なキーを押します。すると別のウィンドウが開かれCNCペンダント通信用のソフトが立ち上がります。


矢印キーを使って、制御基板のポート名、CNCペンダントのポート名を選択します。
Connectedの表示が出ていればOKです。

終了時は黒い画面を閉じても、CNCjsを閉じても大丈夫です。

4.3.2 プログラムをマニュアル起動する場合

CNCjsとProMicroを繋ぐ場合はコマンドプロンプトにて以下のコマンドを実行します.

node bin/cncjs-real-pendant --socket-port ◯◯◯

この◯◯◯の部分はCNCjsのポートですが,Windowsの場合はCNCjsを起動するたびにポートが変わります.(linux系ならデフォルトで8000番だと思います)

このポートはCNCjsのメニューのView→View in BrowserとしたときのブラウザのURL部に表示されるコロン以降の数字です.
127.0.0.1:◯◯◯◯


この場合だと64956です.

実行するとまず制御基板(CNCxPRO)のCOMポートが聞かれるので,矢印キーで選択

これはCNCjsで選択したポートです。

次にペンダントのCOMポートを聞かれるので矢印キーで選択

connected ws:~~~~~~~
connected COMxxx
のように表示されたらOK.

CNCjs・CNCにハンドルの動作が反映されるかを確認(ペンダントの側面スイッチ(インターロック解除スイッチ・安全スイッチ)を押しながら ハンドルを回す!)

4.4 ペンダントの1クリックでの移動量を変更したい場合

ペンダントの倍率1倍時の1クリック(ぐるぐる回すところの1カチ)での移動量を変更したい場合はbinフォルダのcncjs-real-pendantをテキストエディタで開きます。

var mv_unit_denominator = 1000;

という表記があるので、その数字部分を変更します。
1000の場合は1/1000mm移動(0.001mm)、100の場合は1/100mm移動(0.01mm)、10の場合は1/10mm移動(0.1mm)です。

あくまでこの移動量はペンダントの倍率がx1の時の移動量で、x10やx100では1クリックの移動量は10倍、100倍となります。

1/1000mm=0.001mm移動のときはgrblのログ上0.005mm単位でしか表示されません。なので5クリックするとCNCjs上の座標表示が更新されます。
実際に0.001mm移動しているかどうかは測定機材とCNCの性能の関係上計測できていませんが、10クリックした際に0.01mm動いているのは確認できています。

注意)1クリックの移動量を大きくするとx100にしたときに指令に対して移動が追いつかなくなります。その状態で勢いよくハンドルを動かすと制御基板側で指令の取りこぼしを起こしてしまい誤動作することがあります。