婷婷网在线I久久精品视频在线I九九综合在线I97麻豆视频I日韩免费视频在线观看I9999在线视频

EC機器人JBI與LUA交互

2025-01-16

隨著技術(shù)的不斷進步,根據(jù)客戶不同的需求,現(xiàn)在機器人的工作已經(jīng)不僅僅是簡單的執(zhí)行運動指令,往往會伴隨著大量的計算和通訊任務(wù)。其中通訊用來和外部設(shè)備交互,做數(shù)據(jù)傳輸或一些邏輯控制,而計算則常用來做一些數(shù)學運算,進制轉(zhuǎn)換,機器人的位姿運算等等。

1.  EC 系列的 Lua 結(jié)構(gòu)和 JBI 結(jié)構(gòu)

而我們艾利特機械臂采用 jbi 程序+lua 腳本的方式來實現(xiàn)多種符合場景下的使用,將大量復雜的運算、通訊任務(wù)和運動程序進行分離,jbi 程序主要負責運動,lua 腳本用來數(shù)據(jù)運算和通訊交 互。這樣可以保證運動任務(wù)的高效運行,不摻雜過多冗余的計算指令,同時腳本內(nèi)容專一,只 負責后臺運算和通訊。在稍微大型的項目中,分離式的設(shè)計不僅可以保證程序的易讀性,同時在編寫過程中也可以多人協(xié)作,計算和通訊的驗證和示教點位工作并行進行。這種設(shè)計即保證了機器人基礎(chǔ)功能運動指令的簡單插入,同時大大提高了機器人能夠執(zhí)行任務(wù)的上限。 運動和計算的分離式設(shè)計,可以避免運動指令和計算指令的大量摻雜,導致調(diào)試階段程序 調(diào)試效率低不好調(diào)試,后期運動程序與計算指令摻雜過多不易維護的情況,這也類似PLC 編程時,往往工程師喜歡用 STL 文本去實現(xiàn)重復復雜的運算指令。同時 JBI 程序搭配類工業(yè)風的示教器操作風格可以更快的示教點位,驗證點位,程序調(diào)用等,而腳本使用 LUA 語言,可以使工程師無縫從 STL 文本編程切換。在腳本編程中,不僅可以 lua 語言本身的豐富的 API 外,還可以使用艾利特機器人實現(xiàn)的接口,獲取機器人的各種狀態(tài)和數(shù)據(jù),使用機器人的硬件接口。 從設(shè)計角度來說,lua 的執(zhí)行優(yōu)先級沒有 jbi 高,但是執(zhí)行卻是在同步執(zhí)行的。所以在實際 使用中,lua 和 jbi 程序的執(zhí)行往往需要互鎖,兩者進行邏輯上的同步,才能達到理想的效果。

2.  如何進行 Lua 腳本和 JBI 程序的交互

2.1 變量

如表格所示,艾利特機器人全局變量分為五種均可通過 jbi 和 lua 進行操作,通常使用情況下,會使用 B、I、D 變量進行 邏輯的交互和簡單數(shù)據(jù)的傳遞,而 P 變量用作放置關(guān)節(jié)數(shù)據(jù),V 變量用作放置笛卡爾數(shù)據(jù)。 P 變量和 V 變量存放對應(yīng)的數(shù)據(jù)后,可以使用示教器手動移動到目標位置,或者通過移動指令 直接到指定的位置。

2.2輸入輸出

如上表格所示,用戶也可以用數(shù)字輸入輸出或者模擬輸入輸出來進行l(wèi)ua與JBI的交互


3.JBI如何操作全局變量


JBI 代碼:

NOP

// 設(shè)置全局變量 B0 為 1

SET B000 1

// 設(shè)置全局變量 I0 為 1

SET I000 1

// 設(shè)置全局變量 D0 為 1

SET D000

// 設(shè)置全局變量 P0 的 j1 數(shù)據(jù) 為 1

SET P000(0) 1

// 設(shè)置全局變量 V0 的 x 數(shù)據(jù) 為 1

SET V000(0) 1

// 將后面的數(shù)據(jù)賦值給 P0,當插入指令時,自動選取當前關(guān)節(jié)角度插入

// 插入后修改指令時,也是默認更新數(shù)據(jù)為當前關(guān)節(jié)角度

SETJOINT P000 170.2074,-85.7738,102.0724,-104.2114,89.9468,-14.3515,0.0000,0.0000

