LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

PID output is slow ,so setpoint is reaching latr

Hi all ,

 

I am  using LabVIEW 2019  Compact Rio  scan engine mode Analog output NI 9263 Analog input AI NI 9224

 

catchvsystemssifycom_0-1725686449953.png

My brake application uses Pneumatic  SMC Valve 0-10 V 0- 10 Bar  is analog Output .Force read as 0-250 kg 0-10 V, .This force is setpoint.. SMC valve is getting PID output .

 

My Block diagram 

 

catchvsystemssifycom_1-1725687666606.png

 

The Out put Graph is as follows 

catchvsystemssifycom_2-1725688203518.png

 

It takes little more time to reach ,But my application needed fast .Now it is teaching 500 milliseconds to 1 second. But My application required within of 50 or 100 Millisecond.

 

 

Here is the graph which shows what i am lagging and Wish to achieve .The set point Not even reached my Zero speed. I started

applying the force (PID loop) at the one set speed .The required value is not achieved unto zero speed  

 

catchvsystemssifycom_4-1725689354978.png

 

Even i give direct voltage also , I am not able to achieve .I am making some mistake somewhere ,Can anyone help me in this matter. 

 

 

 

 

 

0 Kudos
Message 1 of 9
(380 Views)

What is you Scan time for the Scan Engine ?

0 Kudos
Message 2 of 9
(330 Views)

Data accusation loop scanning time 

 

catchvsystemssifycom_0-1725720029815.png

 

catchvsystemssifycom_1-1725720101321.png

 

 

pid loop 

 

catchvsystemssifycom_2-1725720149253.png

 

 

catchvsystemssifycom_3-1725720174600.png

 

Thanks for your interest shown

0 Kudos
Message 3 of 9
(323 Views)

No, it is the scan time for the Scan engine that you need to look at. 

The Timed while loop loop time does not dictate how fast the analog input are sampled. That is the Scan Engine that do that. 

0 Kudos
Message 4 of 9
(304 Views)

catchvsystemssifycom_1-1725731429263.png

 

Is it you want?

 

0 Kudos
Message 5 of 9
(296 Views)

The Actual problem for my issue is The signal conditioner of the force load cell .There is a delay(;ag) in the data update. 

 

Now signal conditioner is changed and working fine with open loop direct voltage and PID too

 

1.Open loop voltage is decided by the following calculation , result out put graph and PID block diagram  are as follows  . 

 

catchvsystemssifycom_0-1725932777510.png

 

 

catchvsystemssifycom_5-1725933623959.png

 

 

 

catchvsystemssifycom_1-1725932841317.png

2.PID Block diagram and final result as follows

 

catchvsystemssifycom_4-1725933524223.png

 

 

catchvsystemssifycom_2-1725933181375.png

 

 

 

 

Now  customer want ramp rate for the force, How to achieve this. Kindly give some idea for Ramp for example ( 200 kg per second , 100 Kg per second  etc.)

 

 

 

0 Kudos
Message 6 of 9
(241 Views)

Hi catch,

 


catchvsystems@sify.com wrote:

Now  customer want ramp rate for the force, How to achieve this. Kindly give some idea for Ramp for example ( 200 kg per second , 100 Kg per second  etc.)


One comment: why do you set a dt of 10ms at the PID function while you set a iteration rate of 1ms at the TimedWhileLoop?

 

On your new question: you can use a rate delimiter after the PID output. LabVIEW comes with a PIDOutputRateLimiter function…

 

(Btw. "kg" is not a unit of force.)

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 7 of 9
(233 Views)

Make sure your dt(s) input matches the loop speed

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 8 of 9
(224 Views)

Thanks , i will  change DT time and look into the  PIDOutputRateLimiter  .

0 Kudos
Message 9 of 9
(209 Views)