0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

KUKA机器人中-TCP通讯里纯理论的东西

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-05-22 09:29 次阅读
下面是KUKA机器人中-TCP通讯里的纯理论的东西.
CAST_TO
CAST_TO使得使用单个CWRITE语句处理多达4 KB的数据成为可能。CAST_TO将单个变量分组为一个缓冲区。然后,CWRITE将此缓冲区写入通道。
最大缓冲区大小:4 KB(= 4,096字节)。如果数据量太大,以致最大缓冲区大小不足,则必须使用几个连续的CWRITE语句。

CAST_TO不会触发提前运行停止,但是,如果处理的变量确实触发了提前运行stop,则间接触发提前运行停止。
如果使用CWRITE传输使用CAST_TO生成的缓冲区,则CWRITE语句中仅允许以下转换字符:
r=原始数据格式)s=字符串格式)与s相比,r具有以下优点:如果传输了字符0,则将其整数表示为字符串的结尾。r不会发生此问题。
偏移量以字节为单位。如果CREADr即二进制读取数据,则可以使用偏移量轻松计算已传输的值的数量。

CAST_TO (Buffer, OFFSET, Var1 < ,  … , Var10 > )Buffer:类型:CHAR数组,将变量Var1…Var10写入的缓冲区.OFFSET:类型:INT 缓冲区内的位置(以字节为单位),之后将数据写入缓冲区。偏移量从0开始。
Var1 … Var10写入缓冲区的变量。每个语句最多可以有10个变量。



对于未初始化的变量或数组元素,会将随机值写入缓冲区。由于随机值可能会导致缓冲区接收器出现问题,因此建议初始化所有变量和数组元素。

CAST_FROM如果缓冲区是在数据列表中声明的,则不能设置初始值!
原因:初始值被当前值覆盖。电流值可以高达4KB,因此超过了KRL线路的最大允许长度。
对的:DECL CHAR mybuffer[4096]不正确:DECL CHAR mybuffer[4096]=" "CAST_FROM使得使用单个CREAD语句处理多达4 KB的数据成为可能。如果CREAD已从通道读取缓冲区,则CAST_FROM可以将缓冲区分解为各个变量。
最大缓冲区大小:4 KB(= 4,096字节)。如果数据量太大以至于最大缓冲区大小不足,则必须使用几个连续的CREAD语句。

CAST_FROM不会触发提前运行停止,但是,如果处理的变量确实触发了提前停止,则间接触发提前运行停止。
CAST_FROM ( Buffer , OFFSET, Var1 < ,  … , Var10 > )
Buffer 类型:CHAR数组其数据用于填充变量Var1…Var10的缓冲器
OFFSET 类型:INT缓冲区内的位置(以字节为单位),在该位置之后,数据被用来将它们写入变量Var1…Var10。偏移量从0开始。示例: OFFSET=0:缓冲器从第一个位置开始使用。 OFFSET=2:缓冲器从第三个位置开始使用。位置1和2被忽略。
Var1 …Var10 使用缓冲区中的数据写入的变量。每条语句最多可以有10个变量。每个变量从缓冲区接收的字节数由其数据类型决定。INT变量1、BOOL变量2、REAL变量3Var1接收4个字节;Var2接收1个字节;Var3接收4个字节。
CAST 语句中允许的数据类型
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( )程序中设定的EKI_GetFrame:
EKI_GetFrame从存储器读取 FRAME 类型的数值示例 RET = EKI_GetFrame("Channel_1", "Root/TCP", MyFrame)程序分析:GLOBAL DEFFCT EKI_STATUSEKI_GetFrame(strChannelName[]:IN,strPlace[]:IN,value:OUT)声明变量: DECL CHAR strChannelName[] 字符串 DECL CHAR strPlace[] 字符串 DECL FRAME value FRAME坐标类型变量 DECL CHAR Buff[24]24长度的字符串 DECL STATE_T Stat 状态变量 DECL MODUS_T Mode DECL EKI_STATUS Ret EthernetKRL通讯专用变量 DECL INT Offset设置模式: Mode = #SYNC设置同步模式 Ret = EKI_NULL_STATUS ret.buff=1 Offset = 0 Cast_To(Buff[], Offset,value) 将坐标变量写入缓冲区 CONTINUE CWRITE($FCT_CALL,Stat,Mode,"EFC_eki_Get",strChannelName[],strPlace[],Buff[],Ret.Buff, Ret.Read, TYPEFRAME,Ret.Connected)使用”EFC_eki_Get”将Buff[] 里字符串坐标FRAME值通过EthernetKRL软件发出开通的通道,给PC上位机软件使用 Offset=0 Cast_From(Buff[], Offset,value)将缓存区里的值再发给变量 Ret.Msg_No = Stat.Msg_No RETURN Ret 发出反馈值ENDFCT2f99783a-f815-11ed-90ce-dac502259ad0.png2fcbc10a-f815-11ed-90ce-dac502259ad0.png发送标准编码的real数据,PLC端可直接使用ID数据进行real数据的判断。(注:使用CAST_TO函数后,Bytes[1]为对应二进制的低位,Bytes[4]为高位。上面的KUKA1对应的bytes4是为了将PLC能直接读数据而不用通过SWAP指令进行转换)接收到的数据存于DATA2中。
审核编辑:彭静

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接收器
    +关注

    关注

    14

    文章

    2456

    浏览量

    71779
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1348

    浏览量

    78961
  • KUKA机器人
    +关注

    关注

    4

    文章

    143

    浏览量

    9046

原文标题:KUKA 机器人CAST_TO-CAST_FROM 数据传输

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    KUKA重型机器人

    这个是KUKA重型机器人处理和测量混凝土轨枕的视频。处理得相当精细。真心值得爱好机器者和爱国者研究研究。
    发表于 02-03 15:18

    KUKA机器人问题解答

    1 开机坐标系无效 世界坐标系是以枪头为基点,在这种坐标系中机器人所有的动作都是按照以枪头为顶点来完成移动,XYZ方向切割枪方向不改变,如果机器人在世界坐标系中移动,枪头也随着改变方向,那就是我们在
    发表于 07-15 07:48

    现代机器人中有什么传感器?

    控制和通信 IC 的发展在实现下一代的机器人中起到重要作用。然而,这些复杂的现代机器人的核心是许多新的、小型化和低成本的传感技术的出现与融合。对实现下一代机器人至关重要的几项关键传感器技术包括磁性位置传感器、存在传感器、手势传感
    发表于 07-31 07:46

    KUKA焊接机器人伺服电机常见故障及维修处理

    KUKA焊接机器人伺服电机常见故障及维修处理1、库卡机器人伺服电机的基本检查由于库卡机器人伺服电机内含有精密检测器,因此,当发生碰撞、冲击时可能会引起故障,在对库卡
    发表于 09-26 16:51

    工业机器人中面对的控制问题是什么

    刚开始接触机器人的时候,我在师兄的机器人代码死活找不到有关控制计算的函数,作为常年和控制框图打交道的我,很是疑惑控制回路去哪里了?因此本文介绍一下工业机器人中的控制问题。参考华科贺磊
    发表于 06-28 09:29

    库卡机器人MGV电源模块维修

    KUKA库卡机器人MGV电源模块维修PH1013-2840MGV电源维修 库卡电源模块维修 机器人电源模块维修 库卡控制器维修 KUKA电源维修KU
    发表于 09-08 07:30

    KUKA机器人伺服驱动模块维修

    KUKA库卡C4机器人驱动器故障报警维修库卡机器人维修内容包括库卡机器人示教器维修,KUKA伺服驱动模块维修,库卡
    发表于 09-17 07:09

    工业机器人中有哪些控制问题

    工业机器人中的伺服驱动的目的是什么?工业机器人中的关节内部驱动结构是怎样构成的?
    发表于 10-11 08:37

    没有有前辈用LabVIEW控制kuka机器人c2的经验?通讯是怎么做到的?

    我看NI有Robotics Toolkit for KUKA KR C2的附加包,这个怎么用啊?如何和kuka机器人建立通讯啊?是Tcp接口
    发表于 10-21 20:59

    KUKA机器人TCP(工具中心点)设定

    KUKA机器人TCP(工具中心点)设定.
    发表于 12-23 14:50 36次下载

    KUKA机器人中-TCP通讯纯理论东西

    CAST_TO使得使用单个CWRITE语句处理多达4 KB的数据成为可能。CAST_TO将单个变量分组为一个缓冲区。然后,CWRITE将此缓冲区写入通道。
    的头像 发表于 07-05 14:29 1288次阅读

    KUKA机器人中-TCP通讯纯理论

    对于未初始化的变量或数组元素,会将随机值写入缓冲区。由于随机值可能会导致缓冲区接收器出现问题,因此建议初始化所有变量和数组元素。
    的头像 发表于 07-12 11:01 1453次阅读

    KUKA机器人中-TCP通讯数据传输

    下面是KUKA机器人中-TCP通讯纯理论东西.
    的头像 发表于 06-16 16:40 3214次阅读
    <b class='flag-5'>KUKA</b><b class='flag-5'>机器人中</b>-<b class='flag-5'>TCP</b><b class='flag-5'>通讯</b>数据传输

    KUKA工业机器人与S7-1200PLC实现Profinet通讯的步骤

    本次内容来简单谈一谈KUKA工业机器人与S7-1200PLC实现Profinet通讯的步骤。
    的头像 发表于 07-05 10:10 6133次阅读
    <b class='flag-5'>KUKA</b>工业<b class='flag-5'>机器人</b>与S7-1200PLC实现Profinet<b class='flag-5'>通讯</b>的步骤

    Kuka机器人配置Profinet通讯网关HT3S-PNS-ECS

    Kuka机器人配置Profinet通讯网关HT3S-PNS-ECS
    的头像 发表于 06-13 15:52 638次阅读
    <b class='flag-5'>Kuka</b><b class='flag-5'>机器人</b>配置Profinet<b class='flag-5'>通讯</b>网关HT3S-PNS-ECS