DB mit AUF öffnen braucht mann das heute noch?

Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Perfektionist,

und wo speicherst du Sollwerte, Schaltzeiten? Auch in den Instanzdaten?
gemäß des Gedankens der Zusammengehörigkeit der Dinge: ja!

Wenn also eine in sich abgeschlossene Funktionseinheit (gibt es dafür ein allgemein bekanntes und verständliches Beispiel?) Parameter benötigt, so füttere ich diese nicht an der Schnittstelle damit, sondern greife mit der HMI (Flex!) direkt in der Instanz darauf zu. Ich betrachte dabei die betreffenden HMI-Bilder als zu dieser Funktionseinheit zugehörig.

Eine derartig in sich abgeschlossene Funktionseinheit könnte sein: eine Staustrecke (oder Speicherband genannt?), die eine Lichtschranke enthält, einen Antrieb, mit der nachfolgenden Anlage ein Freigabesignal austauscht, entsprechend der zuführenden Anlage signalisiert, ob die Station produktaufnahmefähig ist. Als Parameter kommt da eine Zeitdauer in Frage, die beschreibt, mit welcher Verzögerung der produktliefernden Seite das Freigabesignal erteilt wird. Also wird in der Schnittstelle des FB Aktor und Sensor auftauchen, ebenso das Handshake nach vorn und hinten. Und der Parameter dieser Verzugszeit würde bei mir in den Instanzdaten gehalten werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Perfektionist, hätte da mal 2 Fragen

...Und trotzdem empfinde ich den Zugriff der HMI auf die Instanz nicht als Zugriff von außen.

Ab welcher Schnittstelle wäre bei dir der Zugriff von außen?

Und ich komme mit einem Minimum an Globaldaten aus, so dass sich der Bedarf an Global-DB erübrigt (theoretisch könnten die von mir verwendeten Globaldaten in dem übergeordneten Koordinationsbaustein gehalten werden).
Was ist der Vorteil von "Minimum an Globaldaten" ?


PS: zum Thema InstanzDB. Gäbe es sie nicht, gäbe es auch kein AUF DI

:ROFLMAO:

PSS: stunden später......
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ab welcher Schnittstelle wäre bei dir der Zugriff von außen?
von aussen ist
Code:
L "Instanz".Datum
Was ist der Vorteil von "Minimum an Globaldaten" ?
die Kapselung fällt leichter, da die global relevanten Signale an der Schnittstelle übergeben werden können (und zwar so, dass es auf eine Bildschirmseite passt).
PS: zum Thema InstanzDB. Gäbe es sie nicht, gäbe es auch kein AUF DI
dadurch, dass ich grundsätzlich
Code:
call "FB","FB_Instanz"
schreibe, erübrigt sich auch der "AUF DI"-Befehl für mich. Im MC5-code steht der zwar drin, aber ist für mich nicht sichtbar.
 
Dann hast du aber für diese abgeschlossene Funktionseinheitt jeweils einen eigenen Instanz-DB, oder? Oder gibt es keine Änderungen mit Neugenerieren des Instanz-DB's? Bei meinen Anwendungen wäre es undenkbar, ständig die Aktualwerte zu verlieren. Oder wie machst du das?
 
Wenn ich daran denke, dass jemand von außen in IDB reinpfuscht, dann geht das Messer in der Tasche auf.

Bitte liebe Programmierer, lasst dies bleiben, es geht auch ohne Pfusch.

Danke


bike
ohne genaue Kenntnis Deines Programmierstils kann ich kaum nachvollziehen, was bei Dir "Pfusch" sein soll.

Innerhalb des SPS-Programms stimme ich mit Dir überein, dass Querzugriffe schlechter Stil sind. Der Zugriff der HMI auf Instanzen empfinde ich aber nicht als Querzugriff, da ich die entsprechenden HMI-Funktionen als zum jeweiligen Baustein bzw. als zur jeweiligen Instanz als zugehörig empfinde (solange nicht Steuerungsfunktionen in die HMI verlagert wurden).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Dann hast du aber für diese abgeschlossene Funktionseinheitt jeweils einen eigenen Instanz-DB, oder?
richtig - alternativ auch eine Unterinstanz (Multiinstanz).

Oder gibt es keine Änderungen mit Neugenerieren des Instanz-DB's? Bei meinen Anwendungen wäre es undenkbar, ständig die Aktualwerte zu verlieren. Oder wie machst du das?
Damit sprichst Du eine der größten Schwächen des S7-Systems an. Leider ist S7 (noch) nicht in der Lage, die momentanen Aktualdaten einer vorhandenen Instanz in die veränderte Instanz zu übernehmen. Theoretisch denkbar wäre dies jedoch, CoDeSys kann dies, soweit mir das vom Hörensagen bekannt geworden ist, teilweise schon. Die Abhilfe bei mir sieht im Moment so aus, dass ich die Parameter und wichtige Variablen aus meinen Instanzen in der HMI in einer Rezeptur "Maschinendaten" als Rezept ablege, dann update und anschliessend die zuvor gesicherten Daten von der HMI auf die SPS wieder zurückschreibe. Für dieses Vorgehen ist es aber leider oft erforderlich, die Steuerung anzuhalten.
 
