Published:
You print a job with more than one label and a clock field, and every label carries the same time — even when the printer waited between labels, for example in peel/dispenser mode. This is not a fault and not a firmware bug: it is the documented default, and one ZPL parameter changes it.
The ^FC command only declares the clock indicator
characters. When the clock is read is decided by a different
command, ^SL, and its default is S:
S — Start Time Mode: the time is read
“when label formatting begins (when ^XA is
received)”. The guide states the consequence plainly: the first
label has the same time placed on it as the last label.T — Time Now Mode: the time is read “when
the label to be printed is placed in print queue”. The guide
compares it to a serialized time or date field.So a job of ten labels printed under the default reads the clock
once. Nothing in ^FC can change that, which is why
adding more ^FC commands never helps.
^XA
^SLT
^FO50,50^A0N,40,40^FC%^FD%H:%M:%S^FS
^PQ2
^XZOpen this label in the ZPL viewer →
Place ^SL inside the label format. With
^SLT, each label takes its time as it enters the print
queue, so a job that waits between labels no longer stamps them all
alike.
On printers with the Enhanced Real Time Clock (firmware
V60.13.0.10 or later) the mode parameter also accepts a number: a time
accuracy tolerance in seconds, range 1 to 999, where 0 means a
one-second tolerance. For example ^SL30,1 sets a
30-second tolerance and English as the language. The second parameter of
^SL is the language, not part of the timing.
^FC is ignored if the Real Time Clock hardware is not
present, and the RTC commands apply only when the option is installed.^FC must be included within each label field command
string every time clock values are required in that field — no date or
time can be printed in a field without it.^FD recognises the clock indicators and replaces them with
the time or date as the label prints.No. Splitting a ^PQ10 job into ten single-label
jobs is a workaround for the default mode, not a requirement of ZPL.
^SLT addresses the cause directly and keeps the job intact.
Clock values are produced by the printer's own hardware at print time.
An online renderer — ours included — does not have that clock, so it
cannot show you what %H:%M:%S will become on paper. Use the
preview to check layout: where the field sits, whether it fits the
label, whether the font and rotation are right. The timing behaviour
itself is settled by ^SL, and by the printer.
We have not verified this on a physical printer; everything above is what Zebra's own programming guide documents, cited by page below.
Because ^SL defaults to Start Time Mode: the clock is read once, when label formatting begins. Zebra's guide says it outright — the first label has the same time placed on it as the last label (page 339).
No. ^FC only declares the clock indicator characters; it does not decide when the clock is read. That is ^SL's job, so the timing stays the same no matter how many ^FC commands the format contains.
No. Splitting the job works around the default mode but is not required by ZPL. ^SLT reads the clock as each label enters the print queue, so a single ^PQ job can carry different times.
Only where the Real-Time Clock option is installed. The guide states that ^FC is ignored when the RTC hardware is not present, and the accuracy-tolerance form of ^SL additionally needs the Enhanced Real Time Clock (V60.13.0.10 or later).
No — the clock lives in the printer and the value is substituted during printing. A preview is the right tool for the field's position, size and rotation, not for what the clock will read.
Eight common ZPL label failures mapped to their usual cause and the check that confirms it — plus what a preview can and cannot prove.
The printer prints gibberishRaw text and control characters instead of a label point to dump mode; truly scrambled glyphs point to a language mismatch. Telling them apart takes a minute.
Why does my ZPL label print incorrectly?The five failures behind most wrong ZPL labels: density mismatch, a missing ^FS, silent clipping, missing label dimensions and broken characters.
ZPL special characters print wrongUmlauts and accents printing as garbage is an encoding mismatch: the printer decodes your UTF-8 bytes with a legacy code page. ^CI28 fixes it — here is how.