DB mit AUF öffnen braucht mann das heute noch?

Zuviel Werbung?
-> Hier kostenlos registrieren
Also mir würde es schon reichen wenn BigS einem die Möglichkeit "OutOfTheBox" geben würde Aktualdaten von DB und I_DBs als Startwerte ins offline Programm zu sichern.

Also IDB interessieren nicht, da es ja vom FB verändert werden.
Und Globaldaten, die wichtig sind, werden bei mir über eine Initialisierungsfunktion beim Hochlauf der richtigen Stelle zur Verfügung zu stellen.

Resümee:
Also BigS ist, wie inzwischen bemerkt, gar nicht so schlimm.


bike
 
Also IDB interessieren nicht, da es ja vom FB verändert werden.
Und Globaldaten, die wichtig sind, werden bei mir über eine Initialisierungsfunktion beim Hochlauf der richtigen Stelle zur Verfügung zu stellen.

Resümee:
Also BigS ist, wie inzwischen bemerkt, gar nicht so schlimm.

Aktualdaten können sich während der Laufzeit auch ändern. Da will ich sie ungern durch ein reinit wieder reinitialisieren.
Da könnt ich ja gleich mit Konstanten arbeiten.

Nur damit das nicht falsch rüberkommt. ich bin mit Siemens durchaus zufrieden. Nur kann man auch bei denen durchaus noch Dinge verbessern. Und andere Dinge vereinfachen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@vollmi
wie bike bereits bemerkte, reicht das bei FB nicht aus, da ja ein FB mit mehreren Instanzen aufgerufen werden kann.
Weiterhin ergibt sich das Problem, dass ein DB die Werte beibehalten sollte, die zum Zeitpunkt der Übertragung im alten DB standen. Wenn also ein geänderter DB übertragen wird, müsste das Laufzeitsystem die vorhandenen Variablenwerte des alten DB noch auf den frisch übertragenen rüberschreiben.

Edit: wegen Zeitablauf inzwischen hinfälliger Beitrag ...
 
Ein kleines Beispiel aus meiner Praxis.
Vor ca. drei Jahren habe ich eine größere Kühlwasseranlage programmiert (12MW Maschinenleistung + Freie Kühlung). Unser Auftraggeber "S" hat uns erst in letzter Minute beauftragt. Am ersten Tag auf der Baustelle hatte ich das Programm gerade mal so weit fertig, dass die Handbedienungen möglich waren. Nachdem die ersten Pumpen liefen, durften diese aber auch nicht wieder abschalten! Im ganzen Werk (komletter Neubau) wurden seit diesem Zeitpunkt bereits Maschinen gekühlt. Sämtliche Automatikfunktionen und Regelungen habe ich bei laufender Anlage implementiert und in Betrieb genommen. Nach deiner Methode hätte ich garnicht erst anreisen brauchen.
Ich vermute das du hast ein Framework erstellt, mit standard FBs die du selbst erstallt hast, und wenn diese FB "in Ordnung" gefunden sind, hast du die festgehalten. Danach hast du keine Änderungen auf die FBs oder IDBs gemacht. Dies hat erlaubt das du das Anlage im betrieb halten konnte. Programmänderungen auf die höhere Ebene war noch möglich, nur nicht auf die FBs und IDBs.
Wenn das richtig verstanden ist, dann ist es genau wie ich es auch mache.
Aber was hat es zu tun mit ob man die IDBs von aussen beschreiben darf oder nicht ?

edit: Ich will dazu ergänzen das übergeordnete parameter und sollwerte sind in Global-DBs gespeichert. Aber Befehle wie Start, Stop, Auf, Zu, und Statuswerte schreibe und lese ich direckt in die IDBs.
 
Zuletzt bearbeitet:
So nun muss ich mal was loswerden

Hallo

Ich bin ein enduser wenn man so will. Bin Betriebselektriker der auch mal ganze anlegen neu schreiben darf :)

