Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
processes
LabProcesses.jl
Commits
6481930b
Commit
6481930b
authored
Dec 07, 2018
by
Fredrik Bagge Carlson
Browse files
updates for julia v1.0
parent
eac09291
Pipeline
#660
failed with stage
in 6 minutes and 9 seconds
Changes
5
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
6481930b
## News
2018-12-07: Update to julia v1.0 is ongoing, check branch
`julia1`
[

](https://gitlab.control.lth.se/processes/LabProcesses.jl/commits/master)
[

](https://gitlab.control.lth.se/processes/LabProcesses.jl/commits/master)
...
...
@@ -37,4 +40,4 @@ och lägga till tre rader som
När .gitlab-ci.yml uppdateras i master triggas en pipline. Om denna lyckas kommer dokumentationen finnas under
http://processes.gitlab.control.lth.se/documentation/myfoldername/
\ No newline at end of file
http://processes.gitlab.control.lth.se/documentation/myfoldername/
REQUIRE
View file @
6481930b
julia 0.
6
julia 0.
7
ControlSystems
Parameters
DSP
src/LabProcesses.jl
View file @
6481930b
# __precompile__()
using
Pkg
installed_packages
=
Pkg
.
installed
()
if
"LabConnections"
∉
keys
(
installed_packages
)
Pkg
.
clone
(
"https://gitlab.control.lth.se/cont-frb/LabConnections.jl"
)
...
...
@@ -8,7 +9,7 @@ end
module
LabProcesses
using
ControlSystems
,
LabConnections
.
Computer
,
Parameters
using
ControlSystems
,
LabConnections
.
Computer
,
Parameters
,
DSP
include
(
"utilities.jl"
)
...
...
src/interface_implementations/define_beam_system.jl
View file @
6481930b
using
ControlSystems
using
ControlSystems
,
DSP
"""
beammodel, beamcontroller = define_beam_system(;doplot=false)
...
...
src/utilities.jl
View file @
6481930b
...
...
@@ -9,7 +9,7 @@ macro periodically(h, body)
local
start_time
=
time
()
$
(
esc
(
body
))
local
execution_time
=
time
()
-
start_time
sleep
(
max
(
0
,
$
(
esc
(
h
))
-
execution_time
))
Libc
.
system
sleep
(
max
(
0
,
$
(
esc
(
h
))
-
execution_time
))
end
end
...
...
@@ -37,22 +37,22 @@ Create a SysFilter object that can be used to implement control loops and simula
with LTI systems, i.e., `U(z) = C(z)E(z)`. To filter a signal `u` through the filter,
call like `y = Csf(u)`. Calculates the filtered output `y` in `y = Cx+Du, x'=Ax+Bu`
"""
struct
SysFilter
sys
::
StateSpace
struct
SysFilter
{
T
<:
StateSpace
}
sys
::
T
state
::
Vector
{
Float64
}
function
SysFilter
(
sys
::
StateSpace
,
state
::
AbstractVector
)
@assert
!
ControlSystems
.
iscontinuous
(
sys
)
"Can not filter using continuous time model."
@assert
length
(
state
)
==
sys
.
nx
"length(state) != sys.nx"
new
(
sys
,
state
)
new
{
typeof
(
sys
)}
(
sys
,
state
)
end
function
SysFilter
(
sys
::
StateSpace
)
@assert
!
ControlSystems
.
iscontinuous
(
sys
)
"Can not filter using continuous time model. Supply sample time."
new
(
sys
,
init_sysfilter
(
sys
))
new
{
typeof
(
sys
)}
(
sys
,
init_sysfilter
(
sys
))
end
function
SysFilter
(
sys
::
StateSpace
,
h
::
Real
)
@assert
ControlSystems
.
iscontinuous
(
sys
)
"Sample time supplied byt system model is already in discrete time."
sysd
=
c2d
(
sys
,
h
)[
1
]
new
(
sysd
,
init_sysfilter
(
sysd
))
new
{
typeof
(
sysd
)}
(
sysd
,
init_sysfilter
(
sysd
))
end
end
(
s
::
SysFilter
)(
input
)
=
sysfilter!
(
s
.
state
,
s
.
sys
,
input
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment