19
Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics Faculty of Technology, Postboks 203, Kjølnes ring 56, N-3901 Porsgrunn, Norway. Tel: +47 35 57 50 00 Fax: +47 35 57 54 01 LabVIEW Course Control Systems in LabVIEW HansPetter Halvorsen, 2013.08.16

Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

  • Upload
    vancong

  • View
    235

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

 

Telemark  University  College  Department  of  Electrical  Engineering,  Information  Technology  and  Cybernetics  

Faculty of Technology, Postboks 203, Kjølnes ring 56, N-3901 Porsgrunn, Norway. Tel: +47 35 57 50 00 Fax: +47 35 57 54 01

 

 

 

 

 

 

 

LabVIEW Course Control Systems in LabVIEW

Hans-­‐Petter  Halvorsen,  2013.08.16  

 

 

Page 2: Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

ii  

 

 

Table of Contents Table  of  Contents  ....................................................................................................................................  ii  

1   Introduction  ......................................................................................................................................  3  

2   Control  and  Simulation  in  LabVIEW  ..................................................................................................  4  

2.1   LabVIEW  Control  Design  and  Simulation  Module  .....................................................................  4  

2.1.1   Simulation  ..........................................................................................................................  5  

2.1.2   Control  Design  ...................................................................................................................  5  

2.2   LabVIEW  PID  and  Fuzzy  Logic  Toolkit  ........................................................................................  6  

2.2.1   PID  Control  .........................................................................................................................  6  

2.2.2   Fuzzy  Logic  .........................................................................................................................  7  

2.3   LabVIEW  System  Identification  Toolkit  .....................................................................................  7  

3   PID  Control  in  LabVIEW  ....................................................................................................................  8  

3.1   Introduction  ..............................................................................................................................  8  

3.2   LabVIEW  ....................................................................................................................................  9  

4   Create  a  PI  Controller  from  Scratch  ................................................................................................  12  

5   Lowpass  Filter  .................................................................................................................................  15  

 

Page 3: Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

3  

   

1 Introduction Control  design  is  a  process  that  involves  developing  mathematical  models  that  describe  a  physical  system,  analyzing  the  models  to  learn  about  their  dynamic  characteristics,  and  creating  a  controller  to  achieve  certain  dynamic  characteristics.  

Simulation  is  a  process  that  involves  using  software  to  recreate  and  analyze  the  behavior  of  dynamic  systems.  You  use  the  simulation  process  to  lower  product  development  costs  by  accelerating  product  development.  You  also  use  the  simulation  process  to  provide  insight  into  the  behavior  of  dynamic  systems  you  cannot  replicate  conveniently  in  the  laboratory.  

Below  we  see  a  closed-­‐loop  feedback  control  system:  

 

Page 4: Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

4  

   

2 Control and Simulation in LabVIEW

LabVIEW  has  several  additional  modules  and  Toolkits  for  Control  and  Simulation  purposes,  e.g.,  “LabVIEW  Control  Design  and  Simulation  Module”,  “LabVIEW  PID  and  Fuzzy  Logic  Toolkit”,  “LabVIEW  System  Identification  Toolkit”  and  “LabVIEW  Simulation  Interface  Toolkit”.  LabVIEW  MathScript  is  also  useful  for  Control  Design  and  Simulation.  

• LabVIEW  Control  Design  and  Simulation  Module  • LabVIEW  PID  and  Fuzzy  Logic  Toolkit  • LabVIEW  System  Identification  Toolkit  • LabVIEW  Simulation  Interface  Toolkit  

This  tutorial  will  focus  on  the  main  aspects  in  these  modules  and  toolkits.  

All  VIs  related  to  these  modules  and  toolkits  are  placed  in  the  Control  Design  and  Simulation  Toolkit:  

 

2.1 LabVIEW Control Design and Simulation Module

With  LabVIEW  Control  Design  and  Simulation  Module  you  can  construct  plant  and  control  models  using  transfer  function,  state-­‐space,  or  zero-­‐pole-­‐gain.  Analyze  system  performance  with  tools  such  as  step  response,  pole-­‐zero  maps,  and  Bode  plots.  Simulate  linear,  nonlinear,  and  discrete  systems  with  a  wide  option  of  solvers.  With  the  NI  LabVIEW  Control  Design  and  Simulation  Module,  you  can  

Page 5: Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

5     Control  and  Simulation  in  LabVIEW    

LabVIEW Course: Control Systems in LabVIEW

 

analyze  open-­‐loop  model  behavior,  design  closed-­‐loop  controllers,  simulate  online  and  offline  systems,  and  conduct  physical  implementations.    

2.1.1 Simulation

The  Simulation  palette  in  LabVIEW:  

 

