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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 21

Thema: Beckhoff EL6002 - Prbleme beim Senden/Empfangen von Strings

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Einen schönen Sonntag an alle,

    erstmal die groben Fakten:
    An meiner CX5130 ist (neben anderen Klemmen) eine EL6002 gesteckt. Via RS232 ist an der EL6002 ein Julabo F32-ME Kältethermostat angeschlossen.
    Zur Programmierung nutze ich TwinCat 3. Derzeit habe ich schon die Möglichkeit mittels Strings zu kommunizieren (Einstellungen senden - Werte empfangen funktioniert, einzeln gesendet, zuverlässig).

    Zum probieren (und auch im allgemeinen Erfahrung mit Twincat zu sammeln) habe ich mir auf einer Visu einen Switch erstellt, diesen dann mit einer Variablen verknüpft und in der Main eine IF ELSE Schleife angelegt um das Gerät EIN und AUS zu schalten. Funktioniert super.

    Bei dem Versuch dieses kleine Projekt zu erweitern stoße ich auf folges Problem:
    Nach dem Einschalten möchte ich nun einen zusätzlichen Befehl senden, der mir die aktuelle Bad-Temperatur zurück gibt um diesen in der Visu anzuzeigen.
    Nun funktioniert keinerlei Senden und Empfangen mehr durch diesen Zusatzbefehl. Auch an verschiedenen Stellen im Programmablauf ist es nicht mehr möglich zu kommunizieren.
    In der STRING-Variablen ist entweder der letzte gesendete Befehl oder er ist leer.

    Woran kann es liegen?

    Ich habe verschiedene Schleife um die einzelnen Befehle gepackt und auch schon mit Timern experimentiert.
    Ziel der Versuche war es auszuschließen, dass der Befehl mehrere Sende- bzw.. Empfangs-Versuche braucht.
    Code bereite ich gerade auf, um diesen bald möglich hinzuzufügen.

    Beste Grüße und im voraus Vielen Dank für Antworten.
    Zitieren Zitieren Beckhoff EL6002 - Prbleme beim Senden/Empfangen von Strings  

  2. #2
    Registriert seit
    15.08.2011
    Beiträge
    383
    Danke
    2
    Erhielt 73 Danke für 71 Beiträge

    Standard

    Hallo!

    ....ohne, dass ich den Code jetzt kenne.
    Die Bausteine zum Senden/Empfangen werden auch immer wieder mit FALSE aufgerufen?
    Ein beliebter Fehler ist, den Flankenwechsel nicht zur berücksichten. Fast alle Baustein, werden über eine positive Flanke gestartet und müssen durch eine negative Flanke für die nächste Verwendung erst einmal "zurück gesetzt" werden.

    Gruß,
    mac203

  3. Folgender Benutzer sagt Danke zu mac203 für den nützlichen Beitrag:

    Schnapsbrenner (30.06.2015)

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

    Standard

    Das Problem ist behoben - es hat ein "Enter"-Zeichen in einem der Strings gefehlt und somit wurden 2 Befehle hintereinander an das Thermostat gesendet und jeweils nur der erste bearbeitet.

    @mac203
    kannst dein Kommentar bitte nocheinmal näher erläutern? - an sich kenne ich den Umgang mit Flanken aus anderen Bereichen - hier dachte ich Beckhoff kümmert sich darum - an den Rücksetzten des Empfangsstrings arbeite ich gerade

  5. #4
    Registriert seit
    15.08.2011
    Beiträge
    383
    Danke
    2
    Erhielt 73 Danke für 71 Beiträge

    Standard

    @mac203
    kannst dein Kommentar bitte nocheinmal näher erläutern? - an sich kenne ich den Umgang mit Flanken aus anderen Bereichen - hier dachte ich Beckhoff kümmert sich darum - an den Rücksetzten des Empfangsstrings arbeite ich gerade
    Ein einfaches Beispiel ist der NT_GetTime.
    Wenn ich diesen Baustein mit Start:=TRUE aufrufe, bekomme ich die Betriebssystem-Zeit (Zeit, Datum, usw.) zurück.
    Soll nun erneut die Zeit abgefragt werden, so muss der Baustein erst einmal mit Start:=FALSE aufgerufen werden, um ihn wieder in den Ausgangszustand zurück zu setzen.

    Gruß,
    mac203

  6. #5
    Registriert seit
    03.12.2015
    Beiträge
    10
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo zusammen,

    ich habe diese Klemme auch im Einsatz, bin Anfänger in Sachen TwinCat und soll damit einem Trafo die Spannung und Frequenz vorgeben. D.h. eigentlich will ich ihm nur einen String senden, brauche also keinen ständigen Datenaustausch. Nun hilft mir die Doku von Beckhoff nicht wirklich weiter und die Beispiele beziehen sich alle auf die Klemme EL6001. Wie muss ich mein Programm bzw. welche Variablen muss ich im SystemManager verknüpfen, um eine Kommunikation herstellen zu können. Hat jemand zufällig ein Beispiel für die Klemme El6002? Das würde mir wirklich weiterhelfen. Ich programmiere übrigens mit TwinCat 2.

    Vielen Dank für eure Hilfe im Voraus.
    Geändert von Strike (08.01.2016 um 08:28 Uhr)

  7. #6
    Registriert seit
    17.12.2015
    Beiträge
    32
    Danke
    0
    Erhielt 9 Danke für 9 Beiträge

    Standard

    Am einfachsten ist, die ComLib zu verwenden. Die ist allerdings kostenpflichtig.
    http://infosys.beckhoff.com/content/...n.htm?id=24879

    Dort ist auch ein Beispiel. Ob EL6001 (1 Kanal), EL6002 (2 Kanäle Sub-D) oder ComPort ist aus Sicht des SPS-Programmes eigentlich egal.

  8. #7
    Registriert seit
    03.12.2015
    Beiträge
    10
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich habe die Lib erworben und arbeite schon damit. In den Beispielen kann ich z.B. für die EL6001 State und Crtl im SysMan mit den Variablen vom Programm verknüpfen, diese gibt es aber bei der EL6002 nicht. Ich bin jetzt so weit, dass ich in meiner Struktur vom Programm den ASCII Code zur Klemme transportiert bekomme, jedoch läuft mir immer mein TXBuffer über (ComError_TXBUFFEROVERRUN). Als Befehl benutze ich den Send String Baustein, den ich durch Freigabe einer boolschen Variable aktiviere. Ich habe im SysMan bisher nur die Datenstrukturen verknüpft, was muss ich noch miteinander verknüpfen?
    Angehängte Grafiken Angehängte Grafiken
    Geändert von Strike (08.01.2016 um 11:29 Uhr)

  9. #8
    Registriert seit
    17.12.2015
    Beiträge
    32
    Danke
    0
    Erhielt 9 Danke für 9 Beiträge

    Standard

    State und Ctrl müssen verknüpft werden, sonst läuft die Klemme nicht.
    Die einzelnen Bit sind ja vorhanden, nur nicht als Struktur dargestellt.

    6002.JPG


    Da stimmt vielleicht etwas mit der Gerätebeschreibung nicht (ältere Twincat-Version?)
    Also entweder die Bits einzeln verknüpfen oder vielleicht die neuste Gerätebeschreibung installieren
    http://www.beckhoff.de/german/downlo...71003277100532

  10. #9
    Registriert seit
    03.12.2015
    Beiträge
    10
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Jetzt hab ich irgendwas verhauen, ich bekomme sofort den TXOverrun sobald ich meinen String sende. Es wird nichts mehr in die Datenstruktur geschrieben. Mit was soll ich die einzelnen Bits verknüpfen, ich habe ja keine Variablen dafür, oder muss ich mir da was zusammenschreiben? Vielen Dank schon mal für deine bisherige Unterstützung.

  11. #10
    Registriert seit
    17.12.2015
    Beiträge
    32
    Danke
    0
    Erhielt 9 Danke für 9 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Vermutlich liegt es an der Twincat-Version.

    Die Bit-Verknüpfung sollte eine Notlösung sein:
    z.B. das Bit Inti accepted im Status hat in hier die Adresse 39.2, also das 2. Bit.
    Auf Verknüpfung klicken -> im Fenster Variable Typ ->alle Typen anwählen und das Bit mit dem
    entsprechenden Byte verknüpfen. Im nächsten Fenster dann das korrekte Bit 2 anwählen, usw..


    6002_1.JPG

Ähnliche Themen

  1. Beckhoff CX9000 SMS senden und Empfangen
    Von b_lisa im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 27.08.2011, 10:14
  2. Can Nachrichten senden / empfangen
    Von fdisk im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 09.08.2011, 16:30
  3. Antworten: 0
    Letzter Beitrag: 17.08.2010, 10:46
  4. Antworten: 7
    Letzter Beitrag: 03.04.2008, 21:32
  5. Senden und Empfangen von anderen CPUS
    Von Anonymous im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 07.03.2005, 12:58

Lesezeichen

Berechtigungen

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