例外处理
接口程序就对其采集到的数据做例外检查,通过例外检查的点,才会发送到PI数据库服务器,否则抛弃。这样可以减少对PI数据库服务器的写入次数,减少对PI数据库服务器的压力。
PI数据点例外检查的条件由PI点属性中的ExcDev, ExcMin和 ExcMax确定。检查规则是:
假设PI数据点的当前采集时间是CurTime,当前采集值是CurVal;上次写入PI数据库服务器中的时间是LastTime,上次写入PI数据库服务器中的值是LastVal,则
1. 若LastTime - CurTime < ExcMin,无论CurVal为何数值,则都不能通过例外检查。
2. 若LastTime - CurTime > ExcMan,无论CurVal为何数值,则都能通过例外检查。
3. 若ExcMin < LastTime - CurTime < ExcMan,并且|CurVal – LastVal| >ExcDev,则都能通过例外检查。
4. 若ExcMin < LastTime - CurTime < ExcMan,并且|CurVal – LastVal| < ExcDev,则不能通过例外检查。
通过例外检查的值,将写入PI数据库服务器中;不能通过例外检查的值,将被抛弃。ExcDev的默认值是1.0, ExcMin的默认值是0秒,ExcMax的默认值是600秒。设置ExcDev=0,ExcMax= 0可以关闭例外检查功能,则所有数据都会被写入PI数据库服务器中。
pointsource
pipt_nextptwsource适用于旧版和新版PI服务器,pipt_nextptwsourcelong仅适用于新版PI服务器。
批量发送数据
pisn_putsnapshot
This function sends a value to the Snapshot and Archive.
pisn_putsnapshots
This function sends values to the snapshot and archive for an array of points.
当需要向PI数据库发送大量数据时,使用pisn_putsnapshots的效率较高,pisn_putsnapshot效率低。