Changeset 12161 for trunk/FACT++/src/feedback.cc
- Timestamp:
- 10/02/11 13:33:05 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/FACT++/src/feedback.cc
r12160 r12161 301 301 // Kd = 0; 302 302 303 // -110 / -110 (-23 DAC / -0.51V) 304 // Reference voltage: -238 / -203 305 // -360 / -343 ( 23 DAC / 0.51V) 306 307 // 0.005 A/V 308 // 220 Amplitude / 1V 309 310 // Gain = 1V / 200 = 0.005 311 303 312 // => Kp = 0.01 * gain = 0.00005 304 313 // => Ki = 0.8 * gain/20s = 0.00025 305 314 // => Kd = 0.1 * gain/20s = 0.00003 306 315 307 //valarray<double> correction = 308 // - Kp * (PV[2] - PV[1]) 309 // + dT * Ki * (SP - PV[2]) 310 // - Kd / dT * (PV[2] - 2*PV[1] + PV[0]); 311 // 312 // - (Kp+Kd/dT1) * (PV[2] - PV[1]) 313 // + dT2 * Ki * (SP - PV[2]) 314 // + Kd / dT1 * (PV[1] - PV[0]); 315 // 316 // - Kp * (PV[2] - PV[1]) 317 // + Ki * (SP - PV[2])*dT 318 // - Kd * (PV[2] - PV[1])/dT 319 // + Kd * (PV[1] - PV[0])/dT; 320 // 316 //valarray<double> correction = - Kp*(PV[2] - PV[1]) + Ki * dT * (SP-PV[2]) - Kd/dT * (PV[2] - 2*PV[1] + PV[0]); 321 317 //valarray<double> correction = 322 318 // - Kp*(PV[2] - PV[1]) + Ki * T21 * (SP-PV[2]) - Kd*(PV[2]-PV[1])/T21 - Kd*(PV[0]-PV[1])/T01; … … 328 324 ); 329 325 330 /*331 integral = 0332 start:333 integral += (fSP - fPV[2])*dt334 335 output = Kp*(fSP - fPV[2]) + Ki*integral - Kd*(fPV[2] - fPV[1])/dt336 337 wait(dt)338 339 goto start340 */341 342 326 vector<float> vec(2*BIAS::kNumChannels); 343 327 for (int i=0; i<BIAS::kNumChannels; i++) … … 353 337 Info("Sending correction to feedback."); 354 338 355 DimClient::sendCommandNB("BIAS_CONTROL/ADD_REFERENCE_VOLTAGES",356 339 dic_cmnd_service((char*)"BIAS_CONTROL/ADD_REFERENCE_VOLTAGES", 340 (void*)(vec.data()+416), 416*sizeof(float)); 357 341 358 342 /* … … 623 607 return 1; 624 608 } 625 626 // -110 / -110 (-23 DAC / -0.51V)627 // Reference voltage: -238 / -203628 // -360 / -343 ( 23 DAC / 0.51V)629 630 // 0.005 A/V631 // 220 Amplitude / 1V632 633 // Gain = 1V / 200 = 0.005634 609 635 610 fGain = 5; // (BIAS)V / (DRS)V ( 1V / 0.22V ) … … 701 676 void PrintHelp() 702 677 { 703 Main::PrintHelp<StateMachineFeedback>();704 705 678 /* Additional help text which is printed after the configuration 706 679 options goes here */
Note:
See TracChangeset
for help on using the changeset viewer.