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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 28

Thema: Textfile vie Ethernet verschicken

  1. #11
    Registriert seit
    14.10.2010
    Ort
    Franken
    Beiträge
    116
    Danke
    47
    Erhielt 40 Danke für 32 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    bei der S7-300 Baureihe werden dazu drei Bausteine benötigt.

    - TCON: Baut eine Verbindung zum Partner auf.
    - TSEND: Versendet bei aufgebauter Verbindung die Daten.
    - TDISCON: Baut dei Verbindung zum Partner wieder ab

    zusätzlich gibt es noch TRCV zum Empfangen der Daten

    Viele Grüße
    Klaus

  2. #12
    Markus1988 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    17.06.2013
    Beiträge
    13
    Danke
    8
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo Smartie,

    ich habe nochmal eine Frage. Habe jetzt meinen Baustein programmiert und auch IP Adresse und Port eingestellt. Nun stellt sich für mich die Frage, wie ich mein ZPL-Protokoll im Datenbaustein einstelle, da, sobald ich diesen öffne, schon Informationen drin stehen habe.

    Folgender Datenstring soll an den Drucker geschickt werden.

    ^XA
    ^MCY
    ^XZ
    ^XA
    ^FWN^CFD,24^PW1299^LH0,0
    ^CI0^PR2^MNY^MTT^MMT^MD0^JJ0,0^PON^PMN^LRN
    ^XZ
    ^XA
    ^DFR:TEMP_FMT.ZPL
    ^LRN
    ^XZ
    ^XA
    ^XFR:TEMP_FMT.ZPL
    ^A0N,1181,1182^FO288,215^FDA^FS
    ^PQ1,0,1,Y
    ^XZ
    ^XA
    ^IDR:TEMP_FMT.ZPL
    ^XZ

    Leg ich diesen als einzelne Zeile an oder jeden Buchstaben? Und wie wird dieser dann angewählt und an den Drucker geschickt?

    Hoffe du kannst mir hier nochmal helfen! Danke schonmal im Vorraus.

    Gruß Markus

  3. #13
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard

    Hallo Markus,

    bin gerade im Urlaub und habe daher keinen Zugriff auf meinen Rechner. Daher kann ich dir erst mal nur empfehlen aus dem Post #6, in dem ich die Screenshots gepostet habe, das Bild "Druckaufbereitung_DB.jpg" zu Hilfe zu nehmen.

    Wie do dort erkennen kanst habe ich ein Array vom Typ Char angelegt, jedes Byte des Array entspricht dabei einem Zeichen deines Datentelegramms.
    Das bedeutet, du gibst dein Telegramm als ASCII Zeichen, Zeichen für Zeichen ein.
    Wo du in deinem Telegramm Zeilenumbrüche hast erwartet der Drucker die Steuerzeichen CR (Carriage Return) und LF (Line Feed), die du in dem folgenden Format eingibst : $D steht für CR (16#0D), $A steht für LF (16#0A).

    Auch das geht aus dem Screenshot hervor. Auf den weiteren Screenshots solltest du erkennen wie du den DB am Baustein TSend_C adressierst.
    Theoretisch brauchst du ja nur die Adressen ändern.

    Ich hoffe ich konnte dir so weiter helfen. Wenn nicht kannst du ja gerne mal einen Screenshot von dir posten, vielleicht kann ich dir dann gezielter helfen.

    Gruß smartie

  4. Folgender Benutzer sagt Danke zu smartie für den nützlichen Beitrag:

    Markus1988 (08.07.2013)

  5. #14
    Markus1988 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    17.06.2013
    Beiträge
    13
    Danke
    8
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo Smartie,

    ok ich werde es mal probieren. Anbei ein Screenshot wie mein Datenbaustein nun aussieht, ohne dass ich was geschrieben habe. Bin mir da jetzt nicht ganz sicher wo nun das Array anlege.

    Gruß MarkusDatenbaustein.jpg

  6. #15
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard

    Hallo Markus,

    Du musst einen neuen Baustein erstellen! In dem legst du dann dein Array an.
    Der DB den du gerade als Screenshot gepostet hast ist der Connect DB und enthält die Verbindungsdaten. Da bitte nichts ändern!

    Gruß smartie
    Geändert von smartie (03.07.2013 um 08:57 Uhr)

  7. Folgender Benutzer sagt Danke zu smartie für den nützlichen Beitrag:

    Markus1988 (08.07.2013)

  8. #16
    Markus1988 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    17.06.2013
    Beiträge
    13
    Danke
    8
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo Smartie,

    nochmal Danke für den Tip. Hab jetzt meinen DB und so alles angelegt aber hab noch das Problem, dass nichts geschickt wird und ich auch nur am T_SEND Befehl bei Data ein Char eingeben kann. Wie kann ich das ändern?

    Gruß Markus

    DB.jpgDB_CHAR.jpg

  9. #17
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard

    Hallo Markus,

    das sieht doch schon mal ganz vielversprechend aus. Um dein Array bei DATA am Baustein TSEND_C anzugeben musst du eigentlich nichts weiter machen, als die letzten drei Zeichen also [1] zu löschen. Das sollte das Program auch akzeptieren und nicht bemängeln.

    Jetzt solltest du am Baustein TSEND_C auch noch den Fehlerstatus auswerten. Wichtig ist zu wissen das der Status unter Umständen auch nur einen Zyklus lang ansteht, du musst ihn also am besten, ausgelöst durch das Fehlerbit in eine andere Speicherstelle umkopieren.
    Dann kannst du gezieltg nach einem eventuell auftretenden Fehler suchen.

    Was mir noch aufgefallen ist, ist das du in deinem Datenbaustein statt dem Steuerzeichen ^ ein @ verwendet hast. Ist das Absicht. Ich kene das aus ZPL so nicht.

    Probier das mal uns wenns Probleme gibt einfach wieder schreiben.

    Gruß smartie

  10. Folgender Benutzer sagt Danke zu smartie für den nützlichen Beitrag:

    Markus1988 (08.07.2013)

  11. #18
    Markus1988 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    17.06.2013
    Beiträge
    13
    Danke
    8
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hi,

    also das @ ist ähnlich wie das ^. Mein Drucker versteht das aber.

    Ich Versuch das nochmal mit dem löschen hatte aber glaub nicht funktioniert. Über den M0.0 kann ich das schon starten, wäre soweit richtig oder?

    Gruß

  12. #19
    Registriert seit
    14.07.2005
    Beiträge
    298
    Danke
    27
    Erhielt 18 Danke für 15 Beiträge

    Standard

    Hi, also wenn das mit dem @ funktioniert dann ist das soweit gut.

    Was mir aber vorhin nicht aufgefallen ist, ist das du den CONT Eingang des Baustein TSEND_C mit FALSE belegt hast. Das ist im wahrsten Sinne des Wortes falsch.

    Bitte schau dir nochmal genau meine Screenshots aus Post #6 an (speziell Druckaufbereitung_FC.jpg). Erst wenn ein Signal am Eingang CONT anliegt wird überhaupt erst eine Verbindung zu dem am Baustein TSEND_C parametrierten Teilnehmer aufgebaut.
    Wenn dann die Verbindung steht (Statusmeldung auswerten!) kann, ausgelöst durch eine Flanke am Eingang REQ das Datentelegramm gesendet werden.

    Die detaillierten Beschreibungen zu den Statusmeldungen des Bausteins findest du in der Onlinehilfe des TIA Portals.

    Welcher Merker das dann auslöst ist prinzipiell egal, sofern er nicht anderweitig schon verwendet wird natürlich.

    Gruß smartie
    Geändert von smartie (05.07.2013 um 18:04 Uhr)

  13. Folgender Benutzer sagt Danke zu smartie für den nützlichen Beitrag:

    Markus1988 (08.07.2013)

  14. #20
    Markus1988 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    17.06.2013
    Beiträge
    13
    Danke
    8
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Smartie,

    ich bräuchte bitte nochmal deine Hilfe.

    Das mit dem [1] löschen hat geklappt, ich hoffe nur dass er mir nun alles rausschickt. Ich habe die den Startwert auf 49 gesetzt, damit sollte er dann auch den kompletten Datensatz verschicken.
    Leider klappt es aber nicht, dass er mir was verschickt. Der Status ändert sich von 16#7000 auf 16#7001, bei dir aber steht 16#7004. Ist das trotzdem ok?

    Ich erkenne leider noch nicht meinen Fehler, habe deine Bilder eigentlicht komplett überprüft und wüsste nicht, was falsch ist. Wenn ich diesen Datenstring
    @XA
    @FT193,432@A0N,68,69@FDFAULT LABEL@FS
    @XZ

    an den Drucker über ein Terminal schicke, funktioniert dieser. Im Datenbaustein habe ich nun ein Array of Char [1...49] angelegt mit jedem Zeichen ein Char. Zeilenumbruch ist mit "$D" und "$A" mit drinnen, wie du es mir gesagt hast. Der Rest würde aber so drin stehen, wie oben im String vorhanden, z.B. 'X'; 'A'; usw. Ist das richtig?

    Hoffe du kannst mir nochmal helfen. Bis dahin hast du mir eh schon sehr gut geholfen, wäre ich alleine nie darauf gekommen.

    Gruß Markus

    Main.jpg

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 29.03.2012, 18:21
  2. Daten verschicken
    Von sps_mitte im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 20.09.2011, 13:20
  3. Störmeldung per SMS verschicken
    Von TimoK im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 23.05.2008, 07:06
  4. Antworten: 14
    Letzter Beitrag: 29.07.2007, 22:47
  5. Maschinenstörung per SMS verschicken!!
    Von stefand im Forum Sonstige Steuerungen
    Antworten: 10
    Letzter Beitrag: 19.11.2005, 21:36

Lesezeichen

Berechtigungen

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