IOInterfaceMapper.h 4.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #pragma once
  2. namespace DIOS::Dev::Detail::MachineryECOM
  3. {
  4. //GPIO引脚-功能-映射
  5. class IOInterfaceMapper
  6. {
  7. public:
  8. static void Load(const std::string &configFile);
  9. public:
  10. static unsigned char ID_SYSTEM_RESET; //系统复位开关
  11. static unsigned char ID_TUBE_HEIGHT_SERVO_ON; //球管高度伺服 Servo on
  12. static unsigned char ID_TUBE_ANGLE_SERVO_ON; //球管角度伺服 Servo on
  13. static unsigned char ID_HAND_SWITCH_GEAR_FIRST; //一级手闸
  14. static unsigned char ID_HAND_SWITCH_GEAR_SECOND; //二级手闸
  15. static unsigned char ID_TUBE_HEIGHT_PULSE; //球管垂直运动脉冲
  16. static unsigned char ID_TUBE_HEIGHT_DIRECTION; //球管垂直运动方向
  17. static unsigned char ID_TUBE_HEIGHT_AD; //球管高度AD数据
  18. static unsigned char ID_TUBE_ANGLE_AD; //球管角度AD数据
  19. static unsigned char ID_TUBE_HEIGHT_HIGH_LIMIT; //球管高度上限位
  20. static unsigned char ID_TUBE_HEIGHT_LOW_LIMIT; //球管高度下限位
  21. static unsigned char ID_TUBE_HEIGHT_ENCODER_AXIS_A; //球管高度编码器A轴
  22. static unsigned char ID_TUBE_HEIGHT_ENCODER_AXIS_B; //球管高度编码器B轴
  23. static unsigned char ID_TUBE_HEIGHT_ENCODER_AXIS_Z; //球管高度编码器Z轴
  24. static unsigned char ID_TUBE_ANGLE_HIGH_LIMIT; //球管旋转上限位
  25. static unsigned char ID_TUBE_ANGLE_LOW_LIMIT; //球管旋转下限位
  26. static unsigned char ID_TUBE_ANGLE_ENCODER_AXIS_A; //球管旋转编码器A轴
  27. static unsigned char ID_TUBE_ANGLE_ENCODER_AXIS_B; //球管旋转编码器B轴
  28. static unsigned char ID_TUBE_ANGLE_ENCODER_AXIS_Z; //球管旋转编码器Z轴
  29. static unsigned char ID_TUBE_ANGLE_DIRECTION; //球管角度方向
  30. static unsigned char ID_TUBE_ANGLE_PULSE; //球管角度脉冲
  31. static unsigned char ID_XRAYON_NOTIFY; //发生器射线指示
  32. static unsigned char ID_POWER; //5V电源
  33. static unsigned char ID_DETECTOR_HEIGHT_AD; //探测器高度AD数据
  34. static unsigned char ID_TUBE_HEIGHT_ENCODER; //球管高度编码器
  35. static unsigned char ID_TUBE_ANGLE_ENCODER; //球管角度编码器
  36. static unsigned char ID_DETECTOR_HEIGHT_ENCODER; //探测器高度编码器
  37. static unsigned char ID_SOFTWARE_CHAIN_INTERFACE_A; //连锁器接口A
  38. static unsigned char ID_SOFTWARE_CHAIN_INTERFACE_B; //连锁器接口B
  39. static unsigned char ID_EXPOSURE_TRIGGER; //同步盒信号端口触发
  40. static unsigned char ID_MCU; //MCU
  41. static unsigned char ID_RS232; //RS232/485
  42. static unsigned char ID_CAN; //Can
  43. static unsigned short ID_CAN_STDID_TUBE_CIRCULAR_ENCODER;//TUBE_CIRCULAR_ENCODER stdid
  44. static unsigned short ID_CAN_STDID_TUBE_SWING_ENCODER;//TUBE_SWING_ENCODER stdid
  45. static unsigned char ID_SYSTEM_RESET_SWING; //C-ARM系统轴向复位开关
  46. static unsigned char ID_SYSTEM_RESET_CIRCULAR; //C-ARM系统滑环复位开关
  47. static unsigned char ID_TUBE_HEIGHT_CONTROLLER_DIRECTION_1; //球管垂直方向1单步运动控制器
  48. static unsigned char ID_TUBE_HEIGHT_CONTROLLER_DIRECTION_2; //球管垂直方向2单步运动控制器(1,2对应的是上或下根据系统实际情况配置)
  49. static unsigned char ID_TUBE_ANGLE_CONTROLLER_DIRECTION_1; //球管旋转方向1单步运动控制器
  50. static unsigned char ID_TUBE_ANGLE_CONTROLLER_DIRECTION_2; //球管旋转方向1单步运动控制器(1,2对应的是顺时针或逆时针根据系统实际情况配置)
  51. static unsigned char ID_CARM_SCANNING_SWITCH; //切换扫描方向 0:使用滑轨滑动扫描 1:使用轴向旋转扫描
  52. static unsigned char ID_TUBE_ANGLE_BRAKE; //球管旋转刹车
  53. static unsigned char ID_TUBE_HEIGHT_BRAKE; //球管垂直方向刹车
  54. static unsigned char ID_TUBE_HORIZONTAL_BRAKE; //球管水平方向刹车
  55. static unsigned char ID_FLUORO_SWITCH_OUT; //脚闸信号输出
  56. static unsigned char ID_TUBE_LINE_MOTION_SWITCH_OUT; //输出到继电器控制线路切换球管垂直运动和水平运动
  57. static unsigned char ID_TUBE_HORIZONTAL_CONTROLLER_DIRECTION_1; //球管水平方向1单步运动控制器
  58. static unsigned char ID_TUBE_HORIZONTAL_CONTROLLER_DIRECTION_2; //球管水平方向2单步运动控制器
  59. static unsigned char ID_TUBE_HORIZONTAL_SERVO_ON; //球管水平Servo On
  60. static unsigned char ID_TUBE_HORIZONTAL_PULSE; //球管水平运动脉冲
  61. static unsigned char ID_TUBE_HORIZONTAL_DIRECTION; //球管水平运动方向
  62. static unsigned char ID_TUBE_HORIZONTAL_AD; //球管水平A/D
  63. static unsigned char ID_TUBE_HORIZONTAL_ENCODER_AXIS_A; //球管水平编码器A轴
  64. static unsigned char ID_TUBE_HORIZONTAL_ENCODER_AXIS_B; //球管水平编码器B轴
  65. static unsigned char ID_TUBE_HORIZONTAL_ENCODER_AXIS_Z; //球管水平编码器Z轴
  66. static unsigned char ID_TUBE_HORIZONTAL_ENCODER; //球管水平编码器
  67. static unsigned char ID_TUBE_HORIZONTAL_LEFT_LIMIT; //球管水平左限位
  68. static unsigned char ID_TUBE_HORIZONTAL_RIGHT_LIMIT; //球管水平右限位
  69. static unsigned char ID_DETECTOR_HORIZONTAL_AD; //探测器水平AD数据
  70. static unsigned char ID_DETECTOR_HORIZONTAL_ENCODER; //探测器水平编码器数据
  71. private:
  72. static void DoMapPinsToInterfaceID(ResDataObject &pindefines);
  73. };
  74. }