AWL gegen SCL

Zuviel Werbung?
-> Hier kostenlos registrieren
Das kanns aber nicht alleine sein, ich nutze faktisch gar keine Gleitpunkt-OPs und trotzdem liegt die Speed7 definitv besser. Aber auch die Siemens 315 ist ja schneller geworden.

kommt natürlich auch drauf an, welche vipa da für die 314 zum einsatz kam ... die 100er serie sollte dann wohl doch langsamer sein :rolleyes:
 
@4L

derwestermann sprach von Speed7, maxi von vipa, ok. Aber, wenn es bei VIPA wirklich um eine schnelle Alternative geht geht, kommt ja eh nur die Speed7 in Frage, jedenfalls im S7-Bereich.

PS: Der maxi ist ein gutes Beispiel für die Unschärferelation!! *ROFL*
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Unterschied ST-SCL

Hallo Paule,

als kleines Beispiel für die AT-Funktion bei SCL:

Um z.B. ein einzelnes Bit z.B. in einem Word auszuwerten kann man in ST schreiben:
Code:
w_test_word :word;
 
w_test_word.0 // Bit0
w_test_word.1 // Bit1
 
usw.

in SCL muß man die Sicht auf die Variable ändern:

Code:
w_test_word :word;
ar_x_test_word AT w_test_word: ARRAY [1..16] OF BOOL;
 
ar_x_test_word[1] //Bit0
ar_x_test_word[2] //Bit1
 
usw.

hoffe es einigermaßen verständlich erklärt zu haben.

mfG Jan
 
Die AT Funktion bei SCL in der S7 wurde eingefügt, weil alle S7 die Motorola Byte Order haben und das Zerlegen einer Struktur damit einfach wird. Fast alle anderen Hardwareplattformen haben sonst die INTEL-Byte Order.

Beispiel eines SCL Codes mit AT

1. Die Variable "_sew_PE_pzd" ist unter VAR als ARRAY[0..5] of WORDs deklariert worden. Diese 6 Wörter werden vom SEW Umrichter MovidriveB als ein Block via PZD-Dienst im Profibus eingelesen.

2. Mit der AT funktion werden die einzelnen BITs und REGISTER in der Struktur "_status" deklariert:

_status AT _sew_PE_pzd :
STRUCT
StateErrNr : BYTE; // State (Bit5=0) or Error Number (Bit5=1)
MotorRun : BOOL; // Bit0 1= Motor lauft, 0=Stopp
DriveRdy : BOOL; // Bit1 1= FU Einschaltbereit, 0=nicht bereit
ReferOK : BOOL; // Bit2 1= Lift refernziert, 0=nicht referenziert
PositionOK : BOOL; // Bit3 1= Position erreicht, 0=nicht ereicht
BrakeOpen : BOOL; // Bit4 1= Bremse OFFEN, 0=geschlossen
ErrorWarn : BOOL; // Bit5 1= Fehler/Warnung steht an, 0=alles OK
LimitTop : BOOL; // Bit6 1= Endlage Oben erreicht, 0=OK
LimitBot : BOOL; // Bit7 1= Endlage Unten erreicht, 0=OK
Position : DWORD; // actual Position (0,1mm)
Speed : WORD; // actual Speed (mm/s)
CurProcent : WORD; // Current Nominal - Unit = %
IxTProcent : WORD; // Geraeteauslastung IxT
END_STRUCT;

3. IM SCL Programm kopiert man son den Errodcode, wenn das Einzelbit ErrorWarn HIGH wird, wie folgt um:

IF (_status.ErrorWarn) THEN
_IO_SEW._SEWstate := 15; // state = error = 15 (display "F")
_IO_SEW._SEWerror := WORD_TO_INT(BYTE_TO_WORD_status.StateErrNr));
_IO_SEW._ErrorCode := _IO_SEW._SEWerror; // ERROR-Out
END_IF;

4. Nun hat man bei einem anstehenden Fehler am SEW unter "_SEWerror" eine INT16 Nummer, die der gleichen Fehlernummer entspricht, die am SEW am Display angezeigt wird.
 
Missverständnis

Oh, da habe ich mich zu ungenau ausgedrückt!

Die AT Funktion in SCL kenne ich, ist ne gute Sache, hab sie schon öfter gebraucht.
Aber trotzdem danke Jan und Krauser.

Krauser schreibt er nimmt nicht die AT Funktion sondern wie es die 61131 vorschreibt.

PS: Ich programmiere SCL mit S7 absichtlich nicht mit den Siemens Features (z.B. die AT funktion), sondern wie die IEC 61131 Norm (ST) dies vorschreibt. Somit kann ich diesen SCL Code mit kleinen Anpassungen sehr schnell auf anderen SPSen portieren, die ST nach IEC 61131 können. Und das sind heutzutage fast alles Hersteller.

Dieses "sondern" hat mich interessiert und wollte dazu ein Beispiel. ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Welche CPU von VIPA

Hm,

Die Vipa war bei mir langsamer als die 314-2DP.
Riesen AWL Code, Siemens 5-7ms // Vipa 14-15 ms.

Glaube ist manchmal etwas Äpfel mit Birnen vergleichen.

Kop sehe ich nur noch in Modicon, Glöckner Möller und Schneider CPU`s

Hi,
mich würde interssieren welche CPU von VIPA langsamer war? VIPA hatte mal ne Zeit 2 CPU Reihen in der Baugröße S7-300 auf dem Markt.

Bei eine SPEED 7 CPU bezweifle ich deine Aussage, aber bei eine CPU aus dem System 300V kann das durchaus passieren.

Vielleicht kannst du dein Programm posten, dann kann ich auch mal nen Vergleich machen. Ich einige VIPA CPUs da.

Viele Grüße
micha732
 
Zurück
Oben