Notifications
Clear all

Alarmton programieren

1 Posts
1 Users
0 Likes
4,085 Views
(@moderator)
Noble Member Admin
Joined: 14 years ago
Posts: 1044
Topic starter  

Mit Hilfe des Filemanagers der LCS-Software können Sie sehr einfach einen Alarmton programieren.
Rufen Sie das Programm "scanprog" im Verzeichnis "Spezial" im Filemanager auf:

 LOADSET PEAK1FREQ
 STOREVAR 05h
 LOADSET SPECDISP
 JUMPNZ LABEL-1
 LOADSET PEAK1POW
 LOADSET PEAK1FREQ
 ACALL PROG-0
 LOADSET PEAK2POW
 LOADSET PEAK2FREQ
 ACALL PROG-0
 MAX
 LOADSET PEAK3POW
 LOADSET PEAK3FREQ
 ACALL PROG-0
 MAX
 LOADVAR 01h
 JUMPZ LABEL-2
 LOADVAR 01h
 LDSHCO 02h
 JUMPGE LABEL-3
 PPIXTEXT 00h, 0000h, "ICNIRP"
 JUMP LABEL-4
LABEL-3:
 LOADVAR 01h
 LDSHCO 01h
 SUB
 PPIXDBL 00h, 0000h, "Salzb#"
 LDSHCO 64h
 LDSHCO 04h
 LOADVAR 01h
 SUB
 POW
 LDSHCO 0Ah
 DIV
 LDSHCO 01h
 MAX
 DIV
LABEL-4:
 DUP
 PPIXBAR 02h
 LDCONST 100
 MUL
 PPIXDBL 00h, 0100h, "###.##"
LABEL-1:
 AJUMP LABEL-5
LABEL-2:
 PPIXTEXT 00h, 0001h, "W/m"
 DUP
 LOG10
 LDSHCO 00h
 MAX
 LDSHCO 06h
 DIV
 PPIXBAR 02h
 DUP
 LDSHCO 01h
 JUMPLT LABEL-6
 DUP
 LDCONST 1000
 JUMPGE LABEL-7
 PPIXTEXT 00h, 0000h, "u"
 JUMP LABEL-8
LABEL-7:
 LDCONST 1000
 DIV
 DUP
 LDCONST 1000
 JUMPGE LABEL-9
 PPIXTEXT 00h, 0000h, "m"
 JUMP LABEL-8
LABEL-9:
 LDCONST 1000
 DIV
 PPIXTEXT 00h, 0000h, " "
 JUMP LABEL-8
LABEL-6:
 LDCONST 1000
 MUL
 DUP
 LDSHCO 01h
 JUMPLT LABEL-10
 PPIXTEXT 00h, 0000h, "n"
 JUMP LABEL-8
LABEL-10:
 LDCONST 1000
 MUL
 PPIXTEXT 00h, 0000h, "p"
LABEL-8:
 PPIXDBL 00h, 0100h, "###.##"
LABEL-5:
 LOADVAR 03h
 JUMPNZ LABEL-11
 STOP
LABEL-11:
 LDCONST 170
 CHAIN
PROG-0:
 STOREVAR 02h
 LDSHCO 0Ah
 SWAP
 LOADSET 97
 SUB
 LDSHCO 0Ah
 DIV
 POW
 LDCONST 1000
 DIV
 LOADVAR 01h
 LDSHCO 01h
 JUMPEQ LABEL-12
 LOADVAR 02h
 SQUARE
 MUL
 LDCONST 139.8
 MUL
 JUMP LABEL-13
LABEL-12:
 SQRT
 LOADVAR 02h
 MUL
 LDCONST 2295
 MUL
 LDCONST 10000
 DIV
 LOADVAR 02h
 LDCONST 2000
 JUMPGE LABEL-14
 LOADVAR 02h
 LDCONST 400
 JUMPLT LABEL-15
 LOADVAR 02h
 SQRT
 LDCONST 1.375
 MUL
 JUMP LABEL-16
LABEL-14:
 LDCONST 61
 JUMP LABEL-16
LABEL-15:
 LDCONST 28
LABEL-16:
 DIV
LABEL-13:
 RET
 STOP

Fügen Sie nun direakt am Anfang folgende Codezeilen ein:

LDCONST 301
 CHAIN

(Hierdurch wird nach jedem Sweep das Unterprogramm 301 aufgerufen und die dortigen Befehle ausgeführt)
Das geänderte "scanprog" sollte dann wie folgt aussehen:

