diff --git a/diaoerqiege/BHBF_Robot_Lifting_Lug/Core/BASE/Src/MSP/msp_Strong_grinding_machine.c b/diaoerqiege/BHBF_Robot_Lifting_Lug/Core/BASE/Src/MSP/msp_Strong_grinding_machine.c index aeceb96..7d7c077 100644 --- a/diaoerqiege/BHBF_Robot_Lifting_Lug/Core/BASE/Src/MSP/msp_Strong_grinding_machine.c +++ b/diaoerqiege/BHBF_Robot_Lifting_Lug/Core/BASE/Src/MSP/msp_Strong_grinding_machine.c @@ -34,47 +34,37 @@ const uint8_t strong_grinding_machine_set_speed_cmd[8] = {0x01, 0x06, 0x00, 0x02 const uint8_t strong_grinding_machine_start_cmd[8] = {0x01, 0x06, 0x20, 0x00, 0x00, 0x01, 0x43, 0xCA}; const uint8_t strong_grinding_machine_stop_cmd[8] = {0x01, 0x06, 0x20, 0x00, 0x00, 0x00, 0x82, 0x0A}; -static uint8_t strong_grinding_machine_cmd_flag = 0; uint8_t strong_grinding_machine_cmd = 0; // 测试,转速20rpm int32_t strong_grinding_machine_speed = 10; void Strong_grinding_machine_cmd(void) { - strong_grinding_machine_speed = GV.PV.main_axis_speed; + strong_grinding_machine_speed = GV.PV.main_axis_speed / 15;//公式是转速除以60/p,是极对数,极对数是极数的一半。当前电机极数是8,所以是除以15 - switch(strong_grinding_machine_cmd_flag) + //发速度 + MB_WriteHoldingReg(&Strong_grinding_machine_handler->Tx_Buf, Strong_grinding_machine_handler->TxCount, + 0x01, 0x4000, strong_grinding_machine_speed); + Strong_grinding_machine_handler->AddSendList(Strong_grinding_machine_handler, Strong_grinding_machine_handler->Tx_Buf, Strong_grinding_machine_handler->TxCount, + inquiry_interval, NULL); + + //发是否旋转 + if(strong_grinding_machine_cmd == 0) + { + Strong_grinding_machine_handler->TxCount = 8; + memcpy(&Strong_grinding_machine_handler->Tx_Buf, &strong_grinding_machine_stop_cmd, Strong_grinding_machine_handler->TxCount); + Strong_grinding_machine_handler->AddSendList(Strong_grinding_machine_handler, Strong_grinding_machine_handler->Tx_Buf, Strong_grinding_machine_handler->TxCount, + inquiry_interval, NULL); + } + else if(strong_grinding_machine_cmd == 1) { - case 0: - - MB_WriteHoldingReg(&Strong_grinding_machine_handler->Tx_Buf, Strong_grinding_machine_handler->TxCount, - 0x01, 0x4000, strong_grinding_machine_speed); -// Strong_grinding_machine_handler->TxCount = 8; -// memcpy(&Strong_grinding_machine_handler->Tx_Buf, &strong_grinding_machine_set_speed_cmd, Strong_grinding_machine_handler->TxCount); - Strong_grinding_machine_handler->AddSendList(Strong_grinding_machine_handler, Strong_grinding_machine_handler->Tx_Buf, Strong_grinding_machine_handler->TxCount, - inquiry_interval, NULL); - strong_grinding_machine_cmd_flag = 1; - break; - case 1: - if(strong_grinding_machine_cmd == 0) - { - Strong_grinding_machine_handler->TxCount = 8; - memcpy(&Strong_grinding_machine_handler->Tx_Buf, &strong_grinding_machine_stop_cmd, Strong_grinding_machine_handler->TxCount); - Strong_grinding_machine_handler->AddSendList(Strong_grinding_machine_handler, Strong_grinding_machine_handler->Tx_Buf, Strong_grinding_machine_handler->TxCount, - inquiry_interval, NULL); - } - else if(strong_grinding_machine_cmd == 1) - { - Strong_grinding_machine_handler->TxCount = 8; - memcpy(&Strong_grinding_machine_handler->Tx_Buf, &strong_grinding_machine_start_cmd, Strong_grinding_machine_handler->TxCount); - Strong_grinding_machine_handler->AddSendList(Strong_grinding_machine_handler, Strong_grinding_machine_handler->Tx_Buf, Strong_grinding_machine_handler->TxCount, - inquiry_interval, NULL); - } - else{ - - } - strong_grinding_machine_cmd_flag = 0; - break; + Strong_grinding_machine_handler->TxCount = 8; + memcpy(&Strong_grinding_machine_handler->Tx_Buf, &strong_grinding_machine_start_cmd, Strong_grinding_machine_handler->TxCount); + Strong_grinding_machine_handler->AddSendList(Strong_grinding_machine_handler, Strong_grinding_machine_handler->Tx_Buf, Strong_grinding_machine_handler->TxCount, + inquiry_interval, NULL); + } + else{ + } }