kommunikation zweier sps 315-2 pn/dp per profinet io

radislav

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo,

für meinen projekt muss ich kommunikation o.g. sps'en per profinet herstellen. es soll bei jeder cpu 2 datenbausteine - puffer - db200 (empfangspuffer) und db201(sendepuffer) geben. ob1 der 1. cpu schreibt sein db201 in db200 der anderen cpu und holt db201 der anderen und schreibt es in die eigene db200:

1. cpu| richtung | 2.cpu
------|----------|--------------
db200 |<---------| db201
db201 |--------->| db200

die geänderten daten werden dann im weiteren verlauf ausgewärtet.

das beispielprojekt von siemensseite habe ich in meinen integriert. meine
Code:
ob1 schaut nun so aus (wie im beispielprojekt):
 U     M      1.0
      =     L     20.0
      BLD   103
      U     M      0.1
      SPBNB _001
      CALL  FB   100 , DB111
       INIT_COM:=L20.0
_001: U     BIE
      R     M      1.0

soweit ichs verstanden habe, soll dies nur die inizializierung der verbindung sein. wie mache ich nun den austausch der daten mit put und get?

veilen dank im voraus
gruß
Radislav
 
Hallo.
In dem Beispielprojekt ist doch alle drin was du brauchst.
Im Programm mußt du jeweils den FB 14 oder 15 aufrufen und die entsprechenden Daten ranschreiben.
Im NetPro wird dan die Verbindung projektiert (Im Beispielprojekt Doppelklick auf Ethernet und dan Klik auf die jeweilige CPU).
Aber mit den Suchbegriffen "Put" und "GET" oder "FB14","FB15","SFB14" und "SFB15" wirst du hier im Forum sicherlich noch genügend Hinweise finden.
MfG Fritze.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Fritze
erstmal danke für die antwort, ich bin leider ein anfänger und es hat nichts geklappt.

könntest du villeicht genauer beschreiben:
- wie und wo soll ich fb14 und fb15 aufrufen
- wie kann ich meine daten reinschreiben

vielen dank im voraus
gruß
Radislav
 
Ich versuche dir mal eine Anleitung zu geben.
  1. Projekt mit beiden CPU`s anlegen (die die Daten miteinander austauschen sollen).
  2. Bei der Konfiguration der Kommunikationsprozessoren folgendes eingeben:Subnetz gegebenenfalls neu anlegen
    IP-Protokoll wird genutzt aktivieren
    IP-Adresse entsprechend eingeben
    Teilnehmer 1: a.b.c.x
    Teilnehmer 2: a.b.c.y
    Subnetmaske: 255.255.255.0
  3. Nach dem beide Konfigurationen abgespeichert und übersetzt wurden gehst du dann im Manager auf das Projekt (linker Kasten) zurück. Dann siehst du in der rechten Fensterhälfte dein geschaffenes oder schon vorhandene Ethernet. Darauf machst du einen Doppelklick und das NetPro öffnet sich.
  4. Nun wählst du eine der beiden Steuerungen aus und machst auf dem Kästchen wo der CPU-Name drinnen steht einen Klick.
  5. Nun öffnet sich im unteren Teil des Fensters eine Tabelle.
  6. Gehe auf das erste Kästchen und mache darauf einen Doppelklick.
  7. Jetzt öffnet sich ein Dialogfenster. Hier stellst du als Verbindungstyp eine S7-Verbindung ein und wählst die Partnersteuerung aus.
  8. Wenn du nun Übernehmen drückst öffnet sich ein weiteres Dialogfenster, welche dir die Verbindungseigenschaften darstellt. Diese kannst du dann schließen.
  9. Nun siehst du in der Tabelle die lokale und die Partner-ID.Diese benötigst du für die Parametrierung der Kommunikationsbausteine.
  10. Nun alles speichern und übersetzen. Wenn alles Richtig gemacht wurde dürften keine Fehler erscheinen.
  11. Die nun neu generierten Systemdaten mußt du in die Steuerungen übertragen.
  12. Sind die Sytemdaten aktualisiert und die Steuerungen richtig vernetzt, dann kannst du in der HW-Konfig über den CP eine Diagnose aufrufen. Unter der Rubrik "Verbindungen" müßte die Projektierte Verbindung eingerichtet sein.
  13. Im Programm mußt du nun die Kommunikationsbausteine (FB14 oder SFB14 und FB15 oder SFB15) aufrufen. Hier benötigst du nun auch die Verbindungs-ID-Nummern, welche per W#1#Nummer an den Baustein angetragen werden muß.
  14. Die genaue Beschreibung der Bausteine kannst du nachlesen, wenn du auf den Baustein gehst und die "F1"-Taste drückst.
Ich setze den Anstoß des Lese-/Schreibevorganges, wenn er False ist und Rücksetze ihn bei Rückmeldung Error oder Done/NDR.
Hoffentlich hilft dir das weiter.
Mit freundlichen Grüßen Fritze.
 
An dieser Stelle noch der Hinweis:

Das hat nichts mit Profinet oder Profinet-IO zu tun. Es handelt sich bei dieser Verbindung vom eine S7-Verbindung. Hierbei wird die Tatsache genutzt, dass die PN-Schnittstelle der CPU auch herkömmliche TCP/IP-Dienste unterstützt.

Die Reaktionszeiten liegen im Bereich von einigen 100ms. Für die Datenkonsistenz musst Du selber sorgen (das Betriebssystem garantiert bei dieser Art der Verbindung Konsistenz lediglich über 32 Byte-Blöcke).

Wenn Du schon PUT/GET verwenden möchtest, würde ich empfehlen, auf beiden Seiten je GET zu verwenden (und nicht PUT). So ist leichter nachvollziehbar, wo Daten herkommen (bei PUT kriegt man das im Anwenderprogramm der Zielsteuerung nur dadurch mit, dass sich Daten immer wieder verändern)

Willst Du tatsächlich Profinet-IO verwenden (mit Reaktionszeiten mir Bereich vom einigen ms), so musst Du keinen PN/PN-Koppler und entsprechende Profinet-Infrastrukturkomponenten einsetzen.
Von der Verwendung von CBA und iMAP rate ich ab.


mfg Maxl
 
Zuviel Werbung?
-> Hier kostenlos registrieren
vielen dank jungs.

@Fritze
ich hab deine schritte nochmal überprüft und hab festgestellt, das meine systemdaten nicht geladen waren und die bausteine fehler zeigten.
zu 9.: ist es ok, dass die id's gleich sind (bei mir "1")?
zu 12.: wo ist es überhaupt? hab's nicht gefunden.

@maxl
ich muss auf jedem fall profinet verwenden, da dieses projekt eine projektarbeit der FH ist.

@all
ich hab mal gelesen, dass put und get mit boolschen werten nicht funktioniert, also minimum byte. ist es richtig?

allerdings funktioniert der datenaustausch immer noch nicht, obwohl keine fehlermeldungen bei put und get sind.

ich hänge meinen projekt hier mit an. veilleicht hilft es weiter.

p.s. db200 und db201 sowie fb100 sind genauso wie im beispielprojekt von siemens. ich hab nur array durch eine bytevariable ersetzt. aufzug ist der master und simulation ist slave. im ob1 des aufzuges und simulation habe ich am ende versucht diese bytevariable nacheinander zu setzen und zu beobachten, was passiert. der rest funktioniert soweit.

gruß
Radislav
 

Anhänge

  • aufzug_hw121_sw120.zip
    2,4 MB · Aufrufe: 46
@Maxl

Kannst du mir sagen, warum du von CBA und iMap abrätst?
Ich bin begeistert davon
1. iMAP und das S7-Addin ist meiner Meinung nach sehr Mühsam zu handhaben, wenn man im Nachhinein an der Schnittstelle von "CBA-Komponenten" etwas verändern will (was ja im Sonderanlagenbau durchaus vorkommt)
2. man benötigt iMAP als Options-Paket, für das Siemens 1700 EUR haben will (bei 30 Programmiereren ist das durchaus eine Stange Geld)
3. aus dem Anwenderprogramm ist nicht mehr ersichtlich, wo da wie Signale und Daten durch die Gegend geschoben werden, weil es eine reine Betriebssystem-Geschichte ist
4. CBA ist einfach langsam - es kann vom Tempo her nicht mit PUT/GET mithalten, schon gar nicht mit Iso-on-TCP-Verbindungen

mfg Maxl
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@maxl
ich muss auf jedem fall profinet verwenden, da dieses projekt eine projektarbeit der FH ist.
Für "Profinet" gibt es 3 Arten der Kommunikation
1. Profinet CBA (hierfür müssen "Profinet-Komponenten" erstellt werden), die Verschaltung detr Signale erfolgt mittels Simatic iMAP
2. Profinet-IO (auch RT) - hierfür benötigst Du entweder einen PN/PN-Koppler, oder an einer der beiden CPUs ist ein CP343-1 Lean oder CP343-1 gesteckt, welcher als Profinet-Device (= Slave) fungiert; eine direkte Kommunikation Controller-Controller (Master-Master) ist nicht vorgesehen
3. Profinet-IRT (Isochronous Real Time) - hier ist mir kein Weg bekannt, wie man eine Controller-Controller Kopplung machen kann.

Sollte Dir Deine FH nicht das entsprechende Equipment für eine der 3 genannten Varianten zur Verfügung stellen können, kannst Du keine Verbindung mit "Profinet" aufbauen, und Deine Projektarbeit ist nicht umsetzbar.

Die Verbindungsvariante PUT/GET ist eine S7-spezifische Sache, und hat mit Profinet nichts zu tun. Es wird lediglich die Tatsache ausgenutzt, dass eine PN-CPU auch S7-Verbindungen (z.B. PUT/GET) beherrscht.


Frag Deinen Projektbetreuer bitte mal, ob er eigentlich den Unterschied zwischen Profinet und S7-Verbindungen kennt, bzw. was er eigentlich mit "Profinet" meint, oder ob er einfach nur das neue Siemens-Modewort nachspricht, ohne sich genauer darüber gedanken zu machen?


mfg Maxl


PS: Was denken sich die bei Siemens eigentlich dabei, eine derartige Desinformationspolitik zu betreiben?
 
moin,

@Maxl: ich hab nachgefragt: die verbindungsart ist nicht so wichtig, ich kann fb14/15 oder auch sfb14/15 verwenden.

jetzt habe ich es mit sfb14/15 ausprobiert, wieder nach siemes-beispiel. hier zeigt die primär-cpu (bei uns hw120) sofort ein fehler. kann vielleicht jemand sagen, was ich hier falsch gemacht hab?
 

Anhänge

  • aufzug_hw121_sw120_v1.zip
    2,4 MB · Aufrufe: 44
Zurück
Oben