Vermeiden von Globaldaten

Zuviel Werbung?
-> Hier kostenlos registrieren
@Alle,

Meine Herren,
dieses Thema ist wieder ein Typisches Beispiel wie hier in diesem Forum diskutiert wird und es ehrt uns nicht.
Fakt ist dass, die Siemens Steuerungen durchaus über ein eingebautes und vom System unterstütztes Meldeverfahren, Variablenarchivierung und Beobachtungskonzept verfügen.
Zum Beispiel: Simatic Manager->Extras->CPU Meldungen oder HW-Konfig ->Systemfehler Melden.
Da wundert man sich welche Meldungen automatisch über ALARM-S generiert werden und von Zauberhand an einem Panel erscheinen können.
Dass es Keine Tools gibt gehört auch mehr zu den Legenden die sich hartnäckig halten.
Nutzt man CFC in Kombination mit WinCC werden alle Variablen, und jetzt kommt es, aus den IDB´s angelegt. Der Begriff nennt sich AS-OS Engineering und kommt von PCS7, ist jedoch im Standard auch vorhanden.
Hierfür müssen jedoch die IN/OUT Variablen der FB’s über entsprechende Attribute gekennzeichnet werden. (FB Öffnen, Rechte Maustaste auf einen IN oder OUT Parameter, Objekteigenschaften-> Reiter Attribute; dies geht selbst mit Know-How geschützten FB´s dritter)
Das Thema ist nicht trivial aber lohnend und kann mit etwas Arbeit aus den Hilfetexten entnommen werden.
Gruß
Johannes

Vielen Dank für diesen Hinweis. An CFC habe ich auch schon gedacht aber wir nutzen kein PCS7.
Ich weiß zwar das ich CFC auch ohne PCS7 nutzen kann. Aber nicht in welchen Umfang und ob ich dann auch alle Vorteile nutzen kann.
 
@Ralle:
hier mal ein Beispiel, was ich so meinte.
Das hat mit Zertreuung und Hin- und Herkopieren von Daten ziemlich wenig zu tun.
Der dargestellte FB201 kapselt komplett alles, was mit dem Zuführ-Handling zu tun hat. Bei diesem Beispiel ist allerdings die Schnittstelle auch noch relativ schlank. Es gibt schon auch Aggregate, die mehr an E/A's haben.
Die Schnittstelle ist deshalb noch nicht ausgefüllt, da der baustein aus einem in Entstehen begriffenen Programm stammt.

Anhang anzeigen 18224Anhang anzeigen 18225

@Johku:
Ich würde sagen, dass die bislang Wenigsten geführten Diskussionen uns und das Forum entehren - Sorry ... und diese m.E. schon mal gar nicht ...

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Larry

Wohin gehen deine Fehlermeldungen?
Wenn SK_Main noch Schritte dazubekommen muß, verschiebt sich die SK_Handling. Wenn du nun das HMI daraufgesetzt hast, paßt das u.U. nicht mehr. Noch schlimmer, wenn ein IN dazukommt, dann verschiebt sich alles, auch der Stat-Bereich. Ohne Zugriffe von außen passiert ja nichts, genau dafür nutze ich einen FB ja auch. Wie löst du das?
 
Wo ist denn das Problem wenn sich alles Verschiebt. Da kommt dann wieder die symbolische Programmierung ins Spiel. Da wird alles automatisch nachgezogen - vorausgesetzt die Visu bindet die Varaiblen symbolisch an. Und genau das ist der Grund warum ich mit gegen absolute Zugriffe - auch in Ausnahmefällen - bis aufs Äusserste wehre.
Wenn es nach mir ginge hätte TIA keine Merker und keine Datenbausteine mehr. Es gäbe nur Variablen - global und lokal - mit Symbol, Datentyp und Kommentar.
 
Hallo Ralle,
die Fehlermeldungen gehen als Bit-Meldungen zur Zeit noch nach WinCCFlexibel.
Wenn ich in der SK_Main (oder anderen Schrittketten) noch Schritte dazu bekomme (was allerdings nur sehr selten passiert) dann verschiebt sich alles - klar. Genauso eine Erweiterung bei IN, OUT oder STAT. Das ist innerhalb des FB aber erstmal nicht von Relevanz, da ich ja von außen davon nichts benutze (außer über die Schnittstelle).
Die Visu zieht i.d.R. schon beim Aufrufen die Verbindungen glatt. Es muss aber dann neu übertragen (und generiert) werden - das ist nun mal so. Das wäre aber auf bei einer Änderung eines Global-DB ein Thema. Somit werte ich das nicht. Nachteile ergeben sich aus meiner Sicht (und das mache ich nicht erst seit Gestern so) nicht.

Bei dem gezeigten Beispiel ist das noch harmlos. Es gibt auch noch Stationen, die Parameter und Messwerte haben. Auch das sind vom Grundsatz her Visu-Variablen.

