Win32-Cal – Universal Calibration, Data-Acq. Package

Year of completion: 1997
Purchased/Utilized By: IMPCO Technologies, Cerritos, CA 

                                     IMPCO Technologies, Irvine, CA

                                     Competition Systems Inc (RacePak), Lake Forest CA (Win32-Cal was used as foundation for RacePakChart) 
Application: Control of Industrial Equipment, Data Acquisition

Win32-Cal is a powerful, universal real-time acquisition, processing, and storage software, with many hardware drivers. Unlike the previous calibrator core implemented by MCC, it has the following advanced features:

  • Ability to define both input and output channels and any required interactions
  • Ability to program calculations on channels using full mathematical formulas with operators, trigonometrical functions, multi-level brackets, user-defined functions.
  • Ability to time and store each channel (input or output) separately, at different timing rates
  • Ability to implement complex control strategies by using the all three features above together: taking readings from inputs at given time rates, performing user-programmed calculations on them to come up with command values for the outputs to be generated at given time rates.
  • Directly supporting input, output, or conversion drivers that take any number of parameters. Example 1: timer-counter board driver taking both frequency and duty cycle as parameters. Example 2: ECU table access driver taking row, column (and any other parameters if required) and returning thus indexed table entry.
  • Implementing all of the above with a simple, easy to understand, generic scheme. This driver/channel scheme makes complex calculations possible and new hardware implementations extremely easy.
  • Programmable timer drivers for use with Windows 95, Windows NT Operating Systems. Unlike the previous MCC calibrator packages, the user can define any number of timer-channels to be used as pacing timers for other (non-timer) channels and as calculation arguments like any other channels.
  • Ability to program actions to be taken at the start of a data acquisition session or at its end. This feature can be used to initialize hardware, insert delays, set the system to a known level, or (possibly with future drivers) wait for an event. The above is accomplished by typing a series of mathematical formulas that use defined channels, for example:

PowerVoltage = 12; // Volts

MotorSpeed = 50; // %

  • Ability to program script/string actions such as prompting operator for strings that will be stored as description of data, renaming, opening and saving files, etc. Special script language is used to allow programming string actions through string expressions. For example:
    SaveAs="C:\root\"+Prompt("Enter File Name")+Date()+Time();
  • Ability to program data acquisition/control templates that define all channels and displays, and that can be given to non-engineering personnel as a complete, specialized tool.
  • Special new file type registered with the Operating System, which allows the operator to load the data files, templates, or the previously described "special tools" by simply clicking on the icon representing them. This automatically loads the program and opens the data file or template. The "special tool" template icons can also be placed directly on the computer’s desktop to further simplify the operations for non-engineering personnel.
  • Provisions for adding new drivers, buffering, and storage techniques while maintaining backward-compatibility with old drivers, buffering, and storage techniques.
  • Universal charting routines allowing displaying any number of charts in overlying or separate grids. The user can define the color used for a specific chart, width of the pen used, type of symbol to be used (connecting lines or markers representing individual points: squares, pluses, rectangles, squares, etc.).
  • Standard, Microsoft recommended color print previewing and color printing capabilities. This obviously allows printing to any printer supported under Windows 95 / Windows NT.
  • The drivers already implemented include:
Analog Input Board (CIO-DAS16/330)
Analog Output Boards (RTI802)
Frequency Inputs, PWM and Frequency Outputs (AM9513)
Win 95 / Win NT Timer driver
Auxiliary calculations driver
Derivative Driver
Polynomial conversion driver
File-table conversion driver
  • All important math functions to be used in expressions (sin, cos, tan, exp, log, log10, pow, abs, sqrt, sqr, and many others) (These are not drivers, but rather, like all math operators, allowed components of any expression)
  • Context-sensitive help: The entire software manual and tutorial is implemented by means of elaborate, context-sensitive help. This would allow the operator to instantly see the documentation for any menu, dialog box, or display item currently selected. This allows using the software without any prior training.
  • Channel/driver definition help, through a channel definition wizard guides the operator through the process of defining new channels. As mentioned above, fairly simple system of mathematical formulas is used to define the channels (with some built-in help available already), but further progress in this area is possible.
  • Universal, Input/Output view area. This allows the operator to design any custom Real Time screen with the following elements
  • Charts
  • Display fields showing values of inputs (raw or re-calculated)
  • Entry fields for entering values to be used in calculations or to be outputted
  • Push-buttons for initiating actions
  • Tables of variables (editable or not, automatically refreshed or not)
  • Gauges
  • Dials
  • Other visual objects