DB mit AUF öffnen braucht mann das heute noch?

Zuviel Werbung?
-> Hier kostenlos registrieren
http://de.wikipedia.org/wiki/Argumentum_ad_verecundiam
Dass Du vor Deinen Göttern Ehrfurcht hast, bedeutet nicht, dass ich vor Deinen Göttern ehrfürchtig bin. Wer mag, darf trotzdem gerne gen Karlsruhe und Fürth seine Danksagungen beten, meine Gebete dorthin werden wohl eher als ein Bitten zu verstehen sein.


Geht doch nicht!

http://www.sps-forum.de/showpost.php?p=314595&postcount=106

Du bist der Einzig Wahre Erleuchtete.


bike

P.S: in der Apotheke gibt es Perenterol, das hilft deinem Gehirn.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Schade das ihr euch bei so einen schönen Thema, nicht auf ein vernünftigen
Nivau unterhalten könnt. Vielleicht Atmet ihr mal tief durch und dann fangt
ihr noch mal von vorne an.

Die Diskussion ob Siemens sich etwas gedacht hat oder nicht finde ich ein
wenig daneben, das weiß nur der jenige bei Siemens. Wenn hier jemand
mehr weiß, möchte er sagen: "Der Entwicklungsleiter Herr Dr. Dr. Plakiat hat
gesagt die Instanzdaten sind ausschließlich dafür und die Globaldaten sind
ausschließlich hierfür. Dürfen vermengt werden, aber unter bestimmten um-
ständen nicht"
 
Die Diskussion ob Siemens sich etwas gedacht hat oder nicht finde ich ein
wenig daneben, das weiß nur der jenige bei Siemens. Wenn hier jemand
mehr weiß, möchte er sagen: "Der Entwicklungsleiter Herr Dr. Dr. Plakiat hat
gesagt die Instanzdaten sind ausschließlich dafür und die Globaldaten sind
ausschließlich hierfür. Dürfen vermengt werden, aber unter bestimmten um-
ständen nicht"

Denkst du eine Person allein hat sich Step7 ausgedacht?
Kennst du noch Step7 V1?
Da kam etwas Neues, da ging ein Aufschrei durch die Welt der Automatisierer.
Als dann später die erste, brauchbare Version kam war, so ich mir erinnere, die V2.1, gab es keinen FUP. Ein neuer Schrei.

Der Gedanke hinter den GlobalDB und IDB ist, dass Daten die allgemein genutzt werden als Global definiert werden.
Interne Daten die nur lokal in einem Baustein erstellt und genutzt werden kommen in IDB.
So zumindest wurde es uns von Siemens erklärt. Dass dies nicht immer möglich ist, sei dahingestellt.

Bei der Durchsicht von verschiedenen Programmiervorschriften von unseren Kunden ist mir aufgefallen, dass nur BMW und VauWe zu diesem Thema etwas geschrieben haben.
Bei Renault hat mir deren Siemensbetreuer nach der Analyse unserer Standardprogramme sehr direkt gesagt, dass das Verwenden von IDB global schlechter Programmierstil sei.

Wenn jemand dies anders handhabt, ist das dessen Entscheidung, doch es als richtig und legitim zu deklarieren, und den GlobalDB jeden Sinn abzusprechen, ist nicht richtig.


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo ihr Lieben,
ich glaube nicht (aus eigener Erfahrung in einem anderen Thread), dass es irgend jemanden hier gelingen wird den Anderen zu bekehren (außer dass der Eine für den Anderen arbeiten muß). Das Beste, was man hier also erreichen kann, ist eine Patt-Situation. Vielleicht belasst ihr es einfach dabei ... :rolleyes:

Grüße
Larry
 
"Der Entwicklungsleiter Herr Dr. Dr. Plakiat hat gesagt ..."
Als Siemens mir das S7 (ich glaube, Stand 3.2, vielleicht auch V2.x?) in die Hand drückte, da bekam ich als Hinweis mit, dass Leute, die Hochsprachen wie Pascal gewohnt seien, einen leichteren Einstieg damit hätten.

