[DobotStudio Pro] Scriptを用いた操作
1. はじめに
本稿ではDobotStudio Proを使い、Lua言語でのプログラミング例を掲載しております。
本稿では3点P1,P2,P3の移動をサンプルしてプログラムしております。
下図のように任意の3点を「ポイント」タブより設定したうえでプログラムを実行してください。
ダイレクトティーチングを用いると簡単に設定できます。
2. 環境
OS: Windows 11(64bit)
ソフトウェア: DobotStudio Pro v2.6.0
製品: MG400
ファームウェア:v1.5.9.0
3. サンプルプログラム
サンプル1
<内容>
・アームの移動
・IOの操作
<プログラム>
MovJ((P1))
DO(1,1)
MovJ((P2))
MovJ((P3))
DO(1,0)
<解説>
簡単なアームの移動、およびIO操作のプログラムです。
MovJ(X)は点Xへのジョイント移動の命令となっております。
DO(x,y)はIOxのON/OFFの制御です。yが0から1になったときにON、1から0になったときにOFFになります。
三点を移動しながらIOのON/OFFが確認できれば成功です。
サンプル2
<内容>
・マルチスレッド
<プログラム>
src0.lua
MovJ((P1))
DO(1,1)
MovJ((P2))
MovJ((P3))
DO(1,0)
src1.lua
print(“PROGRAM START”)
<解説>
サンプル1では、これまでsrc0のみを使っていたがここに、同時にプログラムがスタートし、並行して実行されるsrc1を追加してみます。こちらはDobot社いわく、src5まで追加でき、src0以外を追加のスレッドとするマルチスレッドのプログラムを作成できるとのことでした。
下図を参考にsrc1.luaを追加し上記プログラムを実行してください。
このプログラムでは、print(“X”)のコマンドを使い、Xと表記される命令をしていますが、これがマルチスレッドで行われているということがわかるかと思います。
下図のように左欄に”PROGRAM START”と表示されれば成功です。
サンプル3
<内容>
・関数の作り方
<プログラム>
src0.lua
function move()
MovJ((P1))
DO(1,1)
MovJ((P2))
MovJ((P3))
DO(1,0)
end
move()
move()
src1.lua
print(“PROGRAM START”)
<解説>
ここではfunction X()コマンドをつかって新しく関数Xを設定しております。
X()と命令することでfunction X()よりendまでの行の命令が実行されるようになります。
function X()の次の行を入力する前にTabキーにてインデントを入れてください。
下図のようになっていれば問題ありません。
三点移動、IOのON/OFFが二回ずつ繰り返されていれば成功です。
サンプル4
<内容>
・global.luaの使い方
・Sync()コマンドの使い方
<プログラム>
src0.lua
move()
move()
Sync()
print(text)
global.lua
function move()
MovJ((P1))
DO(1,1)
MovJ((P2))
MovJ((P3))
DO(1,0)
end
text=”PROGRAM FINISHED”
src1.lua
print(“PROGRAM START”)
<解説>
global.luaのタブにて設定された変数、関数は他のタブにて定義せずとも実行できるようになります。
DobotStudio Proのプログラミングは、読み込み後に実行可能な命令を順番に実行してしまいます。そのためSync()コマンドを用いて、命令の実行を一時停止させます。
命令実行後に”PROGRAM FINISHED”と表示されれば成功です。
4. 最後に
サンプルプログラムのデータを掲載しておきます。
必要に応じてプログラムのダウンロード、アップロードを行ってください。
Related Articles
[DobotStudio Pro ver2.6.0~] パレタイジング
1. はじめに 本記事では、2023/1/16公開のDobotStudio Pro 2.6.0~より新しくなりましたパレタイジング機能についてご紹介します。 これまでのパレタイジング機能からとても使いやすくなりましたので、過去のバージョンでご利用されている方や、これから使用を考えている方もぜひご参照ください。 2. 環境 以下の環境にて、この手順が有効であることを確認しています。 OS: Windows 10(64bit) MG400: DobotStudioPro ...
[DobotStudio Pro] I/Oの読み取りが意図したタイミングとずれてしまう場合
1.はじめに 本稿ではMG400のI/Oの読み取りのタイミングが意図した場所とずれてしまう問題について、原因と対処法を案内しています。 2.原因 MG400のプログラムでは、MG400にコマンドを送信後すぐに次のブロック(行)を実行してしまいます。このため、MG400の動作が完了する前にI/Oの読み取りが実行されてしまい、意図した動作を行わない場合があります。 3.対処法 同期命令を追加することで、MG400の動作が完了するまでプログラムを停止することが出来ます。 3.1 DobotStudio ...
[MG400, DobotStudio Pro] ユーザ座標系を使用したプログラムの作成について
1. はじめに 本記事ではユーザ座標系の機能についてご紹介いたします。 パレット機能を使用する際には必須の機能であるほか、ティーチング作業のサポートや衝突等による軸ずれが発生した際の復旧に役立つ可能性のある機能となりますので、ご参照ください。 2. ユーザ座標系とは ロボットの基準となる座標系とは別にユーザが新しく定義することができる座標系のことです。 ...
[M1Pro] アップデート方法
1. はじめに 本稿では、M1Proの制御ソフトウェアであるDobotStudio Proと、コントローラファームウェアのアップデート方法をご案内します。 [注意]本稿はM1Proのアップデート手順です。故障の原因になりますので、本稿からダウンロードできるアップデートファイルはM1Proにのみ適用し、その他の機種では使用しないでください。 [注意]MG1Proのコントローラーファームウェアバージョンがv1.5.4.0未満の場合、 DobotStudio ...
[MG400] アップデート方法
1. はじめに 本稿では、MG400の制御ソフトウェアであるDobotStudio Proと、コントローラファームウェアのアップデート方法をご案内します。 [注意]本稿はMG400のアップデート手順です。故障の原因になりますので、本稿からダウンロードできるアップデートファイルはMG400にのみ適用し、その他の機種では使用しないでください。 [注意]MG400のコントローラーファームウェアバージョンがv1.5.4.0未満の場合、 DobotStudio ...