Search code examples
cmdftpqueueintermec

Why does my Intermec printer print the previously printed label and only stores current label until next print?


I have an Intermec PX6i printer.

The label code is generated, saved as a .txt file and sent to the printer through TCP/IP connection.

Everything works perfectly, but when executed, it saves the current file to the memory and prints the previous label.

This means that i have to execute the print twice in order to get my requested label. Every other label is then discarded due to the fact that is is a copy of the previous successful label.

Even an empty FEED directly from the printer control panel, feeds an empty label and stores it. Then when I request a print job, another empty label is printed and the request is only saved.

Can anyone tell me why this is happening?

  • I have tried clearing the buffer before and after every request. The buffer seems to get cleared, but the print history still has the previous label somewhere and still reprints it.

  • I have tried sending the file without printing it and sending a second file with the print command, but it does not replace the previous label until the print is executed.

  • I have tried sending the file using a different title, but this does not replace the previous image.

  • I have used the CLL and CLEAR commands before the code, after the code and even in a separate print request.

  • I have tried with and without the PRINTKEY command. turned it ON and OFF , but still does not work.

This is my CMD code:

PUT ftpData.txt PR1

This is the label code:

CLIP ON
CLIP BARCODE ON
CLL
PP 0,95:AN 7
BARSET "QRCODE",1,1,4,2,2
PB "2762884799"
PP87,100:AN 7
FT "Swiss 721 BT"
FONTSIZE 7
PT "2762884799"
PP87,60:AN 7
FT "Swiss 721 BT"
FONTSIZE 7
PT "27JUL2019"
PP180,32:AN 7
FT "Swiss 721 BT"
FONTSIZE 7
PT "12"
PRINT KEY OFF
PF 
CLL
CLEAR
RUN

CMD results:

ftp> open xxx.xxx.xxx.xxx
Connected to xxx.xxx.xxx.xxx.
220 EasyCoder FTP Server v.2024 ready.
ftp> user username password
331 Password required for admin.
230 User logged in.
ftp> PUT ftpData.txt PR1
200 PORT command OK.
150 Opening ASCII mode data connection for 'pr1'
226 Transfer complete.
ftp: 799 bytes sent in 0.20Seconds 3.96Kbytes/sec.

Then the printer prints, but not the current label. Only the previously saved label is printed and this current label is saved.

Then on the next request, this current label is printed and that next one is only saved.


Solution

  • It turns out that the problem was not in the code, nor was it as a result of a buffer/memory problem.

    Internal "Print Engine" settings needed adjusting.

    In the past, the printer would feed an extra blank label after every print. Also, it would retract a bit before printing. So, to resolve this and streamline the print process, I changed STARTADJ to 0 and STOPADJ to -120. This fixed the feed problems, but inadvertently caused this new "Reprint" problem.

    The printer basically keeps track of where the print job stopped, then adds the new request thereafter.

    Conclusion of what happened:

    • By setting the STOPADJ to -120, after every print command, it basically set the end position of the print job to before the last label started.
    • Because of this, the starting point for the next print job is before the last printed label, thus the last historic label will be the first to be printed.
    • It then executes a single print, as per the requested command and PF (PRINTFEED).
    • The result is that the previous label gets printed and stops before the new label.
    • This causes a kind of virtual queuing that is always one label behind.

    If it was a multi-label print job PF 2 or more, the first label would be the historic version, then it would produce the correct labels thereafter, but still one less than requested because the end position of the print job will be before the last label executes.