返回主站|会员中心|保存桌面

ABB机器人备品配件服务商    

ABB机器人备件,ABB示教器,ABB伺服电机,ABB减速机,ABB通讯...

站内搜索
 
新闻分类
  • 暂无分类
联系方式
  • 联系人:吴经理
  • 电话:18576370666
友情链接
首页 > 新闻中心 > Omnicore系统中文字符串及unpackrawbyte指令对字符的处理!
新闻中心
Omnicore系统中文字符串及unpackrawbyte指令对字符的处理!
发布时间:2025-12-04        浏览次数:17        返回列表

ABB机器人字符串类型数据为string(单个最大长度为80个byte)。


在IRC5系统中,字符默认只支持英语(以及一些其他西语)。英语每个字母可以用ACSII码表示(即一个字节表示一个字符)。也就是string最多可以80个英语及符号字符。


Omnicore系统的string类型支持多语言,包括中文。

中文通常使用UTF8编码(需要3个字节表示一个中文)。那对于全部是中文的string,最多可以表示26个中文字符

在1.1.1插件的release Note显示,主要增加了包括中国英莱(IntelligentLaser)的内置支持,即用户安装插件时直接勾选 IntelligentLaser,而无需使用Generic Sensor 进行配置

在Omnicore系统中,如果接收到长字节数据并通过unpackrawbyte解析,参考如下:

1. 如果是英文字符,使用以下代码:

 PERS string s11:="123456789";    var string s12:="";    VAR rawbytes raw2;
    PROC test1111()        ! omnicore中使用UTF8Encoding 代替原来的ASCII        PackRawBytes s11,raw2,1\UTF8Encoding;        FOR i FROM 1 TO RawBytesLen(raw2) DO            ! 每次解析一个字符,是英语格式,及一个字节为一个字符            UnpackRawBytes raw2,i,s12\UTF8Encoding:=1;            IF s12="9" THEN                GOTO end;            endif        ENDFOR        end:        stop;    ENDPROC

2. 如果是中文文字符,使用以下代码:


 PERS string s11:="一二三四五六七八九十"; var string s12:=""; VAR rawbytes raw2;
    PROC test1111()        PackRawBytes s11,raw2,1\UTF8Encoding;        FOR i FROM 1 TO RawBytesLen(raw2) DO            ! 每次解析一个字符,是中文格式,即3个字节为一个中文字符            UnpackRawBytes raw2,i,s12\UTF8Encoding:=3;            IF s12="十" THEN                GOTO end;            endif        ENDFOR        end:        stop;    ENDPROC

收缩
  • QQ咨询

  • 电话咨询

  • 18576370666
  • 添加微信客服