..Damit sprichst Du eine der größten Schwächen des S7-Systems an. Leider ist S7 (noch) nicht in der Lage, die momentanen Aktualdaten einer vorhandenen Instanz in die veränderte Instanz zu übernehmen. Theoretisch denkbar wäre dies jedoch, CoDeSys kann dies, soweit mir das vom Hörensagen bekannt geworden ist, teilweise schon. Die Abhilfe bei mir sieht im Moment so aus, dass ich die Parameter und wichtige Variablen aus meinen Instanzen in der HMI in einer Rezeptur "Maschinendaten" als Rezept ablege, dann update und anschliessend die zuvor gesicherten Daten von der HMI auf die SPS wieder zurückschreibe. Für dieses Vorgehen ist es aber leider oft erforderlich, die Steuerung anzuhalten.
Entschuldige Perfektionist, aber das kann's ja nun wirklich nicht sein.
 
Entschuldige Perfektionist, aber das kann's ja nun wirklich nicht sein.
ja, wie denn dann? Eigentlich sollte sich ja Step uns Programmierern anpassen, also sich den Erfordernissen der Praxis stellen. Und bis dahin murxt halt jeder auf seine Weise an/um die Schwächen von Step drum herum ...

kann ja z.B. auch nicht sein, dass die HMI (Flex!) nach wie vor auf Absolutadressen in der Steuerung zugreift. So teuer ist Speicher nicht mehr, dass man nicht das Symbol in der Steuerung und der HMI zur Laufzeit hinterlegen könnte und somit es nicht mehr erforderlich wäre, HMI-Projektierung und SPS-Programm zur gleichen Zeit aktualisieren zu müssen.
 
ja, wie denn dann?..
Ganz einfach Datenablage in globalen Datenbausteinen. Um genau dieses Thema ging es doch in der Nebendiskussion?

..Eigentlich sollte sich ja Step uns Programmierern anpassen..
Und wo soll das enden? Step7 erlaubt schon jetzt so viele Freiheiten, dass man dadurch auch sehr viele Möglichkeiten hat, Mist zu machen. Man sollte ganz einfach ein paar einfache Grundprinzipien einhalten.

..Und bis dahin murxt halt jeder auf seine Weise an/um die Schwächen von Step drum herum ..
Schwächen von Step7? Jeder murxt drum herum? Diese Schwächen muß man erst einmal finden ;-) . Oh Mann, immer diese Ausflüchte. Step7 ist m.E. eine sehr leistungsfähige Software, mit der man auch sehr effektiv programmieren kann. Dabei einigermaßen sauber zu bleiben, ist allerdings schon eine kleine Kunst. Wenn ich mal etwas "artfremdes" machen muss, fällt es mir auch manchmal schwer.

Ich hatte mir eigentlich bei diesem Instanz-Thema mehr Positives erhofft, da ich in letzter Zeit schön öfter darüber gelesen habe. Helmut v.d. Rep. hatte sich ja auch schon einmal dazu bekannt.
 
Ich....mache das doch nie :ROFLMAO:
Mein weg sind die Schmiermerker, auf die greife ich nur Indirekt und mit Pointern zu.
So muss ich wenigstens mich mit niemanden über Instanzdaten streiten.
Wenn ich mal groß änderungen an Steuerungen habe, mit den evtl. Datenverlust
habe ich hinten am Panel immer zwei bis drei Zettel mit den Fixdaten, die muss
der Bediener dann über BCD Schalter wieder in die Steuerung eingeben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn ich mal groß änderungen an Steuerungen habe, mit den evtl. Datenverlust
habe ich hinten am Panel immer zwei bis drei Zettel mit den Fixdaten, die muss
der Bediener dann über BCD Schalter wieder in die Steuerung eingeben.
Na BCD Schalter sind doch mal nicht schlecht, mal besser als ein Morsetelegramm.
 
Ich....mache das doch nie :ROFLMAO:
Mein weg sind die Schmiermerker, auf die greife ich nur Indirekt und mit Pointern zu.
So muss ich wenigstens mich mit niemanden über Instanzdaten streiten.
Wenn ich mal groß änderungen an Steuerungen habe, mit den evtl. Datenverlust
habe ich hinten am Panel immer zwei bis drei Zettel mit den Fixdaten, die muss
der Bediener dann über BCD Schalter wieder in die Steuerung eingeben.
BCD-Schalter? Und wenn's mal wieder länger dauert, Lochstreifen, Kugelschrittlaufwerk? Wollt ihr mich jetzt alle verarschen? Ich habe Steuerungen im Bereich der Haustechnik, in denen tausende Parameter gespeichert werden müssen (S7-315). Kein Scherz. An die aktuellen Remanenzprobleme der 315-er darf ich garnicht denken.
 
Hallo Onkel,
natürlich kommt es schon mal vor das ich Rezepturen
nutze, aber nur bei den Kunden die ich nicht mag
und einfach die Montage ersparen möchte.

PS. Sollte ich die beitrage die nicht ganz ernsthaft
gemeint sind mit [ironie] genzeichnen?

PPS. Ich weiß garnicht warum ihr so ein Wirbel um
die Instanzdaten macht, die neuen Steuerungen ( wie von
Onkel schon erwähnt ) vergessen neben den Instanz
Daten die Globaldaten gleich mit, da kommt Freude auf.
 
Wat issn ne Instanz, da schaun wir doch mal u.a. bei Wiki vorbei:

http://de.wikipedia.org/wiki/Instanz :confused:

hier steht z. B. Instanz = „abgeschlossene Einheit

Also für mich ist das eindeutig, mit meinen Schulungen und Erfahrungen möchte ich dieses auch nochmals bestätigen.

Don't touch a Instanz
 
Zurück
Oben