# datenkonsistenz mit TIA (z.B mit Bibliothek: Aglink, Libnodave, Snap7, OPC-Server).



## kosbor57 (17 Juli 2020)

Hallo,
Ich habe einige Fragen zu einem Delphi-Client-Server-Projekt auf dem TIA 1516F 3PN:

1) Ich könnte lesen, dass man mit diesen Bibliotheken Daten auf einem TIA (1500) wie auf einer S7 (300 oder 400) lesen könnte, aber es müsste mit nicht optimierten DBs gemacht werden und autorisiert das PUT / GET in der Hardwre-Konfiguration.
Halten Sie dies für machbar, wenn ja, ist es so zuverlässig wie bei einer S7-300 S7-400?

2) Ein OPC-Server würde laut meinem Kollegen für die Konsistenz der Daten sorgen (zum Beispiel beim Lesen zum Zeitpunkt z, zum Beispiel für Real). Ich stelle mir vor, wie die Leute, die OPC-Server entwickeln, OPC-SDKs verwenden und eine dieser Bibliotheken ?!

3) Ich habe eine Lizenz für AGlink (aber nicht für TIA). Wäre der Vorteil einer AGlink TIA-kompatiblen Bibliothek oder eines TIA-kompatiblen OPC-Servers (nur zum Einlesen optimierter DBs nützlich?!)?

4) Ich denke, ich sollte 4KB (auf ein UDT x ,der DB macht 300k, gefüllt array of UDT x 4KB ) , und  aus einer Anwendung in Delphi lesen. Was raten Sie mir zu lesen, OPC-Server würden ausreichen oder vielleicht Privilegienbibliotheken? und unoptimiert oder optimiert DBs?

Vienlen danke in Voraus
Lg
Nico




ps:
Zur Information liest die Anwendung diese UDT-Verfolgung nach Ereignis und zyklisch (zum Beispiel, wenn die Maschine die Teile überträgt).
Das Prinzip dieser Anwendung besteht darin, eine Wiederherstellungs- / Sicherungs-UDT durchzuführen (z. B. bei CPU-Defekt). Die Daten werden in Form von <Binärdaten> bsw in eine DB MSSQL gestellt. varbinary (max).


----------



## Rainer Hönle (17 Juli 2020)

4k Daten können mit PUT/GET definitiv nicht konsistent gelesen werden. Und 300K gehen definitiv nicht in einen absoluten DB.
Mit der symbolischen Kommunikation kann ein 4K-Block theoretisch am Stück gelesen werden, das hängt aber davon ab, wie der Block aufgebaut ist. Ob dann bei einem "Lesen in einem Rutsch" die Daten konsistent sind, kann ich noch nicht sagen.
Wir können gerne einmal über die konkreten Anforderungen und Lösungsmöglichkeiten reden.


----------



## Thomas_v2.1 (17 Juli 2020)

Rainer Hönle schrieb:


> Ob dann bei einem "Lesen in einem Rutsch" die Daten konsistent sind, kann ich noch nicht sagen.



Geht garantiert nicht konsistent zu lesen wenn das Programm nicht entsprechend angepasst wird. Es lassen sich nicht einmal einzelne Strings konsistent lesen. Wenn das Programm z.B. einen String ändert, dann kann es sein, dass im String der gelesen wird ein Teil vom alten und ein Teil vom neuen vorhanden ist. Das habe ich mit WinCC schon einmal ausgetestet.


----------



## kosbor57 (17 Juli 2020)

Rainer Hönle schrieb:


> 4k Daten können mit PUT/GET definitiv nicht konsistent gelesen werden. Und 300K gehen definitiv nicht in einen absoluten DB.
> Mit der symbolischen Kommunikation kann ein 4K-Block theoretisch am Stück gelesen werden, das hängt aber davon ab, wie der Block aufgebaut ist. Ob dann bei einem "Lesen in einem Rutsch" die Daten konsistent sind, kann ich noch nicht sagen.
> Wir können gerne einmal über die konkreten Anforderungen und Lösungsmöglichkeiten reden.



Ja, wir könnten darüber diskutieren. Ich habe gerade die Demo-TIA-Version heruntergeladen. Ich habe auch gesehen, dass es tiaexpert.exe gibt. Ich werde das alles versuchen. Ich kenne die Bibliothek bereits in S7-400.
Ich probiere nächste Woche den Demo-Modus aus und komme auf dich zurück, danke.


----------



## kosbor57 (17 Juli 2020)

Thomas_v2.1 schrieb:


> Geht garantiert nicht konsistent zu lesen wenn das Programm nicht entsprechend angepasst wird. Es lassen sich nicht einmal einzelne Strings konsistent lesen. Wenn das Programm z.B. einen String ändert, dann kann es sein, dass im String der gelesen wird ein Teil vom alten und ein Teil vom neuen vorhanden ist. Das habe ich mit WinCC schon einmal ausgetestet.



Danke für deine Bestätigung/Meinung, ja, ich glaube auch, ich werde einen "SPS-Puffer DB" für die Lesefunktion des Clients mit handshake Behandlung und für das Schreibfunktion wäre Problemlos .


----------



## Thomas_v2.1 (17 Juli 2020)

kosbor57 schrieb:


> Danke für deine Bestätigung/Meinung, ja, ich glaube auch, ich werde einen "SPS-Puffer DB" für die Lesefunktion des Clients mit handshake Behandlung und für das Schreibfunktion wäre Problemlos .



Das Verhalten war bei der S7-400 übrigens identisch. Nur lassen sich bei dieser wenigstens Datenbereiche mit UBLKMOV ununterbrechbar umkopieren. Da es diese Funktion bei der S7-1500 nicht mehr gibt, muss du wirklich mit umfangreichen eigenen Handshakes arbeiten wenn du sicher gehen willst, dass wirklich alles konsistent gelesen wird.


----------



## Rainer Hönle (18 Juli 2020)

Thomas_v2.1 schrieb:


> Geht garantiert nicht konsistent zu lesen wenn das Programm nicht entsprechend angepasst wird. Es lassen sich nicht einmal einzelne Strings konsistent lesen. Wenn das Programm z.B. einen String ändert, dann kann es sein, dass im String der gelesen wird ein Teil vom alten und ein Teil vom neuen vorhanden ist. Das habe ich mit WinCC schon einmal ausgetestet.



War das bei einer 1500er oder 1200er?


----------



## Ralle (18 Juli 2020)

Da wäre mal die Frage, wie kann man überhaupt Daten konsistent lesen und wieviele auf einmal.


----------



## Thomas_v2.1 (18 Juli 2020)

Rainer Hönle schrieb:


> War das bei einer 1500er oder 1200er?



Test war mit einer älteren 1200er:
https://www.sps-forum.de/hmi/75491-s7-datenkonsistenz-bei-hmi-kommunikation-5.html#post655860

Den Test sollte man noch mal mit aktuellen Firmwaren und einer 1500er wiederholen, ob es da mittlerweile einen Unterschied gibt.


----------

