Der Datenmanagement Thread: Wie sammelt ihr die Datensätze

jok3r

Level-2
Beiträge
354
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus,
mich würde mal interessieren welche Programmierstrategien ihr so verfolgt wenn es ums Datenmanagement geht.:ROFLMAO:
Genauer würde es mich bei WT-Systemen und Roboter mit/oder Greiferübergabestationen interessieren.


  • Wo sammelt ihr die Daten SPS oder Datenbank ?
  • PC als Leitrechner ja oder nein?
  • Wenn OPC: Wie geht ihr mit der Kommunikation um? Ein Handshake Prozessanfrage bis zur Freigabe kann schnell mal 1s dauern.

:cool: Gruß
 
Servus,
mich würde mal interessieren welche Programmierstrategien ihr so verfolgt wenn es ums Datenmanagement geht.:ROFLMAO:
Genauer würde es mich bei WT-Systemen und Roboter mit/oder Greiferübergabestationen interessieren.
  • Wo sammelt ihr die Daten SPS oder Datenbank ?
  • PC als Leitrechner ja oder nein?
  • Wenn OPC: Wie geht ihr mit der Kommunikation um? Ein Handshake Prozessanfrage bis zur Freigabe kann schnell mal 1s dauern.

Da gibts keine pauschale Antworten würd ich mal sagen.

Die 1s bei OPC dürfte aber nicht am OPC-Server liegen, sondern an der restlichen PC-Applikation.
Bei unserem MES sind die OPC-Server auf 50ms Zyklus eingestellt.
Einen "normalen" Datensatz bekomme ich inklusive Handshake in 300ms.
Es wäre noch einiges an Optimierung möglich, aber uns reichen die Antwortzeiten.

Gruß
Dieter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Da gibts keine pauschale Antworten würd ich mal sagen.

Die gibts sicherlich nicht aber evtl. aber interessante Ansätze...

Die 1s bei OPC dürfte aber nicht am OPC-Server liegen, sondern an der restlichen PC-Applikation.
Bei unserem MES sind die OPC-Server auf 50ms Zyklus eingestellt.
Einen "normalen" Datensatz bekomme ich inklusive Handshake in 300ms.
Es wäre noch einiges an Optimierung möglich, aber uns reichen die Antwortzeiten.

Welche API benutzt ihr, die von Siemens?
Die 50ms sind jetzt echt eine Ansage, jetzt bin ich gerade ein wenig unsicher wieso es bei uns gerade so hoch ist.:confused: Wir haben nämlich heut die 1500 Steuerung als Sündenbock an die Wand gestellt, scheinbar aber zu unrecht :p.

Gruß
 
Welche API benutzt ihr, die von Siemens?
Die 50ms sind jetzt echt eine Ansage, jetzt bin ich gerade ein wenig unsicher wieso es bei uns gerade so hoch ist.:confused: Wir haben nämlich heut die 1500 Steuerung als Sündenbock an die Wand gestellt, scheinbar aber zu unrecht :p.

Die 1500 ist schnell. Aber du musst aufpassen wegen des fehlenden Zykluskontrollpunktes und der Thematik Call-by-reference.
Im Forum findest du einiges unter diesen Stichworten.
OPC-Server ist von Softing.

Gruß
Blockmove
 
Also 50 ms also Abfrage-Intervall sehe ich, unabhängig von der verwendeten Steuerung, schon als sehr sportlich an. Ich glaube nicht, dass das durchgängig wirklich so ist ...
Funktionieren würde es aber möglicherweise bei einer Abfrage von nur wenigen Variablen (und die dann noch als Block - also nicht von verschiedenen DB's) und einer absolut super-sauberen Topologie des Produktions-Netzwerks ... Aber das auch nur so am Rande ...

Gruß
Larry
 
Die 1500 ist schnell. Aber du musst aufpassen wegen des fehlenden Zykluskontrollpunktes und der Thematik Call-by-reference.
Im Forum findest du einiges unter diesen Stichworten.
OPC-Server ist von Softing.

Gruß
Blockmove

Ich verstehe gerade nur Bahnhof^^.
Was ist denn ein "Zykluskontrollpunkt", vor allem in Verbindung mit "Call-by-reference"(ich weiß was der Ausdruck bedeutet)?

Wir hatten früher auch dem OPC von Softing im Haus, sind aber jetzt komplett auf Siemens umgestiegen. Unsere Spezialisten war damit nicht zufrieden;)

Die Variablen liegen bei uns im gleichen IDB, sogar untereinander.
 
Zykluskontrollpunkt ist ein Zeitpunkt, wo kontrolliert einmal im Zyklus externe Daten mit dem Anwenderprogramm ausgetauscht werden und sich dann für den Rest des Zyklus nicht mehr ändern - wo also ein konsistentes Prozessabbild der Daten erzeugt wird, wie z.B. Prozessabbild der Eingänge einlesen und Ausgänge schreiben. Dieser Zykluskontrollpunkt liegt außerhalb des Anwenderprogramms, wenn das Anwenderprogramm "freiwillig"/kontrolliert von sich aus die Programmbearbeitung an das Betriebssystem abgegeben hat. Der Zykluskontrollpunkt unterbricht nicht das Anwenderprogramm.

Für Datenkonsistenz ist es wünschenswert, wenn auch externe Kommunikationsdaten nur in einem kontrollierten Zykluskontrollpunkt mit dem Anwenderprogramm ausgetauscht werden (empfangene HMI-Daten und sonstige Kommunikationsdaten in Variablen schreiben und Ausgabedaten an HMI und Kommunikationspartner übernehmen). Bei S7-400 und S7-1200 und S7-1500 wird aber für den Austausch der Kommunikationsdaten das Anwenderprogramm (OB1) irgendwann (auch mehrmals) unkooperativ und unabwendbar unterbrochen - auch dann während das Anwenderprogramm gerade die Daten bearbeitet - deshalb können Datenänderungen verloren gehen! Siemens schreibt, daß dadurch mehr Daten schneller kommuniziert werden können. Bei S7-300 unterbricht die Kommunikation nicht das Anwenderprogramm - die betroffenen Variablen ändern sich nicht im Zyklus. Bei neueren S7-300 kann man das Unterbrechen des Anwenderprogramms aktivieren - das nennt sich dann in Siemens-positiv-Sprech "priorisierte BuB-Kommunikation" (Bedienen und Beobachten = HMI-Kommunikation).

Ein großes Problem ist, daß nun vermehrt S7-300-Programme (mehr oder weniger "easy") zu S7-1500 konvertiert werden ohne diese Problematik ausreichend zu beachten. Es kommt dann wie es kommen muß: sporadisch haben Bedienhandlungen keinen Effekt, Anzeigen auf HMI flackern oder zeigen kurzeitig oder lange falsche Werte an, es werden falsche Werte in externe Archive geschrieben, unzulässige Werte von der HMI können trotz Prüfung im Anwenderprogramm verarbeitet werden, ...

Hier gibt RONIN einen guten Einstiegspunkt in die Problematik und bisherige Diskussionen hier im Forum: https://www.sps-forum.de/simatic/82...-s7-1500-a.html?highlight=Zykluskontrollpunkt

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Erst mal vielen Dank, denn dazu kann ich was erzählen wir haben eine Camera Software in Betrieb die via S7 Kommunikation auf einen DB zugreift. Die Daten wurden aus Performance-gründen via "Call by ref" adressiert.
Wir haben immer wieder einzelne Bits verloren, die Abhilfe war dann die In/Outs zu beseitigen....
Das ist dann wohl die Erklärung dazu.:cool:
 
Zurück
Oben