Binärlogik in SCL / ST

Zuviel Werbung?
-> Hier kostenlos registrieren
Vielleicht liest Du Dir noch mal die ersten Posts dieses Threads durch.
;)
Ich kann keine begruendung sehen fuer dieses A:=A or B.Wo steht das?Ich wuesste nicht wo für man das braucht.
Ich stoere mich am dem A:=A.....
Nennt mir doch mal einen Anwendungsfall.Ich wurde ja sonst nicht nachfragen.
 
Kann man so machen.Ohne jetzt viel nachgedacht zu haben, hätte ich jetzt versucht 3 Bausteine(pro Fördeband einer ).
Die Bausteine kriegen die Eingangsbits und geben dann eine behälternummer aus(1...8).

Das war mein erstes Projekt mit einer SPS womit ich Geld verdient hatte. Ich hatte zuvor nur mit Assembler und uC gearbeitet und da kam es darauf an, möglichst kleinen Code zu schreiben der flexibel war.

Heute benutze ich nur noch OOP weil der Speicher billig ist und die CPUs die power haben. Ich würde auch nie wieder einen Schritt in die andere Richtung gehen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich kann keine begruendung sehen fuer dieses A:=A or B.Wo steht das?Ich wuesste nicht wo für man das braucht.
Ich stoere mich am dem A:=A.....
Nennt mir doch mal einen Anwendungsfall.Ich wurde ja sonst nicht nachfragen.

Iterative Zuweisungen sind in vielen Programmiersprachen gängig.
Das verringert schreibarbeit und macht den Code übersichtlicher.

Ein Anwendungsfall ist bspw. das hochzählen eines Wertes für eine Prozesssimulation. Das Hochzählen hängt dann nur von der Zykluszeit ab und nicht wie bei einem klassischen Zähler vom Zählimpuls.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich tu jetzt mal meine persönliche Meinung kund und will dabei aber keinen persönlich auf die Zehen treten :)
Bei so manchem währe es wohl besser, wenn er anstelle von SCL einfach KOP oder FUP verwenden würde.
Hier wird um S/R-Dominanz oder Selbsthaltung diskutiert ... Wenn selbst bei solchen Basics Unklarheiten herrschen, dann ist SCL vielleicht nicht das richtige Werkzeug. In KOP oder FUP ist das viel leichter ersichtlich und auch für andere nachvollziehbar.
Sowohl TIA als auch Codesys ermöglichen gemische Bausteine. Also logische Verknüpfung in KOP / FUP und Berechnungen in SCL / ST.

Kollegen denkt bitte immer daran, dass wir uns Programme nicht für uns schreiben, sondern für Kunden!

So, das war jetzt meine Ansprache zum Jahresende 😀
 
Nur kleine Info am Rande, im Codesys brauche ich keine S/R oder R/S "basteln". Einfach in der Variablen deklarieren und im Code anwenden.

Aber ich gebe @Blockmove recht, das Programm so einfach als möglich halten. KOP oder FUP ist keine Schande oder Zeichen schlechten programmierens.
Da ich als Endanwender meist den Code von Anlagenbauern bearbeite bleibt mir oft nichts anderes übrig als weiter zu machen wie der Anlagenbauer das begonnen hat. Vieles wird aber gnadenlos vereinfacht...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe sowas trotzdem noch nie gesehen in SCL, auch wenn es Basics sind.
SCL vergleiche ich gerne mit Mathe. Da kannst du auch nicht einfach der Reihe nach rechnen sondern musst auch noch Punkt-Vor-Strich und die anderen Rechenregeln befolgen. In SCL-Code gibt es bei vielen, einschließlich mir, die „Angstklammern“. Meist komplett überflüssig aber man ist sich halt nicht 100% sicher. Seit TIA die Gemischtprogrammierung ermöglicht hatte , habe ich kaum mehr reine SCL-Bausteine geschrieben.
 
Ich bin bestimmt kein Verfechter von if orgien.
Da hätte ich es aber angewendet, in SCL.Und zwar zweimal hintereinander.;)

Es gibt schöne If und hässliche If. Genauso wie schöne und hässliche Zuweisungen.
Es muss ganz einfach sauber, übersichtlich und lesbar strukturiert sein.
SCL verzeiht Flicken und Basteln kaum. Das fällt einem irgendwann auf die Füße
 
komplizierte BitLogik in SCL! Bitte tut das nur wenn es denn unbedingt sein muss!
SCL hat wie AWL das Problem, dass man immer darüber nachdenken muss und einzelne Zeilen analysieren. Wenn du als Servicetechniker vor der Anlage sitzt und Fehler suchst ist das extrem ermüdend fürs Hirn. Dann ist man meist aus den unterschiedlichsten Gründen nicht wirklich ausgeschlafen (Zeitverschiebung etc.). Man hat 10 Probleme Gleichzeitg zu lösen! Im Hintergrund rufen Sie dir schon das nächste gerade aufgetretebe Problem zu! Dann kommt der Produktionsleiter um die Ecke und fragt: "soll ich meine Mannschaft nach Hause schicken, oder schaffen Sie das Heute noch?"

Erstmal über Softwarearchitektur nachdenken, bevor man BitLogik in SCL macht.

Ein sinnvoller Aufbau ist:

Alle Grundlogiken und Sicherheitsverrigelungen sowie einfachen Handbetrieb in KOP. Man sieht im Status auf den ersten Blick die Grüne Linie durchgehen oder eben nicht! Dazu muss man nicht nachdenken, das geht automatisch.

Darüber legt man dann seine Bausteine für die Automatik. Das macht SCL sehr viel Sinn -sofern das nicht wieder nur BitLogik ist!
Ausserdem ist man weitgehend davon befreit, sich im Automatik die Maschine zu zerstören, da die Sicherheitsfunktionen auf
unterster Ebene implementiert sind und die Automatik daran nicht vorbeikommt.
 
Auch wenn einige mich jetzt steinigen.Ich benutze SCL nur fuer Schleifen und zum Rechnen oder umfangreiche vergleiche.
Und auch da nur(normalerweise) als abgeschlossene FC's und FB's die irgendwo im FUP Code aufgerufen werden.
Aber da s ist natuerlich Geschmackssache.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
:unsure:
Denkt Ihr eigentlich noch an die Intention des TEs:
ich möchte kein (neues) Thema aufmachen, weshalb man binäre Logik in SCL / ST umsetzt, anstatt einfach FUP/KOP zu nutzen. Die grundsätzlichen Vor- und Nachteile sollten bekannt sein.
...
Falls ihr SCL / ST für binäre Logik einsetzt: Wie formatiert ihr die Statements, damit diese halbwegs lesbar bleiben?
;)
 
Zurück
Oben