Ich muss zu dieser ganzen diskusion nur eines sagen. Es gibt anlagen da kann man nicht einfach mal die sps neu starten oder riskieren das sie auf stop geht. ( haben Kraftwerke mit Strom / Wasserproduktion oder Pelletierungsanlagen usw. ) Wenn es mir da pasieren würde die anlage rauszuwerfen dan würde ich auch bald rausgeworfen :(
Wenn ich änderungen oder anlagentiele dazu machen oder stillegen muss dann meistens während des laufenden Betriebes. Da helfen globale dbs undgemein da man in diesen daten weitergeben kann oder auch von einem teil auf einen neuen übergeben kann und den dazwischenliegenteil solange er exestiert mitwirken lassen kann sollte der dann wegkommen naja dann wird der wert halt nicht 3 mal sondern nur noch 2 mal bearbeitet wenn cih aber das mit instanzen machen würde und ich nehm den mittelteil raus dann stehe ich außer ich ändere dann wieder kopliziert die zugriffe untereinader aus. Wenn mir einer ein Programm mit scl bringt dann bin ich auch angefressen da ich seit pascal nix mehr gemacht habe und daher zwar das versteh ( meistens :) ) aber mit ändern hab ich das dan nicht so.
Sollte vileicht das mal wieder lernen aber das große aber ist wenn du heute fehler suchst bei großen zusammenhäängenden anlagen dann geht das halt in awl und fup/kop wesentlich schneller meiner erfahrung nach.

Deshalb mache ich es so das ich die daten die ich für mehrere sachen benötige oder hmi geschichten ind einzelnen globalen db´s zusammenfasse und dann für die einzelen maschienen und anlagenteile die selben daten zur verfügung habe ich glaube das ist nicht unwichtig

Wenn ich jedesmal alles neu starten könnte naja dann kann ich ja spielen ;)

So das war mal mein senf dazu
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich bin ein enduser wenn man so will. Bin Betriebselektriker der auch mal ganze anlegen neu schreiben darf :)

Ich muss zu dieser ganzen diskusion nur eines sagen. Es gibt anlagen da kann man nicht einfach mal die sps neu starten oder riskieren das sie auf stop geht. ( haben Kraftwerke mit Strom / Wasserproduktion oder Pelletierungsanlagen usw. ) Wenn es mir da pasieren würde die anlage rauszuwerfen dan würde ich auch bald rausgeworfen :(
Wenn ich änderungen oder anlagentiele dazu machen oder stillegen muss dann meistens während des laufenden Betriebes. Da helfen globale dbs undgemein da man in diesen daten weitergeben kann oder auch von einem teil auf einen neuen übergeben kann und den dazwischenliegenteil solange er exestiert mitwirken lassen kann sollte der dann wegkommen naja dann wird der wert halt nicht 3 mal sondern nur noch 2 mal bearbeitet wenn cih aber das mit instanzen machen würde und ich nehm den mittelteil raus dann stehe ich außer ich ändere dann wieder kopliziert die zugriffe untereinader aus. Wenn mir einer ein Programm mit scl bringt dann bin ich auch angefressen da ich seit pascal nix mehr gemacht habe und daher zwar das versteh ( meistens :) ) aber mit ändern hab ich das dan nicht so.
Sollte vileicht das mal wieder lernen aber das große aber ist wenn du heute fehler suchst bei großen zusammenhäängenden anlagen dann geht das halt in awl und fup/kop wesentlich schneller meiner erfahrung nach.

Deshalb mache ich es so das ich die daten die ich für mehrere sachen benötige oder hmi geschichten ind einzelnen globalen db´s zusammenfasse und dann für die einzelen maschienen und anlagenteile die selben daten zur verfügung habe ich glaube das ist nicht unwichtig

Wenn ich jedesmal alles neu starten könnte naja dann kann ich ja spielen ;)

So das war mal mein senf dazu

Kannst du bitte in verständlichem Deutsch dies noch einmal schreiben?
Beachte bitte: http://de.wikipedia.org/wiki/Großschreibung
Es tut mir leid, ich habe es nicht verstanden., was du uns mitteilen willst.
Da ich Entwickler bin, bin sehr interessiert, welche Problem Kunden haben, denn wir schreiben Programme nicht für uns.


bike
 
Danke allen Disskusionsteilnehmern;

Meine ursprüngliche Frage wurde gut erklärt und gelöst.

Mein eigener Standpunkt zu den Restlichen Punkten:

IDB sind für mich gekapselte Bereiche in denen nur die entsprechenden FB rummurksen sollen. (über entnahme von Werten für die Viso = in manchen Fällen OK aber es soll bitte niemand darin rumschreiben)

Nach meiner Meinung entält ein "sauberes" Programm entsprechende DB in denen die jeweiligen Werte stehen, es sollt eigene DB geben für Anlagenzustände, HMI, Übertragung zu anderen Bereichen, . . .

