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

Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 36

Thema: S7-200 2xRS232 Waagen anschließen

  1. #21
    Syntaxfehler ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.09.2006
    Beiträge
    117
    Danke
    72
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich muss leider die 1. Methode nehmen. Wenn die Waage zyklisch sendet, (Mettler-Modus) sendet sie mir ihren Waagenwert mit 1 Stelle hinter dem Komma (Normierung Mettler) zu. Das hatte ich schon ausprobiert und funktionierte auch schon.

    Wenn ich stattdessen aber die Waage anspreche, sendet sie mir direkt ihren kompletten Waagenwert mit 3 Stellen hinter den Komma zu. Die Messung muss sehr genau sein, daher benötige ich diese Variante!

    Hast du ein Programm-Beispiel für die Wartezeit bis die S7 die Zeichenkette der Waage erhält?
    S7 sendet --> Wartezeit --> S7 Empfang

    Gruß
    Syny

  2. #22
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Standard

    Hi,
    hab jetzt kein Microwin hier...
    warum Wartezeit, es wird doch ein Interrupt aufgerufen, wenn was
    empfangen wurde, oder?

    V.
    ______________________________________
    relax, take it easy
    Zitieren Zitieren rs232  

  3. #23
    Registriert seit
    07.07.2007
    Beiträge
    53
    Danke
    4
    Erhielt 9 Danke für 9 Beiträge

    Standard

    Hallo,

    ich hatte mir mal ein Y Kabel gebastelt


    ----------- 9-Polig SubD (SPS)
    (Lausch Pc) 9-Polig SubD ------<
    ----------- 9-Polig SubD (Waage)
    (Irgend wo waren auch noch Dioden drin... Wenn du willst schau ich mal
    nach, ob ich den Aufbau noch habe)

    Ich würde einmal das Protokoll mit Hyperterm senden und Empfangen
    und beim 2. Mal mit der SPS. Dabei auch Hyberterminal (Lausch Pc)
    mitlaufen lassen. Dann kannst du die beiden Dateien mit KDiff vergleichen
    und solltest eigentlich schnell sehen können, wo der Fehler liegt.

    Viel Erfolg bei deinen Versuchen, MeTh.

  4. #24
    Syntaxfehler ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.09.2006
    Beiträge
    117
    Danke
    72
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Zitat Zitat von vladi Beitrag anzeigen
    Hi,
    warum Wartezeit, es wird doch ein Interrupt aufgerufen, wenn was
    empfangen wurde, oder?

    V.
    Ahh... ok. Ich glaube jetzt hab ich es verstanden ! Ich probier mal etwas aus...

    MeTh
    Ich würde einmal das Protokoll mit Hyperterm senden und Empfangen
    und beim 2. Mal mit der SPS.


    Mit Hyperterminal habe ich es schon gesendet und empfangen. Funktioniert einwandfrei. Ich scheitere an meinen Programm-Aufbau, da ich noch nie so eine Zeichenkette über eine RS232 versendet habe.
    Aber sonst ist deine Idee gut. Danke, aber du brauchst das Y-Kabel nicht herauszusuchen.
    Ich benötige eher beim Programmaufbau Unterstützung.

    Gruß
    Syny

  5. #25
    Registriert seit
    22.09.2006
    Ort
    Bodenseeraum
    Beiträge
    1.022
    Danke
    61
    Erhielt 136 Danke für 122 Beiträge

    Lächeln

    Hallo Kollege,
    nur mal so für zwischendurch:RS232 Übertragung.
    Die zwei(oder mehr) Stationen sind mit einem RS232 Kabel verbunden, im einfachsten Fall mit 3 Adern: Sende, Empfang und Masse Leitung. Die Stationen haben je ein IC(Baustein), der das RS232 Protokoll kann, und sendet und empfängt selbsständig die Zeichen(Bytes), sobald die Baudrate richtig eingestellt ist(9600, 19200 usw.). Die RS232 Bausteine haben immer ein Sende und Empfangspuffer, wo die Informationen zwischengespeichert werden. So, jetzt sendet die eine Station etwas;
    die zweite Station empfängt die Zeichen nacheinander, die stehen in dem Empfangspuffer...bis alle Zeichen da sind, dauert es eine Weile, je nach Baudrate. So, die zweite Station sagt normalerweise dem Anwender durch ein Event oder Interrupt: hallo, da empfange ich was..und er liest den Empfangspuffer aus(er wird geleert). Wenn noch was dazu kommt, muss man es aus dem Puffer wieder rausholen. Ob das alles ist, erkennt man an den spez.definierten Telegramm "Start" und "End" Zeichen.
    Wenn ich was senden will, schiebe es in den Sendepuffer und das RS232
    Modul versendet es weiter..
    So funzt das..

    Vladi
    ______________________________________
    relax, take it easy
    Zitieren Zitieren Rs232  

  6. Folgender Benutzer sagt Danke zu vladi für den nützlichen Beitrag:

    Syntaxfehler (24.11.2008)

  7. #26
    Syntaxfehler ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.09.2006
    Beiträge
    117
    Danke
    72
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Ich habe mal wieder mich mit meiner Waage beschäftigt.

    Und zwar habe ich meinen zusendeten Befehl in einen DB abgelegt (siehe Datenbaustein.jpg). Die Anzahl zusendeten Zeichen müssen in Hex programmiert werden. Die Zeilenschaltung "<CR>" und "<LF>" müssen ebenfalls in Hex programmiert werden. Wenn ich diese als Dezimal programmiere, erkennt der andere Teilnehmer diese Zeichen nicht als Sonderzeichen an und nimmt diese als Nutzdaten.
    Ich habe das in Hyperterminal mir angeschaut. Mit Dez. zeigt er mir CR und LF im Hyperterminal an und als Hex springt er 2 Zeilen nach dem zusendeten Befehl.

    Wenn ich vom Hyperterminal den Befehl ohne CR oder LF sende, erhalte ich trotzdem den Waagenwert, da das Hyperterminal automatisch bei jeden zu sendeten Befehl ein "CR" dahinterschreibt. Also habe beides ausprobiert CR und inkombination CR und LF.
    Bei CR erhalte ich ein Telegramm. Aber was sind denn das für Nutzdaten (siehe Waage_steuern_nur_Befehl)? Den Abschluss 0D = 13 (<CR>) erkenne ich. Im Hyperterminal funktioniert das ja einwandfrei und nach jeden Befehl "IN_PV_17" erhalte ich meinen Waagenwert.

    Wo liegt mein Fehler? Achja die Waage reagiert nicht auf jedes Telegram was ich ihr zu sende (über SPS). Habe da schon mit der Baud. rumgespielt. Wenn ich über Hyperterminal ein Befehl sende, sendet die Waage immer ihren Wert.

    Wenn ich ein Telegram sende, empfange ich es gleich (RX/TX LED blinken). Die Wartezeiten habe ich schon rumexperimentiert. Wo und an welcher Schraube muss ich denn noch drehen?

    Gruß Syny
    Angehängte Grafiken Angehängte Grafiken

  8. #27
    Syntaxfehler ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.09.2006
    Beiträge
    117
    Danke
    72
    Erhielt 3 Danke für 3 Beiträge

    Standard

    noch die 2 weiteren Interrupts + ein Bild wie das Telegram aussieht, wenn ich dieses an das Hyperterminal sende (Zeilensprung wurde auch durchgeführt)
    Angehängte Grafiken Angehängte Grafiken

  9. #28
    Registriert seit
    07.07.2007
    Beiträge
    53
    Danke
    4
    Erhielt 9 Danke für 9 Beiträge

    Standard

    Zitat Zitat von vladi Beitrag anzeigen
    Wie macht man ein STRING?:
    Z.B. ab Adresse VB200:
    MOVB 12, VB200 // Anzahl zu versend. Bytes
    MOVD 'IN_P', VD201
    MOVD 'V_AM', VD205
    MOVB 32, VB209
    MOVB 13, VB210
    MOVB 32, VB211
    MOVB 10, VB212
    Hallo,

    bei der 200er reicht glaube ich um eine Zeichenkette zu erstellen ein "Längenbyte". Ein richtiger String hat aber glaube ich 2 Vorzeichen, oder?

    Sorry, hab mir das noch mal kurz durchgelesen, damit ich das Projekt wieder im Kopf hab, da ist mir das halt aufgefallen.

    Noch mal mit dem Mitloggen:
    du kannst doch mal ein Screenshot vom Hyperterminal machen von:

    --> Hyperterminal sendet an Waage
    --> SPS sendet an Hyperterminal

    Dann sollte man das doch sehen können, was da noch fehlt.

    Hoffe es hilft.

    Solchen Problemen, wo man einfach nicht weiterkommt sind echt demotivierend aber du bekommst das schon noch hin...

    LG und viel Erfolg, MeTh.

  10. #29
    Syntaxfehler ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.09.2006
    Beiträge
    117
    Danke
    72
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Zitat Zitat von MeTh Beitrag anzeigen

    --> Hyperterminal sendet an Waage
    --> SPS sendet an Hyperterminal
    Hallo MeTh,

    beides hatte ich schon ausprobiert. Daher habe ich meinen Stand mal hier gepostet, da

    Zitat Zitat von MeTh Beitrag anzeigen
    --> Hyperterminal sendet an Waage
    IN_PV_17

    Zitat Zitat von MeTh Beitrag anzeigen
    --> SPS sendet an Hyperterminal
    IN_PV_17 (siehe Screenshot 3 letzter Beitrag von mir)

    Das heißt, beides mal sind es Identische Befehle + das ich die "Return-Taste" ASSCI-Code Dez. 13 aka <CR> erfüllt habe.
    D.h. mein Befehl IN_PV_17 springt er danach im Hyperterminal in die 2.Zeile (Endezeichen)

    Theroie:
    MoveB 13, VB311
    Wie ich schon oben meinte, wenn man so die Sonderbefehle in die SPS schreibt als Dezimalzahl, dann erkennt die SPS bzw. die Waage das nicht als Sonderzeichen <CR> und im Hyperterminal sieht man dann

    Zitat Zitat von MeTh Beitrag anzeigen
    --> SPS sendet an Hyperterminal
    IN_PV_17_1310 (CR und LF) <--- nächster Zeilensprung wurde nicht ausgeführt!

    Der Befehl ist denke ich richtig, aber fehlt noch ein anderes Telegram im kompletten Telegram, was das Hyperterminal automatisch erzeugt, da es ja über das Hyperterminal funktioniert?

    Zitat Zitat von MeTh Beitrag anzeigen
    Ein richtiger String hat aber glaube ich 2 Vorzeichen, oder?
    Ähh 2 Vorzeichen? Also die Anzahl der zusendeten Byte's gibt man an. Online habe ich ja ein Screenshot gemacht, wie es aussieht im Puffer VB500, da steht 08 Nutzzeichen. Das wird automatisch erzeugt durch die Kennzeichnung des Strings "VB502 'IN_PV_17' <--- = 8 Nutzdaten

    Meintest du das? Irgendwo muss denke ich noch etwas rein. Nur was?

    Gruß
    Syny
    Geändert von Syntaxfehler (18.02.2009 um 21:42 Uhr)

  11. #30
    Registriert seit
    22.06.2003
    Beiträge
    242
    Danke
    9
    Erhielt 19 Danke für 19 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo
    las zwar jetzt auf die Schnelle nicht alle Beiträge und habe noch nie was mit Waagen gemacht aber die reine Ascii-Übertragung hat normalerweise in HT zumindest beim Zeichenende zwei Dreher drin.
    Wie das genau war weiss ich nicht mehr weil ich mir aus eben diesem Grunde dann eigene Terminals in Delphi programmierte wo ich das einstellen und erkennen kann was gesucht ist. Und seit Jahren nur die benutze.
    'CRLF' kann entweder als CHR(10)CHR(13) Hex==OAOD, oder 0D0A CHR(13_10) auftauchen. Ob Hex, Dec. oder Binär versendet ist dabei vollkommen egal weil die Bytes immer als Ascii Zeichen interpretiert werden.
    Vielfach ist es aber so dass in der S7-200 Meldungseinstellung CR als Meldungsende interpretiert wird - LF käme in dem Fall gar nicht mehr an. Aus dem Grunde muss das entweder im SMB18xxx irgendwas passend konfiguriert sein oder LFCR gesendet werden. Hyperterm konnte meine ich mich zu erinnern beides - also CRLF oder LFCR. Deswegen ging da vieles was sonst nie funktioniert Windows kann normal nur eins (bei mir zumeist dec: 10_13) und was die Waagen können weiss ich nicht. Die Möglichkeiten must du mal durchprobieren - sind sechs Stück von denen es eine sicher ist:
    in dec:
    10_13
    13_10
    13_13
    10_10
    10_nix
    13_nix

  12. Folgender Benutzer sagt Danke zu tobias für den nützlichen Beitrag:

    Syntaxfehler (19.02.2009)

Ähnliche Themen

  1. S0 an SPS anschließen
    Von roberthaidi im Forum Simatic
    Antworten: 25
    Letzter Beitrag: 07.06.2013, 07:34
  2. Vss+ Vss- Gnd anschließen
    Von Anaconda55 im Forum Elektronik
    Antworten: 49
    Letzter Beitrag: 28.10.2008, 12:39
  3. ABB Veritron anschließen
    Von Atlantik im Forum Antriebstechnik
    Antworten: 1
    Letzter Beitrag: 30.04.2006, 15:11
  4. Wo Motorleitungen anschließen?
    Von Anonymous im Forum Schaltschrankbau
    Antworten: 12
    Letzter Beitrag: 28.01.2006, 11:50
  5. TP anschließen
    Von Anonymous im Forum HMI
    Antworten: 2
    Letzter Beitrag: 07.06.2005, 06:24

Lesezeichen

Berechtigungen

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