Display time-domain data on development computer screen
Controls and accesses properties of host scopes.
The kernel acquires a data package and sends it to the scope on the target computer. The scope waits for an upload command from the development computer, and then uploads the data. The development computer displays the data by using Simulink® Real-Time™ Explorer or other MATLAB® functions.
The following rules exist:
Function names are case sensitive. Type the entire name.
Property names are not case sensitive. You do not need to type the entire name, as long as the characters that you type are unique for the property.
You can invoke some of the scope object properties and functions from the target computer command line when you have loaded the real-time application.
Use scope object properties to select signals that you want to acquire, set triggering modes, and access signal information from the real-time application.
To get the value of a readable scope object property from a scope object:
scope_object = getscope(target_object, scope_number); value = scope_object.scope_object_property
To get the
Decimation of scope
scope_object = getscope(tg, 3); value = scope_object.Decimation
To set the value of a writable scope property from a scope object:
scope_object = getscope(target_object, scope_number); scope_object.scope_object_property = new_value
To set the
Decimation of scope
scope_object = getscope(tg, 3); scope_object.Decimation = 10
Not all properties are
user-writable. For example, after you create the scope, property
Data— Signal data from host scope
Contains read-only output data for a single data package from a scope.
Time— Time data from host scope
Contains read-only time data for a single data package from a scope.
YLimit— Y-axis minimum and maximum limits for scope
'Auto'| vector | character vector | string scalar
Select the y-axis minimum and maximum limits for scope as
or with a vector containing the minimum and maximum values (for example,
|Add signals to host scope represented by scope object|
|Remove signals from host scope represented by scope object|
|Start execution of host scope on target computer|
|Stop execution of host scope on target computer|
|Software-trigger start of data acquisition for host scope|
Build and download
xpcosc and execute the
real-time application with a host scope.
Open, build, and download the real-time application.
ex_model = 'xpcosc'; open_system(ex_model); rtwbuild(ex_model); tg = slrt('TargetPC1'); load(tg,ex_model); tg
Target: TargetPC1 Connected = Yes Application = xpcosc Mode = Real-Time Single-Tasking Status = stopped CPUOverload = none ExecTime = 0.0000 SessionTime = 7746.0916 StopTime = 0.200000 SampleTime = 0.000250 AvgTET = NaN MinTET = Inf MaxTET = 0.000000 ViewMode = 0 TimeLog = Vector(0) StateLog = Matrix (0 x 2) OutputLog = Matrix (0 x 2) TETLog = Vector(0) MaxLogSamples = 16666 NumLogWraps = 0 LogMode = Normal ProfilerStatus = Ready Scopes = No Scopes defined NumSignals = 7 ShowSignals = off NumParameters = 7 ShowParameters = off
Add and configure host scope
sc1 = addscope(tg, 'host', 1); addsignal(sc1, 4); addsignal(sc1, 5)
ans = Simulink Real-Time Scope Application = xpcosc ScopeId = 1 Status = Interrupted Type = Host NumSamples = 250 NumPrePostSamples = 0 Decimation = 1 TriggerMode = FreeRun TriggerSignal = 4 : Integrator1 TriggerLevel = 0.000000 TriggerSlope = Either TriggerScope = 1 TriggerSample = 0 StartTime = -1.000000 Data = Matrix (250 x 2) Time = Matrix (250 x 1) Signals = 4 : Integrator1 5 : Signal Generator
Run the real-time application for 10 seconds.
tg.StopTime = 10; start(sc1); start(tg); pause(10); stop(tg); stop(sc1);
Plot the result.
Unload the real-time application.
Target: TargetPC1 Connected = Yes Application = loader