Von S5 her war ich, entsprechend auch so angeleitet, gewohnt, ganz anders zu arbeiten, also eigentlich nur Globaldaten zu nutzen (naja, die Schmiermerkerei war ja nur als Krücke verwendbar, um Lokaldaten zu haben). Das Übergeben von Parametern an der Schnittstelle eines FB war bei S5 irgendwie sperrig, vor allem extrem Performance raubend. Also verfiel ich damals auf so "hübsche" Konstruktionen, dass ich also den Schmiermerkerbereich als Schnittstelle missbrauchte (wovon ich heute weiß, dass auch andere das machten). Wie ich heute auch weiß, gab es noch die Variante mit dem Zeiger auf die jeweiligen Datenbereiche.

Auf die Idee, DBs als Instanzen zu nutzen, kam ich nicht (hätte auch erheblichen Performanceverlust bedeutet). Nach Möglichkeit gab es nur einen einzigen Global-DB, um sich das ständige Aufschlagen des richtigen DB ersparen zu können. Ausserdem musste ich dann ein bestimmtes DW nicht auch noch in verschiedenen DB suchen müssen (Querverweis!) und konnte diese DW auch noch in der ZuLi dokumentieren, da ja nur ein DB vorhanden war.

Mit S7 empfand ich es zunächst nur als lästig, da ständig oben in der Deklaration etwas eintragen zu müssen. War doch so bequem bei S5, einfach Merker hinschreiben, Code ist erstmal fertig, ZuLi machen wir dann am Stück effektiver irgendwann später ...

Meine ersten S7-Programme sahen also wie S5-Programme aus.

Aber ich begann, die neuen Möglichkeiten, insbesondere die FB/IDB zu nutzen. Und lernte, Maschinen/Anlagen in Untereinheiten so zu zerlegen, dass sich dann dazu gehörige Programmteile ergaben, die nur noch sparsame Schnittstellen nach aussen benötigten.

Heute kann ich sagen, dass es mir möglich ist, eine Automatisierungsaufgabe mit der S7 und Flexible ohne Verwendung von Globaldaten (natürlich E/A und Zeitablauf ausgenommen) zu lösen. Den Global-DB habe ich für mich ganz abgeschafft. Merker und S5-Timer benutze ich nur noch aus Bequemlichkeit.

Warum nur löst die Feststellung, dass es auch ohne Global-DB gehen könnte, derartige Reflexe aus?
 
Hallo ihr Lieben,
ich glaube nicht (aus eigener Erfahrung in einem anderen Thread), dass es irgend jemanden hier gelingen wird den Anderen zu bekehren (außer dass der Eine für den Anderen arbeiten muß). Das Beste, was man hier also erreichen kann, ist eine Patt-Situation. Vielleicht belasst ihr es einfach dabei ... :rolleyes:

Grüße
Larry

Und damit liegst du völlig richtig. Für mich beende ich diesen Thread. Wir sehen uns im Nächsten :D
 
Zuviel Werbung?
-> Hier kostenlos registrieren
... Patt-Situation.
Lieber Larry,
ein Patt ist eine Situation, die ein unterlegener Spieler anstrebt, um seine Niederlage zu vermeiden. [/Klugscheissmodus]
Ich denke mal, ich sollte an dieser Stelle "Remis" (Unentschieden) lesen?

Ansonsten, finde ich, kann man ja durchaus diskutieren. Erweitert zumindest mal meinem Blick über meinen Tellerrand hinaus. Und wenn ich dabei auch nur für mich feststelle, wie wirksam noch heute Schopenhauers Kunstgriffe sind, so lerne ich dennoch daraus. Und ich lerne Forumskollegen zu schätzen, die das auch zu sehen vermögen um dann hilfreich moderierend einzugreifen.

Hmmm, also lassen wir es mal so stehen (?). Meine These, dass Global-DB nicht mehr notwendig sind, und die andere These, dass man Global-DB sehr wohl für das Rangieren von HMI-Daten, zum Halten remanenter Daten ausserhalb von IDB und zum Vermeiden von Datenumstrukturierung benötigt. Hab ich was vergessen? Vermutlich schaufeln noch andere Leute Verwaltungsdaten durch die SPS durch, die dann eben auch nicht mehr in einfachen Strukturen verwaltbar sind.
 
Lieber Larry,
ein Patt ist eine Situation, die ein unterlegener Spieler anstrebt, um seine Niederlage zu vermeiden. [/Klugscheissmodus]
Ich denke mal, ich sollte an dieser Stelle "Remis" (Unentschieden) lesen?

