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

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

Thema: B&R Frage zu Datenaustausch zwischen PP220 und PP45

  1. #1
    Registriert seit
    14.07.2011
    Beiträge
    26
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich bin gerade dabei mich etwas in die B&R Steuerungen einzuarbeiten und hab da eine Frage zwecks Datenaustausch.

    Folgendes Szenario:

    1x PP220 das eine Trocknungsanlage inkl. aller Aggregate steuert.

    1x PP45 das als kleine Fernbedienung für das PP220 dienen soll. Hat sonst nix zu tun außer dem PP220 zu sagen "Start da mal das eine Aggregat und sag mir dann Bescheid obs geklappt hat"

    Ich dachte zuerst ich mach das entweder mit AsTCP oder AsUDP, aber so wie ich das sehe kann man da als Daten nur einen Pointer auf einen String übergeben, ich verstehe das so das ich dann eben auch nur Strings verschicken kann. Ich will aber ein Array mit 10x BOOL austauschen. Sprich 10 Förderaggregate mit dem aktuellen Zustand, läuft/gestoppt. Vorformatierte String zusammenbasteln, verschicken und dann wieder aufdröseln mach ich eigentlich ungern.

    Dann bin ich im Handbuch auf AsIMA bzw. INAcntl gestoßen, so wie ich das verstehe kann ich da auch Strukturen versenden etc.

    Nur wie ist das dann mit der Ethernetschnittstelle? ist die dann blockiert oder kann ich da noch weitere Verbindungen aufbauen? Zusätzlich soll das PP220 nämlich per UDP Ist-Werte zyklisch an einen kleinen Server schicken zwecks Protokollierung.

    Ich verwende Automation Studio 2.7.0.21 SP14
    Zitieren Zitieren B&R Frage zu Datenaustausch zwischen PP220 und PP45  

  2. #2
    Registriert seit
    12.04.2010
    Beiträge
    300
    Danke
    22
    Erhielt 54 Danke für 52 Beiträge

    Standard

    Willkommen Leuchtkeks

    Also, du kannst sicher mit AsUDP und TCP Strukturen versenden. Am besten du definierst dir eine Sende-Struktur (im anderen Projekt = Empfangsstruktur) .

    Du übergibst immer die Adresse und die Länge, hab jetzt den genauen Aufruf nicht im Kopf, aber irgendwie so....

    AsSend (1, .... , &SendeDaten, sizeof(SendeDaten))

    Dann brauchst du nur die Struktur ändern (in beiden Projekten !!) und die geänderten Daten werden übertragen.

    AsIMA geht auch ganz gut, da schreibst du in die Daten-Tabelle nur die Namen rein und alles wird übertragen.

    --
    Ethernet kannst du parallel benützen...


    ABER,
    vielleicht solltest du mal überlegen ob du nur EINE CPU verwenden willst und mit Ethernet einfach eine zweite Visu dranhängen, welche du auf ein Terminal sendest.
    In dieser Visu machst du eine Statusanzeige und und einen Startbutton so wie du schreibst.

    Dann hast du alle Daten sowieso auf der CPU.

    Als zweite Visu würde auch eine VNC funktionieren.

    Am besten du klärst das ev. mit dem B&R Vertriebler der dich betreut...

    bg
    bb
    Geändert von bits'bytes (14.07.2011 um 18:21 Uhr) Grund: Ah Ja, Ethernet-Schnittstelle:

  3. Folgender Benutzer sagt Danke zu bits'bytes für den nützlichen Beitrag:

    Leuchtkeks (14.07.2011)

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

    Standard

    Super Sach, funktioniert

    Hab schnell nen Task mit nem kleinen Schrittschaltwerk eingebaut und mit nem Schnüffelstück auf dem lokalen PC getestet, kommen Daten an, der versendet die Struktur ohne meckern

    Grad kleine Gedankenklemmer:

    Um die Antwort vom Master zu empfangen brauch ich ja keinen zweiten TCP-Socket, ich müsste nach dem Senden nur im Schrittschaltwerk eine Stufe weiterhüpfen und da so lange TcpRecv() ausführen bis was ankommt richtig? Mir schwirrt da grad das Stichwort Race-Condition im Kopf rum. Ich knobel mal weiter, denk das krieg ich hin.



    Zum Thema VNC: Das geht so nicht, das ist eine Trocknungsanlage für Getreide und Mais, sprich das ganze steht auf nem großen Bauernhof, und das Silo wo die Fernbedienung dran soll steht draußen im Freien, ein Rugged-Environment Notbuch kostet da garantiert mehr als das kleine PP45, das ich zumal direkt von meinem Arbeitgeber gebraucht kaufen kann.

    Das ist nämlich so: Nach dem Trocknen wandert der Mais in eine Kühlzelle. Danach wandert der über diverse Förderaggregate quer durch die Hallen raus in die Silos. Das sind ~50m Fußweg plus nochmal 8m ne Leiter rauf. Du lässt das Auslagern manuell laufen, läufst nach hinten, hoch auf die Leiter, beobachtest das ganze. "Oh, gleich voll". Also Leiter runter, vor laufen, Aggregate abschalten, nach hinten laufen, die Leiter rauf, "Mist, da passt noch was rein", Leiterr unter, nach vorne laufen, Aggregate einschalten, nach hinten laufen, Leiter hoch, warten, "So, jetzt aber", Leiter runter, vor laufen, Aggregate abschalten, nach hinten laufen, Leiter hoch, reingucken zur Kontrolle, "OK, passt", Deckel zu, Leiter runter. Das war dann das erste Silo. Was jetzt kommt kannst du dir ja Denken. Es ist nicht ganz so schlimm wie es sich liest, aber verplemperst halt unnötig Zeit mit Aufpassen.

  5. #4
    Registriert seit
    12.04.2010
    Beiträge
    300
    Danke
    22
    Erhielt 54 Danke für 52 Beiträge

    Standard

    Hi,
    ist ja gut wenn zur Abwechslung mal was klappt

    VNC muss nicht unbedingt auf einem Lapi laufen, ich denke da an diese Terminals von B&R, sind auch in der notwendigen IP-Kategorie denke ich.

    Aber stimmt schon, das PP45 ist halt schon recht günstig, auch wenn du während dem Booten locker einen Kaffee trinken kannst.

    Nun egal, wenns so ist dann ist es so...

    --

    Senden und Empfangen am selben Gerät, bin ich mir nicht sicher.

    Du musst ja für die jeweilige Richtung eine IP Adresse und einen Port angeben, oder ?

    Wenn du zweimal dieselbe IP Adresse eingibst, funktioniert das vielleicht. Ich würde aber an deiner Stelle gleich 2 Tasks machen, einer für senden, der andere für empfangen. Dann kannst du das leichter auf das zweite Gerät bringen, wenn es soweit ist....

    bg
    bb

  6. #5
    Leuchtkeks ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    14.07.2011
    Beiträge
    26
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Senden und Empfangen geht schon. Sende- und Empfangsport müssen halt unterschiedlich sein, die IP ist egal. VirtualHosts bei nem Webserver z.B.

    Ich überlege gerade was ich mache. Mehr Overhead mit TCP und Arbeit sparen oder per UDP und zwei Zyklische Objekte, eins fürs Empfangen und eins fürs Senden.

    Das sind so wenig Bytes an Daten und das PP220 hat so wenig zu tun, glaub kaum das sich da das TCP-Handling bemerkbar macht. Allerdings widerum auch so wenig Daten das ich keine Bedenken habe das da bei UDP was flöten geht. Ich könnte ja noch ne Checksumme mitschicken und beim Empfänger die nachrechnen und dann vergleichen.

    Ich bau das gerade noch ins PP220 ein und mach dann so ne Art Stresstest. Mal bei alle 200ms was senden anfangen und die Zeit so lange runterschrauben bis es kracht, dann hab ich ja nen Anhaltspunkt.

  7. #6
    Registriert seit
    12.04.2010
    Beiträge
    300
    Danke
    22
    Erhielt 54 Danke für 52 Beiträge

    Standard

    Zitat Zitat von Leuchtkeks Beitrag anzeigen

    ...Ich könnte ja noch ne Checksumme mitschicken und beim Empfänger die nachrechnen und dann vergleichen.
    ...
    Hi,
    ich denke das kannst du dir sparen, die Richtigkeit der Daten sind auch bei UDP durch das Protokoll gegeben. Also, sobald du in deiner Applikation die Daten hast, sind sie auch richtig. Das macht UDP.

    bg
    bb

  8. #7
    Leuchtkeks ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    14.07.2011
    Beiträge
    26
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    UDP ist aber ein Verbindungsloses Protokoll. Du hast keine Garantie das ein gesendetes Paket nur einmal oder mehrmals oder in der richtigen Reihenfolge oder überhaupt ankommt, das meinte ich. Ich bin bei so Sachen immer extrem übervorsichtig

  9. #8
    Registriert seit
    12.04.2010
    Beiträge
    300
    Danke
    22
    Erhielt 54 Danke für 52 Beiträge

    Standard

    ...
    Du hast keine Garantie das ein gesendetes Paket nur einmal oder mehrmals oder in der richtigen Reihenfolge oder überhaupt ankommt, das meinte ich.
    ...
    ja, das mag so sein wenn du über das weite internet gehst, dass die reihenfolge durcheinanderpurzelt. aber du machst doch eine punkt-zu-punkt verbindung, direkt verbunden. deine daten werden auch nicht in mehrere UDP pakete aufgeteilt. was soll also durcheinander kommen ?


    ev. wäre es günstig, immer bei veränderung zu senden und für "heartbeat" zu sorgen, d.h. zb einen 300 ms takt mit in die Daten zu nehmen. der empfänger kann dann jeweils kontrollieren ob in diesem abstand die daten kommen.

    noch besser würdest du statt dem takt alle 300 ms einen zähler erhöhen, der muss dann auf der empfängerseite fortlaufend sein. so kannst du ganz sicher prüfen ob die daten ok ankommen.

    wie gesagt, checksum hilft meiner meinung nach nicht....

    bg
    bb

  10. #9
    Leuchtkeks ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    14.07.2011
    Beiträge
    26
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja, da hast du vollkommen recht. Ich bin in Sachen Software-Absicherung immer etwas paranoid.

    Stimmt, das mit dem Zähler hatte ich vorhin irgendwo im Handbuch aufgeschnappt. Gute Idee.

  11. #10
    Registriert seit
    10.12.2008
    Ort
    lower-autriche
    Beiträge
    143
    Danke
    9
    Erhielt 7 Danke für 7 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    also solche sachen würde ich eher über das INA protokoll laufen lassen
    wesentlich stressfreier...
    Der Fehler sitzt meistens vor dem Gerät.

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 14.04.2011, 21:38
  2. datenaustausch zwischen 2 sps'en
    Von hbedir im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 07.12.2009, 14:34
  3. datenaustausch zwischen 2 Controller
    Von Tiger30 im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 26.03.2009, 10:34
  4. Datenaustausch zwischen Vipa und S7 300 über Can Bus
    Von schroednix im Forum Feldbusse
    Antworten: 8
    Letzter Beitrag: 09.07.2008, 11:45
  5. Datenaustausch zwischen 2 S7-317-2 PN/DP
    Von johnij im Forum Simatic
    Antworten: 22
    Letzter Beitrag: 16.06.2008, 15:27

Lesezeichen

Berechtigungen

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