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.

 

How accurate are bar code scanners?

We sold some badge scanners to one of our customers who later said he was getting incorrect data from his scanners. We got a sample badge from them, scanned it, printed it, and attached it to a label rewinder. We then took the badge scanner apart and mounted the scan module near the label and recorded each scan into Excel:

We were able to collect over a million characters in just over a day. The result? Zero errors. We looked elsewhere for the customer’s issue.

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.

PM43 fonts vs PM4i

I was at a customer site replacing some old Intermec PM4i printers with the PM43s and ran into a font issue. Here’s the bottom part of their label printed on a PM4i printer:

And this is what printed on the PM43:

The character size is looks about the same, but the kerning (spacing between characters) is different, it’s most obvious when you look at the numbers 716 in the drawing number. The result was that the drawing number field ran into the order number field. The solution to this was to turn on legacy mode. This isn’t the old legacy mode which enabled the old Bitstream fonts that were included with some older Intermec printers, but it does substitute fonts (font aliasing) to overcome some of these issues. I enabled legacy mode from the front panel menu under Settings, (down arrow to display the next selection) Languages, IPL, Print Quality, then enabled Legacy Mode. The PM43 then printed this:

I have to give credit to the Honeywell software guys who implemented this feature.

Compact Flash card compatibility with PX4, PF4, and PD42 printers

I’ve noticed that a significant number of CF cards purchased over the last few years don’t always work with Intermec printers. This seems to be a recent problem, it may be due to poor quality manufacturing or counterfeit chips.

CF cards are used to upgrade firmware or to provide the printer additional storage space, they’re very useful. The printers have a size limit for CF cards of 2 GB; you should use the smallest one that will do the job, smaller cards work faster.

If you come across a CF card that doesn’t work you can try to fix it by formatting the card  inside the printer.

Put the CF card into the printer and use a Telnet program (HyperTerm, Putty, etc.) and connect to the printer’s IP address on port 9100. Note that this procedure only works when the printer is in Direct Protocol or Fingerprint. If you’re running IPL you’ll need to temporarily run one of these.

Once connected type VERBON and press enter. You should see an OK prompt from the printer. Next, use the FILES command to list any files on the CF card:

Note that the CF card is named “card1:” and must be enclosed in quotes.

First, try to format the CF card using the standard FORMAT command:

FORMAT “card1:”

This will only take a few seconds and it will erase any data on the CF card.

Copy a file from the C: drive to the CF card to test if it’s now usable:

COPY “STDIO”,”card1:STDIO”

If that doesn’t work, try a low level format command:

FORMAT “card1:”,A

This takes a minute and a half on a 64 MB card; longer with bigger cards. Now try copying a file over. It that doesn’t work do another low level format while changing the sector size:

FORMAT “card1:”,500,256,A

Note that this changes the default sector size from 512 bytes to 256 and increases the number of files that can be stored on the card from 208, the default value, to 500.  This is useful if you are storing a lot of small files on the card.

If the low level format doesn’t work, buy another CF card. I find that I’ve had the best luck with San Disk cards.