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.最後に
サンプルプログラムのデータを掲載しておきます。
必要に応じてプログラムのダウンロード、アップロードを行ってください。
ご不明点等ございましたら、お気軽にdobot@techshare.co.jpまでお問い合わせください