tmp = read_holding_registers(param, slave, STATUS_DC_Bus_Voltage, 1, receive_data);
if (tmp == 1) {
*(hal_data_block->dc_bus_voltage) = receive_data[0] * множитель (умнож на 10 текущее значение);
data_ok_count++;
} else goto failed;
Код: Выделить всё
/* Регистры для чтения. Укажите значения из мануала на свой ПЧ! */
#define STATUS_Command_Frequency 0x0001 // заданная (опорная) частота
#define STATUS_Output_Frequency 0x0002 // выходная частота
#define STATUS_Output_Current 0x0003 // выходной ток
#define STATUS_Output_Voltage 0x0004 // выходное напряжение
#define STATUS_Output_Power 0x0005 // выходная мощность
#define STATUS_Output_Torque 0x0006 // выходной момент
#define STATUS_Motor_RPM 0x0007 // скорость вращения
#define STATUS_DC_Bus_Voltage 0x0008 // напряжение на шине DC
#define STATUS_Temperature 0x0009 // температура
#define STATUS_Uptime 0x0010 // время наработки
#define STATUS_Fault_Code 0x0011 // код ошибки ПЧ