51 lines
1.7 KiB
Matlab

function [outputArg] = plot_inverter(panel, start, stop, pltData)
% create tiledlayout (R2023a and newer)
tl = tiledlayout(panel,"vertical");
% plot 1: speed [km/h]
ax1 = nexttile(tl);
hold(ax1, "on")
grid(ax1, "on")
title(ax1, "Speed [km/h]")
plot(ax1,pltData.xAxis(start:stop),pltData.speed_kph(start:stop))
% plot 2: Inverter Temps [°C]
ax2 = nexttile(tl);
hold(ax2, "on")
grid(ax2, "on")
title(ax2, "Inverter Temp [°C]")
plot(ax2,pltData.xAxis(start:stop),pltData.invL_temp(start:stop))
plot(ax2,pltData.xAxis(start:stop),pltData.invR_temp(start:stop))
legend(ax2, "Left", "Right")
% plot 3: Torque request / actual inverter left
ax3 = nexttile(tl);
hold(ax3, "on")
grid(ax3, "on")
title(ax3, "Left Torque")
plot(ax3,pltData.xAxis(start:stop),pltData.invL_torqueDemand(start:stop))
plot(ax3,pltData.xAxis(start:stop),pltData.invL_torqueActual(start:stop))
legend(ax3, "Demand", "Actual")
% plot 4: Torque request / actual inverter right
ax4 = nexttile(tl);
hold(ax4, "on")
grid(ax4, "on")
title(ax4, "Right Torque")
plot(ax4,pltData.xAxis(start:stop),pltData.invR_torqueDemand(start:stop))
plot(ax4,pltData.xAxis(start:stop),pltData.invR_torqueActual(start:stop))
legend(ax4, "Demand", "Actual")
% plot 5: Motor velocities
ax5 = nexttile(tl);
hold(ax5, "on")
grid(ax5, "on")
title(ax5, "Motor Velocities [1/min]")
plot(ax5,pltData.xAxis(start:stop),pltData.motL_vel_rpm(start:stop))
plot(ax5,pltData.xAxis(start:stop),pltData.motR_vel_rpm(start:stop))
legend(ax5, "Left", "Right")
% link all x axes
linkaxes([ax1, ax2, ax3, ax4, ax5],"x")
% return null (not relevant for plots!)
outputArg = [];
end