Das Schöne (für mich) bei diesem Konstrukt ist, das wir (3 Programmierer und 2 Elektriker) es verstehen und leben können - bei völlig unterschiedlichem "Skill".

Gruß
Larry

Nachsatz:
Ich lese gerade den Beitrag von Aventinus. das stimmt natürlich. Alle meine Variablen im FB werden natürlich nur sysmbolisch verwendet und auch die Anbindung der Visu erfolgt so - klar !!!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nachsatz:
Ich lese gerade den Beitrag von Aventinus. das stimmt natürlich. Alle meine Variablen im FB werden natürlich nur sysmbolisch verwendet und auch die Anbindung der Visu erfolgt so - klar !!!

Das sehen leider viele nicht so konsequent wie ich mir das wünschen würde.... hatte da auch schon ab und an böse Erfahrungen machen dürfen
 
Wie gesagt mache ich es genauso wie LL und verstehe das ganze Geschrei nicht,
>Das Programm ist nicht mehr zu warten<, das ist einfach Hysterie. In diesen Thread
ist noch kein aber absolut kein Argument geliefert, was dagegen sprechen würde.

Mann muß halt mit einer andere Vorgehensweise an die Steuerung herangehen.
Die Art der Kappelung, von der hier immer geredet wird trifft doch garnicht auf diese
Beispiele zu und ist doch eher für Biblotheksbausteine gedacht, die zigmal in ihrer Art
im gleichen Programm verwendet werden, nicht für den FB der Individuell, für eine Funktion
erstellt wird.

Ich bin eher der Ansicht dieses Hin und Herschaufeln von HMI Daten von Global in die
Instanz, macht das ganze noch eher unübersichtlicher. Wenn in der Instanz steht das die
Daten der HMI gehören und auch nur von da gefüttert werden, was im Teufels Namen ist
den da nicht zu begreifen?

Wie LL schon beschrieben hat, wenn ein Global DB mit seinen Reserven mal an sein Grenzen
gekommen ist und erweitert wird, muß die HMI sowieso neu übertragen werden. Wenn die
Relervanten Maschinendaten, sinnvoller Weise, wie es sich eigentlich gehören tut, zusätzlich durch
eine Rezeptur gesichert werden, so macht es auch keine Probleme, den ganzen Bausteinordner
mal eben anzuklicken und in 3-10 sec. Arbeitsaufwand als ganzes rüber zu schubsen. Und danach
über die Rezeptur Verwaltung die Einstellwerte die Daten wieder herzustellen.
 
Du meinst vermutlich die Funktion das Datenbausteine nur noch Symbolisch Adressierbar sind ?
Das wäre eine feine Sache und würde auch gleichzeitig bedeuten das Siemens die Möglichkeiten seines Systems ausbaut.
Davon gehe ich aus. Entweder wird zu jedem Symbol ein feststehender Zeiger für die Visu und die Variable dann an einem festen Platz in der SPS gelegt und belassen, wobei hoffendlich im SPS-Zielspeicherbereich dann auch der Datentyp für die Visu vermerkt steht, oder die Visu sucht in der SPS das etsprechende Symbol mit dem dort stehenden Zeiger. mal schaun, wies wird, aber irgendeinen vernünftigen Sinn muss ja diese bereits bei der 1200er mögliche "optimierte Datenablage" haben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Deine Äußerungen zeugen aber zumindest von einer gewissen Arroganz anderen Kollegen oder Firmen gegenüber.
@Ralle: also sowas muss doch nun wirklich nicht sein?

Ich kann das Ziel, das der TE verfolgt durchaus verstehen, bei mir hat sich diese Vorgehensweise bewährt. Wenngleich mir das Werkzeug dazu (S7 V5.5) noch nicht alle Möglichkeiten zur Verfügung stellt. Wenn ich es zum tausendsten mal hier wiederholen muss: bei mir ist der FC gestorben, Global-DB auch. Das sind Relikte aus S5-Zeiten. Wer dran festhält, hält an S5 fest. Da wird natürlich der Übergang zu V11 immer schwierig sein, für den, für den das morgen heute ein Übermorgen ist, weil er im gestern stehen geblieben ist.
 
Fakt ist dass, die Siemens Steuerungen durchaus über ein eingebautes und vom System unterstütztes Meldeverfahren, Variablenarchivierung und Beobachtungskonzept verfügen.
Himmel, das suche ich schon geraume Zeit händeringend, ich bin leider beim Bitmeldeverfahren hängen geblieben und hatte nie Zeit, mich mit dieser Sache zu befassen.


PS:
@LL, RN und Aventinus: 100% Zustimmung
 
Zuletzt bearbeitet:
Ich bin eher der Ansicht dieses Hin und Herschaufeln von HMI Daten von Global in die
Instanz, macht das ganze noch eher unübersichtlicher. Wenn in der Instanz steht das die
Daten der HMI gehören und auch nur von da gefüttert werden, was im Teufels Namen ist
den da nicht zu begreifen?

