Verstehe diesen Teil des Codes aber nicht wirklich
Code:
%% Collect data
count = 1;
while ~isequal(datestr(now,'mm/DD HH:MM'),stopTime)
time(count) = datenum(clock);
fprintf(serialObject,'MEASURE:VOLTAGE:DC?'); % To measure current the command is MEASURE:CURRENT:DC?
voltage(count) = fscanf(serialObject,'%f'); %#ok<SAGROW>
set(plotHandle,'YData',voltage,'XData',time);
set(figureHandle,'Visible','on');
datetick('x','mm/DD HH:MM');
pause(timeInterval);
count = count +1;
end
%% Put the instrument in local mode fprintf(serialObject,'SYSTEM:LOCAL');
eine Reihe von Befehlen wird ausgeführt, bis die Stoppzeit erreicht ist.
Die fprintf-Befehle dienen hier anscheinend dazu, Anweisungen an die Hardware zu senden.
Ansonsten kann ich nur empfehlen, die Befehle Zeile für Zeile durchzugehen. Wenn dann zu einer bestimmten Zeile noch eine Frage besteht, kann man eher weiterhelfen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Die fprintf-Befehle dienen hier anscheinend dazu, Anweisungen an die Hardware zu senden.
und mit fscanf wird ein Wert eingelesen.
Der set-Befehl stellt sicher, dass die Figure sichtbar ist. Vermutlich gab es zuvor einen Befehl, der sie aus welchen Gründen auch immer auf unsichtbar gesetzt hat.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
%% Create the serial object
serialPort = 'COM3';
serialObject = serial(serialPort);
fopen(serialObject);
%% Set the instrument in remote mode fprintf(serialObject,'SYSTEM:REMOTE');
%% Set up the figure window
time = now;
voltage = 0;
figureHandle = figure('NumberTitle','off',...
'Name','Voltage Characteristics',...
'Color',[000],'Visible','off');
% Set axes
axesHandle = axes('Parent',figureHandle,...
'YGrid','on',...
'YColor',[0.97250.97250.9725],...
'XGrid','on',...
'XColor',[0.97250.97250.9725],...
'Color',[000]);
hold on;
plotHandle = plot(axesHandle,time,voltage,'Marker','.','LineWidth',1,'Color',[010]);
xlim(axesHandle,[min(time)max(time+0.001)]);
% Create xlabel xlabel('Time','FontWeight','bold','FontSize',14,'Color',[110]);
% Create ylabel ylabel('Voltage in V','FontWeight','bold','FontSize',14,'Color',[110]);
% Create title title('Voltage Characteristics','FontSize',15,'Color',[110]);
%% Set the time span and interval for data collection
stopTime = '10/0721:53';
timeInterval = 0.005;
%% Collect data
count = 1;
while ~isequal(datestr(now,'mm/DD HH:MM'),stopTime)
time(count) = datenum(clock);
fprintf(serialObject,'MEASURE:VOLTAGE:DC?'); % To measure current the command is MEASURE:CURRENT:DC?
voltage(count) = fscanf(serialObject,'%f'); %#ok<SAGROW>
set(plotHandle,'YData',voltage,'XData',time);
set(figureHandle,'Visible','on');
datetick('x','mm/DD HH:MM');
pause(timeInterval);
count = count +1;
end
%% Put the instrument in local mode fprintf(serialObject,'SYSTEM:LOCAL');
%% Clean up the serial object fclose(serialObject);
delete(serialObject);
clear serialObject;
am Anfang des Codes wird glaub ich ein erstellter Vektor ausgeblendet, wenn ich es richtig verstehe
Es wird eine Figure erstellt, und sie wird unsichtbar gemacht.
Zitat:
was hat das [0 1 0] zu bedeuten:
Das ist die Farbe als RGB-Wert, also grün.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Hallo,
ich habe noch ein Problem.
Den Programmcode von oben habe ich soweit umgeschrieben, sodass er zu meiner Schnittstelle passt.
Leider bekomme ich folgenden Fehler:
Unable to perform assignment because the left and right sides have a different number of elements.
debuggen und versuchen, das Problem so nachzuvollziehen.
Ich kann dir jedenfalls nicht weiterhelfen, ohne den Code zu sehen, der die Fehlermeldung verursacht.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
% Set axes
axesHandle = axes('Parent',figureHandle,...
'YGrid','on',...
'YColor',[0.97250.97250.9725],...
'XGrid','on',...
'XColor',[0.97250.97250.9725],...
'Color',[000]);
hold on;
plotHandle = plot(axesHandle,time,Temp,'Marker','.','LineWidth',1,'Color',[010]);
xlim(axesHandle,[min(time)max(time+0.001)]);
%% Set the time span and interval for data collection
;
stopTime = '22:00:00';
%timeInterval = 0.005;
%% Collect data
count = 1;
while ~isequal(datestr(now,'HH:MM:SS'),stopTime)
time(count) = datenum(clock);
%fprintf(serialObject,'MEASURE:VOLTAGE:DC?'); % To measure current the command is MEASURE:CURRENT:DC?
%Druck(count) = fscanf(serialObject,'%f'); %#ok<SAGROW>
set(plotHandle,'YData',Temp,'XData',time);
set(figureHandle,'Visible','on');
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Jetzt keine Fehlermeldung mehr, aber er plottet nur Punkte und keine Kurve.
Was muss ich tun, damit ich eine Kurve von den vorhandenen Punkte während eines Durchgangs bekomme.
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
und wie äußert sich das? Immer noch keine Linien, eine Fehlermeldung, etwas ganz anderes?
Je konkreter die Problembeschreibung, desto konkreter kann man antworten (und desto schneller bekommst du eine hilfreiche Antwort).
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.