;============================================================================== #Modbus_HuanYang_VFD_control_speed .addr = 0x01; .fc = 0x05; .data_size = 0x02; .spindlespeed = .arg1; if(.spindlespeed > _spindle_speed_max, .spindlespeed = _spindle_speed_max); speed_freq = (.spindlespeed / 24000); speed_freq_MB_cmd = ((speed_freq * 400)*100); .payload = array_new(); array_setdata(.payload, 0, .addr, .fc, .data_size); array_setdata(.payload, -1, speed_freq_MB_cmd >> 8 ); array_setdata(.payload, -1, speed_freq_MB_cmd); .crc = array_crc16(.payload, 0, -1); array_setdata16(.payload, -1, .crc); ;array_printdata(.payload); .rc = exec(.payload, .resp_size, '#Modbus_Write_Read_Data_VFD'); if(.rc != 0, exec(array_delete(.payload), return(-1))); ;if(.rc != 0, exec(array_delete(.payload), return(-1))); array_delete(.payload); return(0); ;==============================================================================