Wiki
Ein Patt ist eine Endposition einer Schachpartie, bei der ein am Zug befindlicher Spieler keinen gültigen Zug machen kann und sein König nicht im Schach steht. Ein Patt wird als Remis, also Unentschieden gewertet und ist daher häufig ein Rettungsanker für den unterlegenen Spieler. Dieser kann eine Unachtsamkeit des überlegenen Gegners dazu nutzen, sich in eine Pattsituation zu bringen.

Das wäre jetzt ein neuer Thread. Patt oder Remis :rolleyes:
 
Lieber Perfektionist,
ich meinte "Patt" im Sinne der von Verpolt genannten Erklärung.

Bezogen auf diesen Thread heißt das :
Solange Herr S. nicht die Voraussetzungen schafft, dass der Quer-Zugriff auf die I_DB-Daten quasi als erweiterter Globalspeicher verwehrt wird wird es immer wieder Leute geben, die das dann auch so nutzen. Ich finde es nicht gut - werde es aber auch nicht ändern können (außer im schon genannten Fall).

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was mir so auffällt ist, dass hier auf BigS so eingedroschen wird.

Der Simatik Manager und die entsprechenden PLC sind gut.

Ja, ich weiß dass WinCC und -flex Mist sind, doch ist es wo anders besser?

Wenn jemand mit Rockwell oder Bosch oder Fanuc programmieren muss, der kann dann erst schätzen was BigS gebaut hat.

bike

*ACK*

Nehmt doch einfach RS5000 und die Panelvisu dazu .. viel Spass damit,
kostet glatt das doppelte und Support gibt es nur wenn man SUS hat.

Es ist schon immer so gewesen, wenn eine Software einem viele
Freiheiten läßt, dann kann man auch viel pfuschen und verbiegen
daher ist die Vielfalt der Programmierstile bei S7 so groß.

Also nehmt das 3S-Konzept und laßt euch einschnühren und
deklariert euch tot ....

Frank
 
*ACK*

Nehmt doch einfach RS5000 und die Panelvisu dazu .. viel Spass damit,
kostet glatt das doppelte und Support gibt es nur wenn man SUS hat.

Es ist schon immer so gewesen, wenn eine Software einem viele
Freiheiten läßt, dann kann man auch viel pfuschen und verbiegen
daher ist die Vielfalt der Programmierstile bei S7 so groß.

Also nehmt das 3S-Konzept und laßt euch einschnühren und
deklariert euch tot ....

Frank

Würde ich, doch ich muss Maschinen und Anlagen programmieren und da brauche ich Hard- und Software die funktioniert.

Ich habe mit Codesys versucht eine Anlage, die sehr gut kenne, zu programmieren, doch der Erfolg war nicht mit mir.
Ich konnte es nicht.
Ob es an mir oder an der anderen Denkweise liegt, weiß ich nicht.
Eigentlich dachte ich, da ich neben verschiedenen PLC Systemen auch Hochsprachen programmiere würde ich es schaffen.


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Leute, ihr ward aber sehr fleißig heute ;-) !

..Im Fall vom Onkel, wo er mehre Tausend Variabeln "nur" in den Globaldaten
sichert, finde ich nicht sehr Glücklich. Wenn mann diese wichtigen Daten,
zusätzlich in eine Rezeptur zieht, kann eigentlich nichts mehr anbrennen.
Diese Rezeptur könnte mann sogar exportieren und der Kunde könnte dann
auch gelegentlich eine Datensicherung der Aktualwerte ohne PG und
Programmierkenntnisse durchführen.
Bezüglich der aktuellen Remanenzprobleme ist das sicherlich eine sinnvolle Maßnahme. Ich werde mal darüber nachdenken. Wieviele Daten kann man eigentlich in Rezepturen speichern? Meistens habe ich eine RT oder ein OP177B zur Verfügung, seltener ein TP/MP277.

verstehe ich Dich richtig, dass Du keine IDB benutzt?
Selbstverständlich benutze ich Instanz-DBs. Dort sind aber keinesfalls Parameter oder Sollwerte abgelegt.

Das klingt ja grad so, als ob ganz sauber überhaupt nicht geht ;)..
Doch das geht. Das nennt sich dann "Hohe Kunst" ;-) .

