123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485 |
- #pragma once
- namespace DIOS::Dev::Detail::MachineryECOM
- {
- class DiosBoardCtrlParams
- {
- public:
- DiosBoardCtrlParams();
- virtual ~DiosBoardCtrlParams();
- };
- enum NOTIFY_FRAME_ID
- {
- NOTIFY_FRAME_DEF = 0xFE,
- };
- enum DIOSBOARD_OP
- {
- OP_SET = 0x01, //设置
- OP_WRITE = 0x02, //写
- OP_READ = 0x03, //读
- };
- enum GPIO_DO_ID
- {
- DO_ID_1 = 0x15,
- DO_ID_2 = 0x16,
- DO_ID_3 = 0x17,
- DO_ISO_ID_1 = 0x35,
- DO_ISO_ID_2 = 0x36,
- DO_ISO_ID_3 = 0x37,
- };
- enum GPIO_DO_ATTRIBUTE
- {
- DO_ATTR_NONE = -1,
- DO_ATTR_SET_MODE = 0x01, //输出模式设置,GPIO_OUTPUT_MODE
- DO_ATTR_SET_LEVEL = 0x02, //有效电平设置,GPIO_ACTIVE_LEVEL
- DO_ATTR_SET_PWM_PARAM_TABLE = 0x03, //PWM参数(组)属性表设置
- DO_ATTR_SET_PWM_SEPARATOR = 0x04, //PWM属性表分隔符设置
- DO_ATTR_SET_PWM_DELETE = 0x05, //删除PWM属性表参数
- DO_ATTR_SET_AUTO_UPLOAD = 0x20, //状态自动返回开关
- };
- enum GPIO_OUTPUT_MODE
- {
- GOM_DIGITAL = 0x00, //数字量
- GOM_PWM = 0x10, //PWM
- };
- enum GPIO_ACTIVE_LEVEL
- {
- GAL_HIGH = 0x00, //高电平有效
- GAL_LOW = 0x10, //低电平有效
- };
- enum GPIO_DO_AUTO_UPLOAD_SWITCH
- {
- GAUTO_DO_UPLOAD_ON = 0x01,
- GAUTO_DO_UPLOAD_OFF = 0x00,
- };
- enum GPIO_DI_ID
- {
- DI_ID_1 = 0x11,
- DI_ID_2 = 0x12,
- DI_ID_3 = 0x13,
- DI_ID_4 = 0x14,
- DI_ISO_ID_1 = 0x31,
- DI_ISO_ID_2 = 0x32,
- DI_ISO_ID_3 = 0x33,
- DI_ISO_ID_4 = 0x34,
- };
- enum GPIO_DI_ATTRIBUTE
- {
- DI_ATTR_NONE = -1,
- DI_ATTR_SET_MODE = 0x01, //输入模式设置
- DI_ATTR_SET_LEVEL = 0x02, //有效电平设置
- DI_ATTR_SET_COUNT_CLEAR = 0x03, //有效电平捕获计数清零
- DI_ATTR_SET_AUTO_UPLOAD = 0x20, //状态自动返回开关
- DI_ATTR_SET_ASSOCIATE_CH1 = 0x30, //关联通道1设定
- DI_ATTR_SET_ASSOCIATE_CH1_CANCEL = 0x31,//关联通道1解除
- DI_ATTR_SET_ASSOCIATE_CH1_ATTR = 0x32, //关联通道1属性设定
- DI_ATTR_SET_ASSOCIATE_CH2 = 0x40, //关联通道2设定
- DI_ATTR_SET_ASSOCIATE_CH2_CANCEL = 0x41,//关联通道2解除
- DI_ATTR_SET_ASSOCIATE_CH2_ATTR = 0x42, //关联通道2属性设定
- DI_ATTR_SET_DELETE_ENCODER = 0x50, //删除编码器指令
- };
- enum GPIO_INPUT_MODE
- {
- GIM_DIGITAL = 0x00, //数字量
- GIM_PULSE_COUNT = 0x10, //捕获脉冲计数
- };
- enum GPIO_DI_AUTO_UPLOAD_SWITCH
- {
- GAUTO_DI_UPLOAD_ON = 0x10,
- GAUTO_DI_UPLOAD_OFF = 0x00,
- };
- //主通道触发电平设定
- enum GPIO_DI_TRIGGER_LEVEL
- {
- GDI_TRIGGER_LEVEL_UP = 0x00,
- GDI_TRIGGER_LEVEL_DOWN = 0x01,
- GDI_TRIGGER_LEVEL_BOTH = 0x02,
- };
- enum AD_ID
- {
- //AD1-AD7
- AD_ID_1 = 0x21,
- AD_ID_2 = 0x22,
- AD_ID_3 = 0x23,
- AD_ID_4 = 0x24,
- AD_ID_5 = 0x25,
- AD_ID_6 = 0x26,
- AD_ID_7 = 0x27,
- //DAD/DT1-DAD/DT7
- DAD_ID_1 = 0x29,
- DAD_ID_2 = 0x2A,
- DAD_ID_3 = 0x2B,
- DAD_ID_4 = 0x2C,
- DAD_ID_5 = 0x2D,
- DAD_ID_6 = 0x2E,
- DAD_ID_7 = 0x2F,
- };
- enum AD_ATTRIBUTE
- {
- AD_ATTR_NONE = -1,
- AD_ATTR_ON_OFF = 0x01, //AD开关
- AD_ATTR_AUTO_UPLOAD = 0x20, //AD采样值(或微分值)自动上传
- AD_ATTR_AUTO_UPLOAD_CLEAR_TABLE = 0x21, //AD采样值(或微分值)自动上传值表清除
- AD_ATTR_ASSOCIATE_CH1 = 0x30, //AD关联通道1
- AD_ATTR_ASSOCIATE_CH1_CANCEL = 0x31, //AD关联通道1解除
- AD_ATTR_ASSOCIATE_CH2 = 0x32, //AD关联通道2设定
- AD_ATTR_ASSOCIATE_CH2_CANCEL = 0x33, //AD关联通道2解除
- AD_ATTR_ASSOCIATE_CH1_TABLE_SET = 0x40, //AD关联通道1关联值(组)设定
- AD_ATTR_ASSOCIATE_CH1_TABLE_DELETE = 0x41, //AD关联通道1关联值表删除
- AD_ATTR_ASSOCIATE_CH2_TABLE_SET = 0x42, //AD关联通道2关联值(组)设定
- AD_ATTR_ASSOCIATE_CH2_TABLE_DELETE = 0x43, //AD关联通道2关联值表删除
- };
- enum AD_SWITCH
- {
- ADSW_ON = 0x01,
- ADSW_OFF = 0x00,
- };
- enum RS232_ID
- {
- RS232_ID_1 = 0x43, //RS232
- };
- enum RS232_ATTRIBUTE
- {
- RS232_ATTR_NONE = -1, //Ignored
- RS232_ATTR_ON_OFF = 0x01, //开关
- RS232_ATTR_BAUD_RATE = 0x02, //波特率
- RS232_ATTR_DATA_SET = 0x03, //数据格式
- };
- enum RS232_SWITCH
- {
- RS232_SW_ON = 0x01,
- RS232_SW_OFF = 0x00,
- };
- enum RS232_BAUD_RATE
- {
- BAUD_RATE_9600 = 0x00, //9600bps
- BAUD_RATE_19200 = 0x10, //19200bps
- BAUD_RATE_38400 = 0x20, //38400bps
- BAUD_RATE_115200 = 0x30, //115200bps
- };
- enum RS232_DATA_VALIDATE
- {
- RS232_DATA_VALIDATE_DEFAULT = 0x00, //字长8bit,停止位1bit,无校验
- };
- enum CAN_ID
- {
- CAN_ID_1 = 0x42,
- };
- enum CAN_ATTRIBUTE
- {
- CAN_ATTR_NONE = -1,
- CAN_ATTR_ON_OFF = 0x01,
- CAN_ATTR_BAUD_RATE,
- };
- enum CAN_SWITCH
- {
- CAN_SW_ON = 0x01,
- CAN_SW_OFF = 0x00,
- };
- enum SEC_ID
- {
- SEC_ID_1 = 0xC1,
- SEC_ID_2 = 0xC2,
- SEC_ID_3 = 0xC3,
- SEC_ID_4 = 0xC4,
- };
- enum SEC_ATTRIBUTE
- {
- SEC_ATTR_NONE = -1,
- SEC_ATTR_A_B_AXIS_BIND = 0x01, //编码器A、B轴绑定
- SEC_ATTR_Z_AXIS_BIND = 0x02, //编码器Z轴绑定
- SEC_ATTR_Z_AXIS_BIND_CANCEL = 0x03, //编码器Z轴解除绑定
- SEC_ATTR_DELTE = 0x04, //删除编码器
- SEC_ATTR_Z_AXIS_CLEAR_NOTIFY = 0x5, //编码器Z轴清零通知设置
- SEC_ATTR_ASSOCIATE_CH1_SET = 0x10, //编码器关联通道1设定
- SEC_ATTR_ASSOCIATE_CH1_CANCEL = 0x11, //编码器关联通道1解除
- SEC_ATTR_ASSOCIATE_CH1_TABLE_SET = 0x12, //编码器关联通道1关联值(组)设定
- SEC_ATTR_ASSOCIATE_CH1_TABLE_CLEAR = 0x13, //编码器关联通道1关联值(组)清除
- SEC_ATTR_ASSOCIATE_CH2_SET = 0x20, //编码器关联通道2设定
- SEC_ATTR_ASSOCIATE_CH2_CANCEL = 0x21, //编码器关联通道2解除
- SEC_ATTR_ASSOCIATE_CH2_TABLE_SET = 0x22, //编码器关联通道2关联值(组)设定
- SEC_ATTR_ASSOCIATE_CH2_TABLE_CLEAR = 0x23, //编码器关联通道2关联值(组)清除
- };
- enum SCL_ID
- {
- SCL_ID_1 = 0xD1,
- SCL_ID_2 = 0xD2,
- SCL_ID_3 = 0xD3,
- SCL_ID_4 = 0xD4,
- };
- enum SCL_ATTRIBUTE
- {
- SCL_ATTR_SET = 0x01, //软件接口连锁器配置指令
- };
- enum SEC_Z_AXIS_NOTIFY_SWITCH
- {
- SEC_Z_NOTIFY_SW_ON = 0x01,
- SEC_Z_NOTIFY_SW_OFF = 0x00,
- };
- enum EXPOSURE_ID
- {
- EXPOSURE_CTRL_ID = 0x41,
- };
- enum MCU_ID
- {
- MCU_CTRL_ID = 0x48,
- };
- enum MCU_ATTRIBUTE
- {
- MCU_ATTR_VERSION = 0x01,
- };
- enum ENCODER_AXIS
- {
- ENCODER_AXIS_ID_1 = 0x51,
- ENCODER_AXIS_ID_2 = 0x52,
- ENCODER_AXIS_ID_3 = 0x53,
- };
- union PWMPeriod
- {
- struct _stpwmperiod
- {
- unsigned char pwmperiod_lowbyte;
- unsigned char pwmperiod_highbyte;
- } pwmperiod_byte;
- unsigned short pwmperiod_short;
- };
- union PWMstep
- {
- struct _stpwmstep
- {
- unsigned char pwmstep_lowbyte_0;
- unsigned char pwmstep_lowbyte_1;
- unsigned char pwmstep_highbyte_0;
- unsigned char pwmstep_highbyte_1;
- } pwmstep_byte;
- int pwmstep_int;
- };
- struct GPIO_DO_PARAM : public DiosBoardCtrlParams
- {
- unsigned char output_mode;
- unsigned char active_level;
- unsigned char autoupload_switch;
- PWMPeriod peroid;
- PWMPeriod effective;
- PWMstep pwm_step;
- unsigned char padding[1];
- };
- struct GPIO_DI_PARAM : public DiosBoardCtrlParams
- {
- unsigned char input_mode;
- unsigned char autoupload_switch;
- unsigned char ch_associate_id;
- unsigned char filter_time;
- unsigned char trigger_level;
- unsigned char associate_ch_action;
- unsigned char active_level;
- union _pulseCount
- {
- struct _spulseCount
- {
- unsigned char pulse_count_lowbyte;
- unsigned char pulse_count_highbyte;
- } pulse_count_byte;
- unsigned short pulse_count_short;
- } pulse_count;
- unsigned char padding[3];
- };
- struct AD_PARAM : public DiosBoardCtrlParams
- {
- unsigned char ad_switch;
- union _lparam
- {
- struct _slparam
- {
- unsigned char auto_upload_value_lowbyte;
- unsigned char auto_upload_value_highbyte;
- } auto_upload_value_btye;
- unsigned short auto_upload_value_short;
- } auto_upload_value;
- unsigned char associate_ch_id;
- union _associate
- {
- struct _slparam
- {
- unsigned char associate_value_lowbyte;
- unsigned char associate_value_highbyte;
- } associate_value_btye;
- unsigned short associate_value_short;
- } associate_value;
- PWMPeriod peroid;
- PWMPeriod effective;
- PWMstep pwm_step;
- union _ladreadparam
- {
- struct _sadreadparam
- {
- unsigned char ad_lowbyte;
- unsigned char ad_highbyte;
- } ad_value_btye;
- unsigned short ad_value_short;
- } ad_value;
- };
- struct RS232_PARAM : public DiosBoardCtrlParams
- {
- unsigned char rs232_switch;
- unsigned char rs232_baud_rate;
- unsigned char rs232_data_validate;
- std::basic_string<unsigned char> rs485;
- unsigned char padding;
- };
- struct CAN_PARAM : public DiosBoardCtrlParams
- {
- unsigned char can_switch;
- unsigned char can_baud_rate;
- unsigned short can_stdid;
- unsigned char can_dlc;
- std::basic_string<unsigned char> candata;
- unsigned char padding[1];
- };
- enum CAN_BAUD_RATE
- {
- CAN_BAUD_RATE_100 = 0x1E,
- CAN_BAUD_RATE_125 = 0x18,
- CAN_BAUD_RATE_250 = 0xC,
- CAN_BAUD_RATE_500 = 0x6,
- CAN_BAUD_RATE_750 = 0x4,
- CAN_BAUD_RATE_1000 = 0x3,
- };
- union ADLimit
- {
- struct _slparam
- {
- unsigned char limit_value_lowbyte;
- unsigned char limit_value_highbyte;
- } limit_value_btye;
- unsigned short limit_value_short;
- };
- struct SEC_PARAM : public DiosBoardCtrlParams
- {
- unsigned char a_axis_bind_id;
- unsigned char b_axis_bind_id;
- unsigned char z_axis_bind_id;
- unsigned char z_axis_assistent_ad_id;
- ADLimit low_limit_value;
- ADLimit high_limit_value;
- unsigned char z_axis_clear_notify_switch;
- unsigned char associate_id;
- union _associate_value
- {
- struct
- {
- unsigned char associate_value_lowbyte_0;
- unsigned char associate_value_lowbyte_1;
- unsigned char associate_value_highbyte_0;
- unsigned char associate_value_highbyte_1;
- } associate_value_byte;
- int associate_value_int;
- } associate_value;
- union _encoder_value
- {
- struct
- {
- unsigned char encoder_lowbyte_0;
- unsigned char encoder_lowbyte_1;
- unsigned char encoder_highbyte_0;
- unsigned char encoder_highbyte_1;
- } encoder_value_byte;
- int encoder_value_int;
- } encoder_value;
- unsigned char use_ad_assistent;
- unsigned char padding[1];
- };
- struct SCL_PARAM : public DiosBoardCtrlParams
- {
- unsigned char a_id;
- unsigned char a_trigger_level;
- unsigned char b_id;
- unsigned char b_trigger_level;
- unsigned char f_id;
- };
- struct MCU_PARAM : public DiosBoardCtrlParams
- {
- union _mcu_version
- {
- struct _lparam
- {
- unsigned char version_lowbyte;
- unsigned char version_highbyte;
- } version_byte;
- unsigned short version_short;
- } mcu_version;
- };
- struct EXPOSURE_PARAM : public DiosBoardCtrlParams
- {
- unsigned char active_level;
- unsigned char padding[3];
- };
- }
|