<< 点击显示目录 >> 主页 PVI通信 > PVI帮助信息 > PVI base system > PVICOM interface > Process data > 过程数据属性 > 数据格式 > Data format description |
数据格式 用以下参数描述。
Par. |
说明 |
VT |
变量类型。变量对象中的默认值。VT=i32,链接对象没有指定默认的数据格式。 有关所有变量类型的概述,请参见下表。 |
VL |
变量长度(字节)。 对于单个变量,变量长度与进程数据长度相对应。对于数组变量,变量长度被定义为元素长度。 |
VN |
阵列变量中的元素数量。默认值。VN=1。 对于多维数组变量,所有数组维度的元素数(例如:var[10][5] => VN=50)。为了区分只有一个元素的数组变量与单个变量,可以使用VS参数(例如:var[1] => VN=1 VS=a)。 |
VS |
变量类型的可选附加说明。VS参数提供了关于变量类型(VT参数)的附加信息,并不影响PVI中对数据的处理方式(数据函数、类型变化等)。每个附加规范由一个或多个规范ID('a' - 'z')组成。各个规范的ID用分号(';')分开。目前定义了以下附加规格:'a' ... 数组变量,'b' ... 位字符串,'e' ... 枚举,'v' ... 派生数据类型。 如果所使用的行的数据格式没有被定义(没有被覆盖),可以使用访问类型 POBJ_ACC_TYPE 或 POBJ_ACC_TYPE_INTERN 或事件 POBJ_EVENT_DATAFORM读取在过程对象描述中输入的规范ID 。只有通过 POBJ_ACC_TYPE_EXTERN 访问才能读取PLC变量的完整附加说明 。 |
{...} |
结构元素的定义。 结构元素的定义必须在对象描述的最后指定。首先,嵌套深度由括号内每个表达式的若干个"."(句号)定义。可以选择在每个'.'字符后面指定一个元素名称(例如:".cpu.temp "或".temp")。对于PVI来说,最后一个'.'字符之后的名称是重要的。在指定了嵌套深度和元素名称(可选)之后,元素变量的数据格式被定义。 定义的元素名称只能使用访问类型 POBJ_ACC_TYPE_INTERN读取 ,PLC变量的元素名称使用POBJ_ACC_TYPE_INTERN或 POBJ_ACC_TYPE_EXTERN。 |
AL |
结构对齐。默认情况下。AL=1。该参数仅在与变量类型 "VT=struct "相关时生效。可以定义对齐值1、2、4、8或16。 |
对于具有固定变量长度的变量类型,不必指定变量长度(例如,VT=i32的长度总是4字节)。但是,如果指定了变量长度,它必须与变量类型的长度相匹配。过程数据的长度是由变量长度乘以元素数(VL*VN)计算出来的。过程数据的长度是过程图像中变量对象的数据总长度。这包括结构中的所有填充字节。
下列变量类型可以用 VT 参数指定 。
Type |
描述 |
i8 |
8位有符号整数。可变长度。VL=1。值范围:-128 ... 127。 |
i16 |
16位有符号整数。可变长度。VL=2。数值范围:-32768 ...32767. |
i32 |
32位有符号整数。可变长度。VL=4。值范围:-2147483648 ... 2147483647。 |
i64 |
64位有符号整数。变量长度。VL=8。值范围:-9223372036854775808 ... 9223372036854775807。 |
u8 |
8位无符号整数。可变长度。VL=1。值的范围。0 ...255. |
u16 |
16位无符号整数。可变长度。VL=2。值的范围。0 ...65535. |
u32 |
32位无符号整数。可变长度。VL=4。值的范围。0 ...4294967295. |
u64 |
64位无符号整数。可变长度。VL=8。值的范围。0 ...18446744073709551615. |
f32 |
32位浮点(IEEE Float)。可变长度。VL=4。值范围:-3.402823466e+38 ... -1.175494351e-38 / +1.175494351e-38 ...+3.402823466e+38. |
f64 |
64位浮点(IEEE Float)。可变长度。VL=8。值范围:-1.7976931348623158e+308 ... -2.2250738585072014e-308 / +2.2250738585072014e-308 ...+1.7976931348623158e+308. |
boolean |
位变量(标志)被映射到1个字节。变量长度。VL=1。TRUE=0以外的值,FALSE=0值。 |
string |
字符串有1字节大小,二进制0终止(空终止)。字符串缓冲区的长度是用变量长度(VL参数)定义的。字符串缓冲区的长度也是字符串的最大长度。实际的字符串长度是由二进制空字符决定的。当用变量类型String读写过程数据时,请注意,数据只传输到空字符,包括空字符。空字符之后的所有字符都是未定义的。 |
wstring |
具有2字节字符大小(宽字符)和二进制0终止(空终止)的宽字符串。该行为与String数据类型的行为相对应。但是,请记住,必须为可变长度(参数VL)输入字节数而不是字符数。例如,"VT=wstring VL=160 "定义了一个有80个字符的宽字符串缓冲区。PVI不允许你输入一个奇数的长度(错误)。 |
struct |
结构。结构的长度可以通过指定结构元素或用可变长度(VL参数)来定义。 |
time |
32位时间差,单位是毫秒。对于时钟来说,这个时差指的是午夜时分。可变长度。VL=4。 |
dt |
32位时间和数据,单位是1970年1月1日以来的秒数。可变长度。VL=4。 |
date |
32位日期。可变长度。VL=4。 |
tod |
32位一天中的时间。可变的长度。VL=4。 |
data |
一般数据类型。长度(字节)是用可变长度(VL参数)定义的。 |