軟體配置:epson機械手軟體,vs2012
網路配置:tcp通訊,ip位址及埠設定
硬體配置:pc機,機械手,機械手供電器
一.環境準備
①pc,機械手,供電器上電。
②pc與機械手的兩個網線插口連線,置供電器power為on
③配置pc的ip位址與epson軟體同乙個ip位址,epson軟體每乙個埠都可以設定乙個ip,可以同時開多個埠(設定位置:設定—系統配置—控制器—tcp/ip)
④視窗—電腦與控制器通訊–增加,新增乙個乙太網連線p1,同時設定ip位址
⑤將軟體狀態從離線改為usb,在更改為名為p1的乙太網連線。
⑥工具—機械人管理器,除錯機械手,機械手運動則表示環境準備完成。
二. 編寫epson軟體**
①初始化epson
function maininitpro
reset
if motor = off then
motor on
slock 1, 2, 3, 4, 5, 6
endif
power high
counts = 0
accel 60, 60
speed 10
accels 1000
speeds 1000
' go p1
fend
②網路配置
function netopen
netsts = chknet(202)
if (netsts < 0) then
closenet #202
wait 0.5
setnet #202, "192.168.0.1", 2002, crlf, none, 0 '配置埠號,ip位址
opennet #202 as server
waitnet #202
print "配置完成!"
endif
fend
③掃瞄埠,獲取埠資料,傳輸資料
function scanconnnet
onerr goto errhandler
donetsts = chknet(202)
if (netsts > 0) then
input #202, recvstring$ '從202埠獲取輸入,並賦值到變數recvstring$
parsestr recvstring$, recvstr$(), "#"
parsestr recvstring$, recvstr$(), " "
select recvstr$(0)
case
"x" move curpos +x(val(recvstr$(1)))
case
"-x"
move curpos -x(val(recvstr$(1)))
case
"robotrun"
cx(p100) = val(recvstr$(1))
cy(p100) = val(recvstr$(2))
cz(p100) = val(recvstr$(3))
cu(p100) = val(recvstr$(4))
cv(p100) = val(recvstr$(5))
cw(p100) = val(recvstr$(6))
go ljm(p100)
'傳送資料到202埠
print #202, "#gotopointok"
send
elseif netsts < 0
then
call netopen
elseif netsts = 0
then
endif
print #202, "#robotpos" + "," + str$(cx(curpos)) + "," + str$(cy(curpos)) + "," + str$(cz(curpos)) + "," + str$(cu(curpos)) + "," + str$(cv(curpos)) + "," + str$(cw(curpos)) + "#"
wait 0.2
loop
errhandler:
recvstring$ = ""
eresume next
fend
三.c#程式設計
①tcp連線核心**
using system.threading.tasks;
using testltdmc;
using system.threading;
using system.windows.forms;
namespace test
return instance;
}private
robot()
public
void
connectwithrobot()
try}
catch
}public
bool getrobotconnectsts
else
return robotconnectsts;}}
public
void
disconnectwithrobot()
}private
void
receive(iasyncresult ia)
else
}catch
}private
void
processdata(string recvdata)
);//string singlecmddata1 = cmddata[1].split(new char );
string singlecmddata = cmddata[1].split(new
char );
if (singlecmddata[0].trim() != "robotpos")
switch (singlecmddata[0].trim())
}public
void
sendcmdtorobot(string part1, double part2, string part3, string part4, string part5, string part6, string part7)
public
void
sendcmddata(string strdata)
catch}}
}}
python 機械手 機械手機械手驅動程式設計
我目前正在為即將到來的機械人比賽準備我們的機械人編碼。我正試著把我們的機械人設定成自主模式 在無人控制的情況下移動 但我遇到了乙個問題。我可以讓機械人向左 向右 向前 向後等移動 我們使用的是機械驅動 在autonomy中,我們希望它向前移動,然後在它完成後向側面移動。我們兩個同時做沒有問題,但乙個...
EPSON機械人簡單例項
2條訊息 epson機械人sple 語言 簡單例項 qq 48705696的部落格 csdn部落格 編寫乙個初始化函式開啟馬達 設定執行功率及速度 方法體是以關鍵字function為開始fend為結束 init為自定義的方法名 if條件語句要以endif為結束 再者就是if.then.else.en...
C Socket 程式設計簡單例項
c console 程式設計 伺服器端 csharpconsolesokecttestserver.cs using system using system.collections.generic using system.text using system.net using system.net...