Data format description

<< 点击显示目录 >>

主页  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_TYPEPOBJ_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参数)定义的。