TIA SCL lernen

Zuviel Werbung?
-> Hier kostenlos registrieren
Wir versuchen immer wo möglich in KOP zu programmieren, damit der Schichtelektriker aus der Instandhaltung auch die Möglichkeit hat, einen Fehler so schnell wie möglich zu finden.
Davon ausgehend sollten die Programme nicht so fremd sein.
Ich war auch lange genug Instandhalter. Persönlich kam ich besser mit SCL/ST code zurecht, als mit unzähligen FUP netzwerken. Hatte aber auch Kollegen, da war das andersrum. Ich will hier auch keine Grundsatzdiskussion starten. Ich denke nur, das auch einem Instandhalter ein gewisses Maß an SCL/ST zumutbar ist. Genauso wie wir dafür sorgen müssen, dass auch jemand fremdes unser Programm schnell verstehen kann. Der Onkel hat das ja schon auf den Punkt gebracht.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Als Elektriker ist Kop das Beste ! Programme ändern sich nicht von alleine. Wenn ich schauen möchte warum ein Bedingung fehlt .
Habe selber Jahre in der Instandhaltung gearbeitet !
Gruß
 
Zuletzt bearbeitet:
SCL lernen ist eine löbliche Absicht. Aber warum willst Du Logik-Verknüpfungen von FUP nach SCL umstellen? FUP-Logik ist viel schneller zweifelsfrei zu verstehen als SCL-Code, SCL-Code läßt sich viel schlechter beobachten als FUP, und FUP verhindert automatisch eine Menge Fehler die man unversehens in SCL machen kann, wie unvollständige Logik, falsche Klammersetzung, verschiedene Zielvariablen in den THEN- und ELSE-Zweigen, oder nichtbeachten von Vorrangregeln und mehr...
Für jede Aufgabe soll man das am besten geeignete Werkzeug verwenden. Und nicht das, was gerade vermeintlich in Mode ist.

Ich würde ebenfalls auf Leerzeichen in Tagnamen verzichten. Nicht daß man sich noch an sowas gewöhnt. In anderen seriösen Programmiersprachen sind Leerzeichen in Variablennamen nicht zulässig.

Harald
Was sind denn diese anderen seriösen Programmiersprachen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn's um einfache Klapperlogik geht, pflege ich KOP zu verwenden. Wird es komplexer und durch die Verqwendung von KOP/FUP nicht einfacher, kann man zu SCL schwenken.
Jetzt habe ich aber gerade die folgende Erfahrung gemacht: Ein FC hat eine Laufzeit von 180µs. Die Netzwerke auf SCL umgeschrieben, senkt die Laufzeit auf 120µs! Dann habe ich den Baustein in SCL neu erstellt und habe nun eine Laufzeit von 110µs.
Da war ich doch platt, das ganze mit einer 1515.
Jetzt kann latürnich sagen, dass man heute ja auch keine Programme mehr im Maschinencode schreibt, damit das auch auf einem 386er luffähig ist. Aber leider kriegt unser Chef jedesmal Zustände, wenn man auch nur eine SPS eine Stufe schneller wünscht.
Zudem hatte ich schon Anlagen mit 1519ern, die trotzdem bei 40ms Zykluszeit waren. Onkel Dagoberts Einwand finde ich da komplett richtig. Wenn Bausteine gut geschrieben und dokumentiert sind, braucht da keiner reinzuschauen und dann ist SCL sicher eine gute Wahl. Auch wenn ich selbst lieber mit KOP schreibe, weil einfacher zu lesen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
C und Nachfolger, Java, PASCAL und Nachfolger, BASIC, VB und Nachfolger, ...
Gegenfrage: kennst Du eine Programmiersprache, wo Leerzeichen in den Bezeichnern erlaubt sind?
:unsure:

Batch:
Code:
@echo off
set test string=Hallo Welt!
echo %test string%
:D
 
:unsure:

Batch:
Code:
@echo off
set test string=Hallo Welt!
echo %test string%
:D
Habe zu lange keine BatchDatei mehr programmiert, um noch Dein Beispiel verstehen zu können.
Aber diese Sprache hat doch die Leerzeichen so konsequent wie kaum eine andere als TrennZeichen zwischen Kommando und dem Rest der Zeile bzw. zwischen den einzelnen Parametern gedeutet.
Was allerdings sehr bequem beim Eintippen von Kommandos war: die TreffSicherheit ist bei der LeerTaste einfach grösser als bei anderen denkbaren TrennZeichen (z.B. Komma oder SemiKolon). Und die Wirkung der LeerTaste war immer unabhängig davon, ob die ShiftTaste betätigt war oder nicht. Das war noch BedienungsKomfort! ;)
 
Gegenfrage: kennst Du eine Programmiersprache, wo Leerzeichen in den Bezeichnern erlaubt sind?
Ich kenne eine Programmiersprache in der das Leerzeichen elementar wichtig ist ->

Ebenso würde ich gerne mal in Shakespeare programmieren xD

[Enter Romeo and Juliet]

Romeo:
Thou art a vile coward! Open thy heart!
Juliet:
You are as lovely as the sum of Hamlet and a brave tree. Open thy heart.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Jetzt habe ich aber gerade die folgende Erfahrung gemacht: Ein FC hat eine Laufzeit von 180µs. Die Netzwerke auf SCL umgeschrieben, senkt die Laufzeit auf 120µs! Dann habe ich den Baustein in SCL neu erstellt und habe nun eine Laufzeit von 110µs.
Da war ich doch platt, das ganze mit einer 1515.
Wobei das sicher nicht an SCL liegt, sondern an Siemens wie beide Sprachen in die unterlagerte Low-Level Sprache übersetzt werden. Wenn das so viel bringt, dann schreibe ich einen Compiler der von FUP nach SCL übersetzt, und lasse dann weiter übersetzen. Denn alles was in FUP programmiert werden kann, lässt sich auch in SCL verfassen.
Bei FUP hast du aber noch zusätzlich das BIE-Bit / bzw. EN/ENO, das hat der SCL-Compiler von Step7 Classic auch verarbeitet, und war ein Grund dafür warum die AWL-Freunde SCL wegen des aufgeblähten Codes so verteufelt haben. Bei Step7 ließ sich das aber mit Abwahl der Option "OK Flag setzen" deaktivieren.
 
Die Option "ENO automatisch setzen" existiert bei SCL Bausteinen auch in TIA-Portal noch, ist aber so wie es aussieht in Voreinstellung deaktiviert. Das muss man eben beachten, dass FUP im Hintergrund mehr Fehlerauswertungen macht als SCL. Bei reinen Bitverknüpfungen bei denen es kein EN/ENO gibt, sollte imho kein Unterschied existieren.
 
Zurück
Oben