关闭

ABB 机器人 压包指令PackRawBytes 解包指令UnpackRawBytes

964人阅读 评论(0) 收藏 举报
ABB  压包指PackRawBytes   解包指令UnpackRawBytes   

   PackRawBytes- 将数据导入 rawbytes 数据。
    使用方法
    PackRawBytes 用于将 num, dnum, byte,或者 string类型的数据,打包到  rawbytes 类型的变量中.
     基本举例  :


        VAR rawbytes raw_data;
        VAR num integer := 8;
        VAR dnum bigInt := 4294967295;
        VAR num float := 13.4;
        VAR byte data1 := 122;
        VAR byte byte1;
        VAR string string1:="abcdefg";
        PackDNHeader "10", "20 1D 24 01 30 64", raw_data;

       将 DeviceNet 头文件 打包到  raw_data.
       然后通过  PackRawBytes  打包要求的现场总线数据到 raw_data 中 。下面的例子展示了不同的数据如何被添加。
       Example 1
              PackRawBytes     integer,     raw_data,     (RawBytesLen(raw_data)+1)   \IntX :=DINT;
       在 raw_data 中,头文件之后的下四个字节将是 8.
      Example 2
             PackRawBytes bigInt, raw_data, (RawBytesLen(raw_data)+1) \IntX :=
UDINT;
The contents of the next 4 bytes after the header in raw_data will be 4294967295
decimal.
Example 3
PackRawBytes bigInt, raw_data, (RawBytesLen(raw_data)+1) \IntX :=
LINT;
The contents of the next 8 bytes after the header in raw_data will be 4294967295
decimal.
Example 4
PackRawBytes float, raw_data, RawBytesLen(raw_data)+1) \Float4;
The contents of the next 4 bytes in raw_data will be 13.4 decimal.
Example 5
PackRawBytes data1, raw_data, (RawBytesLen(raw_data)+1) \ASCII;
The contents of the next byte in raw_data will be 122, the ASCII code for "z".
Example 6
PackRawBytes string1, raw_data, (RawBytesLen(raw_data)+1) \ASCII;
The contents of next 7 bytes in raw_data will be "abcdefg", coded in ASCII.
Example 7
byte1 := StrToByte("1F" \Hex);


1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:639059次
    • 积分:7105
    • 等级:
    • 排名:第3291名
    • 原创:127篇
    • 转载:153篇
    • 译文:8篇
    • 评论:96条
    最新评论