LDCONST 301
 CHAIN
 LOADSET PEAK1FREQ
 STOREVAR 05h
 LOADSET SPECDISP
 JUMPNZ LABEL-1
 LOADSET PEAK1POW
 LOADSET PEAK1FREQ
 ACALL PROG-0
 LOADSET PEAK2POW
 LOADSET PEAK2FREQ
 ACALL PROG-0
 MAX
 LOADSET PEAK3POW
 LOADSET PEAK3FREQ
 ACALL PROG-0
 MAX
 LOADVAR 01h
 JUMPZ LABEL-2
 LOADVAR 01h
 LDSHCO 02h
 JUMPGE LABEL-3
 PPIXTEXT 00h, 0000h, "ICNIRP"
 JUMP LABEL-4
LABEL-3:
 LOADVAR 01h
 LDSHCO 01h
 SUB
 PPIXDBL 00h, 0000h, "Salzb#"
 LDSHCO 64h
 LDSHCO 04h
 LOADVAR 01h
 SUB
 POW
 LDSHCO 0Ah
 DIV
 LDSHCO 01h
 MAX
 DIV
LABEL-4:
 DUP
 PPIXBAR 02h
 LDCONST 100
 MUL
 PPIXDBL 00h, 0100h, "###.##"
LABEL-1:
 AJUMP LABEL-5
LABEL-2:
 PPIXTEXT 00h, 0001h, "W/m"
 DUP
 LOG10
 LDSHCO 00h
 MAX
 LDSHCO 06h
 DIV
 PPIXBAR 02h
 DUP
 LDSHCO 01h
 JUMPLT LABEL-6
 DUP
 LDCONST 1000
 JUMPGE LABEL-7
 PPIXTEXT 00h, 0000h, "u"
 JUMP LABEL-8
LABEL-7:
 LDCONST 1000
 DIV
 DUP
 LDCONST 1000
 JUMPGE LABEL-9
 PPIXTEXT 00h, 0000h, "m"
 JUMP LABEL-8
LABEL-9:
 LDCONST 1000
 DIV
 PPIXTEXT 00h, 0000h, " "
 JUMP LABEL-8
LABEL-6:
 LDCONST 1000
 MUL
 DUP
 LDSHCO 01h
 JUMPLT LABEL-10
 PPIXTEXT 00h, 0000h, "n"
 JUMP LABEL-8
LABEL-10:
 LDCONST 1000
 MUL
 PPIXTEXT 00h, 0000h, "p"
LABEL-8:
 PPIXDBL 00h, 0100h, "###.##"
LABEL-5:
 LOADVAR 03h
 JUMPNZ LABEL-11
 STOP
LABEL-11:
 LDCONST 170
 CHAIN
PROG-0:
 STOREVAR 02h
 LDSHCO 0Ah
 SWAP
 LOADSET 97
 SUB
 LDSHCO 0Ah
 DIV
 POW
 LDCONST 1000
 DIV
 LOADVAR 01h
 LDSHCO 01h
 JUMPEQ LABEL-12
 LOADVAR 02h
 SQUARE
 MUL
 LDCONST 139.8
 MUL
 JUMP LABEL-13
LABEL-12:
 SQRT
 LOADVAR 02h
 MUL
 LDCONST 2295
 MUL
 LDCONST 10000
 DIV
 LOADVAR 02h
 LDCONST 2000
 JUMPGE LABEL-14
 LOADVAR 02h
 LDCONST 400
 JUMPLT LABEL-15
 LOADVAR 02h
 SQRT
 LDCONST 1.375
 MUL
 JUMP LABEL-16
LABEL-14:
 LDCONST 61
 JUMP LABEL-16
LABEL-15:
 LDCONST 28
LABEL-16:
 DIV
LABEL-13:
 RET
 STOP

Betätigen Sie jetzt den Button "Übersetzen" und dann "Schreiben"

Nun müssen Sie noch das neue Unterprogramm 301 erstellen.
Klicken Sie dazu auf "Neu".
Nun geben Sie bei "Id" 301 und bei "Beschreibung" Alarmton ein.
Betätigen Sie jetzt den Button "Übersetzen" und dann "Schreiben"
Das Programm 301 wurde erstellt.
Fügen Sie jetzt in das Programm 301 folgenden Code ein:

 LOADSET PEAK1POW
 LDCONST -110
 JUMPGE LABEL-25
 STOP
 LABEL-25:
 LDSHCO 10h
 STORESET STDTONE
 STOP

Betätigen Sie jetzt den Button "Übersetzen" und dann "Schreiben"

Nun zur Funktion:
Die Zahl, in der ersten Zeile, bei LDCONST -110, gibt den dBm-Wert an, ab dem der Alarmton ertönen soll (hier also -110).
Diesen Wert können Sie natürlich beliebig anpassen.
Die Zahl, in der Codezeile LDSHCO 10h, gibt die Länge des Alarmtons in mS an (hier also -10h = 16mS).
Auch diesen Wert können Sie beliebig anpassen.

Durch einen Factory-Reset können Sie die ursprüngliche Funktion natürlich jedezeit wieder herstellen.

Snip


   
Quote
Share: