Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 4 von 4

Thema: TC3 Target for MATLAB Simulink - Neuladen eines Moduls

  1. #1
    Registriert seit
    26.07.2015
    Beiträge
    4
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,

    ich suche jemanden, der sich mit dem TwinCAT 3 Target für MATLAB Simulink auskennt.

    Ich arbeite aktuell an einer Projektarbeit, die untersucht, TwinCAT mithilfe des Targets als Rapid Control Prototyping Umgebung einzusetzen.

    Meine Problemstellung ist nun die Folgende:

    Ich besitze bereits ein TwinCAT-Projekt mit einem TcCOM-Modul, das aus Simulink heraus erstellt wurde. Dessen Ein- und Ausgänge sind mit anderen TcCOM-Modulen verknüpft.
    Anschließend ändere ich in Simulink das Modell und übersetze erneut in ein TcCOM-Modul. Nun möchte ich das Modul in TwinCAT erneut laden, ohne die Verknüpfung der Ein- und Ausgänge zu ändern.
    Bislang verwendete ich dazu die unter "<TwinCATDir>\3.1\CustomConfig\Modules\<ModuleName>\<ModuleName>.tmc" angelegte .tmc-Datei mit der Funktion Reload TMI/TMC File..
    Das funktioniert soweit auch gut, solange ich dabei in Simulink Blöcke ergänze oder hinzufüge.

    Problematisch wird es, wenn ich in Simulink ausschließlich die Parameter von einem oder mehreren Blöcken ändere und neu übersetze.
    Die Parameteränderung wird durch die Reload TMI/TMC File.. Funktion nicht nach TwinCAT übernommen. Unter Parameter (Init) bleiben die alten Parameter erhalten.

    Ich muss also nach einer einfachen Parameteränderung immer das Modul löschen und neu aus dem TE1400 Module Vendor einfügen.
    Anschließend ist es notwendig, die Ein- und Ausgänge neu zu verknüpfen.

    Gibt es eine Funktion, um TwinCAT zu zwingen, die neuen Parameter mit der Reload TMI/TMC File Funktion zu übernehmen?
    Gibt es alternativ eine Möglichkeit, nach dem Laden eines Moduls aus dem TE1400 Module Vendor die vorherige Verknüpfung der Ein- und Ausgänge wiederherzustellen?

    Vielen Dank für Hilfe im Voraus!

    Mit freundlichen Grüßen

    Redria


    Edit: Alternativ suche ich die Möglichkeit, durch einen Define oder ähnliches die Default-Werte direkt in die .tmc Datei zu schreiben. Gibt es hierfür eine Möglichkeit?
    Geändert von redria (01.10.2016 um 12:19 Uhr)
    Zitieren Zitieren TC3 Target for MATLAB Simulink - Neuladen eines Moduls  

  2. #2
    Registriert seit
    10.08.2012
    Beiträge
    123
    Danke
    0
    Erhielt 38 Danke für 36 Beiträge

    Standard

    Ich kenne mich mit dem Matlab-anteil nicht aus, aber zwei Anfregungen.
    1) LinkTo ermöglicht in C++ über die *.tmc die EA auf eine HW zu verknüpfen. Könnte/müsste eigentlich auch für die Matlab nutzen funktionieren.
    http://infosys.beckhoff.de/index.php...77323.html&id=
    2) Im EA-Baum von TwinCAT kannst du die Zuordnungen/Assignements exportieren bzw. importieren. Damit müsstest du mit relativ wenig Aufwand die Verknüpfungen immer wieder herstellen können.

    Lass mal hören ob die Ideen tatsächlich bei dir umsetzbar sind.

    Guga

  3. #3
    Registriert seit
    27.11.2009
    Beiträge
    147
    Danke
    1
    Erhielt 22 Danke für 22 Beiträge

    Standard

    Punkt 1) wenn du nur Parameter änderst, kannst du das über das Blockschaldbild in TwinCAT tun, dazu muss man nicht neu generieren!! Von daher wird das nicht "problematisch", sondern dein Workflow ist mit Kanonen auf Spatzen schießen. Dazu brauch man noch nicht mal Matlab/ Simulink -> ist also denkbar einfach
    Punkt 2) nach dem Reload der TMC-Datei in das Blockdiagramm wechseln, dort unter Other die ModelParameters auswählen und dort im Kontext-Menü "Insert default parameters" auswählen (siehe Bild). Danach werden die Parameter im Speicher durch die neu generierten Default-Parameter überschrieben -> ebenfalls einfach

    Unbenannt.png

    kommt halt immer auf den Anwendungsfall an, ob man nach Änderungen im Modul noch die alten Parameter behalten will, um nicht nochmal alles neu einzurichten oder ob man die neuen Default-Parameter verwenden möchte.

    @Guga: das geht jetzt nicht nur bei C++ sondern schon länger auch aus der SPS heraus. Aus Simulink heraus geht es nicht. Ist aber ja gerade der Vorteil den man erzielen wollte, dass man Hardware unabhängig Module genieren kann um diese mehrfach zu Instanziieren und wiederzuverwenden.

  4. #4
    redria ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    26.07.2015
    Beiträge
    4
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Erstmal vielen Dank Euch beiden für Eure Antworten!

    Als Hinweis vorneweg sei gesagt, dass es ein Ziel der Arbeit ist, TwinCAT von Studenten innerhalb eines Laborpraktikums einsetzen zu lassen.
    Aus diesem Grund suche ich nach einer Möglichkeit, die Diskrepanz der Parameter zwischen Simulink und TwinCAT, die nach Verwendung der Reload Funktion entstehen kann, zu umgehen.
    Es könnte im Laborbetrieb die Studenten denke ich verwirren, wenn sie in Simulink einen Parameter ändern, das Modul eigentlich korrekt neu geladen wird, der Wert des Parameters sich jedoch nicht verändert.

    @ Guga: Die LinkTo-Funktion finde ich tatsächlich sehr interessant. Wie KGU schon schrieb, habe ich diese bei C++ und der SPS gefunden, jedoch nicht in Simulink.
    Ich würde mir wünschen, wenn man bei den TwinCAT-spezifischen IO-Blöcken einen LinkTo Pfad optional eingeben könnte.

    @KGU: Sicherlich ist das mit Kanonen auf Spatzen schießen, jedoch wollte ich wie gesagt die Diskrepanz vermeiden, um keine Verwirrung zu erzeugen. Für einen Anwender, der sich mit dem TwinCAT-Target auskennt, ist dies sicherlich auch logisch.
    Studenten, die gegebenenfalls TwinCAT zum ersten Mal sehen, wird das aber wahrscheinlich eher verwirren.
    Deinen zweiten Vorschlag habe ich ausprobiert, jedoch setzt er bei mir dadurch alle Parameter auf null. (Vielleicht ein Bug? Ich verwende die Version 4020.14)

    Mit freundlichen Grüßen

    redria

Ähnliche Themen

  1. TcCom-Module für TwinCAT 3 mit MATLAB/Simulink kompilieren
    Von tobor im Forum CODESYS und IEC61131
    Antworten: 5
    Letzter Beitrag: 28.09.2016, 18:00
  2. TIA Fehlercode eines Moduls auslesen
    Von claudeschweizer im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 12.05.2016, 14:44
  3. Antworten: 3
    Letzter Beitrag: 09.05.2009, 23:06
  4. S7-PLCSIM & MATLAB/Simulink
    Von sse im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 28.01.2009, 21:48
  5. OPC Kommunikation mit Matlab/Simulink
    Von farforward im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 25.01.2006, 21:13

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •