您好!欢迎光临工博士商城

库卡KUKA维修保养服务

产品:110    
联系我们
联系方式
  • 联系人:潘青源
  • 电话:19121731350
  • 邮件:021-31666777@qq.com
新闻分类
  • 暂无分类
友情链接
  • 暂无链接
首页 > 新闻中心 > KUKA 机器人CAST_TO-CAST_FROM
新闻中心
KUKA 机器人CAST_TO-CAST_FROM
发布时间:2021-11-05        浏览次数:234        返回列表
   下面是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不会发生此问题。
 
  偏移量以字节为单位。如果CREAD用r即二进制读取数据,则可以使用偏移量轻松计算已传输的值的数量。
 
  CAST_TO (Buffer, OFFSET, Var1 < , … , Var10 > )
 
  Buffer:
 
  类型:CHAR数组,将变量Var1…Var10写入的缓冲区。
 
  OFFSET:
 
  类型:INT 缓冲区内的位置(以字节为单位),之后将数据写入缓冲区。偏移量从0开始。
 
  Var1 … Var10
 
  写入缓冲区的变量。每个语句可以有10个变量。
 
  对于未初始化的变量或数组元素,会将随机值写入缓冲区。由于随机值可能会导致缓冲区接收器出现问题,因此建议初始化所有变量和数组元素。
 
  CAST_FROM
 
  CAST_FROM使得使用单个CREAD语句处理多达4 KB的数据成为可能。如果CREAD已从通道读取缓冲区,则CAST_FROM可以将缓冲区分解为各个变量。
 
  缓冲区大小:4 KB(= 4,096字节)。如果数据量太大以至于缓冲区大小不足,则必须使用几个连续的CREAD语句。
 
  CAST_FROM不会触发提前运行停止,但是,如果处理的变量确实触发了提前停止,则间接触发提前运行停止。
 
  CAST_FROM ( Buffer , OFFSET, Var1 < , … , Var10 > )
 
  例如在EthernetKRL( )程序中设定的EKI_GetFrame:
 
  EKI_GetFrame从存储器读取 FRAME 类型的数值
 
  示例 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坐标类型变量
 
  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 发出反馈值
 
  ENDFCT

 
更多资讯:库卡机器人



 

联系热线: 联系人:潘青源 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00 库卡KUKA维修保养服务

返回
顶部