The buffering services available include 32- and 64-bit API Buffer Server (bufserv) and 32- and 64-bit PI Buffer Subsystem (pibufss). All of these buffering services are compatible with both 32 and 64-bit applications. Therefore, it is possible to use a 32-bit buffering service with a 64-bit interface and vice versa, provided the configuration is correct. However, attempting to buffer data using more than one buffering service on the same node is not supported.
Both API Buffer Server and PI Buffer Subsystem use configuration settings stored in piclient.ini, a file installed with PI API. The configuration in the piclient.ini files is critical to making the 32-bit and 64-bit instances of the PI API work together with buffering. Because the two instances of the PI API are in different directories, and because both instances must be capable of running independently of the other, there are two piclient.ini files:
Note: If you are not sure about the location of %PIHOME% or %PIHOME64%, you can find these folders by opening a command prompt and typing cd %PIHOME% or cd %PIHOME64%.
When a 32-bit application, 32-bit API Buffer Server, or PI Buffer Subsystem starts, it reads the buffering configuration from the piclient.ini file in the 32-bit PI API dat directory (%PIHOME%\dat\piclient.ini). When a 64-bit application or 64-bit API Buffer Server starts, it reads the buffering configuration piclient.ini in the 64-bit PI API dat directory (%PIHOME64%\dat\piclient.ini).
Therefore, if a 64-bit interface is to use a 32-bit buffering service (either API Buffer Server or PI Buffer Subsystem), or a 32-bit interface is to use 64-bit API Buffer Server, then the configuration parameters in the 32-bit and 64-bit piclient.ini files must be the same. A mismatch in the parameters will cause problems and data may be lost.
The following diagram shows the data flow when both 32-bit and 64-bit interfaces are running with a 32-bit buffering service.