WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Timer Funktion

 

KSR
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 06.01.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.02.2019, 19:00     Titel: Timer Funktion
  Antworten mit Zitat      
Hallo,

ich möchte von SPS Daten übertragen. Ich bekomme immer, wenn ich RUN Button betätige 500 Messwerte die ich mit Plot in GUI darstelle.
Jetzt möchte ich ein timer einbauen, dass solange mit Werte aufzeichnet bis Geschwindigkeit NULL erreicht. Sodass ich nicht jedesmal jedesmal auf RUN drücken muss, um 500 Werte weiter aufzuzeichnen.

Ich habe versucht timer Funktion einzubauen, aber leider passiert nichts :/

Ich bitte um Hilfe, am besten anhand der Code


Code:

function GUI_servo_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to GUI_servo (see VARARGIN)

% Choose default command line output for GUI_servo
handles.output = hObject;

% Update handles structure
% guidata(hObject, handles);

% Initialize the logging data
setappdata(handles.figure1, 'logging', {});

% close figure
set(handles.figure1,'CloseRequestFcn',@closeGUI);

% --- timer
handles.t = timer('BusyMode','queue','ExecutionMode','fixedRate','Period',0.5);
             
guidata (hObject, handles);



% --- Outputs from this function are returned to the command line.
function varargout = GUI_servo_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;



% --- Executes on button press in RUN.  
function btn_run_Callback(hObject, eventdata, handles)

handles.t.StartFcn = {@btn_run_Callback,hObject, eventdata, handles};


cla
try
   % The function "Container" converts a byte order of a tag list
   % item in the container data stream into the corresponding variable data.
   
   %clear potential system error
   %m4MSystemClearError(handles.UserData.myCon)    
   
   tagList = ['LOGICLIB_SYMBOL,Application.Daten_fuer_HMI.arPlcToMatlabDriveXVals;',...   % Axis x                        
              'LOGICLIB_SYMBOL,Application.Daten_fuer_HMI.arPlcToMatlabDriveZVals;',...   % Axis z
              'LOGICLIB_SYMBOL,Application.Daten_fuer_HMI.arPlcToMatlabDriveRotVals;']    % Axis rotation
         
           
    % container shall be read access container          
    accessFlag =  MlpiContainerAccess.MLPI_CONTAINER_ACCESS_READ;
   
    % create container
    [contHdl,contSize]= m4MContainerCreateSingle(handles.UserData.myCon,tagList,accessFlag)
   
    % read raw data stream
    contStream = m4MContainerGetUdt(handles.UserData.myCon,contHdl,contSize)
   
    % read container item information
    itemInfos = m4MContainerGetItemInformation(handles.UserData.myCon,contHdl);
   
    % predefine variables for reconstruction
    arPlcToMatlabDriveXVals     = zeros (1,500,'single');
    arPlcToMatlabDriveZVals     = zeros (1,500,'single');
    arPlcToMatlabDriveRotVals   = zeros (1,500,'single');  
   
    % fill variables
    arPlcToMatlabDriveXVals = m4MContainerGetData ...
        (itemInfos,contStream,uint32(1),arPlcToMatlabDriveXVals)
   
    arPlcToMatlabDriveZVals = m4MContainerGetData ...
        (itemInfos,contStream,uint32(2),arPlcToMatlabDriveZVals)
   
    arPlcToMatlabDriveRotVals = m4MContainerGetData ...
        (itemInfos,contStream,uint32(3),arPlcToMatlabDriveRotVals)

 
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.02.2019, 19:32     Titel:
  Antworten mit Zitat      
Hallo,

du musst den Timer auch starten.
Code:
start(handles.t)


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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
KSR
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 06.01.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.02.2019, 10:16     Titel:
  Antworten mit Zitat      
leider läuft der Timer immer noch nicht.
Ich bekomme auch keine Fehlermeldung
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.02.2019, 19:04     Titel:
  Antworten mit Zitat      
Hallo,

du musst die StartFcn setzen, bevor du den Timer startest.
Mir ist aber ohnehin nicht recht klar, was du erreichen willst. Insbesondere sehe ich nicht, wo du TimerFcn definierst, und das ist zwingend erforderlich.

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 ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.