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

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

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

KUKA機器人中-TCP通訊數(shù)據(jù)傳輸

機器人及PLC自動化應(yīng)用 ? 來源:機器人及PLC自動化應(yīng)用 ? 2023-06-16 16:40 ? 次閱讀

下面是KUKA機器人中-TCP通訊里的純理論的東西. CAST_TO CAST_TO使得使用單個CWRITE語句處理多達4 KB的數(shù)據(jù)成為可能。CAST_TO將單個變量分組為一個緩沖區(qū)。然后,CWRITE將此緩沖區(qū)寫入通道。 最大緩沖區(qū)大?。? KB(= 4,096字節(jié))。如果數(shù)據(jù)量太大,以致最大緩沖區(qū)大小不足,則必須使用幾個連續(xù)的CWRITE語句。 CAST_TO不會觸發(fā)提前運行停止,但是,如果處理的變量確實觸發(fā)了提前運行stop,則間接觸發(fā)提前運行停止。 如果使用CWRITE傳輸使用CAST_TO生成的緩沖區(qū),則CWRITE語句中僅允許以下轉(zhuǎn)換字符: ?r(=原始數(shù)據(jù)格式) ?s(=字符串格式) 與s相比,r具有以下優(yōu)點: ?如果傳輸了字符0,則將其整數(shù)表示為字符串的結(jié)尾。r不會發(fā)生此問題。 ?偏移量以字節(jié)為單位。如果CREAD用r即二進制讀取數(shù)據(jù),則可以使用偏移量輕松計算已傳輸?shù)闹档臄?shù)量。 CAST_TO (Buffer, OFFSET, Var1 < ,? … , Var10 > ) Buffer: 類型:CHAR數(shù)組,將變量Var1…Var10寫入的緩沖區(qū). OFFSET: 類型:INT 緩沖區(qū)內(nèi)的位置(以字節(jié)為單位),之后將數(shù)據(jù)寫入緩沖區(qū)。偏移量從0開始。 Var1 … Var10 寫入緩沖區(qū)的變量。每個語句最多可以有10個變量。 對于未初始化的變量或數(shù)組元素,會將隨機值寫入緩沖區(qū)。由于隨機值可能會導(dǎo)致緩沖區(qū)接收器出現(xiàn)問題,因此建議初始化所有變量和數(shù)組元素。 CAST_FROM 如果緩沖區(qū)是在數(shù)據(jù)列表中聲明的,則不能設(shè)置初始值! 原因:初始值被當(dāng)前值覆蓋。電流值可以高達4KB,因此超過了KRL線路的最大允許長度。 對的:DECL CHAR mybuffer[4096] 不正確:DECL CHAR mybuffer[4096]=" " CAST_FROM使得使用單個CREAD語句處理多達4 KB的數(shù)據(jù)成為可能。如果CREAD已從通道讀取緩沖區(qū),則CAST_FROM可以將緩沖區(qū)分解為各個變量。 最大緩沖區(qū)大小:4 KB(= 4,096字節(jié))。如果數(shù)據(jù)量太大以至于最大緩沖區(qū)大小不足,則必須使用幾個連續(xù)的CREAD語句。 CAST_FROM不會觸發(fā)提前運行停止,但是,如果處理的變量確實觸發(fā)了提前停止,則間接觸發(fā)提前運行停止。 CAST_FROM ( Buffer , OFFSET, Var1 < ,? … , Var10 > )

Buffer 類型:CHAR數(shù)組 其數(shù)據(jù)用于填充變量Var1…Var10的緩沖器
OFFSET 類型:INT 緩沖區(qū)內(nèi)的位置(以字節(jié)為單位),在該位置之后,數(shù)據(jù)被用來將它們寫入變量Var1…Var10。偏移量從0開始。 示例: ? OFFSET=0:緩沖器從第一個位置開始使用。 ? OFFSET=2:緩沖器從第三個位置開始使用。位置1和2被忽略。
Var1 … Var10 使用緩沖區(qū)中的數(shù)據(jù)寫入的變量。每條語句最多可以有10個變量。每個變量從緩沖區(qū)接收的字節(jié)數(shù)由其數(shù)據(jù)類型決定。 INT變量1、BOOL變量2、REAL變量3 Var1接收4個字節(jié);Var2接收1個字節(jié);Var3接收4個字節(jié)。

CAST 語句中允許的數(shù)據(jù)類型

INT 4 bytes
REAL 4 bytes
BOOL 1 byte
CHAR 1 byte
ENUM 4 bytes
SIGNAL 1 byte
FRAME 6*REAL
POS 6*REAL + 2*INT
AXIS 6*REAL
E3POS 6*REAL + 2*INT + 3*REAL
E3AXIS 6*REAL + 3*REAL
E6POS 6*REAL + 2*INT * 6*REAL
E6AXIS 6*REAL + 6*REAL

