Step 7 AWL Daten aus OB32 Array auslesen

Hans_Hansen

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich führe gerade ein Projekt im Bereich Lastmanagement mit Simatic Powerrate V4.0 und Step 7 V5.5 durch. In einem Anwendungsbeispiel habe ich eine Berechung der Abtastzeit in AWL gefunden. Mir ist leider nicht ganz klar wie diese Berechung funktioniert:


Schnitstelle vom OB 32:
Temp OB32_System ..................... ARRAY [1..20] of Byte
Sample_time ................... Real


L #OB32_System[11]
SLD 8
L #OB32_System[12]
OD
DTR
L 1.000000e+003
/R
T #sample_t

Was steht in dem Array von der Variable OB32_System im Register 11 und 12 drinnen?
OB 32.jpg



Bin für jeden Tipp sehr dankbar.

MFG Hans
 
Normal steht in Weckalarm OBs ab Byte 10.0 die Zykluszeit des OBs in mS als INT. Bedingt durch das Array im Temp das mit 1 beginnt wandert diese auf Index 11 und 12. Anschliessend wird aus den 2 Bytes wieder ein Wort gebildet das zu einem Real gewandelt wird der die Zykluszeit des OBs beinhaltet. Warum das so umständlich gemacht wird im Beispiel ist mir schleierhaft...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was steht in dem Array von der Variable OB32_System im Register 11 und 12 drinnen?
markiere den OB32 im Bausteinordner und drücke F1

#OB32_System[11] + #OB32_System[12] sind zusammen das LW10: OB32_EXC_FREQ : INT //Frequency of execution (msec)

Warum das so umständlich gemacht wird im Beispiel ist mir schleierhaft...
War das Anwendungsbeispiel eine AWL-Quelle? Da hat der Autor/Programmierer vielleicht keine Lust gehabt, die komplette Standard-Deklaration der OB-TEMP-Variablen hinzutippen oder zu kopieren. Die Deklarationen kann man aber einfach herstellen: in ein anderes (neues leeres) Projekt einen OB32 einfügen, dann den OB32 öffnen und die Deklarationen an den Anfang des TEMP-Bereichs im eigenen OB32 kopieren.
(dann noch die Deklaration des OB32_System-Array löschen und alle Verwendungen des ursprünglichen #OB32_System auf die neuen Variablen anpassen)

Harald
 
Zurück
Oben