generatorMove.hpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #pragma once
  2. /*
  3. flag - 球管运动方向,从上限位到下限位为true,从下限位到上限位为false
  4. rstPos - 球管对中相对于系统零点的距离(m)
  5. accDst - 球管由静止到匀速运动的加速距离(m)
  6. brkDst - 球管由匀速运动到静止的减速距离(m)
  7. latDst - 系统对准准备阶段距离(m)
  8. susDst - 球管复位调整阶段距离(m)
  9. SID - 当前采集的SID(m)
  10. v - 球管匀速运动速度(m/s)
  11. NProj - 采样点数(投照数),仅允许奇数传入
  12. scanAngle - tomo采集扫描总角度(度)
  13. AngPerMot - 转动电机旋转单位角度(度/Pulse)
  14. kvAng - 角速度修正系数
  15. 输出:
  16. warmAngle -直接返回scanAngle
  17. AnglePerSec -每个投照的角度增量(度)
  18. Seq - 长度(N+5),球管移动序列的float存储数据
  19. Ncount -长度(N),采样点间发送脉冲个数
  20. Period -长度(N),采样点间的脉冲周期间隔
  21. Nsec -输出数组 Ncount 和 Period 有效长度
  22. NSeqLen -球管移动序列的float存储数据数组有效长度(=Nsec + 5)
  23. */
  24. extern "C" __declspec(dllexport) int tomoMotionGeometry(
  25. int flag,
  26. float rstPos,
  27. float accDst,
  28. float brkDst,
  29. float latDst,
  30. float susDst,
  31. float SID,
  32. float v,
  33. int NProj,
  34. float scanAngle,
  35. float AngPerMot,
  36. float kvAng,
  37. float& warmAngle,
  38. float& AnglePerSec,
  39. float* Seq,
  40. int* NCount,
  41. int* Period,
  42. int& Nsec,
  43. int& NSeqLen);