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

Ergebnis 1 bis 8 von 8

Thema: Variablenverknüpfung im System Manager

  1. #1
    Registriert seit
    06.02.2012
    Beiträge
    20
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    Ich habe wieder mal ein paar Fragen bezüglich des Umgangs mit TwinCAT.

    Ich habe ein Programm geschrieben was über ADS die Position eines Drehgebers ermittelt. Nun möchte ich einfach mal testweise einen Ausgangskanal einer digitalen Ausgangsklemme ansteuern.

    Dazu deklariere ich im PLC Control

    Code:
    Output AT %QX99.0 : BOOL;
    und schließlich im Programm

    Code:
    Output := TRUE;
    .

    Wenn ich mich nun auf der Steuerung einlogge und das Programm starte, sehe ich das die Variable Output den Wert True annimmt.

    Nun muss diese Variable ja noch im Systemmanager mit dem Kanal der digitalen Ausgangsklemme verknüpft werden.

    out.JPG

    Nun meine Fragen :

    Warum sind unter dem Punkt SPS-Konfiguration 2 Ausgänge verknüpft ?

    Warum nimmt der Wert der Variablen im System Manager nicht den Wert True an ? Im PLC Control ist er bereits auf TRUE. Dasselbe Problem habe ich eigentlich auch mit dem Positionswert, im PLC Control sehe ich die aktuelle Position, aber im Systemmanager unter dem Punkt SPS Konfiguration kann ich einfach den aktuellen Positionswert nicht beim Eingang sehen (im Moment des Screenshots war die Variable allerdings auch nicht verknüpft)

    Wenn ich die Zuordnung überprüfe erhalte ich immer eine Meldung das ich Gerät 3 (RT-Ethernet) und Gerät 4 (EL6751 CANopen Masterklemme) mit einer Task verknüpfen soll, da es einen Sync Master benötigt. Was muss ich mich darunter vorstellen ?

    Ebenso erhalte ich noch eine Fehlermeldung "Verknüpfungskonflikt ! Gleiche Daten von 'TIID^Gerät 2 (EtherCAT (v2.10 only))^Klemme 4 (EK1100)^Klemme 7(EL2002)^Channel 1 Output' werden von verschiedenen Quellen beschrieben"

    Aktuell ist eine CX9010 mit einer CANopen Masterklemme, einer EtherCAT-Verlängerungsklemme, 2 EtherCAT-Kopplern und ein paar digitale I/O-Klemmen verbaut.


    Vielleicht könnte mir jemand Hilfestellung geben wie man die Variablen aus der PLC Control richtig im System Manager verknüpft.
    Zitieren Zitieren Variablenverknüpfung im System Manager  

  2. #2
    Registriert seit
    01.10.2009
    Ort
    Regensburg
    Beiträge
    77
    Danke
    8
    Erhielt 11 Danke für 11 Beiträge

    Standard

    Hallo,

    Du vergibst eine explizite Adresse im Code, das denke ich ist der Grund der Meldungen.

    Die Adressen und Verknüpfungen werden bei TwinCat im SystemManager gemacht. Im Code werden die IOs nur als solche mit einem Platzhalter deklariert.

    z.B.
    strIn AT %I* : str_SupplyInputs; (* hardware inputs *)
    strOut AT %Q* : str_SupplyOutputs; (* hardware outputs *)

    Dann im SystemManager die Ein/Ausgänge verknüpfen und Zuordnung erzeigen lassen (jetzt sind auch die Adressen berechnet)

    Zu SyncUnit:
    Schau mal in deinem Gerät2 unter dem Reiter EtherCAT die Einstellung "SyncUnit Zuordnung" an hier muss deine Task verknüpft sein.

    cheers
    Geändert von DaHauer (12.04.2012 um 08:51 Uhr)

  3. #3
    fontsix ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    06.02.2012
    Beiträge
    20
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo DaHauer und danke erstmal für deine Antwort.

    Ich habe mich nun nochmal durch die Hilfe des TwinCAT System Managers durchgearbeitet und bin darauf gestossen, dass man aus dem Systemmanager heraus globale Variablen im PLC Control generieren lassen kann indem man die Variable auswählt und Verknüpfte Variable erzeugen in .... auswählt.

    Danach werden diese Variablen als Globale Variablen im PLC Control unter dem Punkt TwinCAT_Import angezeigt

    import.JPG

    Nun sollte ich ja ganz normal im Code diese Globale Variable mit Ihrem Namen ansprechen können. Ich setze diese Variable auf TRUE. Diese Variable ist einfach nur mit einem Ausgangskanal einer 2-kanaligen dig. Ausgangsklemme verknüpft, denn ich testweise schalten möchte.

    Leider ändert sich der Wert der Variable aber nur in der PLC Control, nicht aber in der SPS Konfiguration.

    verkn.JPG

    Die Variable ist mit dem 1. Kanal der digitalen Ausgangsklemme EL2002 verknüpft. Schreibe ich den Wert des Ausgangs manuell im System Manager auf 1, quasi direkt im Gerätebaum, dann ändert sich der Wert auch entsprechend und die LED des dazugehörigen Kanals leuchtet.

    Langsam weiß ich echt nicht mehr weiter.


    Nun nochmal zur Zuordnung. Leider gibt es diesen beschrieben Punkt "SyncUnit Zuordnung" bei mir nicht. Wenn ich die Konfiguration überprüfe erhalte ich wieder dieselben Fehlermeldungen.

    EDIT : "Ich muss noch dazu sagen das das Gerät 3 um den TCIXPNPE1 handelt, also den 1. Netzwerkadapter der CX9010 und bei dem Gerät 4 handelt es sich um die CANopen Masterklemme EL6751"

    gerät.JPG

    Hab nun die Sync Unit Zuordnung gefunden. Leider bin ich gerade etwas überfragt wie ich das mit einer Task verknüpfe und kann das in der Hilfe auch nicht wirklich finden.
    Geändert von fontsix (12.04.2012 um 09:54 Uhr)

  4. #4
    Registriert seit
    01.10.2009
    Ort
    Regensburg
    Beiträge
    77
    Danke
    8
    Erhielt 11 Danke für 11 Beiträge

    Standard

    Hallo,

    Der Nachteil beim Verwenden von expliziten Adressen ist bei einer Änderung kann es sein, dass bestehende Verknüpfungen nicht mehr existieren. Durch die Deklaration mit Platzhaltern, überlässt du die Adressberechnung komplett dem SystemManager und hast eine nervige Fehlerquelle weniger

    noch ein paar Fragen, damit ich klar sehe:

    Ist bei deinem Ausgang der Klemme im SystemManager im Reiter "Variable" auch dein Ausgang aus deinem Programm verknüpft? Steht in "Verknüpft mit" was drin?

    Wenn nein, dann fehlt hier die Verknüpfung.
    Oder im SystemManager dein Projekt nach dem Kompilieren nochmal einlesen, Zuordnung erzeugen und in Run Modus schalten.
    Wenn du dann im Programm dein Bool setzt muss es im SystemManager an der Klemme auch sichtbar sein, dann ist die Verknüpfung auch korrekt.

    Zu deinem Sync Problem;
    Bei deinem CAN Master willst du ja sicher wissen in welchem State der ist (zumindest würde ich das ) Probier doch mal in folgendes:
    Leg in deinem Programm ein UINT als Eingang an, so dass es im System Manager erscheint, dann verknüpfe den CAN Master State mit deinem UINT und das Gemeckere vom SystemManager sollte aufhören. (Die Verknüpfung bewirkt die Synchronisation mit der Task in der dein UINT im Programm refreshed wird)

    hoffe das hilft dir weiter
    cheers

  5. #5
    fontsix ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    06.02.2012
    Beiträge
    20
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hab jetzt alles nochmal überprüft, den Code habe ich deiner Anweisung entsprechend abgeändert in

    Code:
    Output_2  AT %Q* :  BOOL;
    Der Wert der Variable ändert sich dennoch nicht.

    plc1.JPG

    system1.JPG

    system2.JPG

    system3.JPG

    Wie man sieht sollte die Variable aus dem Programm richtig mit dem Kanal 2 der dig. Ausgangsklemme verknüpft sein. Über "Erzeugt Zuordnung" hat sich auch nix geändert.


    Wegen der Sache mit der Sync Unit werde ich mich jetzt nochmal beschäftigen.

    Vielen Dank erstmal

  6. #6
    Registriert seit
    01.10.2009
    Ort
    Regensburg
    Beiträge
    77
    Danke
    8
    Erhielt 11 Danke für 11 Beiträge

    Standard

    So wie es aussieht musst du das Projekt neu einlesen (mit tpy Datei).

    hc_004.jpg

    Die Verknüpfungen sehen ja sonst gut aus.

  7. #7
    fontsix ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    06.02.2012
    Beiträge
    20
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    So, die Verknüpfung scheint nun Ordnungsgemäß zu funktionieren.

    Ich habe das Gefühl das es an dem Button "Aktiviert Konfiguration" gelegen hat. Den habe ich nicht weiter beachtet. Das Problem mit der Sync Unit zumindest beim CANopen Master ist auch erstmal behoben.

    Nun wäre es noch interessant zu wissen, ob es denn nur möglich ist wenn die SPS sich um RUN befindet die verknüpften digitalen Ausgangskanäle zu setzen oder ob es auch im CONFIG Mode möglich ist und inwiefern dafür ein Bootprojekt erforderlich ist.

    MfG fontsix

  8. #8
    Registriert seit
    01.10.2009
    Ort
    Regensburg
    Beiträge
    77
    Danke
    8
    Erhielt 11 Danke für 11 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Genau, "Konfiguration aktivieren" das habe ich vergessen zu erwähnen.
    Um Werte aus deinem Prog zu schreiben muss TwinCat im Run Modus sein oder Free Run, besser aber im Run Modus.

    Ein Bootprojekt wirst du im Run Modus nicht zwingend brauchen (irgendwann ja schon mal ) der System Manager startet mit ner Meldung dass kein Bootprojekt vorhanden ist und setzt dann den Run Mode.

Ähnliche Themen

  1. TwinCAT System Manager
    Von -ASDF- im Forum CODESYS und IEC61131
    Antworten: 31
    Letzter Beitrag: 07.11.2011, 13:27
  2. twincat system manager
    Von slaud im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 25.10.2011, 16:15
  3. Verknüpfung im System Manager
    Von bonatus im Forum CODESYS und IEC61131
    Antworten: 5
    Letzter Beitrag: 02.09.2011, 09:40
  4. TwinCat System Manager Fehlermeldung
    Von jojo-schneider im Forum CODESYS und IEC61131
    Antworten: 5
    Letzter Beitrag: 19.10.2009, 12:52
  5. Anfängerfrage zum System-Manager
    Von waba im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 25.07.2008, 23:37

Lesezeichen

Berechtigungen

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