Epson機械手簡單例項程式設計

2021-08-04 22:59:38 字數 3291 閱讀 5517

軟體配置: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...