..Wegen dem "Herumgemurxe": ja, jeder!
Ich murxe in Deinen Augen herum, weil ich die SPS anhalte und über eine Rezeptur in der HMI (behelfsweise einer Runtime auf meinem Erstellsystem) meine Aktualdaten der Instanzen rette und zurückschreibe und in meinen Augen murxt Du herum, weil Du Daten, die zu einer in sich abgeschlossenen Einheit gehören, nicht zusammen in einem m.E. dafür gedachten Instanz-Datenbaustein hältst.
Ich kann einfach nicht verstehen, warum du dir durch solch eine miese Programmierweise das Leben schwer machst? Nur, um keine Globaldatenbausteine verwenden zu müssen? Das macht doch überhaupt keinen Sinn?


Zu meinem Gemurxe.
Ich nenne es Konzept. Meine "wichtigen" Daten sind fein säuberlich in einheitlichen Strukturen (180Byte) in globalen DBs abgelegt. Diese DBs werden in der Regel nach Beginn der Programmierung auch nie wieder geändert. Sie bilden das Herz meiner Programme, oder wie du es nennst, "geschlossene Einheiten". Meine Programmbausteine sind hingegen "nur" Werkzeuge, die diese Einheiten bearbeiten. So gibt es z.Bsp. einen Baustein der die HMI-Anbindung handelt, egal ob nur eine Pumpe geschaltet wird, oder ob ein PID-Regler bedient wird. Dieser Baustein bekommt dann gleich den ganzen DB zur Bearbeitung, egal wie lang er ist. Ein Bausteinaufruf, eine Hand voll Parameter und die HMI-Anbindung ist z.Bsp. für 32 Regler Geschichte. Eine Synchronisation mit einem zweiten oder dritten HMI-Gerät ist dabei auch schon berücksichtigt. Ein anderer Baustein bearbeitet z.Bsp. die PID-Regler, 32 oder auch mehr auf einen Streich. Am HMI-Gerät gibt es dabei nur einen einzigen Datensatz. Das Wesentliche, was dieses System erst möglich macht, sind die festen Strukturen in den globalen DBs.

Für jede Anlage gibt es dann noch einen "Anlagen-FB". Das sind die einzigen Bausteine, in dem noch "frei" programmiert wird. Mal abgesehen von Störmeldungen, Analogwertverarbeitung und dergleichen. Hier werden Freigaben für die einzelnen "Einheiten" gebildet, Sollwerte berechnet, Istwerte geschrieben, MAX-Auswahlen getroffen usw. Hier greife ich auf die entsprechenden Variablen der entsprechenden Einheit im Global-DB direkt zu.


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.


Wieso siehst du nicht ein, dass deine Art zu programmieren, schlicht und ergreifend, "ungünstig" (um nicht zu sagen, Sch..) ist? Du machst dir sinnlos das Leben schwer.

Im Grunde genommen kann es mir aber auch völlig egal sein :s17: .
 
Bezüglich der aktuellen Remanenzprobleme ist das sicherlich eine sinnvolle Maßnahme. Ich werde mal darüber nachdenken. Wieviele Daten kann man eigentlich in Rezepturen speichern? Meistens habe ich eine RT oder ein OP177B zur Verfügung, seltener ein TP/MP277.
Ein OP177B kann 100 Rezepturen, wie viel Rezepturelemente, das finde ich auf die Schnelle nicht, ich schätze mal zwischen 250 und 500. Im Zweifel legt man mehrere Rezepturen an, wenn die Zahl der Rezepturelemente die Leistung des Panels übersteigt.

Ich kann einfach nicht verstehen, warum du dir durch solch eine miese Programmierweise das Leben schwer machst? Nur, um keine Globaldatenbausteine verwenden zu müssen? Das macht doch überhaupt keinen Sinn?
Es macht Sinn. Ich bin in der Lage, ohne Kenntnis Deines Konzepts einen Baustein in Deine Steuerung mitsamt der dazugehörigen Visubilder zu implementieren. Ich werde aber nicht in der Lage sein, einen Programmteil von Dir übernehmen zu können, da dem Anschein nach mehrere Dinge derart komplex miteinander vernetzt sind, dass es mir nicht möglich ist, das in angemessener Zeit zu durchschauen. Im Übrigen: kann mir mal jemand Feedback geben, ob bei mir im Text auch so wertende Begriffe wie "mies" vorkommen?

