2 PLCsims über Profibus verbinden.

Maikäferbenzin

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


ich bin gerade dabei ein kleines Projekt an der Fachschule zu planen und hab mich da jetzt schon diverse Stunden damit beschäftigt wie ich das simulieren kann. Das Projekt besteht aus 4 Stück 314C-2DP (einer Master, 3 Slaves) und die Kommunkation soll über Profibus laufen.

Die Verbindung zwischen Simatic-Manager und den jeweiligen PLC-Simulationen bekomme ich hin und die Programme laufen auch wie sie sollen, nur untereinander herscht Funkstillle.
Ich hab die DP-Konfiguration erstmal ganz simpel gehalten und auch erstmal nur 2 CPUs "angeschlossen".

Master Slave
AB40 -> EB40
EB40 <- Ab40

Das Programm schiebt einfach den Zustand eines Merkerbytes auf das AB40, funktioniert ja auch, nur im EB auf der jeweils anderen Seite kommt nichts an.

Hab ich da nen grundliegenden Denkefehler drin oder geht das garnicht so wie ich das vorhab? Ich stell mir das so als virtuellen Profibus vor.

Oder geht das eventuell nur mit den SFC14 und 15? Das Dokument mit den zu verwendenden Bausteinen hab ich gelesen, aber da steht nichts von diesen "Kanälen" die man in der DP-Konfiguration einstellen kann.

Mit Ethernet soll das ja funktionieren, ich brauche aber unbedingt Profibus.
Hat das schon mal jemand hinbekommen?

Gruß Jan
 
Hallo Jan,
welche Version von PLCSim verwendest du?
Soweit ich weiss, geht das, was du vor hast erst ab Servicepack 3 der 5.4er Version.
Damit habe ich über Globaldatenkommunikation schon Daten zwischen den virtuellen CPU´n ausgetauscht.
Dazu müssen aber beide CPU´n im selben Projekt angelegt sein.
Zuerst die erste CPU starten, dann parametrieren (Hardwarekonfig einspielen), und danach die zweite starten und parametrieren.
Über Netzwerkverbindung hatte ich keinen Erfolg, weil PLCSim keine CP´s simulieren kann.

Grüße DG6FDJ
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

Hallo Jan,
welche Version von PLCSim verwendest du?
Soweit ich weiss, geht das, was du vor hast erst ab Servicepack 3 der 5.4er Version.

genau die hab ich installiert

Damit habe ich über Globaldatenkommunikation schon Daten zwischen den virtuellen CPU´n ausgetauscht.
Globaldatenkommunikation :confused:, hab ich noch nix mit zu tun gehabt, ist ja anscheinend nicht das gleiche wie die Konfiguration in den DP-Eigenschaften der CPU.

Dazu müssen aber beide CPU´n im selben Projekt angelegt sein.
Zuerst die erste CPU starten, dann parametrieren (Hardwarekonfig einspielen), und danach die zweite starten und parametrieren.
Hab ich immer genau so gemacht.

Hast Du vielleicht noch ein Beispielprojekt rumfliegen wo ich mir das anschauen kann?

Gruß Jan
 
Hallo Jan,
hatte überlesen, dass du unbedingt PB brauchst.
Das macht die Sache etwas komplizierter.
Soweit ich das weiss, funktioniert die Kommunikation über Profibus nur über CP´s. Die können aber nicht über PLCSim simuliert werden. Genauso wie Ethernet CP´s. Muss es unbedingt PB sein, oder tut es auch MPI? Ist ja dasselbe Kabel, nur mit einem anderen Protokoll.
Ich hab mal schnell ein Projekt mit Globaldatenkommunikation erstellt, welches den AB40 auf den EB40 der jeweils anderen CPU überträgt. Die GDK funktioniert nur über MPI-Bus.
Beim Rechtsklick auf den MPI-Bus im Projekt findest du die Globaldatendefinition.

Grüße DG6FDJ
 

Anhänge

  • Gdk.zip
    218,3 KB · Aufrufe: 10
Zuletzt bearbeitet:
Hi,

irgendwie klappt das bei mir nicht.
Hab mal Dein Projekt genommen und da für die beiden CPUs ein kleines Programm in den OB1 geschrieben.

L MB 40
T AB 40
L EB 40
T MB 41

Beiden PLC-CPUs nacheinander über MPI geladen, aber es funktionioert nichts, wieder keine Übertragung. Die Programme arbeiten für sich wie sie sollen, aber auf der anderen Seite rührt sich nichts.

Gruß Jan
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Jan,
habe noch mal im Netz nachgeforscht, die Kommunikation über MPI lässt sich anscheinend nicht simulieren. Habe es auch noch mal ohne Erfolg probiert. Bei realen Steuerungen läuft es. Habe dies schon mehrfach in Anlagen im Einsatz. Wobei ich dort nicht die Ein-/Ausgänge direkt anspreche, sondern über Merker oder DB´s gehe.
Allerdings hat die Globale Kommunikation nur wenige Bytes, die Übertragen werden können (wenn ich mich nicht Irre sind es insgesamt 22 Byte).
Wenn also größere Datenmengen ausgetauscht werden sollen, dann muss die Kommunikation über NetPro eingerichtet werden (mit den get/put oder send/receive Bausteinen).
Leider finde ich mein Versuchsprojekt mit simulierter Kommunikation über TCP/IP nicht mehr.

Grüße DG6FDJ
 
Hi,

in diesem Beitrag ist das ja angeblich beschrieben.

http://support.automation.siemens.com/WW/llisapi.dll/38726591?func=ll&objId=38726592&objAction=csView&nodeid0=10805405〈=de&siteid=cseus&aktprim=0&extranet=standard&viewreg=WW&load=treecontent

Ich kann das Musterprojekt aber leider nicht öffnen.

Ich hab mir schon einiges durchgelesen zu der Übertragung mit get und send und so, aber je mehr ich lese desto mehr verwirrt es mich.

Ich hab da irgendwie gelesen das einige CPUs mit dem oder dem SFC bzw SFB nicht funktionieren. Bei 300er und 400er CPUs gibts da auch Unterschiede und dann war da noch was mit Master und Slave.

Kann ich in meiner Konstellation(Master 314C-2DP, Slaves auch 314C-2DP) mit SFB14 und 15 arbeiten? Die Simulation soll ja laut Siemens damit funktionieren.

Ich will so ca. 10 MerkerBytes von jedem Slave lesen und jedem Slave 5 MerkerBytes schicken können.

Ich hab mich gestern schon mal mit dem SFB14 beschäftigt aber bei der Adressierung steig ich noch nicht ganz durch und bevor ich mich jetzt da reinstürze würd ich gern wissen ob das überhaupt damit geht.
Ein Musterprojekt wäre natürlich ideal, aber das kriegt ich ja nicht geöffnet.

Ich hoffe mich kann hier jemand in die richtigen Richtung schubsen.

Gruß Jan
 
Zurück
Oben