Forum: Mikrocontroller und Digitale Elektronik Gerät beim Stromausfall erkennen


von Espig (Gast)


Lesenswert?

Hallo Elektronikfreunde,

ich habe folgendes Problem:

Ich schicke daten in eine serielle Schnittstelle und drucke die mit
einem Bondrucker.

Das Problem ist es im Falle eines Stromausfalls während gedruck wird
gehen die Daten verloren.

Hat jemand eine Idee wie ich den Druckerstatus erkennen kann bevor ich
z.B. eine Zeile an dem Drucker schicke?

Das Problem ist es darf kein Zeichen verloren gehen. Ich habe überlegt
Zeile per Zeile zu drucken aber hab keine Idee wie ich den Sruckerstatus
abfragen kann?

Für jeden Vorschlag bin ich sehr dankbar.

Gruß

Espig

von Peter II (Gast)


Lesenswert?

Espig schrieb:
> Für jeden Vorschlag bin ich sehr dankbar.
Woher sollen wir wissen, das der Drucker für Möglichkeiten bietet? Das 
einfachste ist wohl eine USV zu installieren. dann gibt es für die 
Geräte keinen Stromausfall mehr.

von Hans Walter Werner Meierhöfer (Gast)


Lesenswert?

Espig schrieb:
> Das Problem ist es darf kein Zeichen verloren gehen. Ich habe überlegt
> Zeile per Zeile zu drucken aber hab keine Idee wie ich den Sruckerstatus
> abfragen kann?

Da hilft sicher nur eine USV am Drucker. Denn was passiert, wenn der 
Drucker am Netz ist und direkt nachdem du die Daten geschickt hast die 
Spannung ausfällt?

Dann bräuchtest du noch eine Meldung mit "Bon gedruckt"...

Eine einfache USV sollte die einfachste und schnellste Lösung sein.

von Espig (Gast)


Lesenswert?

Das Problem ist: Es ist so gesetzlich vorgeschrieben. Es geht um einem 
Fiskalsystem und tatsächlich gibts einen Hersteller der sowas realisiert 
hat.
Du kannst ein Bondrucker am Drucker schicken und den Stecker ziehen und 
nach dem Neustarten fängt wieder da an wo es aufgehört hat :-)

Das möchte ich herausfinden wie das realisiert wurde?

keine USB Schnittestelle. Serielle Schnittstelle.

von Peter II (Gast)


Lesenswert?

Espig schrieb:
> Das möchte ich herausfinden wie das realisiert wurde?

dann wird es ein Protokoll geben, mit dem man über Serial den Drucker 
befragen kann.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Espig schrieb:
> Das möchte ich herausfinden wie das realisiert wurde?

Ohne Mitarbeit des Druckers geht das nicht. Der Drucker muss auf 
irgendeine Art und Weise signalisieren, daß er die Daten empfangen und 
auch gedruckt hat.

Das ist z.B. mit einer der Handshakeleitungen möglich, über die die 
serielle Schnittstelle verfügt, das ist aber auch über ein vom Drucker 
erzeugtes serielles Protokoll möglich, bei dem der Drucker die 
Druckbestätigung über die Datenleitung der Schnittstelle versendet.

Ohne Mitarbeit des Druckers aber ist das nicht umsetzbar - der Drucker 
hat einen Empfangspuffer, in dem er mehrere Zeichen bis Zeilen des zu 
druckenden Textes sammelt, bevor er mit dem Drucken anfängt.

Tja, und wenn zwischen Empfangen und Drucken der Strom ausfällt, ist das 
nicht vom die Daten sendenden Gerät feststellbar.

von Georg (Gast)


Lesenswert?

Espig schrieb:
> Hat jemand eine Idee wie ich den Druckerstatus erkennen kann bevor ich
> z.B. eine Zeile an dem Drucker schicke?

Das ist ein grundlegendes Missverständnis deinerseits. VORHER fragen 
nützt garnichts, das heisst noch lange nicht dass das was du sendest 
auch gedruckt wird. Das Problem ist nur lösbar, wenn man den Drucker 
DANACH fragen kann, ob er alles gedruckt hat. Das setzt eine spezielle 
Druckersoftware voraus.

Dein Bondrucker kann das offensichtlich nicht, sonst würdest du ja nicht 
fragen. Mit dem Drucker geht es also nicht.

Georg

von Axel S. (a-za-z0-9)


Lesenswert?

Espig schrieb:
> Das Problem ist: Es ist so gesetzlich vorgeschrieben. Es geht um einem
> Fiskalsystem und tatsächlich gibts einen Hersteller der sowas realisiert
> hat.
> Du kannst ein Bondrucker am Drucker schicken und den Stecker ziehen und
> nach dem Neustarten fängt wieder da an wo es aufgehört hat :-)
>
> Das möchte ich herausfinden wie das realisiert wurde?

