This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28069: PID - Is There an FAQ? Output is just Umax, Umin.

Part Number: TMS320F28069
Other Parts Discussed in Thread: C2000WARE,

Hello All,

I've added the PID example here:  X:\ti\c2000\C2000Ware_1_00_04_00\libraries\control\DCL\c28\examples\F28069_PID

to my code - just trying to control a PWM output - and no matter what I seem to do - the PID output just 'bounces' between what I've set for Umax and Umin.

I've read the DCL doc which is a little sparse; I was wondering if there is an FAQ posted someplace regarding the TI provided PID code; and maybe seeing

the output alternate between Umax and Umin is just a config option I've goofed.

Thanks In Advance,
John W.

  • Hello John,

    I don't think it's anything you're doing. The output probably will behave that way with the settings in the code - this example was just to show how the controller might be added to a C program to implement closed loop control using the ADC as feedback. What's happening is the noise in the ADC reading is getting amplified greatly through the derivative path.

    Try this: run the code to the line in the ISR which loads yk, then change the controller coefficients to:
    Kp = 1.0f
    Kd = 0.0f

    Also, make sure the ADC input is not saturated. Then when you run the code you should see the output take on more reasonable values. Please let me know if that works.

    Regards,

    Richard
  • John,

    Just realised I forgot to answer the FAQ part of your question. There isn't one, but your question and hint about sparseness of the documentation makes me think there should be. Let me think on it and get back to you.

    Regards,

    Richard
  • Richard,

    OK - I will give this a try and get back with you.

    Thanks!
    John
  • Richard,

    One thing I have tried to experiment somewhat with the variables is using 'actual' values vs. normalized values which I'm assuming the algorithm uses by defaults - and I have seen it do that OK but maybe it isn't designed for that. I know the source is there - but again an FAQ of sorts could help with these sorts of things - not to mention your first post in this thread could be added.

    For anyone that's worked with a PID that either saturates or doesn't want to converge knows it can take a while to tune; and that as we all know is another subject unto itself; and also I'd rather use a PID that's optimized for the DSP vs. banging out my own C-Code that maybe won't run so optimally.

    I will probably end up running two PIDs - with the 'inner' and 'outer' loop concept since this particular design is a pretty good fit for that - but again you could say that for a lot of applications that are suitable for PID control.

    Thanks!
    John
  • John,

    Correct: the floating point controllers in the DCL are intended to work with absolute, rather than normalized, data. Floating point buys us that. Typically only with the fixed point controllers do we need to be concerned about scaling. A lot of testing went into the DCL controllers before they were released so I'm confident they are functionally sound.

    By the way, a new version of the DCL will be deployed in a few days in C2000Ware v1.00.05. Look for that at the end of the month. None of the controller code has changed so you shouldn't have any issues if you decide to use it, however you will see some structural changes to the library and many more support functions which I hope you will like.

    Something I think we could do fairly quickly is to add a "Tuning Guide" document to help new users through the initial tuning phase. I don't think we need a new version for that. I'll pull something together in the coming weeks and if you don't mind I'd like to run it by you to get your feedback?

    Thanks for the question - it has been food for thought.

    Regards,

    Richard

  • Richard,

    OK - thanks for that info - I've been running it both ways - and since I made the changes you suggested it appears it's trying to converge - here's some sample data:

    CH:63,CL:111, D861.212097, uk:0.196128, lk:0.960000, di:969, ds:971
    CH:48,CL:88, D969.212036, uk:0.346128, lk:0.880000, di:970, ds:971
    CH:18,CL:76, D1188.063354, uk:0.650088, lk:0.760000, di:969, ds:971
    CH:31,CL:83, D1095.858643, uk:0.522026, lk:0.830000, di:970, ds:971
    CH:39,CL:55, D1039.065430, uk:0.443146, lk:0.550000, di:968, ds:970
    CH:25,CL:69, D1141.231567, uk:0.585044, lk:0.690000, di:968, ds:970
    CH:48,CL:87, D975.631592, uk:0.355044, lk:0.870000, di:969, ds:970
    CH:26,CL:68, D1136.098755, uk:0.577915, lk:0.680000, di:968, ds:970
    CH:36,CL:59, D1064.980103, uk:0.479139, lk:0.590000, di:967, ds:970
    CH:19,CL:76, D1189.227905, uk:0.651705, lk:0.760000, di:966, ds:970
    CH:35,CL:178, D1075.094971, uk:0.493187, lk:0.960000, di:967, ds:970
    CH:36,CL:58, D1069.139160, uk:0.484915, lk:0.580000, di:966, ds:970
    CH:58,CL:85, D910.112732, uk:0.264045, lk:0.850000, di:967, ds:970
    CH:64,CL:111, D865.443848, uk:0.202005, lk:0.960000, di:968, ds:970
    CH:20,CL:75, D1185.146973, uk:0.646037, lk:0.750000, di:967, ds:970
    CH:25,CL:71, D1151.010010, uk:0.598625, lk:0.710000, di:966, ds:970
    CH:25,CL:70, D1152.773560, uk:0.601074, lk:0.700000, di:965, ds:970
    CH:42,CL:72, D1030.827148, uk:0.431704, lk:0.720000, di:966, ds:970
    CH:11,CL:84, D1256.904297, uk:0.745700, lk:0.840000, di:965, ds:970
    CH:29,CL:65, D1129.027954, uk:0.568094, lk:0.650000, di:964, ds:970
    CH:32,CL:144, D1108.551147, uk:0.539654, lk:0.960000, di:965, ds:970
    CH:39,CL:56, D1059.084229, uk:0.470950, lk:0.560000, di:963, ds:965
    CH:19,CL:75, D1204.838257, uk:0.673386, lk:0.750000, di:963, ds:965
    CH:36,CL:69, D1083.410278, uk:0.504736, lk:0.690000, di:964, ds:965
    CH:32,CL:61, D1113.402588, uk:0.546392, lk:0.610000, di:963, ds:965
    CH:48,CL:86, D998.202515, uk:0.386392, lk:0.860000, di:964, ds:965
    CH:22,CL:72, D1187.817383, uk:0.649746, lk:0.720000, di:963, ds:965
    CH:31,CL:64, D1124.339355, uk:0.561582, lk:0.640000, di:962, ds:965
    CH:31,CL:85, D1125.514404, uk:0.563214, lk:0.850000, di:963, ds:965
    CH:32,CL:62, D1119.783203, uk:0.555254, lk:0.620000, di:962, ds:965
    CH:22,CL:75, D1193.524170, uk:0.657672, lk:0.750000, di:961, ds:965
    CH:41,CL:73, D1057.291138, uk:0.468460, lk:0.730000, di:962, ds:965
    CH:28,CL:66, D1152.468018, uk:0.600650, lk:0.660000, di:961, ds:965
    CH:13,CL:83, D1262.962646, uk:0.754115, lk:0.830000, di:960, ds:965
    CH:28,CL:66, D1156.755493, uk:0.606605, lk:0.660000, di:959, ds:965
    CH:42,CL:72, D1056.383301, uk:0.467199, lk:0.720000, di:960, ds:965
    CH:32,CL:62, D1129.627441, uk:0.568927, lk:0.620000, di:959, ds:965
    CH:12,CL:83, D1276.037964, uk:0.772275, lk:0.830000, di:958, ds:965
    CH:26,CL:69, D1177.210083, uk:0.635014, lk:0.690000, di:957, ds:965
    CH:37,CL:77, D1098.829834, uk:0.526152, lk:0.770000, di:958, ds:965
    CH:35,CL:61, D1114.310791, uk:0.547654, lk:0.610000, di:957, ds:965
    CH:48,CL:87, D1020.710815, uk:0.417654, lk:0.870000, di:958, ds:965
    CH:18,CL:76, D1239.529663, uk:0.721569, lk:0.760000, di:957, ds:965
    CH:30,CL:64, D1154.607178, uk:0.603621, lk:0.640000, di:956, ds:965
    CH:70,CL:180, D865.086487, uk:0.201509, lk:0.960000, di:957, ds:965

    The CH and CL's are HRCAP register counts in HRCAPCLK time - 48 is the magic number in this case - and the DXXX is duty cycle as calculated by the PID - keeping in mind this was either just Umax or Umin before; the uk and lk are the same as in the example (except this is normalized), and di and ds were just some manually set variables I was playing with doing a manual PID of sorts.

    Here a D of around 956 will yield a duty cycle of around 30% which is what the system needs right now - so at least this is some real progress and the PID is trying to converge.

    And sure - I'll be glad to take a look at the Tuning Guide/FAQ.

    I'll try this again with actual numbers since that's the way the PID is supposed to be used since we do have an FPU.  And NP regarding the question.

    On one test run I did the PID went from 50% (the starting point I have set) - to practically the correct 30% value in the first few steps - so that was really nice to see.  Just need to tune this now.

    Values like:

    pid1.c1 = 188.0296600613396f;

    I need to understand.

    Thanks Again!

    John W.

  • Richard,

    The PID is actually working - this is actually good enough to operate with:

    CH:24,CL:69, D1063.596680, uk:0.477218, lk:0.210000, di:823, ds:826
    CH:30,CL:64, D1020.804993, uk:0.417785, lk:0.160000, di:822, ds:826
    CH:41,CL:52, D941.725891, uk:0.307953, lk:0.040000, di:820, ds:822
    CH:39,CL:55, D956.164856, uk:0.328007, lk:0.070000, di:818, ds:820
    CH:45,CL:50, D912.987549, uk:0.268038, lk:0.020000, di:816, ds:818
    CH:37,CL:57, D970.611267, uk:0.348071, lk:0.090000, di:816, ds:818
    CH:25,CL:69, D1057.234741, uk:0.468382, lk:0.210000, di:815, ds:818
    CH:31,CL:63, D1014.420349, uk:0.408917, lk:0.150000, di:814, ds:818
    CH:42,CL:52, D935.317627, uk:0.299052, lk:0.040000, di:812, ds:814
    CH:41,CL:53, D942.547791, uk:0.309094, lk:0.050000, di:810, ds:812
    CH:42,CL:52, D935.380249, uk:0.299139, lk:0.040000, di:808, ds:810
    CH:33,CL:62, D1000.245117, uk:0.389229, lk:0.140000, di:808, ds:810
    CH:26,CL:68, D1050.977783, uk:0.459691, lk:0.200000, di:807, ds:810
    CH:36,CL:58, D979.236816, uk:0.360051, lk:0.100000, di:806, ds:810
    CH:41,CL:52, D943.312500, uk:0.310156, lk:0.040000, di:804, ds:806
    CH:39,CL:55, D957.751343, uk:0.330210, lk:0.070000, di:802, ds:804
    CH:33,CL:61, D1001.064758, uk:0.390368, lk:0.130000, di:802, ds:804
    CH:29,CL:65, D1030.131470, uk:0.430738, lk:0.170000, di:801, ds:804
    CH:38,CL:57, D965.515076, uk:0.340993, lk:0.090000, di:800, ds:804
    CH:45,CL:49, D915.144287, uk:0.271034, lk:0.010000, di:798, ds:800
    CH:39,CL:55, D958.354065, uk:0.331047, lk:0.070000, di:796, ds:798
    CH:27,CL:67, D1044.912720, uk:0.451268, lk:0.190000, di:796, ds:798
    CH:30,CL:65, D1023.682190, uk:0.421781, lk:0.170000, di:795, ds:798
    CH:44,CL:51, D922.955566, uk:0.281883, lk:0.030000, di:793, ds:795
    CH:42,CL:52, D937.375000, uk:0.301910, lk:0.040000, di:791, ds:793
    CH:35,CL:58, D987.831116, uk:0.371988, lk:0.100000, di:791, ds:793
    CH:30,CL:65, D1024.025513, uk:0.422258, lk:0.170000, di:790, ds:793
    CH:36,CL:59, D981.045898, uk:0.362564, lk:0.110000, di:789, ds:793
    CH:45,CL:51, D916.281555, uk:0.272613, lk:0.030000, di:787, ds:789
    CH:40,CL:54, D952.307434, uk:0.322649, lk:0.060000, di:785, ds:787
    CH:28,CL:66, D1038.837036, uk:0.442829, lk:0.180000, di:785, ds:787
    CH:29,CL:66, D1032.006348, uk:0.433342, lk:0.180000, di:784, ds:787
    CH:43,CL:52, D931.303650, uk:0.293477, lk:0.040000, di:782, ds:784
    CH:43,CL:52, D931.325195, uk:0.293507, lk:0.040000, di:780, ds:782
    CH:39,CL:56, D960.164063, uk:0.333561, lk:0.080000, di:778, ds:780
    CH:29,CL:65, D1032.328247, uk:0.433789, lk:0.170000, di:778, ds:780
    CH:30,CL:64, D1025.458740, uk:0.424248, lk:0.160000, di:777, ds:780
    CH:44,CL:51, D924.727844, uk:0.284344, lk:0.030000, di:775, ds:777
    CH:42,CL:52, D939.147278, uk:0.304371, lk:0.040000, di:773, ds:775
    CH:37,CL:57, D975.194824, uk:0.354437, lk:0.090000, di:773, ds:775
    CH:30,CL:65, D1025.769775, uk:0.424680, lk:0.170000, di:772, ds:775
    CH:34,CL:61, D997.226746, uk:0.385037, lk:0.130000, di:771, ds:775
    CH:44,CL:50, D925.282959, uk:0.285115, lk:0.020000, di:769, ds:771
    CH:42,CL:53, D939.695923, uk:0.305133, lk:0.050000, di:767, ds:769
    CH:31,CL:63, D1018.987671, uk:0.415261, lk:0.150000, di:767, ds:769

    I just need tune it a little bit more - but this is actually looking really good. Again, if I had to; I could run with this. An esteemed colleague used to tell me, "Good enough is perfect." - This is definitely good enough. This is GREAT!

    OK - can't wait to fine tune this!

    Thanks Again!
    John
  • And, here is some more data:
    CH:57,CL:77, D654.227966, uk:-0.091350, lk:0.290000, PDS:54.567505, di:1101, ds: 0  <== PID Begins here.
    CH:23,CL:70, D899.810974, uk:0.249738, lk:0.220000, PDS:37.513130, di:1100, ds:0
    CH:31,CL:83, D842.614868, uk:0.170298, lk:0.350000, PDS:41.485077, di:1101, ds:0
    CH:34,CL:59, D821.544128, uk:0.141034, lk:0.110000, PDS:42.948322, di:1100, ds:0
    CH:39,CL:75, D785.651062, uk:0.091182, lk:0.270000, PDS:45.440899, di:1101, ds:0
    CH:42,CL:72, D764.225952, uk:0.061425, lk:0.240000, PDS:46.928757, di:1102, ds:0
    CH:20,CL:74, D923.351807, uk:0.282433, lk:0.260000, PDS:35.878349, di:1101, ds:0
    CH:24,CL:70, D895.225647, uk:0.243369, lk:0.220000, PDS:37.831551, di:1100, ds:0
    CH:39,CL:55, D787.439514, uk:0.093666, lk:0.070000, PDS:45.316704, di:1098, ds:1100
    CH:43,CL:71, D758.677368, uk:0.053719, lk:0.230000, PDS:47.314072, di:1100, ds:1100
    CH:25,CL:69, D888.848633, uk:0.234512, lk:0.210000, PDS:38.274403, di:1099, ds:1100
    CH:17,CL:77, D947.151672, uk:0.315488, lk:0.290000, PDS:34.225578, di:1098, ds:1100
    CH:110,CL:191, D376.848389, uk:-0.476599, lk:1.000000, PDS:73.829971, di:1099, ds:1100
    CH:21,CL:75, D919.764343, uk:0.277450, lk:0.270000, PDS:36.127480, di:1098, ds:1100
    CH:15,CL:80, D963.926636, uk:0.338787, lk:0.320000, PDS:33.060654, di:1097, ds:1100
    CH:101,CL:94, D379.067749, uk:-0.473517, lk:0.460000, PDS:73.675850, di:1098, ds:1100
    CH:37,CL:78, D804.414246, uk:0.117242, lk:0.300000, PDS:44.137901, di:1099, ds:1100
    CH:54,CL:81, D681.819824, uk:-0.053028, lk:0.330000, PDS:52.651402, di:1100, ds:1100
    CH:25,CL:69, D891.439575, uk:0.238110, lk:0.210000, PDS:38.094475, di:1099, ds:1100
    CH:48,CL:106, D725.839600, uk:0.008110, lk:0.580000, PDS:49.594475, di:1100, ds:1100
    CH:29,CL:65, D863.829773, uk:0.199763, lk:0.170000, PDS:40.011822, di:1099, ds:1100
    CH:47,CL:108, D734.248047, uk:0.019789, lk:0.600000, PDS:49.010551, di:1100, ds:1100
    CH:30,CL:64, D857.814453, uk:0.191409, lk:0.160000, PDS:40.429550, di:1099, ds:1100
    CH:47,CL:88, D735.431763, uk:0.021433, lk:0.400000, PDS:48.928349, di:1100, ds:1100
    CH:30,CL:64, D858.609375, uk:0.192513, lk:0.160000, PDS:40.374352, di:1099, ds:1100
    CH:48,CL:107, D729.009399, uk:0.012513, lk:0.590000, PDS:49.374348, di:1100, ds:1100
    CH:30,CL:64, D859.756287, uk:0.194106, lk:0.160000, PDS:40.294701, di:1099, ds:1100
    CH:66,CL:155, D600.245300, uk:-0.166326, lk:1.000000, PDS:58.316299, di:1100, ds:1100
    CH:25,CL:69, D897.929260, uk:0.247124, lk:0.210000, PDS:37.643803, di:1099, ds:1100
    CH:39,CL:56, D797.333374, uk:0.107408, lk:0.080000, PDS:44.629627, di:1097, ds:1099
    CH:43,CL:72, D768.576538, uk:0.067468, lk:0.240000, PDS:46.626633, di:1099, ds:1099
    CH:42,CL:71, D775.932068, uk:0.077684, lk:0.230000, PDS:46.115829, di:1100, ds:1099
    CH:37,CL:78, D812.205322, uk:0.128063, lk:0.300000, PDS:43.596851, di:1101, ds:1099
    CH:32,CL:63, D848.723694, uk:0.178783, lk:0.150000, PDS:41.060860, di:1100, ds:1099
    CH:38,CL:78, D805.685730, uk:0.119008, lk:0.300000, PDS:44.049603, di:1101, ds:1099
    CH:20,CL:76, D936.192932, uk:0.300268, lk:0.280000, PDS:34.986603, di:1100, ds:1099
    CH:40,CL:54, D792.434937, uk:0.100604, lk:0.060000, PDS:44.969795, di:1098, ds:1100
    CH:19,CL:76, D943.822754, uk:0.310865, lk:0.280000, PDS:34.456757, di:1098, ds:1100
    CH:17,CL:77, D959.160278, uk:0.332167, lk:0.290000, PDS:33.391647, di:1097, ds:1100
    CH:25,CL:69, D902.280579, uk:0.253167, lk:0.210000, PDS:37.341629, di:1096, ds:1100
    CH:34,CL:60, D837.798157, uk:0.163609, lk:0.120000, PDS:41.819572, di:1095, ds:1100
    CH:33,CL:61, D845.192566, uk:0.173879, lk:0.130000, PDS:41.306072, di:1094, ds:1100
    CH:47,CL:78, D744.406555, uk:0.033898, lk:0.300000, PDS:48.305099, di:1095, ds:1100
    CH:31,CL:64, D860.157410, uk:0.194663, lk:0.160000, PDS:40.266846, di:1094, ds:1100
    CH:47,CL:165, D744.974670, uk:0.034687, lk:1.000000, PDS:48.265648, di:1095, ds:1100
    CH:30,CL:64, D869.318604, uk:0.207387, lk:0.160000, PDS:39.630653, di:1094, ds:1100
    CH:28,CL:89, D884.064270, uk:0.227867, lk:0.410000, PDS:38.606651, di:1095, ds:1100
    CH:25,CL:69, D906.682678, uk:0.259281, lk:0.210000, PDS:37.035923, di:1094, ds:1100
    CH:42,CL:53, D784.418762, uk:0.089471, lk:0.050000, PDS:45.526474, di:1092, ds:1094
    CH:20,CL:76, D942.969910, uk:0.309680, lk:0.280000, PDS:34.515984, di:1092, ds:1094
    CH:20,CL:75, D943.816650, uk:0.310856, lk:0.270000, PDS:34.457176, di:1091, ds:1094
    CH:29,CL:66, D879.570740, uk:0.221626, lk:0.180000, PDS:38.918697, di:1090, ds:1094
    CH:39,CL:55, D807.745667, uk:0.121869, lk:0.070000, PDS:43.906551, di:1088, ds:1090
    CH:39,CL:113, D807.813721, uk:0.121964, lk:0.650000, PDS:43.901825, di:1090, ds:1090
    CH:24,CL:70, D917.498474, uk:0.274303, lk:0.220000, PDS:36.284828, di:1089, ds:1090
    CH:33,CL:62, D853.054932, uk:0.184799, lk:0.140000, PDS:40.760075, di:1088, ds:1090
    CH:33,CL:82, D853.281738, uk:0.185114, lk:0.340000, PDS:40.744324, di:1089, ds:1090
    CH:39,CL:75, D810.412170, uk:0.125573, lk:0.270000, PDS:43.721378, di:1090, ds:1090
    CH:34,CL:60, D846.820435, uk:0.176140, lk:0.120000, PDS:41.193027, di:1089, ds:1090
    CH:29,CL:107, D883.066650, uk:0.226481, lk:0.590000, PDS:38.675926, di:1090, ds:1090
    CH:33,CL:61, D855.222473, uk:0.187809, lk:0.130000, PDS:40.609550, di:1089, ds:1090
    CH:32,CL:63, D862.647095, uk:0.198121, lk:0.150000, PDS:40.093952, di:1088, ds:1090
    CH:28,CL:88, D891.771057, uk:0.238571, lk:0.400000, PDS:38.071453, di:1089, ds:1090
    CH:26,CL:68, D907.121521, uk:0.259891, lk:0.200000, PDS:37.005455, di:1088, ds:1090
    CH:43,CL:52, D784.829529, uk:0.090041, lk:0.040000, PDS:45.497948, di:1086, ds:1088
    CH:21,CL:75, D943.346130, uk:0.310203, lk:0.270000, PDS:34.489853, di:1086, ds:1088
    CH:19,CL:75, D958.591797, uk:0.331378, lk:0.270000, PDS:33.431122, di:1085, ds:1088
    CH:27,CL:68, D901.604187, uk:0.252228, lk:0.200000, PDS:37.388599, di:1084, ds:1088
    CH:37,CL:58, D829.841736, uk:0.152558, lk:0.100000, PDS:42.372101, di:1083, ds:1088
    CH:30,CL:64, D880.436157, uk:0.222828, lk:0.160000, PDS:38.858604, di:1082, ds:1088
    CH:47,CL:90, D758.053467, uk:0.052852, lk:0.420000, PDS:47.357399, di:1083, ds:1088
    CH:30,CL:64, D881.269958, uk:0.223986, lk:0.160000, PDS:38.800697, di:1082, ds:1088
    CH:29,CL:88, D888.798218, uk:0.234442, lk:0.400000, PDS:38.277901, di:1083, ds:1088
    CH:17,CL:78, D976.537476, uk:0.356302, lk:0.300000, PDS:32.184898, di:1082, ds:1088
    CH:33,CL:60, D861.823425, uk:0.196977, lk:0.120000, PDS:40.151154, di:1081, ds:1088
    CH:38,CL:56, D825.953003, uk:0.147157, lk:0.080000, PDS:42.642151, di:1079, ds:1081
    CH:18,CL:154, D970.212280, uk:0.347517, lk:1.000000, PDS:32.624146, di:1081, ds:1081
    CH:10,CL:84, D1031.916260, uk:0.433217, lk:0.360000, PDS:28.339157, di:1080, ds:1081
    CH:28,CL:87, D903.093872, uk:0.254297, lk:0.390000, PDS:37.285149, di:1081, ds:1081
    CH:9,CL:110, D1041.536499, uk:0.446579, lk:0.620000, PDS:27.671082, di:1082, ds:1081
    CH:12,CL:82, D1022.347107, uk:0.419926, lk:0.340000, PDS:29.003677, di:1081, ds:1081
    CH:46,CL:191, D777.620544, uk:0.080029, lk:1.000000, PDS:45.998573, di:1082, ds:1081
    CH:33,CL:82, D872.840515, uk:0.212279, lk:0.340000, PDS:39.386074, di:1083, ds:1081
    CH:39,CL:55, D829.971008, uk:0.152737, lk:0.070000, PDS:42.363125, di:1081, ds:1083
    CH:34,CL:83, D866.076904, uk:0.202885, lk:0.350000, PDS:39.855774, di:1083, ds:1083
    CH:23,CL:71, D946.221863, uk:0.314197, lk:0.230000, PDS:34.290154, di:1082, ds:1083
    CH:45,CL:50, D787.896362, uk:0.094301, lk:0.020000, PDS:45.284973, di:1080, ds:1082
    CH:46,CL:68, D780.700684, uk:0.084307, lk:0.200000, PDS:45.784676, di:1082, ds:1082
    CH:41,CL:72, D816.851868, uk:0.134517, lk:0.240000, PDS:43.274178, di:1083, ds:1082
    CH:41,CL:73, D817.033325, uk:0.134769, lk:0.250000, PDS:43.261574, di:1084, ds:1082
    CH:38,CL:77, D838.903320, uk:0.165144, lk:0.290000, PDS:41.742825, di:1085, ds:1082
    CH:34,CL:61, D868.141785, uk:0.205753, lk:0.130000, PDS:39.712376, di:1084, ds:1082
    CH:54,CL:90, D724.057556, uk:0.005636, lk:0.420000, PDS:49.718224, di:1085, ds:1082
    CH:27,CL:66, D919.410095, uk:0.276959, lk:0.180000, PDS:36.152077, di:1084, ds:1082
    CH:46,CL:170, D782.649048, uk:0.087013, lk:1.000000, PDS:45.649372, di:1085, ds:1082
    CH:41,CL:74, D819.404968, uk:0.138063, lk:0.260000, PDS:43.096878, di:1086, ds:1082
    CH:42,CL:71, D812.373474, uk:0.128297, lk:0.230000, PDS:43.585175, di:1087, ds:1082
    CH:20,CL:75, D971.468994, uk:0.349263, lk:0.270000, PDS:32.536873, di:1086, ds:1082
    CH:44,CL:50, D798.785645, uk:0.109425, lk:0.020000, PDS:44.528778, di:1084, ds:1086
    CH:27,CL:67, D921.231018, uk:0.279488, lk:0.190000, PDS:36.025627, di:1084, ds:1086
    CH:29,CL:127, D907.220947, uk:0.260029, lk:0.790000, PDS:36.998547, di:1085, ds:1086
    CH:24,CL:70, D945.268555, uk:0.312873, lk:0.220000, PDS:34.356346, di:1084, ds:1086
    CH:37,CL:57, D851.929932, uk:0.183236, lk:0.090000, PDS:40.838200, di:1083, ds:1086
    CH:37,CL:56, D852.036865, uk:0.183385, lk:0.080000, PDS:40.830772, di:1081, ds:1083
    CH:9,CL:87, D1053.973877, uk:0.463852, lk:0.390000, PDS:26.807373, di:1081, ds:1083
    CH:30,CL:75, D903.531921, uk:0.254906, lk:0.270000, PDS:37.254726, di:1082, ds:1083
    CH:46,CL:112, D788.390320, uk:0.094987, lk:0.640000, PDS:45.250671, di:1083, ds:1083
    CH:28,CL:65, D919.372681, uk:0.276906, lk:0.170000, PDS:36.154675, di:1082, ds:1083
    CH:24,CL:71, D948.613281, uk:0.317519, lk:0.230000, PDS:34.124077, di:1081, ds:1083
    CH:30,CL:84, D905.860413, uk:0.258140, lk:0.360000, PDS:37.093025, di:1082, ds:1083
    CH:82,CL:190, D530.138550, uk:-0.263696, lk:1.000000, PDS:63.184826, di:1083, ds:1083
    CH:22,CL:75, D964.946533, uk:0.340203, lk:0.270000, PDS:32.989822, di:1082, ds:1083
    CH:38,CL:56, D850.038147, uk:0.180609, lk:0.080000, PDS:40.969574, di:1080, ds:1082
    CH:40,CL:54, D835.707214, uk:0.160705, lk:0.060000, PDS:41.964775, di:1078, ds:1080
    CH:31,CL:85, D900.617371, uk:0.250858, lk:0.370000, PDS:37.457127, di:1080, ds:1080
    CH:22,CL:72, D966.456360, uk:0.342301, lk:0.240000, PDS:32.884979, di:1079, ds:1080
    CH:37,CL:57, D858.741516, uk:0.192697, lk:0.090000, PDS:40.365173, di:1078, ds:1080
    CH:41,CL:53, D830.009521, uk:0.152791, lk:0.050000, PDS:42.360451, di:1076, ds:1078
    CH:33,CL:83, D887.690491, uk:0.232904, lk:0.350000, PDS:38.354828, di:1078, ds:1078
    CH:22,CL:73, D967.873352, uk:0.344269, lk:0.250000, PDS:32.786575, di:1077, ds:1078
    CH:40,CL:55, D838.489380, uk:0.164569, lk:0.070000, PDS:41.771572, di:1075, ds:1077
    CH:39,CL:55, D845.757385, uk:0.174663, lk:0.070000, PDS:41.266853, di:1073, ds:1075
    CH:9,CL:87, D1062.052246, uk:0.475073, lk:0.390000, PDS:26.246376, di:1073, ds:1075
    CH:32,CL:104, D897.126160, uk:0.246009, lk:0.560000, PDS:37.699574, di:1074, ds:1075
    CH:45,CL:112, D803.707581, uk:0.116261, lk:0.640000, PDS:44.186974, di:1075, ds:1075
    CH:30,CL:64, D912.951660, uk:0.267989, lk:0.160000, PDS:36.600578, di:1074, ds:1075
    CH:25,CL:69, D949.349121, uk:0.318540, lk:0.210000, PDS:34.072975, di:1073, ds:1075
    CH:30,CL:83, D913.757446, uk:0.269108, lk:0.350000, PDS:36.544621, di:1074, ds:1075
    CH:47,CL:151, D791.395142, uk:0.099160, lk:1.000000, PDS:45.042007, di:1075, ds:1075
    CH:21,CL:69, D981.511169, uk:0.363210, lk:0.210000, PDS:31.839500, di:1076, ds:1075
    CH:31,CL:64, D909.896790, uk:0.263745, lk:0.160000, PDS:36.812721, di:1075, ds:1075
    CH:23,CL:71, D967.928833, uk:0.344346, lk:0.230000, PDS:32.782722, di:1074, ds:1075
    CH:29,CL:85, D925.200745, uk:0.285001, lk:0.370000, PDS:35.749947, di:1075, ds:1075
    CH:65,CL:81, D665.321411, uk:-0.075942, lk:0.330000, PDS:53.797127, di:1076, ds:1075
    CH:42,CL:92, D831.135315, uk:0.154355, lk:0.440000, PDS:42.282272, di:1077, ds:1075
    CH:49,CL:85, D780.687683, uk:0.084289, lk:0.370000, PDS:45.785576, di:1078, ds:1075
    CH:35,CL:61, D882.007202, uk:0.225010, lk:0.130000, PDS:38.749504, di:1077, ds:1075
    CH:64,CL:90, D672.982544, uk:-0.065302, lk:0.420000, PDS:53.265102, di:1078, ds:1075
    CH:25,CL:70, D954.825806, uk:0.326147, lk:0.220000, PDS:33.692650, di:1077, ds:1075
    CH:63,CL:112, D680.869446, uk:-0.054348, lk:0.640000, PDS:52.717400, di:1078, ds:1075
    CH:43,CL:70, D825.215027, uk:0.146132, lk:0.220000, PDS:42.693401, di:1079, ds:1075
    CH:49,CL:86, D781.991272, uk:0.086099, lk:0.380000, PDS:45.695053, di:1080, ds:1075
    CH:34,CL:61, D890.565857, uk:0.236897, lk:0.130000, PDS:38.155151, di:1079, ds:1075
    CH:65,CL:90, D667.127197, uk:-0.073434, lk:0.420000, PDS:53.671722, di:1080, ds:1075
    CH:24,CL:71, D963.415833, uk:0.338078, lk:0.230000, PDS:33.096123, di:1079, ds:1075
    CH:101,CL:95, D443.823486, uk:-0.383578, lk:0.470000, PDS:69.178925, di:1080, ds:1075
    CH:37,CL:78, D869.181885, uk:0.207197, lk:0.300000, PDS:39.640148, di:1081, ds:1075
    CH:30,CL:64, D920.165039, uk:0.278007, lk:0.160000, PDS:36.099655, di:1080, ds:1075
    CH:47,CL:80, D797.782349, uk:0.108031, lk:0.320000, PDS:44.598450, di:1081, ds:1075
    CH:37,CL:98, D870.162476, uk:0.208559, lk:0.500000, PDS:39.572056, di:1082, ds:1075
    CH:35,CL:60, D885.264526, uk:0.229534, lk:0.120000, PDS:38.523300, di:1081, ds:1075
    CH:48,CL:106, D791.664490, uk:0.099534, lk:0.580000, PDS:45.023300, di:1082, ds:1075
    CH:41,CL:73, D842.502991, uk:0.170143, lk:0.250000, PDS:41.492851, di:1083, ds:1075
    CH:26,CL:68, D951.096985, uk:0.320968, lk:0.200000, PDS:33.951599, di:1082, ds:1075
    CH:101,CL:190, D446.060211, uk:-0.380472, lk:1.000000, PDS:69.023598, di:1083, ds:1075
    CH:37,CL:78, D872.048218, uk:0.211178, lk:0.300000, PDS:39.441097, di:1084, ds:1075
    CH:32,CL:62, D908.566589, uk:0.261898, lk:0.140000, PDS:36.905098, di:1083, ds:1075
    CH:47,CL:78, D800.581726, uk:0.111919, lk:0.300000, PDS:44.404049, di:1084, ds:1075
    CH:37,CL:77, D872.938110, uk:0.212414, lk:0.290000, PDS:39.379299, di:1085, ds:1075
    CH:35,CL:59, D887.745239, uk:0.232980, lk:0.110000, PDS:38.351028, di:1084, ds:1075
    CH:49,CL:106, D786.933350, uk:0.092963, lk:0.580000, PDS:45.351852, di:1085, ds:1075
    CH:40,CL:74, D852.234558, uk:0.183659, lk:0.260000, PDS:40.817047, di:1086, ds:1075
    CH:27,CL:67, D946.424194, uk:0.314478, lk:0.190000, PDS:34.276100, di:1085, ds:1075
    CH:83,CL:191, D542.505981, uk:-0.246519, lk:1.000000, PDS:62.325974, di:1086, ds:1075
    CH:55,CL:78, D743.349976, uk:0.032430, lk:0.300000, PDS:48.378475, di:1087, ds:1075
    CH:30,CL:64, D923.933228, uk:0.283241, lk:0.160000, PDS:35.837975, di:1086, ds:1075
    CH:83,CL:82, D541.728394, uk:-0.247599, lk:0.340000, PDS:62.379974, di:1087, ds:1075
    CH:56,CL:80, D735.834534, uk:0.021992, lk:0.320000, PDS:48.900383, di:1088, ds:1075
    CH:31,CL:64, D916.422180, uk:0.272808, lk:0.160000, PDS:36.359573, di:1087, ds:1075
    CH:83,CL:130, D541.417297, uk:-0.248031, lk:0.820000, PDS:62.401577, di:1088, ds:1075
    CH:40,CL:74, D851.725830, uk:0.182953, lk:0.260000, PDS:40.852375, di:1089, ds:1075
    CH:37,CL:56, D873.634705, uk:0.213382, lk:0.080000, PDS:39.330925, di:1087, ds:1089
    CH:34,CL:80, D895.355713, uk:0.243550, lk:0.320000, PDS:37.822521, di:1089, ds:1089
    CH:48,CL:106, D794.555603, uk:0.103550, lk:0.580000, PDS:44.822533, di:1090, ds:1089
    CH:33,CL:61, D903.495178, uk:0.254855, lk:0.130000, PDS:37.257278, di:1089, ds:1089
    CH:16,CL:79, D1026.344482, uk:0.425479, lk:0.310000, PDS:28.726082, di:1088, ds:1089
    CH:64,CL:92, D680.208862, uk:-0.055265, lk:0.440000, PDS:52.763275, di:1089, ds:1089
    CH:19,CL:76, D1005.586914, uk:0.396648, lk:0.280000, PDS:30.167580, di:1088, ds:1089
    CH:32,CL:62, D912.470764, uk:0.267321, lk:0.140000, PDS:36.633976, di:1087, ds:1089
    CH:33,CL:63, D905.497620, uk:0.257636, lk:0.150000, PDS:37.118221, di:1086, ds:1089
    CH:15,CL:80, D1035.632202, uk:0.438378, lk:0.320000, PDS:28.081100, di:1085, ds:1089
    CH:65,CL:89, D675.044678, uk:-0.062438, lk:0.410000, PDS:53.121899, di:1086, ds:1089
    CH:38,CL:154, D869.887390, uk:0.208177, lk:1.000000, PDS:39.591156, di:1087, ds:1089
    CH:24,CL:71, D973.279480, uk:0.351777, lk:0.230000, PDS:32.411148, di:1086, ds:1089
    CH:101,CL:94, D453.687103, uk:-0.369879, lk:0.460000, PDS:68.493958, di:1087, ds:1089
    CH:53,CL:80, D763.038757, uk:0.059776, lk:0.320000, PDS:47.011196, di:1088, ds:1089
    CH:30,CL:64, D929.260803, uk:0.290640, lk:0.160000, PDS:35.468002, di:1087, ds:1089
    CH:10,CL:86, D1073.917480, uk:0.491552, lk:0.380000, PDS:25.422401, di:1086, ds:1089
    CH:31,CL:103, D923.415100, uk:0.282521, lk:0.550000, PDS:35.873955, di:1087, ds:1089
    CH:83,CL:95, D546.936157, uk:-0.240366, lk:0.470000, PDS:62.018322, di:1088, ds:1089
    CH:38,CL:97, D871.443726, uk:0.210339, lk:0.490000, PDS:39.483078, di:1089, ds:1089
    CH:36,CL:58, D886.478760, uk:0.231221, lk:0.100000, PDS:38.438976, di:1088, ds:1089
    CH:29,CL:65, D937.083984, uk:0.301506, lk:0.170000, PDS:34.924728, di:1087, ds:1089
    CH:29,CL:86, D937.432800, uk:0.301990, lk:0.380000, PDS:34.900505, di:1088, ds:1089
    CH:101,CL:172, D453.062866, uk:-0.370746, lk:1.000000, PDS:68.537300, di:1089, ds:1089
    CH:38,CL:77, D871.742920, uk:0.210754, lk:0.290000, PDS:39.462299, di:1090, ds:1089
    CH:31,CL:63, D922.675293, uk:0.281493, lk:0.150000, PDS:35.925331, di:1089, ds:1089
    CH:46,CL:88, D814.707703, uk:0.131539, lk:0.400000, PDS:43.423080, di:1090, ds:1089
    CH:53,CL:158, D764.091736, uk:0.061239, lk:1.000000, PDS:46.938072, di:1091, ds:1089
    CH:31,CL:64, D924.327698, uk:0.283789, lk:0.160000, PDS:35.810577, di:1090, ds:1089
    CH:30,CL:86, D931.838745, uk:0.294221, lk:0.380000, PDS:35.288979, di:1091, ds:1089
    CH:22,CL:72, D990.505798, uk:0.375703, lk:0.240000, PDS:31.214874, di:1090, ds:1089
    CH:30,CL:64, D933.372314, uk:0.296351, lk:0.160000, PDS:35.182480, di:1089, ds:1089
    CH:30,CL:64, D933.683411, uk:0.296783, lk:0.160000, PDS:35.160873, di:1088, ds:1089
    CH:42,CL:52, D847.387085, uk:0.176927, lk:0.040000, PDS:41.153675, di:1086, ds:1088
    CH:33,CL:61, D912.251892, uk:0.267017, lk:0.130000, PDS:36.649174, di:1086, ds:1088
    CH:54,CL:90, D760.967651, uk:0.056900, lk:0.420000, PDS:47.155029, di:1087, ds:1088
    CH:42,CL:73, D847.639832, uk:0.177278, lk:0.250000, PDS:41.136124, di:1088, ds:1088
    CH:39,CL:76, D869.482788, uk:0.207615, lk:0.280000, PDS:39.619255, di:1089, ds:1088
    CH:32,CL:83, D920.366577, uk:0.278287, lk:0.350000, PDS:36.085655, di:1090, ds:1088
    CH:36,CL:59, D892.020264, uk:0.238917, lk:0.110000, PDS:38.054150, di:1089, ds:1088
    CH:40,CL:55, D863.315308, uk:0.199049, lk:0.070000, PDS:40.047550, di:1087, ds:1089
    CH:35,CL:79, D899.413574, uk:0.249186, lk:0.310000, PDS:37.540730, di:1089, ds:1089
    CH:11,CL:86, D1073.452271, uk:0.490906, lk:0.380000, PDS:25.454704, di:1088, ds:1089
    CH:35,CL:79, D901.185852, uk:0.251647, lk:0.310000, PDS:37.417648, di:1089, ds:1089
    CH:46,CL:91, D822.052856, uk:0.141740, lk:0.430000, PDS:42.912994, di:1090, ds:1089
    CH:30,CL:64, D938.088745, uk:0.302901, lk:0.160000, PDS:34.854950, di:1089, ds:1089
    CH:31,CL:63, D931.182434, uk:0.293309, lk:0.150000, PDS:35.334557, di:1088, ds:1089
    CH:20,CL:74, D1010.836060, uk:0.403939, lk:0.260000, PDS:29.803055, di:1087, ds:1089
    CH:15,CL:80, D1047.762695, uk:0.455226, lk:0.320000, PDS:27.238701, di:1086, ds:1089
    CH:26,CL:68, D969.323059, uk:0.346282, lk:0.200000, PDS:32.685898, di:1085, ds:1089
    CH:39,CL:56, D875.917480, uk:0.216552, lk:0.080000, PDS:39.172398, di:1083, ds:1085
    CH:29,CL:66, D948.081604, uk:0.316780, lk:0.180000, PDS:34.161003, di:1083, ds:1085
    CH:46,CL:89, D825.720520, uk:0.146834, lk:0.410000, PDS:42.658298, di:1084, ds:1085
    CH:50,CL:106, D796.831970, uk:0.106711, lk:0.580000, PDS:44.664448, di:1085, ds:1085
    CH:35,CL:59, D905.646301, uk:0.257842, lk:0.110000, PDS:37.107895, di:1084, ds:1085
    CH:46,CL:168, D826.470032, uk:0.147875, lk:1.000000, PDS:42.606247, di:1085, ds:1085
    CH:20,CL:74, D1016.694031, uk:0.412075, lk:0.260000, PDS:29.396248, di:1084, ds:1085
    CH:44,CL:49, D844.006287, uk:0.172231, lk:0.010000, PDS:41.388451, di:1082, ds:1084
    CH:38,CL:57, D887.217163, uk:0.232246, lk:0.090000, PDS:38.387699, di:1082, ds:1084
    CH:33,CL:83, D923.362915, uk:0.282449, lk:0.350000, PDS:35.877579, di:1083, ds:1084
    CH:27,CL:127, D967.356750, uk:0.343551, lk:0.790000, PDS:32.822449, di:1084, ds:1084
    CH:16,CL:78, D1049.286987, uk:0.457343, lk:0.300000, PDS:27.132851, di:1083, ds:1084
    CH:32,CL:82, D934.605408, uk:0.298063, lk:0.340000, PDS:35.096848, di:1084, ds:1084
    CH:8,CL:110, D1108.874146, uk:0.540103, lk:0.620000, PDS:22.994850, di:1085, ds:1084
    CH:46,CL:89, D835.408142, uk:0.160289, lk:0.410000, PDS:41.985546, di:1086, ds:1084
    CH:32,CL:83, D936.916565, uk:0.301273, lk:0.350000, PDS:34.936348, di:1087, ds:1084
    CH:17,CL:77, D1046.088379, uk:0.452901, lk:0.290000, PDS:27.354980, di:1086, ds:1084
    CH:20,CL:75, D1025.365356, uk:0.424119, lk:0.270000, PDS:28.794075, di:1085, ds:1084
    CH:26,CL:81, D982.806885, uk:0.365010, lk:0.330000, PDS:31.749519, di:1086, ds:1084
    CH:101,CL:93, D477.096161, uk:-0.337366, lk:0.450000, PDS:66.868324, di:1087, ds:1084
    CH:54,CL:159, D779.204529, uk:0.082229, lk:1.000000, PDS:45.888573, di:1088, ds:1084
    CH:34,CL:60, D924.716553, uk:0.284329, lk:0.120000, PDS:35.783577, di:1087, ds:1084

    PDS: Positive Duty Setting in %

    Thanks,
    John

  • And - it has settled a little bit more here:
    CH:41,CL:52, D912.155334, uk:0.266882, lk:0.040000, PDS:36.655880, di:997, ds:999
    CH:43,CL:51, D897.776978, uk:0.246912, lk:0.030000, PDS:37.654377, di:995, ds:997
    CH:29,CL:65, D998.638489, uk:0.386998, lk:0.170000, PDS:30.650108, di:995, ds:997
    CH:11,CL:85, D1128.917847, uk:0.567941, lk:0.370000, PDS:21.602928, di:994, ds:997
    CH:25,CL:70, D1029.036865, uk:0.429218, lk:0.220000, PDS:28.539108, di:993, ds:997
    CH:38,CL:56, D935.674500, uk:0.299548, lk:0.080000, PDS:35.022606, di:991, ds:993
    CH:31,CL:63, D986.221375, uk:0.369752, lk:0.150000, PDS:31.512405, di:991, ds:993
    CH:40,CL:55, D921.551025, uk:0.279932, lk:0.070000, PDS:36.003407, di:989, ds:991
    CH:40,CL:55, D921.611450, uk:0.280016, lk:0.070000, PDS:35.999207, di:987, ds:989
    CH:36,CL:58, D950.502258, uk:0.320142, lk:0.100000, PDS:33.992897, di:987, ds:989
    CH:23,CL:71, D1044.372192, uk:0.450517, lk:0.230000, PDS:27.474159, di:986, ds:989
    CH:24,CL:70, D1037.768433, uk:0.441345, lk:0.220000, PDS:27.932755, di:985, ds:989
    CH:39,CL:55, D929.982178, uk:0.291642, lk:0.070000, PDS:35.417908, di:983, ds:985
    CH:43,CL:51, D901.219971, uk:0.251695, lk:0.030000, PDS:37.415283, di:981, ds:983
    CH:32,CL:63, D980.471863, uk:0.361766, lk:0.150000, PDS:31.911674, di:981, ds:983
    CH:17,CL:77, D1088.974121, uk:0.512464, lk:0.290000, PDS:24.376801, di:980, ds:983
    CH:26,CL:68, D1024.863037, uk:0.423421, lk:0.200000, PDS:28.828964, di:979, ds:983
    CH:42,CL:51, D909.792664, uk:0.263601, lk:0.030000, PDS:36.819954, di:977, ds:979
    CH:39,CL:55, D931.421814, uk:0.293641, lk:0.070000, PDS:35.317932, di:975, ds:977
    CH:37,CL:57, D945.905029, uk:0.313757, lk:0.090000, PDS:34.312149, di:975, ds:977
    CH:27,CL:68, D1018.109131, uk:0.414040, lk:0.200000, PDS:29.297981, di:974, ds:977
    CH:24,CL:71, D1040.227539, uk:0.444760, lk:0.230000, PDS:27.761978, di:973, ds:977
    CH:36,CL:58, D954.125610, uk:0.325174, lk:0.100000, PDS:33.741280, di:972, ds:977
    CH:45,CL:50, D889.358032, uk:0.235219, lk:0.020000, PDS:38.239025, di:970, ds:972
    CH:35,CL:59, D961.386108, uk:0.335258, lk:0.110000, PDS:33.237076, di:970, ds:972
    CH:18,CL:77, D1084.142578, uk:0.505753, lk:0.290000, PDS:24.712326, di:969, ds:972

    Regards,
    John W.
  • Richard,

    Will you be in San Diego this Fall for sure - when does that get confirmed? I'm thinking about going to the Houston one maybe.
    Can I get a discount on the book on Amazon? Ha!

    Thanks,
    John
  • And, we're trending on the lower edge now:
    CH:35,CL:78, D1169.341553, uk:0.624085, lk:0.300000, PDS:18.795731, di:879, ds:884
    CH:32,CL:62, D1191.459961, uk:0.654805, lk:0.140000, PDS:17.259727, di:878, ds:884
    CH:38,CL:78, D1148.411133, uk:0.595015, lk:0.300000, PDS:20.249229, di:879, ds:884
    CH:25,CL:69, D1242.756226, uk:0.726050, lk:0.210000, PDS:13.697487, di:878, ds:884
    CH:41,CL:73, D1127.714966, uk:0.566271, lk:0.250000, PDS:21.686462, di:879, ds:884
    CH:33,CL:84, D1185.720093, uk:0.646833, lk:0.360000, PDS:17.658325, di:880, ds:884
    CH:28,CL:65, D1222.497681, uk:0.697913, lk:0.170000, PDS:15.104332, di:879, ds:884
    CH:35,CL:79, D1172.336304, uk:0.628245, lk:0.310000, PDS:18.587761, di:880, ds:884
    CH:35,CL:59, D1172.771606, uk:0.628849, lk:0.110000, PDS:18.557533, di:879, ds:884
    CH:50,CL:84, D1064.747803, uk:0.478816, lk:0.360000, PDS:26.059181, di:880, ds:884
    CH:42,CL:52, D1122.581177, uk:0.559140, lk:0.040000, PDS:22.042976, di:878, ds:880
    CH:22,CL:75, D1266.693359, uk:0.759296, lk:0.270000, PDS:12.035187, di:878, ds:880
    CH:23,CL:72, D1260.222412, uk:0.750309, lk:0.240000, PDS:12.484558, di:877, ds:880
    CH:17,CL:97, D1304.225952, uk:0.811425, lk:0.490000, PDS:9.428757, di:878, ds:880
    CH:23,CL:73, D1262.348877, uk:0.753262, lk:0.250000, PDS:12.336884, di:877, ds:880
    CH:26,CL:70, D1241.342896, uk:0.724087, lk:0.220000, PDS:13.795639, di:876, ds:880
    CH:26,CL:67, D1241.865601, uk:0.724813, lk:0.190000, PDS:13.759338, di:875, ds:880
    CH:21,CL:76, D1278.419556, uk:0.775583, lk:0.280000, PDS:11.220863, di:874, ds:880
    CH:41,CL:73, D1134.631348, uk:0.575877, lk:0.250000, PDS:21.206161, di:875, ds:880
    CH:34,CL:60, D1185.409302, uk:0.646402, lk:0.120000, PDS:17.679909, di:874, ds:880
    CH:15,CL:120, D1322.636963, uk:0.836996, lk:0.720000, PDS:8.150215, di:875, ds:880
    CH:25,CL:69, D1252.425537, uk:0.739480, lk:0.210000, PDS:13.026009, di:874, ds:880
    CH:28,CL:67, D1231.279175, uk:0.710110, lk:0.190000, PDS:14.494499, di:873, ds:880
    CH:42,CL:72, D1130.602295, uk:0.570281, lk:0.240000, PDS:21.485954, di:874, ds:880
    CH:35,CL:82, D1181.339233, uk:0.640749, lk:0.340000, PDS:17.962555, di:875, ds:880
    CH:27,CL:67, D1239.710327, uk:0.721820, lk:0.190000, PDS:13.909004, di:874, ds:880
    CH:18,CL:75, D1305.125977, uk:0.812675, lk:0.270000, PDS:9.366257, di:873, ds:880
    CH:26,CL:69, D1248.167480, uk:0.733566, lk:0.210000, PDS:13.321701, di:872, ds:880
    CH:28,CL:66, D1234.221069, uk:0.714196, lk:0.180000, PDS:14.290207, di:871, ds:880
    CH:40,CL:75, D1147.976563, uk:0.594412, lk:0.270000, PDS:20.279404, di:872, ds:880
    CH:40,CL:73, D1148.209961, uk:0.594736, lk:0.250000, PDS:20.263199, di:873, ds:880
    CH:40,CL:73, D1148.425903, uk:0.595036, lk:0.250000, PDS:20.248207, di:874, ds:880
    CH:29,CL:65, D1228.138916, uk:0.705748, lk:0.170000, PDS:14.712578, di:873, ds:880
    CH:57,CL:68, D1026.373657, uk:0.425519, lk:0.200000, PDS:28.724060, di:874, ds:880
    CH:28,CL:67, D1235.605591, uk:0.716119, lk:0.190000, PDS:14.194061, di:873, ds:880
    CH:33,CL:80, D1199.913452, uk:0.666546, lk:0.320000, PDS:16.672684, di:874, ds:880
    CH:31,CL:64, D1214.901001, uk:0.687362, lk:0.160000, PDS:15.631882, di:873, ds:880
    CH:23,CL:72, D1272.932983, uk:0.767962, lk:0.240000, PDS:11.601875, di:872, ds:880
    CH:18,CL:77, D1309.710571, uk:0.819042, lk:0.290000, PDS:9.047874, di:871, ds:880
    CH:26,CL:67, D1252.799561, uk:0.739999, lk:0.190000, PDS:13.000038, di:870, ds:880
    CH:49,CL:64, D1087.179077, uk:0.509971, lk:0.160000, PDS:24.501457, di:871, ds:880
    CH:19,CL:75, D1303.680176, uk:0.810667, lk:0.270000, PDS:9.466660, di:870, ds:880
    CH:47,CL:67, D1102.109253, uk:0.530707, lk:0.190000, PDS:23.464638, di:871, ds:880
    CH:35,CL:59, D1188.776123, uk:0.651078, lk:0.110000, PDS:17.446106, di:870, ds:880
    CH:38,CL:76, D1167.294922, uk:0.621243, lk:0.280000, PDS:18.937859, di:871, ds:880
    CH:30,CL:64, D1225.439209, uk:0.701999, lk:0.160000, PDS:14.900055, di:870, ds:880

    Regards,
    John
  • Richard,

    Some of my comments were regarding the DCL guide from 2015 - I was using GOOG and it brought up that version vs. the version from last fall - Nov. 2017 - but:

    I haven't been able to find C - just assembly language for the PID code.  I did find C in some of the older control suite releases.

    Thanks,
    John W.

  • And looking good but need to fix a few corner cases (discontinuity to the PID):
    CH:44,CL:51, D966.275269, uk:0.342049, lk:0.510000, PDC:32.897552, di:866, ds:868
    CH:45,CL:49, D959.240540, uk:0.332278, lk:0.490000, PDC:33.386078, di:864, ds:866
    CH:43,CL:51, D973.905090, uk:0.352646, lk:0.510000, PDC:32.367706, di:862, ds:864
    CH:40,CL:55, D995.945740, uk:0.383258, lk:0.550000, PDC:30.837097, di:860, ds:862
    CH:40,CL:53, D996.421021, uk:0.383918, lk:0.530000, PDC:30.804100, di:858, ds:860
    CH:45,CL:49, D960.592712, uk:0.334156, lk:0.490000, PDC:33.292175, di:856, ds:858
    CH:45,CL:49, D960.751465, uk:0.334377, lk:0.490000, PDC:33.281151, di:854, ds:856
    CH:42,CL:51, D982.668945, uk:0.364818, lk:0.510000, PDC:31.759102, di:852, ds:854
    CH:40,CL:54, D997.509583, uk:0.385430, lk:0.540000, PDC:30.728500, di:850, ds:852
    CH:43,CL:51, D976.201172, uk:0.355835, lk:0.510000, PDC:32.208252, di:848, ds:850
    CH:45,CL:49, D961.966492, uk:0.336065, lk:0.490000, PDC:33.196770, di:846, ds:848
    CH:44,CL:50, D969.378174, uk:0.346359, lk:0.500000, PDC:32.682076, di:844, ds:846
    CH:41,CL:52, D991.356140, uk:0.376884, lk:0.520000, PDC:31.155823, di:842, ds:844
    CH:42,CL:53, D984.493103, uk:0.367352, lk:0.530000, PDC:31.632423, di:840, ds:842
    CH:44,CL:50, D970.322021, uk:0.347669, lk:0.500000, PDC:32.616524, di:838, ds:840
    CH:44,CL:50, D970.538086, uk:0.347969, lk:0.500000, PDC:32.601524, di:836, ds:838
    CH:43,CL:51, D978.008057, uk:0.358344, lk:0.510000, PDC:32.082779, di:834, ds:836
    CH:42,CL:53, D985.538513, uk:0.368803, lk:0.530000, PDC:31.559822, di:832, ds:834
    CH:41,CL:54, D993.139160, uk:0.379360, lk:0.540000, PDC:31.032005, di:830, ds:832
    CH:45,CL:49, D964.514099, uk:0.339603, lk:0.490000, PDC:33.019859, di:828, ds:830
    CH:45,CL:49, D964.672913, uk:0.339823, lk:0.490000, PDC:33.008827, di:826, ds:828
    CH:42,CL:52, D986.590454, uk:0.370265, lk:0.520000, PDC:31.486771, di:824, ds:826
    CH:40,CL:54, D1001.439697, uk:0.390889, lk:0.540000, PDC:30.455574, di:822, ds:824
    CH:43,CL:51, D980.131348, uk:0.361294, lk:0.510000, PDC:31.935326, di:820, ds:822
    CH:42,CL:52, D987.661804, uk:0.371753, lk:0.520000, PDC:31.412376, di:818, ds:820
    CH:42,CL:53, D987.998779, uk:0.372220, lk:0.530000, PDC:31.388977, di:816, ds:818
    CH:40,CL:54, D1002.856689, uk:0.392857, lk:0.540000, PDC:30.357178, di:814, ds:816
    CH:36,CL:58, D1032.356445, uk:0.433829, lk:0.580000, PDC:28.308578, di:814, ds:816
    CH:28,CL:66, D1091.209351, uk:0.515568, lk:0.660000, PDC:24.221573, di:813, ds:816
    CH:32,CL:84, D1063.549805, uk:0.477152, lk:0.840000, PDC:26.142380, di:814, ds:816
    CH:36,CL:78, D1035.838379, uk:0.438664, lk:0.780000, PDC:28.066788, di:815, ds:816
    CH:37,CL:57, D1029.565063, uk:0.429952, lk:0.570000, PDC:28.502426, di:814, ds:816
    CH:39,CL:55, D1015.719177, uk:0.410721, lk:0.550000, PDC:29.463943, di:812, ds:814
    CH:29,CL:65, D1088.847778, uk:0.512289, lk:0.650000, PDC:24.385574, di:812, ds:814
    CH:34,CL:148, D1053.830566, uk:0.463654, lk:1.000000, PDC:26.817322, di:813, ds:814
    CH:32,CL:83, D1069.958496, uk:0.486054, lk:0.830000, PDC:25.697327, di:814, ds:814

    Regards,
    John
  • Richard,

    I'm giving the Non-Linear PID a try using the same settings as the Linear PID but using the defaults in the NLPID example with the exception of resetting the proportional and derivative gains. I'll post how that is going.

    I ran the linear PID for a while and eventually the Umin term dominated which resulted in fixing u(k); so obviously some tuning is needed.

    Thanks,
    John
  • Here's a look at some of the NL PID data:

    CH:32,CL:63, D993.927795, uk:0.380455, lk:0.630000, PDC:30.977234, DC:1
    CH:37,CL:57, D941.535339, uk:0.307688, lk:0.570000, PDC:34.615601, DC:2
    CH:33,CL:64, D983.895630, uk:0.366522, lk:0.640000, PDC:31.673912, DC:3
    CH:32,CL:61, D994.742310, uk:0.381586, lk:0.610000, PDC:30.920670, DC:4
    CH:37,CL:58, D942.342834, uk:0.308809, lk:0.580000, PDC:34.559525, DC:5
    CH:27,CL:67, D1047.952393, uk:0.455489, lk:0.670000, PDC:27.225533, DC:1
    CH:43,CL:51, D879.700256, uk:0.221806, lk:0.510000, PDC:38.909702, DC:2
    CH:25,CL:69, D1069.474609, uk:0.485381, lk:0.690000, PDC:25.730934, DC:3
    CH:41,CL:53, D901.269409, uk:0.251763, lk:0.530000, PDC:37.411850, DC:4
    CH:29,CL:65, D1027.856934, uk:0.427579, lk:0.650000, PDC:28.621048, DC:5
    CH:35,CL:62, D964.990112, uk:0.340264, lk:0.620000, PDC:32.986801, DC:1
    CH:35,CL:60, D965.245422, uk:0.340619, lk:0.600000, PDC:32.969070, DC:2
    CH:35,CL:62, D965.492432, uk:0.340962, lk:0.620000, PDC:32.951912, DC:3
    CH:31,CL:64, D1007.915710, uk:0.399883, lk:0.640000, PDC:30.005852, DC:4
    CH:36,CL:58, D955.546936, uk:0.327149, lk:0.580000, PDC:33.642578, DC:5
    CH:31,CL:66, D1008.471130, uk:0.400654, lk:0.660000, PDC:29.967285, DC:1
    CH:39,CL:56, D924.480103, uk:0.284000, lk:0.560000, PDC:35.799995, DC:2
    CH:30,CL:65, D1019.500793, uk:0.415973, lk:0.650000, PDC:29.201332, DC:3
    CH:39,CL:58, D924.984558, uk:0.284701, lk:0.580000, PDC:35.764961, DC:4
    CH:29,CL:65, D1030.557373, uk:0.431330, lk:0.650000, PDC:28.433517, DC:5
    CH:35,CL:60, D967.690613, uk:0.344015, lk:0.600000, PDC:32.799263, DC:1
    CH:37,CL:60, D946.854858, uk:0.315076, lk:0.600000, PDC:34.246193, DC:2
    CH:30,CL:64, D1020.853577, uk:0.417852, lk:0.640000, PDC:29.107391, DC:3
    CH:38,CL:56, D936.877136, uk:0.301218, lk:0.560000, PDC:34.939087, DC:4
    CH:32,CL:65, D1000.295105, uk:0.389299, lk:0.650000, PDC:30.535065, DC:5
    CH:31,CL:63, D1011.167419, uk:0.404399, lk:0.630000, PDC:29.780045, DC:1
    CH:31,CL:66, D1011.506592, uk:0.404870, lk:0.660000, PDC:29.756485, DC:2
    CH:36,CL:57, D959.145386, uk:0.332146, lk:0.570000, PDC:33.392685, DC:3
    CH:34,CL:60, D980.442932, uk:0.361726, lk:0.600000, PDC:31.913689, DC:4
    CH:34,CL:61, D980.708923, uk:0.362096, lk:0.610000, PDC:31.895218, DC:5
    CH:43,CL:52, D886.104004, uk:0.230700, lk:0.520000, PDC:38.465000, DC:1
    CH:18,CL:77, D1149.657593, uk:0.596747, lk:0.770000, PDC:20.162674, DC:2
    CH:46,CL:50, D855.079651, uk:0.187611, lk:0.500000, PDC:40.619469, DC:3
    CH:28,CL:69, D1044.799194, uk:0.451110, lk:0.690000, PDC:27.444504, DC:4
    CH:38,CL:57, D939.793823, uk:0.305269, lk:0.570000, PDC:34.736542, DC:5
    CH:41,CL:54, D908.353027, uk:0.261601, lk:0.540000, PDC:36.919930, DC:1
    CH:19,CL:76, D1140.341431, uk:0.583807, lk:0.760000, PDC:20.809624, DC:2
    CH:46,CL:50, D856.285156, uk:0.189285, lk:0.500000, PDC:40.535755, DC:3
    CH:26,CL:68, D1067.081055, uk:0.482057, lk:0.680000, PDC:25.897148, DC:4
    CH:43,CL:52, D888.308289, uk:0.233761, lk:0.520000, PDC:38.311928, DC:5
    CH:35,CL:60, D972.701355, uk:0.350974, lk:0.600000, PDC:32.451294, DC:1
    CH:25,CL:70, D1078.362183, uk:0.497725, lk:0.700000, PDC:25.113739, DC:2
    CH:44,CL:51, D878.525574, uk:0.220174, lk:0.510000, PDC:38.991280, DC:3
    CH:25,CL:70, D1078.822266, uk:0.498364, lk:0.700000, PDC:25.081787, DC:4
    CH:43,CL:51, D889.530212, uk:0.235459, lk:0.510000, PDC:38.227070, DC:5
    CH:35,CL:59, D973.919250, uk:0.352666, lk:0.590000, PDC:32.366722, DC:1
    CH:27,CL:68, D1058.490601, uk:0.470126, lk:0.680000, PDC:26.493713, DC:2
    CH:41,CL:52, D911.328003, uk:0.265733, lk:0.520000, PDC:36.713333, DC:3
    CH:30,CL:65, D1027.370728, uk:0.426904, lk:0.650000, PDC:28.654816, DC:4
    CH:38,CL:56, D943.397339, uk:0.310274, lk:0.560000, PDC:34.486298, DC:5
    CH:31,CL:66, D1017.355530, uk:0.412994, lk:0.660000, PDC:29.350311, DC:1
    CH:40,CL:55, D922.821289, uk:0.281696, lk:0.550000, PDC:35.915192, DC:2
    CH:31,CL:64, D1017.818726, uk:0.413637, lk:0.640000, PDC:29.318146, DC:3
    CH:39,CL:57, D933.822083, uk:0.296975, lk:0.570000, PDC:35.151245, DC:4
    CH:30,CL:64, D1028.848511, uk:0.428956, lk:0.640000, PDC:28.552193, DC:5
    CH:35,CL:59, D976.500061, uk:0.356250, lk:0.590000, PDC:32.187500, DC:1
    CH:39,CL:56, D934.578613, uk:0.298026, lk:0.560000, PDC:35.098709, DC:2
    CH:32,CL:63, D1008.518982, uk:0.400721, lk:0.630000, PDC:29.963959, DC:3
    CH:37,CL:58, D956.126587, uk:0.327954, lk:0.580000, PDC:33.602318, DC:4
    CH:34,CL:61, D987.950867, uk:0.372154, lk:0.610000, PDC:31.392303, DC:5
    CH:32,CL:63, D1009.304688, uk:0.401812, lk:0.630000, PDC:29.909393, DC:1
    CH:40,CL:54, D925.285217, uk:0.285118, lk:0.540000, PDC:35.744080, DC:2
    CH:31,CL:63, D1020.277283, uk:0.417052, lk:0.630000, PDC:29.147408, DC:3
    CH:39,CL:55, D936.277771, uk:0.300386, lk:0.550000, PDC:34.980713, DC:4
    CH:33,CL:62, D999.673279, uk:0.388435, lk:0.620000, PDC:30.578247, DC:5
    CH:32,CL:61, D1010.509827, uk:0.403486, lk:0.610000, PDC:29.825706, DC:1
    CH:43,CL:52, D894.860229, uk:0.242861, lk:0.520000, PDC:37.856930, DC:2
    CH:27,CL:67, D1063.564087, uk:0.477172, lk:0.670000, PDC:26.141388, DC:3
    CH:43,CL:53, D895.312073, uk:0.243489, lk:0.530000, PDC:37.825554, DC:4
    CH:28,CL:66, D1053.483521, uk:0.463171, lk:0.660000, PDC:26.841423, DC:5
    CH:38,CL:56, D948.468567, uk:0.317318, lk:0.560000, PDC:34.134132, DC:1
    CH:37,CL:58, D959.186096, uk:0.332203, lk:0.580000, PDC:33.389854, DC:2
    CH:33,CL:62, D1001.551086, uk:0.391043, lk:0.620000, PDC:30.447838, DC:3
    CH:39,CL:58, D938.593445, uk:0.303602, lk:0.580000, PDC:34.819901, DC:4
    CH:32,CL:65, D1012.544006, uk:0.406311, lk:0.650000, PDC:29.684448, DC:5
    CH:34,CL:60, D991.787415, uk:0.377483, lk:0.600000, PDC:31.125870, DC:1
    CH:40,CL:54, D928.805115, uk:0.290007, lk:0.540000, PDC:35.499641, DC:2
    CH:32,CL:63, D1013.257813, uk:0.407302, lk:0.630000, PDC:29.634872, DC:3
    CH:37,CL:56, D960.865295, uk:0.334535, lk:0.560000, PDC:33.273247, DC:4
    CH:36,CL:60, D971.600464, uk:0.349445, lk:0.600000, PDC:32.527748, DC:5
    CH:30,CL:65, D1035.076782, uk:0.437607, lk:0.650000, PDC:28.119675, DC:1
    CH:45,CL:49, D877.302734, uk:0.218476, lk:0.490000, PDC:39.076202, DC:2
    CH:29,CL:68, D1045.955811, uk:0.452716, lk:0.680000, PDC:27.364182, DC:3
    CH:41,CL:56, D919.837769, uk:0.277553, lk:0.560000, PDC:36.122375, DC:4
    CH:29,CL:66, D1046.443359, uk:0.453394, lk:0.660000, PDC:27.330330, DC:5
    CH:38,CL:56, D951.950928, uk:0.322154, lk:0.560000, PDC:33.892296, DC:1
    CH:37,CL:58, D962.668335, uk:0.337039, lk:0.580000, PDC:33.148033, DC:2
    CH:36,CL:59, D973.411133, uk:0.351960, lk:0.590000, PDC:32.402008, DC:3
    CH:34,CL:60, D994.717407, uk:0.381552, lk:0.600000, PDC:30.922401, DC:4
    CH:39,CL:58, D942.276489, uk:0.308717, lk:0.580000, PDC:34.564133, DC:5
    CH:29,CL:66, D1047.849365, uk:0.455346, lk:0.660000, PDC:27.232689, DC:1
    CH:45,CL:51, D879.553833, uk:0.221603, lk:0.510000, PDC:38.919872, DC:2
    CH:26,CL:68, D1079.834473, uk:0.499770, lk:0.680000, PDC:25.011497, DC:3
    CH:44,CL:51, D890.517700, uk:0.236830, lk:0.510000, PDC:38.158493, DC:4
    CH:31,CL:67, D1027.583252, uk:0.427199, lk:0.670000, PDC:28.640053, DC:5
    CH:35,CL:60, D985.769470, uk:0.369124, lk:0.600000, PDC:31.543785, DC:1
    CH:40,CL:55, D933.309509, uk:0.296263, lk:0.550000, PDC:35.186836, DC:2
    CH:32,CL:62, D1017.767273, uk:0.413566, lk:0.620000, PDC:29.321716, DC:3
    CH:41,CL:56, D923.203186, uk:0.282227, lk:0.560000, PDC:35.888672, DC:4
    CH:31,CL:64, D1028.728516, uk:0.428790, lk:0.640000, PDC:28.560524, DC:5
    CH:37,CL:58, D965.817200, uk:0.341413, lk:0.580000, PDC:32.929359, DC:1
    CH:38,CL:56, D955.478394, uk:0.327053, lk:0.560000, PDC:33.647331, DC:2
    CH:35,CL:60, D987.276062, uk:0.371217, lk:0.600000, PDC:31.439163, DC:3
    CH:37,CL:57, D966.440308, uk:0.342278, lk:0.570000, PDC:32.886093, DC:4
    CH:34,CL:60, D998.260193, uk:0.386473, lk:0.600000, PDC:30.676376, DC:5
    CH:35,CL:59, D987.984802, uk:0.372201, lk:0.590000, PDC:31.389946, DC:1
    CH:30,CL:65, D1040.933105, uk:0.445740, lk:0.650000, PDC:27.712982, DC:2
    CH:42,CL:55, D914.787964, uk:0.270539, lk:0.550000, PDC:36.473061, DC:3
    CH:31,CL:64, D1030.830200, uk:0.431709, lk:0.640000, PDC:28.414574, DC:4
    CH:41,CL:56, D925.748169, uk:0.285761, lk:0.560000, PDC:35.711929, DC:5
    CH:38,CL:56, D957.492676, uk:0.329851, lk:0.560000, PDC:33.507454, DC:1
    CH:27,CL:67, D1073.611328, uk:0.491127, lk:0.670000, PDC:25.443665, DC:2
    CH:45,CL:51, D884.272034, uk:0.228156, lk:0.510000, PDC:38.592220, DC:3
    CH:28,CL:67, D1063.475586, uk:0.477049, lk:0.670000, PDC:26.147530, DC:4
    CH:45,CL:52, D884.658630, uk:0.228693, lk:0.520000, PDC:38.565372, DC:5
    CH:37,CL:59, D969.018860, uk:0.345860, lk:0.590000, PDC:32.707024, DC:1
    CH:25,CL:69, D1095.717163, uk:0.521829, lk:0.690000, PDC:23.908531, DC:2
    CH:47,CL:50, D864.246521, uk:0.200342, lk:0.500000, PDC:39.982880, DC:3
    CH:27,CL:68, D1075.026855, uk:0.493093, lk:0.680000, PDC:25.345360, DC:4
    CH:44,CL:50, D896.232300, uk:0.244767, lk:0.500000, PDC:37.761646, DC:5
    CH:38,CL:56, D959.524963, uk:0.332674, lk:0.560000, PDC:33.366325, DC:1
    CH:26,CL:69, D1086.183716, uk:0.508588, lk:0.690000, PDC:24.570580, DC:2
    CH:46,CL:49, D875.779724, uk:0.216361, lk:0.490000, PDC:39.181965, DC:3
    CH:29,CL:66, D1054.955078, uk:0.465215, lk:0.660000, PDC:26.739235, DC:4
    CH:43,CL:54, D907.746216, uk:0.260759, lk:0.540000, PDC:36.962067, DC:5
    CH:39,CL:56, D949.989624, uk:0.319430, lk:0.560000, PDC:34.028503, DC:1
    CH:25,CL:69, D1097.710815, uk:0.524598, lk:0.690000, PDC:23.770088, DC:2
    CH:47,CL:48, D866.240234, uk:0.203111, lk:0.480000, PDC:39.844429, DC:3
    CH:26,CL:69, D1087.544678, uk:0.510479, lk:0.690000, PDC:24.476067, DC:4
    CH:45,CL:50, D887.684937, uk:0.232896, lk:0.500000, PDC:38.355213, DC:5
    CH:38,CL:57, D961.499939, uk:0.335417, lk:0.570000, PDC:33.229172, DC:1
    CH:26,CL:68, D1088.165649, uk:0.511341, lk:0.680000, PDC:24.432945, DC:2
    CH:46,CL:49, D877.760986, uk:0.219113, lk:0.490000, PDC:39.044380, DC:3
    CH:29,CL:66, D1056.936401, uk:0.467967, lk:0.660000, PDC:26.601639, DC:4
    CH:43,CL:52, D909.727539, uk:0.263510, lk:0.520000, PDC:36.824478, DC:5
    CH:27,CL:68, D1078.431396, uk:0.497821, lk:0.680000, PDC:25.108932, DC:1
    CH:46,CL:49, D878.549194, uk:0.220207, lk:0.490000, PDC:38.989639, DC:2

    Not bad - basically have what I call 'leading edge lock' with this.

    Thanks,
    John
  • John,

    Glad to hear you're making progress. The statement about the C4 controller being written in inline C is a typo. The C3 nd C4 controllers are funcionally identical. C3 is written in inline C, C4 in assembly. The latter is faster. The same typo is in the latest manual so I will mark it for correction in the next release. Thanks.

    It is very likely you will be able to get better transient response from the non-linear PID, but tuning it will take longer. You may have to experiment with different 'alpha' & 'delta' terms. My advice is to set it up in linear mode first, then fix those gains and concentrate on 'alpha' & 'delta'. There'll be a separate application report on tuning the NLPID in a few months.

    One thing you'll need to keep an eye on is the cycle count. The non-linear law is based on a powf() function which is not cycle efficient in its' RTS form. This function only gets executed when the respective path is operating in its non-linear region, so worst case, you'll be computing powf() three times each run of the controller. The C28x 'FastRTS' library has an efficient implementation of powf() and I recommend using that. Please post back to let us know how you get on with tuning this controller.

    Getting to the non-TI questions: I expect both Houston and San Digeo will run, but I usually confirm about 2-3 weeks in advance. As is comes from Amazon I can't do a discount on the book, but if you come to either one I will give you a copy!

    Regards,

    Richard
  • Richard,

    OK - I will move on to tuning then - I'll try the FastRTS lib - I'll do the NL then go back to the Linear (C4) - see if I can tune that and then move back to the NL PID.

    I have a few corner cases with the HRCAP registers - when it is on the edge of reading a value (this is on the other side of an ECL AND Gate) - I can get very large readings that are inaccurate in the HRCAP CLK counts; so I'm either going to saturate and/or just skip that reading when it happens - other than that things are running pretty well based on what I'm seeing now.

    I thought you are going to have a tuning FAQ/Guide for me to take a look at?

    Also - thanks for letting me know about the seminars - I hope I can be at one of them and am looking forward to the book!

    Regards,
    John

  • Hello Again Richard,

    When I look here:

    X:\ti\c2000\C2000Ware_1_00_04_00\libraries\math\FPUfastRTS\c28\source

    I don't see any source for the powf() function - but I'll keep looking and I'll examine my map file to see where the code is getting that from.

    I'll post what I find.

    Thanks,
    John
  • Richard,

    Here's what I have for DCL_NLPID.h - note there is no powf() being called by the inline c-code; so, should I be using another version of this?

    /* DCL_NLPID.h - non-linear PID controller
    *
    * Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
    * ALL RIGHTS RESERVED
    */

    #ifndef _C_DCL_NLPID_H
    #define _C_DCL_NPLID_H

    //! \file DCL_NLPID.h
    //! \brief Contains the public interface to the
    //! non-linear PID controller functions

    #include <math.h>

    //--- Non-linear PID controller -----------------------------------------------

    //! \brief Defines the non-linear PID controller structure
    //!
    typedef volatile struct {
    float32_t Kp; //!< Linear proportional gain
    float32_t Ki; //!< Linear integral gain
    float32_t Kd; //!< Linear derivative gain
    float32_t alpha_p; //!< P path non-linear exponent
    float32_t alpha_i; //!< I path non-linear exponent
    float32_t alpha_d; //!< D path non-linear exponent
    float32_t delta_p; //!< P path linearized range
    float32_t delta_i; //!< I path linearized range
    float32_t delta_d; //!< D path linearized range
    float32_t gamma_p; //!< P path gain limit
    float32_t gamma_i; //!< I path gain limit
    float32_t gamma_d; //!< D path gain limit
    float32_t c1; //!< D path filter coefficient 1
    float32_t c2; //!< D path filter coefficient 2
    float32_t d2; //!< D path filter intermediate storage 1
    float32_t d3; //!< D path filter intermediate storage 2
    float32_t i7; //!< I path intermediate storage
    float32_t i16; //!< Intermediate saturation storage
    float32_t Umax; //!< Upper saturation limit
    float32_t Umin; //!< Lower saturation limit
    } DCL_NLPID;

    //! \brief Defines default values to initialise the DCL_NLPID structure
    //!
    #define NLPID_DEFAULTS { 1.0f, 0.0f, 0.0f, \
    1.0f, 1.0f, 1.0f, \
    0.1f, 0.1f, 0.1f, \
    1.0f, 1.0f, 1.0f, \
    0.0f, 0.0f, \
    0.0f, 0.0f, \
    0.0f, 0.0f, \
    1.0f, -1.0f }

    //! \brief Executes a non-linear PID controller on the FPU32
    //! \param[in] p Pointer to the DCL_NLPID structure
    //! \param[in] rk The controller set-point reference
    //! \param[in] yk The measured feedback value
    //! \param[in] lk External output clamp flag
    //! \return The control effort
    //!
    static inline float32_t DCL_runNLPID_C1(DCL_NLPID *p, float32_t rk, float32_t yk, float32_t lk)
    {
    float32_t v1, v2, v3, v4, v5, v8, v9, v10, v12, v13, v14, v15;

    // pre-conditioning block
    v1 = rk - yk;
    v2 = (v1 < 0.0f) ? -1.0f : 1.0f;
    v3 = abs(v1);

    // proportional path
    v4 = ((v3 > p->delta_p) ? (v2 * (float32_t) pow(v3, p->alpha_p)) : (v1 * p->gamma_p));

    // integral path
    v5 = ((v3 > p->delta_i) ? (v2 * (float32_t) pow(v3, p->alpha_i)) : (v1 * p->gamma_i));
    v8 = (v5 * p->Kp * p->Ki * p->i16) + p->i7;
    p->i7 = v8;

    // derivative path
    v9 = ((v3 > p->delta_d) ? (v2 * (float32_t) pow(v3, p->alpha_d)) : (v1 * p->gamma_d));
    v10 = v9 * p->Kd * p->c1;
    v12 = v10 - p->d2 - p->d3;
    p->d2 = v10;
    p->d3 = v12 * p->c2;

    // output sum & clamp
    v13 = (p->Kp * (v4 + v12)) + v8;
    v14 = (v13 > p->Umax) ? p->Umax : v13;
    v14 = (v14 < p->Umin) ? p->Umin : v14;
    v15 = (v14 == v13) ? 1.0f : 0.0f;
    p->i16 = v15 * lk;

    return v14;
    }

    //! \brief Computes the linearised gains for each path
    //! \param[in] p Pointer to the DCL_NLPID structure
    //!
    static inline void DCL_setGamma(DCL_NLPID *p)
    {
    p->gamma_p = (float32_t) pow(p->delta_p, (p->alpha_p - 1.0f));
    p->gamma_i = (float32_t) pow(p->delta_i, (p->alpha_i - 1.0f));
    p->gamma_d = (float32_t) pow(p->delta_d, (p->alpha_d - 1.0f));
    }


    #endif // _C_DCL_NLPID_H

    /* end of file */

    And here is the FastRTS.h include file that's in:

    X:\ti\c2000\C2000Ware_1_00_04_00\libraries\math\FPUfastRTS\c28\include

    // TI File $Revision: /main/2 $
    // Checkin $Date: July 10, 2008 16:11:44 $
    //###########################################################################
    // This software is licensed for use with Texas Instruments C28x
    // family DSCs. This license was provided to you prior to installing
    // the software. You may review this license by consulting a copy of
    // the agreement in the doc directory of this library.
    // ------------------------------------------------------------------------
    // Copyright (C) 2007 Texas Instruments, Incorporated.
    // All Rights Reserved.
    // ==========================================================================
    //
    // FILE: C28x_FPU_FastRTS.h
    //
    // TITLE: Prototypes and Definitions for the C28x Fast RTS Library
    //
    // DESCRIPTION:
    //
    // These prototypes are for functions not found in the standard
    // RTS library.
    //
    // For standard functions, include the appropriate header file as
    // usual. For example: math.h
    //
    //###########################################################################
    // $TI Release: C28x FPU fastRTS Library V1.00 $
    // $Release Date: August 6, 2008 $
    //###########################################################################

    #ifndef C28X_FPU_FAST_RTS_H
    #define C28X_FPU_FAST_RTS_H


    #ifdef __cplusplus
    extern "C" {
    #endif

    //-----------------------------------------------------------------------------
    // Standard C28x Data Types
    //-----------------------------------------------------------------------------


    #ifndef DSP28_DATA_TYPES
    #define DSP28_DATA_TYPES
    typedef int int16;
    typedef long int32;
    typedef long long int64;
    typedef unsigned int Uint16;
    typedef unsigned long Uint32;
    typedef unsigned long long Uint64;
    typedef float float32;
    typedef long double float64;
    #endif


    //-----------------------------------------------------------------------------
    // Function Prototypes
    //-----------------------------------------------------------------------------

    float32 isqrt(float32 X);
    void sincos(float32 radian, float32* PtrSin, float32* PtrCos);

    //-----------------------------------------------------------------------------
    //
    //-----------------------------------------------------------------------------

    #ifdef __cplusplus
    }
    #endif /* extern "C" */

    #endif // - end of C28X_FPU_FAST_RTS_H

    //===========================================================================
    // End of file.
    //===========================================================================

    So, apparently, the lib and powf() function you are referring to are not what I have current access to regarding the TMS320F28069 resources I currently have.

    Thanks,
    John

  • Richard,

    So, the C67x FastRTS Library has a pow() and powf() function.

    But I haven't found one for the c28x.

    Thanks,
    John
  • Richard,

    I assume most if not all of these algorithms are set to run at about a 1s interval - is that correct?

    My original runs were more like 3-4 second intervals since I have a rather slow control but I tried running at 1ms just for fun - I have some things semaphore blocked but it ran and ended up saturating at Umin - just a lot faster - but it ran which was impressive I suppose. And it converged rather quickly before it saturated but it appears the NL PID does try to pull itself out of saturation.

    I'm running now at 1s intervals and it's looking good - I'm going to try 500mS in a little bit - but wanted to ask if 1s is about the norm for these PIDs which I would assume is the case; but please clarify that if that's OK.

    Thanks,
    John
  • And, here's some data at 1s:
    CH:40,CL:55, D982.918274, uk:-0.365164, lk:0.400000, PDC:31.741791, DC:3
    CH:41,CL:53, D961.936768, uk:-0.336023, lk:0.410000, PDC:33.198837, DC:4
    CH:40,CL:55, D983.072510, uk:-0.365378, lk:0.400000, PDC:31.731079, DC:5
    CH:40,CL:54, D972.626038, uk:-0.350870, lk:0.400000, PDC:32.456528, DC:1
    CH:40,CL:54, D972.702026, uk:-0.350975, lk:0.400000, PDC:32.451256, DC:2
    CH:39,CL:56, D993.848206, uk:-0.380345, lk:0.390000, PDC:30.982765, DC:3
    CH:42,CL:56, D993.947021, uk:-0.380482, lk:0.420000, PDC:30.975906, DC:4
    CH:41,CL:54, D972.981995, uk:-0.351364, lk:0.410000, PDC:32.431808, DC:5
    CH:42,CL:53, D962.524536, uk:-0.336840, lk:0.420000, PDC:33.158020, DC:1
    CH:40,CL:54, D973.126709, uk:-0.351565, lk:0.400000, PDC:32.421761, DC:2
    CH:41,CL:54, D973.202698, uk:-0.351670, lk:0.410000, PDC:32.416481, DC:3
    CH:40,CL:54, D973.280640, uk:-0.351779, lk:0.400000, PDC:32.411072, DC:4
    CH:42,CL:55, D983.891663, uk:-0.366516, lk:0.420000, PDC:31.674194, DC:5
    CH:40,CL:54, D973.449097, uk:-0.352013, lk:0.400000, PDC:32.399376, DC:1
    CH:41,CL:54, D973.525085, uk:-0.352118, lk:0.410000, PDC:32.394096, DC:2
    CH:40,CL:54, D973.602905, uk:-0.352226, lk:0.400000, PDC:32.388695, DC:3
    CH:40,CL:55, D984.214050, uk:-0.366964, lk:0.400000, PDC:31.651810, DC:4
    CH:42,CL:54, D973.767639, uk:-0.352455, lk:0.420000, PDC:32.377251, DC:5
    CH:40,CL:54, D973.847412, uk:-0.352566, lk:0.400000, PDC:32.371712, DC:1
    CH:41,CL:56, D994.993530, uk:-0.381935, lk:0.410000, PDC:30.903229, DC:2
    CH:41,CL:54, D974.026672, uk:-0.352815, lk:0.410000, PDC:32.359261, DC:3
    CH:42,CL:53, D963.569153, uk:-0.338291, lk:0.420000, PDC:33.085480, DC:4
    CH:40,CL:55, D984.707092, uk:-0.367649, lk:0.400000, PDC:31.617569, DC:5
    CH:40,CL:55, D984.795715, uk:-0.367772, lk:0.400000, PDC:31.611412, DC:1
    CH:42,CL:53, D963.814270, uk:-0.338631, lk:0.420000, PDC:33.068459, DC:2
    CH:41,CL:54, D974.416382, uk:-0.353356, lk:0.410000, PDC:32.332199, DC:3
    CH:42,CL:55, D985.029724, uk:-0.368097, lk:0.420000, PDC:31.595161, DC:4
    CH:40,CL:54, D974.587097, uk:-0.353593, lk:0.400000, PDC:32.320343, DC:5
    CH:41,CL:54, D974.663086, uk:-0.353699, lk:0.410000, PDC:32.315071, DC:1
    CH:41,CL:54, D974.741028, uk:-0.353807, lk:0.410000, PDC:32.309654, DC:2
    CH:42,CL:55, D985.354309, uk:-0.368548, lk:0.420000, PDC:31.572624, DC:3
    CH:41,CL:53, D964.376038, uk:-0.339411, lk:0.410000, PDC:33.029442, DC:4
    CH:40,CL:55, D985.511658, uk:-0.368766, lk:0.400000, PDC:31.561699, DC:5
    CH:42,CL:55, D985.600342, uk:-0.368889, lk:0.420000, PDC:31.555534, DC:1
    CH:42,CL:55, D985.693420, uk:-0.369019, lk:0.420000, PDC:31.549072, DC:2
    CH:42,CL:53, D964.715149, uk:-0.339882, lk:0.420000, PDC:33.005898, DC:3
    CH:40,CL:54, D975.317261, uk:-0.354607, lk:0.400000, PDC:32.269638, DC:4
    CH:41,CL:53, D964.858276, uk:-0.340081, lk:0.410000, PDC:32.995956, DC:5
    CH:40,CL:54, D975.458557, uk:-0.354804, lk:0.400000, PDC:32.259827, DC:1
    CH:41,CL:56, D996.604675, uk:-0.384173, lk:0.410000, PDC:30.791351, DC:2
    CH:40,CL:54, D975.637756, uk:-0.355052, lk:0.400000, PDC:32.247383, DC:3
    CH:42,CL:55, D986.248840, uk:-0.369790, lk:0.420000, PDC:31.510506, DC:4
    CH:41,CL:53, D965.270569, uk:-0.340654, lk:0.410000, PDC:32.967323, DC:5
    CH:42,CL:55, D986.406189, uk:-0.370009, lk:0.420000, PDC:31.499573, DC:1
    CH:40,CL:55, D986.499329, uk:-0.370138, lk:0.400000, PDC:31.493103, DC:2
    CH:42,CL:53, D965.517822, uk:-0.340997, lk:0.420000, PDC:32.950157, DC:3
    CH:40,CL:54, D976.119995, uk:-0.355722, lk:0.400000, PDC:32.213890, DC:4
    CH:42,CL:55, D986.731079, uk:-0.370460, lk:0.420000, PDC:31.477013, DC:5
    CH:42,CL:54, D976.288452, uk:-0.355956, lk:0.420000, PDC:32.202194, DC:1
    CH:42,CL:54, D976.368286, uk:-0.356067, lk:0.420000, PDC:32.196655, DC:2
    CH:42,CL:54, D976.447998, uk:-0.356178, lk:0.420000, PDC:32.191116, DC:3
    CH:41,CL:54, D976.527832, uk:-0.356289, lk:0.410000, PDC:32.185570, DC:4
    CH:41,CL:53, D966.070435, uk:-0.341764, lk:0.410000, PDC:32.911774, DC:5
    CH:42,CL:55, D987.206055, uk:-0.371120, lk:0.420000, PDC:31.444031, DC:1
    CH:42,CL:52, D955.692078, uk:-0.327350, lk:0.420000, PDC:33.632500, DC:2
    CH:42,CL:55, D987.352356, uk:-0.371323, lk:0.420000, PDC:31.433868, DC:3
    CH:42,CL:53, D966.374084, uk:-0.342186, lk:0.420000, PDC:32.890694, DC:4
    CH:42,CL:55, D987.511963, uk:-0.371544, lk:0.420000, PDC:31.422783, DC:5
    CH:41,CL:53, D966.533691, uk:-0.342408, lk:0.410000, PDC:32.879608, DC:1
    CH:40,CL:55, D987.669373, uk:-0.371763, lk:0.400000, PDC:31.411850, DC:2
    CH:41,CL:54, D977.222900, uk:-0.357254, lk:0.410000, PDC:32.137306, DC:3

    Regards,
    John
  • And, some data with the NLPID (still largely 'untuned') at 500mS rate:

    CH:46,CL:51, D991.178955, uk:-0.376637, lk:0.460000, PDC:31.168137, DC:5
    CH:45,CL:50, D980.685730, uk:-0.362064, lk:0.450000, PDC:31.896828, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D970.177551, uk:-0.347469, lk:0.460000, PDC:32.626564, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D980.729065, uk:-0.362124, lk:0.450000, PDC:31.893822, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D980.757568, uk:-0.362163, lk:0.450000, PDC:31.891838, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D959.712830, uk:-0.332934, lk:0.460000, PDC:33.353279, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:50, D980.786743, uk:-0.362204, lk:0.460000, PDC:31.889816, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D970.278931, uk:-0.347610, lk:0.460000, PDC:32.619522, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D970.293457, uk:-0.347630, lk:0.460000, PDC:32.618515, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:44,CL:50, D980.845032, uk:-0.362285, lk:0.440000, PDC:31.885765, DC:4
    CH:45,CL:49, D970.336548, uk:-0.347690, lk:0.450000, PDC:32.615517, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D970.350769, uk:-0.347709, lk:0.450000, PDC:32.614532, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:44,CL:50, D980.901672, uk:-0.362363, lk:0.440000, PDC:31.881836, DC:2
    CH:46,CL:51, D991.465881, uk:-0.377036, lk:0.460000, PDC:31.148209, DC:3
    CH:44,CL:51, D991.509583, uk:-0.377097, lk:0.440000, PDC:31.145172, DC:4
    CH:44,CL:50, D981.015076, uk:-0.362521, lk:0.440000, PDC:31.873962, DC:5
    CH:46,CL:49, D970.506653, uk:-0.347926, lk:0.460000, PDC:32.603714, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D959.984253, uk:-0.333311, lk:0.460000, PDC:33.334427, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D970.521179, uk:-0.347946, lk:0.460000, PDC:32.602675, DC:1
    CH:45,CL:49, D971.223877, uk:-0.348922, lk:0.450000, PDC:32.553902, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D971.238098, uk:-0.348942, lk:0.460000, PDC:32.552917, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:50, D981.789612, uk:-0.363597, lk:0.460000, PDC:31.820175, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D971.281799, uk:-0.349003, lk:0.450000, PDC:32.549881, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:47,CL:50, D981.832703, uk:-0.363657, lk:0.470000, PDC:31.817177, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:47,CL:50, D981.862488, uk:-0.363698, lk:0.470000, PDC:31.815109, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D971.354980, uk:-0.349104, lk:0.460000, PDC:32.544800, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D971.369507, uk:-0.349124, lk:0.460000, PDC:32.543793, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D981.921082, uk:-0.363779, lk:0.450000, PDC:31.811043, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:47,CL:49, D971.412964, uk:-0.349185, lk:0.470000, PDC:32.540771, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:44,CL:50, D981.965027, uk:-0.363840, lk:0.440000, PDC:31.807991, DC:2
    CH:46,CL:51, D992.529236, uk:-0.378513, lk:0.460000, PDC:31.074364, DC:3
    CH:46,CL:48, D960.962097, uk:-0.334670, lk:0.460000, PDC:33.266525, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:50, D982.036011, uk:-0.363939, lk:0.460000, PDC:31.803062, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D982.065125, uk:-0.363979, lk:0.450000, PDC:31.801041, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D971.557068, uk:-0.349385, lk:0.460000, PDC:32.530762, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D971.571533, uk:-0.349405, lk:0.450000, PDC:32.529762, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D971.585815, uk:-0.349425, lk:0.460000, PDC:32.528763, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D971.600403, uk:-0.349445, lk:0.450000, PDC:32.527756, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D982.151306, uk:-0.364099, lk:0.450000, PDC:31.795052, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D982.179810, uk:-0.364139, lk:0.450000, PDC:31.793076, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:44,CL:49, D971.671631, uk:-0.349544, lk:0.440000, PDC:32.522812, DC:3
    CH:44,CL:50, D982.221924, uk:-0.364197, lk:0.440000, PDC:31.790146, DC:4
    CH:45,CL:50, D982.249817, uk:-0.364236, lk:0.450000, PDC:31.788216, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D971.741577, uk:-0.349641, lk:0.460000, PDC:32.517952, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D971.756165, uk:-0.349661, lk:0.450000, PDC:32.516937, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D982.307068, uk:-0.364315, lk:0.450000, PDC:31.784233, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D982.335571, uk:-0.364355, lk:0.450000, PDC:31.782257, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:44,CL:50, D982.364075, uk:-0.364395, lk:0.440000, PDC:31.780281, DC:5
    CH:46,CL:51, D992.928284, uk:-0.379067, lk:0.460000, PDC:31.046654, DC:1
    CH:46,CL:48, D961.361145, uk:-0.335224, lk:0.460000, PDC:33.238815, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:50, D982.435059, uk:-0.364493, lk:0.460000, PDC:31.775352, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D971.927124, uk:-0.349899, lk:0.450000, PDC:32.505066, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:44,CL:50, D982.478149, uk:-0.364553, lk:0.440000, PDC:31.772354, DC:5
    CH:46,CL:50, D982.505981, uk:-0.364592, lk:0.460000, PDC:31.770416, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:51, D993.072021, uk:-0.379267, lk:0.460000, PDC:31.036667, DC:2
    CH:46,CL:50, D982.578796, uk:-0.364693, lk:0.460000, PDC:31.765366, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D961.534058, uk:-0.335464, lk:0.460000, PDC:33.226807, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D982.607910, uk:-0.364733, lk:0.450000, PDC:31.763344, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D982.636414, uk:-0.364773, lk:0.450000, PDC:31.761368, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:47,CL:49, D972.128357, uk:-0.350178, lk:0.470000, PDC:32.491089, DC:2 <:!:=>PHASE LOCK<=:!:>

    CH:45,CL:50, D986.266357, uk:-0.369814, lk:0.450000, PDC:31.509285, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:50, D986.294861, uk:-0.369854, lk:0.460000, PDC:31.507309, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D965.250061, uk:-0.340625, lk:0.460000, PDC:32.968750, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D986.323975, uk:-0.369894, lk:0.450000, PDC:31.505280, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D975.815796, uk:-0.355300, lk:0.450000, PDC:32.235023, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:50, D986.366699, uk:-0.369954, lk:0.460000, PDC:31.502319, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D965.321960, uk:-0.340725, lk:0.460000, PDC:32.963760, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:48, D965.321960, uk:-0.340725, lk:0.450000, PDC:32.963760, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D986.395203, uk:-0.369993, lk:0.450000, PDC:31.500336, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D965.350464, uk:-0.340764, lk:0.460000, PDC:32.961777, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:48, D965.350464, uk:-0.340764, lk:0.450000, PDC:32.961777, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D986.423706, uk:-0.370033, lk:0.450000, PDC:31.498360, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:51, D996.988831, uk:-0.384707, lk:0.460000, PDC:30.764671, DC:2
    CH:47,CL:50, D986.495544, uk:-0.370133, lk:0.470000, PDC:31.493370, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D975.988037, uk:-0.355539, lk:0.460000, PDC:32.223061, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D965.465637, uk:-0.340925, lk:0.460000, PDC:32.953781, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:47,CL:50, D986.539673, uk:-0.370194, lk:0.470000, PDC:31.490303, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D976.032104, uk:-0.355600, lk:0.450000, PDC:32.219994, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D976.046326, uk:-0.355620, lk:0.450000, PDC:32.219009, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:50, D986.597229, uk:-0.370274, lk:0.460000, PDC:31.486305, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D965.552490, uk:-0.341045, lk:0.460000, PDC:32.947746, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D976.089417, uk:-0.355680, lk:0.450000, PDC:32.216019, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:47,CL:49, D976.103638, uk:-0.355700, lk:0.470000, PDC:32.215027, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:48, D965.581238, uk:-0.341085, lk:0.450000, PDC:32.945755, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D976.117920, uk:-0.355719, lk:0.450000, PDC:32.214043, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D976.132141, uk:-0.355739, lk:0.450000, PDC:32.213051, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D965.609741, uk:-0.341125, lk:0.460000, PDC:32.943771, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:48, D965.609741, uk:-0.341125, lk:0.450000, PDC:32.943771, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D986.683044, uk:-0.370393, lk:0.450000, PDC:31.480347, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D976.174927, uk:-0.355798, lk:0.460000, PDC:32.210075, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:51, D997.263306, uk:-0.385088, lk:0.460000, PDC:30.745605, DC:5
    CH:45,CL:50, D986.770203, uk:-0.370514, lk:0.450000, PDC:31.474297, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D976.261963, uk:-0.355919, lk:0.450000, PDC:32.204033, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:50, D986.812927, uk:-0.370573, lk:0.460000, PDC:31.471329, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D965.768127, uk:-0.341345, lk:0.460000, PDC:32.932770, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D965.768127, uk:-0.341345, lk:0.460000, PDC:32.932770, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D976.305054, uk:-0.355979, lk:0.450000, PDC:32.201042, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:50, D986.855957, uk:-0.370633, lk:0.460000, PDC:31.468338, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:50, D986.885132, uk:-0.370674, lk:0.460000, PDC:31.466316, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D965.840271, uk:-0.341445, lk:0.460000, PDC:32.927765, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D965.840271, uk:-0.341445, lk:0.460000, PDC:32.927765, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D986.914185, uk:-0.370714, lk:0.450000, PDC:31.464294, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D976.406067, uk:-0.356120, lk:0.450000, PDC:32.194023, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D976.420288, uk:-0.356139, lk:0.450000, PDC:32.193039, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:50, D986.971191, uk:-0.370793, lk:0.460000, PDC:31.460342, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D965.926453, uk:-0.341565, lk:0.460000, PDC:32.921776, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:48, D965.926453, uk:-0.341565, lk:0.450000, PDC:32.921776, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:44,CL:50, D986.999695, uk:-0.370833, lk:0.440000, PDC:31.458359, DC:2
    CH:45,CL:50, D987.027588, uk:-0.370872, lk:0.450000, PDC:31.456421, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D976.519409, uk:-0.356277, lk:0.460000, PDC:32.186157, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D965.997131, uk:-0.341663, lk:0.460000, PDC:32.916870, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D976.533997, uk:-0.356297, lk:0.460000, PDC:32.185143, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D976.548584, uk:-0.356317, lk:0.450000, PDC:32.184128, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:44,CL:50, D987.099426, uk:-0.370972, lk:0.440000, PDC:31.451431, DC:3
    CH:44,CL:50, D987.127319, uk:-0.371010, lk:0.440000, PDC:31.449493, DC:4
    CH:45,CL:50, D987.155212, uk:-0.371049, lk:0.450000, PDC:31.447563, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D976.647034, uk:-0.356454, lk:0.460000, PDC:32.177292, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D976.661682, uk:-0.356474, lk:0.460000, PDC:32.176277, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D976.676147, uk:-0.356495, lk:0.450000, PDC:32.175270, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D976.690430, uk:-0.356515, lk:0.450000, PDC:32.174278, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D987.241394, uk:-0.371169, lk:0.450000, PDC:31.441574, DC:5 <:!:=>PHASE LOCK<=:!:>


    Regards,
    John

  • And, more data at the 500mS rate - this is nice:

    CH:47,CL:48, D968.751831, uk:-0.345489, lk:0.470000, PDC:32.725571, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:47,CL:50, D989.826477, uk:-0.374759, lk:0.470000, PDC:31.262054, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D968.781616, uk:-0.345530, lk:0.460000, PDC:32.723503, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:47,CL:48, D968.781616, uk:-0.345530, lk:0.470000, PDC:32.723503, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:48, D968.781616, uk:-0.345530, lk:0.450000, PDC:32.723503, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:48, D968.781616, uk:-0.345530, lk:0.450000, PDC:32.723503, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D979.318176, uk:-0.360164, lk:0.450000, PDC:31.991798, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:50, D989.869202, uk:-0.374818, lk:0.460000, PDC:31.259087, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D968.824341, uk:-0.345589, lk:0.460000, PDC:32.720535, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:48, D968.824341, uk:-0.345589, lk:0.450000, PDC:32.720535, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:50, D989.897705, uk:-0.374858, lk:0.460000, PDC:31.257111, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:50, D989.926758, uk:-0.374898, lk:0.460000, PDC:31.255089, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D979.418945, uk:-0.360304, lk:0.460000, PDC:31.984802, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D979.433533, uk:-0.360324, lk:0.450000, PDC:31.983788, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:50, D989.984375, uk:-0.374978, lk:0.460000, PDC:31.251091, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:47,CL:50, D990.013550, uk:-0.375019, lk:0.470000, PDC:31.249062, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:47,CL:48, D968.968750, uk:-0.345790, lk:0.470000, PDC:32.710503, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D979.505981, uk:-0.360425, lk:0.460000, PDC:31.978760, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D968.983643, uk:-0.345811, lk:0.460000, PDC:32.709473, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D968.983643, uk:-0.345811, lk:0.460000, PDC:32.709473, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D968.983643, uk:-0.345811, lk:0.460000, PDC:32.709473, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D979.520569, uk:-0.360445, lk:0.450000, PDC:31.977745, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D979.534851, uk:-0.360465, lk:0.460000, PDC:31.976753, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D969.012512, uk:-0.345851, lk:0.460000, PDC:32.707474, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D979.549438, uk:-0.360485, lk:0.460000, PDC:31.975739, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D979.564026, uk:-0.360506, lk:0.450000, PDC:31.974724, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D979.578247, uk:-0.360525, lk:0.450000, PDC:31.973740, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D979.592529, uk:-0.360545, lk:0.460000, PDC:31.972748, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D979.607117, uk:-0.360565, lk:0.460000, PDC:31.971733, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:47,CL:49, D979.621582, uk:-0.360586, lk:0.470000, PDC:31.970726, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D969.099304, uk:-0.345971, lk:0.460000, PDC:32.701439, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:48, D969.099304, uk:-0.345971, lk:0.450000, PDC:32.701439, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:47,CL:50, D990.172546, uk:-0.375240, lk:0.470000, PDC:31.238022, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D990.202332, uk:-0.375281, lk:0.450000, PDC:31.235954, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:50, D990.230774, uk:-0.375321, lk:0.460000, PDC:31.233978, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D969.186035, uk:-0.346092, lk:0.460000, PDC:32.695419, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:47,CL:48, D969.186035, uk:-0.346092, lk:0.470000, PDC:32.695419, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D969.186035, uk:-0.346092, lk:0.460000, PDC:32.695419, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D979.722961, uk:-0.360726, lk:0.460000, PDC:31.963692, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:47,CL:49, D979.737549, uk:-0.360747, lk:0.470000, PDC:31.962677, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D979.752441, uk:-0.360767, lk:0.450000, PDC:31.961639, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D979.766663, uk:-0.360787, lk:0.460000, PDC:31.960655, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:48, D969.244263, uk:-0.346173, lk:0.450000, PDC:32.691376, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D990.317566, uk:-0.375441, lk:0.450000, PDC:31.227951, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:50, D990.346069, uk:-0.375481, lk:0.460000, PDC:31.225975, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D969.301270, uk:-0.346252, lk:0.460000, PDC:32.687416, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:47,CL:48, D969.301270, uk:-0.346252, lk:0.470000, PDC:32.687416, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D969.301270, uk:-0.346252, lk:0.460000, PDC:32.687416, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:48, D969.301270, uk:-0.346252, lk:0.450000, PDC:32.687416, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D979.837891, uk:-0.360886, lk:0.450000, PDC:31.955704, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D990.388794, uk:-0.375540, lk:0.450000, PDC:31.223007, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D990.417297, uk:-0.375580, lk:0.450000, PDC:31.221024, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D969.372498, uk:-0.346351, lk:0.460000, PDC:32.682465, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D969.372498, uk:-0.346351, lk:0.460000, PDC:32.682465, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:47,CL:48, D969.372498, uk:-0.346351, lk:0.470000, PDC:32.682465, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:47,CL:50, D990.447083, uk:-0.375621, lk:0.470000, PDC:31.218956, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D969.402283, uk:-0.346392, lk:0.460000, PDC:32.680397, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D969.402283, uk:-0.346392, lk:0.460000, PDC:32.680397, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D979.939270, uk:-0.361027, lk:0.450000, PDC:31.948669, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:50, D990.490112, uk:-0.375681, lk:0.450000, PDC:31.215965, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:47,CL:50, D990.518616, uk:-0.375720, lk:0.470000, PDC:31.213989, DC:3 <:!:=>PHASE LOCK<=:!:>

    So, who said anything about tuning! Ha!

    Thanks,
    John
  • Of course we still need to tune - here's an example of how it will saturate (Umin) and then pull out of saturation:

    CH:46,CL:49, D988.705505, uk:-0.373202, lk:0.460000, PDC:31.339905, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:44,CL:50, D999.257019, uk:-0.387857, lk:0.440000, PDC:30.607155, DC:1
    CH:46,CL:51, D1009.821228, uk:-0.402529, lk:0.460000, PDC:29.873535, DC:2
    CH:44,CL:50, D999.328003, uk:-0.387956, lk:0.440000, PDC:30.602226, DC:3
    CH:43,CL:52, D1020.428528, uk:-0.417262, lk:0.430000, PDC:29.136917, DC:4
    CH:43,CL:51, D1009.946960, uk:-0.402704, lk:0.430000, PDC:29.864799, DC:5
    CH:42,CL:53, D1031.059814, uk:-0.432027, lk:0.420000, PDC:28.398628, DC:1
    CH:42,CL:55, D1052.197754, uk:-0.461386, lk:0.420000, PDC:26.930710, DC:2
    CH:40,CL:54, D1041.755005, uk:-0.446882, lk:0.400000, PDC:27.655907, DC:3
    CH:38,CL:56, D1062.901123, uk:-0.476252, lk:0.380000, PDC:26.187424, DC:4
    CH:35,CL:59, D1080.000000, uk:-0.500000, lk:0.350000, PDC:25.000008, DC:5
    CH:35,CL:62, D1080.000000, uk:-0.500000, lk:0.350000, PDC:25.000008, DC:1
    CH:32,CL:62, D1080.000000, uk:-0.500000, lk:0.320000, PDC:25.000008, DC:2
    CH:31,CL:65, D1080.000000, uk:-0.500000, lk:0.310000, PDC:25.000008, DC:3
    CH:29,CL:68, D1080.000000, uk:-0.500000, lk:0.290000, PDC:25.000008, DC:4
    CH:26,CL:69, D1080.000000, uk:-0.500000, lk:0.260000, PDC:25.000008, DC:5
    CH:22,CL:72, D1080.000000, uk:-0.500000, lk:0.220000, PDC:25.000008, DC:1
    CH:20,CL:74, D1080.000000, uk:-0.500000, lk:0.200000, PDC:25.000008, DC:2
    CH:18,CL:76, D1080.000000, uk:-0.500000, lk:0.180000, PDC:25.000008, DC:3
    CH:16,CL:78, D1080.000000, uk:-0.500000, lk:0.160000, PDC:25.000008, DC:4
    CH:14,CL:81, D1080.000000, uk:-0.500000, lk:0.140000, PDC:25.000008, DC:5
    CH:14,CL:84, D1080.000000, uk:-0.500000, lk:0.140000, PDC:25.000008, DC:1
    CH:10,CL:84, D1080.000000, uk:-0.500000, lk:0.100000, PDC:25.000008, DC:2
    CH:104,CL:86, D1080.000000, uk:-0.500000, lk:0.960000, PDC:25.000008, DC:3
    CH:100,CL:90, D1080.000000, uk:-0.500000, lk:1.000000, PDC:25.000008, DC:4
    CH:102,CL:96, D1080.000000, uk:-0.500000, lk:0.960000, PDC:25.000008, DC:5
    CH:102,CL:95, D1080.000000, uk:-0.500000, lk:0.960000, PDC:25.000008, DC:1
    CH:102,CL:191, D1080.000000, uk:-0.500000, lk:0.960000, PDC:25.000008, DC:2
    CH:101,CL:95, D1080.000000, uk:-0.500000, lk:0.960000, PDC:25.000008, DC:3
    CH:102,CL:94, D1080.000000, uk:-0.500000, lk:0.960000, PDC:25.000008, DC:4
    CH:7,CL:90, D1080.000000, uk:-0.500000, lk:0.070000, PDC:25.000008, DC:5
    CH:9,CL:85, D1080.000000, uk:-0.500000, lk:0.090000, PDC:25.000008, DC:1
    CH:10,CL:85, D1080.000000, uk:-0.500000, lk:0.100000, PDC:25.000008, DC:2
    CH:14,CL:84, D1080.000000, uk:-0.500000, lk:0.140000, PDC:25.000008, DC:3
    CH:16,CL:79, D1080.000000, uk:-0.500000, lk:0.160000, PDC:25.000008, DC:4
    CH:18,CL:77, D1080.000000, uk:-0.500000, lk:0.180000, PDC:25.000008, DC:5
    CH:20,CL:75, D1080.000000, uk:-0.500000, lk:0.200000, PDC:25.000008, DC:1
    CH:21,CL:73, D1080.000000, uk:-0.500000, lk:0.210000, PDC:25.000008, DC:2
    CH:24,CL:70, D1080.000000, uk:-0.500000, lk:0.240000, PDC:25.000008, DC:3
    CH:27,CL:70, D1080.000000, uk:-0.500000, lk:0.270000, PDC:25.000008, DC:4
    CH:29,CL:66, D1080.000000, uk:-0.500000, lk:0.290000, PDC:25.000008, DC:5
    CH:30,CL:64, D1080.000000, uk:-0.500000, lk:0.300000, PDC:25.000008, DC:1
    CH:33,CL:61, D1080.000000, uk:-0.500000, lk:0.330000, PDC:25.000008, DC:2
    CH:34,CL:60, D1080.000000, uk:-0.500000, lk:0.340000, PDC:25.000008, DC:3
    CH:37,CL:58, D1080.000000, uk:-0.500000, lk:0.370000, PDC:25.000008, DC:4
    CH:39,CL:55, D1052.511230, uk:-0.461821, lk:0.390000, PDC:26.908943, DC:5
    CH:40,CL:54, D1042.062866, uk:-0.447310, lk:0.400000, PDC:27.634521, DC:1
    CH:42,CL:53, D1031.603882, uk:-0.432783, lk:0.420000, PDC:28.360840, DC:2
    CH:45,CL:52, D1021.134583, uk:-0.418243, lk:0.450000, PDC:29.087883, DC:3
    CH:43,CL:51, D1010.654968, uk:-0.403687, lk:0.430000, PDC:29.815636, DC:4
    CH:46,CL:49, D989.623779, uk:-0.374478, lk:0.460000, PDC:31.276131, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:48, D979.101501, uk:-0.359863, lk:0.450000, PDC:32.006844, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D989.638062, uk:-0.374497, lk:0.450000, PDC:31.275139, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D989.652283, uk:-0.374517, lk:0.460000, PDC:31.274155, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D989.666870, uk:-0.374537, lk:0.450000, PDC:31.273140, DC:4 <:!:=>PHASE LOCK<=:!:>
    CH:45,CL:49, D989.681152, uk:-0.374557, lk:0.450000, PDC:31.272148, DC:5 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D979.158752, uk:-0.359943, lk:0.460000, PDC:32.002869, DC:1 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D979.158752, uk:-0.359943, lk:0.460000, PDC:32.002869, DC:2 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:48, D979.158752, uk:-0.359943, lk:0.460000, PDC:32.002869, DC:3 <:!:=>PHASE LOCK<=:!:>
    CH:46,CL:49, D989.695740, uk:-0.374577, lk:0.460000, PDC:31.271133, DC:4 <:!:=>PHASE LOCK<=:!:>

    Thanks,
    John
  • John,

    Sorry for the delay getting back. This is a rare week when I'm travelling on business.

    Thanks for the data and glad to see you're making progress. Actually the controllers don't care what the sample rate is. The parameters used in the examples were taken from Matlab simulations I used to verify them. In DCL v3 there is a small Simulink block-set and a PID simulation model, and I seem to recall the sample rate used in testing was mostly 10ms but I tried several different rates.

    Regarding the powf() function, it is a recent addition to FastRTS so it's possible the release at the end of the month may be the first to carry it. Let me check that and get back to you.

    Regards,

    Richard

  • John,

    Unfortunately the update to FastRTS with powf() support is scheduled for a C2000Ware release in September. Sorry about that. Anyway, do please keep an eye on cycle count if you use NLPID with RTS. Your sample rate is pretty low, but if the CPU is loaded by other tasks it might still become an issue. Please post back if it does - I have a couple of ideas.

    Regards,

    Richard
  • Hello Richard,

    I have downloaded the new v5 of C2000 Ware.  

    Looks like there are lots of new utility functions which of course is good.  And I see the new 64-bit FP PID.

    And there are two versions of the Non-Linear PID now.  But I'm wondering if I really need to have set-point
    weighting or not since it's obviously important; and in my system things go non-linear rather quickly (within
    1 or 2 cycle counts) if the system is able to drift too far from the SP.  You can almost think of it as setting the
    horizontal sync on an old NTSC TV set.

    I was wondering what your ideas may be regarding the PID until we get the new powf() implementation.

    Thanks!
    John

  • John,

    Prior to powf() support in FastRTS you'll have to use the standard RTS library if you want to use NLPID. Unfortunately there's no other way. That will leave you with several hundred cycles each time the power function is called. The FastRTS implementation reduces this to ~109 cycles.

    Longer term there will be a really nice way of computing powf in a couple of cycles, but not on the device you're using. I regret I can't say more but it's something to keep in mind if you really need the performance and can wait. Look for this in about a year.

    If you run into a bandwidth issue there is one other way, though I hesitate because it requires surgery to the NLPID controller code. DCLv3 has a gain scheduler module (GSM) which allows the user to implement any non-linear shape in a piecewise fashion. I haven't done it, but should be straightforward to replace the powf call in each path of NLPID_C1 with a call to the GSM configured with the non-linear curve. You'll need three GSM instances (one for each path), configured with a separate look-up table loaded with the required alpha. Each GSM call takes about 50 cycles and the linear region will still be needed. There is an example in the library which shows how to load the GSM tables.

    If you decide to try it, in DCL_runNLPID_C1, this...

    v4 = ((v3 > p->delta_p) ? (v2 * (float32_t) powf(v3, p->alpha_p)) : (v1 * p->gamma_p));

    ...changes to something like...

    v4 = ((v3 > p->delta_p) ? (v2 * DCL_runGSM(&pGsm)) : (v1 * p->gamma_p));

    ...where you have configured pGsm with the NL curve for the P-path. Likewise for the two lines after that. I think it will work.

    Regards,

    Richard
  • Richard,

    Is there a way to become a beta/alpha tester for the new fast RTS?

    Thanks for letting me know about the GSM - as I dig a little deeper into the edge cases I have it will become apparent whether or not I really need to do this - but I'm pretty sure the SP weighting will become more important for that; and I may go back and look at the linear PID again; but I will take a look at how the two different NL PIDs run as well compared to each other.

    Thanks for this idea.

    Regards,
    John
  • Richard,

    Just tried the new NL PIDS - with just plugging them in - neither one converges - oh well, looks like tuning is in order.

    I'm going to try the new Linear PID and see how that does.

    Regards,
    John
  • Richard,

    Due to excessive probing, I had unwittingly lifted a few pins on my main PWM driver; so that would explain why the NL PIDs weren't looking so good not to mention I had missed the new sps structure members and am now making sure I'm not missing anything in the css department.

    I missed all of these:

    nlpid1.sps->Kp = 3.5f;
    nlpid1.sps->Ki = 0.004f;
    nlpid1.sps->Kd = 0.35f;
    nlpid1.sps->alpha_p = 0.8f;
    nlpid1.sps->alpha_i = 0.95f;
    nlpid1.sps->alpha_d = 1.0f;
    nlpid1.sps->delta_p = 0.15f;
    nlpid1.sps->delta_i = 0.15f;
    nlpid1.sps->delta_d = 0.15f;
    nlpid1.i7 = 0.0f;
    nlpid1.i16 = 0.0f;
    nlpid1.d2 = 0.0f;
    nlpid1.d3 = 0.0f;
    nlpid1.sps->c1 = 151.7093985989552f;
    nlpid1.sps->c2 = 0.517093985989552f;
    nlpid1.sps->Umax = 0.31f;
    nlpid1.sps->Umin = -0.27f;



    I'll report back.

    Interesting though - when I fixed the PWM issue; the NL PID - version - C1 got stuck - the PWM duty percent was in the ~30% positive or so but it just stuck there - then I noticed I missed all of the new sps members.

    Regards,
    John

  • Here's some data - running C1 version of NLPID, 1.05.00 C2KW:
    CH:46,CL:50, D988.581238, uk:-0.373030, lk:0.460000, PDC:31.348526, DC:3 <:!:=>DPHASE LOCK<=:!:>
    CH:45,CL:48, D967.536499, uk:-0.343801, lk:0.450000, PDC:32.809967, DC:4 <:!:=>DPHASE LOCK<=:!:>
    CH:45,CL:51, D999.146362, uk:-0.387703, lk:0.450000, PDC:30.614838, DC:5
    CH:45,CL:49, D978.115906, uk:-0.358494, lk:0.450000, PDC:32.075287, DC:1 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:51, D999.203369, uk:-0.387782, lk:0.460000, PDC:30.610886, DC:2
    CH:46,CL:49, D978.173157, uk:-0.358574, lk:0.460000, PDC:32.071312, DC:3 <:!:=>DPHASE LOCK<=:!:>
    CH:45,CL:50, D988.724731, uk:-0.373229, lk:0.450000, PDC:31.338570, DC:4 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:48, D967.679932, uk:-0.344000, lk:0.460000, PDC:32.800003, DC:5 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:50, D988.753845, uk:-0.373269, lk:0.460000, PDC:31.336540, DC:1 <:!:=>DPHASE LOCK<=:!:>
    CH:45,CL:49, D978.245972, uk:-0.358675, lk:0.450000, PDC:32.066254, DC:2 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:48, D967.723694, uk:-0.344061, lk:0.460000, PDC:32.796967, DC:3 <:!:=>DPHASE LOCK<=:!:>
    CH:45,CL:50, D988.797485, uk:-0.373330, lk:0.450000, PDC:31.333511, DC:4 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:51, D999.362671, uk:-0.388004, lk:0.460000, PDC:30.599823, DC:5
    CH:44,CL:50, D988.869446, uk:-0.373430, lk:0.440000, PDC:31.328514, DC:1
    CH:45,CL:50, D988.897339, uk:-0.373468, lk:0.450000, PDC:31.326584, DC:2 <:!:=>DPHASE LOCK<=:!:>
    CH:45,CL:49, D978.389160, uk:-0.358874, lk:0.450000, PDC:32.056313, DC:3 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:51, D999.476624, uk:-0.388162, lk:0.460000, PDC:30.591904, DC:4
    CH:45,CL:50, D988.983398, uk:-0.373588, lk:0.450000, PDC:31.320602, DC:5 <:!:=>DPHASE LOCK<=:!:>
    CH:45,CL:49, D978.475281, uk:-0.358993, lk:0.450000, PDC:32.050331, DC:1 <:!:=>DPHASE LOCK<=:!:>
    CH:47,CL:49, D978.489502, uk:-0.359013, lk:0.470000, PDC:32.049347, DC:2 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:49, D978.504456, uk:-0.359034, lk:0.460000, PDC:32.048302, DC:3 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:50, D989.055969, uk:-0.373689, lk:0.460000, PDC:31.315559, DC:4 <:!:=>DPHASE LOCK<=:!:>
    CH:45,CL:49, D978.548096, uk:-0.359095, lk:0.450000, PDC:32.045273, DC:5 <:!:=>DPHASE LOCK<=:!:>
    CH:44,CL:50, D989.099060, uk:-0.373749, lk:0.440000, PDC:31.312569, DC:1
    CH:45,CL:49, D978.590515, uk:-0.359154, lk:0.450000, PDC:32.042328, DC:2 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:51, D999.678101, uk:-0.388442, lk:0.460000, PDC:30.577919, DC:3
    CH:44,CL:50, D989.184875, uk:-0.373868, lk:0.440000, PDC:31.306610, DC:4
    CH:47,CL:50, D989.212769, uk:-0.373907, lk:0.470000, PDC:31.304672, DC:5 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:48, D968.167908, uk:-0.344678, lk:0.460000, PDC:32.766121, DC:1 <:!:=>DPHASE LOCK<=:!:>
    CH:45,CL:50, D989.241882, uk:-0.373947, lk:0.450000, PDC:31.302650, DC:2 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:48, D968.197144, uk:-0.344718, lk:0.460000, PDC:32.764091, DC:3 <:!:=>DPHASE LOCK<=:!:>
    CH:44,CL:51, D999.807983, uk:-0.388622, lk:0.440000, PDC:30.568893, DC:4
    CH:46,CL:49, D978.777100, uk:-0.359413, lk:0.460000, PDC:32.029373, DC:5 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:51, D999.865540, uk:-0.388702, lk:0.460000, PDC:30.564896, DC:1
    CH:46,CL:48, D968.298401, uk:-0.344859, lk:0.460000, PDC:32.757065, DC:2 <:!:=>DPHASE LOCK<=:!:>
    CH:45,CL:50, D989.372314, uk:-0.374128, lk:0.450000, PDC:31.293594, DC:3 <:!:=>DPHASE LOCK<=:!:>
    CH:45,CL:51, D999.937500, uk:-0.388802, lk:0.450000, PDC:30.559898, DC:4
    CH:45,CL:50, D989.443542, uk:-0.374227, lk:0.450000, PDC:31.288651, DC:5 <:!:=>DPHASE LOCK<=:!:>
    CH:47,CL:48, D968.398804, uk:-0.344998, lk:0.470000, PDC:32.750092, DC:1 <:!:=>DPHASE LOCK<=:!:>

    Regards,
    John
  • John,

    Thanks for sending the data. Is it looking OK? It seems to me that uk is being regulated but it is outside the [Umax Umin] range.

    The SPS & CSS additions to the controller structures were done in such a way that any existing user code would not need to change. At least that was the aim. Did you find it necessary to change anything when you moved over from DCL v2.1.1 to v3?

    Let me check when I get back to the office next week, but I think there is a way to get you an advance copy of FastRTS for this purpose.

    Regards,

    Richard
  • Hello Richard,

    I'm using different Umin and Umax settings than is what in the published examples:

    nlpid1.sps->Umax = 0.70f;
    nlpid1.sps->Umin = -0.50f;

    nlpid1.Umax = 0.70f;
    nlpid1.Umin = -0.50f;

    I've also had to set everything as in the new examples plus like before or it would just saturate between Umin and Umax as before - so the old structure settings and new (sps - which I thought were shadow settings that were maybe copied back to the main structure when it was safe to do so (note I haven't gone through all of the new stuff yet))

    So, my code looks like:

    /* initialise controller variables */
    nlpid1.sps = &sps1;
    nlpid1.css = &css1;

    /* initialise controller variables */
    nlpid1.sps->Kp = 3.5f;
    nlpid1.sps->Ki = 0.004f;

    nlpid1.sps->Kd = 0.35f;

    nlpid1.Ki = 0.004f;
    nlpid1.Kp = 3.5f;
    nlpid1.Kd = 0.35f;

    // nlpid1.Kp = 1.0f;
    // nlpid1.Kd = 0.0f;
    nlpid1.sps->alpha_p = 0.8f;
    nlpid1.sps->alpha_i = 0.95f;
    nlpid1.sps->alpha_d = 1.0f;
    nlpid1.sps->delta_p = 0.15f;
    nlpid1.sps->delta_i = 0.15f;
    nlpid1.sps->delta_d = 0.15f;

    nlpid1.alpha_p = 0.8f;
    nlpid1.alpha_i = 0.95f;
    nlpid1.alpha_d = 1.0f;
    nlpid1.delta_p = 0.15f;
    nlpid1.delta_i = 0.15f;
    nlpid1.delta_d = 0.15f;


    nlpid1.i7 = 0.0f;
    nlpid1.i16 = 0.0f;
    nlpid1.d2 = 0.0f;
    nlpid1.d3 = 0.0f;
    nlpid1.sps->c1 = 151.7093985989552f;
    nlpid1.sps->c2 = 0.517093985989552f;
    nlpid1.c1 = 151.7093985989552f;
    nlpid1.c2 = 0.517093985989552f;
    // nlpid1.Umax = 0.31f;
    // nlpid1.Umin = -0.27f;
    nlpid1.sps->Umax = 0.70f;
    nlpid1.sps->Umin = -0.50f;

    nlpid1.Umax = 0.70f;
    nlpid1.Umin = -0.50f;

    // DCL_setGamma(&nlpid1); // -> 1.04.00 version
    DCL_setNLPIDgamma(&nlpid1);
    DCL_REQUEST_UPDATE(&nlpid1);
    DCL_updateNLPID(&nlpid1);

    - I did that so I could at least get something running as before - without having to check every structure member.

    It would be great to get an advance copy of the FastRTS.

    Thanks!
    John
  • Richard,

    I've tried using the non-normalized values with the C1 version of the NLPID; and u(k) always saturates.

    Any clues or suggestions on this?

    When I use the normalized version it runs OK.

    Thanks,
    John
  • John,

    With this NL law it's best to have the input normalized so the alpha parameter controls the 'bending' in each path (see attachment).  With alpha > 1 the gain increases quickly with x.  My guess is you have this situation in at least one path.  For the linear controllers you can use absolute valued inputs, but for the NL controller it's different.

    Regards,

    Richard

    NL law.pdf

  • Richard,

    OK - thanks for sending that.

    What I'm seeing with the new code - using similar settings as with the release in the C2KW 1.04 - is that the PIDs (NL and Linear) will approach the desired % needed for PWM - but then they slow down - a lot. With what I had running on 1.04 - it would get to the correct PWM % rather quickly but would have trouble staying there.

    So, right now I'm not sure why this is happening. One thing though - and I wanted to ask - the PWM % in this case needs to go down to drive the desired SP up - so I'm wondering if that's the reason I'm seeing this. So, do I need to change that so the PWM % and SP are both driving the same way?

    For instance, I need a PWM % of around 30% for a SP of 48. If the PWM % goes to say 40%, the SP will go down to 30 or so. So the SP and the output - u(k) are not driving in the same direction. I thought the PID should work anyway; but maybe I've got something set incorrectly with the new code.

    I've tried both versions of the NL PID in v1.05, and also the two Linear PID versions and I will see the same result - it'll get close, slowly arrive at the 'correct' solution (maybe this is more like 'drift') - then will either saturate at Umax or Umin depending on which version of the PID I'm running.

    Thanks,
    John
  • John,

    Interesting. Can you clarify something please - does "SP" mean set point? If so, why is it dependent on PWM duty cycle? The set point would normally be outside the control loop, unless you have an outer loop or something.

    Regards,

    Richard
  • Richard,

    Yes - SP is set point. And that of course doesn't change - sorry about incorrect use of some of the terminology.

    What I mean is that the output of the PID and what the desired u(k) seem to be driving in different directions - and I thought that was OK (meaning would converge).

    u(k) - > output results in ~ 30% PWM - that results in a y(k) of around 48 which is the SP in this case
    u(k) -> output results in ~ 40% PWM - that results in a y(k) of around 30 which is less than the SP.

    That's what I was trying to explain.

    And, also - for l(k) - I've struggled a bit to understand what part of the plant to tie this to. I have H and L counts here; and I've just tied it to the L (low) count measurement from the plant - which may not be a great idea. I've tried all of the combinations that I can - maybe you have a suggestion on that too?

    Thanks!
    John
  • Richard,

    Also - what about an advance copy of the RTS?

    Thanks,
    John
  • John,

    Thanks, I understand now. I think something is not right.

    So, at 30% control the output is settling at approximately the right value, whereas if the effort is higher there is an anomoly. These are all in steady state, right?

    My initial thought is something is saturating. To start with, can you force l(k) to 1.0f, just to take that out of the equation?

    Then, I'd be inclined to try some open loop tests. Can you manually set the PWM duty and check what you're getting at y(k) for the full range of set points, r(k)? Check that the max and min duty cycles you want to work with give you the feedback values you expect at y(k). These should be the same as the r(k) which produce those duties in steady state. Once you have the steady state numbers lined up, you can close the loop and do some tuning.

    I have been out of the office for a week which is why I haven't acted on the FastRTS beta question. This is something I can't help with personally, so I need to ask some colleagues how to proceed. It isn't as simple as just sending it out, unfortunately. These days there are processes to follow. I'll get straight on it tomorrow and come back to you. Thanks for your patience.

    Regards,

    Richard
  • Richard,

    Yes - this is all steady state. And I've confirmed the noise in the system is not an issue either - the values I am feeding into the PID are stable values.

    OK - I will force l(k) to be 1.0f. I was getting ready to do that when you sent your response in fact.

    OK - I will run some open loop tests as you have suggested and will report back.

    That's OK on the FastRTS - just didn't want that to fall through.

    Thanks!
    John
  • Richard,

    Here's some quick data with l(k) fixed at 1.0f - this is NLPID C1:

    CH:46,CL:48, D937.689941, uk:0.302347, lk:1.000000, PDC:34.882645, DC:2 <:!:=>DPHASE LOCK<=:!:>
    CH:47,CL:50, D930.518799, uk:0.292387, lk:1.000000, PDC:35.380646, DC:3 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:48, D937.776428, uk:0.302467, lk:1.000000, PDC:34.876640, DC:4 <:!:=>DPHASE LOCK<=:!:>
    CH:47,CL:50, D930.605164, uk:0.292507, lk:1.000000, PDC:35.374649, DC:5 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:48, D937.862854, uk:0.302587, lk:1.000000, PDC:34.870636, DC:1 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:48, D937.920349, uk:0.302667, lk:1.000000, PDC:34.866646, DC:2 <:!:=>DPHASE LOCK<=:!:>
    CH:47,CL:48, D930.749207, uk:0.292707, lk:1.000000, PDC:35.364639, DC:3 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:48, D938.006775, uk:0.302787, lk:1.000000, PDC:34.860649, DC:4 <:!:=>DPHASE LOCK<=:!:>
    CH:45,CL:49, D945.293213, uk:0.312907, lk:1.000000, PDC:34.354637, DC:5 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:49, D938.150818, uk:0.302987, lk:1.000000, PDC:34.850639, DC:1 <:!:=>DPHASE LOCK<=:!:>
    CH:45,CL:50, D945.437195, uk:0.313107, lk:1.000000, PDC:34.344643, DC:2 <:!:=>DPHASE LOCK<=:!:>
    CH:45,CL:50, D945.523560, uk:0.313227, lk:1.000000, PDC:34.338646, DC:3 <:!:=>DPHASE LOCK<=:!:>
    CH:44,CL:50, D952.838745, uk:0.323387, lk:1.000000, PDC:33.830650, DC:4 EF:0
    CH:46,CL:49, D938.496460, uk:0.303467, lk:1.000000, PDC:34.826637, DC:5 <:!:=>DPHASE LOCK<=:!:>
    CH:45,CL:50, D945.782776, uk:0.313587, lk:1.000000, PDC:34.320648, DC:1 <:!:=>DPHASE LOCK<=:!:>
    CH:44,CL:51, D953.097961, uk:0.323747, lk:1.000000, PDC:33.812645, DC:2 EF:0
    CH:44,CL:52, D953.213196, uk:0.323907, lk:1.000000, PDC:33.804642, DC:3 EF:0
    CH:43,CL:51, D960.557251, uk:0.334107, lk:1.000000, PDC:33.294640, DC:4 EF:0
    CH:44,CL:53, D953.472412, uk:0.324267, lk:1.000000, PDC:33.786644, DC:5 EF:0
    CH:41,CL:51, D975.274048, uk:0.354547, lk:1.000000, PDC:32.272636, DC:1 EF:0
    CH:42,CL:55, D968.246826, uk:0.344787, lk:1.000000, PDC:32.760643, DC:2 EF:0
    CH:41,CL:54, D975.648438, uk:0.355067, lk:1.000000, PDC:32.246635, DC:3 EF:0
    CH:39,CL:55, D990.307617, uk:0.375427, lk:1.000000, PDC:31.228645, DC:4 EF:0
    CH:39,CL:56, D990.566833, uk:0.375787, lk:1.000000, PDC:31.210640, DC:5 EF:0
    CH:37,CL:58, D1005.283630, uk:0.396227, lk:1.000000, PDC:30.188637, DC:1 EF:0
    CH:34,CL:60, D1027.286865, uk:0.426787, lk:1.000000, PDC:28.660637, DC:2 EF:0
    CH:33,CL:62, D1034.918823, uk:0.437387, lk:1.000000, PDC:28.130638, DC:3 EF:0
    CH:30,CL:64, D1110.104492, uk:0.541812, lk:1.000000, PDC:22.909416, DC:4 EF:0
    CH:29,CL:69, D1118.771484, uk:0.553849, lk:1.000000, PDC:22.307541, DC:5 EF:0
    CH:22,CL:71, D1173.961060, uk:0.630501, lk:1.000000, PDC:18.474930, DC:1 EF:0
    CH:19,CL:78, D1197.222778, uk:0.662809, lk:1.000000, PDC:16.859528, DC:2 EF:0
    CH:13,CL:81, D1224.000000, uk:0.700000, lk:1.000000, PDC:15.000000, DC:3 EF:0
    CH:103,CL:87, D1224.000000, uk:0.700000, lk:0.870000, PDC:15.000000, DC:4 EF:1
    CH:101,CL:192, D1224.000000, uk:0.700000, lk:0.960000, PDC:15.000000, DC:5 EF:1
    CH:101,CL:95, D1224.000000, uk:0.700000, lk:0.950000, PDC:15.000000, DC:1 EF:1
    CH:10,CL:84, D1224.000000, uk:0.700000, lk:1.000000, PDC:15.000000, DC:2 EF:0
    CH:18,CL:77, D1205.638062, uk:0.674497, lk:1.000000, PDC:16.275139, DC:3 EF:0
    CH:23,CL:70, D1169.113159, uk:0.623768, lk:1.000000, PDC:18.811592, DC:4 EF:0
    CH:29,CL:65, D1122.889526, uk:0.559569, lk:1.000000, PDC:22.021568, DC:5 EF:0
    CH:34,CL:60, D1033.399414, uk:0.435277, lk:1.000000, PDC:28.236160, DC:1 EF:0
    CH:38,CL:57, D1004.887512, uk:0.395677, lk:1.000000, PDC:30.216148, DC:2 EF:0
    CH:39,CL:57, D997.946716, uk:0.386037, lk:1.000000, PDC:30.698151, DC:3 EF:0
    CH:41,CL:56, D983.748291, uk:0.366317, lk:1.000000, PDC:31.684151, DC:4 EF:0
    CH:41,CL:53, D983.949890, uk:0.366597, lk:1.000000, PDC:31.670151, DC:5 EF:0
    CH:42,CL:52, D976.922668, uk:0.356837, lk:1.000000, PDC:32.158157, DC:1 EF:0
    CH:45,CL:52, D955.409058, uk:0.326957, lk:1.000000, PDC:33.652153, DC:2 EF:0
    CH:44,CL:51, D962.724304, uk:0.337117, lk:1.000000, PDC:33.144150, DC:3 EF:0
    CH:44,CL:51, D962.839478, uk:0.337277, lk:1.000000, PDC:33.136154, DC:4 EF:0
    CH:46,CL:51, D948.497070, uk:0.317357, lk:1.000000, PDC:34.132156, DC:5 EF:0
    CH:46,CL:48, D948.554688, uk:0.317437, lk:1.000000, PDC:34.128151, DC:1 <:!:=>DPHASE LOCK<=:!:>
    CH:47,CL:50, D941.383423, uk:0.307477, lk:1.000000, PDC:34.626160, DC:2 <:!:=>DPHASE LOCK<=:!:>
    CH:47,CL:48, D941.412292, uk:0.307517, lk:1.000000, PDC:34.624146, DC:3 <:!:=>DPHASE LOCK<=:!:>
    CH:47,CL:50, D941.441040, uk:0.307557, lk:1.000000, PDC:34.622154, DC:4 <:!:=>DPHASE LOCK<=:!:>
    CH:47,CL:49, D941.469849, uk:0.307597, lk:1.000000, PDC:34.620155, DC:5 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:47, D948.727478, uk:0.317677, lk:1.000000, PDC:34.116150, DC:1 <:!:=>DPHASE LOCK<=:!:>
    CH:47,CL:48, D941.556213, uk:0.307717, lk:1.000000, PDC:34.614159, DC:2 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:49, D948.813782, uk:0.317797, lk:1.000000, PDC:34.110161, DC:3 <:!:=>DPHASE LOCK<=:!:>
    CH:46,CL:48, D948.871460, uk:0.317877, lk:1.000000, PDC:34.106155, DC:4 <:!:=>DPHASE LOCK<=:!:>
    CH:45,CL:50, D956.157837, uk:0.327997, lk:1.000000, PDC:33.600151, DC:5 <:!:=>DPHASE LOCK<=:!:>
    CH:45,CL:50, D956.244263, uk:0.328117, lk:1.000000, PDC:33.594154, DC:1 <:!:=>DPHASE LOCK<=:!:>


    EF is just an 'edge flag' I have - I'm throwing away values where the counter 'rolls' and is invalid to input into the PID.
    The large counts for CH are invalid.

    And eventually saturates at Umax:
    CH:44,CL:50, D1079.148193, uk:0.498817, lk:1.000000, PDC:25.059158, DC:3 EF:0
    CH:41,CL:53, D1100.949829, uk:0.529097, lk:1.000000, PDC:23.545158, DC:4 EF:0
    CH:39,CL:57, D1115.609009, uk:0.549457, lk:1.000000, PDC:22.527161, DC:5 EF:0
    CH:35,CL:62, D1144.783325, uk:0.589977, lk:1.000000, PDC:20.501160, DC:1 EF:0
    CH:28,CL:66, D1224.000000, uk:0.700000, lk:1.000000, PDC:15.000000, DC:2 EF:0
    CH:22,CL:72, D1224.000000, uk:0.700000, lk:1.000000, PDC:15.000000, DC:3 EF:0
    CH:18,CL:79, D1224.000000, uk:0.700000, lk:1.000000, PDC:15.000000, DC:4 EF:0
    CH:12,CL:86, D1224.000000, uk:0.700000, lk:1.000000, PDC:15.000000, DC:5 EF:0

    Onto the open loop testing.

    Thanks,
    John
  • Richard,

    Some open loop testing - I have r(k) fixed at 0.48 and am varying y(k) from 0.99 to 0.00 - using NLPID C1:


    CH:31,CL:63, D1141.346313, uk:0.585203, lk:0.700000, PDC:20.739838, DC:1 EF:0, rk:0.480000, yk:0.000000
    CH:27,CL:70, D360.000000, uk:-0.500000, lk:0.700000, PDC:75.000000, DC:2 EF:0, rk:0.480000, yk:0.990000
    CH:36,CL:61, D360.000000, uk:-0.500000, lk:0.700000, PDC:75.000000, DC:3 EF:0, rk:0.480000, yk:0.980000
    CH:45,CL:49, D360.000000, uk:-0.500000, lk:0.700000, PDC:75.000000, DC:4 EF:0, rk:0.480000, yk:0.970000
    CH:32,CL:63, D360.000000, uk:-0.500000, lk:0.700000, PDC:75.000000, DC:5 EF:0, rk:0.480000, yk:0.960000
    CH:18,CL:77, D360.000000, uk:-0.500000, lk:0.700000, PDC:75.000000, DC:1 EF:0, rk:0.480000, yk:0.950000
    CH:102,CL:90, D360.000000, uk:-0.500000, lk:0.700000, PDC:75.000000, DC:2 EF:0, rk:0.480000, yk:0.940000
    CH:7,CL:87, D360.000000, uk:-0.500000, lk:0.700000, PDC:75.000000, DC:3 EF:0, rk:0.480000, yk:0.930000
    CH:21,CL:74, D366.706940, uk:-0.490685, lk:0.700000, PDC:74.534241, DC:4 EF:0, rk:0.480000, yk:0.920000
    CH:34,CL:60, D372.606140, uk:-0.482492, lk:0.700000, PDC:74.124573, DC:5 EF:0, rk:0.480000, yk:0.910000
    CH:46,CL:48, D378.556946, uk:-0.474226, lk:0.700000, PDC:73.711319, DC:1 EF:0, rk:0.480000, yk:0.900000
    CH:34,CL:61, D384.560486, uk:-0.465888, lk:0.700000, PDC:73.294411, DC:2 EF:0, rk:0.480000, yk:0.890000
    CH:20,CL:74, D390.617615, uk:-0.457476, lk:0.700000, PDC:72.873779, DC:3 EF:0, rk:0.480000, yk:0.880000
    CH:8,CL:89, D396.729431, uk:-0.448987, lk:0.700000, PDC:72.449348, DC:4 EF:0, rk:0.480000, yk:0.870000
    CH:101,CL:95, D402.897034, uk:-0.440421, lk:0.700000, PDC:72.021042, DC:5 EF:0, rk:0.480000, yk:0.860000
    CH:16,CL:79, D409.121460, uk:-0.431776, lk:0.700000, PDC:71.588791, DC:1 EF:0, rk:0.480000, yk:0.850000
    CH:29,CL:64, D415.404053, uk:-0.423050, lk:0.700000, PDC:71.152496, DC:2 EF:0, rk:0.480000, yk:0.840000
    CH:42,CL:55, D421.746094, uk:-0.414242, lk:0.700000, PDC:70.712082, DC:3 EF:0, rk:0.480000, yk:0.830000
    CH:42,CL:55, D428.148956, uk:-0.405349, lk:0.700000, PDC:70.267433, DC:4 EF:0, rk:0.480000, yk:0.820000
    CH:28,CL:66, D434.614075, uk:-0.396369, lk:0.700000, PDC:69.818466, DC:5 EF:0, rk:0.480000, yk:0.810000
    CH:16,CL:78, D441.143036, uk:-0.387301, lk:0.700000, PDC:69.365067, DC:1 EF:0, rk:0.480000, yk:0.800000
    CH:7,CL:94, D447.737488, uk:-0.378142, lk:0.700000, PDC:68.907120, DC:2 EF:0, rk:0.480000, yk:0.790000
    CH:100,CL:91, D454.399292, uk:-0.368890, lk:0.700000, PDC:68.444496, DC:3 EF:0, rk:0.480000, yk:0.780000
    CH:16,CL:79, D461.130280, uk:-0.359541, lk:0.700000, PDC:67.977066, DC:4 EF:0, rk:0.480000, yk:0.770000
    CH:29,CL:68, D467.932617, uk:-0.350094, lk:0.700000, PDC:67.504684, DC:5 EF:0, rk:0.480000, yk:0.760000
    CH:40,CL:57, D474.808380, uk:-0.340544, lk:0.700000, PDC:67.027199, DC:1 EF:0, rk:0.480000, yk:0.750000
    CH:46,CL:50, D481.760101, uk:-0.330889, lk:0.700000, PDC:66.544441, DC:2 EF:0, rk:0.480000, yk:0.740000
    CH:33,CL:61, D488.790405, uk:-0.321124, lk:0.700000, PDC:66.056229, DC:3 EF:0, rk:0.480000, yk:0.730000
    CH:23,CL:71, D495.902039, uk:-0.311247, lk:0.700000, PDC:65.562363, DC:4 EF:0, rk:0.480000, yk:0.720000
    CH:13,CL:81, D503.098114, uk:-0.301253, lk:0.700000, PDC:65.062637, DC:5 EF:0, rk:0.480000, yk:0.710000
    CH:101,CL:95, D510.382141, uk:-0.291136, lk:0.700000, PDC:64.556793, DC:1 EF:0, rk:0.480000, yk:0.700000
    CH:101,CL:95, D517.757690, uk:-0.280892, lk:0.700000, PDC:64.044601, DC:2 EF:0, rk:0.480000, yk:0.690000
    CH:14,CL:78, D525.228943, uk:-0.270515, lk:0.700000, PDC:63.525768, DC:3 EF:0, rk:0.480000, yk:0.680000
    CH:29,CL:67, D532.800598, uk:-0.259999, lk:0.700000, PDC:62.999962, DC:4 EF:0, rk:0.480000, yk:0.670000
    CH:38,CL:57, D540.477600, uk:-0.249337, lk:0.700000, PDC:62.466835, DC:5 EF:0, rk:0.480000, yk:0.660000
    CH:47,CL:48, D548.265686, uk:-0.238520, lk:0.700000, PDC:61.925995, DC:1 EF:0, rk:0.480000, yk:0.650000
    CH:39,CL:56, D556.171448, uk:-0.227540, lk:0.700000, PDC:61.376987, DC:2 EF:0, rk:0.480000, yk:0.640000
    CH:30,CL:66, D614.068115, uk:-0.147128, lk:0.700000, PDC:57.356384, DC:3 EF:0, rk:0.480000, yk:0.630000
    CH:23,CL:72, D620.985840, uk:-0.137520, lk:0.700000, PDC:56.875984, DC:4 EF:0, rk:0.480000, yk:0.620000
    CH:13,CL:79, D627.923767, uk:-0.127884, lk:0.700000, PDC:56.394188, DC:5 EF:0, rk:0.480000, yk:0.610000
    CH:7,CL:88, D634.881897, uk:-0.118220, lk:0.700000, PDC:55.910980, DC:1 EF:0, rk:0.480000, yk:0.600000
    CH:102,CL:94, D641.860107, uk:-0.108528, lk:0.700000, PDC:55.426384, DC:2 EF:0, rk:0.480000, yk:0.590000
    CH:100,CL:88, D648.858521, uk:-0.098808, lk:0.700000, PDC:54.940384, DC:3 EF:0, rk:0.480000, yk:0.580000
    CH:12,CL:84, D655.877075, uk:-0.089060, lk:0.700000, PDC:54.452984, DC:4 EF:0, rk:0.480000, yk:0.570000
    CH:18,CL:77, D662.915771, uk:-0.079284, lk:0.700000, PDC:53.964188, DC:5 EF:0, rk:0.480000, yk:0.560000
    CH:24,CL:71, D669.974609, uk:-0.069480, lk:0.700000, PDC:53.473988, DC:1 EF:0, rk:0.480000, yk:0.550000
    CH:32,CL:64, D677.053711, uk:-0.059648, lk:0.700000, PDC:52.982384, DC:2 EF:0, rk:0.480000, yk:0.540000
    CH:38,CL:57, D684.152893, uk:-0.049788, lk:0.700000, PDC:52.489384, DC:3 EF:0, rk:0.480000, yk:0.530000
    CH:42,CL:52, D691.272278, uk:-0.039900, lk:0.700000, PDC:51.994984, DC:4 EF:0, rk:0.480000, yk:0.520000
    CH:47,CL:49, D698.411804, uk:-0.029984, lk:0.700000, PDC:51.499184, DC:5 EF:0, rk:0.480000, yk:0.510000
    CH:40,CL:56, D705.571411, uk:-0.020040, lk:0.700000, PDC:51.001987, DC:1 EF:0, rk:0.480000, yk:0.500000
    CH:36,CL:61, D712.751282, uk:-0.010068, lk:0.700000, PDC:50.503384, DC:2 EF:0, rk:0.480000, yk:0.490000
    CH:29,CL:65, D719.951294, uk:-0.000068, lk:0.700000, PDC:50.003387, DC:3 EF:0, rk:0.480000, yk:0.480000 <==
    CH:24,CL:70, D727.171387, uk:0.009960, lk:0.700000, PDC:49.501991, DC:4 EF:0, rk:0.480000, yk:0.470000
    CH:20,CL:74, D734.411743, uk:0.020016, lk:0.700000, PDC:48.999191, DC:5 EF:0, rk:0.480000, yk:0.460000
    CH:15,CL:79, D741.672241, uk:0.030100, lk:0.700000, PDC:48.494987, DC:1 EF:0, rk:0.480000, yk:0.450000
    CH:10,CL:85, D748.952942, uk:0.040212, lk:0.700000, PDC:47.989380, DC:2 EF:0, rk:0.480000, yk:0.440000
    CH:102,CL:89, D756.253662, uk:0.050352, lk:0.700000, PDC:47.482388, DC:3 EF:0, rk:0.480000, yk:0.430000
    CH:102,CL:95, D763.574707, uk:0.060520, lk:0.700000, PDC:46.973980, DC:4 EF:0, rk:0.480000, yk:0.420000
    CH:102,CL:192, D763.574707, uk:0.060520, lk:0.960000, PDC:46.973980, DC:5 EF:1, rk:0.480000, yk:0.410000
    CH:100,CL:96, D778.135986, uk:0.080744, lk:0.700000, PDC:45.962780, DC:1 EF:0, rk:0.480000, yk:0.400000
    CH:9,CL:88, D785.517395, uk:0.090996, lk:0.700000, PDC:45.450188, DC:2 EF:0, rk:0.480000, yk:0.390000
    CH:12,CL:83, D792.919006, uk:0.101276, lk:0.700000, PDC:44.936188, DC:3 EF:0, rk:0.480000, yk:0.380000
    CH:15,CL:80, D800.340698, uk:0.111584, lk:0.700000, PDC:44.420792, DC:4 EF:0, rk:0.480000, yk:0.370000
    CH:17,CL:77, D807.782654, uk:0.121920, lk:0.700000, PDC:43.903988, DC:5 EF:0, rk:0.480000, yk:0.360000
    CH:20,CL:74, D815.244751, uk:0.132284, lk:0.700000, PDC:43.385784, DC:1 EF:0, rk:0.480000, yk:0.350000
    CH:24,CL:70, D822.726990, uk:0.142676, lk:0.700000, PDC:42.866180, DC:2 EF:0, rk:0.480000, yk:0.340000
    CH:27,CL:67, D830.229370, uk:0.153096, lk:0.700000, PDC:42.345184, DC:3 EF:0, rk:0.480000, yk:0.330000
    CH:28,CL:66, D888.781921, uk:0.234419, lk:0.700000, PDC:38.279037, DC:4 EF:0, rk:0.480000, yk:0.320000
    CH:30,CL:65, D897.415649, uk:0.246411, lk:0.700000, PDC:37.679470, DC:5 EF:0, rk:0.480000, yk:0.310000
    CH:32,CL:65, D905.973633, uk:0.258297, lk:0.700000, PDC:37.085171, DC:1 EF:0, rk:0.480000, yk:0.300000
    CH:33,CL:62, D914.462219, uk:0.270086, lk:0.700000, PDC:36.495686, DC:2 EF:0, rk:0.480000, yk:0.290000
    CH:32,CL:62, D922.886902, uk:0.281787, lk:0.700000, PDC:35.910637, DC:3 EF:0, rk:0.480000, yk:0.280000
    CH:33,CL:61, D931.252991, uk:0.293407, lk:0.700000, PDC:35.329659, DC:4 EF:0, rk:0.480000, yk:0.270000
    CH:34,CL:63, D939.564697, uk:0.304951, lk:0.700000, PDC:34.752457, DC:5 EF:0, rk:0.480000, yk:0.260000
    CH:34,CL:63, D947.826050, uk:0.316425, lk:0.700000, PDC:34.178749, DC:1 EF:0, rk:0.480000, yk:0.250000
    CH:33,CL:62, D956.040833, uk:0.327835, lk:0.700000, PDC:33.608284, DC:2 EF:0, rk:0.480000, yk:0.240000
    CH:32,CL:62, D964.212280, uk:0.339184, lk:0.700000, PDC:33.040817, DC:3 EF:0, rk:0.480000, yk:0.230000
    CH:31,CL:64, D972.343445, uk:0.350477, lk:0.700000, PDC:32.476151, DC:4 EF:0, rk:0.480000, yk:0.220000
    CH:30,CL:65, D980.436890, uk:0.361718, lk:0.700000, PDC:31.914108, DC:5 EF:0, rk:0.480000, yk:0.210000 <==
    CH:31,CL:65, D988.495544, uk:0.372910, lk:0.700000, PDC:31.354485, DC:1 EF:0, rk:0.480000, yk:0.200000
    CH:29,CL:65, D996.521301, uk:0.384057, lk:0.700000, PDC:30.797134, DC:2 EF:0, rk:0.480000, yk:0.190000
    CH:27,CL:68, D1004.516602, uk:0.395162, lk:0.700000, PDC:30.241905, DC:3 EF:0, rk:0.480000, yk:0.180000
    CH:26,CL:68, D1012.483459, uk:0.406227, lk:0.700000, PDC:29.688652, DC:4 EF:0, rk:0.480000, yk:0.170000
    CH:26,CL:72, D1020.423462, uk:0.417255, lk:0.700000, PDC:29.137268, DC:5 EF:0, rk:0.480000, yk:0.160000
    CH:22,CL:72, D1028.338623, uk:0.428248, lk:0.700000, PDC:28.587601, DC:1 EF:0, rk:0.480000, yk:0.150000
    CH:21,CL:73, D1036.230347, uk:0.439209, lk:0.700000, PDC:28.039566, DC:2 EF:0, rk:0.480000, yk:0.140000
    CH:18,CL:77, D1044.100220, uk:0.450139, lk:0.700000, PDC:27.493042, DC:3 EF:0, rk:0.480000, yk:0.130000
    CH:15,CL:79, D1051.949707, uk:0.461041, lk:0.700000, PDC:26.947937, DC:4 EF:0, rk:0.480000, yk:0.120000
    CH:15,CL:82, D1059.780029, uk:0.471917, lk:0.700000, PDC:26.404167, DC:5 EF:0, rk:0.480000, yk:0.110000
    CH:11,CL:86, D1067.592529, uk:0.482767, lk:0.700000, PDC:25.861633, DC:1 EF:0, rk:0.480000, yk:0.100000
    CH:7,CL:88, D1075.388184, uk:0.493595, lk:0.700000, PDC:25.320267, DC:2 EF:0, rk:0.480000, yk:0.090000
    CH:100,CL:97, D1083.168335, uk:0.504400, lk:0.700000, PDC:24.779984, DC:3 EF:0, rk:0.480000, yk:0.080000
    CH:101,CL:95, D1090.933960, uk:0.515186, lk:0.700000, PDC:24.240700, DC:4 EF:0, rk:0.480000, yk:0.070000
    CH:101,CL:94, D1098.686035, uk:0.525953, lk:0.700000, PDC:23.702362, DC:5 EF:0, rk:0.480000, yk:0.060000
    CH:102,CL:96, D1106.425415, uk:0.536702, lk:0.700000, PDC:23.164902, DC:1 EF:0, rk:0.480000, yk:0.050000
    CH:8,CL:87, D1114.152954, uk:0.547435, lk:0.700000, PDC:22.628273, DC:2 EF:0, rk:0.480000, yk:0.040000
    CH:12,CL:83, D1121.869629, uk:0.558152, lk:0.700000, PDC:22.092392, DC:3 EF:0, rk:0.480000, yk:0.030000
    CH:17,CL:78, D1129.576294, uk:0.568856, lk:0.700000, PDC:21.557205, DC:4 EF:0, rk:0.480000, yk:0.020000
    CH:21,CL:74, D1137.273560, uk:0.579547, lk:0.700000, PDC:21.022675, DC:5 EF:0, rk:0.480000, yk:0.010000
    CH:26,CL:70, D1144.962158, uk:0.590225, lk:0.700000, PDC:20.488747, DC:1 EF:0, rk:0.480000, yk:0.000000
    CH:29,CL:66, D360.000000, uk:-0.500000, lk:0.700000, PDC:75.000000, DC:2 EF:0, rk:0.480000, yk:0.990000

    Thanks,
    John

  • John,

    Thank you for the data.  So, the sign of y is inverted relative to that of u.  Is that correct?

    Also, it looks like l(k) is at 0.7 - am I reading that correctly?

    Regards,

    Richard  

  • John,

    Something looks wrong with this data.  The plots below are the -uk & yk data from your last post.  Notice the steps in -uk.  Also, why should yk change when -uk is static?

    ukyk.pdf

    Regards,

    Richard

  • Richard,

    y(k) isn't inverted intentionally - I was doing fabs() but not currently - that's dependent (I believe) on Umax, Umin, and r(k).

    And yes, l(k) was being pegged at 0.7 which is what I had Umax set for in that run. Doesn't mean that was necessarily correct.

    Thanks,
    John
  • John,

    l(k) should only ever be 1 (integrator running) or 0 (loop saturated). Setting it to anything else would just scale the integral gain which you can do by changing Ki. For now, I recommend fixing l(k) at 1, just so it's out of the way.

    Regards,

    Richard
  • Richard,

    I was doing the open loop testing stepping y(k) from 100.f to 0.f - I'm assuming that is why. Umax and Umin are set.
    I'm wondering too if during the open loop run if the clamps are working correctly and maybe there 's some integral windup perhaps?

    I've tried varying r(k) also - just haven't posted that - would you like me to do that?

    If there's a specific open loop run you'd like to see - let me know and I'll post that. And if you want me to run the clamp and pid update
    functions or not.

    Thanks,
    John