Anzahl Ein / Ausgänge FC / FB

Zuviel Werbung?
-> Hier kostenlos registrieren
Also ob das allein am Baustein lag, dass es da gebrannt hat?
Heißt der Baustein: " Brandbeschleuniger" ? :confused:

Ich kenne einige Bausteine, die im Editor nicht dargestellt werden können, da diese zu groß/lang sind.
Da hilft nur eine Quelle und dann darin Fehler suchen.
Ist aber der perfekte Kopierschutz, diese Bausteine beim Upload sind so verstümmelt, dass damit nichts angefangen werden kann.

bike
 
Son Driss hau ich Dir um die Löffel ...

Hallo,

mariob schrieb:
Praktisch sieht es gegenwärtig so aus das ich mächtige Monster mit Ein /Ausgängen produziere, irgendwie gefällt mir das alles nicht so recht....

Dieses Gefühl des Mißfallens mit solchen abenteuerlichen Konstrukten teile ich mit Dir. Wenn ich solche Monstren sehe, kommt mir das kalte Kotzen.

Zerlege einfach Deine Programmieraufgabe in kleine, überschaubare Teileinheiten, bei der S7 also FCs oder FBs. Das erleichtert den Funktionstest und die IBS. Diese Monsterbausteine sind der letzte Dreck und für den Endkunden eine Zumutung ...

Eine Funktion oder Prozedur sollte sich mit möglichst wenigen Parametern aufrufen lassen, so kann man ganz schnell sicher sein, das Fehlfunktionen
leicht erkannt und beseitigt werden können.

Diese Monsterbausteine würde ich Dir um die Ohren hauen, aber bei vielen SPS-Programmierern sind wohl die Grundregeln der Informatik völlig unbekannt.

Und darum sehe ich wohl immer bei den Anlagen meiner Kunden die abenteuerlichsten Konstrukte von Fremdlieferanten. Wobei besonders die italienischen und französischen Anlagenbauer besonders erfindungsreich sind ...

Gruß

Question_mark
 
Zuviel Werbung?
-> Hier kostenlos registrieren
nachdem Du mich und den Kollegen Kühner derneulich angepinkelt hast, kann ich Dir, lieber und werter Kollege QM, bescheinigen, dass Du mit dieser Art, die Leute anzugehen, zwar Beifall bei Deinen Freunden finden wirst, Deine allgemeine Reputation jedoch darunter leiden könnte.
 
E-/A für Bausteine

Spät, spät, spät komme ich online um zu sehen, was ich durch eine unscharfe Formulierung angerichtet habe...

Ein findiger Forumsteilnehmer hat es durchblickt und mit wenigen Worten richtig gestellt:

Ich meinte den Baustein-Aufruf!

:D Danke an 'Vierlagig'! :D

Im Beispiel der Stern-Dreieckschaltung wäre das ein Kästchen mit vielleicht nur einem binären Eingang, ein Zeitglied als E/A Typ und drei Ausgängen. Das dahinterliegende Programm gestaltet sich selbstverständlich nach dem Gustus des Programmierers.



* * * * * *
DB im Bausteinaufruf erkennbar:

Ein sehr effizientes Mittel, Baustein E/A zu sparen ist das, lediglich einen Zeiger und einige wenige nicht strukturierte Variable (z.B. SPS E-A) zu übergeben.

z.B. ein pneumatisch betätigtes Ventil in einer Anlage mit Dutzenden von Ventilen:
  • Ventilnummer,
  • Taster EIN,
  • Taster AUS,
  • Stellausgang ÖFFNEN.
All die anderen Variablen wie Zeitüberwachung, Stellzustand als mehrfarbige Anzeige, Störzustand, Alarm, Automatik EIN... gehen über einen Datenbaustein mit einem Array der Struktur der versteckten Ventilvariablen. Das Array wird über die Ventilnummer indiziert und direkt aus bem Bausteincode heraus angesprochen. Von "aussen" sind diese Variablen unsichtbar.

Es wäre nun fein, wenn zumindest die DB Nummer in dem Bausteinaufruf gewissermassen von "aussen" erkennbar wäre. So erhält man einen leisen Tipp. Ansonsten muß der ahnungslose Fehlersucher in den Programmcode des Bausteins einsteigen, um irgendwann einmal zu entdecken, dass da ein DB ist...

Übrigens: freundliche Kommentierung bringt auch nicht all zu viel, da zunehmend Fehlersuche per upload nachgefragt wird:
Die Originalquelle (mit den Kommentaren) hat irgend ein Guru bei Lieferung der Anlage kassiert. Guru hat sich ins Ashram zurückgezogen, Quelle nichtmehr auffindbar. Herstellerfirma schon lange per Investor zerlegt. :confused: Jetzt holt man Dich an die Anlage, weil Du SIEMENS buchstabieren kannst: "Nu kuck doch 'mal!".
In solchen Fällen bewährt sich, dass die S7 die Mnemos der Bausteinaufrufe runter ladet und sie bei einem Upload wieder zu erkennen sind. Wenn ich nun entdecke dass Du, der mir unbekannte Programmierer, damals eine Übergabevariable 'DBNR' erzeugt hast, so werde ich Dir ein Extra-Räucherstäbchen spendieren, wenn auch ich mich dereinsten in ein Ashram zurückziehen werde...

Fairer Programmierstil an den Schnittstellen von Bausteinaufrufen!





BFlat
wieder auf Einsatz verschwindend
 
Aus aktuellem Anlass.
Das Monster aus dem Anhang ist mir vor kurzem untergekommen. Leider passt es selbst bei kleinster Schriftgröße nicht komplett auf den Bildschirm.
Schön ist was anderes :?
Innerhalb des FB´s werden dann nochmals solche Konstrukte aufgerufen.

Den Baustein sollte man aus dem Programm herausnehmen und dem Programmierer ordendlich über den Schädel ziehen.

Groß genug ist er ja.

Bei uns muss ein Netzwerk in der Breite komplett auf eine Seite passen und ein Baustein sollte immer so kurz wie möglich sein.
Und wehe da hält sich einer nicht dran....
 
:confused:
Aber dafür 800 Bausteine, oder wie soll ich das verstehen?
Für jede Ausgang eine separaten Baustein?

Nein, meistens natürlich nicht.

Unter Umständen kann ein Programm insgesamt ein paar hundert Bausteinaufrufe haben. Auf jeden Fall strukturiert und übersichtlich.

Es gibt z. B. schon Bausteine mit ca. 8 IN, 5 INOUT, 6 OUT.

Wir nehmen aber auch nicht einen Baustein an den ALLE Eingänge und ALLE Ausgänge dranstehen.

Es muss eben in einem vernünftigen Rahmen bleiben; wie es hier schon von einigen geschrieben wurde.
 
Zurück
Oben