Und warum fragst du das dann nicht gleich?

Um das zu realisieren, braucht man zwei Zutaten:

a) eine Form von nichtflüchtigem (mindestens: gepuffertem) Speicher
b) ein Protokoll das mindestens die Signalisierung von "ok" aus Richtung 
des Druckers zum Computer erlaubt

Dann kann der Drucker die empfangenen Daten in den nichtflüchtigen 
Speicher schreiben und wenn das geklappt hat, schickt er "ok". Dann 
druckt er den Krempel und löscht seinen Speicher wieder. Wenn nach dem 
Einschalten etwas im Speicher steht, dann ist es anscheinend nicht 
(komplett) gedruckt worden und wird einfach nochmal gedruckt.

Allerdings ist das mit dem Stromausfall arg konstruiert. Wenn dem 
Drucker der Strom ausgeht, dann ja wohl auch dem PC. Wenn andererseits 
der PC an einer USV hängt, dann kann man den Drucker da ja auch mit 
anschließen.

von Peter D. (peda)


Lesenswert?

Espig schrieb:
> Du kannst ein Bondrucker am Drucker schicken und den Stecker ziehen und
> nach dem Neustarten fängt wieder da an wo es aufgehört hat :-)

Im einfachsten Fall schreibt man sich einen Druckertreiber, der jeden 
Druckjob auf der HDD puffert. Und erst, wenn er vom Drucker eine 
Quittung erhält, löscht er diese Datei, anderenfalls sendet er sie neu.
Für die Quittung wäre es z.B. möglich, den Drucker in den Echo-Modus zu 
setzen, d.h. jedes gedruckte Zeichen zurück zu senden.

von Patrick C. (pcrom)


Lesenswert?

Um welchen Drucker (manufacturer, typenr) geht es sich denn ?
Oder ist das eine bloede Frage ?

von Pic T. (pic)


Lesenswert?

Peter II schrieb:
> Espig schrieb:
> Das möchte ich herausfinden wie das rea
Das geht einfach.
Drucker in den Grafikmodus schalten, zeilenweise
Rausgeben, MIT ack. Wenn eine Zeile fehlt, ist egal,
Sofern z.b. E der Mittelstrich 2 zeilen sind.
Ansosten in zweifelsfall zeile wiederholen.

Y

von Georg (Gast)


Lesenswert?

Hallo,

mit genügend Paranoia kann man immer noch Fehlermöglichkeiten finden: 
z.B. gilt Fax-Übertragung wegen der Quittung als beweissicher, aber so 
manche Sekretärin hat es geschafft, das Thermopapier verkehrt herum 
einzulegen, dann gibt es zwar eine Quittung, aber nur ein weisses Blatt. 
Und bei anderen Systemen kann der Toner ausgehen oder das Farbband. Am 
besten eine Kamera montieren und das Druckbild mit einen intern 
gerenderten vergleichen...

Halbwegs vernünftig und aussichtsreich erscheint mir, dass der Drucker 
ein Zeichen echot, wenn es gedruckt ist(!). Aber so weit muss man einen 
Drucker erst mal kriegen, bei den meisten müsste man wohl eine eigene 
Firmware schreiben, was ziemlich hoffnungslos ist. Ohne spezielle 
Druckerfunktion gibt es aber überhaupt keinen sicheren Ausdruck. Die 
meisten heutigen Drucker drucken sowieso im Seitenmodus, drucken also 
erst, wenn die Seite komplett übertragen ist, und für Windows ist das 
auch die Standardeinstellung, Drucken Zeichen für Zeichen ist nicht 
vorgesehen.

Georg

von michael_ (Gast)


Lesenswert?

Alte solche kleine Thermodrucker hatten das normale Parallel-Interface.
Da sind Fertig-Signale vorhanden.
Ohne Kenntnis vom Interface ist es stochern im Nebel.

von oszi40 (Gast)


Lesenswert?

michael_ schrieb:
> Ohne Kenntnis vom Interface ist es stochern im Nebel.

Was nützt eine "Fertigmeldung" vom Drucker wenn dieser nicht merkt, daß 
weiße Schrift auf weißem Grund gedruckt wurde? z.B. Tinte eingetrocknet, 
Papier zerknittert später, oder Druckkopf steuert nicht alle Punkte an? 
Bei Stromausfall siehet der Fall wieder anders aus. Da könnte auch im 
Spooler oder im RAM noch was sein was bei Spannungsausfall verloren 
geht. Da wäre die nächste Frage wieviele Buchstaben sind schon raus und 
wieviele waren noch im Speicher. Fragen über Fragen...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.