Mein Reden. Wenn in einem STAT Bereich zwei Strukturen existieren die VISU_IN und VISU_OUT heißen ist das meiner Meinung nach wie ein Querverweis bzw. genauso Aussagekräftig.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok, ich gebe es dann mal auf. LL und ich, wir reden offensichtlich aneinander vorbei und ich hab einfach keinen Bock mehr, immer wieder das Selbe durchzukauen. Es geht nicht um die Verteufelung von IDB, es geht einfach um einen vernünftigen Umgang damit. Ich wollte es noch einmal versuchen, aber ich habs nun einfach satt und das dusselige "political korrektness" Geschwafel von Perfektionist, das man in jedem zweiten Beitrag um die Ohren gewischt bekommt, geht mir so langsam tierisch auf den S... . Mir ist es eh wurscht, ich schmeiß gern mal die Software von megacleveren OOP's weg und schreib dafür ein Stück alten, primitiven, völlig uncoolen Code. Auch davon lebe ich nun mal.

Noch ein letzter Rat an miasma, "FB möglichst tief verschachteln, dann hat man nur einen einzigen IDB in der gesamten SPS. Auf diesen einen IDB, kann dann die HMI zugreifen lassen. Bei einer Änderung zieht die HMI automatisch nach (oder auch nicht). Und wer mal was sucht, der braucht ja nur in den einen IDB zu schauen.
 
... und das dusselige "political korrektness" Geschwafel von Perfektionist, das man in jedem zweiten Beitrag um die Ohren gewischt bekommt, geht mir so langsam tierisch auf den S...
sorry, aber wenn jemand etwas anders macht (oder nur anders ist) meine ich, dies hinterfragen zu können (müssen?). Ihn dann statt in der Sache mit einem ad personam anzugehen ("du bist arrogant") halte ich nicht für zielführend.

Noch ein letzter Rat an miasma, "FB möglichst tief verschachteln, dann hat man nur einen einzigen IDB in der gesamten SPS. Auf diesen einen IDB, kann dann die HMI zugreifen lassen. Bei einer Änderung zieht die HMI automatisch nach (oder auch nicht). Und wer mal was sucht, der braucht ja nur in den einen IDB zu schauen.
ich verstehe das nun als Ironie. Nur kann ich ihr leider nicht ganz folgen, da ich diesen Weg (zwar nicht konsequent und intensivstdogmatisch) folge. Leider kann mich Classic bei diesem Weg nur unzureichend unterstützen.

PS: @Ralle
auf der anderen Seite bin ich durchaus Deiner Meinung, dass so mancher OOP-Progammierer im Bereich Automatisierung über sein Ziel hinausschießt.
 
Zuletzt bearbeitet:
Im Endeffekt bin ich nur auf der suche nach einer Lösung die mir meine Arbeit erleichtert. Ich bin mir ziemlich sicher das mein Lösungsansatz für meine Probleme optimal ist aber auch gleichzeitig bewusst das meine Lösung in vielen Bereichen nicht funktioniert.

Im Endeffekt habe ich ja das erfahren was ich wollte, es gibt Leute die ~genau so arbeiten und das anscheinend schon über einen längeren Zeitraum und damit sehr zufrieden sind.
Alle die anders,klassisch oder wie auch immer programmieren haben sicher auch für ihre Aufgaben die optimale Lösung gefunden und machen damit bestimmt auch einen sehr guten Job.

Das es zwei Meinungen zu dem Thema gibt war mir ja auch klar, aber nicht das es spaltet. Trotzdem Danke an alle.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank für diesen Hinweis. An CFC habe ich auch schon gedacht aber wir nutzen kein PCS7.
Ich weiß zwar das ich CFC auch ohne PCS7 nutzen kann. Aber nicht in welchen Umfang und ob ich dann auch alle Vorteile nutzen kann.

CFC kann man auch ohne PCS7 nutzen. Ich nutze mittlerweile nur noch CFC. Im standard S7 ist sehr viel von der PCS7 Grundfunktionalität vorhanden und man kann sich ein sehr gutes "PCS 6,5" (nicht ganz PCS7) zusammenstellen.

Gruß
Johannes
 
Als Nachtrag.

Bei der Umsetzung meines Vorhabens bin ich auf folgende Unterlagen von Siemens gestoßen

http://support.automation.siemens.c...lib.csinfo&lang=de&objid=36435784&caller=view

Eine direkte Verbindung zwischen S7 und VISU wird auch von Siemens praktiziert, wobei die Visu direkt in einen eigenen Bereich in die Instanz schreibt.
Die Handbücher und vor allem die Codebeispiele zeigen genau wie dies funktioniert.
 
Zurück
Oben