Re: Could you recommand a good Real-Time control software?

Lets start with a few basics.

  1. What are you trying to control? Is this a multiple unit operation system with hundreds of valves, transmitters, and a hefty user interface, or perhaps you wish to have one or two small controls?

  1. What are your data storage requirements?

  2. What sort of user interface do you need?

  1. Must it be reconfigurable or is this a one shot deal?

These might sound silly, but they help define the problem a lot better. It could be simpler just to write a small package in some cases.

Hi Guys, > > Would you give some suggestion on the Real-time control software. > I need to build a Real-Time control system, but I am wondering which > Real-time software will be good. > > The program language could be C, C++ or VC++. The platform could be DOS or > Windows. > > Thanks a lot!!! > > Best, > Xun
Reply to
Herman Family
Loading thread data ...

Thank you very much for your help!

Our application is on noise control with sampling frequency of 5000 Hz, it has two anolog inputs and two anolog outputs. We need to control the input & output in real-time.

At present, we used it on DOS system with a desktop. But we want to run it at a Laptop under Windows system using PCMCIA bus Data Acquisization card. We tried real-time windows target toolbox of MatLab. It didn't work well. So we are wondering any better real-time software that we can use it with C,or C++.

Thanks a lot!

Herman Family wrote:

Reply to
xun Yu

Xun Yu,

That is some sampling frequency. I'm not surprised that matlab didn't work well. That is a generalized software which has to worry about all sorts of interesting things, and is not optimized for that high a data gathering rate.

Assuming that each data point is two bytes, you are moving around 10000 bytes per second, or about 80 kbaud, which is faster than a lot of modems, and very rough on software.

I think you have a couple of choices here:

1) look at using a dedicated chip with the control algorithm eprommed into it. Let the chip get the setpoints and give feedback through the pc or laptop. 2) get the data access dll's from the pcmia card manufacturer, and write your own c or c++ code to access the chip directly. Have the control run in the background and the user interface run in foreground.

Your choices are limited because of the high sampling rate. Using the chip could allow you to hit higher speeds, as it would communicate less frequently with the pc.

Michael

Reply to
Herman Family

Walter: I don't understand your last statement here. As a rule of thumb the sample rate should be at least an order of magnitude greater than the bandwidth of the output device. ( Shannon, Nyquest et al) The most important effect of a higher sampling rate is to reduce delays which can kill your phase margin.

As to this application, this is Hard Real Time, and XunYu should look into a dedicated DSP. A trial version of VisSim-embedded can be used to model the application and code can be loaded to a TI DSP such as the F2812 which will support a 400 KHz sample rate. Trial versions of software, and eval boards should get him moving in the right direction.

Just my opinions.. Jeff Lowe

Reply to
Jeff Lowe

Jeff,

I agree that you need to sample faster than the output device. That is why I asked, "What kind of an output device are you driving?" Xun states he is trying to control noise level. He is sampling the noise level. If he is producing a signal to actually attack the noisy waveform, the controller and its output must be working in the same frequency range. But if all he is doing is measuring noise level and using this to adjust an engine throttle, or whatever, then the noise signal must be averaged and is then used to control the engine. In that case the engine will need a controller with a one second scan, no more.

To repeat, What is the application?

Walter.

Reply to
Walter Driedger

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.