プログラム原点と機械原点を設定


名無し  2005-11-10 10:34:52  No: 127502  IP: [192.*.*.*]

プログラム原点と機械原点を設定を設定するにはどうしたらいいのですか?
環境は、VB6でWindowsです。

編集 削除
は?  2005-11-10 11:46:56  No: 127503  IP: [192.*.*.*]

プログラム原点とは何か?
機械原点とは何か?
(設定を)設定するとは、何を意味するのか?
(何に対して何をどうやって設定するつもりなのか)
の説明が抜けていませんか?

NC加工機等何らかの工作機械に対して、
RS232C等のインタフェースを利用して、
定められたシーケンスで信号を送ってあげる必要があるのだと思いますが、
何処まで理解されてのご質問なのか不明ではアドバイスに困ります。

http://hp.vector.co.jp/authors/VA034898/NcEditor.htm

編集 削除
名無し  2005-11-10 11:53:37  No: 127504  IP: [192.*.*.*]

すみません。
今は、工作機械に対してRS232Cで通信を行なって、工作機械の制御等を行なうプログラムを作成しているのですが、現在の工作機械の移動は、座標で制御されていてぞの座標が移動するたびに座標が変化してしまうため、うまく制御できないので、プログラム上で任意の座標を作成してその中で制御したいのですが、こういう事ってVBでは、可能なんですか?

編集 削除
多分可能  2005-11-10 12:25:57  No: 127505  IP: [192.*.*.*]

> 座標が移動するたびに座標が変化してしまうため
移動したら変化する、というのは当たり前に聞こえるのだけれど、
うまく制御できないというのは、要するにどういう状態なんでしょう?
(そもそも、座標が移動しなかったら、工作機械の意味が無いだろうし)

>こういう事ってVBでは、可能なんですか?
データの入出力の方式や座標系の種類等、細かい仕様がわからないので
答えにくいんだけど、RS232Cの話は抜きにして、座標変換の話だけに
限っていえば、VB はもちろん、ほとんどの言語で処理可能だとは思う。

ワールド座標とか絶対座標と相対座標とかの話なら、単純な加減算だと思うし、
直行座標系の変更なら乗除算、回転でも行列変換か三角関数で処理できそうだし。


素人考えだけどね。

編集 削除
オショウ  2005-11-10 18:17:00  No: 127506  IP: [192.*.*.*]

機械減点は、ハード的に原点復帰した場合の初期位置を言うものですが
機械やハードの構造上、機械減点をふぉこにでも、設定できる場合があ
ります。そんな機材をお使いか解らないので、一応、原点復帰した初期
位置とします。
プログラム原点とは、工作対象座標に対し、ご自身の都合の良い位置座
標をご自身で決め、原点復帰位置からプログラム原点に移動させた状態
が、実質のノーマル位置となるのが普通です。
まぁ〜邪魔くさいので、機械原点とプログラム原点は同一にする場合が
多いのですが、いろいろな機器のセッティング状態で、何等かのオフセ
ット量が発生する場合があるので、プログラム原点は別途設定した方が
いいでしょう。機器の故障で何かを交換した場合、原点が合わなくなり
プログラムをいじるはめになったりますので・・・そのセッティング上
のオフセット量を踏まえ、プログラム原点を設定するのがいいと思いま
す。
よって、プログラム原点としてのプログラム座標系と機械座標系の変換
ルーチンを作成すれば、解決・・・だと思いますが。
機器を制御するに、絶対移動量で制御する場合と、相対移動量で制御す
る場合があります。どちらにせよ、加減算だけの変換になると思います
ので、ひとつひとつ積み重ねていけば、問題ないと思いますが。

言語的に言えば、移動量の与える数値としてのケタ数、動作上の解像度
も関わってきますので、VBでできない場合もあります。
通常Longが使えれば大丈夫だと思いますが・・・
unsign long なら、VBでは無理になります。
以上。

編集 削除