<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<LEGEND>
THIS SCHEDULE CONTAINS SUMMARY FINANCIAL INFORMATION EXTRACTED FROM THE
FINANCIAL STATEMENTS AND RELATED NOTES FOR THE PERIOD ENDED JULY 31, 2000. AND
IS QUALIFIED IN ITS ENTIRETY BY REFERENCE TO SUCH FINANCIAL STATEMENTS.
</LEGEND>
<S> <C>
<PERIOD-TYPE> 9-MOS
<FISCAL-YEAR-END> OCT-31-2000
<PERIOD-START> NOV-01-1999
<PERIOD-END> JUL-31-2000
<CASH> 4,631,000
<SECURITIES> 0
<RECEIVABLES> 3,801,000
<ALLOWANCES> 139,000
<INVENTORY> 3,758,000
<CURRENT-ASSETS> 12,956,000
<PP&E> 7,894,000
<DEPRECIATION> 3,137,000
<TOTAL-ASSETS> 24,282,000
<CURRENT-LIABILITIES> 2,565,000
<BONDS> 0
0
0
<COMMON> 89,000
<OTHER-SE> 21,174,000
<TOTAL-LIABILITY-AND-EQUITY> 24,282,000
<SALES> 16,079,000
<TOTAL-REVENUES> 16,079,000
<CGS> 7,878,000
<TOTAL-COSTS> 2,687,000
<OTHER-EXPENSES> 5,218,000
<LOSS-PROVISION> 0
<INTEREST-EXPENSE> 0
<INCOME-PRETAX> 398,000
<INCOME-TAX> 163,000
<INCOME-CONTINUING> 235,000
<DISCONTINUED> 0
<EXTRAORDINARY> 0
<CHANGES> 0
<NET-INCOME> 235,000
<EPS-BASIC> 0.03
<EPS-DILUTED> 0.03
</TABLE>