??? 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);
???