... Ich nenne es Konzept. Meine "wichtigen" Daten sind fein säuberlich in einheitlichen Strukturen (180Byte) in globalen DBs abgelegt. Diese DBs werden in der Regel nach Beginn der Programmierung auch nie wieder geändert. Sie bilden das Herz meiner Programme, oder wie du es nennst, "geschlossene Einheiten".
Gut, damit hast Du Dir Deine Welt erschaffen, eine Welt, die Du verstehst, die Deinen Anforderungen gerecht wird, eine Welt, die möglicherweise veränderungsresistent ist.

Ein kleines Beispiel aus meiner Praxis.
Vor ca. drei Jahren habe ich eine größere Kühlwasseranlage programmiert [...] Nach deiner Methode hätte ich garnicht erst anreisen brauchen.

Wieso siehst du nicht ein, dass deine Art zu programmieren, schlicht und ergreifend, "ungünstig" (um nicht zu sagen, Sch..) ist? Du machst dir sinnlos das Leben schwer.
Dazu kann ich nur schlicht feststellen, dass wir zwei in unterschiedlichen Welten leben. Während Du Anlagen programmierst, deren SPS nach dem ersten Einschalten nicht mehr still stehen dürfen, habe ich Maschinen/Automaten, bei denen es unschädlich ist, zwischendurch mal die SPS zu stoppen bzw. sich spätestens nach Produktionsende die Möglichkeit ergibt, den Hauptschalter rumzudrehen. Die Schwierigkeiten, die Du in meiner Programmierweise siehst, habe ich in Wirklichkeit gar nicht.

Wenn jetzt das große S es noch hinbekommt, dass ich Instanzen auch im laufenden Betrieb verändern kann, so wäre ich mit meiner Programmierweise in der Lage, auch derartige Anlagen unterbrechungsfrei fortschreitend in Betrieb nehmen zu können
 
@bike

Mein letzter Satz war sarkastisch gemeint :ROFLMAO:

Frank

Das habe ich so verstanden und habe nur geschrieben wie es mir erging.


Wenn jetzt das große S es noch hinbekommt, dass ich Instanzen auch im laufenden Betrieb verändern kann, so wäre ich mit meiner Programmierweise in der Lage, auch derartige Anlagen unterbrechungsfrei fortschreitend in Betrieb nehmen zu können

Warum soll Siemens seine Software auf dich anpassen, nur weil du nicht bereit bist an Regeln zu halten?

Ob das Forum hier repräsentativ ist weiß ich nicht.
Doch wenn ich sehe wer hier die PLC vergewaltigt und was mir im Reallife so begegnet, könnte ich weinen.

Das Thema des TE ist schon geklärt, denke ich einmal.
Und über den Rest....



bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Solange Herr S. nicht die Voraussetzungen schafft, dass der Quer-Zugriff auf die I_DB-Daten quasi als erweiterter Globalspeicher verwehrt wird ...
handelt es sich dabei nicht um diese Einstellung im Baustein-Editor:
Querzugriffe als Fehler melden
Hier legen Sie fest, ob globale Zugriffe auf aufrufende Instanz-Datenbausteine, die in der Symboltabelle eingetragen sind, als Fehler gemeldet werden sollen.
 
Warum soll Siemens seine Software auf dich anpassen, nur weil du nicht bereit bist an Regeln zu halten?
Ja, Siemens hat beim Übergang von S5 auf S7 tatsächlich die Software meinen Erfordernissen angepasst. Die PB wurden gestrichen, die FB wurden in FC umbenannt und der FB zwar namensgleich, aber zusammen mit der ihm zugeordneten Instanz neu erschaffen. Und ich freue mich auf den nächsten Schritt, den Siemens für mich tun kann. Durch die Nutzung neuer Regeln brauche ich alte Regeln nicht mehr zu beachten.
 
Wenn jetzt das große S es noch hinbekommt, dass ich Instanzen auch im laufenden Betrieb verändern kann, so wäre ich mit meiner Programmierweise in der Lage, auch derartige Anlagen unterbrechungsfrei fortschreitend in Betrieb nehmen zu können

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.
 
Zurück
Oben