为什么Zebra QLn220的media.sense_mode var与此代码没有设置差距?

时间:2014-07-25 23:49:18

标签: c# zebra-printers printer-control-language

我需要在Zebra QLn220皮带打印机上设置几个vars,以便在我们需要的时候使用我们的应用程序。下面的第一个命令(keepPrinterOn)现在可以工作:

const string quote = "\"";
string keepPrinterOn = string.Format("! U1 setvar {0}power.dtr_power_off{0} {0}off{0}\r\n", quote);
string advanceToBlackBar = string.Format("! U1 setvar {0}media.sense_mode{0} {0}bar{0}\r\n", quote);
string advanceToGap =          string.Format("! U1 setvar {0}media.sense_mode{0} {0}gap{0}\r\n", quote);

PrintUtils.SendCommandToPrinter(keepPrinterOn);

if (radbtnBar.Checked)
{
    //MessageBox.Show("setting label type to bar");
    AppSettings.WriteSettingsVal("labelType", "bar");
    PrintUtils.SendCommandToPrinter(advanceToBlackBar);
}
else if (radbtnGap.Checked)
{
    //MessageBox.Show("setting label type to gap"); <= This is reached, although printer is not being changed to gap mode at any rate
    AppSettings.WriteSettingsVal("labelType", "gap");
    PrintUtils.SendCommandToPrinter(advanceToGap);
}

尝试更改&#34; media.sense_mode&#34;然而,从bar到gap的变化是失败的。即使检查了radbtnGap,并且输入了(最后显示的)条件代码块,&#34; media.sense_mode&#34; var没有切换到&#34; bar&#34;到&#34;差距&#34; (从经验上看,在试图打印间隙(普通)标签时,这些标签不起作用(在打印标签后喷出数字标签)并运行此命令:

! U1 getvar "media.sense_mode"

...在Zebra设置工具中(它返回&#34; bar&#34;甚至在选择&#34;间隙&#34;)之后。

我以前遇到过这些命令的问题,因为我忽略了将crlfs(\ r \ n)附加到命令,如此处所讨论的那样[Why would a Zebra QLn220 Printer ignore the first couple of commands sent to it after sending it a command to update some settings?,但现在发送标签后立即打印上面的命令(提供&#34; bar&#34;被选中,条形(背面的黑色条带)标签被装入带式打印机。

任何人都可以从这里可能有什么不妥之处做出头或尾(条或间隙)吗?

更新

我想知道电池电量不足是否会导致发送到打印机的命令没有“拍摄”。&#34;我得到了一个&#34;电池故障&#34; QLn220上的消息(现在重新充电)。一旦我能够这样做,我将测试它以查看我现有的代码是否有效(使用充电电池)。如果没有,我将在下面的答案中尝试banno的替代命令。

更新2

所以我现在准备尝试这个代码(后两个),如果有必要(打印机目前已经死了,甚至无法测试):

string advanceToBlackBar = string.Format("! U1 setvar {0}media.sense_mode{0} {0}bar{0}\r\n", quote);
string advanceToGap =      string.Format("! U1 setvar {0}media.sense_mode{0} {0}gap{0}\r\n", quote);
// Alternates added 7/29/2014 in case need to attempt them (see https://stackoverflow.com/questions/24966070/why-would-the-zebra-qln220s-media-sense-mode-var-not-be-set-to-gap-with-this-co)
string advanceToBlackBarAlternate = string.Format("! U1 setvar {0}ezpl.media_type{0} {0}mark{0}\r\n", quote);
string advanceToGapAlternate =      string.Format("! U1 setvar {0}ezpl.media_type{0} {0}web{0}\r\n\r\n", quote);

第二对是否优于第一对,或者它们只是同义词/在另一对不起作用时尝试的东西?

1 个答案:

答案 0 :(得分:2)

尝试:

! U1 setvar&#34; ezpl.media_type&#34; &#34;标记&#34;

我认为另一个是:

! U1 setvar&#34; ezpl.media_type&#34; &#34;网络&#34;