NACHI機械臂後台SOCKET通訊

2021-09-10 01:46:08 字數 3752 閱讀 2071

將機械臂做為伺服器,電腦作為客戶端。通訊程式在機械臂後台執行,

我是先在電腦上寫好,匯入機械臂資料夾中,轉化成機械人語言,再在使用者任務這裡開啟它的任務號碼。

埠號設定為10030

**

'tcp

/ip_socket

(server)

'分隔符為,解析包

dim port as

interger

dim state as

string

dim endflag as

string

'dim senddata as string '傳送變數,因為我把他設定成全域性變數,所以在這裡登出掉

dim receivedata[10]

asstring

dim recvlen as

interger

dim recvbuffnum as

interger

dim allowup as

interger

dim allowdown as

interger

dim n as

interger

dim m as

interger

state =

"initial"

port =

10030

recvlen =

0recvbuffnum =

1senddata =

""v10$=

"0"*reconnect

'create

state =

"create socket"

sockcreate1,

0ife1%

<

0then

*judge

'bind

state =

"create port"

sockbind

1,port

ife1

%<

0then

*judge

state =

"wait connect"

sockwait1,

2,0if

e1%<

0then

*judge

*receiveagain '我是將v10$作為flag,控制接受還是傳送

ifv10$=

"1"then

*send

ifv10$=

"2"then

*receive

goto

*receiveagain

*send

state =

"send data"

socksendstr

2,senddata,

len(senddata),0

,v100%,

1ife1%

<

0then

*judge

goto

*receiveagain

*receive

state =

"receive data"

v10$=

"0" '接收只接收一次

sockrecv

2,recvbuffnum,recvlen,0,

v101

% '沒訊號時將會在這停留

v2$=

""v3$=

""v4$=

""v5$=

""v6$=

""v7$=

""v8$=

""v50$=

str$(e1

%)ife1

%<

0then

*judge

state =

"decode data"

ifv101%=0

then

*nodata

getstr1,

v1$,0,

v101%m=

1n=1*readagain

while n<=

v101

%v2$ =

mid$

(v1$,n,1)

n=n+1if

v2$ <

>

","then

*assignment else

*cutcal

*assignment

switch m

case

1v3$=

v3$+

v2$v3

!=val

(v3$) '將它轉換成全域性實數,前台可以使用

break

case

2v4$=

v4$+

v2$v4

!=val

(v4$)

break

case

3v5$=

v5$+

v2$v5

!=val

(v5$)

break

case

4v6$=

v6$+

v2$break

case

5v7$=

v7$+

v2$v7

!=val

(v7$)

break

case

6v8$=

v8$+

v2$v8

!=val

(v8$)

break

ends

endw

goto

*receiveagain

*nodata

sockclose

1sockclose

2goto

*reconnect

'goto

*receiveagain

*cutcal

m=m+

1goto

*readagain

*judge

state =

"judge state"

ife1%=-

7 or -

3then

*closesock else

*closesock

*closesock

'window0,

0,200,

100'gactive

1'print #0

,str$(

e1%)'print #0

,str$(

e2%)sockclose

1sockclose

2pause

3000

'gactive

0goto

*reconnect

*error

state =

"error"

window0,

0,200,

100gactive

1print #0

,str$(

e1%)print #0

,str$(

e2%)sockclose

1sockclose

2pause

3000

exit

機械臂5 機械臂連桿及連桿鏈

操作臂可以看出由一系列剛體通過關節連線而成的乙個運動鏈,我們將這些剛體稱為連桿。通過關節將兩個相鄰的連桿連線起來。當兩個剛體之間的相對運動是兩個平面之間的相對滑動時,連線相鄰兩個剛體的運動副稱為低副。在進行操作臂的結構設計時,通常優先選擇僅具有乙個自由度的關節作為連桿的連線方式。大部分操作中包括轉動...

機械臂開發之機械結構

由於經濟不允許,比較昂貴的機械臂沒有接觸過,但是基本的機械結構都是相識的,一般就是用的材料和驅動的方式不一樣,然後我就以我自己用的機械臂來談談。我組裝的機械臂是以舵機作為機械臂的關節進行控制的,接下來以三自由機械臂進行介紹。三自由度機械臂分析 一.關節 這個機械臂擁有三個旋轉關節,底部的旋轉關節jo...

機械臂控制 5

基本指南 robodk是用於模擬和離線程式設計的軟體。按f1時,將顯示與所選專案相關的幫助主題 參考座標系 注意 乙個參考係相對於另乙個參考係的關係也稱為姿勢 位置和方向 甲姿態可以通過xyz位置來表示和尤拉角為取向,通過xyz位置和四元數的值或由乙個4 4矩陣。預設情況下,robodk顯示的關係作...