VKE und Pointer im FC...

halorenzen

Level-1
Beiträge
47
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

möchte einen FC zum parametrieren von Timern erstellen
d.h. ich gebe in einem Wort einen Zeitwert in x*10ms vor....
( Beispiel: 1 Sekunde = 1000 )

nun kann ich den Zeitwert abfragen auf
0,01s bis 9,99s = 1 - 999
10,0s bis 99,9s = 1000 - 999000 (bzw. 65536 bei 16Bit Eingangswort)

um festzulegen ob Bit12/13
00 *10ms
01 * 100ms usw....


um die Bits in dem tempor. Wort zu setzen muß ich ein VKE haben...

oder anders gestellt die Frage wie kann ich die Bit´s 12+13 via Pointer
direkt in das Wort schreiben...
wollte keine S5 Schmiermerker benutzen :)

Danke
:wink:
 
Hilft das???

Sagen wir im MW 200 steht dein Zeitwert:


L MW200
L 999
>I
SPB N1
L MW200
L W#16#9FF
UW
T MW 200
SPA N2
N1:
L MW200
L W#16#1FF
UW
T MW200
N2: L MW200
SE T1
 
Re: Hilft das??? JAAA !!!!

Anbei FC zur Zeit"umrechnung"

Adresse Deklaration Name Typ Anfangswert Kommentar
0.0 in Zeit WORD Sollwert Zeit
2.0 out S5Zeit WORD
2.0 temp SZeit WORD Sollwert Zeit

Netzwerk: 1

Eingangswert max. 16Bit (32767)
0,01 bis 327,67 Sekunden

L #Zeit
L 999 // Sollwert 9,99 Sekunden
<=I
SPB M1 // Abfrage 1 bis 999

L #Zeit
L 9999 // Sollwert 99,90 Sekunden
<=I
SPB M2 // Abfrage 1000 bis 9990

L #Zeit
L 9999 // Sollwert 99,90 Sekunden
>I
SPB M3

SPA END

// Zeitbasis 0,01 S ----------------------------------------------------
M1: NOP 0 // 0,01 Sekunde bis 9,99 Sekunden
L #Zeit
ITB // in BCD wandeln
L W#16#FFF // 0000 1111 1111 1111
UW // UND Verknüpfung
T #SZeit
SPA END


// Zeitbasis 0,1 S -----------------------------------------------------
M2: NOP 0 // 0,1 Sekunde bis 99,9 Sekunden
L #Zeit
L 10
/I // Wert von 10 bis 9990 auf 1 bis 999 kürzen
ITB // in BCD wandeln
L W#16#FFF // 0000 1111 1111 1111
UW // UND Verknüpfung
L W#16#1000 // 0001 0000 0000 0000
OW
T #SZeit
SPA END


// Zeitbasis 1,0 S -----------------------------------------------------
M3: NOP 0 // 1,0 Sekunde bis 999,0 Sekunden
L #Zeit
L 100
/I // Wert von 10 bis 9990 auf 1 bis 999 kürzen
ITB // in BCD wandeln
L W#16#FFF // 0000 1111 1111 1111
UW // UND Verknüpfung
L W#16#2000 // 0010 0000 0000 0000
OW
T #SZeit
SPA END

END: L #SZeit
T #S5Zeit

------------------------------------------------------------------------------------

Danke noch mals für den "Schups....."
 
Zurück
Oben