Code
# import Pkg; Pkg.add("OMJulia")
using OMJuliaPosition Control with friction. Using Pole Placement + PD.
# import Pkg; Pkg.add("OMJulia")
using OMJuliausing OMJulia.API: APIomc = OMJulia.OMCSession();[ Info: Path to zmq file="/tmp/openmodelica.icpmoles.port.julia.z0WV3KM0Lj"
modelfile = joinpath(@__DIR__,
"modelica",
"ControlChallenges",
"package.mo")
API.loadFile(omc, modelfile)
classname = "ControlChallenges.BlockOnSlope_Challenges.Examples.WithFriction"
ModelicaSystem(omc,modelfile, classname)
fmuPath = API.buildModelFMU(omc, classname)"/tmp/jl_Bdmswi/ControlChallenges.BlockOnSlope_Challenges.Examples.WithFriction.fmu"
using FMI, DifferentialEquations, Plots
fmu = loadFMU(fmuPath);
simData = simulateME(
fmu,
(0.0, 5.0);
recordValues=["blockOnSlope.x",
"blockOnSlope.xd",
"blockOnSlope.usat"],
showProgress=false);
unloadFMU(fmu);
plot(simData, states=false, timeEvents=false)