Thanks,
Scott Hunziker
P-8A Poseidon Flutter & Dynamics
Boeing Integrated Defense Systems
425-965-6502 (office)
-Adam
Long time no hear/see ;)
>We're considering a monitoring system involving Kalman filters. I'm
>thinking of some kind of external process that maintains its own states,
>grabs parameter values from IADS, and then hands back its estimates for
>display in IADS. Is that feasible? If so, can you point me to
>documents or examples to get me started?
Funny that you mentioned it.......That's exactly what we're working on right
now for JSF.
As for the tried and tested route, the Iads client has the ability to add
new functions to the derived parameter engine. There's been some pretty
complex algorithms added to the engine by our customers such as
MassProperties, ProductionAirData, etc. Most of these functions added do
maintain their own internal states, but therein lies a couple of issues. In
normal operation, it is possible for the user to scrollback in time and most
of these functions don't really "appreciate" computing in a random-access
type of environment... but there are techniques to minimize these
situations. Other issues include performance, but so far we haven't ran into
an algorithm that is too complex for the machine to handle in conjunction
with all the other displays/derived functions. I'm sure that won't last
long...
In order to combat these issues, the plan is to give our dervied equations
(including any custom function written) the ability to be run in an external
process that is in two way communication with the Iads CDS data server
(CDS).
If you want to go the conventional C++ route, the first step is to build a
custom function.... The good part is that you can start now, and test the
whole thing very easily in the Iads client... then when we're done you can
transition to the new "external process" by simply changing a setting in the
ParameterDefault table.
You can go to the downloads section of our website
(http://www.symvionics.com/products/IADS/downloads.html) and get the Sample
COM function using Visual C++ 6.0
I guess I should have asked you what language you want to write the
algorithm in first ;)
If you're using Matlab, we actually have a "mex" function called iadsread..
and another called iadswrite. The iadsread function allows you to get data
into Matlab in real-time. The "iadswrite" function is still being perfected,
and should be done within the month... and it will allow you to write data
back to the CDS. The iadsread function is already installed on your machine
along with a "HowTo.m" file that explains it's usage. Check the Matlab
directory in the Iads installation folder. This method really hasn't been
"flame tested" in the control room yet, so there is a little risk involved.
Well anyway, let me know what language you plan to use and we'll go from
there,
Jim
;)
Ya, I forgot... There's a lot of older threads that discuss this topic,
Jim
We talked about this subject (external Process) a little at SFTE...
If the Kalman Filter is important enough to you, maybe they'll let me
put it directly in IADS. It has come up a few times in the past.