The  main  features  in  the  Simulation  palette  are:  

• Control  and  Simulation  Loop  -­‐  You  must  place  all  Simulation  functions  within  a  Control  &  Simulation  Loop  or  in  a  simulation  subsystem.  

• Continuous  Linear  Systems  Functions  -­‐  Use  the  Continuous  Linear  Systems  functions  to  represent  continuous  linear  systems  of  differential  equations  on  the  simulation  diagram.  

• Signal  Arithmetic  Functions  -­‐  Use  the  Signal  Arithmetic  functions  to  perform  basic  arithmetic  operations  on  signals  in  a  simulation  system.  

2.1.2 Control Design

The  Control  Design  palette  in  LabVIEW:  

Page 6: Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

6     Control  and  Simulation  in  LabVIEW    

LabVIEW Course: Control Systems in LabVIEW

 

 

2.2 LabVIEW PID and Fuzzy Logic Toolkit

The  NI  LabVIEW  PID  and  Fuzzy  Logic  Toolkit  add  control  algorithms  to  LabVIEW.  By  combining  the  PID  and  fuzzy  logic  control  functions  in  this  toolkit  with  the  math  and  logic  functions  in  LabVIEW  software,  you  can  quickly  develop  programs  for  automated  control.  You  may  integrate  these  control  tools  with  the  power  of  data  acquisition.  

2.2.1 PID Control

The  PID  palette  in  LabVIEW:  

 

Page 7: Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

7     Control  and  Simulation  in  LabVIEW    

LabVIEW Course: Control Systems in LabVIEW

 

2.2.2 Fuzzy Logic

The  Fuzzy  Logic  palette  in  LabVIEW:  

 

2.3 LabVIEW System Identification Toolkit

The  “LabVIEW  System  Identification  Toolkit”  combines  data  acquisition  tools  with  system  identification  algorithms  for  plant  modeling.  You  can  use  the  LabVIEW  System  Identification  Toolkit  to  find  empirical  models  from  real  plant  stimulus-­‐response  information.  

The  System  Identification  palette  in  LabVIEW:  

 

 

 

Page 8: Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

8  

   

3 PID Control in LabVIEW

3.1 Introduction

Currently,  the  Proportional-­‐Integral-­‐Derivative  (PID)  algorithm  is  the  most  common  control  algorithm  used  in  industry.  Often,  people  use  PID  to  control  processes  that  include  heating  and  cooling  systems,  fluid  level  monitoring,  flow  control,  and  pressure  control.  In  PID  control,  you  must  specify  a  process  variable  and  a  setpoint.  The  process  variable  is  the  system  parameter  you  want  to  control,  such  as  temperature,  pressure,  or  flow  rate,  and  the  setpoint  is  the  desired  value  for  the  parameter  you  are  controlling.  A  PID  controller  determines  a  controller  output  value,  such  as  the  heater  power  or  valve  position.  The  controller  applies  the  controller  output  value  to  the  system,  which  in  turn  drives  the  process  variable  toward  the  setpoint  value.  

 

The  PID  controller  compares  the  setpoint  (SP)  to  the  process  variable  (PV)  to  obtain  the  error  (e).  

 

Then  the  PID  controller  calculates  the  controller  action,  u(t),  where  Kc  is  controller  gain.  

 

Ti  is  the  integral  time  in  minutes,  also  called  the  reset  time,  and  Td  is  the  derivative  time  in  minutes,  also  called  the  rate  time.    

The  following  formula  represents  the  proportional  action.  

 

The  following  formula  represents  the  integral  action.  

Page 9: Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

9     PID  Control  in  LabVIEW    

LabVIEW Course: Control Systems in LabVIEW

 

 

The  following  formula  represents  the  derivative  action.  

 

3.2 LabVIEW

In  the  “PID”  Sub  palette  we  have  the  functions/SubVIs  for  PID  Control.  I  recommend  that  you  use  the  “PID  Advanced.vi”.  

 

Below  we  see  how  we  can  use  the  PID  Advanvanced.vi  in  order  to  control  a  simulated  Model.  

 

Page 10: Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

10     PID  Control  in  LabVIEW    

LabVIEW Course: Control Systems in LabVIEW

 

You  can  use  the  example  “General  PID  Simulator.vi”  as  a  base  for  your  simulation.  Use  the  “NI  Example  Finder”  (Help  →  Find  Examples…  in  the  LabVIEW  menu)  in  order  to  find  the  VI  in  LabVIEW.  

 

Run  the  example  and  see  how  it  is  implemented  and  how  it  works.    

Replace  the  function  “PID.vi”  with  the  more  advanced  function  “PID  Advance.vi”  instead.  

Note!  Make  sure  to  save  it  with  another  name!  