// 將后面的數(shù)據(jù)賦值給 P0,當插入指令時,自動選取當前關(guān)節(jié)角度插入

// 插入后修改指令時,也是默認更新數(shù)據(jù)為當前笛卡爾角度

SETPOSE V000 -517.8859,-34.5460,208.5253,3.1061,0.0081,1.6502

// 等待 B0 = 0

WAIT B000=0

// 等待 I0 = 0

WAIT I000=0

// 等待 D0 = 0

WAIT D000=0

END




LUA 代碼:

Sleep(1)

-- 從全局變量獲取數(shù)據(jù)

local b0 = get_global_variable("B0")

local i0 = get_global_variable("I0")

local d0 = get_global_variable("D0")

-- 對于 P,V 變量,由于存儲連續(xù)的 6 個數(shù)據(jù),可以通過以下幾種方式獲取

local j7 = {}

j7[1],j7[2],j7[3],j7[4],j7[5],j7[6] = get_global_variable("P0")

local pose0 = {}

pose0[1],pose0[2],pose0[3],pose0[4],pose0[5],pose0[6] = get_global_variable("V0")

local j1,j2,j3,j4,j5,j6 = get_global_variable("P0")

local p0 = {j1, j2, j3, j4, j5, j6}

local v0 = {get_global_variable("V0")}

-- 向全局變量賦值數(shù)據(jù)

-- 設(shè)置 B0 為 1

set_global_variable("B0", 1)

-- 設(shè)置 D0 為 1

set_global_variable("D0", 1)

-- 設(shè)置 I0 為 1

set_global_variable("I0", 1)

-- 設(shè)置 P0 的數(shù)據(jù)為 1,2,3,4,5,6

set_global_variable("P0", 1, 2, 3, 4, 5, 6)

-- 設(shè)置 V0 的數(shù)據(jù)為 1,2,3,4,5,6

set_global_variable("V0", 1, 2, 3, 4, 5,6)


4.1 使用全局變量簡易交互示例



JBI 代碼 :

NOP

// 設(shè)置數(shù)據(jù)

SET D000 0

SET D001 -90

SET D002 0

SET D003 -90

SET D004 90

SET D005 0

// 將 B001 設(shè)置為 1,使 lua 進行計算賦值

SET B001 1

// 等待 B001 為 0,等于 0 代表 lua 的計算賦值完成

WAIT B001=0

TIMER T=0.002 S

MOVJ P001 VJ=30% CR=0.0MM ACC=50 DEC=50

END


LUA 代碼:
sleep(1)
elite_print("runing")
-- 等待 jbi 運行
repeat
elite_print("Waiting B1 == 1!")
until
(get_global_variable("B1") == 1)
-- 獲取數(shù)據(jù)并賦值
local j1 = get_global_variable("D0")
local j2 = get_global_variable("D1")
local j3 = get_global_variable("D2")
local j4 = get_global_variable("D3")
local j5 = get_global_variable("D4")
local j6 = get_global_variable("D5")
set_global_variable("P1", j1, j2, j3, j4, j5, j6)
set_global_variable("B1", 0)
elite_print("done")


4.2運行效果

上述兩個程序同時運行后,LUA 側(cè)會一直等 B1=1,當 jbi 初始化 D 變量后,設(shè)置 B1 為 1,lua 側(cè)開始獲取數(shù)據(jù)并將其賦值給 P1,隨后設(shè)置 B1 為 0,然后 JBI 側(cè)檢測到 B1 為 0,即運行到新的 P1


5.1 使用輸入輸出簡易交互示例


JBI代碼:

//前臺設(shè)置數(shù)字輸出0為1啟動腳本

NOP

DOUT OT#(0) 1

//等待腳本執(zhí)行完成

WAIT OT#(0)=0 

MOVEL V=200MM/S CR=0MM ACC=50 DEC=50 V1

END


lua代碼:
while (true) do
repeat
--等待前臺腳本啟動
   o0=get_robot_io_status("o0")
sleep(0.01)
until(o0==1)
sleep(0.02)

client_send_data(ip,"start",0,port)
sleep(0.5)
   ret,recv=client_recv_data (ip,1,0,port)

while recv=="" do
sleep(3)
client_send_data(ip,"start",0,port)
sleep(0.5)
   ret,recv=client_recv_data (ip,1,0,port)
