STRUC:定義結構類型
結構類型的定義 (=STRUC 數據類型)。在此將多個數據類型匯總為一個新的數據類型。
GLOBAL: 在 $CONFIG.DAT 中不允許使用用關鍵詞 GLOBAL 定義的數據類型。
名稱結構類型: 新結構類型的名稱。自定義數據類型的名稱應以 _TYP 結尾,以便可將其與變量名稱進行區分。
如果要組合不同的數據類型,陣列則不適合,必須使用聯接的更多形式。使用聲明
語句STRUC,預先定義好的不同數據類型或預定數據類型的組合構成一個新的復合數據類型。 特殊情況,其它復合和陣列也可以構成復合的一部分。
復合使用的一個典型例子是標準數據類型POS。它由文件$OPERATE.SRC中聲明的6個實數值和2個整數值組成:
STRUC POS REAL X,,Y,Z,A,B,C,INT S,T
如果,例如您現在使用結構數據類型的一個POSITION變量,您可以使用分離點給個別的元素分配值:
POSITION.X=34.4
POSITION.Y=-23.2
POSITION.Z=100.0
POSITION.A=90
POSITION.B=29.5
POSITION.C=3.5
POSITION.S=2
POSITION.T=6
或使用所謂的集合共同分配值:
POSITION={X34.4,Y-23.2,Z100.0,A90,B29.5,C3.5,S2,T6}
集合受下列條件的支配:
● 集合的值可以是簡單的常量或它們自己的集合。
● 不是必須在集合中指定結構中的所有組成。
● 成分的指定順序不必依照它們定義的順序。
● 集合中每個成分可能只包含一次。
● 在由結構組成陣列的情況下,一個集合定義一個單獨的陣列元素的值。
● 結構類型的名稱可在一個集合的開頭指定-以冒號分開。
因此對于POS變量允許下列分配,例如:
POSITION={B100.0,X29.5,T6}
POSITION={A54.6,B-125.64,C245.6}
POSITION={POS:X230,Y0.0,Z342.5}
數據類型: 類型:任意的數據類型,即使結構類型也允許用作數據類型。
部件: 組件的名稱。在結構類型之內只允許進行一次。只在欄擁有 CHAR 類型且是一維時,才允許將其用作結構類型的組件。為此,在結構類型的定義中,在欄的名稱上將欄限制用方括號括起來。
給以 STRUC 數據類型為基礎的變量分配值有 2 種方法:
給變量的多個分量分配值:用集合
給一個變量的單個分量分配一個值:用點分隔符
集合提示:
一個集合的值可以是簡單的常數或集合本身,但是它們不能是變量
在一個集合中不必指定結構的所有分量。
分量不需要按已定義的順序指定。
在一個集合中只允許含有每個分量一次。
在集合的開頭,通過冒號隔開的結構類型名稱可能已指定。
示例:
用 REAL 數據類型的分量 NUMBER 和 CHAR 數據類型的數組分量 TEXT[80] 定義結構類型 S_TYP。
STRUC S_TYP REAL NUMBER, CHAR TEXT[80]
將集合用作集合值的示例:
STRUC INNER_TYP INT A, B, C
STRUC OUTER_TYP INNER_TYP Q, R
DECL OUTER_TYP MYVAR
...
MYVAR = {Q {A 1, B 4}, R {A 3, C 2}}
狀態 (S) 和轉角方向 (T) 是數據類型 POS 和 E6POS 的組成部分:
STRUC POS REAL X, Y, Z, A, B, C, INT S, T
STRUC E6POS REAL X, Y, Z, A, B, C, E1, E2, E3, E4, E5, E6, INT S, T
AXIS 結構類型
A1 至 A6 是指與機器人軸 1 至 6 相關運行的角度值 (旋轉軸)或平移值(平移軸)。
STRUC AXIS REAL A1, A2, A3, A4, A5, A6
對于POS、E6POS、AXIS、E6AXIS和FRAME結構缺少的成分不能被改變。而對于其它集合,則不存在的成分被設置為無效的成分。
建立您自己的結構變量的步驟使用下列例子解釋:
在一個弧焊的子程序中,在變量S_PARA中轉換下列信息:
REAL V_WIRE 焊絲速度
INT CHARAC 特征0...100%
BOOL ARC 帶/不帶弧 (用于模擬)
變量S_PARA必須由3個不同數據類型的元素組成。首先,必須建立一個滿足這個要求的新的數據類型:
STRUC WELDTYPE REAL V_WIRE,INT CHARAC,BOOL ARC
建立了一個名稱為WELDTYPE的新的數據類型(WELDTYPE不是一個變量!)。WELDTYPE由V_WIRE、CHARAC和ARC三個成分組成。您現在可以任何新數據類型的變量,例如:
DECL WELDTYPE S_PARA
這樣您就建立了一個數據類型為WELDTYPE的變量S_PARA??梢酝ㄟ^點分開單獨尋址各個成分和通過集合-如上說明來尋址。
S_PARA.V_WIRE=10.2
S_PARA.CHARAC=66S_PARA.A
RC=TRUE
或
S_PARA={V_WIRE 10.2,CHARAC 50,ARC TRUE}
為了更容易區分自定義數據類型和變量,新數據類型的名稱以…TYPE結束。
根據機器人軸1…6指定軸的運動,結構AXIS的成分A1...A6是角度值(旋轉軸)或平移值(平移軸)。
在結構E6AXIS中使用附加成分E1...E6可尋址外部軸。
在結構FRAME 您可以定義空間的3個位置值(X,YandZ)和3個空間方位(A,B和C)。空間中的一個點可以用術語位置和方位明確地被定義。
有的使用幾個軸位置的機器人可以尋址一個和空間中的相同點,結構POS 中的整數型變量S和T用于明確地定義一個軸的位置。
審核編輯:劉清
-
機器人
+關注
關注
210文章
28231瀏覽量
206618 -
Typ
+關注
關注
0文章
3瀏覽量
10649 -
KUKA
+關注
關注
3文章
217瀏覽量
16491
原文標題:KUKA變成 STRUC:定義結構類型升級版V4.15
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論