FTP difference between older PX4 and new PX4ie

Older PX 4 printers allowed an FTP connection as an unknown user with no password. You could then copy files to the printer’s c: drive. You can’t do this with the PX4ie. To demonstrate this I started a command prompt from Windows and connected to an older PX4:

C:\Users\Sybil\Desktop>ftp 192.168.0.28
Connected to 192.168.0.28.
220 EasyCoder FTP Server v.1970 ready.
500 Sorry, no such command.
User (192.168.0.28:(none)): INTERMEC
230 User logged in (no password).
ftp> put lbl.txt MYLABEL.TXT
200 PORT command OK.
150 Opening ASCII mode data connection for ‘MYLABEL.TXT’
226 Transfer complete.
ftp: 34 bytes sent in 0.20Seconds 0.17Kbytes/sec.
ftp>

Note that the printer let us sign in as the user INTERMEC with no password. The put command copied lbl.txt to the printer’s c:  drive as MYLABEL.TXT.

You can’t do this with the PX4ie. The security has been changed to prevent unknown users from connecting via FTP to the printer. The file structure has changed in the new printer;  the c: drive has been mapped to /home/user on the PX4ie.

To accomplish the same task with the new printer you’ll need to provide a user name and password and specify the destination folder. So now this FTP command sequence becomes:

C:\Users\Sybil\Desktop>ftp 192.168.0.77
Connected to 192.168.0.77.
220 Welcome to Honeywell Printer PX4ie  14321961033
200 Always in UTF8 mode.
User (192.168.0.77:(none)): admin
331 Please specify the password.
Password: pass (hidden)
230 Login successful.
ftp> put lbl.txt /c/MYLABEL.TXT
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 34 bytes sent in 0.00Seconds 17.00Kbytes/sec.
ftp>

These new commands are compatible with the older PX4 printers, so with this small change to your FTP commands will work with both printers.

Note: If you omit the /c/ folder destination in the put command, the file MYLABEL.TXT will be copied to  the /home/user/admin folder.

Update

I discovered that you can log into the PX4ie as “user” (lower case) without a password and the printer will allow you access to the /home/user (i.e. c: drive) folder.  So, in the first example above, substitute “user” for “INTERMEC” and the new PX4ie behaves the same as the older printers.

PX940V Can’t calibrate verifier

If you cannot calibrate the PX940V’s verifier, try this.

Most times this failure is due to dirt on the glass over the verifier,  often not visible. To confirm this is the issue, print a test label and connect to the printer’s web page and look at the verifier’s image under Verification, Verifier Image. You’ll probably see something like this:

The vertical black lines aren’t on the label, it’s dirt on the verifier glass.

Open the front verifer arm.

Clean the glass with isopropyl alcohol and Q-Tips, or an alcohol wipe. Repeat until there are no lines on the verifier image, then try to calibrate the verifier again.

Note the row of label sensors next to the verifier.

Installing a PC4ie dual serial board

There is a new dual serial I/O board for the updated Honeywell PX4 industrial printer, the PX4ie. The part number is 50147018-001 and it is currently shipping. Unlike the old board, which was dual RS232 out of the box, you need to install two jumpers and two IC (integrated circuit) chips into the board.

You are working with static sensitive devices here, so make sure you ground yourself before touching the board or ICs.

For UART A the jumper connects the two pins on the right of P4 and the IC gets installed in the socket pictured here. Notice the semi circle on the bottom of the chip (it’s clearer on the next picture), it lines up with the semi circle on the board:

UART B installs the same way:

Again, note the semi circle cut out at the bottom of the IC. This time the jumper is installed at P8. Make sure that you don’t bend any of the pins on the IC when you  insert it into the socket.

The rest of the installation is described in the Honeywell installation manual. Click on the documents tab to get this manual.

 

PM series printer real time clock

All PM series printers have real time clocks in them. They become functional when a battery is inserted in the printer’s motherboard. You’ll have to remove the cover to access this; the PM43c battery slot looks like this:

The printer’s display will show the date and time if a battery is installed.

Only printers configured with 802.11 WiFi boards can be ordered with a battery installed from the factory. You can order the battery separately, part number 318-051-001 , but they are a standard battery that you can get anywhere:

