Beckhoff Ads und Aufbereitung der Daten in der SPS

Begonnen von hafwil, 05. August 2008, 19:55:26

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

hafwil

Hallo!

Ich hoffe das Thema passt hier irgendwie rein. Ich komme aus der Anwendungsentwicklung und muss mit Ads von einem bestehenden Programm verschiedene Daten auslesen. Mir kommt die Programmierung der SPS irgendwie nicht so effektiv vor, deshalb möchte ich euch fragen wie ihr hier das SPS Programm designen würdet?
Im SPS Programm gibt es ca. 50 Funktionsbausteine mit jeweils einer Daten-, Parameter- und Alarmstruktur. Diese Strukturen schauen je nach Funktionsbaustein ziemlich unterschiedlich aus. Aus meinem Anwenderprogramm mache ich jetzt folgendes:
Ich greife auf jeden Funktionsbaustein mittels Namen auf die Daten, Parameter und Alarme zu. Die Daten und Parameter werden zyklisch mit ca. 10sek abgefragt, bei den Alarmen reagier ich auf Notifications.
Wenn ich jetzt ein "Update" mache, dann les ich mir zuerst die Daten von FB1, dann die Parameter, dann dasselbe für FB2 usw.
Also die 50 FB sind auf jeden Fall berechtigt, aber für die Organisation der Daten muss es eine bessere Lösung geben. Deshalb wollte ich fragen wie ihr so was macht?
Ist es besser für jede Daten-, Alarm- und Parameterstruktur ein globales Array anzulegen, aus dem FB in dieses schreiben und dann alle 10sek diese Arrays auszulesen.
Das Problem ist, dass ich für die 50 FB ca. 3sek zum Lesen benötige. Es ist also noch Paltz, aber was machen wenn noch FBs hinzukommen, und die Updatezeit ca. 5sek sein soll, dann wäre ich bereits am Limit.
Es muss hier doch eine einfache Lösung geben. Wenn ich z.B. in der Gebäudeautomation unzählige Temperaturen, Sollwerte, Schalter usw. habe, dann müssen die Daten auch in der SPS irgendwie vernünftig aufbereitet werden oder? Wie geht man hier vor?
Wie wird denn bei einem ModbusTCP Server z.B. das Mapping in der SPS gemacht? Hier kann man dann ja einfach sagen, dass man 250 Register auf einmal lesen möchte und dem Programm muss man dann irgendwo mitteilen, dass Register1 z.B. die Daten von FB1 sind, Reg2 die Parameter usw. oder lig ich hier falsch? Wenn nicht dann müsste das mit Ads doch auch gehen?

Vielleicht kann mir jemand von Euch weiterhelfen?

Vielen Dank,
Willi