12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #pragma once
- #include "IOInterfaceMapper.h"
- namespace DIOS::Dev::Detail::MachineryECOM
- {
- class ICommunicateEntity;
- class ICommunicate
- {
- public:
- ICommunicate();
- virtual ~ICommunicate();
- public:
- virtual void OnCommunicationEstablished(ICommunicateEntity *communicate) = 0;
- virtual void LoadCommunicationInterfaceIDs(std::map<string, int> &interfaceIds);
- virtual void AttachCommunicateID(int interfaceID);
- virtual int GetInterfaceID(const std::string &key);
- protected:
- int m_communicateInterfaceID;
- std::map<string, int> m_functionIds;
- };
- //以下定义通信接口 ID 与功能键映射的键值
- const std::string ID_TUBE_HEIGHT_SERVO_ON = "ID_TUBE_HEIGHT_SERVO_ON";
- const std::string ID_TUBE_ANGLE_SERVO_ON = "ID_TUBE_ANGLE_SERVO_ON";
- const std::string ID_COMMUNICATE_INTERFACE = "ID_COMMUNICATE_INTERFACE";
- const std::string ID_HAND_SWITCH_GEAR_FIRST = "ID_HAND_SWITCH_GEAR_FIRST"; //一级手闸
- const std::string ID_HAND_SWITCH_GEAR_SECOND = "ID_HAND_SWITCH_GEAR_SECOND"; //二级手闸
- const std::string ID_TUBE_HEIGHT_PULSE = "ID_TUBE_HEIGHT_PULSE"; //球管垂直运动脉冲
- const std::string ID_TUBE_HEIGHT_DIRECTION = "ID_TUBE_HEIGHT_DIRECTION"; //球管垂直运动方向
- const std::string ID_TUBE_HEIGHT_AD = "ID_TUBE_HEIGHT_AD"; //球管高度AD数据
- const std::string ID_TUBE_ANGLE_AD = "ID_TUBE_ANGLE_AD"; //球管角度AD数据
- const std::string ID_TUBE_HEIGHT_ENCODER_AXIS_A = "ID_TUBE_HEIGHT_ENCODER_AXIS_A"; //球管高度编码器A轴
- const std::string ID_TUBE_HEIGHT_ENCODER_AXIS_B = "ID_TUBE_HEIGHT_ENCODER_AXIS_B"; //球管高度编码器B轴
- const std::string ID_TUBE_HEIGHT_ENCODER_AXIS_Z = "ID_TUBE_HEIGHT_ENCODER_AXIS_Z"; //球管高度编码器Z轴
- const std::string ID_TUBE_ANGLE_HIGH_LIMIT = "ID_TUBE_ANGLE_HIGH_LIMIT"; //球管旋转上限位
- const std::string ID_TUBE_ANGLE_LOW_LIMIT = "ID_TUBE_ANGLE_LOW_LIMIT"; //球管旋转下限位
- const std::string ID_TUBE_ANGLE_ENCODER_AXIS_A = "ID_TUBE_ANGLE_ENCODER_AXIS_A"; //球管旋转编码器A轴
- const std::string ID_TUBE_ANGLE_ENCODER_AXIS_B = "ID_TUBE_ANGLE_ENCODER_AXIS_B"; //球管旋转编码器B轴
- const std::string ID_TUBE_ANGLE_ENCODER_AXIS_Z = "ID_TUBE_ANGLE_ENCODER_AXIS_Z"; //球管旋转编码器Z轴
- const std::string ID_TUBE_ANGLE_DIRECTION = "ID_TUBE_ANGLE_DIRECTION"; //球管角度方向
- const std::string ID_TUBE_ANGLE_PULSE = "ID_TUBE_ANGLE_PULSE"; //球管角度脉冲
- const std::string ID_XRAYON_NOTIFY = "ID_XRAYON_NOTIFY"; //发生器射线指示
- const std::string ID_POWER = "ID_POWER"; //5V电源
- const std::string ID_DETECTOR_HEIGHT_AD = "ID_DETECTOR_HEIGHT_AD"; //探测器高度AD数据
- const std::string ID_TUBE_HEIGHT_ENCODER = "ID_TUBE_HEIGHT_ENCODER"; //球管高度编码器
- const std::string ID_TUBE_ANGLE_ENCODER = "ID_TUBE_ANGLE_ENCODER"; //球管角度编码器
- const std::string ID_DETECTOR_HEIGHT_ENCODER = "ID_DETECTOR_HEIGHT_ENCODER"; //探测器高度编码器
- const std::string ID_SOFTWARE_CHAIN_INTERFACE_A = "ID_SOFTWARE_CHAIN_INTERFACE_A"; //连锁器接口A
- const std::string ID_SOFTWARE_CHAIN_INTERFACE_B = "ID_SOFTWARE_CHAIN_INTERFACE_B"; //连锁器接口B
- const std::string ID_EXPOSURE_TRIGGER = "ID_EXPOSURE_TRIGGER"; //同步盒信号端口触发
- const std::string ID_MCU = "ID_MCU"; //MCU
- const std::string ID_RS232 = "ID_RS232"; //RS232/485
- const std::string ID_TUBE_HEIGHT_HIGH_LIMIT = "ID_TUBE_HEIGHT_HIGH_LIMIT"; //球管高度上限位
- const std::string ID_TUBE_HEIGHT_LOW_LIMIT = "ID_TUBE_HEIGHT_LOW_LIMIT"; //球管高度下限位
- const std::string ID_CAN = "ID_CAN"; //can
- const std::string ID_TUBE_ANGLE_BRAKE = "ID_TUBE_ANGLE_BRAKE"; //球管旋转刹车信号
- const std::string ID_TUBE_HEIGHT_BRAKE = "ID_TUBE_HEIGHT_BRAKE"; //球管垂直刹车信号
- const std::string ID_TUBE_HORIZONTAL_BRAKE = "ID_TUBE_HORIZONTAL_BRAKE"; //球管水平刹车信号
- const std::string ID_FLUORO_SWITCH_OUT = "ID_FLUORO_SWITCH_OUT"; //脚闸信号输出
- const std::string ID_TUBE_LINE_MOTION_SWITCH_OUT = "ID_TUBE_LINE_MOTION_SWITCH_OUT";//球管水平和垂直运动切换开关
-
- const std::string ID_TUBE_HORIZONTAL_SERVO_ON = "ID_TUBE_HORIZONTAL_SERVO_ON"; //球管水平Servo On
- const std::string ID_TUBE_HORIZONTAL_PULSE = "ID_TUBE_HORIZONTAL_PULSE"; //球管水平运动脉冲
- const std::string ID_TUBE_HORIZONTAL_DIRECTION = "ID_TUBE_HORIZONTAL_DIRECTION"; //球管水平运动方向
- const std::string ID_TUBE_HORIZONTAL_AD = "ID_TUBE_HORIZONTAL_AD"; //球管水平A/D
- const std::string ID_TUBE_HORIZONTAL_ENCODER_AXIS_A = "ID_TUBE_HORIZONTAL_ENCODER_AXIS_A"; //球管水平编码器A轴
- const std::string ID_TUBE_HORIZONTAL_ENCODER_AXIS_B = "ID_TUBE_HORIZONTAL_ENCODER_AXIS_B"; //球管水平编码器B轴
- const std::string ID_TUBE_HORIZONTAL_ENCODER_AXIS_Z = "ID_TUBE_HORIZONTAL_ENCODER_AXIS_Z"; //球管水平编码器Z轴
- const std::string ID_TUBE_HORIZONTAL_ENCODER = "ID_TUBE_HORIZONTAL_ENCODER"; //球管水平编码器
- const std::string ID_TUBE_HORIZONTAL_LEFT_LIMIT = "ID_TUBE_HORIZONTAL_LEFT_LIMIT"; //球管水平左限位
- const std::string ID_TUBE_HORIZONTAL_RIGHT_LIMIT = "ID_TUBE_HORIZONTAL_RIGHT_LIMIT"; //球管水平右限位
- const std::string ID_DETECTOR_HORIZONTAL_AD = "ID_DETECTOR_HORIZONTAL_AD"; //探测器高度AD数据
- const std::string ID_DETECTOR_HORIZONTAL_ENCODER = "ID_DETECTOR_HORIZONTAL_ENCODER"; //探测器高度AD数据
-
- }
|