Zebraプリンタードライバーの設定方法や、現場業務アプリから新しい印刷ジョブを起動する方法についてご紹介します。
この記事では、以下の内容について解説します…
- Device Portal を使用した Zebra プリンタードライバーの設定方法
- Tulipで印刷ラベルに動的値を追加する方法
- Tulipアプリでトリガーを使用して印刷ジョブを実行する方法
生産ラインに発送・梱包ステーションはありますか? 製品の梱包・発送準備が整った時点で、カスタマイズされたラベルをリアルタイムで印刷できていますか?
Zebraプリンターを使用すれば、Tulipアプリからの動的データを用いて、出荷ラベルをリアルタイムで作成できます。
このガイドでは、ZebraプリンターをEdgeデバイスに接続し、ユーザー入力を受け付けてカスタマイズされたラベルを作成するシンプルなアプリを作成する方法について説明します。
機能と要件
Zebraプリンターは、Tulip Playerを実行しているデバイスの種類やプリンターの機能に応じて、Tulipからいくつかの方法で直接呼び出すことができます。以下のマトリックスを参照してください:
ネットワーク接続されたZebraプリンターは、Zebraネットワークプリンタードライバー(Windows Player用)またはZebraプリンタードライバー(Tulipエッジデバイス用)を介してTulipと統合できます。 RS-232対応のZebraプリンターは、シリアル(Player専用)ドライバー(Windows Player用)または汎用シリアルドライバー(Tulipエッジデバイス用)のいずれかを介して統合できます。
また、TulipエッジデバイスはNode-REDを介してRS-232経由でZebraプリンターに接続することも可能であり、上級ユーザーにとってより高い柔軟性を実現します。
最後に、ここに記載されているすべての接続方法では、任意の数の Zebra プリンターに対応可能です。唯一の制限は、RS-232 通信の場合、ハードウェアポートの空き状況によるものです。
Zebra プリンターをエッジデバイスに接続する
まず、プリンターの IP アドレスが必要です。これを取得するには、プリンターの IP アドレスが記載されたネットワークカードを印刷する必要があります。
最も簡単な方法は、ZebraプリンターのボタンをLEDが1回点滅するまで長押しし、その後指を離すことです。これにより、一連のラベルが印刷されます。
一番上のラベルにIPアドレスが記載されていない場合、Zebraプリンターはまだネットワークに接続されていません。電源を入れたばかりの場合は、起動するまで少し待ってください。しばらく電源が入っている場合は、接続状態を確認してください。
注意!このラベルには、各バイトが3文字になるよう、IPアドレスの先頭にゼロが追加されています。Tulipはこの形式を認識しません!先頭のゼロを削除する必要があります。例:010.128.000.005 → 10.128.0.5
それでもうまくいかない場合は、以下の手順に従ってネットワークカードを入手してください。
いずれの場合も、次のような表示になります:

If your network resets, your printer may get a new IP address. If that happens, you will need to redo this tutorial with the new IP address.
次に、お使いのコンピュータでDevice Portalにサインインし、左側のメニューから 「Drivers」オプションを選択してください。

次に、ドライバーの一覧からZebra プリンターを選択し、スイッチを「オン」に切り替えてください。

接続方法
Zebra プリンタを接続する際に考慮すべき点は、接続するポートだけです。
RJ-45
ネットワーク通信には、この接続方式を使用します。これを実現するには、以下の方法があります。
- Zebra ネットワークプリンタードライバー - Player 経由Trigger Editor ですべての ZPL 設定を行えるため、使いやすい方法です。デバイスの設定は不要です。同じネットワーク上のどの Player からでも任意のプリンターにアクセスできるため、プリンターの交換や遠隔からの操作が容易になります。
ただし、サイトのDHCP設定によっては、IPアドレスが変更されると接続が切断される可能性がある点に注意してください。そのため、静的IPを設定するか、定期的にIP設定を確認することをお勧めします。
- Zebraプリンタードライバー - エッジデバイスからエッジデバイスのLANポートを使用する場合、プリンターのIPアドレスを簡単に特定でき、そのIPアドレスは事実上固定(変更されない)となります。この方法では、ドライバー設定に事前に作成されたテンプレートが必要です。アプリに入力する内容は、パイプ記号で区切られた単一の文字列です。 例:var1|var2|var3
以下の場合、この接続方法が機能しなくなる可能性があります:
- プリンターのIPアドレスが変更された場合
- IPアドレスの先頭にゼロが付いて入力された場合
- プリンターがLANではなくWANに接続されている場合(エッジデバイスのみ)
- ネットワーク経由でメッセージを送信しているデバイスがプリンターにアクセスできない場合(例:異なるネットワーク上にありながら、ローカルIPを使用しようとしている場合)
DB9
RS-232通信にはこの接続タイプを使用してください。これを行うには、以下の方法があります:
- Player(シリアル専用)ドライバー:Windows コンピュータ上で COM デバイスとして認識されます。zcode の設定、変更、書き込みはすべてトリガーエディタで行います。
- 汎用シリアルドライバー(エッジデバイス用)すべての設定は、デバイスの「ドライバー設定」ページで行う必要があります。
- Node-RED:これにより、最大の柔軟性が得られます。
以下の場合、この接続方法が機能しなくなる可能性があります:
- プリンタが接続されているポートを、当初指定されたポートから変更した場合
- ヌル文字列を送信した場合。たとえば、式(Expression)内にヌル値の変数が含まれていると、式全体がヌルとしてコンパイルされます。Tulipはエラーを出力しませんが、プリンターは何も印刷しません。
- 式に改行が含まれている場合(例:Enterキーを押す、または複数行のZPLを貼り付ける)。Tulipはエラーを表示しませんが、プリンターは何も印刷しません。
USB
This method is not supported by Tulip.
この接続方法はコンピュータとの通信用であり、ドライバが必要です。ラベル印刷の設定にのみ使用してください。
Zebra プリンタドライバの設定
まず、適切なテキストボックスにプリンタのIPアドレスを入力してください。IPアドレスの先頭に0が並んでいる場合(例:000)、それらを1つの0に減らしてください。

