Gerät beim Stromausfall erkennen

Gast #4619616
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
Gast #4619622
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.
Gast #4619623
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.
Gast #4621048
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.
Persönliche Seite #4621059
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.
Gast #4621205
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
#4621296
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.
#4621346
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.
#4621464
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
Gast #4621872
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
Gast #4622396
Alte solche kleine Thermodrucker hatten das normale Parallel-Interface.
Da sind Fertig-Signale vorhanden.
Ohne Kenntnis vom Interface ist es stochern im Nebel.
Gast #4622428
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...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.