^MA - Set Maintenance Alerts
Schedules the maintenance alert labels the printer prints itself as the printhead wears.
^MA is the one command in this category that makes a printer print of its own
accord. With b set to Y it prints a maintenance alert label after the printhead
travels a set distance. ^MI supplies the wording, ^MA the schedule.
Syntax
^MAa,b,c,d,eSupport
Accepted and skipped, because it configures the printer rather than the label. It cannot change the rendered output, and Labelary skips it too.
A printer does print extra labels, but accumulated print distance in its odometer triggers them, never the format. A render has no odometer, so no alert label comes due and the page count does not change. The renderer does not parse this command. It reports IGNORED_COMMAND at info severity, which does not reach X-Warnings. Labelary is also silent, so the rendered label is identical in both engines. — not pinned by a test
Labelary renders this command.
Parameters
aAlert typerequired · one of a setWhich maintenance alert this command configures. The remaining arguments depend on this type.
- Invalid value
- not documented, and we have not measured it. The renderer does not parse or measure this command.
^MAis absent from the 2006 guide, and Labelary's reference states no default. - Test coverage
- No documented value is exercised by a test (R, C).
R- Printhead replacement alerts
C- Printhead cleaning alerts
bPrint alert labelsoptional · Y or NWhether the printer prints an alert label at the threshold.
- Default
- N
- Invalid value
- not documented, and we have not measured it. The renderer does not parse or measure this command.
- Test coverage
- No documented value is exercised by a test (Y, N).
Y- Print alert labels
N- Do not print alert labels (default)
cFirst alert distanceoptional · integerPrint distance after which the first alert label is due. Kilometers for type R, meters for type C.
- Default
- 50 km for type
R, 0 m for typeC - Accepted range
- 0 to 2000
- Invalid value
- not documented, and we have not measured it. The renderer does not parse or measure this command. The accepted range depends on the alert type: 0 to 150 for
R, 0 to 2,000 forC. - Test coverage
- No test at the minimum, maximum or one step outside the range.
dRepeat distanceoptional · integerPrint distance after which the printer prints the alert label again, in meters.
- Default
- 0
- Accepted range
- 0 to 2000 m
- Invalid value
- not documented, and we have not measured it. The renderer does not parse or measure this command.
- Test coverage
- No test at the minimum, maximum or one step outside the range.
eUnitsoptional · one of a setUnits used in the maintenance figures the printer reports.
- Default
- I
- Invalid value
- not documented, and we have not measured it. The renderer does not parse or measure this command.
- Test coverage
- No documented value is exercised by a test (C, I, M).
C- Centimeters
I- Inches (default)
M- Meters
Behavior
The printer measures the schedule against its odometer, not against the job that
configures it. The two alert types use different units: kilometers for printhead
replacement (R), meters for the printhead clean (C). The start
argument's accepted range therefore depends on the type: 0 to 150 for R, 0 to
2,000 for C. Argument e changes only the units the printer reports, not the
units of the limits.
The trigger is accumulated wear and a render has no history, so no alert comes due
and the page count does not change. ^MA is absent from the 2006 edition of the
ZPL II guide; the ranges follow Labelary's reference.
Example
Printhead replacement alerts, first at 100 km and then every 500 m, reported in inches:
^XA
^MAR,Y,100,500,I
^FO50,50^A0N,30,30^FDAlerts scheduled^FS
^XZ
Related commands
^MISet Maintenance Information MessageSets the wording printed on the maintenance alert labels `^MA` schedules.^JHEarly Warning SettingsConfigures the consumable and maintenance warnings the printer reports as media, ribbon and printhead wear out.^MWModify Head Cold WarningEnables or disables the printer's warning for a printhead too cold to print reliably.