Wie diese im Detail strukturiert sind (eigener DB für Eingangs Analogwerte normiert, HMI Analogwerte, HMI RM, HMI Befehle, . . . . was auch immer) ist bei vernünftiger Namensgebung und entsprechenden Kommentaren kein Problem.
Diese Programme lassen sich in alle Richtungen relativ einfach verstehen und auch Änderungen sind einfach durchzuführen.

nochmals Danke für die Rege Teilnahme. Mittlerweile Beitrag 146, kaum zu glauben :)

Den 146 hab ich während dem schreiben erhalten:

Der Verfasser schreibt mir sehr verständlich die Probleme die "normale" Instandhalter mit solchen Konstrukten von Hochsprachenprogrammierern haben (ist nicht Abwertend, sondern die Realität).
Ist ein Programm entsprechend übersichtlich und strukturiert aufgebaut, kann jederzeit ein entsprechender Teil geändert werden ohne dass es zu irgendwelchen gröberen Problemen kommt.

so hab ich das jedenfalls verstanden.
 
Zuletzt bearbeitet:
Kannst du bitte in verständlichem Deutsch dies noch einmal schreiben?
Beachte bitte: http://de.wikipedia.org/wiki/Großschreibung
Es tut mir leid, ich habe es nicht verstanden., was du uns mitteilen willst.
Da ich Entwickler bin, bin sehr interessiert, welche Problem Kunden haben, denn wir schreiben Programme nicht für uns.


bike
Du willst nicht wirklich jemanden in Deutsch belehren, wenn du so schreibst wie hier:ROFLMAO:
 
Langsam wird das hier echt kindisch.
Ich dachte hier unterhalten sich
Techniker und Ingenieure.

Ist fast wie bei "We are Family" PRO7 :rolleyes:

Frank
 
..Im Übrigen: kann mir mal jemand Feedback geben, ob bei mir im Text auch so wertende Begriffe wie "mies" vorkommen?..
Nein Perfektionist. Du drückst dich eigentlich immer sehr gepflegt aus, das muss man dir lassen. "Mies" ist aber auch kein Schimpfwort. Es ist eigentlich mehr eine höfliche Umschreibung für einen ganz anderen Ausdruck.


Ich vermute das du hast ein Framework erstellt, mit standard FBs die du selbst erstallt hast, und wenn diese FB "in Ordnung" gefunden sind, hast du die festgehalten. Danach hast du keine Änderungen auf die FBs oder IDBs gemacht. Dies hat erlaubt das du das Anlage im betrieb halten konnte. Programmänderungen auf die höhere Ebene war noch möglich, nur nicht auf die FBs und IDBs...
Ganz genau so ist es. IDBs werden bei mir allerdings auch geändert. Wie sollte es auch anders sein. Nur ist es so, dass sämtliche relevanten Zustände und Parameter in den Global-DBs stehen. In den Instanzdaten / Multiinstanzdaten gibt es bei mir solche Dinge wie Verzögerungszeiten und Überwachungszeit, rekursive Berechnungen (z.Bsp. Dämpfungen). Aber alles Dinge, die sich nach einem "Initialisieren" ganz schnell wieder fangen. Meistens lassen sich bei laufender Anlage geänderte Instanzdaten laden, in dem ich den FB-Aufruf auskommentiere und dann den FB und IDB lade. Der IDB kann bei Änderungen ja auch mal kleiner werden. Anschließend schalte ich den Aufruf wieder aktiv. Eigentlich geht es immer gut. Aber auch das hängt von der Anwendung und von der Software-Architektur ab (was für ein schöner Begriff ;-) ).


..Wenn das richtig verstanden ist, dann ist es genau wie ich es auch mache. Aber was hat es zu tun mit ob man die IDBs von aussen beschreiben darf oder nicht ?

edit: Ich will dazu ergänzen das übergeordnete parameter und sollwerte sind in Global-DBs gespeichert. Aber Befehle wie Start, Stop, Auf, Zu, und Statuswerte schreibe und lese ich direckt in die IDBs.
Naja, du scheinst es ja wenigstens im Griff zu haben. Wie macht ihr das eigentlich in Flexible, wenn sich die Adressen in den IDBs ändern? Die betroffenen Variablen müssen immer wieder neu verbunden werden, oder? Und stets drann denken, die RT neu zu laden?


Ich schreibe so schlecht?..
Ach was! Das reicht dicke für eine Doktorarbeit. Sofern ich das beurteilen kann ;-) .
 
