<< 点击显示目录 >> 主页 PVI通信 > PVI帮助信息 > PVI base system > PVICOM interface > Process data > Variable addressing |
使用变量寻址, 链接对象 可以从 一个 变量对象 的 过程数据 中寻址子集 。
因此,通过链接对象进行的所有读和写访问只针对过程数据的一个子集。该子集是通过指定变量地址(VA 参数)来定义的 。
写入时,只有变量对象的过程数据图像中的子集被传输。然后,图像中的所有过程数据被写入PLC。读取时,这个过程以相反方式执行。 POBJ_EVENT_DATA 事件只有在子集发生变化时才会被触发。
当写到子集时,所有的过程数据总是被传送到PLC。如果从最后一个读周期到执行写指令的时间内,PLC改变了过程数据,那么数据将被写程序放回其旧值。因此,应该只在读的方向上使用可变寻址,或者PLC只在读时访问过程数据。
变量寻址是通过在 链接对象描述中指定VA参数来启用的 。由于变量寻址是通过 类型转换工作 的,所以 必须为链接对象定义数据格式 。任何应用程序都可以为一个变量对象设置多个链接对象,并使用不同的变量地址将过程数据划分为子段。
可能的寻址类型。
Addressing |
说明 |
Bit number |
位寻址。 通过位寻址,一个单独的位被定义为一个整数变量。在链接对象中,单个变量或数组的数据格式必须以变量类型布尔(VT=boolean)或可转换为布尔的类型来定义。变量对象必须具有变量类型Integer(有符号或无符号)。位数是用VA参数指定的。位数从最低值位的0开始。 例如。"VT=boolean VA=2" - 地址为第2位。 如果变量对象是一个整数阵列,那么也可以在链接对象中定义一个布尔阵列。然后对每个单独的数组进行位寻址。 |
Array index |
数组寻址。 通过数组寻址,一个单独的元素被定义为一个数组变量。阵列变量的元素可能不是一个结构。单个变量的数据格式必须在链接对象中定义。阵列索引是在括号中用VA参数指定的。阵列索引从第一个阵列元素的0开始。 例如。"VT=u32 VA=[3]"- 寻址第四个数组元素。 |
变量寻址的例子:
Data format of the variable object:
"VT=u16 VN=10"
Definition of the variable for C on the PLC:
INT Array[10];
Specification for the link object data format and variable addressing:
"VT=u32 VA=[3]"
Definition of the variable for C in the application:
unsigned long Array4;