例如在EthernetKRL( )程序中設(shè)定的EKI_GetFrame: EKI_GetFrame從存儲器讀取 FRAME 類型的數(shù)值 示例 RET = EKI_GetFrame("Channel_1", "Root/TCP", MyFrame) 程序分析: GLOBAL DEFFCT EKI_STATUS EKI_GetFrame(strChannelName[]:IN,strPlace[]:IN,value:OUT) 聲明變量: DECL CHAR strChannelName[] 字符串 DECL CHAR strPlace[] 字符串 DECL FRAME value FRAME坐標(biāo)類型變量 DECL CHAR Buff[24]24長度的字符串 DECL STATE_T Stat 狀態(tài)變量 DECL MODUS_T Mode DECL EKI_STATUS Ret EthernetKRL通訊專用變量 DECL INT Offset 設(shè)置模式: Mode = #SYNC設(shè)置同步模式 Ret = EKI_NULL_STATUS ret.buff=1 Offset = 0 Cast_To(Buff[], Offset,value) 將坐標(biāo)變量寫入緩沖區(qū) CONTINUE CWRITE($FCT_CALL,Stat,Mode,"EFC_eki_Get",strChannelName[],strPlace[],Buff[],Ret.Buff, Ret.Read, TYPEFRAME,Ret.Connected) 使用”EFC_eki_Get”將Buff[] 里字符串坐標(biāo)FRAME值通過EthernetKRL軟件發(fā)出開通的通道,給PC上位機軟件使用 Offset=0 Cast_From(Buff[], Offset,value)將緩存區(qū)里的值再發(fā)給變量 Ret.Msg_No = Stat.Msg_No RETURN Ret 發(fā)出反饋值 ENDFCT 77f75cdc-0c1a-11ee-962d-dac502259ad0.png780df910-0c1a-11ee-962d-dac502259ad0.png 發(fā)送標(biāo)準(zhǔn)編碼的real數(shù)據(jù),PLC端可直接使用ID數(shù)據(jù)進行real數(shù)據(jù)的判斷。(注:使用CAST_TO函數(shù)后,Bytes[1]為對應(yīng)二進制的低位,Bytes[4]為高位。上面的KUKA1對應(yīng)的bytes4是為了將PLC能直接讀數(shù)據(jù)而不用通過SWAP指令進行轉(zhuǎn)換)接收到的數(shù)據(jù)存于DATA2中。? ??
責(zé)任編輯:彭菁

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

    關(guān)注

    9

    文章

    1698

    瀏覽量

    64215
  • 通訊
    +關(guān)注

    關(guān)注

    9

    文章

    877

    瀏覽量

    34668
  • KUKA機器人
    +關(guān)注

    關(guān)注

    4

    文章

    143

    瀏覽量

    8992

原文標(biāo)題:KUKA 機器人CAST_TO-CAST_FROM 數(shù)據(jù)傳輸

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

