TIA DB aus Software Unit raus und in nicht optimierten DB kopieren

RucksackSepp

Level-2
Beiträge
40
Reaktionspunkte
10
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus miteinander,

mir stößt es im Zusammenhang mit TIA gerade etwas auf. Vielleicht kämpft der ein oder andere von euch mit diesem Problem.
Grobes Ziel ist die Prozessdaten für Graphen und Aufzeichnungen auf einem externem PC sichern. Dieser greift auf einen nicht optimierten DB zu (PUT/GET), welcher von der SPS zyklisch gefüttert wird. Bisher hat das auf der S7-1200 wunderbar geklappt.

Situation S7-1500:
Die Software steckt innerhalb einer Software Unit, in dieser kann man keine nicht optimierten Bausteine erstellen. Der DB zum abholen der Daten (nicht optimiert) liegt deshalb außerhalb der Software Unit im "normalen" Programmbausteine-Ordner. Da kommt dann das nächste Problem zum Vorschein: Man kann zwar Relationen aus den verschlossenen Units erstellen, diese gehen aber entweder zu anderen Units, oder zu optimierten und nicht UDT beinhaltenden Bausteinen.
Von einem optimierten dann ich einen nicht optimierten zu kopieren habe ich auch schon probiert, aber da schreit die Syntax nein.

Kann mir da vielleicht jemand helfen, der Lösung ein Stück näherzukommen und vielleicht auch ohne große Umwege? Ich hoffen es stehen keine weiteren offenen Fragen aus...

TIA V20, aktuellstes Update
CPU 511-1AL03-0AB0
 
Moin RucksackSepp,

Von einem optimierten dann ich einen nicht optimierten zu kopieren habe ich auch schon probiert, aber da schreit die Syntax nein.

Du könntest mit Serialize/Deserialize arbeiten.

Wenn ich das richtig verstehe hast Du im Programmbausteinordner Datenbausteine, die nicht optimiert sind. Diese willst Du in einen optimierten DB kopieren, um per Relation diese Daten einer Software-Unit zur Verfügung zu stellen?

VG
MFreiberger
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Reicht es nicht alle Daten in einen Datentypen zu packen?
Dann kann doch MOVE von optimiert zu unoptimiert, oder habe ich das falsch in Erinnerung?

EDIT:
Gerade getestet, das funktioniert.
Und hat den Vorteil das Änderung nur an einer Stelle (DT) durchzuführen sind
 
Zuletzt bearbeitet:
Moin RucksackSepp,



Du könntest mit Serialize/Deserialize arbeiten.

Wenn ich das richtig verstehe hast Du im Programmbausteinordner Datenbausteine, die nicht optimiert sind. Diese willst Du in einen optimierten DB kopieren, um per Relation diese Daten einer Software-Unit zur Verfügung zu stellen?

VG
MFreiberger
Fast. Genau andersherum soll es passieren. Aus der Unit raus in einen nicht optimierten DB.
 
Reicht es nicht alle Daten in einen Datentypen zu packen?
Dann kann doch MOVE von optimiert zu unoptimiert, oder habe ich das falsch in Erinnerung?

EDIT:
Gerade getestet, das funktioniert.
Und hat den Vorteil das Änderung nur an einer Stelle (DT) durchzuführen sind
Soweit war ich auch schon. Nur funktioniert eine Relation nur mit DBs, welche optimiert sind und keine UDTs enthalten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Dann must du es im Standard Prog wohl nochmal manuell in den unoptimierten DB umkopieren...

Sorry, SoftwareUnits habe ich nach 3 Stunden aufgegeben. Sehe ich im Normalfall nur Probleme.
Wenn 2 komplett getrennte Anlagen in einer CPU sind, OK. Aber für alles andere wirkte das sehr sehr unflexibel.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Okay. schade. Ich werd meinen Siemens-Menschen des bezüglich nochmal fragen, vielleicht weiß er das ein oder andere noch, aber große Hoffnungen hab ich da auch nicht.


Bleibt mir wohl nichts andere übrig...
Falls du dafür eine Lösung gefunden hast, das würde mich auch interessieren.
 
Leider keine direkte Lösung!

Das Problem kam daher, dass wir über einen externen PC Daten für unsere Datenbank abgriffen. Das ging nur über den nicht optimierten und daher außerhalb einer Software Unit liegenden DB.
Das lösen wir inzwischen durch Modbus. Der kann auch auf einen optimierten DB zugreifen. somit benötige ich auch keinen DB mehr außerhalb einer Software Unit.

Tut mir leid...
 
Leider keine direkte Lösung!

Das Problem kam daher, dass wir über einen externen PC Daten für unsere Datenbank abgriffen. Das ging nur über den nicht optimierten und daher außerhalb einer Software Unit liegenden DB.
Das lösen wir inzwischen durch Modbus. Der kann auch auf einen optimierten DB zugreifen. somit benötige ich auch keinen DB mehr außerhalb einer Software Unit.

Tut mir leid...
Wir haben da eine vergleichbare Anwendung. Laut Aussage der Kollegen muss die Kommunikation sehr schnell sein, da die komplette Kommunikation in die Taktzeit unserer Maschinen mit einfließt. OPC UA war wohl zu langsam, weshalb sie Snap7 benutzen, was widerum nur nicht optimierte Bausteine kann.

Kannst du mir noch ein bisschen mehr über eure Modbus Lösung erzählen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Laut Aussage der Kollegen muss die Kommunikation sehr schnell sein, da die komplette Kommunikation in die Taktzeit unserer Maschinen mit einfließt.
Ich finde "sehr schnell" ist keine verwertbare Aussage. Das kann zwischen 0,5ms 10ms 20ms 50ms 1s 5s oder mehr alles sein
 
Zuletzt bearbeitet:
Da hast du vollkommen Recht. Leide habe ich diese Information nicht.
Dann gilt es das doch mal als erstes herauszufinden. Ansonsten erarbeitet ihr euch irgendeine Lösung und wenn es in der Zukunft mal Probleme gibt und dann die Aussage kommt "Bei der Planung dieser Lösung wusste ich nicht welche Abtastrate erforderlich ist" dann ist das ja schon sehr ungünstig.
 
Zurück
Oben