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

Ergebnis 1 bis 4 von 4

Thema: S7 Daten asynchron senden/empfangen über Profibus DP - welche Bausteine ?

  1. #1
    Registriert seit
    16.10.2012
    Beiträge
    742
    Danke
    51
    Erhielt 36 Danke für 29 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Abend allesamt.

    Und wieder habe ich ein nichttriviales Problem mit Profibus DP und S7.

    Sachlagenbeschreibung: eine Steuerung mit HMI kommuniziert mit Antrieben. Dabei wird ein zyklischer Prozessdatenkanal genutzt, und ein azyklischer (Parameterkanal).
    Antriebe sind abgebaut / deaktiviert. An derer Stelle ist jetzt ein fremder Antriebsverbung vom anderen Hersteller getreten. In der CPU gibt es jetzt also ein Programmteil vom dem Originalprogramm, geschrieben durch den Maschinenhersteller (logischerweise kommentarlos und undurchschaubar) ich nenne das mal "O" und mein Umrechnungs-und-Transferprogramm ich nenne das "M".

    "M" greift nun auf den E/A Adressbereich im Prozessabbild mittels BLKMOVE zu, extrahiert daraus die Daten, welche "O" für die Antriebe ins Prozessabbild schreibt, und legt sie in die dafür vorgesehene, kommentierte und von mir angelegte Splitting-Bausteine ab. Dann greift M auf diese Bausteine, rechnet die Daten um, und schreibt die mittels FB283 (SINA_FB) an den neuen Antriebsverbund weiter. Bzw. in die umgekehrte Richtung läuft das genau so. Funktioniert auch prima, solange es sich um die relativ easy zu verstehenden zyklischen Steuer/Statusworte und Ist/sollwerte handelt, die ja ständig übertragen werden.

    Jetzt hat der Hersteller der Maschine (Sprüche zu seinem Seelenheil und Zustand der Familienangehörigen verkneife ich mir mal an dieser Stelle) was ganz besonders fieses einfallen lassen: Teile des Programms greifen auf die Antriebe auch azyklisch zu, etwa von der HMI wenn die Achsenlage geeicht werden muss (so scheint es mir, denn zyklisch findet es offenbar nicht statt). Der Zugriff erfolgt dann mittels Index / Subindex und der Antrieb antwortet dann mit der angeforderten Information. Meine Fragen in diesem Zusammenhang:

    - Wie kann ich an der Stelle des Antriebes im Programmcode etwas emulieren, was mir die Index/Subindex-Nummern mitteilt, auf die zugegriffen wird, und, sagen wir mal, eine vorgefertigte Schablone stattdessen zurückschickt ?
    - Kann ich eventuell im "O"-Programmcode die Bausteine identifizieren, die solche azyklische Kommunikation führen, und diese Stellen entsprechend backegineeren was mir die Arbeit mit der Emulation erparen würde ?
    - Was kann man hier sonst noch so machen, um die übergeordneten Steuerungsabläufe ruhigzustellen und ihr mit bestimmten Rückmeldungen einen Normzustand vorzugauckeln ?

    Ich müsste halt dafür rausfinden, auf welche Indexes zugegriffen wird und entsprechend dieser Info eine "Rückmeldung des Antriebs" zusammenstellen und zurückgeben.
    Weiß jetzt aber nicht spontan, mit welchen Bausteinen das gehen würde. Gibt es vielleicht ne Möglichkeit, eine Art Variablentabelle zu erstellen die den variablenverlauf trace-d und speichert ?

    Danke schon mal im Voraus, vielleicht hat hier der eine oder andere ne schlaue Idee.
    Geändert von Draco Malfoy (28.11.2013 um 19:51 Uhr)
    Zitieren Zitieren S7 Daten asynchron senden/empfangen über Profibus DP - welche Bausteine ?  

  2. #2
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Der Zugriff kann entweder über PAB/PAW/PAD, oder auch über die SFC 14/15 um mehr als 4 Byte konsistente Daten zu schreiben, erfolgen.

    Ohne in die Bausteine hineinzuschauen, könntest du feststellen was geschrieben wird wenn der Adressbereich im Prozessabbild liegt, und du nach dem Bausteinaufruf die AB/AW/AD lädst. Denn bei schreibenden Zugriffen direkt auf PA wird das Prozessabbild nachgezogen.

    Aber warum guckst du nicht einfach im Baustein nach was dort gemacht wird? Das ist auch mit einem AG-Abzug einfacher als das rauszufinden indem man gucks was der Baustein auf die Ausgangsdaten schreibt, denn dort siehst du wahrscheinlich nur einen Teil der möglichen Funktionen. Der Parameterkanal ist jetzt nichts exotisches, wie das funktioniert sollte im Handbuch des Teilnehmers beschrieben sein.

  3. #3
    Avatar von Draco Malfoy
    Draco Malfoy ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    16.10.2012
    Beiträge
    742
    Danke
    51
    Erhielt 36 Danke für 29 Beiträge

    Standard

    Danke für deine Antwort.
    Ja, habe schon angefangen, die Software inhaltlich zu entschlüsseln. Merke, daß ich da wohl nicht drum herum komme, die Schiebereit mit hunderten von Datenbausteinen ist eher aufwenig und speicherraubend.
    Wenn der Code sowieso schon hin ist, dann könnte man auch direkt aus den jeweiligen Funktionen auf die Daten zugreifen ohne Umweg über P#A... P#E...

    Der Adressbereich liegt im Prozessabbild.

  4. #4
    Avatar von Draco Malfoy
    Draco Malfoy ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    16.10.2012
    Beiträge
    742
    Danke
    51
    Erhielt 36 Danke für 29 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich gehe jetzt einfach über die Referenztabelle und gucke nach, wo welcher Programmbaustein was reinschreibt. Scheint recht aufschlussreich zu sein, diese Vorgehensweise. So ermittelt man zumindest die beteiligten Bausteine, die mit dem Antrieb parametrisch kommunizieren.

Ähnliche Themen

  1. Daten über RS232 mit CP340 Senden und Empfangen
    Von Bensen83 im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 01.02.2012, 16:09
  2. Daten über RS232 senden und Empfangen
    Von Bensen83 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 26.01.2012, 10:16
  3. daten über PN senden und empfangen
    Von Servernexus im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 04.08.2011, 16:43
  4. Antworten: 7
    Letzter Beitrag: 03.04.2008, 21:32
  5. CP340 - Daten über RS232 senden und Empfangen
    Von smartie im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 24.08.2007, 10:15

Lesezeichen

Berechtigungen

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