<< 点击显示目录 >> 主页 PVI通信 > PVI帮助信息 > PVI base system > PVICOM interface > Requests and responses > Order of request execution |
所有这些请求都存储在PVICOM 通信实例中,以块的形式发送到PVI管理器,如果可能的话,在同一时间进行处理。
请求的最大数量只受可用内存数量的限制。
实际上,请求应限制在大约500至5000个。这种处理请求的方式非常有效,因为PVI组件,如PVICOM接口、PVI管理器和PVI线都得到了最佳使用,而且可以同时执行几个请求。
例如,当一个PVI应用程序启动时,所有的变量都应该被初始化。最省时的方法是在程序循环中为所有变量对象调用PVICOM函数PviWriteRequest或PviXWriteRequest。然而,应该注意的是,调用的顺序不必与PVI管理器中实际执行的顺序和被送回的响应数据相匹配。这也意味着,PviWriteRequest的调用顺序和用于向PLC变量写入数据的顺序也不必匹配。这基本上适用于所有类型的请求。请求可以由PVI线的PVI管理器重新安排,以便在处理所有未完成的请求时最优化地使用时间。
如果几个请求都指向一个进程对象,那么可能的执行顺序也由请求的优先级决定。处理数据的写请求具有最高的优先级。处理数据的读请求有一个平均的优先级。所有其他请求的优先级最低。在一定数量的请求之后,一个优先级较低的请求被执行,以防止许多具有高优先级的请求阻止具有较低优先级的请求的执行。这就是为什么我们只能提到 "可能的 "顺序的原因。优先级水平不能由用户改变。
虽然在一个进程对象内和一个优先级内的请求不会被重新安排。这里,调用的顺序与执行的顺序相对应。例如,一个PVICOM应用程序可以先给一个变量对象的数据赋值4,然后再直接赋值2。在最后,该变量将保持数值2。
如果在几个进程对象或一个进程对象的不同优先级上执行请求时要保持一定的顺序,那么只有在收到前一个请求的响应后,应用程序才可以发送下一个请求。