Problem to control a concrete spreader (beckhoff)

tevious

Member
Join Date
Feb 2015
Location
Balingen
Posts
22
Hello,

I work for a manufacturer in the precast concrete industry. I had to control the system shown in the video:
https://youtu.be/871kg4CSfgA?t=47s

I did that from ground (including CAD processing from production data to spreading plan, already few thousands codelines...) using a IPC/PLC with windows7 CE inside.

I have a problem of accuracy, because my sensors are very slow.
The position od the trolley is measured with laser telemeter and the concrete weight in the container by a weighing scale. The both have a sampling time of 15 ms. I need to derivate the position and the weight to compute the speed and the concrete flow. As the signals have some noises, using a filter I can't have good signals below 200 ms... Which gives a 5 Hz control, not good.

I thought to use a PID controler for the both actuators (the trolley uses direct electriic motor through inverters and the concrete flow uses a feed screw in the container, with inverter too), but seeing this sampling time, I gave up.
The current control law is as follow:

My spreading gives me a kg to spread per mm-linear (kgmmFactor), so using this element and the Flow I measure, I set the speed:
TargetSpeed= Flow / kgmmFactor

The feedingscrew uses a easier law, 100% - TrolleySpeed. When trolley drives at end speed the feedscrew goes slow and when trolley drives slow the feedscrew runs with high speed.

The problem is when the concrete spreader starts above a slab, there is always a lag and the first seconds give a little mound at the start position, while running always is fine...

Do you have an idea to make this process better?
I think I'm stuck with the sensors speed but I can't go faster.

Thanks!
 
5 Hz is fine for this type, as the lag is around 1 second or so.
you will need a prestart feedscrew (or simpler a delay before the trolley starts.
after start set it to a value instead of a value coming from feeder. same when there is a gap in the slab.
 
Isn't the amount of concrete poured in direct relation to the feed screw speed? In that case the weight of the container is only of interest to determine when it's time to refill.

Also since the trolley speed is controlled by the inverter it will have whatever speed you want it to and you don't have to use the laser sensor for that.

I would not regulate anything in an application like this. I would control inverter ramp up and ramp down from the PLC as well as the feed screw. So inverter ramp up/down time would be 0 in the drive and the PLC would do the actual ramping.

I would also set the inverter to vector control so the speed is always the same regardless of the load on the motor. That way the speed you decide from the PLC is always going to be the exact speed the drive is going at.


You have to do some tests to determine how long it takes for the concrete to start flowing when you start the feed screw and how much after you stop it will keep on going.

I think your problem with a mound at the start is simply because of how you control it. If you would do as I suggest and ramp up the speed of the trolley and the feed screw in unison and you will get rid of that problem.

So use the laser sensor to determine where you are but not how fast you are going. Use the weight to determine when you need to fill up and how full you are but not how fast you are pouring out the concrete.

Calculate speed and make sure you measure/determine rpm to mm/sec for the trolley drive and rpm versus litre/min (flow) of concrete.
 
Last edited:
Hello,

Thanks a lot for your answers! I had fear with the 5 Hz, it's the first time I work with such a system and in the past I made robots with chip and used somethling like 100 Hz...

Actually, your solution Pete is something like I used. It's not over and the next week I must once again going to the site to "close" this project with this refinement...

I testes some strategies:
For the trolley speed, that's completely correct, I measured 1 time the trolley speed with the inverter at 100% and I direct give the order using a cross-product without controler, it works fine!

For the feed screw I do the same, I can only measure the weight so I've no controler but inverter works good.

What I did was to direct control the trolley with the inverter, and used the laser to know where I'm. You can have many slabs on the table, and I need to stop or brake between them. Using the position from the laser I made a ramp to stop properly (max speed is 650 mm/s, I stop in 30-50 cm with my ramp).

Now, I'll have to play with the offsets before stopping after starting to set when should I open the shutters and when to close.

I still use the weight measurement with my trolley "control law". The problem is that that the concrete mixing station is not stable at all, I can't simply set by experience with a complete open-loop the moves, I need to stay with this little control law.
In the past a big problem was I didn't use the sample sampling time (ie measurement + filter) for the speed and the flow (first was 200 ms, second 1s), which gave at the start in transitory mode this mount problem. I set the both at 200 ms (I still have some noises in the signals because I use 13-14 samples for filtering, but it's not so bad)and it works better.

I tried to start the pour from the start position without moving the trolley for 0,5 s, I got a big mount (it was with the bad sampling time). I tried to pour with a premove done (driving to the start position and driving with pouring) I got the same problem farther. I tried to use a force mode:
force the trolley and feedscrew speed from the start position for a short time (1-2 s), it works fine when the concrete is good and the parameters well defined, but when I switch to the "controled" mode there's always a "jump" in the process and which cause a little mount (farther on the slab).

I think the solutions are good, but the problem with the 2 sampling times caused troubles for some days, now I found that I need to refine my process by setting different parameters and test till it works...

I've some videos, I gonna post it later today if it could show what happend.

Thanks a lot!
 
There are a couple of other things that you may want to look into as well.

1) If the inverter is using vector control it is actually using a PID controller and you can get over and undershoot when you use it for motion control. I don't know what brand you use but most of them have PC software that you can use to monitor and record to see how it acts to speed changes.

2) I understand that open loop control isn't always working. But there is another way to do it that might work better.

In closed loop you have the problem of filtering the in signals. In open loop you have the problem of not having any feedback. You could combine these methods so that you are running open loop for situations where you know things are unstable (start and stops for instance) and running closed loop with high filter settings when things are stable (for instance when pouring out concrete).

Often you can make a much better control when you know the actual process and compared to an "process-unaware" off-the-shelf PID solution.

For instance you can make a model of how much concrete you are pouring out depending on the speed of the screw. Then you use the weight with high filter settings under stable conditions to fine tune your model.

This is similar to a feed-forward control system. https://en.wikipedia.org/wiki/Feed_forward_(control)
 
Last edited:
Hello,

Thanks a lot for your reply.
Actually I checked my code and saw that during the first test-campain I used all these strategies with different mix (I tested many strategies and select/delect some of them).
As I said on my first post I had a "lag" problem because the sample time for the speed was not the same than for the flow.
I used a 1 s force mode (open loop so) to start a slab without mount and with good parameters tuning it was fine. The problem came when I switched from open-loop to controled mode in a transit mode for 1-3 s, mainly because the flow measurement was so slow.

It was better when I set the both sample time with 200ms, but we didn't have so much time to tune the system...

I'm going on site next week for a new week, I think the question will must be about tuning than control strategy.
By the way, you gave me a complete feedback which gives me a head to follow and with that I can focus on what is important and won't be puzzled. So, thanks a lot.

When everything will running I'll do a video to show the result.
 

Similar Topics

Hello Dear users, I am writing about a problem that has been bothering me for a few days, i.e. I am trying to establish remote access to the Allen...
Replies
0
Views
71
Hi everyone, I'm trying to simulate any program in control expert and see a register in Modscan32 or any software to do that (Like ModbusPoll). I...
Replies
0
Views
88
Does anyone know of a good person/company that could troubleshoot an electrical problem in a control panel in South Carolina - tomorrow? If...
Replies
9
Views
2,192
Hi everyone, I'm trying to perform a serial download with a Total Control Quickpanel jr (QPK-2xxxx) using an old computer running QuickDesigner...
Replies
3
Views
1,661
Hello, I have connected ethernet cable with my laptop and the s120 control unit. setup my laptop ip 169.254.11.1 and subnet mast 255.255.0.0 ...
Replies
20
Views
5,510
Back
Top Bottom