测试报告问题探讨

temporary:部分更新,没有状态变量系统的求解的小步长里不会更新输出 dev:全部更新,所有小步长都更新输出

存在的问题

测试报告7.13

测试环境:temporary分支

  1. pcsvp的开环计算与Simulink的开环计算数据相同
  2. 闭环结果不同
    1. 快控电源所出命令抖动放大很多
    2. PF2的电源命令基本一致
    3. 快控电源计算的初步命令,抖动大,应是结果1的源头
    4. 垂直位移结果有较大误差

测试报告7.22

结论:考虑小步长时快控结果比较好PF控制混乱,无小步长时PF控制结果比较好。

  1. 小步长全跟随时 dev:快控的表现比较好,PF线圈完全混乱了,所以总体结果差
  2. 小步长无跟随时 temp :PF线圈表现较好,快控抖动大,导致R的数值计算较好,而Z的抖动大。
  3. 希望结局的方案:
    1. 为每个模块提供是否跟随的选项,且可以在构建的时候在模块的参数面板上勾选;
    2. 为每个模块设置不同的采样率,可以在参数面板上勾选。

测试报告8.25

  1. dev测试快控,Z值相差大,快控命令比较好(和7.22结论1一样)
  2. temporary:PF效果很接近,快控结果相差非常大

测试rzip_model(完整)

开环

simulink结果

  1. 快控电源的输出
  2. 快控电源初步命令
  3. PF命令

dev

  1. 快控电源的输出
  2. 快控电源初步命令
  3. PF命令
  4. 测试Z、R 和simulink完全相同

temporary(与simulink相同)

  1. 快控电源的输出
  2. 快控电源初步命令
  3. PF命令
  4. 测试Z、R 和simulink完全相同

总结

  1. temporary分支的结果与simulink结果的吻合度很高
  2. dev分支与simulink的出入较大
  3. 仅开环情况下temporary的效果更好

闭环

dev

  1. plasma model
    1. 快控信号
    2. 快控电源给的初步命令
    3. plasma model给出信号
    4. pf2信号
    5. pf信号
  2. rzip_ctrl
    1. Z
    2. R

temp

  1. plasma model
    1. 快控信号
    2. 快控电源给的初步命令
    3. plasma model给出信号
    4. pf2信号
    5. pf信号
  2. rzip_ctrl
    1. Z
    2. R

总结

  1. dev中快控较好,pf很差
  2. temp中快控很差,pf效果比较好

排查问题

开环dev

  1. 因为有的结果与simulink相同,有的不同,一步步排查。

  2. pf出现问题的原因最终锁定rzip_ctrl中的subsystem中的pid有问题。 该模块的输入与simulink相同,但是经过pid之后,就出现较大差异。尤其是R和IP,Z的变形不大。

    输入

    R_pid

    Z_pid

    IP_pid

    该模块的输出会传递给pf_ctrl的ref,所以pf的结果比较差。pf_ctrl传递给plasma model的pf_comm,会影响pf的控制结果。

  3. 下面找快控出问题的原因,定位到plasma model

    1. 输入Iic_comm有问题
    2. 原因是rzip_ctrl的输出Iic_com有问题
    3. 确定是rzip_ctrl的sub_system1中的pid有问题
      1. 结构
      2. pid输入数据相同
      3. pid输出的数据相差较大
    4. 该模块的输出会传给rzip_ctrl的输出端口Iic_com,进而影响plasma model的输入端口Iic_comm,再影响ic_power模块,进而影响快控。
  4. 结论:

    1. 快控和pf都不准确是受到pid模块的影响。分别位于rzip_ctrl的subsystem和subsystem1模块。

开环temporary

  1. 从之前的开环dev可以看出来,pid影响了结果,验证一下temporary的pid会不会影响结果。检验temp分支下的两个pid的输入输出。
    1. subsystem模块的三个pid
    2. 从上面结果可以看到。三个pid的结果都正确,所以pf和快控的表现都比较好。

本文章使用limfx的vscode插件快速发布