[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
RML-1:むちゃくちゃでございます。
2008.07.15 Tuesday 19:26 | Modela:RML-1
本日中にツール置場にModelaDirectの最新版アップします。
今回からネットインストールではなく、圧縮ファイルでアップします。(前のものは削除します)
解凍して適当なところにおいて使ってください。
高確率(?)でソース(VBのプロジェクトファイル)もアップします。
今回新たにグリッド状にドリリングするコードを吐き出す機能を追加しました。
簡単に言うと右のところをすべて埋めて「計算」ボタンを押すとコマンドのウインドに生成されたコードを転送してくれます。 いつもの如くエラー処理なしです。mmのところは0.1単位まではエラーは起きないはず。
一度コードを生成してから、機種変更したい場合は、機種変更後に「計算」を押すだけです。
インターフェイスもソースもむちゃくちゃな作りをしていますが、気にしないでください。
ソースを見て、90%以上が文字列操作だということがわかっていただければ幸いです。
処理速度を上げるために、計算時に外部(このアプリと同じフォルダ)にファイルを生成します。
PRNとしていますので、これをそのままPRNPRINTしてもOKです。
次回はもっとスマートな配布方法(ReadMeを書くなど)します。
----- 追記:一か所修正してください。-----
もうしわけありません。 グリッド穴あけで生成するコードに一か所間違いがあります。
生成後に2行目の ^PD を !PZ に書き換えてから実行してください。
今回からネットインストールではなく、圧縮ファイルでアップします。(前のものは削除します)
解凍して適当なところにおいて使ってください。
高確率(?)でソース(VBのプロジェクトファイル)もアップします。
今回新たにグリッド状にドリリングするコードを吐き出す機能を追加しました。
簡単に言うと右のところをすべて埋めて「計算」ボタンを押すとコマンドのウインドに生成されたコードを転送してくれます。 いつもの如くエラー処理なしです。mmのところは0.1単位まではエラーは起きないはず。
一度コードを生成してから、機種変更したい場合は、機種変更後に「計算」を押すだけです。
インターフェイスもソースもむちゃくちゃな作りをしていますが、気にしないでください。
ソースを見て、90%以上が文字列操作だということがわかっていただければ幸いです。
処理速度を上げるために、計算時に外部(このアプリと同じフォルダ)にファイルを生成します。
PRNとしていますので、これをそのままPRNPRINTしてもOKです。
次回はもっとスマートな配布方法(ReadMeを書くなど)します。
----- 追記:一か所修正してください。-----
もうしわけありません。 グリッド穴あけで生成するコードに一か所間違いがあります。
生成後に2行目の ^PD を !PZ に書き換えてから実行してください。
PR
RML-1:ひさびさテスト
2008.07.12 Saturday 01:35 | Modela:RML-1
今日は夕方から時間が取れたので、コマンドをMDXにガンガン送信していろいろ検証しました。
完全ではないですが、コマンドにいくつかの特徴を見つけました。
あくまでMDX-40での検証結果ですが。
1. ^が頭についているコマンドはそれを省いても使える場合がある。
例:^IN;=IN; ^PR;=PR; 等(他にもいろいろ)
^PA;Z1000,1000,0;PR;Z0,0,-100; というような^をつけたりつけなかったりでも動作は変化なし。
2.!が頭についているコマンドは省いたら機能しない。(と思う)
例:!ZM0 → ZM0 では未動作。
3.コード開始の;;はなくても特に変化はない。
4.コマンドとパラメータの間に半角スペースを入れても動作は同じ&大文字・小文字関係なし。
例:Z0,0,0; と z 0,0,0; は同じ動作。
5.速度設定系コマンドは、それぞれ作用するところが違う。また、記述順番で動作が変化する。
速度設定系コマンド: V v; / F v; / ^VS v; / !VZ v; 詳細は後日。
6.座標をパラメータとして必要とするもののいくつかは連続記述可能。
例:
Z0,0,500;
Z100,100,500;
Z100,100,0;
↓
Z 0,0,0,100,100,500,100,100,0;
もしかしたら
Z
0,0,0,
100,100,500,
100,100,0
;
と言うのも対応してくれるかも。
7. パラメータにNullは使用不可。
例:Zを上に10mm移動したい場合に、 Z , ,1000; というような記述 や !PZ 0,100; を設定後 上限のみ書き換えたい場合に、 !PZ ,500;と言うような記述。 いずれも未動作。
他にもあったような気がしますが、とりあえずここまで。
極論すると、速度設定はV 移動はZ 後はスピンドルのオンオフと回転数指定のコマンドでほとんどのことがやり過ごせます。 どっちかと言うと見やすく(プログラムでコードを生成するときも記述しやすい)、書き換えを容易にするためにこれらの特徴をうまく利用したいという主旨なので、無理して覚えておく必要はありません。
完全ではないですが、コマンドにいくつかの特徴を見つけました。
あくまでMDX-40での検証結果ですが。
1. ^が頭についているコマンドはそれを省いても使える場合がある。
例:^IN;=IN; ^PR;=PR; 等(他にもいろいろ)
^PA;Z1000,1000,0;PR;Z0,0,-100; というような^をつけたりつけなかったりでも動作は変化なし。
2.!が頭についているコマンドは省いたら機能しない。(と思う)
例:!ZM0 → ZM0 では未動作。
3.コード開始の;;はなくても特に変化はない。
4.コマンドとパラメータの間に半角スペースを入れても動作は同じ&大文字・小文字関係なし。
例:Z0,0,0; と z 0,0,0; は同じ動作。
5.速度設定系コマンドは、それぞれ作用するところが違う。また、記述順番で動作が変化する。
速度設定系コマンド: V v; / F v; / ^VS v; / !VZ v; 詳細は後日。
6.座標をパラメータとして必要とするもののいくつかは連続記述可能。
例:
Z0,0,500;
Z100,100,500;
Z100,100,0;
↓
Z 0,0,0,100,100,500,100,100,0;
もしかしたら
Z
0,0,0,
100,100,500,
100,100,0
;
と言うのも対応してくれるかも。
7. パラメータにNullは使用不可。
例:Zを上に10mm移動したい場合に、 Z , ,1000; というような記述 や !PZ 0,100; を設定後 上限のみ書き換えたい場合に、 !PZ ,500;と言うような記述。 いずれも未動作。
他にもあったような気がしますが、とりあえずここまで。
極論すると、速度設定はV 移動はZ 後はスピンドルのオンオフと回転数指定のコマンドでほとんどのことがやり過ごせます。 どっちかと言うと見やすく(プログラムでコードを生成するときも記述しやすい)、書き換えを容易にするためにこれらの特徴をうまく利用したいという主旨なので、無理して覚えておく必要はありません。
RML-1:アップしました。
2008.06.30 Monday 12:24 | Modela:RML-1
先日テストに使ったモデラにダイレクト送信するツールをツール置き場にアップ
しました。http://shichisankamen.shime-saba.com/publish.htm
ネット経由でインストールする形になっています。
(外部に配布したことがないので、ちょっといまいちです。この辺はまた勉強します。)
最低限のエラー処理しかしていないので、気をつけて使ってください。
使い方は、右の欄に使用できるプリンタが出るので、出力したいモデラを選んで(ネットワーク可能)、ファイル送信の場合は「ファイル送信」ボタンを押すとファイル選択画面が表示され、選択してOKすると出力されます。
コマンドの方はコマンドを適当に入力して「コマンド送信」です。マルチラインなので、好きなだけコマンドを書いてください。
このアプリはモデラに直接データを送信する環境のテスト用です。
感想等頂ければ幸いです。
しました。http://shichisankamen.shime-saba.com/publish.htm
ネット経由でインストールする形になっています。
(外部に配布したことがないので、ちょっといまいちです。この辺はまた勉強します。)
最低限のエラー処理しかしていないので、気をつけて使ってください。
使い方は、右の欄に使用できるプリンタが出るので、出力したいモデラを選んで(ネットワーク可能)、ファイル送信の場合は「ファイル送信」ボタンを押すとファイル選択画面が表示され、選択してOKすると出力されます。
コマンドの方はコマンドを適当に入力して「コマンド送信」です。マルチラインなので、好きなだけコマンドを書いてください。
このアプリはモデラに直接データを送信する環境のテスト用です。
感想等頂ければ幸いです。
RML-1:一難去ってあともどり??
2008.06.27 Friday 21:40 | Modela:RML-1
昨日のRML-1:めどがたちました。の件。
とにかく試してみたい、、、ということで、会社に着くなりテストしました。(基本的にコードをコピー&ペーストするだけですが) 結果はOK!
予想通りプリンタ選択ダイアログが毎回出てくるし、テキストはプログラムの中で書き換え、、という状態でしたが、送信できさえすればとりあえずいいでょう。
で、仕事が終わって自分にとって不都合な部分を書き換え、コマンドを入力→送信 がデバッグモードで完結できるようになりました。見た目や操作はPRNPRINTにMDIもどきがある感じ。
ということで早速それを使っていくつかコマンドの検証をしたのですが、原点設定系コマンドが何かおかしい。
!XOnや!YOnが反映されない。 !ZOnも反映されたり、されなかったり、相対モードにしているのに絶対値だったりと、、意味不明。 単なる勘違いならいいのですが、、、 PRNをDROPPUTから送信しても同じような結果。
一番怖いのが!XOnと!YOnの存在が勘違いである場合。
この前のテストではちゃんと動作していたと思うのですが、、、、このコマンドはないと楽しみ半減です。
まだまだ修行が足りないって事でしょうか。RML-1 奥が深い。
とにかく試してみたい、、、ということで、会社に着くなりテストしました。(基本的にコードをコピー&ペーストするだけですが) 結果はOK!
予想通りプリンタ選択ダイアログが毎回出てくるし、テキストはプログラムの中で書き換え、、という状態でしたが、送信できさえすればとりあえずいいでょう。
で、仕事が終わって自分にとって不都合な部分を書き換え、コマンドを入力→送信 がデバッグモードで完結できるようになりました。見た目や操作はPRNPRINTにMDIもどきがある感じ。
ということで早速それを使っていくつかコマンドの検証をしたのですが、原点設定系コマンドが何かおかしい。
!XOnや!YOnが反映されない。 !ZOnも反映されたり、されなかったり、相対モードにしているのに絶対値だったりと、、意味不明。 単なる勘違いならいいのですが、、、 PRNをDROPPUTから送信しても同じような結果。
一番怖いのが!XOnと!YOnの存在が勘違いである場合。
この前のテストではちゃんと動作していたと思うのですが、、、、このコマンドはないと楽しみ半減です。
まだまだ修行が足りないって事でしょうか。RML-1 奥が深い。
RML-1:めどがたちました。
2008.06.27 Friday 02:01 | Modela:RML-1
先日引っかかっていたこの件が解決しそうです。
http://shichisankamen.blog.shinobi.jp/Entry/13/
案の定WIN32APIを使うようです。同じAPI使うのでもCreateFile関数を使えと言うのが多いのですが、この関数はポートにデータを送信する感じです。どっちにしてもいまいち理解できてません。
http://support.microsoft.com/kb/322090/ja
クラスはファイル送信とRAWテキスト送信を実装しているので手を加えずそのまま使えると思います。
ボタンを押したときのイベント処理がおそらく億劫になると思うので、この辺をアレンジすればうまくいきそうです。 早くテストしたい今日この頃です。
そうやって一つ解決しそうになるとまた欲が、、
今度はVパネルのような機械側からのパラメータ(主に現在の機械の絶対座標)を取得したい。
まあ、、この辺は他の方法でもなんとかなるのでおまけみたいなもの。
とりあえず何か作らねば。
http://shichisankamen.blog.shinobi.jp/Entry/13/
案の定WIN32APIを使うようです。同じAPI使うのでもCreateFile関数を使えと言うのが多いのですが、この関数はポートにデータを送信する感じです。どっちにしてもいまいち理解できてません。
http://support.microsoft.com/kb/322090/ja
クラスはファイル送信とRAWテキスト送信を実装しているので手を加えずそのまま使えると思います。
ボタンを押したときのイベント処理がおそらく億劫になると思うので、この辺をアレンジすればうまくいきそうです。 早くテストしたい今日この頃です。
そうやって一つ解決しそうになるとまた欲が、、
今度はVパネルのような機械側からのパラメータ(主に現在の機械の絶対座標)を取得したい。
まあ、、この辺は他の方法でもなんとかなるのでおまけみたいなもの。
とりあえず何か作らねば。
RML-1:だいぶ分かってきました。
2008.06.25 Wednesday 00:29 | Modela:RML-1
↓書き換えると上に来るかと思っていたらそのままだったので。更新のお知らせです。
Modela:RML-1覚書(MDX-40:不確定バージョン)
私自身の覚書としてもごちゃごちゃして分かりづらくなってきているので、近々まとめます。
また、実際に作った(使った)コード生成モジュールもインターフェイスをつけて少しずつながら公開していく予定です。普段は自分が分かりさえすればいい&値の範囲等を知っているので、インターフェイスもなく、エラー処理もしていなかったりします(^^;
公開先(データ保存先)は先に作りました。
シチサンカメンのツール置き場
一応 基本ポリシーは
1.全てフリー。ソースもオープン。 ただし使われる方は自己責任で&サポートは気まぐれ。
2.極力他のアプリを必要としないで済むように。
必要な場合もフリーもしくは低価格(1万円以下)で済むように。
3.公開の目的はMDX-40以外のModelaでの使用結果を知りたいため。
如いては、Modelaの有効活用と普及促進のため。
と考えています。
今後ともどもよろしくお願いします。
Modela:RML-1覚書(MDX-40:不確定バージョン)
私自身の覚書としてもごちゃごちゃして分かりづらくなってきているので、近々まとめます。
また、実際に作った(使った)コード生成モジュールもインターフェイスをつけて少しずつながら公開していく予定です。普段は自分が分かりさえすればいい&値の範囲等を知っているので、インターフェイスもなく、エラー処理もしていなかったりします(^^;
公開先(データ保存先)は先に作りました。
シチサンカメンのツール置き場
一応 基本ポリシーは
1.全てフリー。ソースもオープン。 ただし使われる方は自己責任で&サポートは気まぐれ。
2.極力他のアプリを必要としないで済むように。
必要な場合もフリーもしくは低価格(1万円以下)で済むように。
3.公開の目的はMDX-40以外のModelaでの使用結果を知りたいため。
如いては、Modelaの有効活用と普及促進のため。
と考えています。
今後ともどもよろしくお願いします。
RML-1:つまづきました。
2008.06.20 Friday 00:44 | Modela:RML-1
本日ちょっと時間が出来たので、作っておいたプログラムをテストしてみました。
仕様・内容は次の通りです。
・使用マシン:MDX-40
1.入力された値を元に切削コードを生成し、prnファイルとして保存する。
VisualBasic2005Express(Microsofttにて無料配布)で作成。
↓
2.生成したprnファイル(単なるテキストファイル)をプリンタドライバに送信。
prnprint(フリーウェア) / DROPOUT(フリーウェア)を使用。
結果は問題なく動作しました。
DROPOUTはネットワーク出力不可。prnprintはOKです。
ここまでは生成する切削コードが間違ってさえいなければ出来て当然なのです。
問題はここからで、出来れば2の作業を省きたい(=VBで全部やってしまいたい)と欲が出てきたのです。
Vパネルの「XY原点に移動」みたいなものはそれを実行したら即座に動作する方が良いですから。
MDI運転みたいなことが出来るならテスト等はかどりますしね。
ということでVBでどうやればそれが出来るかいろいろと試してみたのですが、.うまくいかないのです。
何か良い情報落ちてないかな、、、
仕様・内容は次の通りです。
・使用マシン:MDX-40
1.入力された値を元に切削コードを生成し、prnファイルとして保存する。
VisualBasic2005Express(Microsofttにて無料配布)で作成。
↓
2.生成したprnファイル(単なるテキストファイル)をプリンタドライバに送信。
prnprint(フリーウェア) / DROPOUT(フリーウェア)を使用。
結果は問題なく動作しました。
DROPOUTはネットワーク出力不可。prnprintはOKです。
ここまでは生成する切削コードが間違ってさえいなければ出来て当然なのです。
問題はここからで、出来れば2の作業を省きたい(=VBで全部やってしまいたい)と欲が出てきたのです。
Vパネルの「XY原点に移動」みたいなものはそれを実行したら即座に動作する方が良いですから。
MDI運転みたいなことが出来るならテスト等はかどりますしね。
ということでVBでどうやればそれが出来るかいろいろと試してみたのですが、.うまくいかないのです。
何か良い情報落ちてないかな、、、
RML-1:応用案1
2008.06.16 Monday 19:30 | Modela:RML-1
SRPの場合センター基準になる(みたい)なので、私のように左下基準が基本の人は困ることになるかと思います。
なので、切削前に材料サイズに合わせて原点をシフトしさせる、、、のにどうかと。
1.インターフェイスはExcelなりAccessなりで作って材料の幅(W)と奥行(D)(厚みはなし)を入力。
2.WとDの半分だけ移動した座標でXY原点を設定するようにテキストを吐き出させる。
3.そのテキストをMDXに送信する。
4.SRPで切削開始。
*復元用コードがあると便利かもしれません。
*おそらくヘッドを移動させずにPA;XOn(n=W/2);YOn(n=H/2);で設定できるかと思います。
ただしnは整数でないといけないと思うので、その辺の変換は必要。
後日検証します。
なので、切削前に材料サイズに合わせて原点をシフトしさせる、、、のにどうかと。
1.インターフェイスはExcelなりAccessなりで作って材料の幅(W)と奥行(D)(厚みはなし)を入力。
2.WとDの半分だけ移動した座標でXY原点を設定するようにテキストを吐き出させる。
3.そのテキストをMDXに送信する。
4.SRPで切削開始。
*復元用コードがあると便利かもしれません。
*おそらくヘッドを移動させずにPA;XOn(n=W/2);YOn(n=H/2);で設定できるかと思います。
ただしnは整数でないといけないと思うので、その辺の変換は必要。
後日検証します。