updated PHX3 VFD registers per new UDT

This commit is contained in:
RobertJDavis
2025-11-04 15:15:45 -07:00
parent f0e3a3a5e5
commit dfc103f1e1
2 changed files with 26 additions and 25 deletions

View File

@@ -90,8 +90,9 @@ State<ModbusRTU>* RunningState<ModbusRTU>::update(Equipment<ModbusRTU>* equipmen
float torque_update = speed_pct * speed_pct * 100; // This is a % of nominal motor torque
float freq_update = speed_pct * 60;
float power_update = speed_pct * speed_pct * speed_pct * 36.77f; // 50 hp ~ 36.77kW
float currentSP = getPointValue(equipment, "Speed Cmd");
Strategy_Behavior* speedFeedback = getStrategy("Speed Feedback");
if (speedFeedback) {
static_cast<RampStrategy*>(speedFeedback)->setTarget(currentSP);

View File

@@ -61,32 +61,32 @@ modbusMap mb_map[] =
{HR, 152, 0, "HOA Command"}, // arbitrary register number - not used in program
{HR, 154, 0, "Run Status"}, // arbitrary register number - 0:off, 1:on (simulated hardwire IO) sending feedback to PLC during simulation.
{HR, 155, 1, "Fault Status"}, // arbitrary register number - 0:faulted, 1:not faulted (simulated hardwire IO). When = 0, will turn off VFD.
{HR, 156, 0, "Speed Feedback"}, // arbitrary register number - send signal to PLC (simulated hardwire IO). Will be equal to Motor Speed Used register
// {HR, 156, 0, "Speed Feedback"}, // arbitrary register number - send signal to PLC (simulated hardwire IO). Will be equal to Motor Speed Used register
{HR_FLOAT, 100, 0, "Motor Speed Used"}, // 1800 rpm max
{HR_FLOAT, 105, 0, "Output Frequency"}, // 60 Hz @100% speed
{HR_FLOAT, 106, 0, "Motor Current"}, // 65 FLA
{HR_FLOAT, 109, 0, "Motor Torque"}, // % of nominal torque
{HR_FLOAT, 110, 0, "DC Voltage"}, // approx 678 VDC @100% speed
{HR_FLOAT, 112, 0, "Output Voltage"}, // 480 VAC
{HR_FLOAT, 116, 0, "Motor Shaft Power"}, // 50 hp ~ 36.77 kW
{HR_FLOAT, 118, 0, "Inverter MWh counter"},
{HR_FLOAT, 119, 0, "Inverter kWh counter"},
{HR_FLOAT, 510, 0, "Inverter Temperature"}, // RJD: Changed from HR_10x to HR, % of fault limit
{HR, 519, 0, "Diagnostic Word"}, // not used in program. Bit 9:Drive Over-Temp Alarm
{HR, 100, 0, "Speed Feedback"}, // 1800 rpm max
{HR, 105, 0, "Output Frequency"}, // 60 Hz @100% speed
{HR, 106, 0, "Motor Current"}, // 65 FLA
{HR, 109, 0, "Motor Torque"}, // % of nominal torque
{HR, 110, 0, "DC Voltage"}, // approx 678 VDC @100% speed
{HR, 112, 0, "Output Voltage"}, // 480 VAC
{HR, 116, 0, "Motor Shaft Power"}, // 50 hp ~ 36.77 kW
{HR, 118, 0, "Inverter MWh counter"},
{HR, 119, 0, "Inverter kWh counter"},
{HR, 510, 0, "Inverter Temperature"}, // RJD: Changed from HR_10x to HR, % of fault limit
{HR, 519, 0, "Diagnostic Word"}, // not used in program. Bit 9:Drive Over-Temp Alarm
{HR, 1000, 0, "DI Status"}, // not used in program.
{HR, 1211, 0, "AI1 Scaled"}, // not used in program.
{HR, 1221, 0, "AI2 Scaled"}, // not used in program.
{HR, 1310, 0, "AO1 Actual"}, // not used in program.
{HR, 1910, 0, "External Control Location"}, // not used in program.
{HR_FLOAT, 4600, 0, "Speed Scaling"}, // ADD: 1800 rpm
{HR_FLOAT, 4601, 0, "Frequency Scaling"}, // ADD: 60 Hz
{HR_FLOAT, 9905, 0, "Nominal Current"}, // ADD: 65 A
{HR_FLOAT, 9906, 0, "Nominal Voltage"}, // ADD: 480 V
{HR_FLOAT, 9907, 0, "Nominal Frequency"}, // ADD: 60 Hz
{HR_FLOAT, 9908, 0, "Nominal Speed"}, // ADD: 1800 rpm
{HR_FLOAT, 9909, 0, "Nominal Power"}, // ADD: 50 hp
{HR, 1000, 0, "DI Status"}, // not used in program.
{HR, 1211, 0, "AI1 Scaled"}, // not used in program.
{HR, 1221, 0, "AI2 Scaled"}, // not used in program.
{HR, 1310, 0, "AO1 Actual"}, // not used in program.
{HR, 1910, 0, "External Control Location"}, // not used in program.
{HR, 4600, 0, "Speed Scaling"}, // ADD: 1800 rpm
{HR, 4601, 0, "Frequency Scaling"}, // ADD: 60 Hz
{HR, 9905, 0, "Nominal Current"}, // ADD: 65 A
{HR, 9906, 0, "Nominal Voltage"}, // ADD: 480 V
{HR, 9907, 0, "Nominal Frequency"}, // ADD: 60 Hz
{HR, 9908, 0, "Nominal Speed"}, // ADD: 1800 rpm
{HR, 9909, 0, "Nominal Power"}, // ADD: 50 hp
};
//Size of modbus map used in FOR cycles, automatically calculated.