end
   tempString=string.format("%s",recv)
   CamData=string.split(tempString,",")

if tonumber(CamData[1])==1 then
set_global_variable("b2",1)
elseif tonumber(CamData[1])==0 then
set_global_variable("b2",0)
end
  rz=math.rad(tonumber(CamData[4]))
elite_print("機器人定位數(shù)據(jù):","X=",CamData[2],",Y=",CamData[3],",RZ=",rz)
sleep(0.01)
     a1,a2,a3,a4,a5,a6=get_global_variable("V1")
sleep(0.02)
set_global_variable ("V1",tonumber(CamData[2]),tonumber(CamData[3]),a3,a4,a5,rz)
set_robot_io_status("o0",0)
--腳本執(zhí)行完畢反饋給前臺
end




download-669.svg comicon14.svg

電話咨詢

download-397.svg comicon15.svg

免費試用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

準備好突破增長瓶頸,開啟智能制造了嗎?
了解我們的機器人如何幫助您的業(yè)務(wù)增長
歡迎下載艾利特機器人資料

我已閱讀并同意艾利特《隱私政策》《法律聲明》

我已知曉并同意艾利特通過電子郵件發(fā)送相關(guān)資料

提交
主站蜘蛛池模板: 久久久久久久久久久国产精品 | 奇米网网址 | 免费观看的黄色片 | a爱爱视频 | av在线一 | 国产黄在线免费观看 | 国产成人亚洲在线观看 | 中文字幕在线看视频国产 | 久久精品综合一区 | 欧美激情综合色综合啪啪五月 | 三级视频日韩 | 在线观看日韩av | 国产午夜三级一区二区三桃花影视 | 欧美日韩精品在线免费观看 | 国产免费视频在线 | 久久久久国产成人精品亚洲午夜 | 天堂av色婷婷一区二区三区 | 日日操日日插 | 伊人国产视频 | 日本不卡视频 | 色综合中文综合网 | 国产区网址| 亚洲永久精品在线 | 免费av网站观看 | 中文字幕久久久精品 | 99久久精品国产欧美主题曲 | 久热电影 | 久久一线| 日韩电影一区二区三区 | 91av免费观看 | 九九色视频 | 免费亚洲精品 | 欧美日韩国产色综合一二三四 | 天天操天天玩 | aaa毛片视频 | 片黄色毛片黄色毛片 | 黄污网站在线观看 | 国产精品久久网站 | 激情综合六月 | 亚洲一区二区精品在线 | 久久视频6 | 天天干天天天 | 亚洲视频久久久 | 视频二区在线视频 | 天天射天天射天天射 | 香蕉视频在线看 | 一区二区三区四区影院 | 人人爽人人澡人人添人人人人 | 久草视频国产 | 欧美日韩国产综合网 | 国产精品永久免费在线 | 欧美少妇xx | 国产精品嫩草55av | 天堂av在线免费 | 国产 一区二区三区 在线 | 特级西西www44高清大胆图片 | 国产美女永久免费 | 成人黄色小说网 | 青青河边草观看完整版高清 | 97人人模人人爽人人喊中文字 | 精品国产一区二区三区av性色 | 久久久久亚洲精品中文字幕 | 成人久久毛片 | 日韩三级中文字幕 | 色妞色视频一区二区三区四区 | 欧美精品生活片 | 久久99国产精品二区护士 | 成人影视免费看 | 国产精品久久久久久久久久免费看 | 日韩成年视频 | 欧美国产在线看 | 91伊人影院| 97精品国自产拍在线观看 | 91av蜜桃 | 私人av | 国产成人精品免高潮在线观看 | 日韩av影片在线观看 | 黄色小网站免费看 | 国产精品96久久久久久吹潮 | 毛片网在线观看 | 国产精品久久人 | 国产大陆亚洲精品国产 | 欧美另类xxxxx| 激情视频区 | 国产中年夫妇高潮精品视频 | 欧美aa一级片 | 国产精品日韩久久久久 | 亚洲欧美日韩不卡 | 精品免费观看视频 | 国产精品久久久久久久久久久免费 | 成人午夜在线观看 | 在线激情小视频 | 久草久草视频 | 91麻豆精品一区二区三区 | 精品久久久久久久 | 99精品一级欧美片免费播放 | 亚洲第一成网站 | 国产精品综合在线 | 在线免费观看视频一区二区三区 |