Transmission Test Stand Control System

The system is for testing automotive transmissions, clutches, pumps (e. g. power steering gear pumps) and similar equipment both in the production and the product development environment.

Below, the links marked with an * lead to JPEG screen shots and may take some time to load.

Hardware Architecture

The system is a multi-processor VMEbus based system using PowerPC MVME2600 series processor running pSOS+ (back-end) for the data acquisition and real-time processing; VMIC VMIVME7686 PC running NT 4.0 (front-end) for the user interface; and Allen - Bradley PLC-5 VME (PLC-5/V40L) for the machine motion control. The back-end processor is also a system controller. All I/O devices are controlled by the back-end processor and include Acromag AVME9325-5 200 Khz 16/32 channels scanning A-D cards and various SBS (GreenSpring) Industry Packs such as 16-bit A-D, IP-Quadrature (4-channel quadrature/up-down counter), 16-bit D-A converter IPs, and IP-Unidig (Discrete I/O) IPs. An 8 GB Ultra SCSI VME form factor disk storage module is connected to VMIC PC. The module provides front panel SCSI connector for various external devices.

All communication between bus-masters (front-end, back-end, and PLC) during system operations is via VMEbus. The back-end program is loaded, at system startup, using a TFTP server.

Software Architecture

From the user's perspective, the software consists of four groups of programs: Test Manager, Test Result Manager, Editors, and User PLC Interface Software.
The back-end program has been developed using DIAB C++ compiler and SDS debugger; all NT application has been developed in VC++.

Test Manager

The Test Manager consists of two cooperating components communicating via VMEbus: the back-end program and the front-end program, and executes the test sequence. The front-end part of the Test Manager allows some interactive control over test sequence execution and manual machine manipulation using commands* built by the Setup Editor. It also provides on-line presentation of test data via HMI forms and strip charts, as well as real-time display of all channel values* (usually used for machine debugging and calibration). The back-end component of the Test Manager contains its I/O subsystem and the commands, alarm program, and test sequence execution engine.

At system start time, the front-end part of the Test Manager reads the system configuration file built with the
Setup Editor and sends it to the back-end via VMEbus backplane. The back-end verifies that the configured devices
are, in fact, present, configures and starts the device drivers, and starts the I/O subsystem to collect the data
from external devices according to the logical and physical channel definitions contained in the setup file.
The alarm program, if contained in the setup file, is started immediately after I/O initialization and executes
time slice*
(specified in the setup, usually 20 ms). From that point, the back-end continuously collects
input data from all external devices and outputs to the external devices as requested by the alarm program, or
by commands as they are received from the front-end. The back-end maintains an I/O history buffer, arranged by
logical channel, containing all input and output values for a period of time defined in the setup (usually 5 to
10 seconds). The input data rates are, at present, 2 Khz for scanning A-Ds, 1 Khz for quadrature data, and
once-in-a-time-slice (50 Hz at 20 ms) for the channels assigned to PLC and discrete I/O. All outputs are at
1 Khz.
(defined in setup, usually 500 ms) the back-end sends the most recent part of its history
buffer to the front-end. The latter maintains approximately 30-second long continuous I/O history buffer used
for on-line presentation in the form of
strip charts*
and for archiving of data upon user or programmed request
(taking snapshots). The strip charts of data recorded in the snapshots can be displayed off-line using the
Test Explorer application.

The test sequence can be executed by the Test Manager either upon interactive request from a user or automatically
via programmed (see below) interface. For example, the test sequence can be started when an alarm program detects
a bit set in PLC (part arrived) with the PLC also supplying the product and part number information read from an
RF tag. In case of manual initiation the required information is supplied by the user interactively. In either
case, the front-end reads the test sequence files and the related model parameter file. It, then, substitutes the
value of model parameters for their symbolic names, formats the sequence, and ships it to the back-end via VMEbus.
The back-end begins executing the sequence immediately upon receipt.

Test Result Manager

The Test Result Manager consists of two components, both running on the front-end. First, the Log Processor, runs as an NT service, at the specified time interval. It processes the test log files written by the Test Manager and saves the accumulated results in a Microsoft Access database. The second, Test Explorer, is an interactive application providing the access to the result database and to the I/O data contained in the snapshot files. The Test Explorer can be ran from another Windows computer connected to a network.


The editors allow the user to configure the system and to build individual test sequences; they are Setup Editor, Test and Step Editors, Model Parameter Editor, and Form Editor. All editors are interactive applications on the front-end; they have no direct interface to the Test Manager. The editors can be ran on another Windows (NT or Win95) machine.
Setup Editor
The Setup Editor is an interactive tool for building the system configuration. First, it is used to specify the I/O devices* used in the system, their VMEbus addresses and basic characteristics of the device drivers*; second, to build the list of logical I/O channels* and to connect* them to the physical I/O channels on the devices specified in the first step; third, to build a set of commands* that can be executed interactively* by the Test Manager, or called* from other programs (such as alarm); and fourth, to build an alarm program used by the Test Manager to monitor the test stand condition. The commands and the alarm program are written in the built-in interpreted language and are executed by the back-end component of the Test Manager. These four components of the system configuration are written to a file that is read by the Test Manager.
Test and Step Editors
The Test and Step Editors are interactive tools for building test sequences. A test sequence* is a sequence of blocks; each block* being a group of test steps that can be repeated a specified number of times. A step is a set of two programs, step initialization* and step condition*, written in the same interpreted language as the commands and the alarm (see above). A step initialization part of each step is executed once; a step condition is executed each time slice (the value of the time slice is specified in the setup, 20 ms is typical) and can be terminated after* pre-defined time period or explicitly by EXIT_STEP, EXIT_BLOCK, or EXIT_SEQUENCE statement (either in the initialization or condition part of a step). The execution of both, the step initialization and step condition begins at the same time. Upon termination of a step the execution of a sequence continues with the next step in the same block, if any, or with the next block in the sequence if no more steps is left in the current block or if the step was terminated by EXIT_BLOCK. The execution of a block continues until it either has been executed prescribed number of times or until either EXIT_BLOCK or EXIT_SEQUENCE has been encountered. Upon termination of a block the sequence continues with the next block, if any, or terminates. The EXIT_SEQUENCE causes the sequence to be terminated immediately.

The Step Editor also provides a facility to define, for each step, the continuous waveforms
is played into a user designated output channels, usually D-As; any waveform built from a constant, a ramp,
a quarter sine, a half sine, and a sine of various amplitude and duration can be used in a profile. All
profiles defined for a step begin to play at the beginning of a step execution. A profile on a specific
channel is played until either another profile for the same channel is defined by another step or until it is
explicitly stopped by the language statement. Upon termination of a sequence all active profiles continue
to play.

The test sequence is represented as a set of files: a file for the sequence itself, a file for each block,
a file for each step.

The test sequence is executed by the back-end component of the Test Manager. 

Model Parameter Editor
The Model Parameter Editor* allows the use of symbolic names for the values used in a test sequence that vary from model to model within the same product or product family thus greatly reducing the number of the test sequences required.

The Model Parameter File produced by the editor is read by the front-end component of the Test Manager.

Form Editor
The Form Editor is an interactive tool for building HMI forms* used for display of selected channel values and for manual intervention during sequence execution. A specific form can be loaded into the Test Manager interactively or requested using the LOAD_FORM language statement.

The User PLC Interface Software

The Allen-Bradley RXLogix package running on VMIC PC is used for PLC programming; RSView is used for the PLC panel interface.

Back to the SEA home page