Version History
04.03.00 to 04.03.18
No changes were made for these releases.
04.02.03 to 04.02.07
No changes were made for these releases.
04.02.02
The Bode tool has been modified 04.02.02 so that the tool is initialized properly when the bode.ini file is not present. An error message is no longer received if bode.ini is not found.
04.02.01
Various Bode Tool Fixes
Data Recorder
The Bode Tool Cannot Allocate a new data recorder if all data recorders are already in use. The bode tool will generate an error message "Couldn't Add Additional Data Recorder Return Value 1553" after it attempts to allocate a new data recorder. To correct this problem, the bode tool has been modified so that it can now allocate a new data recorder
PID and PIV Extra Parameter
The PID and PIV filter tool screens have an extra parameter "Output Limit" that does not exist. This extra parameter has been removed from the filter tool view.
Swept Sine Not Working On One Motor Systems
The swept sine with standard firmware when only one motor is connected is not working. The resulting output is always 0. This was fixed so the correct results are generated.
Incorrect PID and PIV Filter Coefficients
With Mechaware firmware the pid and piv filter coefficients in the fr.txt file are sometimes not correct. This results in a "bad file format" message being displayed after a test completes, or when the plot button is pressed. In addition the open loop plot is not displayed.
A fix was implemented so that when Mechaware firmware is being used, the pid and piv coefficients in the fr.txt file are explicitly set to 0 (theses coefficients are not used with mechaware firmware). As a result the "bad file format" message is no longer generated after a test completes, or the plot button is pressed. And all plots are displayed, including the open loop plot.
04.02.00
No changes were made for these releases.
04.00.01 to 04.00.10
No changes were made for these releases.
04.00.00 to 04.00.01
New Layout
The Bode Tool has a new dialog layout, as well as an alternate form specific to MechaWare. Controller selection is now modal to facilitate having various layouts custom to controller firmware options.
The testing mode is no longer selected from the measurement menu. It is split into Noise Type and Measurement Type fields on main dialog (Manual measurement can be achieved by by setting measurement type to None).
Only enabled motors are displayed in motor number lists and are dynamically updated when changed externally.
Post filter sections have higher visibility in the Filter Tool and can be removed out of order.
Some existing command line switches have been modified.
Improved integration with MechaWare
Closed Loop and Open Loop measurement types are now supported under MechaWare. Noise blocks can be selected as excitation points and motor blocks can be selected as measurement points.
Filter Tool now allows for viewing and editing coefficients of PID, PIV, and Biquad MechaWare blocks.
New command line switches specific to MechaWare measurement settings were added.
1.6.15 to 4.0.0
For compatibility with MPI 04.00.00 and MechaWare 04.00.00, the User Buffer measurement mode now expects to find doubles in the specified User Buffer locations instead of floats. Make sure to specify doubles as the output data type in your MechaWare User Buffer blocks.
1.6.15 to 1.6.16
Added Sensitivity Trace
A sensitivity trace has been added. Sensitivity is 1 / (1+ G)
where G is the closed loop response. Sensitivity is how much the response will
change given a change in the closed open loop response. It is useful to look
for areas that could be adversely affected by drift in system response.
Added Gain Margin and Phase Margin Measures
Gain and Phase margin stability measures were added in addition
to the already available "stability". Gain and phase margins are standard
measures in the controls industry. Gain margin is shown in units of dB and phase
margin is shown in units of degrees. In the case of multiple gain and phase
margin cases, the lowest frequency gain and phase margin will be used for the
display of the margin values. All gain and phase margins are shown graphically.
The previous stability measure is still available.
Added Measured Filter View
A tab was added to the Filter Tool called "Measured Filter".
This tab shows the tuning parameters used when the bode plot measurement was
taken. If it is so desired, you can press the "Load to Controller"
button to load these parameters to the controller again. This is helpful if
you make a test, change parameters, and don't like the changes. You can now
press the "Load to Controller" button to return to the original tuning
parameters loaded during the test.
Fixed Smoothing Window Bug
The smoothing factor window would accept values from 0-1000.
The slider would only accept values of 0-100. The smoothing algorithm does not
work differently for values over 100, so both methods of entering data were
limited to 0-100.
Previously, the smoothing factor window title had an incorrect
title. It is now called "Smoothing Factor"
Put Limits on Data Inputs
DRate is now limited in the Bode Tool to only accept values
of 0-7. The MPI will also limit this, but having the Bode Tool keeps the MPI
from throwing an error to the Bode Tool, which is not as clear as could be.
If you enter a value outside 0-7, you will get an error window that tells you
to enter a value between 0-7.
Server Port is now limited to 0-65535.
In User Buffer mode, the user buffer indecies are limited to
0-1024.
Fixed Double Error Window
When a sine sweep test is made with insufficient amplitude,
an error window pops up stating that there is an error that is causing bad data.
There were two separate windows that popped up saying that there was an error
on the input and output data. The error windows were consolidated to avoid confusion.
1.6.14 to 1.6.15
Bug Fixed for Bode Tool Crash Bug
The Bode Tool previously crashed when invalid controller information
is entered.
1.6.13 to 1.6.14
Control Algorithm Title Bug Fixed
A change in the MPI releases starting in 03.04.08 has caused
control algorithm title to not show properly in Filter Tool. The filter algorithm
was read incorrectly after a change in the MPI.
1.6.12 to 1.6.13
Lab Versions of FPGA Now Tolerated
The Bode Tool will now ignore warning messages from the controller
that say that there is a lab version of FPGA in the system. The Bode Tool previously
would not communicate with the controller when lab FPGA versions were present.
1.6.11 to 1.6.12
Control Initialization Code
Wrapper for controller iniliatization has been added. This was
added to enable the changes in the next version. No effect to the user.
1.6.10 to 1.6.11
Update for MechaWare Support
MechaWare feature is only available on ZMP starting in MPI version
03.04.08. Bode Tool is updated to support the new versions of MechaWare available
with MPI 03.04.08 and later. No effect to the user if he/she is not using MechaWare
1.6.9 to 1.6.10
Setup Tab on Filter Tool
Setup tab is added to Filter Tool window. This tab will allow
you to read axis' state, clear axis' fault, enable amplifier, configure
position error limit and select control algorithm.
Update Controller Error Message
Error message is made more specific and understandable
in the case where controller is not present.
Bode Plot Labeling has Changed
Bode Plot labeling has been improved. All labels are now
placed on the left side of the graph to reduce confusion on what part of the
plot the label represents
1.6.8 to 1.6.9
Improve Speed of Bode View
Streamline code to make Bode view faster for future features.
No significant effect to the user at this point.
1.6.7 to 1.6.8
Noise Source Bug Fixed
This version fix the problem of controller not outputing signal
when starting a bode test. This corrects a problem where no noise
signal was supplied during the bode tests.
Second Motor Bug Fixed
Second motor was not taken into consideration when running the
bode tool on Sine Sweep measurement. This bug is fixed in the Bode Tool. This
will only affect the user when doing mult-axis sine sweep tests.
1.6.6 to 1.6.7
DRate Support is Added
DRate was not calculated in controller simulation. This feature
is now added to the Bode Tool. Previous controller simulations using a non-zero
drate were incorrectly calculated.
1.6.5 to 1.6.6
Plant Measurements Bug on ZMP in MPI 03.04.00 and After Fixed
A change in the MPI releases starting in 03.04.00 was not compensated
for in the Bode Tool. This would make the ZMP unable to make a plant measurement.
This was fixed in the Bode Tool.
Autotune Interface Changed
The autotune command line switch was removed. The autotuner
is now turned on and off via the autotune menu item in the Bode Plot window.
Several warning windows were added to help the user understand why the autotuner
may not be working because of incorrect configuration.
1.6.3 to 1.6.5
FFT DC Offset Bug Fixed
Large DC offsets in the bode test will cause noisy test results.
This is most common in plant measurements. If the position error is large, the
resulting plant measurement will be noisy.
Fixed Smoothing Window
A bug existed where opening the smoothing window and clicking
OK without changing the smoothing value will cause a very large smoothing value
to be used, intermittently.
Updated Amplitude Error Message
The error message resulting from a zero excitation amplitude
has been updated to be more descriptive.
Fixed Bode View Legend in XP Embedded
Inconsistencies between Windows XP and Windows XP embedded font
names caused rendering problems in the bode view legend.
Renamed Bode View Traces
The "As Measured", "Current", "No Filter", and "Filtered" naming
scheme for the bode view traces was replaced with a simpler system.
All traces that are as the data was collected are called "Measured"
All traces that are simulated, based off the Measured data,
are called "Simulated"
Default to Simulated Traces
To simplify the tuning process, the default traces chosen in
the bode view window are now the simulated open loop, simulated closed loop,
and simulated filter traces.
Sticky Window Bug
When minimizing the bode plot window when it is "stuck" (in
the sticky window mode) to the bode view window, a bug exists when trying to
un-minimize the window. In this case, the bode view window, disappears off screen.
Amp Enable Check
An error message box now pops up when a bode test is started
with the amp disabled. The message box reminds the user to enable the amplifier
and keeps the test from starting
Divide by Zero Checks
Tests that result in zero motion result in a warning message
box that tells the user that the no motion occurs and suggests why it occurred.
If a file is opened in the bode view that has divide by zero
data in it, the user is not notified that the data contains divide by zero points.
Previously, this condition resulted in a "bad file format" error message and
the program refused to open the file.
Merge Files
The bode view window now can merge multiple files so that control
simulation across multiple measurements is now possible.
Enhanced Biquad Autotuning
The autotuning algorithm was enhanced to make it more consistent
in performance across a larger frequency range. The enhancements are effective
in the lead / lag and resonator auto tuning methods. No change was made in the
PID and PIV autotuning algorithms.
1.6.2 to 1.6.3
Fixed Sine Excitation in MechaWare
Fixed a bug that caused MechaWare based sine excitation to not
set the sine excitation amplitude correctly. The sine excitation in non-MechaWare
firmware was unaffected, as was all noise based excitation.
1.6.1 to 1.6.2
Fixed Filter Tool Update Bug
The filter tool had a bug that caused the filter tool to incorrectly
identify filters as type unknown.
1.6.0 to 1.6.1
Fixed PIV Ka1 Handling
The Ka1 (smoothing filter) parameter was not being written or
read in the Filter Tool from the correct location. Ka2 (noise excitation) was
being read instead. This was fixed.
This fix fixed incorrect simulation of Ka1's effect on the PIV
filter simulation. The PIV filter simulation relied on a correct reading of
Ka1, so when Ka1 was read incorrectly, the Ka1 simulation was wrong.
PIV Coefficients not Displayed Correctly
The Filter Tool did not display changes in the PIV algorithm
from an external source correctly. This would show up if, for example, one changed
the PIV tuning coefficients in MoCon, then pressed the Read button in the Filter
Tool. The changes in MoCon would not show up in the Filter Tool in the PIV window.
The coefficients were correctly read on starting the Bode Tool or changing the
coefficient and using the Load button in the Filter Tool.
1.5.16 to 1.6.0
Sine Sweep has Configurable Sources
The sine sweep now can measure the same types of measurements
as the random noise measurement. These measurements include Closed Loop, Open
Loop, Controller, Plant, Custom (arbitrary addresses for input and output),
and User (user buffer indices for input and output -- used for MechaWare). The
selection of the measurement is performed via the same combo box used for the
random noise measurement type selection.
The sine sweep DFT engine was changed from a single channel
DFT (used to be sin / cos referenced to control output), to a dual channel DFT
so that flexible measurement types can be taken.
This change was made to give users ability to more flexibly
measure their systems. Another key reason for the change is to enable sine sweep
measurements in the Bode Tool of MechaWare systems.
The sine sweep and random noise user interfaces are shown below
for comparison.
Sine sweep interface
Random noise interface
Note: Using the Closed Loop measurement type
will give the same results as the sine sweep measurement in previous versions
of the Bode Tool.
Updated Error Codes
Many non-descriptive error codes were replaced with more descriptive
error codes. This change will only appear if the Bode Tool pops-up an error
window.
Fixed Disappearing Bode Plot Window
When sticky windows are turned on, the Bode Plot window is "stuck"
to the Bode Tool window, and the Bode Tool window is minimized, the Bode Plot
window will not be restored. The only way to get the Bode Plot window to restore
was to close the Bode Tool and open it again. This behavior has been fixed.
1.5.15 to 1.5.16
User and Custom Command Line Switches
User and Custom input and output command line switches were
added to make MechaWare and other custom testing easier to automate. See the
command line switches section of the help file for more information.
Build Efficiency
Changes were made to make the Bode Tool buildable for older
MPI versions. Newer versions are not affected.
Single Channel FFT
When the same source is chosen for the user or custom FFT measurements,
a single channel FFT is performed.
1.5.14 to 1.5.15
Fixed PIV Coefficient Reading
A bug was fixed where the first reading in the Bode Tool of
a PIV algorithm coefficients would read all zeroes. This made the Bode Tool
appear to be unable to simulate PIV coefficient changes.
Updated Error Codes
Many non-descriptive error codes were replaced with more descriptive
error codes. This change will only appear if the Bode Tool pops-up an error
window.
Added MechaWare Noise Amplitude Setting
The Bode Tool can now adjust the amplitude of the noise block
in MechaWare However, there can only be one noise block in the model. If there
are more than one noise blocks in a model, the Bode Tool cannot identify which
noise block to adjust.
This feature makes the noise amplitude setting in MechaWare
work very similarly to standard PID or PIV algorithms.
1.5.13 to 1.5.14
Added Custom and User Buffer FFT Test Type
In order to effectively test MechaWare control loops, new test
types are needed. Two types of tests were added.
Custom test type is used to set any two controller
address locations as the input and output for a two channel FFT test. The addresses
are specified in hex in the controller address space.
User Buffer test type uses data at any two
user buffer locations as the input and output for a two channel FFT. The user
buffer locations are specified by the user buffer index (same as MechaWare scope
index) in base 10.
1.5.12 to 1.5.13
Fixed Plotting Bug in Amplitude vs. Phase Plot
The scaling was incorrect on the amplitude vs. phase plot (not
Bode plot). It resulted in the traces being plotted partially off the screen.
This problem has been fixed.
1.5.11 to 1.5.12
Internal Build Changes
Testing showed that recent changes would break compatibility
with older releases. This was fixed. Analog series XMP controllers will not
have the filter tool functionality in the Bode Tool. No changes should be apparent
in current MPI versions.
1.5.10 to 1.5.11
Fixed Filter Bug in Multiple Axis Tests
A bug existed where the filters were not shown correctly in
the results of multiple axis tests. The Bode Tool incorrectly considered the
filter on the first axis as applying to both axes. This caused incorrect simulations
when simulating the effects of filter changes on the second axis. This bug was
fixed. In multiple axis tests, the correct filter is shown for each axis as
measured and also for current filters.
Noise Source Cleared More Robustly after Turning Off
The noise source was turned off sufficiently for PID and PIV
testing. When using MechaWare, the residual values left in the noise generator
would cause offsets in the control loop. The noise generator now has all intermediate
variables and outputs set to zero when the Bode Tool turns off the noise source.
This has no practical effect in the PID and PIV algorithm testing, but does
have a positive effect in MechaWare testing.
Demo Support for Analog Poles and Zeros
The MPI has added support for analog and digital poles and
zero, as well as state space representation of post filters. The Bode Tool will
fully support these features in a future release. As of this release, the analog
pole and zero representation of the post filter is shown in grayed out boxes
in the post filter tab of the filter tool. There is no functionality to enter
pole and zero post filters at this time.
Fixed Errors when Using MechaWare Firmware
When MechaWare firmware was previously loaded on the controller,
errors were shown stating that there was an error creating the filter object.
These errors are now trapped and hidden when MechaWare firmware is used. The
filter response is considered by the Bode Tool for plotting and simulation purposes
when using MechaWare firmware.
Fixed State Errors in the Filter Tool
The filter tool could get into situations where the pole and
zero feature could cause error message to get thrown during filter reads and
writes. These bugs were fixed. When the FFT test mode is set to plant mode,
the open to closed loop conversion is modified to account for the plant being
measured as a closed loop measurement. This is transparent when the user takes
a measurement in plant mode. When the FFT mode is set to plant, then switched
to sine sweep mode, it still considered the measurement to be in plant mode,
resulting in strange simulations. This condition has been fixed. When in sine
sweep test mode, the Bode Tool will ignore any plant measurement mode.
1.5.9 to 1.5.10
Fixed Bug in Command Line Switches
A bug existed where negative numbers would not be read correctly
as arguments to the command line switches. The bug was fixed.
Added -secondMotorEnabled Command Line Switch
The -secondMotorEnabled command line switch was added
to facilitate batch testing of coupled motors in multiple modes.
Fixed Filter Section Removal
A bug was fixed where setting a filter section to type none
would not succeed in applying that setting. The bug was fixed.
More Descriptive Error Message on Non-Existent Default Bode
Data
When opening the Bode Plot window, the Bode Tool looks for
a default frequency response to display. This file is usually fr.txt unless it is manually changed at the command line prompt. Previously, when this
file is not found, an empty error dialog box was displayed. The empty dialog
box has been replaced with an error box that instructs the use what file could
not be found and suggests that the user opens another file.
1.5.8 to 1.5.9
Fixed Problems in Internal Build Process
No changes should be noticed by the user.
1.5.7 to 1.5.8
Fixed Bug that Broke White Noise Excitation in PIV Mode
This bug kept the white noise source from being routed to
the motor under a test when the PIV filter algorithm was being used. This bug
was fixed.
1.5.6 to 1.5.7
Fixed Incorrect Two Motor Sine Sweep Test Behavior
A bug in the Bode Tool was fixed that kept the second motor
from being excited and recorded correctly during two motor tests. FFT based
tests and single motor sine sweep tests were unaffected. The two motor sine
sweep tests now work properly.
Added Command Line Switches and Updated Documentation
The following command line switches were added:
|
-sineSweep - sets the Bode Tool to sine sweep mode.
Changed -secondMotor and -secondCoeff to turn on the second motor test
mode. |
Documented the following command line switches:
|
-firstCoeff - sets the first motor coeff in two motor sine sweep
mode.
-secondCoeff - sets the second motor coeff in two motor sine sweep
mode. |
Work Around for MPI Post Filter Bug
Conditions exist where the MPI cannot determine the type of
post filter on the controller. In such cases, the Filter Tool will return the
digital biquad coefficients. The condition exists with very low frequency filters
and other extreme conditions. A peculiar filter that causes this condition is
a Lead / Lag filter with a low frequency gain of 0 dB, a high frequency gain
of 20 dB, and a center frequency of 250 Hz when using a 2000 Hz sample rate.
1.5.5 to 1.5.6
Fixed -autoStop Command Line Switch Bug
Fixed a bug where specifying the -autoStop bug would cause
a Windows error. This did not cause problems in normal operation, but could
cause scripts spawning the Bode Tool and waiting for it to close to fail.
1.5.4 to 1.5.5
Filter Tool Integrated into Bode Tool
The Filter Tool was previously a separate tool that complemented
the Bode Tool. In order to increase its effectiveness, the Filter Tool's functionality
has been integrated into the Bode Tool.
Custom FFT Measurements Supported
This mode allows advanced users to perform a dual channel
FFT on any two memory locations in the controller to allow measurements that
are not imagined by the Bode Tool author. Either memory location can be a float
or a long. The user needs to specify the controller memory address and type
(long or float) for each memory location.
1.5.3 to 1.5.4
Trace Legend
Since several traces can be shown at the same time, the Bode
Tool uses a predefined set of colors to help to visually differentiate between
the traces. To open the Trace Legend, click Traces -> Legend.
A small window will appear that defines the colored traces.
The line width is exaggerated in the legend so the colors are easier to see.
The window can be repositioned to a convenient location for reference when looking
at the plots in the View window.
1.4.9 to 1.5.3
New FFT Algorithm
A new FFT algorithm is now being used. Tests have shown that
the results of the new algorithm are consistent with the old algorithm. However,
some limitations do exist.
The parameter "Number FFT Points" must be a number that can
be factored to a largest prime number of 37 or smaller. If "Number FFT Points"
does not satisfy this requirement, the following error window will be shown.
If you run the Bode Tool in an automated test
from the command line and choose "Num FFT Points" with a prime greater than
37, then the Bode Tool will automatically increase "Num FFT Points" for you
until the largest prime number is less than 37.
Number of FFT Points can not exceed 19000 points.
Higher values cause truncation of data at high frequencies.
Abort Window
An abort window pops up during noise excitation.
The window is very similar to the abort window that pops up during a sine sweep.
The abort action caused by clicking the abort window during the noise test causes
an abort that is triggered by a user limit. This will cause all axes on the
same motion supervisor at the motor under test to abort. There is no requirement
that there be a motion supervisor during the test. If all user limits are already
in use, the abort button will disable the motor of the motor under test. The
abort window indicates the time left in the test in seconds.
Bode Tool Remembers Previous Settings
The Bode Tool now stores the settings you use when testing
and uses the same settings when you next run the Bode Tool. The settings are
saved in a file named "bode.ini" and are stored in the Bode Tool executable's
directory. Any command line switches used will override the settings in bode.ini.
If bode.ini is not available when the Bode Tool starts, then default values
will be used.
For example, if you run an FFT test with 50000 samples and
exit the program, next time you start the Bode Tool, it will be set to run an
FFT test with 5000 samples (instead of the default of a sine sweep test).
If you want to get rid of the settings in bode.ini and go
back to the default settings, delete bode.ini. The default settings will be
used and a new bode.ini will be created on exiting the Bode Tool.
File Name Command Line Switch
Added the -fileName xxx command line switch that causes the
bode tool to use file name specified instead of fr.txt for storing the test
data. This is useful during automated tests that require several trials controlled
by an external program.
Labeling Correction
Changed a mislabeling in the real, imaginary vs. frequency
plots.
Clearer First Motor Coefficient Behavior
The first motor coefficient now is disabled during a single
axis sine sweep test. The first motor coefficient never should be a value other
than 1.0 during a single axis sine sweep, FFT tests, and this is now enforced
by graying out the first motor coefficient edit boxes.
More Efficient Memory Management
Some efficiencies were realized during the noise test, reducing
the amount of memory allocated during a noise based test.
Enhanced Stability Measurements
Stability measurements are now made on both measured and simulated
data.
Labeling Improvement
Small arrows were added to the labels on the Bode View to
clarify what the labels represent.
Documentation Correction
Previous version of the Bode Tool help indicated that the
Overlap Percentage for the FFT test could vary from 0 - 100%. The allowable
overlap percentage range was and is 0 - 50%.
Previous | Next
|