Buffering is enabled through the use of a configuration file, piclient.ini. Unless this file is modified to explicitly enable buffering, the PI API will not buffer data, sending data directly to the home node.
There are no additional steps needed to install buffering after installing the PI API. The delivered PI API library supports both buffered and un-buffered calls.
Note: When buffering is configured to be on, the bufserv process must be started before other programs using the PI API, so that these programs can access the shared buffering resources. Any program that makes a connection to a PI Server has this requirement even if it does not write to PI.
Configuration of buffering is achieved through entries in the piclient.ini file. The file is found in the .dat subdirectory of the PIHOME directory (typically c:\pipc\dat) under Windows. This file follows the conventions of Microsoft Windows initialization files with sections, keywords within sections, and values for keywords. All buffering settings are entered in a section called [APIBUFFER]. To modify settings, simply edit the piclient.ini file in a text editor (Notepad on Windows) to the desired values.
The following settings are available for buffering configuration:
-
Keywords
|
Values
|
Default
|
Description
|
BUFFERING
|
0, 1
|
0
|
Turn off/on buffering. OFF = 0, ON = 1,
|
PAUSERATE
|
0 – 2,000,000
|
2
|
When buffers are empty the buffering process will wait for this long before attempting to send more data to the home node (seconds)
|
RETRYRATE
|
0 – 2,000,000
|
120
|
When the buffering process discovers the home node is unavailable it will wait this long before attempting to reconnect (seconds)
|
MAXFILESIZE
|
1 – 2,000,000
|
100,000
|
Maximum buffer file size before buffering fails and discards events. (Kbytes)
|
MAXTRANSFEROBJS
|
1 – 2,000,000
|
500
|
Maximum number of events to send between each SENDRATE pause.
|
BUF1SIZE
|
64 – 2,000,000
|
32768
|
Primary memory buffer size. (bytes)
|
BUF2SIZE
|
64 – 2,000,000
|
32768
|
Secondary memory buffer size. (bytes)
|
SENDRATE
|
0 – 2,000,000
|
100
|
The time to wait between sending up to MAXTRANSFEROBJS to the server (milliseconds)
|
In addition to the [APIBUFFER] section, the [PISERVER] section may be used to define the default PI server and an optional time offset change that may occur between the client and server.
-
Keywords
|
Values
|
Default
|
Description
|
PIHOMENODE
|
string
|
none
|
Windows default server is in pilogin.ini
|
DSTMISMATCH
|
0 – 2,000,000
|
0
|
The time that the server and client local time offset is allowed to jump. Typically, 3600 if the nodes are in time zones whose DST rules differ (seconds)
|
Example piclient.ini File Windows
On Windows, the default server information is stored in the pilogin.ini file so the piclient.ini would only have the [APIBUFFER] section. The BUFFERING=1 indicates that buffering is on. The MAXFILESIZE entry in Kbytes of 100000 allows up to 100 Megabytes of data storage. Do not use commas or other separators in the numeric entries. The retry rate is set to 600 seconds, meaning “Wait 10 minutes after losing a connection before retrying”.
On Windows a piclient.ini file might look like:
[APIBUFFER]
BUFFERING=1
MAXFILESIZE=100000
; The PI API connection routines have a 1 minute default timeout.
RETRYRATE=600
Restrictions and Other Information Exclusive Control of ICI Device
Even though the Bailey semAPI is designed to handle multiple user clients, PI Bailey semAPI interface expects exclusive control of the ICI device, specifically the configuration of the point table on the ICI. If the interface is started in trouble-shooting mode (/ICDB), the user can simultaneously communicate with the ICI via Bailey’s TALK90 program. This can be a useful debugging tool for determining the current condition of the ICI.
Interface and semAPI Version Compatibility
Applications developed with the semAPI version 2.0 and greater are not compatible with older versions of the semAPI. Hence, PI Bailey semAPI interface version 1.2 can only work with semAPI version 1.2 while interface version 1.3 and greater can only work with semAPI version 2.0 and greater.
OSM01 Not Recommended
The interface sometimes loses communication with the OSM01. In most cases, the interface process cannot re-establish communication automatically. The cause of the loss of communication is still unknown. Also, the OSM01 will take ten times as long to establish an equal number of points as compared with direct SCSI connection with ICI03. For these reasons, currently, it is not recommended to use OSM01 with the PI semAPI interface.
If the SCSI connection between the host computer and the ICI03 was disconnected for a short while (one minute for example) while running with semAPI version 1.2 on Windows and then re-connected, subsequent calls to the semAPI would result in an error. The problem would not go away unless the Bailey device driver process was stopped. The same problem was also observed if the ICI module was reset. These problems are fixed with semAPI version 2.0 and greater.
Timeout in the Middle of the Connect Point Command
Some systems with many points on a Bailey loop different from where the ICI is located could take more than 90 seconds to connect to these points. However, the ICI watchdog timer is activated as soon as the connect point command is received by the ICI. So it is possible for the ICI to timeout in the middle of processing the connect point command. In this case, the /TO parameter must be increased to work around the problem.
Adaptec 2940 U SCSI, 50-pin Card with the ICI03
According to Bailey, customers should use the Adaptec 2940 U SCSI, 50-pin card with the ICI03. Additionally, they should order the 18-foot SCSI cable from Bailey, part no. AI1758-18.
Install the semAPI Device Driver as a Service
With semAPI 2.0 and later, the interface has been known to have problems working when the user logs off of a Windows machine. After a user logs off, the semAPI device driver stops running and our interface loses the connection to the ICI. To fix this problem, the semAPI device driver must be installed as a service. Follow the steps below:
-
Custom install the semAPI and install the DEVICE files.
-
From the installation directory, run
DeviceAsService DD_ -i
-
Configure in Control Panel for auto start.
-
Uninstall Blysem service with
blysem –remove
-
Reinstall Blysem service with
blysem –install –auto –depend “tcpip DD_ bufserv”
The is the ICI device name specified in the ICICONF utility. For instance, if COM1 is specified, then the command would be:
DeviceAsService DD_COM1 –i
Invalid Security Device Present
If the interface reports “Invalid security device present,” the user string or software key has not been entered or is incorrect. The software key is a long, alpha-numeric string and the user string is usually “LICENSE01.” Both of these strings are furnished by Bailey. The strings need to be entered in three places. The software key needs to be entered into the LICENTRY utility. However, the user string needs to be entered in BOTH the LICENTRY and the ICICONF utility. Without correct user/software key strings entered, neither the talk90 program nor the interface will be able to connect to the ICI.
ICICONF Utility
LICENTRY Utility
Appendix A:
Error and Informational Messages
A string NameID is pre-pended to error messages written to the message log. Name is a non-configurable identifier that is no longer than 9 characters. ID is a configurable identifier that is no longer than 9 characters and is specified using the /id parameter on the startup command line.
Message Logs
The location of the message log depends upon the platform on which the interface is running. See the UniInt Interface User Manual for more information.
Messages are written to PIHOME\dat\pipc.log at the following times.
-
When the interface starts many informational messages are written to the log. These include the version of the interface, the version of UniInt, the command-line parameters used, and the number of points.
-
As the interface retrieves points, messages are sent to the log if there are any problems with the configuration of the points.
-
If the /db is used on the command line, then various informational messages are written to the log file.
Messages
PBI 1> Fatal 204 (ICI): Invalid security device present.
License Parameters are not setup correctly in Bailey semAPI software. Please refer to Restrictions and other Information section for details on how to fix this.
System Errors and PI Errors
System errors are associated with positive error numbers. Errors related to PI are associated with negative error numbers.
Error Descriptions on Windows
On Windows, descriptions of system and PI errors can be obtained with the pidiag utility:
\PI\adm\pidiag –e error_number
Revision History -
Date
|
Author
|
Comments
|
14-Apr-04
|
Holly
|
Updated section on ICU control. Doc rev C
|
1-Nov-04
|
Chrys
|
Removed reference to scan-based inputs in location4; noted that performance points are not applicable; Doc rev E
|
4-Nov-04
|
Chrys
|
Fixed headers & footers; fixed page numbers; fixed table of command-line parameters; UniInt is standard; digital states may be anywhere is the table; removed duplicate sections; Doc rev F
|
8-Jun-05
|
Jking
|
Added info about ICI12 support
|
13-Jun-06
|
Chrys
|
Added XP to platforms supported
|
19-Sep-06
|
Janelle
|
NT Version 1.3.6; VMS Version 1.2 – 2.1.2 Rev H: Updated Supported Features table to include APS Connector; fixed headers and footers; updated How to Contact Us page.
|
21-Nov-06
|
Janelle
|
Windows Version 1.3.6; VMS Version 1.2 – 2.1.2 Rev I: Added descriptions of the following command line parameters in the startup command line parameters table: /OF, /ICI, /ICDB, /DL, /ME, /MP, /FP; updated headers and footers; updated manual to skeleton 2.5.2.
|
05-Feb-07
|
Janelle
|
Windows Version 1.3.6: made new version of manual to only discuss Windows platform. Applied new text from skeleton.
|
20-Feb-07
|
MKelly
|
Version 1.4.0.0; Updated supported features table for Disconnected Startup and SetDeviceStatus information.
|
20-Feb-07
|
Jking
|
Corrected items in the Supported Features table
|
3-Apr-07
|
Janelle
|
Version 1.4.0.0, Revision A: updated Supported Features table to state Vendor software is required, per the explanation paragraph below the table.
|
30-Jan-08
|
DRiddell
|
Updated to version 1.4.1.0 and update copyright date.
|
4-Mar-08
|
Janelle
|
Version 1.4.1.0, Revision A: updated supported features table, I/O Rate tag configuration, ICU screen shots
|
5-Mar-08
|
MKelly
|
Version 1.4.1.0, Revision B; Updated all ICU Control screenshots, added missing descriptions for ICU Control related items, minor formatting errors corrected, added system digital state restricted ranges information, added disconnected startup description.
|
6-Mar-08
|
MKelly
|
Version 1.4.2.0, Added note about the new features only be available for the version built for semAPI 2.0 or later (bylsem.exe).
|
Share with your friends: |