收藏 人收藏

    評論

    相關(guān)推薦

    使用banana PI 作為管道機器人控制及數(shù)據(jù)傳輸

    使用banana PI 作為管道機器人控制及數(shù)據(jù)傳輸轉(zhuǎn)自 lemaker 版權(quán)保護banana pi 成功應(yīng)用在管道機器人上.用于控制及視頻數(shù)據(jù)傳輸管道
    發(fā)表于 08-09 21:21

    KUKA重型機器人

    這個是KUKA重型機器人處理和測量混凝土軌枕的視頻。處理得相當(dāng)精細。真心值得愛好機器者和愛國者研究研究。
    發(fā)表于 02-03 15:18

    關(guān)于TCP數(shù)據(jù)傳輸的問題

    我用TCP接收下位機傳來的數(shù)據(jù),在讀取TCP數(shù)據(jù)函數(shù)的讀取的字節(jié)設(shè)置了傳輸的字節(jié),我設(shè)置為500多萬但數(shù)
    發(fā)表于 12-12 14:18

    labviewTCP的數(shù)據(jù)傳輸的問題

    我是在能采集溫度數(shù)據(jù)的PC上做已有軟件的二次開發(fā),用它的開放端口把數(shù)據(jù)傳輸到我的labview上,它自帶的通訊協(xié)議上說開發(fā)端需要開啟TCP服務(wù),監(jiān)聽端口,等待PC端主動發(fā)送請求并處理
    發(fā)表于 10-11 18:44

    工業(yè)機器人中有哪些控制問題

    工業(yè)機器人中的伺服驅(qū)動的目的是什么?工業(yè)機器人中的關(guān)節(jié)內(nèi)部驅(qū)動結(jié)構(gòu)是怎樣構(gòu)成的?
    發(fā)表于 10-11 08:37

    如何去實現(xiàn)COM口與TCP socket之間的數(shù)據(jù)傳輸

    數(shù)據(jù)傳輸的原理是什么?如何去實現(xiàn)COM口與TCP socket之間的數(shù)據(jù)傳輸呢?
    發(fā)表于 02-22 07:44

    沒有有前輩用LabVIEW控制kuka機器人c2的經(jīng)驗?通訊是怎么做到的?

    我看NI有Robotics Toolkit for KUKA KR C2的附加包,這個怎么用???如何和kuka機器人建立通訊???是Tcp接口
    發(fā)表于 10-21 20:59

    tcp ip 數(shù)據(jù)傳輸

    tcp ip 數(shù)據(jù)傳輸 現(xiàn)有的許多具有串口管理功能的設(shè)備不能進行聯(lián)網(wǎng)的管理和數(shù)據(jù)存取,我們可以利用先進的TCP/IP技術(shù)和管理方式對
    發(fā)表于 12-25 12:59 ?1064次閱讀

    Modem數(shù)據(jù)傳輸標(biāo)準(zhǔn)

     Modem數(shù)據(jù)傳輸標(biāo)準(zhǔn) 數(shù)據(jù)傳輸標(biāo)準(zhǔn)是指MODEM的
    發(fā)表于 12-28 13:29 ?983次閱讀

    數(shù)據(jù)傳輸速率是什么意思

    數(shù)據(jù)傳輸速率是什么意思 數(shù)據(jù)傳輸速率是通過信道每秒可傳輸的數(shù)字信息量的量度。數(shù)據(jù)傳輸速率也稱為吞吐率。數(shù)據(jù)傳輸速率由很
    發(fā)表于 03-18 14:45 ?4974次閱讀

    TCP/IP協(xié)議單片機在網(wǎng)絡(luò)通信中的數(shù)據(jù)傳輸技術(shù)

    介紹了嵌入式TCP/IP協(xié)議單片機在網(wǎng)絡(luò)通信中的數(shù)據(jù)傳輸技術(shù)。將TCP/IP協(xié)議嵌入式單片機中,借助網(wǎng)卡芯片CS8900實現(xiàn)了單片機在局域網(wǎng)內(nèi)和通過局域網(wǎng)在因特網(wǎng)上的數(shù)據(jù)傳輸。用戶終端
    發(fā)表于 04-16 22:04 ?4353次閱讀
    <b class='flag-5'>TCP</b>/IP協(xié)議單片機在網(wǎng)絡(luò)通信中的<b class='flag-5'>數(shù)據(jù)傳輸</b>技術(shù)

    KUKA機器人TCP(工具中心點)設(shè)定

    KUKA機器人TCP(工具中心點)設(shè)定.
    發(fā)表于 12-23 14:50 ?36次下載

    LabView TCP數(shù)據(jù)傳輸的7個實例詳細資料概述

    本文檔的主要內(nèi)容詳細介紹的是LabView TCP數(shù)據(jù)傳輸的7個實例資料概述包括了:TCP Client 單向通信,TCP Client 1 一對多
    發(fā)表于 06-12 08:00 ?507次下載
    LabView <b class='flag-5'>TCP</b><b class='flag-5'>數(shù)據(jù)傳輸</b>的7個實例詳細資料概述

    tcp_ip 協(xié)議講座:介紹數(shù)據(jù)傳輸

    介紹了tcp協(xié)議:數(shù)據(jù)傳輸的問題(交互式數(shù)據(jù)傳輸,批量數(shù)據(jù)傳輸,流量控制,擁塞避免)
    的頭像 發(fā)表于 07-03 11:05 ?3342次閱讀
    <b class='flag-5'>tcp</b>_ip 協(xié)議講座:介紹<b class='flag-5'>數(shù)據(jù)傳輸</b>

    工業(yè)控制領(lǐng)域基于TCP/IP的數(shù)據(jù)傳輸方案

    電子發(fā)燒友網(wǎng)站提供《工業(yè)控制領(lǐng)域基于TCP/IP的數(shù)據(jù)傳輸方案.pdf》資料免費下載
    發(fā)表于 11-16 10:52 ?0次下載
    工業(yè)控制領(lǐng)域基于<b class='flag-5'>TCP</b>/IP的<b class='flag-5'>數(shù)據(jù)傳輸</b>方案