@@ -13,12 +13,12 @@ using Base.Test
1313 a = Var (size= ())
1414 b = Var (size= ())
1515 c = Var (start= 0.0 )
16- obs= Float (start= 0.0 )
16+ obs= Float (start= 0.0 )
1717@equations begin
1818 a = Clock (0.1 )
1919 b = sample (time, a)
2020 c = previous (c, a) + 0.5
21- der (obs) = 1000000 * (c- obs)
21+ der (obs) = 1000000 * (c- obs)
2222 end
2323end
2424
4848 vref = 100 # Speed ref.
4949 vd= Float (start= 0.0 )
5050 u= Float (start= 0.0 )
51- fobs= Float (start= 0.0 )
51+ fobs= Float (start= 0.0 )
5252@equations begin
5353 # speed sensor
5454 vd = sample (v, Clock (0.1 ))
5858
5959 # force actuator
6060 f = hold (u)
61- der (fobs) = 1000000 * (f- fobs)
61+ der (fobs) = 1000000 * (f- fobs)
6262 end
6363end
6464
@@ -70,27 +70,27 @@ plot(result, ("v", "fobs"), figure=1, heading="SpeedControl", figure=15)
7070 @extends MassWithSpringDamper (k= 0 )
7171 @inherits v, f
7272 K = 2 # Gain of speed P controller
73- Ti = 2 # Integral time
73+ Ti = 2 # Integral time
7474 vref = 100 # Speed reference
7575 dt= 0.1 # sampling interval
7676 vd= Float ()
7777 u= Float (start= 0 )
78- e= Float ()
79- intE= Float (start= 0 )
80-
81- fobs= Float (start= 0.0 )
78+ e= Float ()
79+ intE= Float (start= 0 )
80+
81+ fobs= Float (start= 0.0 )
8282@equations begin
8383 # speed sensor
8484 vd = sample (v, Clock (dt))
8585
8686 # PI controller for speed
87- e = vref- vd
88- intE = previous (intE, Clock (dt)) + e
87+ e = vref- vd
88+ intE = previous (intE, Clock (dt)) + e
8989 u = K* (e + intE/ Ti)
9090
9191 # force actuator
9292 f = hold (u)
93- der (fobs) = 1000000 * (f- fobs)
93+ der (fobs) = 1000000 * (f- fobs)
9494 end
9595end
9696
@@ -113,7 +113,7 @@ plot(result, ("v", "fobs"), figure=1, heading="SpeedControlPI", figure=16)
113113 vd= Float (size= ())
114114 vref= Float (size= ())
115115 uInner= Float (start= 0.0 )
116- fobs= Float (start= 1990 )
116+ fobs= Float (start= 1990 )
117117@equations begin
118118 # position sensor
119119 xd = sample (x, Clock (0.02 ))
@@ -128,7 +128,7 @@ plot(result, ("v", "fobs"), figure=1, heading="SpeedControlPI", figure=16)
128128 uInner = KInner* (vref- vd)
129129 # force actuator
130130 f = hold (uInner)
131- der (fobs) = 100000 * (f- fobs)
131+ der (fobs) = 100000 * (f- fobs)
132132 end
133133end
134134
@@ -139,36 +139,36 @@ end
139139@model DiscretePIController begin
140140 K= 0.1 # Gain
141141 Ti= 1E10 # Integral time
142- dt= 1.0 # sampling interval
142+ dt= 1.0 # sampling interval
143143 ref= 1 # set point
144- u= Float (); ud= Float (size= ())
145- y= Float (); yd= Float (size= ())
144+ u= Float (); ud= Float (size= ())
145+ y= Float (); yd= Float (size= ())
146146 e= Float (size= ())
147147 intE= Float (start= 0 )
148148
149- fobs= Float (start= 0 )
149+ fobs= Float (start= 0 )
150150@equations begin
151151 # sensor
152152 ud = sample (u, Clock (dt))
153- # PI controller
153+ # PI controller
154154 e = ref- ud
155155 intE = previous (intE, Clock (dt)) + e
156156 yd = K* (e + intE/ Ti)
157157 # actuator
158158 y = hold (yd)
159-
160- der (fobs) = 100000 * (y- fobs)
159+
160+ der (fobs) = 100000 * (y- fobs)
161161 end
162162end
163163
164164
165165@model SpeedControl2 begin
166166 m= MassWithSpringDamper (d= 0.5 , k= 0 )
167- c= DiscretePIController (K= 2 , dt= 0.1 )
167+ c= DiscretePIController (K= 2 , dt= 0.1 )
168168@equations begin
169169 connect (m. v, c. u)
170- connect (c. y, m. f)
171- end
170+ connect (c. y, m. f)
171+ end
172172end
173173
174174# result = simulate(SpeedControl2, 5.0, storeEliminated=false, logSimulation=true)
@@ -177,12 +177,12 @@ end
177177
178178@model SpeedControl3 begin
179179 m= MassWithSpringDamper (d= 0.5 , k= 0 )
180- @extends DiscretePIController (K= 2 , dt= 0.1 )
181- @inherits u, y, dt, e, intE
180+ @extends DiscretePIController (K= 2 , dt= 0.1 )
181+ @inherits u, y, dt, e, intE
182182@equations begin
183183 u = m. v
184- m. f = y
185- end
184+ m. f = y
185+ end
186186end
187187
188188# result = simulate(SpeedControl3, 5.0, storeEliminated=false, logSimulation=true)
0 commit comments