You  find  all  the  PID  functions  in  the  PID  palette:  

 

Change   𝑇!   and   𝑇!   so  the  unit  is  seconds  instead  of  minutes  on  your  Front  Panel  (User  Interface).  

The  functions  “PID.vi”  and  “PID  Advanced.vi”  requires  that   𝑇!   and   𝑇!   is  in  minutes,  while  it’s  normal  to  use  seconds  as  the  unit  for  these  parameters.  You  can  use  the  following  piece  of  code  in  order  to  transform  them:  

Page 11: Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

11     PID  Control  in  LabVIEW    

LabVIEW Course: Control Systems in LabVIEW

 

 

 

Run  simulations  and  find  proper  values  for   𝐾!   𝑇!   and   𝑇!.    

 

Page 12: Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

12  

 

4 Create a PI Controller from Scratch

A  PI  controller  may  be  written:  

𝒖 𝒕 = 𝒖𝟎 + 𝑲𝒑𝒆 𝒕 +𝑲𝒑

𝑻𝒊𝒆𝒅𝝉𝒕

𝟎  

Where   𝑢   is  the  controller  output  and   𝑒  is  the  control  error:  

𝑒 𝑡 = 𝑟 𝑡 − 𝑦(𝑡)  

Laplace  version:  

𝑢 𝑠 = 𝐾!𝑒 𝑠 +𝐾!𝑇!𝑠

𝑒 𝑠  

Discrete  version:  

We  start  with:  

𝑢 𝑡 = 𝑢! + 𝐾!𝑒 𝑡 +𝐾!𝑇!

𝑒𝑑𝜏!

!  

In  order  to  make  a  discrete  version  using,  e.g.,  Euler,  we  can  derive  both  sides  of  the  equation:  

𝑢 = 𝑢! + 𝐾!𝑒 +𝐾!𝑇!𝑒  

If  we  use  Euler  Forward  we  get:  

𝑢! − 𝑢!!!𝑇!

=𝑢!,! − 𝑢!,!!!

𝑇!+ 𝐾!

𝑒! − 𝑒!!!𝑇!

+𝐾!𝑇!𝑒!  

Then  we  get:  

𝒖𝒌 = 𝒖𝒌!𝟏 + 𝒖𝟎,𝒌 − 𝒖𝟎,𝒌!𝟏 + 𝑲𝒑 𝒆𝒌 − 𝒆𝒌!𝟏 +𝑲𝒑

𝑻𝒊𝑻𝒔𝒆𝒌  

Where  

Page 13: Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

13     Create  a  PI  Controller  from  Scratch    

LabVIEW Course: Control Systems in LabVIEW

 

𝑒! = 𝑟! − 𝑦!  

We  can  also  split  the  equation  above  in  2  different  pars  by  setting:  

∆𝑢! = 𝑢! − 𝑢!!!  

This  gives  the  following  PI  control  algorithm:  

𝒆𝒌 = 𝒓𝒌 − 𝒚𝒌  

∆𝒖𝒌 = 𝒖𝟎,𝒌 − 𝒖𝟎,𝒌!𝟏 + 𝑲𝒑 𝒆𝒌 − 𝒆𝒌!𝟏 +𝑲𝒑

𝑻𝒊𝑻𝒔𝒆𝒌  

𝒖𝒌 = 𝒖𝒌!𝟏 + ∆𝒖𝒌  

This  algorithm  can  easily  be  implemented  in  LabVIEW.    

Below  we  have  implemented  the  discrete  PI  controller  using  a  Formula  Node  in  LabVIEW:  

 

The  PI  controller  is  implemented  as  a  SubVI,  so  it  is  easy  to  reuse  the  algorithm  in  all  our  applications.  

Page 14: Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

14     Create  a  PI  Controller  from  Scratch    

LabVIEW Course: Control Systems in LabVIEW

 

We  test  our  discrete  PI  controller  with  the  following  application:  

 

We  will  use  the  example  “General  PID  Simulator.vi”  as  a  base  for  your  simulation.  Use  the  “NI  Example  Finder”  (Help  →  Find  Examples…  in  the  LabVIEW  menu)  in  order  to  find  the  VI  in  LabVIEW.  

We  replace  the  built-­‐in  PID  controller  with  our  own  PI  controller,  see  Block  Diagram:  

 

 

Page 15: Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

15  

 

5 Lowpass Filter LabVIEW  have  several  built-­‐in  lowpass  filters.  Here  we  wil  create  our  own  lowpass  filter.  

The  transfer  function  for  a  first-­‐order  low-­‐pass  filter  may  be  written:  

𝑯 𝒔 =𝒚(𝒔)𝒖(𝒔)

=𝟏

