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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 13

Thema: Beckhoff TwinCAT2/ LCD ansteuern über RS232

  1. #1
    Registriert seit
    23.07.2013
    Beiträge
    12
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo SPSjaner,

    ich hab ein tolles Problem und weis keinen Rat mehr.

    Ich soll über eine EL6002 (RS 232-Klemme) ein Textdisplay ansteuern.
    Nach zwei Tagen habe ich es geschafft, dass ich Nachrichten endlich über Tx senden kann (Die Maske für den realen COM ist im Gegensatz zum virtuellen COM eine Katastrophe!)

    Das Display wird über diese Platine mit der RS 232 verbunden:

    http://fab.cba.mit.edu/classes/4.140...erLCD_V2_5.pdf

    und ab Kapitel 2 gehen die Steuerbefehle los.
    Und genau da liegt mein Problem!
    Wie sage ich TwinCAT, dass es die Steuersignale übertragen soll?
    Ich hab es mit %FEx, %xFE, $FE und 16hex254 und dann noch (0x)01 in verschiedensten Formen dazu versucht, um das Display zu löschen oder eine andere Konfiguration einzustellen, aber es Zeigt weiterhin fröhlich die Zahlen und Symbole an.

    Vielleicht kann mir ja einer Helfen. Danke im Voraus!
    Angehängte Grafiken Angehängte Grafiken
    Geändert von Onkelweed (23.07.2013 um 17:05 Uhr)
    Zitieren Zitieren Beckhoff TwinCAT2/ LCD ansteuern über RS232  

  2. #2
    Registriert seit
    19.12.2006
    Beiträge
    185
    Danke
    25
    Erhielt 26 Danke für 21 Beiträge

    Standard

    Hi,

    ich würde anders an die Sache herangehen:
    a) Erst einmal vom PC aus mit einem Terminalprogramm wie HTerm versuchen das Display anzusteuern.

    b) Klappt alles ? Dann die RS232 in der PLC konfigurieren.

    zu a)
    Hier kannst du losgelöst von dem ganzen Heck Meck auf der Beckhoff Seite testen. Das geht weitaus schneller. Zudem bist du dir dan deiner Sache sicher wie das Display auf die Steuerbytes reagiert.

    zu b)
    Hast du schon mal eine RS232 aus der Beckhoff Welt bedient?
    Dort sind ein paar Sachen wichtig, wie der schnelle Task der die Kommunikationsbausteine aufruft.
    Oder auch die Parametrierung der im System Manager.


    Gruß
    Daniel

  3. #3
    Onkelweed ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.07.2013
    Beiträge
    12
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Daniel,

    Zitat Zitat von mkd Beitrag anzeigen
    a) Erst einmal vom PC aus mit einem Terminalprogramm wie HTerm versuchen das Display anzusteuern.
    Das haben Wir gemacht und es hat auch 1A funktioniert. Jetzt will ich aber im normalen Betrieb das Display löschen, bevor ich einen neuen Text drauf schreiben, da sonst der Text da anfängt wo der andere aufhörte.

    Zitat Zitat von mkd Beitrag anzeigen
    Hast du schon mal eine RS232 aus der Beckhoff Welt bedient?
    Dort sind ein paar Sachen wichtig, wie der schnelle Task der die Kommunikationsbausteine aufruft.
    Oder auch die Parametrierung der im System Manager.
    Nein, aber wir haben es ja schon zum laufen bekommen, nur das ich das mit dem Text (siehe oben) schön machen muss, du weist doch, das Auge der Chefs und der MA wünscht Perfektion.

  4. #4
    Registriert seit
    19.12.2006
    Beiträge
    185
    Danke
    25
    Erhielt 26 Danke für 21 Beiträge

    Standard

    Wenn es um die Beckhoff Seite geht:

    http://infosys.beckhoff.com/index.ph...e.htm&id=20729

    Arbeite das mal durch!
    Geändert von mkd (23.07.2013 um 17:27 Uhr)

  5. #5
    Registriert seit
    24.02.2009
    Beiträge
    1.242
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Du versuchst einen Hex-Wert mit SendString zu senden. SendString sendet, wie der Name schon sagt, einen String also '16#01'. Um Bytes zu senden gibt es entweder die schöne Funktion "SendByte" um ein einzelnes Byte zu übertragen oder "SendData" um ein ganzen Feld von Bytes zu senden.

  6. #6
    Onkelweed ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.07.2013
    Beiträge
    12
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo MasterOhh,

    ja, dass hab ich mir dann auf dem Weg nach Hause auch überlegt.
    Aber leider klappt das doch nicht wie gedacht.
    Kann mir bitte jemand sagen, was in meinem "SendData" - Code falsch ist?

    VAR
    SendData2: SendData;
    Length : UDINT;
    SendBusy2: BOOL;
    SendErrorID2: ComError_t;
    END_VAR

    SendData2(
    pSendData:= POINTER TO BYTE (16#01),
    Length:= Length,
    TXbuffer:= TXBuffer2,
    Busy=> SendBusy2,
    Error=> SendErrorID2);

    Ich hab mich dabei an diesen Beitrag gehalten:
    http://www.sps-forum.de/beckhoff-cod...unikation.html

    Danke!
    Geändert von Onkelweed (24.07.2013 um 10:47 Uhr)

  7. #7
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    745
    Danke
    27
    Erhielt 164 Danke für 142 Beiträge

    Standard

    pSendData ist die Speicheradresse einer Variablen. Ich nehme an, dass Du den Bytewert 16#01 senden willst. Dazu musst Du eine Variable mit diesem Wert deklarieren
    Code:
    VAR
       Value_to_Send:BYTE:=16#01;
    END_VAR
    und ihre Adresse beim Aufruf von SendData2 übergeben
    Code:
    SendData2(
    pSendData:=ADR(Value_to_Send),
    ...

  8. #8
    Onkelweed ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.07.2013
    Beiträge
    12
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke StructuredTrash,

    aber leider geht das noch immer nicht.
    Der Code sieht jetzt so aus:

    VAR
    SendData2: SendData;
    Sendewert:BYTE:=16#01
    Length : UDINT;
    SendBusy2: BOOL;
    SendErrorID2: ComError_t;
    END_VAR

    SendData2(
    pSendData:= ADR(Sendewert),
    Length:= Length,
    TXbuffer:= TXBuffer2,
    Busy=> SendBusy2,
    Error=> SendErrorID2);

    Aber auf dem LCD passiert nichts.
    Es muss doch einer doch schon mal so etwas gemacht haben!?

  9. #9
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    745
    Danke
    27
    Erhielt 164 Danke für 142 Beiträge

    Standard

    Die Variable Length muss natürlich auch den richtigen Wert haben, in Deinem Fall also 1.

  10. #10
    Onkelweed ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    23.07.2013
    Beiträge
    12
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von StructuredTrash Beitrag anzeigen
    Die Variable Length muss natürlich auch den richtigen Wert haben, in Deinem Fall also 1.
    Also ich fasse das jetzt nochmal zusammen, da mein Hirn bei der Hitze gerade schwer von Verständnis ist.
    Ich will einen zweistelligen Hex-Code senden (01, F7, usw.), der besteht aus zweimal 4 Bits -> 8 Bits =1 Byte.
    Die Variable Length auf 1 sagt nun dem FB "SendData" das der Code den ich senden will jeweils 1 Byte groß ist?
    Also muss ich die Variable Length nur einmal auf 1 setzen und kann dann jeden zweiwertigen Hex-Code senden den ich will!?

Ähnliche Themen

  1. Problem beim Ansteuern Maxon Motor mit Beckhoff über CANopen
    Von mrx3 im Forum CODESYS und IEC61131
    Antworten: 18
    Letzter Beitrag: 12.09.2017, 15:15
  2. Antworten: 9
    Letzter Beitrag: 16.12.2013, 10:43
  3. Antworten: 16
    Letzter Beitrag: 10.06.2013, 08:26
  4. Antworten: 4
    Letzter Beitrag: 13.04.2010, 18:22
  5. mit Beckhoff FU über Profibus ansteuern
    Von Aumati im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 05.04.2007, 08:51

Stichworte

Lesezeichen

Berechtigungen

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