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

Lineare Spannungen ausgeben in abhängigkeit der Zeit steuer

 

DerStetsBemühte
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 11.12.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.12.2017, 19:03     Titel: Lineare Spannungen ausgeben in abhängigkeit der Zeit steuer
  Antworten mit Zitat      
Guten Tag,

ich bin ein absolut blutiger Matlab anfänger, und stehe total auf dem Schlauch. Ehrlich gesagt weiß ich nicht was genau Matlab alles von sich aus kennt, und frage jetzt mal nach bevor ich alles wieder in c mit interrupts schreibe. Ich hoffe Ihr könnt mir helfen.

Und zwar bekomme ich aus je einem Text file Spannungs(in Volt) bzw. Zeitwerte(in Sekunden). Nun muss ich diese einlesen, und anschließend an eine DA Box übergeben. Das weiterreichen eines einfachen Spannungswertes in einem .m file funktioniert super. z.B.:

Code:
NET.addAssembly( 'C:\Users\Sonstiges\MAIv2DotNet\MAIv2DotNet\x64\MAI_v2_NET40_DLL.dll');
import Goldammer.*
device = MAI.GetDeviceByIndex(0);
channel = device.GetDAChannel(1);
channel.WriteChannelVoltage(5);


(hier werden einfach 5 Volt am DA Wandler ausgegeben, bis ich ihn ausschalte)

Nun würde ich gerne variable Funktionsaufrufe gestalten, denen ich 2 Arrays übergeben kann, welche dann die DA Box Ansteuern. Das sollen alles nur strecken werden, also zum Beispiel von 0V zu 5V innerhalb von 2 Sekunden, dann 3 Sekunden warten(also bei 5V bleiben), und anschließend wieder mit einer Geradenfunktion von 5V auf 0V innerhalb von 7,5 Sekunden.

Die Anzahl an Stützstellen muss ich variabel halten, und die anzahl an Wiederholungen der Gesamten Funktion auch. Das sind aber alles andere Themen.

Da ich komplett neu bin, und eher aus dem Bereich Microcontroller komme, weiß ich nicht ob man hier auch mit doofen Interrupts arbeiten muss, bzw. etwas schlafen legen, oder ob es von Matlab die Möglichkeit gibt zu sagen: y=m*x+b

Code:
Y2=5 %Sekunden
Y1=0 %sekunden
X2=3 %Bar
X1=0 %Bar
m=(Y2-Y1)/(X2-X1)
b=Y1-m*X1

schrittweite=(Y2-Y1)/100 %in 10 ms Schritten

for(i=0;i<=schrittweite;i++){

      temp= m*i*0,01+b;
      channel.WriteChannelVoltage(temp);

}


Wenn mir hier irgend jemand eine Idee vermitteln könnte, wie ich das ganze sinnvoll in abhängigkeit einer Zeit (Das ich bei jedem Zeitwert den richtigen Spannungswert habe ist das einzig wichtige) erstellen könnte wäre ich Ihm sehr dankbar.

ach ja, für den Hardware zugriff nutze ich aktuell die Data Acquisition Toolbox.
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.