get_psim_version_name
Usage
% Import the module
psim_module = py.importlib.import_module('psimapipy');
% Create the PSIM object (empty string = auto-detect from registry)
psim = psim_module.PSIM('');
% Verify it loaded correctly
if ~psim.IsValid()
error('PSIM failed to load');
end
ver = psim.get_psim_version_name();
ver_cell = cell(ver);
fprintf('PSIM version: %d.%d.%d.%d\n', ...
int32(ver_cell{1}), int32(ver_cell{2}), int32(ver_cell{3}), int32(ver_cell{4}));
disp(char(psim.get_psim_version_name()));
Python Help
py.help(psim.get_psim_version_name)
Python def
def get_psim_version_name(self):
if not self.IsValid():
print("PSIM object was not loaded.")
return None;
GetPSIMVersion = getattr(self.psimHandle, "GetPSIMVersion")
if not GetPSIMVersion:
raise AttributeError(self.VersionErrorMessage)
# Create variables for the version info
nVersion = ctypes.c_int()
nSubVersion = ctypes.c_int()
nSubSubVersion = ctypes.c_int()
nSubSubSubVersion = ctypes.c_int()
nVertical = ctypes.c_int()
# Call the DLL function
ver = GetPSIMVersion(ctypes.byref(nVersion),
ctypes.byref(nSubVersion),
ctypes.byref(nSubSubVersion),
ctypes.byref(nSubSubSubVersion),
ctypes.byref(nVertical))
# print(f"PSIM version {nVersion.value}.{nSubVersion.value}.{nSubSubVersion.value}.{nSubSubSubVersion.value} ({nVertical.value})")
# vertical: 564:Windows_GUI, 864:Windows_PSIMSolver 800:Linux_PSIMSolver
if nVertical.value == 564:
return f"PSIM {nVersion.value}.{nSubVersion.value}.{nSubSubVersion.value}.{nSubSubSubVersion.value} (WindowsGUI)"
elif nVertical.value == 864:
return f"PSIMSolver {nVersion.value}.{nSubVersion.value}.{nSubSubVersion.value}.{nSubSubSubVersion.value} (Windows)"
elif nVertical.value == 800:
return f"PSIMSolver {nVersion.value}.{nSubVersion.value}.{nSubSubVersion.value}.{nSubSubSubVersion.value} (Linux)"
return f"PSIM {nVersion.value}.{nSubVersion.value}.{nSubSubVersion.value}.{nSubSubSubVersion.value} Vertical:{nVertical.value}"