KUKA机器人CAST_TO-CAST_FROM简析

机器人

521人已加入

描述

下面是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






审核编辑:刘清

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分