0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

KUKA變成STRUC:定義結(jié)構(gòu)類型升級(jí)版

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 2023-04-20 17:41 ? 次閱讀

STRUC:定義結(jié)構(gòu)類型

ccee67ca-db9c-11ed-bfe3-dac502259ad0.png

結(jié)構(gòu)類型的定義 (=STRUC 數(shù)據(jù)類型)。在此將多個(gè)數(shù)據(jù)類型匯總為一個(gè)新的數(shù)據(jù)類型。

STRUC 名稱 結(jié)構(gòu)類型 數(shù)據(jù)類型 1 組件 1A 組件 1B,, 數(shù)據(jù)類型 2 組件 2A, 組件 2B,

GLOBAL: 在 $CONFIG.DAT 中不允許使用用關(guān)鍵詞 GLOBAL 定義的數(shù)據(jù)類型。

名稱結(jié)構(gòu)類型: 新結(jié)構(gòu)類型的名稱。自定義數(shù)據(jù)類型的名稱應(yīng)以 _TYP 結(jié)尾,以便可將其與變量名稱進(jìn)行區(qū)分。

如果要組合不同的數(shù)據(jù)類型,陣列則不適合,必須使用聯(lián)接的更多形式。使用聲明

語句STRUC,預(yù)先定義好的不同數(shù)據(jù)類型或預(yù)定數(shù)據(jù)類型的組合構(gòu)成一個(gè)新的復(fù)合數(shù)據(jù)類型。 特殊情況,其它復(fù)合和陣列也可以構(gòu)成復(fù)合的一部分。

復(fù)合使用的一個(gè)典型例子是標(biāo)準(zhǔn)數(shù)據(jù)類型POS。它由文件$OPERATE.SRC中聲明的6個(gè)實(shí)數(shù)值和2個(gè)整數(shù)值組成:

STRUC POS REAL X,,Y,Z,A,B,C,INT S,T

如果,例如您現(xiàn)在使用結(jié)構(gòu)數(shù)據(jù)類型的一個(gè)POSITION變量,您可以使用分離點(diǎn)給個(gè)別的元素分配值:

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}

集合受下列條件的支配:

● 集合的值可以是簡單的常量或它們自己的集合。

● 不是必須在集合中指定結(jié)構(gòu)中的所有組成。

● 成分的指定順序不必依照它們定義的順序。

● 集合中每個(gè)成分可能只包含一次。

● 在由結(jié)構(gòu)組成陣列的情況下,一個(gè)集合定義一個(gè)單獨(dú)的陣列元素的值。

● 結(jié)構(gòu)類型的名稱可在一個(gè)集合的開頭指定-以冒號(hào)分開。

因此對(duì)于POS變量允許下列分配,例如:

POSITION={B100.0,X29.5,T6}

POSITION={A54.6,B-125.64,C245.6}

POSITION={POS:X230,Y0.0,Z342.5}

數(shù)據(jù)類型: 類型:任意的數(shù)據(jù)類型,即使結(jié)構(gòu)類型也允許用作數(shù)據(jù)類型。

部件: 組件的名稱。在結(jié)構(gòu)類型之內(nèi)只允許進(jìn)行一次。只在欄擁有 CHAR 類型且是一維時(shí),才允許將其用作結(jié)構(gòu)類型的組件。為此,在結(jié)構(gòu)類型的定義中,在欄的名稱上將欄限制用方括號(hào)括起來。

給以 STRUC 數(shù)據(jù)類型為基礎(chǔ)的變量分配值有 2 種方法:

給變量的多個(gè)分量分配值:用集合

給一個(gè)變量的單個(gè)分量分配一個(gè)值:用點(diǎn)分隔符

集合提示:

一個(gè)集合的值可以是簡單的常數(shù)或集合本身,但是它們不能是變量

在一個(gè)集合中不必指定結(jié)構(gòu)的所有分量。

分量不需要按已定義的順序指定。

在一個(gè)集合中只允許含有每個(gè)分量一次。

在集合的開頭,通過冒號(hào)隔開的結(jié)構(gòu)類型名稱可能已指定。

示例:

用 REAL 數(shù)據(jù)類型的分量 NUMBER 和 CHAR 數(shù)據(jù)類型的數(shù)組分量 TEXT[80] 定義結(jié)構(gòu)類型 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}}

狀態(tài) (S) 和轉(zhuǎn)角方向 (T) 是數(shù)據(jù)類型 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 結(jié)構(gòu)類型

A1 至 A6 是指與機(jī)器人軸 1 至 6 相關(guān)運(yùn)行的角度值 (旋轉(zhuǎn)軸)或平移值(平移軸)。

STRUC AXIS REAL A1, A2, A3, A4, A5, A6