In the newer firmware you can also configure the printer to contact a time server to synch its clock. Select Wizards, Calibration, Date & Time from the main to enable the time server.

If your printer can’t be connected to the Internet you can sill use the real time clock by manually setting the date and time using the Wizard or the System settings.

NB: When you set the time manually make sure that you use GMT time, not your local time. There’s a bug in the firmware that will change the clock setting according to the time zone and DST settings when the printer’s power is cycled after the clock is set.

 

Determining if it’s Daylight Savings time in Fingerprint

Although the current revision of PC and PM printer firmware supports time zones, any time arithmetic in Fingerprint is done in Greenwich Mean time, so you have to adjust your numbers according to your time zone and if it’s Standard or Daylight Savings time.

For example, if it’s five o’clock local time in the Eastern Time zone and you want to calculate an expiration time two hours later, your result will be two hours earlier than the current time during Daylight Savings, and three hours during Standard time. This isn’t a big deal, you only have to add the time offset, but determining if it’s DST or not isn’t obvious.

There’s a function in the Fingerprint language, WEEKDAY that returns a number for the day of the week where Sunday is 1, Monday is 2, etc. So you can get the number of the first day in November,  subtract it (plus  one) from 7 to calculate the first Sunday in November, when DST ends:

zDST$ = “F”
zCURRENTDATE$ = DATE$

REM WHEN DOES DST END?

A% = WEEKDAY(LEFT$(zCURRENTDATE$,2) + “1101”)
zSTOPDAY$ = RIGHT$((“0” + STR$(7-A%+1)),2)
zSTOPDST$ = LEFT$(zCURRENTDATE$,2) + “11” + zSTOPDAY$

Likewise you can calculate when DST begins (the second Sunday in March)with the same function:

REM WHEN DOES DST BEGIN?

A% = WEEKDAY(LEFT$(zCURRENTDATE$,2) + “0301”)
zSTARTDAY$ = RIGHT$((“0” + STR$(14-A%+1)),2)
zSTARTDST$ = LEFT$(zCURRENTDATE$,2) + “03” + zSTARTDAY$

IF zCURRENTDATE$ <= zSTOPDST$ AND zCURRENTDATE$ >= zSTARTDST$ THEN zDST$=“T”

Of course, Daylight Saving begins and ends at 2 in the morning, but the above should be sufficient for most applications.

 

Writing an RFID tag with Direct Protocol

I recently had to send a customer a Direct Protocol sample that wrote to an RFID tag and printed a bar code. The sample in the manual didn’t work, but this one does:

INPUT ON

REM BAR CODE
PP168,204:AN7
BARSET “CODE39”,8,3,1,102
PB “1234567890”

REM HUMAN READABLE
PP244,113:NASC 8
FT “Univers”
FONTSIZE 24
FONTSLANT 0
PT “1234567890”

REM RFID
TAGFIELD “@ID”,4,10
TAGFORMAT “ASCII”
TAGWRITE “1234567890”

PF

Send this to an RFID equipped PM43 and a bar code with human readable text will print, and an RFID tag will be written with the same values.

NOTE: If you cut and paste this code, your browser may turn the standard double quotation marks (hex 22) into curly open and close quotation marks (“”). The printer won’t like this, so make sure that you use standard double quotes.

PC43, PC23 and 802.11 Roaming

A customer called in with an issue with his PC43T that had a wireless card installed. He had tested it in his conference room without issue but when he took it out to his warehouse it wouldn’t connect to his wireless network, even though he was only 20 feet from an access point.

The issue was roaming; it’s off by default on the PC series printer. You can get to the roaming setting through the web interface (Communications, Wireless 802.11) or through the front panel. There are four settings; set it to 1 and the printer is most willing to roam, 2 less so, and 3 less than that.

Once roaming was enabled, my customer’s printer worked as expected.

Replacing an Intermec PC43T or PC43D printhead

This one bit me, so here’s a tip on replacing an Intermec PC43 printhead.

The printhead comes out very easily, you just move the blue catches on each side outward and it pops right out out.