たとえば、上記のIPアドレスは実際には010.000.000.224でした。
その後、「zplTemplates」ラベルの横にある**「+」**ボタンをクリックして、ドライバーをカスタマイズします。複数の種類のラベルを印刷したい場合は、複数のテンプレートを作成する必要があります。

すると、2つのセクションが表示されます:1.テンプレートの名前 2.データ
「データ」には、「zpl コード」というサブフィールドがあります。

作業を進めるには、作成したいラベルの ZPL コードを追加できる必要があります。ZPL コードの記述方法について学ぶ必要がある場合は、ZPL のドキュメントを参照してください。
ZPLコードにTulipアプリの変数を組み込みたい場合は、複数のZPLコードフィールドを追加する必要があります。Tulipの変数を配置したい場所に応じて、コードを分割する必要があります。
たとえば、次のようなラベルを作成したい場合を考えてみましょう。

これには2つのカスタムフィールドがあります:1. 「Hello?」というタイトル、2. カスタムバーコード値。
バーコード上のこれらの領域にTulip変数の値を挿入できるようにするには、コードを3つの別々のZPLコードフィールドに分割する必要があります。
Tulip での表示は次のようになります:

各ZPLコードフィールドの間に、App Editorで変数値を追加することができます。最後のフィールドには、スクリプトの終了を示す**「^XZ**」が含まれています。
ZPLコードでさまざまな値を試しに設定したい場合は、Labelaryの利用をお勧めします。このツールには、ZPLを編集するためのテキストエディタが備わっています。ドットパーインチ(DPI)の値が、お使いのプリンタの設定値と一致していることを確認してください。
以下は、Tulipの変数値の代わりに「Hello?」というテキストを表示したLabelaryの例です。

上記の例で、Tulipからの最初の変数値として「Hello?」を使用する場合、「Hello?」より前のコード全体を、最初のZPLコードフィールドにコピーします。
Device PortalのZebraプリンタードライバーページで**[保存]**をクリックすると、アプリ内で印刷ロジックを設定する準備が整います。
さらに、ZebraDesigner 3ソフトウェアを使用すれば、非常にシームレスにラベルをデザインすることもできます。このソフトウェアは、デザインに対応する ZPL コードを自動的に生成するため、それを Tulip アプリに直接コピー&ペーストできます。なお、この Zebra ソフトウェアは現時点では Windows デバイスでのみ利用可能です。 ZebraDesigner 3をダウンロードし、使用するプリンターに適したドライバーもダウンロードする必要があります。デザインしたラベルを保存し、メモ帳で開いて、ZPLコードをTulipのトリガーにコピーしてください。
アプリからのラベル印刷
As of r235, Form steps have been disabled for all new Tulip Instances.
オペレーターが「フォームステップ」を介して2つのカスタム値を追加し、それらを事前に設定されたラベルに印刷する簡単なテストアプリを作成してみましょう。注意:これには、Zebraドライバーに3つのZPLコードフィールドが用意されている必要があります。
新しいアプリを作成し、2つのフィールドを持つフォームステップを作成します:1. name 2. number
どちらもテキストフィールドにしてください。これらのフィールドを、「name」および「number」という名前の変数として保存してください。

次に、これら2つのフィールドそれぞれに対応する変数テキストを含むステップと、「Print」という名前のボタンを追加します。

ボタンが押されたときに発動するトリガーを作成します。「Then」ステートメントは次のように開始してください:

- "デバイス関数を実行"
- "Zebraプリンター"
- "カスタムテンプレート"
- 「このステーションで」
Tulipは、Device Portal上で動作するドライバーを介してZebraプリンターと通信するため、Edgeデバイスを、「Shop Floor」タブでテストアプリが実行されているのと同じステーションに接続する必要があります。

次に、同じthen文の中に、次のような行があります:

この場合、「kevin Demo」という名前の ZPL テンプレートにアクセスしています。ステートメントの最後の行は次のとおりです:

この行に、静的テキストオプションを介してアプリから取得したすべてのカスタム値を追加します。各値の間にはパイプ演算子「|」を入れ、ZPLコードに挿入したい順序で追加する必要があります。
この場合、次のように追加します:
variable.name| variable.number
これは、「name」変数の値がZPLコードの最初の2つのフィールドの間に挿入され、「number」変数の値がZPLコードの2番目と3番目のフィールドの間に挿入されることを意味します。
ZPLコードは次のようになります:

それでは、アプリをテストしてみましょう。これを行うには、アプリの最新バージョンを公開する必要があります。ステーションで実行されるのはその最新バージョンだからです。

アプリを公開したら、Tulip Playerでアプリを開き、フォームに入力してください。次のステップで両方のフィールドが変数テキストとして表示されていることを確認してから、「印刷」を押してください。Zebraプリンターでラベルがすぐに印刷されるはずです。
プロセスのトラブルシューティング
ラベルがすぐに印刷されない場合は、以下の点を確認してください:
- Zebraプリンターは、イーサネット経由でエッジデバイスと同じネットワークに接続されていますか?
- エッジデバイスとアプリの両方が実行されているステーションを作成しましたか?
- カスタム値は、ドライバーで実行されているZPLコード内の空き領域に正しくマッピングされていますか?
お探しの情報は見つかりましたか?
また、community.tulip.coにアクセスして質問を投稿したり、他のユーザーが同様の問題に直面していないか確認することもできます!
