TIA Funktionsbaustein AWL benutzen in TIA s7-1200 ?

stepper7

Level-2
Beiträge
245
Reaktionspunkte
9
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
hab da ein kleines Problem, vielleicht hat jemand nen Tip für mich ?
Ich muss ein wichtigen und etwas grösseren FB von einer Fremdfirma der in AWL geschrieben (Step7 300er CPU) wurde ins TIA Portal Projekt mit übernehmen.
Leider hab ich nur eine S7-1200 (1215) die ja kein AWL kann.
Beim öffnen des FB´s meckert auch gleich TIA Portal das die Erstellsprache nicht unterstützt wird.
Gibts da ne Lösung was man machen kann, das ich den Baustein übernehmen kann ?
 
Soviel ich weiß geht da nichts.
Ich hab alles, was ich "mitnehmen" wollte in FUP und SCL umgesetzt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo stepper7

es gibt keinen Weg für AWL aud die 1200.

Auf der 1500 wird AWL vermutlich durch Befehle emuliert, die bei der 1200 nicht vorhanden sind. AWL-Zaubercode ist dort langsamer als SCL! Unter Zaubercode verstehe ich die Tricks, die man mit den Registern AR1, AR2, DB1 und DB2 und nicht zu vergessen mit dem ANZ machen kann.

So tolle Sachen wie:
Code:
L 0.0
L D[AR2,P#4.0]
-D
SPZ M002
SPM M003
SPP M004
SPA M001

Ich find immer wieder solches Zeug. Zuerst REAL laden und dann DINT subtrahieren, weit und breit aber keine Konvertierung --- arrrgh

Sowas kann nur die 1500 und braucht dafür richtig viel Zeit. Macht aber dann genau das was die 416 auch macht. Ein

Code:
IF a[i] = 0 THEN
    ... // der Code von M002
ELSE
    IF a[i] < 0 THEN 
        ... // der Code von M003
    ELSE
        ... // der Code von M004
    END_IF
END_IF

macht genau das Gleiche, der Code vom M001 wird sowieso nie ereicht und dabei ist SCL sogar um den Faktor 30 schneller. Das mit dem Faktor relativiert sich, je mehr sinnvolles Zeug da drin ist.


Schau dem Baustein tief in die Augen, und schreib ihn in SCL neu.

'n schön' Tach auch
HB
 
Wo steht das ???? ......

Hi

nirgends, das kann man nachmessen ... selber ... mit RUNTIME oder mit Schleifen.
Das mit der Schleife geht auf allen CPU, das mit dem RUNTIME nur auf 1200 und 1500.

Die Schleifenmessung:
Einen TP mit 100ms aufziehen
Und ein While solange laufen lassen wie der TP.Q true ist
Im While einen Zähler hoch zählen, also zählen wieviele Schleifendurchgänge man in 100ms schafft,
und den auszumessenden Code ausführen
nach der Schleife 100ms durch die Zahl der Schleifendurchgänge teilen

AWL Zauberkunststücke dauern bei der 1516 in etwa genauso lange wie bei der 317.
Mit AWL ohne Tricks, KOP und FUP ist eine 1516 im Schnitt Faktor 10 schneller als die 317.
Bei SCL ist eine 1516 im Schnitt Faktor 15 schneller als die 317.

Bleiben wir auf der 1516: Das blöde Beispiel oben ... Faktor 30
Wenn man in KOP/FUP die Bestimmung der ENO abschaltet, dann sind SCL und KOP/FUP gleich auf.


Auf der einen Seite kann man in Euphorie verfallen, aber in der Praxis ist das nicht so relevant.
Zuerst mal musst du deine Maschine oder deinen Prozess steuern. Wenn du einen Zyklus kleiner als 50ms schaffst, dann sind die meisten anzusteuernden Aktoren (Motoren, Schütze, Lampen) bestens versorgt. Für spezielle Probleme wie Pulsweitenmodulation gibt es Funktionsbaugruppen, das sollte man nicht versuchen durch einen OB1 zu erzeugen. Die vom Marketing ach so gepriesene Klemme zu Klemme Reaktionszeit hat mir in der Praxis noch nie irgend ein Problem bereitet.

Was ein Problem ist, sind die unnötigen Anforderungen und der Unwille diese gegeneinander abzuwägen. Alles ist immer ganz besonders wichtig. Dem ist aber nicht so. Die Werkzeugmaschine soll ein Loch bohren, einen ersten Greifer steuern, der das Werkstück von der ersten Pallette zur Bearbeitungsposition hebt, einen zweiten Greifer steuern, der das Werkstück von der Bearbeitungsposition zur zweiten Pallette hebt, eine Visualisierung ansteuern, Buchhaltung darüber machen wieviele Löcher gebohrt wurden, ... und das alles im OB1 mit einer Zykluszeit von unter 1ms. Blödsinn. Die Halteklammern brauchen 250ms zum Schließen, der Bohrer 15 s und die Greifer 30s. Wozu wird da die Zykluszeit von unter 1ms gefordert?

Das sind drei Bearbeitungsschritte. Das packt man in drei FC und führt nur den aus, der zum aktuellen Schritt gehört. Die Visu kommt in einen OB der nur alle 100ms dran kommt, und die Buchhaltung in einen der nur alle 1s dran kommt.
Und schon reicht für die selbe Aufgabe eine 1513 wo vorher eine 1518 bestellt wurde.

Also es ist wichtig zu wissen wie lange was dauert, und es ist noch wichtiger zu wissen was gebraucht wird. Nur wenn man beides weiß, dann klappt es an der Anlage.

'n schön' Tach auch
HB
 
Zurück
Oben