對(duì)于POS、E6POS、AXIS、E6AXIS和FRAME結(jié)構(gòu)缺少的成分不能被改變。而對(duì)于其它集合,則不存在的成分被設(shè)置為無效的成分。

建立您自己的結(jié)構(gòu)變量的步驟使用下列例子解釋:

在一個(gè)弧焊的子程序中,在變量S_PARA中轉(zhuǎn)換下列信息

REAL V_WIRE 焊絲速度

INT CHARAC 特征0...100%

BOOL ARC 帶/不帶弧 (用于模擬)

變量S_PARA必須由3個(gè)不同數(shù)據(jù)類型的元素組成。首先,必須建立一個(gè)滿足這個(gè)要求的新的數(shù)據(jù)類型:

STRUC WELDTYPE REAL V_WIRE,INT CHARAC,BOOL ARC

建立了一個(gè)名稱為WELDTYPE的新的數(shù)據(jù)類型(WELDTYPE不是一個(gè)變量!)。WELDTYPE由V_WIRE、CHARAC和ARC三個(gè)成分組成。您現(xiàn)在可以任何新數(shù)據(jù)類型的變量,例如:

DECL WELDTYPE S_PARA

這樣您就建立了一個(gè)數(shù)據(jù)類型為WELDTYPE的變量S_PARA。可以通過點(diǎn)分開單獨(dú)尋址各個(gè)成分和通過集合-如上說明來尋址。

S_PARA.V_WIRE=10.2

S_PARA.CHARAC=66S_PARA.A

RC=TRUE

S_PARA={V_WIRE 10.2,CHARAC 50,ARC TRUE}

為了更容易區(qū)分自定義數(shù)據(jù)類型和變量,新數(shù)據(jù)類型的名稱以…TYPE結(jié)束。

cd255b0e-db9c-11ed-bfe3-dac502259ad0.png

根據(jù)機(jī)器人軸1…6指定軸的運(yùn)動(dòng),結(jié)構(gòu)AXIS的成分A1...A6是角度值(旋轉(zhuǎn)軸)或平移值(平移軸)。

在結(jié)構(gòu)E6AXIS中使用附加成分E1...E6可尋址外部軸。

在結(jié)構(gòu)FRAME 您可以定義空間的3個(gè)位置值(X,YandZ)和3個(gè)空間方位(A,B和C)。空間中的一個(gè)點(diǎn)可以用術(shù)語位置和方位明確地被定義。

有的使用幾個(gè)軸位置的機(jī)器人可以尋址一個(gè)和空間中的相同點(diǎn),結(jié)構(gòu)POS 中的整數(shù)型變量S和T用于明確地定義一個(gè)軸的位置。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 機(jī)器人
    +關(guān)注

    關(guān)注

    210

    文章

    28103

    瀏覽量

    205852
  • Typ
    Typ
    +關(guān)注

    關(guān)注

    0

    文章

    3

    瀏覽量

    10645
  • KUKA
    +關(guān)注

    關(guān)注

    3

    文章

    217

    瀏覽量

    16471

原文標(biāo)題:KUKA變成 STRUC:定義結(jié)構(gòu)類型升級(jí)版V4.15