𝑻𝒇𝒔 + 𝟏  

Where   𝑇!   is  the  time-­‐constant  of  the  filter,   𝑢(𝑠)   is  the  filter  input  and   𝑦 𝑠   is  the  filter  output.  

There  exists  lots  of  different  discretization  methods  like  the  “Zero  Order  Hold”  (ZOH)  method,  Tustin’s  method  and  Euler’s  methods  (Forward  and  Backward).  We  will  focus  on  Eulers  methods  in  this  document,  because  they  are  very  easy  to  use.  

Euler  Forward  discretization  method:  

𝒙 ≈𝒙𝒌!𝟏 − 𝒙𝒌

𝑻𝒔  

Euler  Backward  discretization  method:  

𝒙 ≈𝒙𝒌 − 𝒙𝒌!𝟏

𝑻𝒔  

𝑇!   is  the  Sampling  Time.  

Discrete  version:  

Given:  

𝐻 𝑠 =𝑦(𝑠)𝑢(𝑠)

=1

𝑇!𝑠 + 1  

This  gives:  

𝑇!𝑠 + 1 𝑦 = 𝑢  

𝑇!𝑠𝑦 + 𝑦 = 𝑢  

Inverse  Laplace  gives:  

𝑇!𝑦 + 𝑦 = 𝑢  

We  use  the  Euler  Backward  discretization  method,   𝑥 ≈ !!!!!!!!!

,  which  gives:  

Page 16: Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

16     Lowpass  Filter    

LabVIEW Course: Control Systems in LabVIEW

 

𝑇!𝑦! − 𝑦!!!

𝑇!+ 𝑦! = 𝑢!  

Then  we  get:  

𝑇! 𝑦! − 𝑦!!! + 𝑦!𝑇! = 𝑢!𝑇!  

𝑇!𝑦! − 𝑇!𝑦!!! + 𝑦!𝑇! = 𝑢!𝑇!  

𝑦!(𝑇! + 𝑇!) =    𝑇!𝑦!!! + 𝑢!𝑇!  

This  gives:  

𝑦! =𝑇!

𝑇! + 𝑇!𝑦!!! +

𝑇!𝑇! + 𝑇!

𝑢!  

For  simplicity  we  set:  

𝑇!𝑇! + 𝑇!

≡ 𝑎  

This  gives:  

𝒚𝒌 = (𝟏 − 𝒂)𝒚𝒌!𝟏 + 𝒂𝒖𝒌  

𝒂 =𝑻𝒔

𝑻𝒇 + 𝑻𝒔  

Where   𝑇!   is  the  Sampling  Time.  

It  is  a  golden  rule  that   𝑇! ≪ 𝑇!   and  in  practice  we  should  use  the  following  rule:  

𝑇! ≤𝑇!5  

We  will  implement  the  discrete  low-­‐pass  filter  algorithm  above  using  a  Formula  Node  in  LabVIEW:  

The  Block  Diagram  becomes:  

Page 17: Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

17     Lowpass  Filter    

LabVIEW Course: Control Systems in LabVIEW

 

 

The  Front  Panel:  

 

It  is  a  good  idea  to  build  this  as  a  SubVIs,  and  then  we  can  easily  reuse  the  Low-­‐pass  filter  in  all  our  applications.  

We  will  test  the  discrete  low-­‐pass  filter,  to  make  sure  it  works  as  expected:  

We  create  a  simple  test  application  where  we  add  some  random  white  noise  to  a  sine  signal.  We  will  plot  the  unfiltered  and  the  filtered  signal  to  see  if  the  low-­‐pass  filter  is  able  to  remove  the  noise  from  the  sine  signal.  

Page 18: Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

18     Lowpass  Filter    

LabVIEW Course: Control Systems in LabVIEW

 

 

We  get  the  following  results:  

 

We  see  that  the  filter  works  fine.  The  red  line  is  the  unfiltered  sine  signal  with  white  noise,  while  the  red  line  is  the  filtered  results.  

Page 19: Control Systems in LabVIEW - Telemark University Collegehome.hit.no/~hansha/documents/labview/course/control... ·  · 2013-08-16Microsoft Word - Control Systems in LabVIEW.docx

 

 

 

 

 

 

 

Telemark  University  College  

Faculty  of  Technology  

Kjølnes  Ring  56  

N-­‐3918     Porsgrunn,  Norway  

www.hit.no  

 

 

Hans-­‐Petter  Halvorsen,  M.Sc.  

Telemark  University  College  

Faculty  of  Technology  

Department  of  Electrical  Engineering,  Information  Technology  and  Cybernetics  

 

E-­‐mail:  [email protected]  

Blog:  http://home.hit.no/~hansha/