Zuviel Werbung?
-> Hier kostenlos registrieren
IDBs werden bei mir allerdings auch geändert. Wie sollte es auch anders sein.
Dafür muss man ein Framework erstellen, die die benötigte funktionalität hat, und fehlerfrei ist. Ist nicht einfach. Aber ich simuliere dafür auch meine programme um sie weitmöglichst fehlerfrei zu haben.
Online programmieren zum laufzeit geht auch, so lange das man den deklarationsteil nicht berührst. Erst offline simulieren und testen - wenn OK gefunden - dann der geänderte FB in SPS laden - IDB wird behalten ohne änderung.
FBs/IDBs auszukommentieren habe ich auch gemacht, aber das war notfall.

Wie macht ihr das eigentlich in Flexible, wenn sich die Adressen in den IDBs ändern? Die betroffenen Variablen müssen immer wieder neu verbunden werden, oder? Und stets drann denken, die RT neu zu laden?
Bei mir sind alle Daten die mit der HMI ausgetauscht werden, Global-DBs.
 
Zuletzt bearbeitet:
Ich les jetz hier auch schon ne Weile mit.

Vorweg mal, bin auch in der IH tätig.:ROFLMAO:

Ich würd sagen die Mischung machts.

Übersichtlicher und leichter zum handeln würd ich sagen ist Onkels Variante im Bezug auf Erweiter-/Änderbarkeit.

Für gewisse HMI-Lese/Status anzeigen würd ich evtl. auch in IDBs gehen.
Und auch für die Handbedienung über HMI sogar schreibend.

Wenns aber um Datenhaltung geht, wie z.B. Produkt Sachnummern usw. die gegen gelesen werden oder Achspositionen, das alles übers HMI gepflegt wird, dann ganz klar Global DB.

Also für ein striktes Hopp oder Topp würd ich mich nicht entscheiden.
 
@bike

@bike Die rechtschreibfehler kannst du Dir Schenken.
Tut mir leid das ich so manches nicht ganz Gramatikalisch ( ist das Richtig ?) richtig habe. Aber ich bin ja auch kein "Studierter" der sein ganzes Leben den Buchstaben und Zahlen widmet.

Außerdem habe ich diesen beitrag geschrieben da war ich schon ca 18h auf den Beinen und dabei sind die Augen schon ganz schön schwer gewesen. Aber so ist das halt mal in der Instandhaltung da gehst halt nicht heim wenn was nicht geht oder so.

Muss noch eines loswerden : Es ist echt super hier im forum da man hier sehr viel Fachwissen vorfindet.
Ich musste leider in der Vergangenheit schon so manchen blödsinn miterleben wie zb. das ein Programmierer eine Anlage in Betrieb nimmt und dann erst relativ langwierig und umständlich Änderungen vornehmen kann da er zuerst wiedereinmal in SCL das ändern darf und dann Übersetzen und einspielen. Des weiteren hatte ich noch nie eine inbetriebnahme bei der nicht einige FB´s und FC erweitert oder umgeschrieben werden mussten.

Komme aus der Sägeindustrie und da gibt es numal lebendes Material auf das man die Anlage immer wieder mal Optimieren muss sei es weil Antriebe umgebaut werden oder sich der Ablauf ändert deshalb ist es mir am Liebsten wenn ich auch einstellwerte in Globalen db´s habe da sich da Änderungen relative einfach Handhaben lassen.

Wenn ich heute eine CNC Fräße habe die immer Quasi das gleiche macht dann kann ich wenn ich einmal Fehlerfrei bin das ganze sicher in gekapselten systemen machen aber wenn man Anlagen hat ( größer 600 i/o´s) die kein Jahr so stehen wie im Vorjahr dann muss man sich wegen dem händling schön gedanken machen da meistens für die IBN nur 2 tage zeit sind und mann den rest während der Produktion machen muss.
Da kann man nicht so einfach mal cpu neu starten.

Das meinte ich eigentlich damit.

Ps. Leider habe ich bis auf ein paar kleine Ausnahmen keine guten Erfahrungen mit "Fremdprogrmierer" gemacht da diese meistens nicht wissen wie alles ineinandergreift von der Mechanischen seite her.

Pss Sollte ich wieder Recht oder Gramatikfehler haben naja war in Deutsch in der Schule schon nicht gut
 
Zurück
Oben