Hallo zusammen,
ich habe in letzter Zeit angefangen, mich mit Scripts zu beschäftigen und habe nun angefangen, den AFR200 neu zu scripten. Logfile-Fehlermeldung kommen beim aktuellen Stand nicht mehr, jedoch reagiert das script nicht ganz so wie ich will.
Soll:
-Ticketdrucker ausgeschaltet, wenn Elektrik aus, autom. Anschalten bei Start der Elektrik
-Bei Start: Wechsel in Mode 1 (Startbildschirm)
-Bei Drücken der Auslösetaste in Mode 1: Wechsel zur Codeeingabe
-Code richtig: Wechsel zu Mode 5 (Temporär)
-Code falsch: Wechsel zu Mode 4 (Falsche Eingabe)
-In Mode 4: Timer 3sec., danach zurück zu Mode 3
Ist:
-Der Drucker reagiert auf elektrik
-Bei Drücken der Auslösetase kann man den Code eingeben
ABER:
-Der Bildschirm aktualisiert sich nicht, lediglich an der Akustik lassen sich z.B: die Codeeingabe erkennen
-Nach der Codeeingabe passiert nichts mehr.
Noch ein Paar erklärungen:
Das Druckerdisplay wird folgenden Variablen angesteuert:
ticketprinter_display (1. Zeile)
IBIS (2. Zeile)
Hier die Scripte, anhand der Logfile ließ sich erkennen, dass mit Varlist und Stringvarlist alles ok zu sein scheint.
Ich weiß, es ist etwas Länger, trotzdem würde es mich echt freuen wenn sich jemand der Sache annehmen würde und mich somit beim Scriptlernen unterstützt!
EDIT: Script, Varlist, Stringvarlist & Constfile sind angehängt (AFR200.zip)
Hauptscript:
'---TRIGGER-----------------------------------------------------------------------------
{trigger:IBIS_0}
(L.L.elec_busbar_main)
{if}
(T.L.ev_IBIS_piep)
0 (S.L.AFR_Eingabe)
1 (S.L.AFR_Eingabe_Aktiv)
{endif}
{end}
{trigger:IBIS_1}
(L.L.elec_busbar_main)
{if}
(T.L.ev_IBIS_piep)
1 (S.L.AFR_Eingabe)
1 (S.L.AFR_Eingabe_Aktiv)
{endif}
{end}
{trigger:IBIS_2}
(L.L.elec_busbar_main)
{if}
(T.L.ev_IBIS_piep)
2 (S.L.AFR_Eingabe)
1 (S.L.AFR_Eingabe_Aktiv)
{endif}
{end}
{trigger:IBIS_3}
(L.L.elec_busbar_main)
{if}
(T.L.ev_IBIS_piep)
3 (S.L.AFR_Eingabe)
1 (S.L.AFR_Eingabe_Aktiv)
{endif}
{end}
{trigger:IBIS_4}
(L.L.elec_busbar_main)
{if}
(T.L.ev_IBIS_piep)
4 (S.L.AFR_Eingabe)
1 (S.L.AFR_Eingabe_Aktiv)
{endif}
{end}
{trigger:IBIS_5}
(L.L.elec_busbar_main)
{if}
(T.L.ev_IBIS_piep)
5 (S.L.AFR_Eingabe)
1 (S.L.AFR_Eingabe_Aktiv)
{endif}
{end}
{trigger:IBIS_6}
(L.L.elec_busbar_main)
{if}
(T.L.ev_IBIS_piep)
6 (S.L.AFR_Eingabe)
1 (S.L.AFR_Eingabe_Aktiv)
{endif}
{end}
{trigger:IBIS_7}
(L.L.elec_busbar_main)
{if}
(T.L.ev_IBIS_piep)
7 (S.L.AFR_Eingabe)
1 (S.L.AFR_Eingabe_Aktiv)
{endif}
{end}
{trigger:IBIS_8}
(L.L.elec_busbar_main)
{if}
(T.L.ev_IBIS_piep)
8 (S.L.AFR_Eingabe)
1 (S.L.AFR_Eingabe_Aktiv)
{endif}
{end}
{trigger:IBIS_9}
(L.L.elec_busbar_main)
{if}
(T.L.ev_IBIS_piep)
9 (S.L.AFR_Eingabe)
1 (S.L.AFR_Eingabe_Aktiv)
{endif}
{end}
{trigger:IBIS_eingabe}
1 (L.L.AFR_Mode) =
{if}
(T.L.ev_IBIS_piep)
(M.L.AFR_Setmode_3)
{end}
{end}
'---INIT-----------------------------------------------------------------------------
{macro:ticketprinter_init}
0 (S.L.AFR_Mode)
"" (S.$.IBIS_cabindisplay)
{end}
{macro:IBIS_init}
{end}
'---FRAME-----------------------------------------------------------------------------
{macro:ticketprinter_frame}
'---Drucker ist aus, wenn Elektrik aus ist
(L.L.elec_busbar_main) !
{if}
0 (S.L.AFR_Mode)
{else}
(M.L.AFR_Start)
{endif}
'---Modus 1: Startbildschirm
'---Modus 3: Codeeingabe
(L.L.AFR_Mode) 3 =
{if}
(L.L.AFR_Eingabe_Aktiv)
{if}
(M.L.AFR_Codeeingabe)
{endif}
'---Codekontrolle
(L.L.AFR_Timer) 0.5 >=
{if}
0 (S.L.AFR_Timer) (S.L.AFR_Timer_Aktiv)
(L.L.AFR_Code_in) (C.L.AFR_Code) = (L.L.AFR_Code_in) (C.L.AFR_Code_2) = ||
{if}
(M.L.AFR_Setmode_5)
0 (S.L.AFR_Code_in)
0 (S.L.AFR_Code_Ziffern)
{else}
(M.L.AFR_Setmode_4)
0 (S.L.AFR_Code_in)
0 (S.L.AFR_Code_Ziffern)
{endif}
{endif}
{endif}
'---Modus 5: Temporär
(L.L.AFR_Mode) 5 =
{if}
(L.L.AFR_Timer) 3 =
{if}
(M.L.AFR_SetMode_1)
{endif}
{endif}
'---Modus 4: Temporär
(L.L.AFR_Mode) 4 =
{if}
(L.L.AFR_Timer) 3 =
{if}
(M.L.AFR_SetMode_3)
{endif}
{endif}
'---Timer
(L.L.AFR_Timer_Aktiv)
{if}
(L.L.AFR_Timer) (L.S.Timegap) + (S.L.AFR_Timer)
{endif}
{end}
{macro:IBIS_frame}
{end}
'---MACRO-----------------------------------------------------------------------------
'---Macros für AFR-Start
{macro:AFR_Start}
(L.L.AFR_Mode) 0 =
{if}
(M.L.AFR_Setmode_1)
{endif}
{end}
{macro:AFR_Setmode_1}
"SWEG mobil" 21 $SetLengthL (S.$.ticketprinter_display)
"5930 S952 B314" 21 $SetLengthC (S.$.IBIS)
(T.L.ev_IBIS-startupsound)
1 (S.L.AFR_Mode)
{end}
'---Macros für Code-Eingabemenü
{macro:AFR_Setmode_3}
"" (S.$.ticketprinter_display)
"Codenummer" 17 $SetLengthC "...." $+ (S.$.IBIS)
3 (S.L.AFR_Mode)
0 (S.L.AFR_Eingabe) (S.L.AFR_Eingabe_Aktiv)
{end}
'---Ziffer Anfügen, Ziffernanzahl erhöhen, Timer Starten wenn 4
{macro:AFR_Codeeingabe}
(L.L.AFR_Code_in) 10 * (L.L.AFR_Eingabe) + (S.L.AFR_Code_in) 0 (S.L.AFR_Eingabe_Aktiv)
(L.L.AFR_Code_Ziffern) 1 + (S.L.AFR_Code_Ziffern)
(L.L.AFR_Code_Ziffern) 4 >=
{if}
1 (S.L.AFR_Timer_Aktiv)
{endif}
'---Output
"" (S.$.ticketprinter_display)
"Codenummer" 17 $SetLengthC
"...." 4 (L.L.AFR_Code_Ziffern) - $SetLengthC (L.L.AFR_Code_in) $+ $+ (S.$.IBIS)
{end}
{macro:AFR_Setmode_4}
"**FALSCHE EINGABE**" 21 $SetLengthC (S.$.ticketprinter_display)
"" 21 $SetLengthC (S.$.IBIS)
1 (S.L.AFR_Timer_Aktiv)
{end}
{macro:AFR_Setmode_5}
"Hier könnte eine" 21 $SetLengthC (S.$.ticketprinter_display)
"Linieneingabe folgen" 21 $SetLengthC (S.$.IBIS)
1 (S.L.AFR_Timer_Aktiv)
{end}
'--------------------------------------------------------------------------------
Alles anzeigen
Constfile:
Über Hilfe würde ich mich freuen!
LG Niklas