TIA Daten mit einer S7-1500 in einer S7-1200 lesen/schreiben, Variablen direkt angreifen?

ChristianVogel

Level-2
Beiträge
401
Reaktionspunkte
53
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe anscheinend wieder nicht die richtigen Suchbegriffe für die Suchfunktion :confused:

Folgendes: An einer Maschine läuft die Software auf einer S7-1200 Steuerung. Am selben ProfiNet-Netz hängt auch eine S7-1500-Steuerung, die an ein übergeordnetes Netz Daten senden soll (Nicht meine Baustelle)...

Wie kann ich denn aus Sicht der S7-1500, aus der kleinen Steuerung S7-1200 aus einem DB-Daten lesen und auch schreiben??? Bisher hätte ich das über Profibus mit Master/Slave realisiert und dann über die SFC14/15 die Daten hin-und-her-geschoben. Das geht doch bestimmt im TIA-Portal, deutlich einfacher, oder?

Ich habe mir bereits mal die Online-Hilfe für GET und PUT durchgelesen, scheint dann aber doch recht komplex zu werden, zumindest für mich.

In der S7-1200 ist ein DB100, der sieht so aus:

Sachnummer Real
Aenderungsindex Real
Lieferantennummer Real
Daten_Senden Bool
Kommunikation_IO Bool

wie bekomme ich diese Variablen in der S7-1500 gelesen/geschrieben/übertragen? Da alle Teilnehmer im selben Netz hängen und im selben TIA-Projekt liegen, kann ich diese Variablen da nicht direkt angreifen???

MfG
Ch. Vogel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
vielen Dank, ging ja schnell!

Ist aber eben auch recht umfangreich sich da jetzt einzulesen :oops: Hatte mir das deutlich einfacher vorgestellt. Ich hatte die Hoffnung direkt aus einer CPU auf den DB der anderen zugreifen zu können, ggf. durch ansprechen der Variablen mit einem Präfix etc.

Also Quasi "CPU1.DB100.DBx0.0" ... :cool: bin eben ein fauler Mensch...
 
Sollte ich vielleicht noch erwähnen: Also die S7-1200 arbeitet autark und die ganze Maschine wird darüber gesteuert!!! Diese verwaltet auch die ganzen dezentralen Teilnehmer etc.

Die S7-1500 soll tatsächlich nur dazu dienen, Betriebsdaten abzugreifen und an einen ominösen Server im Irgendwo per TCP weiterzuleiten. ZUM GLÜCK nicht auch noch meine Baustelle. Aber ich sollte zumindest in einem DB der S7-1500 einen DB haben, indem ich die Daten der S7-1200 ablege. Was der Kunden dann damit macht ist mir ziemlich egal!
 
Ist aber eben auch recht umfangreich sich da jetzt einzulesen :oops: Hatte mir das deutlich einfacher vorgestellt.
Profinet-IO-Kommunikation mit i-Device ist sehr einfach zu projektieren. Das funktioniert fast genau wie die Projektierung von Profibus-DP Master/Slave. Es muß nur zusätzlich der Slave-CPU noch ein Profinet-Name zugewiesen werden.

Ich hatte die Hoffnung direkt aus einer CPU auf den DB der anderen zugreifen zu können
Das ist möglich (mit PUT/GET, hier ein Beispiel) - das ist aber nicht mehr zeitgemäß, und geht nicht mit "optimierten" DB). Weil man mit dieser PUT/GET-S7-Kommunikation wahlfrei im Speicher anderer CPUs herumschmieren kann ist diese Kommunikation standardmäßig verboten und muß bei Bedarf erst in den CPU-Eigenschaften freigeschaltet werden. Außerdem sieht man im Programm der Server-CPU nicht wirklich, daß da eine Datenaustausch-Schnittstelle ist, die nicht ohne Änderungen in der (manchmal unbekannten) Client-CPU verändert werden darf.

Was alles zwischen S7-1500 und S7-1200 geht siehe das "Kompendium" in der FAQ-Linkliste in meiner Signatur.

Harald
 
Das ist möglich (mit PUT/GET, hier ein Beispiel) - das ist aber nicht mehr zeitgemäß, und geht nicht mit "optimierten" DB). Weil man mit dieser PUT/GET-S7-Kommunikation wahlfrei im Speicher anderer CPUs herumschmieren kann ist diese Kommunikation standardmäßig verboten und muß bei Bedarf erst in den CPU-Eigenschaften freigeschaltet werden.d