文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    上海升級(jí)版超級(jí)電容公交車投運(yùn)

    `上海升級(jí)版超級(jí)電容公交車投運(yùn)2013-02-17 16:09:33 來源: 作者: 【大 中小】 瀏覽:55次 評(píng)論:0條   早在2006年就在上海市投入公交運(yùn)營的超級(jí)電容公交車,在上海市科委
    發(fā)表于 06-09 16:22

    [推薦] (不看后悔)Android開發(fā)資料分享- 免積分(升級(jí)版

    非常好的Android開發(fā)資料,大家來看看吧[推薦] (不看后悔)Android開發(fā)資料分享- 免積分(升級(jí)版)http://www.arm-cn.com/bbs/forum.php?mod=viewthread&tid=231&fromuid=2872(出處: 風(fēng)火輪技術(shù)論壇)
    發(fā)表于 01-09 16:36

    labview讀取USB數(shù)據(jù)的升級(jí)版

    本帖最后由 yuxuaa 于 2016-7-20 10:29 編輯 labview讀取USB數(shù)據(jù)的升級(jí)版
    發(fā)表于 07-18 16:20

    傳感器十大綜合實(shí)驗(yàn)【基礎(chǔ)實(shí)驗(yàn)的升級(jí)版

    傳感器十大綜合實(shí)驗(yàn)【基礎(chǔ)實(shí)驗(yàn)的升級(jí)版
    發(fā)表于 12-25 16:02

    結(jié)構(gòu)體-共用體和用戶定義類型

    結(jié)構(gòu)體-共用體和用戶定義類型
    發(fā)表于 01-31 10:48

    用戶自定義結(jié)構(gòu)數(shù)據(jù)怎么存儲(chǔ)成VARIANT類型

    將用戶自定義的C結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)成VARIANT類型,需要時(shí)再將VARIANT類型轉(zhuǎn)為用戶自定義結(jié)構(gòu)
    發(fā)表于 08-02 07:08

    結(jié)構(gòu)類型定義的一般格式

    體它是將若干個(gè)不同類型的數(shù)據(jù)變量有序地組合在一起而形成的一種數(shù)據(jù)集合體。一般來說,結(jié)構(gòu)體中各個(gè)變量之間是存在某些聯(lián)系的,例如時(shí)間的時(shí)分秒,日期中的年月日1.結(jié)構(gòu)類型
    發(fā)表于 12-08 07:13

    定義結(jié)構(gòu)數(shù)據(jù)類型-STRUC

    例如:對(duì)一輛汽車而言,發(fā)動(dòng)機(jī)功率或里程數(shù)為整數(shù)型。對(duì)價(jià)格而言,實(shí)數(shù)型最適用。而空調(diào)設(shè)備的存在則與此相反,更應(yīng)為布爾型。所有部分匯總起來可描述一輛汽車。
    的頭像 發(fā)表于 06-30 15:49 ?2707次閱讀

    DIY ARDUINO PRO MINI 2.0(升級(jí)版

    電子發(fā)燒友網(wǎng)站提供《DIY ARDUINO PRO MINI 2.0(升級(jí)版).zip》資料免費(fèi)下載
    發(fā)表于 07-01 14:27 ?0次下載
    DIY ARDUINO PRO MINI 2.0(<b class='flag-5'>升級(jí)版</b>)

    STRUC定義結(jié)構(gòu)類型

    部件: 組件的名稱。在結(jié)構(gòu)類型之內(nèi)只允許進(jìn)行一次。只在欄擁有 CHAR 類型且是一維時(shí),才允許將其用作結(jié)構(gòu)類型的組件。為此,在
    的頭像 發(fā)表于 08-03 15:10 ?2069次閱讀

    用戶定義數(shù)據(jù)類型結(jié)構(gòu)

    用戶定義數(shù)據(jù)類型(UDTs)是你自己創(chuàng)建的特殊數(shù)據(jù)結(jié)構(gòu)。因用戶數(shù)據(jù)類型指派了名字,他們可以用很多次。一旦他們被定義,就可在CPU程序的任意點(diǎn)
    的頭像 發(fā)表于 08-19 10:06 ?1416次閱讀

    KUKA ENUM定義計(jì)數(shù)類型簡析

    在 $CONFIG.DAT 中不允許使用用關(guān)鍵詞 GLOBAL 在數(shù)據(jù)列表中定義的數(shù)據(jù)類型。
    的頭像 發(fā)表于 01-16 10:28 ?1399次閱讀
    <b class='flag-5'>KUKA</b> ENUM<b class='flag-5'>定義</b>計(jì)數(shù)<b class='flag-5'>類型</b>簡析

    C語言如何定義結(jié)構(gòu)類型變量

    定義結(jié)構(gòu)體變量后,系統(tǒng)會(huì)為之分配內(nèi)存單元。根據(jù)結(jié)構(gòu)類型中包含的成員情況,在Visual C++中占63個(gè)字節(jié)。 * 這種聲明方式是聲明類型
    的頭像 發(fā)表于 03-10 15:35 ?1161次閱讀

    KUKA變成STRUC定義結(jié)構(gòu)類型

    部件: 組件的名稱。在結(jié)構(gòu)類型之內(nèi)只允許進(jìn)行一次。只在欄擁有 CHAR 類型且是一維時(shí),才允許將其用作結(jié)構(gòu)類型的組件。為此,在
    的頭像 發(fā)表于 04-14 11:41 ?980次閱讀

    KUKA E6POS結(jié)構(gòu)類型的變量定義

    $POS_ACT 當(dāng)前笛卡爾機(jī)器人位置 E6POS結(jié)構(gòu)類型的變量定義了TCP相對(duì)于BASE坐標(biāo)系的設(shè)定點(diǎn)位置。 ? X、Y、Z:原點(diǎn)沿軸的偏移,單位為[mm] ? A、B、C:軸角度的旋轉(zhuǎn)偏移,單位
    的頭像 發(fā)表于 05-22 14:57 ?5714次閱讀
    <b class='flag-5'>KUKA</b> E6POS<b class='flag-5'>結(jié)構(gòu)</b><b class='flag-5'>類型</b>的變量<b class='flag-5'>定義</b>