There’s one connector that attaches the printhead to the printer and you need to remove that. The thing that bit me was getting the replacement printhead inserted properly. This is a side view of a correctly placed printhead:

What is critical here is that the body of the printhead has to be positioned inside the gap of the two plastic holders. A more obvious photo of one holder:

I would always line up the printhead with the guide posts and would miss getting the printhead inside of the gap.

If you get the printhead inside the plastic holders the guide posts will automatically line up. Press the printhead up against the springs until it clicks. Close the printhead assembly. If it’s difficult to manually pull on the label, you’ve done it correctly. If the label moves easily, you’ve missed the plastic holders; try again.

PC43 USB to serial adapter

I recently ordered a USB to serial adapter for a Honeywell PC43 printer and was told that it had been obsoleted without a replacement. I confirmed this with tech support but the marketing department says that the part is still valid.  In any case nobody has this adapter in stock and until this is straightened out there is another USB adapter that works.

I plugged in one of the old cables (part # 203-182-100) into my PC and saw that is used an FTDI driver. I found this cable on Amazon that used the FTDI chip set , plugged it into my PC43 and it worked.

If Honeywell does continue to supply 203-182-100 you are probably better off buying from them for support reasons, but this cable does work in the interim.

UPDATE 7/27/18:  Honeywell has fixed this issue and this cable is now available from them.

How to disable the Label Taken Sensor on Honeywell/Intermec printers

The following applies to printers running Direct Protocol or Fingerprint.

There’s a tech note in the Honeywell knowledge base about turning off the LTS sensor using  the LTS& OFF command, but this only affects the printer when printing a batch of labels, it doesn’t really disable the sensor, it causes the printer to ignore the sensor during batch printing.

To truly disable the sensor you need to execute a setup command and set the LTS value to zero.

First, make a connection to the printer via Telnet (I use Hyperterm) to port 9100. Type the command “VERBON”, press enter and the printer should echo “OK”.

Tell the printer to write its current settings to disk by entering “SETUP WRITE “MYCONFIG”” (quotes around the file name). Now type the “FILES” command to list the files on disk. Use an FTP client to copy MYCONFIG to your computer and open the file with Notepad.

You’ll see the last lines in the file will look something like this:

# MEDIA,PAPER TYPE,TRANSFER,RIBBON SENSOR,9
MEDIA,PAPER TYPE,TRANSFER,LOW DIAMETER,0
MEDIA,CONTRAST,+0%
# MEDIA,TESTFEED,99 146 1 9
MEDIA,TESTFEED MODE,SLOW
MEDIA,LEN (SLOW MODE),0
PRINT DEFS,HEAD RESIST,1272
PRINT DEFS,PRINT SPEED,75
PRINT DEFS,CLIP DEFAULT,ON
# PRINT DEFS,CMD LANGUAGE,Direct Protocol
PRINT DEFS,LTS,LTS VALUE,9

Change the number in the last line to zero and save it to disk, naming it MYCONFIG1 and use FTP to copy it back to the printer:

PRINT DEFS,LTS,LTS VALUE,0

You can save the whole file or just the LTS command.

Return to your Telnet connection to the printer and type the command “FF” to feed out one label.

Type ?PRSTAT to return the printer’s status. It will return 2 which means a label is at self strip point.

Now type “SETUP “MYCONFIG1″” (quotes around the file name) and then sent a ?PRSTAT command again. The printer will now return zero. You have disabled the label taken sensor.

Note that the PM and PC series printer are case sensitive and have a different directory structure than the PX series. When you connect to the PM or PC series printer you have to get the case of the directory name correct (always lower case) and the case of the filename correct too. You can’t FTP anonymously to a PM or PC series, you have to log in as itadmin. Your default directory will be set to /home/user/admin. Change to this directory before you execute the SETUP command:

I’d suggest just copying the above LTS command into notepad and saving it to disk, it’s easier than navigating the PM directory structure.

You could also execute this command with a CF card (PX, PM4i, PF,PD42) or USB thumb drive (PM,PC,PD43) using AUTOEXEC.BAT to execute this command. Make sure your configuration file is in the root of the CF card or USB drive along with the AUTOEXEC.BAT file.