Demnach ist also jeglicher HMI Zugriff auch nicht mehr zeitgemäß, denn dort kann auch jeder im Speicher "rumschmieren" ohne dass du im Programm siehst worauf da zugegriffen wird.
Bei Put/Get und 1200/1500 kannst du im übrigen nur noch auf "nicht opimierten" DBs "rumschmieren", auf optimierten DBs darf nur Siemens HMI "herumschmieren". Bei Put/Get ist das "herumschmieren" also schon sehr eingeschränkt.
 
Hey,

dein Stichwort lautet I-Device.
Hier der Link zur Projektierung:

https://support.industry.siemens.co...der-profinet-i-device-funktion?dti=0&lc=de-WW

Grüße


Hallo zusammen,

vielen Dank für die bisherigen Antworten. I-Device hört sich gut an, habe mich da ein wenig eingelesen... So wie ich das sehe brauche ich ja dann 2 TIA-Projekte, eines für meine 1200er und ein Projekt für die 1500er. Wenn ich das richtig verstehe, habe ich dann jeweils eine GSDML-Datei und binde diese in die jeweils andere Projektierung ein...

Habe ich das im groben soweit korrekt verstanden??? So in etwa geben da auch ein paar YouTube-Videos wieder... Oder geht das auch innerhalb eines TIA-Projektes?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du brauchst nicht 2 TIA-Projekte (da braucht man die GSDML-Datei zur Projektierungsweitergabe des IO-Device zum zweiten TIA-Projekt mit dem IO-Controller).
Innerhalb eines TIA-Projektes geht das viel einfacher - da entfällt der Schritt mit der GSDML-Datei. Eine Schritt-für-Schritt-Anleitung siehe in dem Link von Zersch die oberste PDF I-Device in einer Standard Umgebung (2,8 MB) Kapitel "3.1 S7-CPU als I-Device", da ist das erklärt, genauso wie in Deinem Projekt: eine S7-1500 als Profinet-IO-Controller und eine S7-1200 als Profinet-I-Device im selben TIA-Projekt.

Harald
 
Hallo PN/DP,

vielen Dnak, bin grade dran. Diese PDF ist ja auch Bestandteil dieser DEMO-Software die ich mir hier runterladen kann... Sieht nach jetzigem Stand nicht schlecht aus bei mir. :cool:
 
Na dann viel Erfolg

In der S7-1200 ist ein DB100, der sieht so aus:

Sachnummer Real
Aenderungsindex Real
Lieferantennummer Real
Daten_Senden Bool
Kommunikation_IO Bool

wie bekomme ich diese Variablen in der S7-1500 gelesen/geschrieben/übertragen?
In der S7-1200 kopierst Du die DB100-Variablen in die A-Adressen des projektierten Transferbereichs und in der S7-1500 kannst Du die aus den zugehörigen E-Adressen herauskopieren. Das war es schon. Um Verbindungsaufbau und senden/empfangen kümmern sich die CPU alleine.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
N'Abend Harald,

aaalso: Dafür, dass ich mich anfangs recht dämlich angestellt habe, bin ich hier recht zufrieden mit mir
:p Das war zwar ein wenig fummelig weil ich auf diese Art der Kommunikation nicht eingestellt war, so habe ich mir erst die Daten in einen FC zusammengeholt (Nur der Übersicht halber) aber so läuft im Moment alles!

Ich bin mir sicher das wäre deutlich einfacher gegangen als ich es gemacht hab, das Reinkopieren der einzelnen Variablen wäre mir so gar nicht in den Sinn gekommen... ich habe da jetzt einen Block definiert, habe eine Datenlänge von 128 Byte reingeknallt und in diesem EA-Bereich habe ich eben "klassisch" dann mit den Bytes und Doppelworten gewirtschaftet. Auf der Gegenseite eben genauso ausgelesen wie es auf der anderen Seite reingeschrieben wurde...

IDevice.png

Da bräuchte ich jetzt einfach noch Zeit und die Gelegenheit ein wenig zu spielen! Da bieten sich ja einige Möglichkeiten auf finanziell einiges zu sparen, grade mit PN-PN-Kopplern innerhalb kleiner Netze zumindest...

Auf jeden Fall allen Vielen Dank!

Gruß Christian
 
Zuletzt bearbeitet:
Zurück
Oben