home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / MATH / VISSIM.ZIP / CONTROL.VSM < prev    next >
Text File  |  1994-03-05  |  7KB  |  339 lines

  1. ; VisSim Block Diagram Format (VBDF)
  2. ; Copyright (C) 1989-1994 Visual Solutions
  3. PV=1.500
  4. PS=0
  5. PE=0.3
  6. PP=0.0005
  7. PI=172
  8. PX=0.0005
  9. PN=1e-006
  10. PL=5
  11. PT=1e-005
  12. Pn=-9,6,16,"Times New Roman"
  13. Pc=115
  14. Po=10,50,664
  15. PD=800x600
  16. Pf=0x0
  17. Pr=""
  18. Ps=1568,0,0,1088,0,0
  19. Pd=17
  20. PM=1,1,1,1
  21. N.1="summingJunction"*12x23
  22. N.2="step"(0.02,1)*1x34
  23. N.3="gain"(0.5)*83x30<M>
  24. N.4="gain"(50)*75x30<M>
  25. N.5="summingJunction"*12x24<M>
  26. N.6="integrator"(0,1)*68x32<M>
  27. N.7="Compound"*32x30#1,1<MC>
  28. n="Leadlag"
  29. Ms=608,0,0,503,0,0
  30. N.8="Compound"*53x31#1,1<MC>
  31. n="Real Pole"
  32. Ms=643,0,0,505,0,0
  33. N.9="plot"*61x3*68x52
  34. pt="Plant Controller"
  35. px="Time (sec)"
  36. pax=0
  37. pf=F
  38. pb=2,-1
  39. pbx=0.3,0
  40. pbY=1,1e-008
  41. pbX=500,0
  42. pc=512
  43. pm=10
  44. pb.0=0,0
  45. pb.1=2,0
  46. pL.1="Plant output"
  47. pb.2=2,0
  48. pL.2="Reference Input"
  49. pb.3=2,-1
  50. pL.3="Error"
  51. N.10="*"*82x30<M>
  52. N.11="summingJunction"*100x26<M>
  53. N.12="*"*11x38<MR>
  54. N.13="Compound"*25x24#1,1<C>
  55. n="Controller"
  56. Ms=541,0,0,400,0,0
  57. N.14="Compound"*43x24#1,1<C>
  58. n="Plant"
  59. Ms=516,0,0,268,0,0
  60. N.15="Compound"*28x32#1,1<CR>
  61. n="Measurement"
  62. Ms=438,0,0,261,0,0
  63. N.16="comment"*4x4*111x21<M>
  64. C="This diagram displays VisSim's optimization capability.
  65.  
  66. This is a model of a 2nd order plant with a 1st order controller. The input to the system is a  step function with a delay of .02 seconds.
  67.  
  68. Use Simulate, Go.. to look at the normal run of the simulation.
  69.  
  70.  Optimization setup  in VisSim requires parametrUnknown and cost blocks. The objective function is generated by the user. 
  71. For this daigram, the parameterUnknown blocks are inside the controller for this diagram. Use the Simulate/Optimization Setup to optimze the gains to get a faster  response and mimize overshoot.
  72.  
  73. Deselect the \"Perform Optimization \" option in Optimization setup to run the simulation without optimization."
  74. N.17="variable"*32x56<M>
  75. n="a1"
  76. N.18="variable"*80x56<M>
  77. n="a0"
  78. N.19="variable"*32x60<M>
  79. n="b1"
  80. N.20="variable"*80x60<M>
  81. n="b0"
  82. N.21="const"(200)*47x60<M>
  83. N.22="const"(200)*47x56<M>
  84. N.23="const"(4)*5x56<M>
  85. N.24="const"(1)*5x60<M>
  86. N.25="/"*44x25<M>
  87. N.26="variable"*35x28<M>
  88. n="b1"
  89. N.27="variable"*68x30<M>
  90. n="a0"
  91. N.28="*"*82x24<M>
  92. N.29="variable"*69x24<M>
  93. n="a1"
  94. N.30="variable"*20x40<MR>
  95. n="b0"
  96. N.31="wireLabel"*35x51<M>
  97. n="(4s + 200)/( s + 200)"
  98. N.32="wireLabel"*50x0<M>
  99. n="1st order transfer function"
  100. N.33="summingJunction"*11x17#3,1<M>
  101. N.34="integrator"(0,3)*80x35<M>
  102. N.35="*"*93x32<M>
  103. N.36="summingJunction"*108x30#3,1<M>
  104. N.37="*"*8x38<MR>
  105. N.38="variable"*38x55<M>
  106. n=":a1"
  107. N.39="variable"*56x55<M>
  108. n=":a0"
  109. N.40="variable"*38x58<M>
  110. n=":b1"
  111. N.41="variable"*56x58<M>
  112. n=":b0"
  113. N.42="const"(1)*50x58<M>
  114. N.43="const"(1)*50x55<M>
  115. N.44="const"(0)*30x55<M>
  116. N.45="const"(0.2)*30x58<M>
  117. N.46="/"*40x20<M>
  118. N.47="variable"*27x22<M>
  119. n=":b2"
  120. N.48="variable"*80x32<M>
  121. n=":a0"
  122. N.49="*"*95x18<M>
  123. N.50="variable"*78x18<M>
  124. n=":a2"
  125. N.51="variable"*22x41<MR>
  126. n=":b0"
  127. N.52="wireLabel"*25x50<M>
  128. n="1 / ( .0114285s^2 + .2s + 1)"
  129. N.53="wireLabel"*51x0<M>
  130. n="2nd order transfer function"
  131. N.54="integrator"(0,2)*62x27<M>
  132. N.55="variable"*20x55<M>
  133. n=":a2"
  134. N.56="variable"*20x58<M>
  135. n=":b2"
  136. N.57="const"(0.0114285)*5x58<M>
  137. N.58="const"(0)*5x55<M>
  138. N.59="*"*41x30<MR>
  139. N.60="variable"*51x33<MR>
  140. n=":b1"
  141. N.61="*"*92x25<M>
  142. N.62="variable"*78x25<M>
  143. n=":a1"
  144. N.63="gain"(1)*58x20<M>
  145. N.64="Compound"*22x30#1,1<MC>
  146. n="2nd order xfer func"
  147. Ms=1600,0,0,1120,0,0
  148. N.65="summingJunction"*27x30<M>
  149. N.66="integrator"(0,0)*62x32<M>
  150. N.67="*"*77x30<M>
  151. N.68="summingJunction"*103x30<M>
  152. N.69="*"*41x38<MR>
  153. N.70="variable"*25x56<M>
  154. n=":a1"
  155. N.71="variable"*50x56<M>
  156. n=":a0"
  157. N.72="variable"*25x61<M>
  158. n=":b1"
  159. N.73="variable"*50x61<M>
  160. n=":b0"
  161. N.74="const"(1)*38x61<M>
  162. N.75="const"(1)*38x56<M>
  163. N.76="const"(0)*15x56<M>
  164. N.77="const"(0.002)*15x61<M>
  165. N.78="/"*47x31<M>
  166. N.79="variable"*37x33<M>
  167. n=":b1"
  168. N.80="variable"*62x30<M>
  169. n=":a0"
  170. N.81="*"*62x25<M>
  171. N.82="variable"*47x25<M>
  172. n=":a1"
  173. N.83="variable"*52x40<MR>
  174. n=":b0"
  175. N.84="wireLabel"*28x53<M>
  176. n="1 / ( .002s + 1)"
  177. N.85="wireLabel"*41x0<M>
  178. n="1st order transfer function"
  179. N.86="integrator"(0,4)*100x32<M>
  180. N.87="*"*90x30#3,1<M>
  181. N.88="variable"*1x52
  182. n="a1"
  183. N.89="variable"*1x56
  184. n="a0"
  185. N.90="variable"*1x54
  186. n="b1"
  187. N.91="variable"*1x58
  188. n="b0"
  189. N.92="display"(4)*12x52
  190. N.93="display"(1)*12x54
  191. N.94="display"(200)*12x56
  192. N.95="display"(200)*12x58
  193. N.96="limit"(-10,10)*35x30<M>
  194. N.97="display"(0.70130588409593)*44x13
  195. N.98="merge"*46x40<M>
  196. N.99="<"*35x35<M>
  197. N.100="const"(0)*27x37<M>
  198. N.101="Compound"*23x17#1,1<C>
  199. n="objectiveFunction"
  200. Ms=1600,0,0,1200,0,0
  201. N.102="const"(1)*36x45<M>
  202. N.103="const"(100)*36x42<M>
  203. N.104="comment"*27x2*55x16<M>
  204. C="PID Tuning objective function
  205. Note use of overshoot penalty to minimize overshoot in final solution.
  206. "
  207. N.105="wireLabel"*37x48<M>
  208. n="Overshoot penalty"
  209. N.106="wireLabel"*0x49
  210. n="Globally optimized controller gains"
  211. N.107="parameterUnknown"(0,0)*10x56<M>
  212. N.108="parameterUnknown"(0,0)*55x56<M>
  213. N.109="parameterUnknown"(0,0)*56x60<M>
  214. N.110="cost"*48x17
  215. N.111="gain"(2)*22x30<M>
  216. N.112="variable"*2x62
  217. n="$runCount"
  218. N.113="display"(1)*20x62
  219. N.114="Compound"*7x5<C>
  220. n="Click here for information"
  221. Ms=1600,0,0,1200,0,0
  222. N.115="wirePositioner"*25x47
  223. I.1.i1=2.o1
  224. f1.2.i=-
  225. I.1.i2=15.o1
  226. I.3.i1=64.o1
  227. I.4.i1=7.o1
  228. I.5.i1=7.i1
  229. f5.2.i=-
  230. I.5.i2=12.o1
  231. I.6.i1=25.o1
  232. G.7=5,6,10,11,12,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,107,108,109,
  233. I.7.o1=11.o1
  234. I.7.i1=13.i1
  235. G.8=65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,
  236. I.8.o1=68.o1
  237. I.8.i1=15.i1
  238. I.9.i2=14.o1
  239. I.9.i3=2.o1
  240. I.9.i4=115.o1
  241. I.10.i1=27.o1
  242. I.10.i2=6.o1
  243. I.11.i1=28.o1
  244. I.11.i2=10.o1
  245. I.12.i1=6.o1
  246. I.12.i2=30.o1
  247. G.13=4,7,
  248. I.13.o1=4.o1
  249. I.13.i1=1.o1
  250. G.14=3,64,
  251. I.14.o1=3.o1
  252. I.14.i1=13.o1
  253. G.15=8,
  254. I.15.o1=8.o1
  255. I.15.i1=14.o1
  256. I.17.i1=107.o1
  257. I.18.i1=108.o1
  258. I.19.i1=24.o1
  259. I.20.i1=109.o1
  260. I.25.i1=5.o1
  261. I.25.i2=26.o1
  262. I.28.i1=29.o1
  263. I.28.i2=25.o1
  264. I.33.i1=64.i1
  265. f33.2.i=-
  266. I.33.i2=37.o1
  267. f33.3.i=-
  268. I.33.i3=59.o1
  269. I.34.i1=54.o1
  270. I.35.i1=48.o1
  271. I.35.i2=34.o1
  272. I.36.i1=49.o1
  273. I.36.i2=61.o1
  274. I.36.i3=35.o1
  275. I.37.i1=34.o1
  276. I.37.i2=51.o1
  277. I.38.i1=44.o1
  278. I.39.i1=43.o1
  279. I.40.i1=45.o1
  280. I.41.i1=42.o1
  281. I.46.i1=33.o1
  282. I.46.i2=47.o1
  283. I.49.i1=50.o1
  284. I.49.i2=63.o1
  285. I.54.i1=46.o1
  286. I.55.i1=58.o1
  287. I.56.i1=57.o1
  288. I.59.i1=54.o1
  289. I.59.i2=60.o1
  290. I.61.i1=62.o1
  291. I.61.i2=54.o1
  292. I.63.i1=46.o1
  293. G.64=33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,
  294. I.64.o1=36.o1
  295. I.64.i1=14.i1
  296. I.65.i1=8.i1
  297. f65.2.i=-
  298. I.65.i2=69.o1
  299. I.66.i1=78.o1
  300. I.67.i1=80.o1
  301. I.67.i2=66.o1
  302. I.68.i2=67.o1
  303. I.69.i1=66.o1
  304. I.69.i2=83.o1
  305. I.70.i1=76.o1
  306. I.71.i1=75.o1
  307. I.72.i1=77.o1
  308. I.73.i1=74.o1
  309. I.78.i1=65.o1
  310. I.78.i2=79.o1
  311. I.81.i1=82.o1
  312. I.81.i2=78.o1
  313. I.86.i1=87.o1
  314. I.87.i1=96.o1
  315. I.87.i2=96.o1
  316. I.87.i3=98.o1
  317. I.92.i1=88.o1
  318. I.93.i1=90.o1
  319. I.94.i1=89.o1
  320. I.95.i1=91.o1
  321. I.96.i1=111.o1
  322. I.97.i1=101.o1
  323. I.98.i1=99.o1
  324. I.98.i2=103.o1
  325. I.98.i3=102.o1
  326. I.99.i1=101.i1
  327. I.99.i2=100.o1
  328. G.101=100,99,87,98,86,96,102,103,104,105,111,
  329. I.101.o1=86.o1
  330. I.101.i1=1.o1
  331. I.107.i1=23.o1
  332. I.108.i1=22.o1
  333. I.109.i1=21.o1
  334. I.110.i1=101.o1
  335. I.111.i1=101.i1
  336. I.113.i1=112.o1
  337. G.114=16,
  338. I.115.i1=1.o1
  339.