1

アプリで必要に応じて動作させるには、Zebra QLn220 ベルト プリンターにいくつかの変数を設定する必要があります。以下の最初のコマンド (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);
}

ただし、「media.sense_mode」変数をバーからギャップに変更しようとすると失敗します。rdbtnGap がチェックされ、その (最後に示されている) コードの条件付きブロックが入力された場合でも、「media.sense_mode」var の値は「bar」から「gap」に切り替わっていません (経験的に見られるように、印刷しようとするとギャップ(無地)ラベル、これは機能しません(ラベルを印刷した後、無数のラベルを吐き出します)、次のコマンドを実行します。

! U1 getvar "media.sense_mode"

...ゼブラ セットアップ ユーティリティで (「ギャップ」を選択した後でも「バー」を返します)。

ここで説明したように、crlfs (\r\n) をコマンドに追加するのを怠っていたため、これらのコマンドで以前に問題が発生していました。いくつかの設定を更新するコマンド?、しかし今では、上記のコマンドを送信した直後にラベルが印刷されます (「バー」が選択され、バー (背面の黒い帯) ラベルがベルト プリンターにロードされている場合)。

ここで間違っている可能性があるものから、頭または尾 (バーまたはギャップ) を作成できる人はいますか?

アップデート

バッテリーの残量が少ないと、プリンターに送信されたコマンドが「実行」されない可能性があるのではないかと考えています。QLn220 で「バッテリーが故障しました」というメッセージが表示されました (現在再充電中)。それができるようになったら、既存のコードが (充電されたバッテリーで) 動作するかどうかをテストします。そうでない場合は、以下の回答でbannoの代替コマンドを試します.

更新 2

したがって、必要に応じて、このコード (2 番目の 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);

2 番目のペアは最初のペアよりも好ましいですか、それとも単に同義語ですか / 他のペアが機能しない場合に試すものですか?

4

1 に答える 1