JP2017054545A - Terminal and control method for the same - Google Patents

Terminal and control method for the same Download PDF

Info

Publication number
JP2017054545A
JP2017054545A JP2016238762A JP2016238762A JP2017054545A JP 2017054545 A JP2017054545 A JP 2017054545A JP 2016238762 A JP2016238762 A JP 2016238762A JP 2016238762 A JP2016238762 A JP 2016238762A JP 2017054545 A JP2017054545 A JP 2017054545A
Authority
JP
Japan
Prior art keywords
control
application
data
communication
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016238762A
Other languages
Japanese (ja)
Other versions
JP6365648B2 (en
Inventor
和弘 ▲高▼栖
和弘 ▲高▼栖
Kazuhiro Takasu
浩一郎 堤
Koichiro Tsutsumi
浩一郎 堤
茂夫 池田
Shigeo Ikeda
茂夫 池田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2016238762A priority Critical patent/JP6365648B2/en
Publication of JP2017054545A publication Critical patent/JP2017054545A/en
Application granted granted Critical
Publication of JP6365648B2 publication Critical patent/JP6365648B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To allow a device connected to a controller to be properly controlled by an application operated by a browser of a terminal.SOLUTION: In a POS system 1, a controller 11 is requested to control a device connected to the controller 11 from an application AP operated by a browser of a tablet terminal 10, the controller 11 requested to control the device establishes control of the device, and the tablet terminal 10 establishes the control of the device via the controller 11 by the application AP after the controller 11 establishes the control of the device.SELECTED DRAWING: Figure 3

Description

本発明は、デバイスが接続された制御装置と、制御装置と通信する端末とを備える制御システムの制御方法に関する。   The present invention relates to a control method for a control system including a control device to which a device is connected and a terminal that communicates with the control device.

従来、POS端末と、このPOS端末に接続されたPOSコントローラーとを備え、これら装置が協働して、画像の記録等の各種処理を実行する制御システム(POSシステム)が知られている(例えば、特許文献1参照)。このような制御システムでは、通常、POS端末に、バーコードスキャナーや、カードリーダー等のデバイスが接続される。   2. Description of the Related Art Conventionally, a control system (POS system) that includes a POS terminal and a POS controller connected to the POS terminal and performs various processing such as image recording in cooperation with these devices is known (for example, , See Patent Document 1). In such a control system, devices such as a barcode scanner and a card reader are usually connected to the POS terminal.

特開平5−73769号公報JP-A-5-73769

ここで、特許文献1に係る制御システムにおいて、端末たるPOSコントローラーのブラウザーで動作するアプリケーションにより、制御装置たるPOS端末に接続されたデバイスを制御することを想定する。このような場合、上記アプリケーションによって、ブラウザーの機能を利用して適切に、デバイスを制御することが求められる。
本発明は、上述した事情に鑑みてなされたものであり、端末のブラウザーで動作するアプリケーションによって、デバイスの適切な制御を行えるようにすることを目的とする。
Here, in the control system according to Patent Document 1, it is assumed that a device connected to a POS terminal as a control device is controlled by an application that operates in a browser of a POS controller as a terminal. In such a case, the application is required to appropriately control the device using the browser function.
The present invention has been made in view of the above-described circumstances, and an object thereof is to enable appropriate control of a device by an application that operates in a browser of a terminal.

上記目的を達成するために、本発明は、制御システムの制御方法であって、端末のブラウザーで動作するアプリケーションから、制御装置に接続されたデバイスの制御を、前記制御装置に要求し、前記デバイスの制御を要求された前記制御装置は、前記デバイスの制御の確立を実行し、前記制御装置が前記デバイスの制御の確立を実行した後、前記端末は前記アプリケーションによる前記制御装置を介した前記デバイスの制御の確立を実行することを特徴とする。
本発明の構成によれば、アプリケーションの要求に応じて、デバイスの制御の確立、及び、アプリケーションによる制御装置を介したデバイスの制御の確立が順次行なわれ、端末のブラウザーで動作するアプリケーションによるデバイスの適切な制御が可能となる。
In order to achieve the above object, the present invention provides a control method of a control system, which requests the control device to control a device connected to the control device from an application operating in a browser of a terminal, and The control device requested to control the device executes establishment of control of the device, and after the control device performs establishment of control of the device, the terminal performs the device via the control device by the application. The establishment of the control is performed.
According to the configuration of the present invention, in response to a request from an application, device control and device control through the control device are sequentially performed, and the device operating by the application running on the browser of the terminal is sequentially performed. Appropriate control becomes possible.

また、本発明は、前記制御装置の前記デバイスの制御の確立は、前記端末の要求に基づいて、前記デバイスに処理を実行させることが可能な状態の確立である。
また、本発明は、前記制御装置の前記デバイスの制御の確立は、前記端末との間でデータの送受信が可能な状態の確立である。
Further, according to the present invention, the establishment of control of the device of the control apparatus is establishment of a state in which the device can execute processing based on a request from the terminal.
In the present invention, the establishment of control of the device of the control device is establishment of a state in which data can be transmitted / received to / from the terminal.

また、本発明は、前記制御装置の前記デバイス制御の確立は、前記デバイスとデータの送受信を行うを制御オブジェクトの生成である。
本発明の構成によれば、制御オブジェクトの生成という手段によって、適切に、デバイスの制御を確立できる。
Further, according to the present invention, the establishment of the device control of the control device is generation of a control object that performs transmission and reception of data with the device.
According to the configuration of the present invention, it is possible to appropriately establish control of a device by means of generation of a control object.

また、本発明は、前記端末の前記アプリケーションによる前記制御装置を介したデバイス制御の確立は、前記制御オブジェクトと通信を行うインターフェースオブジェクトの生成である。
本発明の構成によれば、制御オブジェクトの生成、及び、当該制御オブジェクトと通信する機能を有するインターフェースオブジェクトの生成という手段によって、適切に、アプリケーションによる制御装置を介したデバイスの制御を確立できる。
According to the present invention, the establishment of device control via the control device by the application of the terminal is generation of an interface object that communicates with the control object.
According to the configuration of the present invention, it is possible to appropriately establish control of a device via a control device by an application by means of generation of a control object and generation of an interface object having a function of communicating with the control object.

また、本発明は、前記デバイスは、印刷を行うプリンターであり、前記端末の前記ブラウザーで動作する前記アプリケーションから、前記プリンターの制御を、前記制御装置に要求し、前記プリンターの制御を要求された前記制御装置は、前記プリンターの制御の確立を実行し、前記制御装置が前記プリンターの制御を確立した後、前記端末は前記アプリケーションによる前記制御装置を介したプリンターの制御の確立を実行する。
本発明の構成によれば、アプリケーションの要求に応じて、デバイスとしてのプリンターの制御の確立、及び、アプリケーションによる制御装置を介したプリンターの制御の確立が順次行なわれ、端末のブラウザーで動作するアプリケーションによって、適切な印刷を実現できる。
Further, according to the present invention, the device is a printer that performs printing, and the control device is requested to control the printer from the application that operates in the browser of the terminal, and the control of the printer is requested. The control device executes control establishment of the printer, and after the control device establishes control of the printer, the terminal executes control application establishment of the printer via the control device.
According to the configuration of the present invention, in response to a request from an application, the control of the printer as a device and the control of the printer via the control device by the application are sequentially performed, and the application that operates in the browser of the terminal Thus, appropriate printing can be realized.

本実施形態に係るPOSシステムの構成を示す図である。It is a figure which shows the structure of the POS system which concerns on this embodiment. POSシステムを構成する各機器の機能的構成を示すブロック図。The block diagram which shows the functional structure of each apparatus which comprises a POS system. ブラウザー実行部、及び、デバイス制御部の機能ブロック図である。It is a functional block diagram of a browser execution part and a device control part. 制御、インターフェースオブジェクトが生成される際の処理フロー。Processing flow when control and interface objects are generated. 制御、インターフェースオブジェクトが消去される際の処理フロー。Processing flow when control and interface objects are deleted. ユーザーインターフェースの一例を示す図である。It is a figure which shows an example of a user interface. バーコードスキャナーによりバーコードが読み取られた後の処理フロー。Processing flow after the barcode is read by the barcode scanner. プリンターユニットによる印刷が行われる際の処理フロー。Processing flow when printing is performed by the printer unit. タブレット端末及び制御装置の動作を示すフローチャート。The flowchart which shows operation | movement of a tablet terminal and a control apparatus. タブレット端末及び制御装置の動作を示すフローチャート。The flowchart which shows operation | movement of a tablet terminal and a control apparatus.

以下、図面を参照して本発明の実施形態について説明する。
図1は、本実施形態に係るPOS(Point of Sales)システム1(制御システム)の概略構成ブロック図である。また、図2は、POSシステム1を構成するタブレット端末10(端末)、制御装置11、及び、POSサーバー17の機能的構成を示すブロック図である。
POSシステム1は、ショッピングセンターや、百貨店、コンビニエンスストア等の小売店、レストランや、喫茶店、居酒屋等の飲食店、その他の店舗、施設に適用されるシステムである。POSシステム1は、機能として、店舗における商品の販売状況、商品の在庫の状況、売上の状況等を管理する機能や、店舗に設けられたレジカウンターLにおいて、顧客が購入した商品に応じた会計を行う機能、顧客による代金の支払いに応じてレシートを発行する機能、顧客に対し会計に関する情報を提供する機能等を有している。
本実施形態に係るPOSシステム1が適用される店舗には、会計処理を行なうレジカウンターLが設けられている。そして、1つのレジカウンターLには、1台の制御装置11と、制御装置11と無線通信可能に接続されたタブレット端末10とが設けられている。
タブレット端末10は、タブレット型(板状)のコンピューターであり、特に、本実施形態では、図6を用いて後述するように、前面に形成された表示領域にタッチパネル30が設けられ、タッチ操作によって各種入力が可能なタイプのコンピューターである。
タブレット端末10は、レジカウンターLにおいて、会計を担当するレジ担当者が使用する端末であり、後述するように、レジカウンターLにおける会計に際し、レジ担当者にユーザーインターフェースを提供する。
制御装置11は、デバイス制御装置としての機能を有する装置である。図2に示すように、制御装置11には、デバイスとして、商品又は商品の包装に付されたバーコードを読み取るバーコードスキャナー12(デバイス)、紙幣や、貨幣、金券等を収容し、管理するキャッシュチェンジャー13(デバイス)、会計に関する情報を顧客に対して表示するディスプレー14(デバイス)の少なくとも1つが接続されている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a schematic configuration block diagram of a POS (Point of Sales) system 1 (control system) according to the present embodiment. FIG. 2 is a block diagram showing a functional configuration of the tablet terminal 10 (terminal), the control device 11, and the POS server 17 constituting the POS system 1.
The POS system 1 is a system applied to a shopping center, a retail store such as a department store or a convenience store, a restaurant, a restaurant such as a coffee shop or a pub, and other stores and facilities. The POS system 1 functions as a function of managing the sales status of products in a store, the status of product inventory, the status of sales, etc., and accounting according to the products purchased by customers at a cashier counter L provided in the store. And the like, a function of issuing a receipt in response to payment by the customer, and a function of providing accounting information to the customer.
A store to which the POS system 1 according to the present embodiment is applied is provided with a cashier counter L that performs accounting processing. One cashier counter L is provided with one control device 11 and a tablet terminal 10 connected to the control device 11 so as to be able to perform wireless communication.
The tablet terminal 10 is a tablet-type (plate-like) computer. In particular, in the present embodiment, as will be described later with reference to FIG. 6, a touch panel 30 is provided in a display area formed on the front surface. It is a type of computer that allows various inputs.
The tablet terminal 10 is a terminal used by a cashier in charge of accounting at the cashier counter L, and provides a user interface to the cashier in charge at the cashier at the cashier counter L, as will be described later.
The control device 11 is a device having a function as a device control device. As shown in FIG. 2, the control device 11 accommodates and manages a barcode scanner 12 (device) that reads a product or a barcode attached to the product as a device, bills, money, cash vouchers, and the like. At least one of a cash changer 13 (device) and a display 14 (device) for displaying information related to accounting to a customer is connected.

図2に示すように、制御装置11は、制御部20と、プリンターユニット21(プリンター、印刷部、デバイス)と、記憶部22と、通信モジュール23と、を備えている。
制御部20は、制御装置11の各部を制御するものであり、CPUや、ROM、RAM、その他の周辺回路等を備えている。制御部20は、デバイス制御部20aを備えているが、この機能ブロックについては後述する。
プリンターユニット21は、ロール紙を搬送する搬送機構、サーマルヘッドによってロール紙に文字や画像を印刷する印刷機構、ロール紙を切断する切断機構等を備えており、レシートに係る画像をロール紙に印刷した後、所定の位置でロール紙を切断することによりレシートを発行することが可能である。
記憶部22は、EEPROM等の不揮発性メモリーを備え、各種データを書き換え可能に、不揮発的に記憶する。
通信モジュール23は、所定の通信規格に準拠したネットワークカード等のタブレット端末10との間で無線通信するモジュール、回路等を備え、制御部20の制御の下、タブレット端末10との間で所定の通信規格に準拠した無線通信を実現する。
As shown in FIG. 2, the control device 11 includes a control unit 20, a printer unit 21 (printer, printing unit, device), a storage unit 22, and a communication module 23.
The control unit 20 controls each unit of the control device 11 and includes a CPU, a ROM, a RAM, and other peripheral circuits. The control unit 20 includes a device control unit 20a, which will be described later.
The printer unit 21 includes a transport mechanism that transports roll paper, a printing mechanism that prints characters and images on the roll paper using a thermal head, a cutting mechanism that cuts the roll paper, and the like. After that, it is possible to issue a receipt by cutting the roll paper at a predetermined position.
The storage unit 22 includes a nonvolatile memory such as an EEPROM, and stores various data in a rewritable manner.
The communication module 23 includes a module, a circuit, and the like that wirelessly communicate with the tablet terminal 10 such as a network card that conforms to a predetermined communication standard. The communication module 23 performs a predetermined communication with the tablet terminal 10 under the control of the control unit 20. Realize wireless communication compliant with communication standards.

また、タブレット端末10は、端末記憶部25と、端末制御部26と、通信モジュール27と、入力検出部29と、タッチパネル30と、を備えている。また、端末制御部26は表示制御部28を備えている。
端末記憶部25は、EEPROM等の不揮発性メモリーを備え、各種データを書き換え可能に不揮発的に記憶する。
タッチパネル30は、タブレット端末10の前面に配置された表示パネル30aと、表示パネル30aに重ねて配置されたタッチセンサー30bとが一体となって構成されている。表示パネル30aは、液晶表示パネル、有機ELパネル、電子ペーパー等のディスプレーであり、表示制御部28によって駆動される。タッチセンサー30bは、表示パネル30aに重ねて配置された静電容量式もしくは感圧式のセンサーであり、ユーザーの手指やペン型操作デバイスによるタッチ操作を検出して、タッチ操作を検出した位置を示す信号を入力検出部29に出力する。このタッチパネル30は、「ブラウザーを表示する表示部」に該当する。
表示制御部28は、後述するブラウザー実行部26aから入力される表示用のデータに基づいて、表示パネル30aを駆動し、表示パネル30aに文字や画像等を含む画面を表示する。
入力検出部29は、タッチセンサー30bが出力する信号に基づいて、タッチパネル30に対するタッチ操作を検出する。このタッチ操作を検出した場合、入力検出部29は、操作位置を表示パネル30aの表示位置に対応する座標によって示す座標データを生成し、端末制御部26に出力する。
通信モジュール27は、所定の通信規格に準拠したネットワークカード等の制御装置11、及び、POSサーバー17との間で無線通信するモジュール、回路等を備え、端末制御部26の制御の下、制御装置11、及び、POSサーバー17との間で所定の通信規格に準拠した無線通信を実現する。
The tablet terminal 10 includes a terminal storage unit 25, a terminal control unit 26, a communication module 27, an input detection unit 29, and a touch panel 30. Further, the terminal control unit 26 includes a display control unit 28.
The terminal storage unit 25 includes a nonvolatile memory such as an EEPROM and stores various data in a rewritable manner.
The touch panel 30 includes a display panel 30a disposed on the front surface of the tablet terminal 10 and a touch sensor 30b disposed so as to overlap the display panel 30a. The display panel 30 a is a display such as a liquid crystal display panel, an organic EL panel, or electronic paper, and is driven by the display control unit 28. The touch sensor 30b is a capacitance-type or pressure-sensitive sensor that is placed on the display panel 30a, and indicates a position where the touch operation is detected by detecting a touch operation by a user's finger or a pen-type operation device. The signal is output to the input detection unit 29. The touch panel 30 corresponds to a “display unit that displays a browser”.
The display control unit 28 drives the display panel 30a based on display data input from the browser execution unit 26a described later, and displays a screen including characters, images, and the like on the display panel 30a.
The input detection unit 29 detects a touch operation on the touch panel 30 based on a signal output from the touch sensor 30b. When this touch operation is detected, the input detection unit 29 generates coordinate data indicating the operation position by coordinates corresponding to the display position of the display panel 30 a and outputs the coordinate data to the terminal control unit 26.
The communication module 27 includes a control device 11 such as a network card conforming to a predetermined communication standard, and a module, a circuit, and the like that wirelessly communicate with the POS server 17. The control device is controlled by the terminal control unit 26. 11 and the POS server 17 to realize wireless communication conforming to a predetermined communication standard.

端末制御部26は、タブレット端末10の各部を制御するものであり、CPUや、ROM、RAM、その他の周辺回路等を備えている。端末制御部26は、ブラウザープログラムを実行することにより、ブラウザーの機能を実現するブラウザー実行部26aを備えている。
ブラウザー実行部26aは、ウェブブラウザーの機能により、HTML等のマークアップ言語やスクリプト言語で記述されたウェブページ(HTMLファイル等)を、POSサーバー17からダウンロードする。ダウンロードされたウェブページのデータは、例えば図示しないRAMに記憶される。ブラウザー実行部26aは、ダウンロードされたウェブページのデータを読み込み、このウェブページを表示させる表示データを生成して、表示制御部28に出力する。表示制御部28は、入力された表示データに基づいて、表示パネル30aに表示データに係るウェブページの画像を表示する。
また、ブラウザー実行部26aは、入力検出部29によってタッチセンサー30bへのタッチ操作が検出された場合、このタッチ操作に対応して入力検出部29から入力される座標データ、及び、表示制御部28に出力した表示用のデータに基づき、入力内容を特定する。ブラウザー実行部26aは、適宜、特定した入力内容に基づいて、例えばスクリプトの機能によって適切な処理を実行する。
The terminal control unit 26 controls each unit of the tablet terminal 10 and includes a CPU, a ROM, a RAM, and other peripheral circuits. The terminal control unit 26 includes a browser execution unit 26a that realizes a browser function by executing a browser program.
The browser execution unit 26 a downloads a web page (HTML file or the like) described in a markup language such as HTML or a script language from the POS server 17 by the function of the web browser. The downloaded web page data is stored in a RAM (not shown), for example. The browser execution unit 26 a reads the downloaded web page data, generates display data for displaying the web page, and outputs the display data to the display control unit 28. The display control unit 28 displays an image of the web page related to the display data on the display panel 30a based on the input display data.
In addition, when the input detection unit 29 detects a touch operation on the touch sensor 30b, the browser execution unit 26a receives the coordinate data input from the input detection unit 29 in response to the touch operation, and the display control unit 28. The input content is specified based on the display data output in step (b). The browser execution unit 26a appropriately executes an appropriate process using, for example, a script function based on the specified input content.

POSサーバー17は、商品に関する情報を格納したデータベース、売上を管理するデータベース、在庫を管理するデータベース等を記憶するサーバー記憶部36を備え、これらデータベースを利用して、POSシステム1全体を管理する。
POSサーバー17は、サーバー制御部37と、サーバー記憶部36と、通信モジュール38と、を備えている。
サーバー制御部37は、POSサーバー17の各部を制御するものであり、CPUや、ROM、RAM、その他の周辺回路等を備えている。サーバー記憶部31は、ハードディスクや、EEPROM等の不揮発性メモリーを備え、各種データを書き換え可能に不揮発に記憶する。
通信モジュール38は、所定の通信規格に準拠したネットワークカード等のタブレット端末10との間で無線通信するモジュール、回路等を備え、サーバー制御部37の制御の下、タブレット端末10との間で所定の通信規格に準拠した無線通信を実現する。
The POS server 17 includes a server storage unit 36 that stores a database that stores information about products, a database that manages sales, a database that manages inventory, and the like, and manages the entire POS system 1 using these databases.
The POS server 17 includes a server control unit 37, a server storage unit 36, and a communication module 38.
The server control unit 37 controls each unit of the POS server 17 and includes a CPU, a ROM, a RAM, and other peripheral circuits. The server storage unit 31 includes a hard disk, a nonvolatile memory such as an EEPROM, and stores various data in a rewritable manner.
The communication module 38 includes a module, a circuit, and the like that wirelessly communicate with the tablet terminal 10 such as a network card that conforms to a predetermined communication standard, and is predetermined with the tablet terminal 10 under the control of the server control unit 37. Wireless communication compliant with the communication standard of

POSサーバー17には、POSアプリケーション35が、インストールされている。
タブレット端末10のブラウザー実行部26aは、このPOSサーバー17上のPOSアプリケーション35の機能を利用して、各種処理を実行する。
具体例を挙げて詳述すると、ブラウザー実行部26aは、適宜、POSサーバー17に演算処理の要求を行なって、POSアプリケーション35の機能によって演算処理を実行させ、処理結果を受け取り、適切な処理を行なう。例えば、ブラウザー実行部26aは、バーコードスキャナー12の読み取り結果をPOSサーバー17に出力して、POSアプリケーション35の機能により商品検索を実行させて、検索結果を受け取った上で、制御装置11を制御して商品情報をディスプレー14に表示させる。また、会計の合計金額の算出を要求して、POSアプリケーション35の機能により合計金額の算出を行なわせ、算出結果を受け取った上で、制御装置11を制御して合計金額を含む情報が印刷されたレシートを発行させたりする。
ここで、「ブラウザーで動作するアプリケーション」とは、ブラウザー実行部26aが、POSアプリケーション35等、通信可能な他の機器にインストールされたアプリケーションであって、ブラウザー実行部26aが、その機能を利用可能なアプリケーションを含む概念である。この場合のアプリケーションは、通信可能な他の機器上で実行され動作するものであってもよく、当該他の機器からダウンロードして、タブレット端末10上で実行され動作するものであってもよい。さらに、「ブラウザーで動作するアプリケーション」は、ブラウザー実行部26aが読み出すウェブページ(HTMLファイル)に実装されたスクリプト等、ブラウザー実行部26aがその機能を利用可能なプログラム、ソフトウェアを含む概念である。
A POS application 35 is installed in the POS server 17.
The browser execution unit 26 a of the tablet terminal 10 executes various processes using the function of the POS application 35 on the POS server 17.
Specifically, the browser execution unit 26a appropriately requests the POS server 17 for calculation processing, causes the POS application 35 to execute calculation processing, receives a processing result, and performs appropriate processing. Do. For example, the browser execution unit 26 a outputs the reading result of the barcode scanner 12 to the POS server 17, causes the POS application 35 to execute a product search, receives the search result, and then controls the control device 11. Then, the product information is displayed on the display 14. Further, the calculation of the total amount of accounting is requested, the calculation of the total amount is performed by the function of the POS application 35, and after receiving the calculation result, the control device 11 is controlled to print information including the total amount. Issue a receipt.
Here, the “application that operates in the browser” is an application installed in another device capable of communication such as the POS application 35 by the browser execution unit 26a, and the function can be used by the browser execution unit 26a. It is a concept that includes various applications. The application in this case may be executed and operated on another device capable of communication, or may be downloaded from the other device and executed and operated on the tablet terminal 10. Furthermore, the “application that operates in the browser” is a concept including a program and software that can be used by the browser execution unit 26a, such as a script mounted on a web page (HTML file) read by the browser execution unit 26a.

図3は、タブレット端末10のブラウザー実行部26a(「端末制御部」に対応する機能ブロック)、及び、制御装置11のデバイス制御部20aの機能ブロック図をより詳細に示す図である。
図3では、説明の便宜のため、プログラム自体や、ソフトウェア的なオブジェクト、プログラムによって実現される機能を概念的に表わすブロック、デバイス等の物理的な装置等を、同一のレベルで表現している。
なお、本実施形態では、「オブジェクト」とは、オブジェクト指向プログラミングにおけるインスタンス、すなわち、データ、及び、メソッドの集合として定義されたソフトウェア的な対象を意味する。ただし、「オブジェクト」は、オブジェクト指向プログラミングにおけるインスタンスに限らず、何らかの機能を実現できるソフトウェア的な対象であればよい。
図3に示すように、タブレット端末10のブラウザー実行部26aでは、アプリケーションAPが動作する。アプリケーションAPは、上述したように、POSアプリケーション35のように他の機器で動作し、又は、他の機器からダウンロードしたアプリケーションや、ブラウザー実行部26aが読み出すHTMLファイルに実装されたスクリプト、その他、ブラウザー実行部26aが、その機能を利用可能なプログラム、ソフトウェアを含む概念である。
ブラウザー実行部26aでは、キャッシュチェンジャーI/Fオブジェクト40(インターフェースオブジェクト)、バーコードスキャナーI/Fオブジェクト41(インターフェースオブジェクト)、ディスプレーI/Fオブジェクト42(インターフェースオブジェクト)、プリンターI/Fオブジェクト43(インターフェースオブジェクト)の少なくとも1つ、統括制御オブジェクト44、及び、ブラウザー側WebSocketI/F45が動作可能である。また、デバイス制御部20aでは、デバイス側WebSocketI/F50、中継オブジェクト51、キャッシュチェンジャー制御オブジェクト53(制御オブジェクト)、バーコードスキャナー制御オブジェクト54(制御オブジェクト)、ディスプレー制御オブジェクト55(制御オブジェクト)、及び、プリンター制御オブジェクト56(制御オブジェクト)のすくなくとも1つが動作可能である。
まず、図4のフローチャートを用いて、これらオブジェクトや、ソフトウェア的なインターフェースの生成手順や、機能について説明する。
FIG. 3 is a diagram showing in more detail a functional block diagram of the browser execution unit 26a (the functional block corresponding to the “terminal control unit”) of the tablet terminal 10 and the device control unit 20a of the control device 11.
In FIG. 3, for convenience of explanation, a program itself, a software object, a block that conceptually represents a function realized by the program, a physical device such as a device, and the like are represented at the same level. .
In the present embodiment, “object” means an instance in object-oriented programming, that is, a software target defined as a collection of data and methods. However, the “object” is not limited to an instance in object-oriented programming, and may be a software target that can realize some function.
As shown in FIG. 3, the application AP operates in the browser execution unit 26 a of the tablet terminal 10. As described above, the application AP operates on another device like the POS application 35, or an application downloaded from another device, a script mounted on an HTML file read by the browser execution unit 26a, and other browsers. The execution unit 26a is a concept including a program and software that can use the function.
In the browser execution unit 26a, a cache changer I / F object 40 (interface object), a barcode scanner I / F object 41 (interface object), a display I / F object 42 (interface object), a printer I / F object 43 (interface) At least one of the objects), the overall control object 44, and the browser-side WebSocket I / F 45 are operable. In the device control unit 20a, the device-side WebSocket I / F 50, the relay object 51, the cache changer control object 53 (control object), the barcode scanner control object 54 (control object), the display control object 55 (control object), and At least one of the printer control objects 56 (control objects) is operable.
First, the generation procedure and function of these objects, software interface, and the like will be described with reference to the flowchart of FIG.

図4は、ブラウザー実行部26a、及び、デバイス制御部20aにおけるオブジェクトが生成される際の手順を示すフローチャートである。特に、図4のフローチャートは、一例として、インターフェースオブジェクトとしてバーコードスキャナーI/Fオブジェクト41の生成を例とし、かつ、制御オブジェクトとしてバーコードスキャナー制御オブジェクト54を例として、これらオブジェクトが生成される際の手順を表わしている。
以下の説明において、「アプリケーションAPは、・・・」のように、アプリケーションAPを動作の主体として処理を説明する場合、アプリケーションAPを読み出して実行するCPU(端末制御部26、ブラウザー実行部26a)が、アプリケーションAPの機能を利用して、処理を実行することを意味する。同様に、「オブジェクトは、・・・」のように、オブジェクトを動作の主体として処理を説明する場合、CPU(対応する制御部)が、オブジェクトの機能を利用して、処理を実行することを意味する。
まず、アプリケーションAPは、統括制御オブジェクト生成処理を実行する(ステップSA1)。統括制御オブジェクト生成処理とは、統括制御オブジェクト44を生成する処理である。統括制御オブジェクト44は、詳細は後述するが、通信経路の確立や切断処理に係るメソッドや、制御オブジェクト及びインターフェースオブジェクトを生成や消去処理に係るメソッド等、POSシステム1の制御に係る各種メソッドが実装されたオブジェクトである。
ステップSA1における統括制御オブジェクト生成処理は、例えば、制御装置11のメーカーにより、専用のAPI(Application Program Interface)が提供され、アプリケーションAPが当該APIの機能を利用することにより実行される。
ステップSA1の処理により統括制御オブジェクト44が生成されると、アプリケーションAPは、通信経路確立要求(通信要求)を実行する(ステップSA2)。通信経路確立要求(通信要求)とは、タブレット端末10と、制御装置11との間でWebSocketに係る論理的な通信経路K1(双方向通信用の通信規格に準拠した通信経路)を確立し、これら装置間で、WebSocketの規格に準拠したデータの送受信が可能な状態を確立させる要求のことをいう。この通信経路確立要求(通信要求)は、統括制御オブジェクト44に実装された専用のメソッドをアプリケーションAPが実行することにより実行される。
ステップSA2の通信経路確立要求に応じて、統括制御オブジェクト44、及び、中継オブジェクト51は、協働して、ブラウザー側WebSocketI/F45と、デバイス側WebSocketI/F50との間に、WebSocketの規格に準拠してコネクションを張り、通信経路K1を確立する(ステップSA3)。
なお、ブラウザー側WebSocketI/F45と、デバイス側WebSocketI/F50のそれぞれは、WebSocketの規格に準拠してデータの送受信を行うソフトウェアのインターフェースに係る機能ブロックである。また、中継オブジェクト51は、デバイス制御部20a上で動作するオブジェクトであって、上述した通信経路K1の確立処理に係るメソッドのほか、後述する各種処理に係るメソッドが実装されている。
ブラウザー側WebSocketI/F45及び統括制御オブジェクト44が協働して、「制御装置から出力された識別情報が付与されたデータを受信する受信部」として機能し、デバイス側WebSocketI/F50及び中継オブジェクト51が協働して、「ブラウザーが動作する端末との間で通信する第2通信部」、「端末から送信された通信要求とデバイス制御要求とを受信する第2通信部」、又は、「ブラウザーが動作する端末と接続されて端末からの要求を受信する第2通信部」として機能する。
通信経路K1の確立に伴って、統括制御オブジェクト44、又は、中継オブジェクト51の機能により、通信経路K1に、当該通信経路K1を識別する情報である通信経路ID(通信経路の識別情報、通信接続に係る識別情報)が付与される。付与された通信経路IDは、タブレット端末10において、アプリケーションAPが参照可能な態様で端末記憶部25における所定の記憶領域に記憶されると共に、制御装置11において、中継オブジェクト51が参照可能な態様で記憶部22における所定の記憶領域に記憶される。
なお、通信経路K1の確立により、タブレット端末10(端末)と、制御装置11との間で、通信可能な状態が確立する。
FIG. 4 is a flowchart showing a procedure when objects are generated in the browser execution unit 26a and the device control unit 20a. In particular, the flowchart of FIG. 4 shows an example in which the barcode scanner I / F object 41 is generated as an interface object and the barcode scanner control object 54 is generated as a control object. Represents the procedure.
In the following description, when processing is described with the application AP as the subject of operation, such as “Application AP is...”, A CPU that reads and executes the application AP (terminal control unit 26, browser execution unit 26a). This means that processing is executed using the function of the application AP. Similarly, when the processing is described with the object as the subject of movement, such as “Object is ...”, the CPU (corresponding control unit) executes the processing using the function of the object. means.
First, the application AP executes overall control object generation processing (step SA1). The overall control object generation process is a process for generating the overall control object 44. Although the details will be described later, the overall control object 44 is implemented with various methods related to the control of the POS system 1, such as a method related to communication path establishment and disconnection processing, a method related to generation and deletion processing of control objects and interface objects Object.
The overall control object generation process in step SA1 is executed when, for example, a dedicated API (Application Program Interface) is provided by the manufacturer of the control device 11, and the application AP uses the function of the API.
When the overall control object 44 is generated by the process of step SA1, the application AP executes a communication path establishment request (communication request) (step SA2). The communication path establishment request (communication request) establishes a logical communication path K1 (communication path conforming to the communication standard for bidirectional communication) related to WebSocket between the tablet terminal 10 and the control device 11. A request for establishing a state in which data can be transmitted and received in conformity with the WebSocket standard between these devices. This communication path establishment request (communication request) is executed by the application AP executing a dedicated method implemented in the overall control object 44.
In response to the communication path establishment request in step SA2, the overall control object 44 and the relay object 51 cooperate to comply with the WebSocket standard between the browser-side WebSocket I / F 45 and the device-side WebSocket I / F 50. Then, the connection is established and the communication path K1 is established (step SA3).
Each of the browser-side WebSocket I / F 45 and the device-side WebSocket I / F 50 is a functional block related to a software interface that transmits and receives data according to the WebSocket standard. The relay object 51 is an object that operates on the device control unit 20a, and implements methods related to various processes to be described later in addition to the method related to the establishment process of the communication path K1 described above.
The browser-side WebSocket I / F 45 and the overall control object 44 cooperate to function as a “reception unit that receives identification information output from the control device”, and the device-side WebSocket I / F 50 and the relay object 51 In cooperation, “a second communication unit that communicates with a terminal on which the browser operates”, “a second communication unit that receives a communication request and a device control request transmitted from the terminal”, or “browser It functions as a “second communication unit that is connected to an operating terminal and receives a request from the terminal”.
With the establishment of the communication path K1, the function of the overall control object 44 or the relay object 51 causes the communication path K1 to be a communication path ID (information for identifying the communication path, communication connection ID, communication connection). Identification information) is given. The given communication path ID is stored in a predetermined storage area in the terminal storage unit 25 in a manner in which the application AP can be referred to in the tablet terminal 10, and in a manner in which the relay object 51 can be referred to in the control device 11. The data is stored in a predetermined storage area in the storage unit 22.
Note that, by establishing the communication path K1, a communicable state is established between the tablet terminal 10 (terminal) and the control device 11.

次いで、アプリケーションAPは、バーコードスキャナー制御オブジェクト生成要求(デバイス制御要求)を実行する(ステップSA4)。バーコードスキャナー制御オブジェクト生成要求とは、デバイス制御部20a上で動作するバーコードスキャナー制御オブジェクト54の生成を要求する処理である。なお、後に明らかとなるとおり、デバイス制御オブジェクトの生成により、対応するデバイスの制御が可能な状態が確立(デバイスの制御が確立)するため、ステップSA4の処理は、「アプリケーション(又は、端末)が、デバイスの制御を要求」する処理に該当する。
ここで、制御装置11に接続されるデバイスのそれぞれには、デバイスの種類ごとに、識別情報(以下、「デバイスID」という。)が割り振られている。以下の説明では、バーコードスキャナー12には、デバイスIDとして「scanner」が割り振られているものとする。
そして、アプリケーションAPは、バーコードスキャナー制御オブジェクト54の生成に際し、対応するデバイスであるバーコードスキャナー12のデバイスIDを指定する。後に明らかとなるとおり、中継オブジェクト51は、指定されたデバイスIDをキーとして、生成すべきデバイスに対応する適切な制御オブジェクトを生成する。
ここで、制御オブジェクトについて説明する。
制御オブジェクトとは、デバイスの制御に係る各種メソッドが実装されたオブジェクトであり、対応するハンドラーの機能を利用して、対応するデバイスの制御を行なう。例えば、キャッシュチェンジャー制御オブジェクト53には、キャッシュチェンジャー13の制御に係る処理を実行するメソッドが実装されており、当該オブジェクトは、キャッシュチェンジャーハンドラー61の機能を利用して、キャッシュチェンジャー13の制御を行なう。なお、ハンドラーとは、要求に応じて、対応するデバイスに係る処理を実行する関数、サブルーチンである。例えば、バーコードスキャナーハンドラー60は、バーコードスキャナー12によるバーコードの読み取りが実行された場合に、読み取り結果の入力を受けると共に、割り込み処理を行なって、読み取り結果(例えば、数字の文字列からなるデータ)をバーコードスキャナー制御オブジェクト54に受け渡す。他のハンドラー(キャッシュチェンジャーハンドラー61、ディスプレーハンドラー62、及び、プリンターハンドラー63)についても同様である。
また、デバイスとのインターフェースであるデバイスインターフェース71と、各ハンドラーとが協働して、「デバイスと通信する通信部、又は、デバイスと通信する第1通信部」として機能する。
上述したとおり、制御オブジェクトの生成により、制御装置11によるデバイスの制御が確立する。
Next, the application AP executes a barcode scanner control object generation request (device control request) (step SA4). The barcode scanner control object generation request is a process for requesting generation of the barcode scanner control object 54 operating on the device control unit 20a. As will become clear later, the generation of the device control object establishes a state in which the corresponding device can be controlled (device control is established). Therefore, the processing in step SA4 is performed by “application (or terminal). Corresponds to the process of “requesting device control”.
Here, identification information (hereinafter referred to as “device ID”) is assigned to each device connected to the control apparatus 11 for each type of device. In the following description, it is assumed that “scanner” is assigned to the barcode scanner 12 as a device ID.
Then, when generating the barcode scanner control object 54, the application AP designates the device ID of the barcode scanner 12, which is a corresponding device. As will be apparent later, the relay object 51 generates an appropriate control object corresponding to the device to be generated, using the designated device ID as a key.
Here, the control object will be described.
A control object is an object in which various methods related to device control are implemented, and controls the corresponding device by using the function of the corresponding handler. For example, the cache changer control object 53 has a method for executing processing related to the control of the cache changer 13, and the object controls the cache changer 13 using the function of the cache changer handler 61. . A handler is a function or a subroutine that executes processing related to a corresponding device in response to a request. For example, when the barcode scanner 12 executes barcode reading, the barcode scanner handler 60 receives an input of the reading result, performs an interruption process, and reads the reading result (for example, a numeric character string). Data) to the barcode scanner control object 54. The same applies to the other handlers (cache changer handler 61, display handler 62, and printer handler 63).
In addition, the device interface 71 that is an interface with the device and each handler cooperate to function as a “communication unit that communicates with the device or a first communication unit that communicates with the device”.
As described above, the control of the device by the control device 11 is established by generating the control object.

アプリケーションAPによるバーコードスキャナー制御オブジェクト生成要求に応じて、統括制御オブジェクト44は、通信経路K1を介して、中継オブジェクト51に対して、バーコードスキャナー制御オブジェクト生成要求を行なう(ステップSA5)。
当該要求に応じて、中継オブジェクト51は、例えばnewステートメントにより、指定されたデバイスID(本例では、バーコードスキャナー12のデバイスID「scanner」)に対応する制御オブジェクト(本例では、バーコードスキャナー制御オブジェクト54)を生成する(ステップSA6)。すなわち、デバイス制御部20aは、制御オブジェクトを生成し、生成された制御オブジェクトは、デバイス制御部20aで動作する。
ここで、ステップSA6において、中継オブジェクト51は、生成したバーコードスキャナー制御オブジェクト54を、ステップSA3で付与された通信経路IDと対応づけて管理する。このことは、他の制御オブジェクトが生成された場合も同様である。このように、制御オブジェクトと、通信経路IDとの対応付けが中継オブジェクト51によって行なわれるため、中継オブジェクト51は、制御オブジェクトのそれぞれについて、どのアプリケーションAPの管理下にあるのかを把握可能である。
より具体的に説明する。1台の制御装置11に対して、第1タブレット端末と、第2タブレット端末との2台のタブレット端末が接続される場合を想定する。このような場合、タブレット端末のそれぞれは、制御装置11との間で、WebSocketに係る通信経路を確立し、通信経路のそれぞれに対して、一意な通信経路IDが付与される。そして、第1タブレット端末は、バーコードスキャナー12を自身で動作するアプリケーションAPの管理下に置くべく、バーコードスキャナー制御オブジェクト54を生成したとする。この場合、中継オブジェクト51は、バーコードスキャナー制御オブジェクト54を、第1タブレット端末に係る通信経路の通信経路IDと対応付けて管理する。また、第2タブレット端末は、キャッシュチェンジャー13を自身で動作するアプリケーションAPの管理下に置くべく、キャッシュチェンジャー制御オブジェクト53を生成したとする。この場合、中継オブジェクト51は、キャッシュチェンジャー制御オブジェクト53を、第2タブレット端末に係る通信経路の通信経路IDと対応付けて管理する。これにより、中継オブジェクト51は、バーコードスキャナー12の読み取り結果に基づいて、バーコードスキャナー制御オブジェクト54が第1タブレット端末に対して出力するデータについて、対応する通信経路IDの通信経路、すなわち、第1タブレット端末に係る通信経路を介して、第1タブレット端末に出力する。同様に、第2タブレット端末で動作するアプリケーションAPがキャッシュチェンジャー13を制御する場合において、第2タブレット端末に係る通信経路を介した通信があった場合には、当該通信経路の通信経路IDに対応付けられたキャッシュチェンジャー制御オブジェクト53に適切にデータ等を出力する。このように、中継オブジェクト51が、制御オブジェクトのそれぞれについて、通信経路IDと対応付けて管理することにより、複数のタブレット端末が接続され、従って、複数の通信経路が確立されている場合であっても、各制御オブジェクトが誤った通信経路を介して通信することがない。
In response to the barcode scanner control object generation request by the application AP, the overall control object 44 issues a barcode scanner control object generation request to the relay object 51 via the communication path K1 (step SA5).
In response to the request, the relay object 51 uses a control object (in this example, a barcode scanner) corresponding to a device ID (in this example, the device ID “scanner” of the barcode scanner 12) specified by a new statement, for example. A control object 54) is generated (step SA6). That is, the device control unit 20a generates a control object, and the generated control object operates in the device control unit 20a.
Here, in step SA6, the relay object 51 manages the generated barcode scanner control object 54 in association with the communication path ID assigned in step SA3. This is the same when other control objects are generated. As described above, since the control object and the communication path ID are associated with each other by the relay object 51, the relay object 51 can grasp which application AP is under the control of each control object.
This will be described more specifically. It is assumed that two tablet terminals, a first tablet terminal and a second tablet terminal, are connected to one control device 11. In such a case, each of the tablet terminals establishes a communication path related to the WebSocket with the control device 11, and a unique communication path ID is assigned to each of the communication paths. Then, it is assumed that the first tablet terminal generates the barcode scanner control object 54 in order to place the barcode scanner 12 under the control of the application AP that operates by itself. In this case, the relay object 51 manages the barcode scanner control object 54 in association with the communication path ID of the communication path related to the first tablet terminal. Further, it is assumed that the second tablet terminal has generated the cash changer control object 53 in order to place the cash changer 13 under the control of the application AP that operates by itself. In this case, the relay object 51 manages the cash changer control object 53 in association with the communication path ID of the communication path related to the second tablet terminal. Accordingly, the relay object 51 uses the communication path ID corresponding to the data output from the barcode scanner control object 54 to the first tablet terminal based on the reading result of the barcode scanner 12, that is, the first It outputs to a 1st tablet terminal via the communication path which concerns on 1 tablet terminal. Similarly, when the application AP that operates on the second tablet terminal controls the cash changer 13, if there is communication via the communication path related to the second tablet terminal, the communication path ID of the communication path corresponds to Data or the like is appropriately output to the attached cash changer control object 53. In this way, the relay object 51 manages each control object in association with the communication path ID, so that a plurality of tablet terminals are connected, and thus a plurality of communication paths are established. However, each control object does not communicate via an incorrect communication path.

バーコードスキャナー制御オブジェクト54の生成が完了すると、中継オブジェクト51は、通信経路K1を介して、当該オブジェクトの生成が完了した旨の通知を統括制御オブジェクト44に行ない(ステップSA7)、さらに、統括制御オブジェクト44は、当該通知をアプリケーションAPに行なう(ステップSA8)。
なお、ステップSA4のバーコードスキャナー制御オブジェクト生成処理の際に、制御オブジェクトの生成に係る処理の処理結果を受け取るコールバックが指定されており、コールバック関数が実行されることにより、アプリケーションAPに対して、バーコードスキャナー制御オブジェクト54の生成が成功した旨の通知が行なわれる。
さらに、統括制御オブジェクト44は、生成が完了したバーコードスキャナー制御オブジェクト54に対応させて、バーコードスキャナーI/Fオブジェクト41を生成する(ステップSA9)。
ここで、インターフェースオブジェクトについて説明する。
インターフェースオブジェクトとは、アプリケーションAPによるデバイスの制御に際して、アプリケーションAPに対して、対応するデバイスに係る制御オブジェクトに実装されたメソッドを利用させるインターフェースとなる機能を有している。すなわち、アプリケーションAPは、ある1のデバイスを制御する際に、当該1のデバイスに対応するインターフェースオブジェクトに対して情報を出力すれば、当該インターフェースオブジェクトが、当該1のデバイスに対応する制御オブジェクトと通信し、制御オブジェクトに実装されたメソッドを実行させ、当該1のデバイスの制御を実現できる。
このインターフェースオブジェクトの生成により、アプリケーションAPは、インターフェースオブジェクトを介して、制御オブジェクトのメソッドを利用して、デバイスの制御が可能となる。すなわち、制御オブジェクトの生成に伴うインターフェースオブジェクトの生成により、「アプリケーションAPによる制御装置11を介したデバイスの制御の確立」が行なわれる。
When the generation of the barcode scanner control object 54 is completed, the relay object 51 notifies the overall control object 44 that the generation of the object has been completed via the communication path K1 (step SA7), and further performs overall control. The object 44 sends the notification to the application AP (step SA8).
Note that, during the barcode scanner control object generation processing in step SA4, a callback for receiving the processing result of the processing related to the generation of the control object is specified, and the callback function is executed, so that the application AP is Thus, notification that the generation of the barcode scanner control object 54 has been successful is performed.
Further, the overall control object 44 generates the barcode scanner I / F object 41 in correspondence with the barcode scanner control object 54 that has been generated (step SA9).
Here, the interface object will be described.
The interface object has a function as an interface that allows the application AP to use a method implemented in the control object related to the corresponding device when the device is controlled by the application AP. That is, when the application AP controls a certain device and outputs information to the interface object corresponding to the one device, the interface object communicates with the control object corresponding to the one device. Then, the method implemented in the control object is executed, and the control of the one device can be realized.
By generating the interface object, the application AP can control the device using the method of the control object via the interface object. That is, “establishing device control via the control device 11 by the application AP” is performed by generating the interface object accompanying the generation of the control object.

以上のようにして、バーコードスキャナー制御オブジェクト54、及び、バーコードスキャナーI/Fオブジェクト41の生成が完了する。他のデバイスについても、同様の手順にて制御オブジェクト、及び、インターフェースオブジェクトが生成される。
このように、本実施形態では、制御装置11に制御オブジェクトの生成が完了した後、対応するインターフェースオブジェクトが生成される。このような構成のため、必ず、1つのデバイスについて、一対の制御オブジェクトと、インターフェースオブジェクトとが生成され、各デバイスについて、アプリケーションAPによるデバイスの制御が可能な状態が確立する。
また、本実施形態では、制御装置11に接続されたデバイスのそれぞれについて、一対のインターフェースオブジェクト、及び、制御オブジェクトが生成される。このような構成のため、アプリケーションAPは、ある1のデバイスを制御する際に、当該1のデバイスに対応するインターフェースオブジェクトの機能を利用することにより、確実に、当該1のデバイスを制御でき、また、当該1のデバイスとデータの送受信を実行できる。
また、アプリケーションAPの開発(プログラミング)に際し、デバイスの制御に関するソフトウェア的なインターフェースに係るプログラムについては、各デバイスのインターフェースオブジェクトとの関係を考慮すればよく、開発が容易になる。例えば、アプリケーションAPにおけるキャッシュチェンジャー13の制御に係るプログラムに関しては、キャッシュチェンジャーI/Fオブジェクト40との関係で、情報(データ)の入出力を考慮して開発すればよく、開発が容易になる。
As described above, the generation of the barcode scanner control object 54 and the barcode scanner I / F object 41 is completed. For other devices, control objects and interface objects are generated in the same procedure.
Thus, in this embodiment, after the generation of the control object is completed in the control device 11, the corresponding interface object is generated. Due to such a configuration, a pair of control objects and an interface object are always generated for one device, and a state in which the device can be controlled by the application AP is established for each device.
In the present embodiment, a pair of interface objects and control objects are generated for each device connected to the control apparatus 11. Due to such a configuration, the application AP can reliably control the one device by using the function of the interface object corresponding to the one device when controlling the certain device. The data can be transmitted / received to / from the one device.
Further, when developing (programming) the application AP, a program related to a software interface related to device control can be developed easily by considering the relationship with the interface object of each device. For example, a program related to the control of the cache changer 13 in the application AP may be developed in consideration of input / output of information (data) in relation to the cache changer I / F object 40, and development is facilitated.

次に、図5のフローチャートを用いて、生成した制御オブジェクト、及び、インターフェースオブジェクトを消去し、確立した通信を解除する際の手順について説明する。図5のフローチャートでは、バーコードスキャナー12に係る制御オブジェクト、及び、インターフェースオブジェクトを消去する場合を例としている。
まず、アプリケーションAPは、バーコードスキャナー制御オブジェクト54の消去要求(デバイス制御解除要求)を実行する(ステップSB1)。その際、アプリケーションAPは、バーコードスキャナー12のデバイスIDを指定する。当該制御オブジェクトの消去要求は、統括制御オブジェクト44に実装されたメソッドをアプリケーションAPが実行することにより実行される。
アプリケーションAPによるバーコードスキャナー制御オブジェクト54の消去要求に応じて、統括制御オブジェクト44は、通信経路K1を介して、中継オブジェクト51に対して、バーコードスキャナー制御オブジェクト54の消去要求を行なう(ステップSB2)。
消去要求に応じて、中継オブジェクト51は、例えばdelete演算子により、指定されたデバイスID(本例では、バーコードスキャナー12のデバイスID「scanner」)に対応する制御オブジェクト(本例では、バーコードスキャナー制御オブジェクト54)を消去する(ステップSB3)。当該制御オブジェクトの消去により、制御装置11におけるバーコードスキャナー12の制御の確立が解除される。
このように、本実施形態では、アプリケーションAPによる制御オブジェクトの制御要求により、特定の制御オブジェクトを消去することが可能である。そして、特定のデバイスの制御オブジェクトを消去することにより、1のタブレット端末で動作するアプリケーションAPによる当該特定のデバイスの制御の占有が解除され、他のタブレットで動作するアプリケーションAPが、当該特定のデバイスを制御可能な状態となる。このため、アプリケーションAPは、特定のデバイスを使用しない状態となった場合、当該特定のデバイスの制御オブジェクトを消去することにより当該デバイスを開放することが可能であり、不必要にデバイスの占有が行なわれることを防止可能である。
Next, a procedure for deleting the generated control object and interface object and canceling the established communication will be described using the flowchart of FIG. In the flowchart of FIG. 5, an example is shown in which the control object and the interface object related to the barcode scanner 12 are deleted.
First, the application AP executes an erase request (device control release request) for the barcode scanner control object 54 (step SB1). At that time, the application AP designates the device ID of the barcode scanner 12. The request for deleting the control object is executed when the application AP executes a method implemented in the overall control object 44.
In response to the erasure request for the barcode scanner control object 54 by the application AP, the overall control object 44 issues an erasure request for the barcode scanner control object 54 to the relay object 51 via the communication path K1 (step SB2). ).
In response to the erasure request, the relay object 51 uses a control object (in this example, a barcode) corresponding to a device ID (in this example, the device ID “scanner” of the barcode scanner 12) specified by the delete operator. The scanner control object 54) is deleted (step SB3). By erasing the control object, establishment of control of the barcode scanner 12 in the control device 11 is released.
As described above, in this embodiment, it is possible to delete a specific control object by a control object control request from the application AP. Then, by deleting the control object of the specific device, the control of the specific device by the application AP operating on one tablet terminal is released, and the application AP operating on the other tablet becomes the specific device Can be controlled. For this reason, when a specific device is not used, the application AP can release the device by deleting the control object of the specific device, and the device is unnecessarily occupied. Can be prevented.

バーコードスキャナー制御オブジェクト54の消去が完了すると、中継オブジェクト51は、通信経路K1を介して、当該オブジェクトの消去が完了した旨の通知を統括制御オブジェクト44に行ない(ステップSB4)、さらに、統括制御オブジェクト44は、当該通知をアプリケーションAPに行なう(ステップSB5)。
なお、ステップSB1の処理の際に、制御オブジェクトの消去に係る処理の処理結果を受け取るコールバックが指定されており、コールバック関数の実行されることにより、アプリケーションAPに対して、バーコードスキャナー制御オブジェクト54の消去が成功した旨の通知が行なわれる。
さらに、統括制御オブジェクト44は、消去が完了したバーコードスキャナー制御オブジェクト54に対応させて、バーコードスキャナーI/Fオブジェクト41を消去する(ステップSB6)。
次いで、アプリケーションAPは、制御装置11との間で確立している通信経路K1の切断を要求(通信解除要求)する(ステップSB7)。当該要求は、統括制御オブジェクト44に実装された専用のメソッドをアプリケーションAPが実行することにより実行される。
ステップSA7の要求に応じて、統括制御オブジェクト44、及び、中継オブジェクト51は、協働して、ブラウザー側WebSocketI/F45と、デバイス側WebSocketI/F50との間に確立された通信経路K1を、WebSocketの規格に準拠して切断する(ステップSB8)。
以上のようにして、生成した制御オブジェクト、及び、インターフェースオブジェクトの消去、確立した通信の解除が行なわれる。
このように、生成した制御オブジェクトは、アプリケーションAPの要求により、任意のタイミングで、消去可能である。すなわち、アプリケーションAPは、ある1のデバイスについて、自身の制御下におく必要がなくなった場合、速やかに、当該1のデバイスに係る制御オブジェクトを消去し、当該1のデバイスの制御を開放することが可能である。このため、制御オブジェクトが不必要に残存し、他のタブレット端末のアプリケーションAPが、デバイスを制御不可能な状態が不必要に続くことを効果的に防止可能である。
When the erasure of the barcode scanner control object 54 is completed, the relay object 51 notifies the overall control object 44 that the erasure has been completed via the communication path K1 (step SB4), and further performs overall control. The object 44 sends the notification to the application AP (step SB5).
In the process of step SB1, a callback for receiving the processing result of the process related to the deletion of the control object is specified, and the barcode scanner control is performed on the application AP by executing the callback function. A notification that the erasure of the object 54 is successful is performed.
Further, the overall control object 44 deletes the barcode scanner I / F object 41 in correspondence with the barcode scanner control object 54 that has been deleted (step SB6).
Next, the application AP requests disconnection (communication release request) of the communication path K1 established with the control device 11 (step SB7). The request is executed by the application AP executing a dedicated method implemented in the overall control object 44.
In response to the request in step SA7, the overall control object 44 and the relay object 51 cooperate to establish a communication path K1 established between the browser-side WebSocket I / F 45 and the device-side WebSocket I / F 50 with the WebSocket. Is cut in accordance with the standard (step SB8).
As described above, the generated control object and interface object are deleted and the established communication is released.
As described above, the generated control object can be deleted at an arbitrary timing according to a request from the application AP. That is, when it is no longer necessary for the application AP to be under the control of a certain device, the application AP can immediately delete the control object related to the one device and release the control of the one device. Is possible. For this reason, it is possible to effectively prevent a control object from remaining unnecessarily and an application AP of another tablet terminal from unnecessarily continuing a state in which the device cannot be controlled.

次に、会計処理における処理の流れについて、具体例を挙げて説明する。
ここで、会計に係る処理が行われる前に、タブレット端末10は、それぞれ、以下の処理を実行する。
すなわち、レジの担当者、その他の作業に従事する者は、タブレット端末10のブラウザーを立ち上げ、タッチパネル30へのユーザーインターフェースUI(図6(A)参照)の表示を指示する。当該指示に応じて、端末制御部26のブラウザー実行部26aは、POSサーバー17上の所定のアドレスにアクセスし、HTMLファイル等のウェブページのデータを取得し、当該データに基づいてユーザーインターフェースUIをタッチパネル30に表示する。
図6(A)は、タッチパネル30に表示されたユーザーインターフェースUIの一例を示す図である。
図6(A)のユーザーインターフェースUIにおいて、左上部には、顧客が購入した商品の名称、商品の単価、及び、商品の数量が一覧表示される一覧表示エリア65が表示されている。この一覧表示エリア65の右方には、顧客が購入した商品の合計金額、会計に際して顧客から預かった金銭の金額、及び、顧客に渡すべきお釣りの金額が表示される金額表示エリア66が表示される。
また、一覧表示エリア65の下方には、バーコードスキャナー12によって読み取られたバーコードが表す情報(以下、「バーコード情報」という。)が入力され表示される入力フィールドであるバーコード情報入力フィールド67が形成されている。バーコード情報は、基本的には、商品の種類毎に一意に割り当てられた識別情報である。バーコード情報入力フィールド67の右方には、ソフトウェアテンキー68が表示される。ユーザーインターフェースUIに形成された入力フィールドのそれぞれに対しては、このソフトウェアテンキー68を介して情報を入力することが可能となっており、ソフトウェアテンキー68は、情報を入力するキーを有している。
また、ユーザーインターフェースUIの上端部には、アクセス先のアドレスが表示されるアドレス入力フィールド69が表示されている。
Next, the flow of processing in the accounting process will be described with a specific example.
Here, before processing related to accounting is performed, the tablet terminal 10 executes the following processing.
That is, the person in charge of the cash register or another person who engages in other work starts up the browser of the tablet terminal 10 and instructs the touch panel 30 to display the user interface UI (see FIG. 6A). In response to the instruction, the browser execution unit 26a of the terminal control unit 26 accesses a predetermined address on the POS server 17, acquires web page data such as an HTML file, and sets the user interface UI based on the data. Display on the touch panel 30.
FIG. 6A is a diagram illustrating an example of a user interface UI displayed on the touch panel 30.
In the user interface UI of FIG. 6A, a list display area 65 in which the name of the product purchased by the customer, the unit price of the product, and the quantity of the product are displayed in a list is displayed in the upper left part. On the right side of the list display area 65, an amount display area 66 is displayed in which the total amount of products purchased by the customer, the amount of money deposited from the customer at the time of accounting, and the amount of change to be given to the customer are displayed. The
Also, below the list display area 65, a bar code information input field, which is an input field where information (hereinafter referred to as “bar code information”) represented by the bar code read by the bar code scanner 12 is input and displayed. 67 is formed. Bar code information is basically identification information uniquely assigned to each type of product. On the right side of the barcode information input field 67, a software numeric keypad 68 is displayed. Information can be input to each of the input fields formed on the user interface UI via the software numeric keypad 68. The software numeric keypad 68 has a key for inputting information. .
An address input field 69 for displaying an access destination address is displayed at the upper end of the user interface UI.

まず、バーコードスキャナー12によるバーコードの読み取りが実行された後、読み取られたバーコードが表わす情報(以下、「バーコード情報」という。)がユーザーインターフェースUIのバーコード情報入力フィールド67に表示されるまでの処理の手順を説明する。
図7は、上記処理の手順を説明するためのフローチャートである。
まず、バーコードの読み取り結果をアプリケーションAPが取得できるようにするために、事前に、アプリケーションAPにより、バーコードスキャナーI/Fオブジェクト41に対してコールバック名の登録が行なわれる(ステップSC1)。コールバック名とは、イベント(例えば、バーコードスキャナー12によるバーコードの読み取り、というイベント)ごとに付与された識別名称である。インターフェースオブジェクトに対して、当該コールバック名と対応づけてデータが入力された場合、所定のコールバック関数が実行されて、アプリケーションAPへの当該データの入力が実行される。本例では、「バーコードスキャナー12によるバーコードの読み取り」のコールバック名は、「ondata」であるものとする。
さて、レジカウンターLにおいて、レジの担当者は、バーコードスキャナー12によって、顧客が購入した1の商品に付されたバーコードを読み取る(ステップSX1)。
次に、バーコードスキャナーハンドラー60に読み取り結果が入力される(ステップSC2)。バーコードスキャナーハンドラー60は、割り込み処理を行なって、読み取り結果であるバーコード情報を、バーコードスキャナー制御オブジェクト54に出力する(ステップSC3)。
次いで、バーコードスキャナー制御オブジェクト54は、少なくとも、バーコードスキャナー12のデバイスID(本例では、「scanner」)、コールバック名(本例では、「ondata」)、バーコード情報(データ)を含むデータを、所定のデータ形式で中継オブジェクト51に出力する(ステップSC4)。
First, after the barcode is read by the barcode scanner 12, information represented by the read barcode (hereinafter referred to as “barcode information”) is displayed in the barcode information input field 67 of the user interface UI. The processing procedure up to this point will be described.
FIG. 7 is a flowchart for explaining the procedure of the above process.
First, in order to allow the application AP to acquire the barcode reading result, a callback name is registered in advance for the barcode scanner I / F object 41 by the application AP (step SC1). The callback name is an identification name assigned to each event (for example, an event of reading a barcode by the barcode scanner 12). When data is input to the interface object in association with the callback name, a predetermined callback function is executed and the data is input to the application AP. In this example, it is assumed that the callback name of “barcode reading by the barcode scanner 12” is “ondata”.
At the cashier counter L, the cashier person reads the bar code attached to one product purchased by the customer by the bar code scanner 12 (step SX1).
Next, the reading result is input to the barcode scanner handler 60 (step SC2). The barcode scanner handler 60 performs an interrupt process, and outputs barcode information as a reading result to the barcode scanner control object 54 (step SC3).
Next, the barcode scanner control object 54 includes at least a device ID of the barcode scanner 12 (in this example, “scanner”), a callback name (in this example, “ondata”), and barcode information (data). Data is output to the relay object 51 in a predetermined data format (step SC4).

中継オブジェクト51は、データID(識別情報)を生成し、入力されたデータに含まれるバーコード情報に、予め定められた態様で付与する(ステップSC5)。データIDは、アプリケーションAPに受け渡すデータ(本例では、バーコード情報)を識別するために一意に付与される識別情報である。本実施形態では、データIDは、数字であり、中継オブジェクト51は、統括制御オブジェクト44へのデータの出力が時間的に遅いものほど、その値が大きくなるようにデータIDを生成し、付与する。例えば、入力されたバーコード情報について、値「1」のデータIDを生成、付与し、統括制御オブジェクト44に出力した場合、次に入力されたバーコード情報については、値「2」(「1」より大きな値であれば、「2」以外でもよい。)のデータIDを生成、付与し、統括制御オブジェクト44に対して出力する。付与されたデータIDの使用方法については、後に詳述する。
次いで、中継オブジェクト51は、データIDが付与されたバーコード情報(データ)を、記憶部22における所定の記憶領域に記憶する(ステップSC6)。この結果、アプリケーションAPに対して出力されるデータID付きのデバイスに係るデータ(デバイスに関する情報)は、記憶部22に累積的に記憶される。
次いで、中継オブジェクト51は、バーコードスキャナー12のデバイスID(本例では、「scanner」)、コールバック名(本例では、「ondata」)、及び、データID付きのバーコード情報(データ)を含むデータを所定のデータ形式で、統括制御オブジェクト44に出力する(ステップSC7)。その際、中継オブジェクト51は、バーコードスキャナー制御オブジェクト54と対応付けられた通信経路IDに係る通信経路K1を介して、データの出力を行なう。
The relay object 51 generates a data ID (identification information) and assigns it to the barcode information included in the input data in a predetermined manner (step SC5). The data ID is identification information uniquely assigned to identify data (barcode information in this example) to be transferred to the application AP. In the present embodiment, the data ID is a number, and the relay object 51 generates and assigns the data ID so that the larger the data output to the overall control object 44 is, the larger the value is. . For example, when the data ID of the value “1” is generated and assigned to the input barcode information and is output to the overall control object 44, the value “2” (“1” If the value is larger than “2”, a data ID other than “2” may be generated, assigned, and output to the overall control object 44. A method of using the assigned data ID will be described in detail later.
Next, the relay object 51 stores the barcode information (data) to which the data ID is assigned in a predetermined storage area in the storage unit 22 (step SC6). As a result, data (device-related information) related to the device with the data ID output to the application AP is cumulatively stored in the storage unit 22.
Next, the relay object 51 receives the barcode ID (data) with the device ID of the barcode scanner 12 (in this example, “scanner”), the callback name (in this example, “ondata”), and the data ID. The included data is output to the overall control object 44 in a predetermined data format (step SC7). At that time, the relay object 51 outputs data via the communication path K1 related to the communication path ID associated with the barcode scanner control object 54.

次いで、統括制御オブジェクト44は、入力されたデータに含まれるデバイスIDをキーとして、所定のインターフェースオブジェクト(本例では、バーコードスキャナーI/Fオブジェクト41)に対して、データを出力する(ステップSC8)。
バーコードスキャナーI/Fオブジェクト41は、コールバック名(本例では、「ondata」)に基づいて、所定のコールバック関数を実行して、データID付きのバーコード情報をアプリケーションAPに出力する(ステップSC9)。
アプリケーションAPは、入力されたバーコード情報に基づいて、表示処理を実行し、バーコード情報を、バーコード情報入力フィールド67に表示する(ステップSC10)。これにより、図6(B)に示すように、バーコード情報入力フィールド67に、バーコード情報が表示された状態となる。
次いで、アプリケーションAPは、入力されたデータID付きのバーコード情報からデータIDを抽出し、端末記憶部25の所定の記憶領域に、データIDを記憶する(ステップSC11)。このステップSC11の処理により、端末記憶部25には、デバイスの出力データ(本例では、バーコード情報)のうち、アプリケーションAPに対して入力されたデータのデータIDが累積的に記憶された状態となる。端末記憶部25に記憶されたデータIDの使用方法については後述する。
Next, the overall control object 44 outputs data to a predetermined interface object (in this example, the barcode scanner I / F object 41) using the device ID included in the input data as a key (step SC8). ).
Based on the callback name (“ondata” in this example), the barcode scanner I / F object 41 executes a predetermined callback function and outputs barcode information with a data ID to the application AP ( Step SC9).
The application AP executes display processing based on the input barcode information, and displays the barcode information in the barcode information input field 67 (step SC10). As a result, the barcode information is displayed in the barcode information input field 67 as shown in FIG.
Next, the application AP extracts the data ID from the input barcode information with the data ID, and stores the data ID in a predetermined storage area of the terminal storage unit 25 (step SC11). As a result of the process of step SC11, the terminal storage unit 25 has cumulatively stored the data ID of the data input to the application AP among the output data of the device (in this example, barcode information). It becomes. A method of using the data ID stored in the terminal storage unit 25 will be described later.

次に、アプリケーションAPがプリンターユニット21にレシートを発行させる場合の処理の手順を説明する。
図8は、上記処理の手順を説明するためのフローチャートである。
まず、アプリケーションAPは、実装された機能により、レシートに印刷する画像を生成し、生成した画像に基づいて、プリンターユニット21によって発行させるレシートに関する情報が含まれたXMLドキュメント(データ)を生成する(ステップSD1)。当該XMLドキュメントには、XMLに係るフォーマットに準拠して、レシートに印刷する文字や画像の情報等、レシートを発行する情報が所定の形式で含まれており、後述するように、プリンター制御部80は、当該XMLドキュメントをプリンターユニット21のコマンド体系に準拠した制御コマンドに変換可能である。
次いで、アプリケーションAPは、プリンターユニット21のデバイスID、及び、プリンター制御オブジェクト56に実行させる関数を指定する情報、及び、生成したXMLドキュメント、を少なくとも含むデータを、プリンターI/Fオブジェクト43に出力する(ステップSD2)。本例では、プリンター制御オブジェクト56に実行される関数とは、XMLドキュメントを、プリンター・ディスプレーI/F81を介してプリンター制御部80に出力させる処理を行なわせる関数である。
次いで、プリンターI/Fオブジェクト43は、アプリケーションAPから入力されたデータの、プリンター制御オブジェクト56への出力要求を統括制御オブジェクト44に対して行なう。(ステップSD3)統括制御オブジェクト44は、通信経路K1を介して当該データを中継オブジェクト51に対して出力し(ステップSD4)、中継オブジェクト51は、プリンター制御オブジェクト56に当該データを出力する(ステップSD5)。
プリンター制御オブジェクト56は、入力されたデータにおいて指定された関数を実行することにより、入力されたデータに含まれるXMLファイルを、プリンター・ディスプレーI/F81を介して、プリンター制御部80に出力する(ステップSD6)。その際、プリンター制御オブジェクト56は、XMLファイルについて、プリンター制御部80が処理可能なようにデータ整形、データ変換を行なった上で、プリンター制御部80に出力する。
プリンター制御部80は、いわゆるプリンタードライバーの機能により実現される機能ブロックであり、入力されたXMLファイルに基づいて、プリンターユニット21のコマンド体系に準拠した制御コマンドを生成し、プリンターハンドラー63を介して、プリンターユニット21に出力する(ステップSD7)。プリンターユニット21は、入力された制御コマンドに基づいて、各種機構を動作させて、レシートを発行する(ステップSD8)。
なお、ディスプレー14に表示をさせる場合も、図8で説明した手順と同様の手順で処理が行なわれる。
すなわち、アプリケーションAPは、ディスプレーI/Fオブジェクト42を介して、ディスプレー制御オブジェクト55に、表示データを出力する。ディスプレー制御オブジェクト55は、プリンター・ディスプレーI/F81を介して、ディスプレー制御部82に表示データを出力する。ディスプレー制御部82は、入力された表示データをディスプレー14のコマンド体系に準拠した制御コマンド体系に変換して、ディスプレーハンドラー62の機能を利用して、ディスプレー14に出力する。ディスプレー14は、制御コマンドに基づいて表示データの表示を行なう。
Next, a processing procedure when the application AP causes the printer unit 21 to issue a receipt will be described.
FIG. 8 is a flowchart for explaining the procedure of the above process.
First, the application AP generates an image to be printed on a receipt using the implemented function, and generates an XML document (data) including information on a receipt to be issued by the printer unit 21 based on the generated image ( Step SD1). The XML document includes, in a predetermined format, information for issuing a receipt, such as information on characters and images to be printed on a receipt, in accordance with an XML format. As described later, the printer control unit 80 The XML document can be converted into a control command conforming to the command system of the printer unit 21.
Next, the application AP outputs to the printer I / F object 43 data including at least the device ID of the printer unit 21, information specifying a function to be executed by the printer control object 56, and the generated XML document. (Step SD2). In this example, the function executed by the printer control object 56 is a function that causes the printer control unit 80 to output an XML document via the printer / display I / F 81.
Next, the printer I / F object 43 requests the overall control object 44 to output the data input from the application AP to the printer control object 56. (Step SD3) The overall control object 44 outputs the data to the relay object 51 via the communication path K1 (Step SD4), and the relay object 51 outputs the data to the printer control object 56 (Step SD5). ).
The printer control object 56 outputs a XML file included in the input data to the printer control unit 80 via the printer display I / F 81 by executing a specified function in the input data ( Step SD6). At that time, the printer control object 56 performs data shaping and data conversion on the XML file so that the printer control unit 80 can process it, and then outputs the XML file to the printer control unit 80.
The printer control unit 80 is a functional block realized by a so-called printer driver function, generates a control command conforming to the command system of the printer unit 21 based on the input XML file, and passes the printer handler 63 via the printer handler 63. And output to the printer unit 21 (step SD7). Based on the input control command, the printer unit 21 operates various mechanisms and issues a receipt (step SD8).
In addition, when displaying on the display 14, the process is performed in the same procedure as described in FIG.
That is, the application AP outputs display data to the display control object 55 via the display I / F object 42. The display control object 55 outputs display data to the display control unit 82 via the printer / display I / F 81. The display control unit 82 converts the input display data into a control command system conforming to the command system of the display 14, and outputs it to the display 14 using the function of the display handler 62. The display 14 displays display data based on the control command.

以上のように、各デバイスについて、デバイスに対応するインターフェースオブジェクトと、制御オブジェクトとの通信により、アプリケーションAPによるデバイスの制御、及び、アプリケーションAPとデバイスとの間でのデータの送受信が適宜行なわれる。
特に、本実施形態では、タブレット端末10と、制御装置11とは、WebSocketの規格に準拠した通信を行なう。すなわち、タブレット端末10に係るブラウザーからサーバーとして機能する制御装置11に対してデータの送信要求を出すことなく、いずれの装置も、他方の装置に対してデータを送信することができる。換言すれば、インターフェースオブジェクトと、対応する制御オブジェクトとは、双方向通信可能である。このため、図7のフローチャートを用いて説明したように、デバイス側のイベントをトリガーとして、デバイスからアプリケーションAPへ、制御オブジェクト及びインターフェースオブジェクトを介したスムーズなデータの出力が可能である。かつ、図8のフローチャートを用いて説明したように、アプリケーションAP側のイベントをトリガーとして、アプリケーションAPは、インターフェースオブジェクト及び制御オブジェクトを介して、デバイスを制御可能である。
As described above, for each device, control of the device by the application AP and transmission / reception of data between the application AP and the device are appropriately performed by communication between the interface object corresponding to the device and the control object.
In particular, in the present embodiment, the tablet terminal 10 and the control device 11 perform communication based on the WebSocket standard. That is, any device can transmit data to the other device without issuing a data transmission request from the browser related to the tablet terminal 10 to the control device 11 functioning as a server. In other words, the interface object and the corresponding control object can communicate bidirectionally. Therefore, as described with reference to the flowchart of FIG. 7, it is possible to smoothly output data from the device to the application AP via the control object and the interface object, triggered by the event on the device side. In addition, as described with reference to the flowchart of FIG. 8, the application AP can control the device via the interface object and the control object using an event on the application AP side as a trigger.

また、以上説明したように、各デバイスの制御オブジェクトの生成により、対応するデバイスの制御が確立する。つまり、制御オブジェクトの生成により、対応する制御オブジェクトとの間でのデータの入力が可能な状態が確立し、これにより、アプリケーションAPによって対応するデバイスに各種処理を実行させることが可能となり、また、対応するデバイスからアプリケーションAPに対してデータの出力を行なうことが可能となる。なお、後述するように、制御オブジェクトは、アプリケーションAPが出力するデータをデバイス(又は、デバイスの制御部)に出力することにより、デバイスに特定の処理を行なわせる場合もあり、また、アプリケーションAPの要求に従って、デバイスに制御コマンドを出力して、デバイスに特定の処理を行なわせる場合もある。
より詳細に説明すると、上述のとおり、バーコードスキャナー制御オブジェクト54は、その機能(メソッド)として、対応するバーコードスキャナー12でバーコードの読み取りが実行された場合に、割り込み処理によって読み取り結果を取得し、取得した読み取り結果をバーコードスキャナーI/Fオブジェクト41を介して、アプリケーションAPに出力する、という機能(メソッド)を有している。すなわち、バーコードスキャナー制御オブジェクト54は、対応するバーコードスキャナー12でのバーコードの読み取りに応じて、読み取られた読み取り結果のタブレット端末10への送信を可能とする。従って、ここでのデバイス制御の確立は、対応するバーコードスキャナー12の読取結果をタブレット端末10への送信が可能な状態の確立を表す。これらの機能はバーコード制御オブジェクト54の生成により実行可能となる。
また、上述のとおり、プリンター制御オブジェクト56は、アプリケーションAPが生成したXMLドキュメントを、プリンター制御部80が処理可能なようにデータ整形、データ変換を行なった上で、プリンター制御部80に出力する。プリンター制御部80は、処理可能な態様で出力されたデータに基づいて、制御コマンドを生成して出力し、プリンターユニット21にレシートを発行させる(印刷を実行させる)。また、プリンター制御オブジェクト56は、プリンターユニット21が出力したデータ(例えば、プリンターユニット21のステータス(紙切れや、エラー等)を表わすデータ)を、プリンター制御部80を介して取得する。そして、プリンター制御オブジェクト56は、取得したデータをプリンターI/Fオブジェクト43を介して、アプリケーションAPへ出力する。すなわち、ここでのデバイスの制御の確立は、タブレット端末10(アプリケーションAP)から対応するプリンターユニット21にデータの出力が可能な状態、及び、タブレット端末10(アプリケーションAP)によってプリンターユニット21に印刷を含む各種処理を実行させることが可能な状態の確立を表す。また、対応するプリンターユニット21からタブレット端末10(アプリケーションAP)に対して適宜のタイミングでデータの送信が可能な状態の確立を表す。これらの機能はプリンター制御オブジェクト56の生成により実現される。
ディスプレー制御オブジェクト55についても、プリンター制御オブジェクト56と同様の態様で、デバイスの制御の確立が行なわれる。すなわち、ディスプレー制御オブジェクト55の生成により、タブレット端末10(アプリケーションAP)から対応するディスプレーにデータの出力が可能な状態、及び、タブレット端末10(アプリケーションAP)によってディスプレー14に各種情報を表示させることが可能な状態が確立する。また、ディスプレー制御オブジェクト55の生成により、ディスプレー14からタブレット端末10(アプリケーションAP)に対して適宜のタイミングでデータの送信が可能な状態が確立する。
また、キャッシュチェンジャー制御オブジェクト53は、アプリケーションAPの要求に基づいて、実行させるべき処理に対応する制御コマンドを生成してキャッシュチェンジャー13に出力し、キャッシュチェンジャー13に入金処理や、出金処理等の各種処理を実行させる。この制御コマンドの生成、及び、出力は、アプリケーションAPにより指示されたメソッドの実行によって行なわれる。換言すれば、タブレット端末10(アプリケーションAP)は、キャッシュチェンジャーI/Fオブジェクト40を介して、キャッシュチェンジャー制御オブジェクト53に実装されたメソッドを指定することによって、キャッシュチェンジャー13に任意の処理を実行させることができる。
また、キャッシュチェンジャー制御オブジェクト53は、キャッシュチェンジャー13により計数が行なわれた場合や、キャッシュチェンジャー13に対して入出金があった場合、割り込み処理によってその処理結果を取得し、取得した処理結果をキャッシュチェンジャーI/Fオブジェクト40を介して、アプリケーションAPに出力する。
すなわち、ここでのデバイスの制御の確立は、タブレット端末10(アプリケーションAP)から対応するキャッシュチェンジャー13にデータの出力が可能な状態、及び、タブレット端末10(アプリケーションAP)によってキャッシュチェンジャー13に入金処理等の各種処理を実行させることが可能な状態の確立を表す。また、対応するキャッシュチェンジャー13からタブレット端末10(アプリケーションAP)に対して適宜のタイミングでデータの送信が可能な状態の確立を表す。これらの機能はキャッシュチェンジャー制御オブジェクト53の生成により実現される。
As described above, the control of the corresponding device is established by generating the control object of each device. In other words, the generation of the control object establishes a state in which data can be input to and from the corresponding control object, which allows the corresponding device to execute various processes by the application AP. Data can be output from the corresponding device to the application AP. As will be described later, the control object may cause the device to perform a specific process by outputting the data output by the application AP to the device (or the control unit of the device). There is a case where a control command is output to the device according to the request, and the device performs a specific process.
More specifically, as described above, the barcode scanner control object 54 acquires the reading result by interrupt processing when the barcode scanning is executed by the corresponding barcode scanner 12 as its function (method). Then, it has a function (method) of outputting the acquired reading result to the application AP via the barcode scanner I / F object 41. That is, the barcode scanner control object 54 enables transmission of the read result to the tablet terminal 10 in accordance with the reading of the barcode by the corresponding barcode scanner 12. Therefore, establishment of device control here represents establishment of a state in which the reading result of the corresponding barcode scanner 12 can be transmitted to the tablet terminal 10. These functions can be executed by generating the barcode control object 54.
Further, as described above, the printer control object 56 performs data shaping and data conversion so that the printer control unit 80 can process the XML document generated by the application AP, and then outputs the XML document to the printer control unit 80. The printer control unit 80 generates and outputs a control command based on the data output in a processable manner, and causes the printer unit 21 to issue a receipt (execute printing). Further, the printer control object 56 acquires data output from the printer unit 21 (for example, data indicating the status (out of paper, error, etc.) of the printer unit 21) via the printer control unit 80. Then, the printer control object 56 outputs the acquired data to the application AP via the printer I / F object 43. That is, the establishment of device control here is a state in which data can be output from the tablet terminal 10 (application AP) to the corresponding printer unit 21, and printing is performed on the printer unit 21 by the tablet terminal 10 (application AP). It represents the establishment of a state in which various processes can be executed. Further, it represents establishment of a state in which data can be transmitted from the corresponding printer unit 21 to the tablet terminal 10 (application AP) at an appropriate timing. These functions are realized by generating the printer control object 56.
Regarding the display control object 55, the device control is established in the same manner as the printer control object 56. That is, by generating the display control object 55, the tablet terminal 10 (application AP) can output data to the corresponding display, and various information can be displayed on the display 14 by the tablet terminal 10 (application AP). A possible state is established. Further, the generation of the display control object 55 establishes a state in which data can be transmitted from the display 14 to the tablet terminal 10 (application AP) at an appropriate timing.
Further, the cash changer control object 53 generates a control command corresponding to the process to be executed based on the request of the application AP, outputs the control command to the cash changer 13, and performs a deposit process, a withdrawal process, etc. Various processes are executed. The generation and output of this control command is performed by executing a method designated by the application AP. In other words, the tablet terminal 10 (application AP) causes the cash changer 13 to execute an arbitrary process by designating a method implemented in the cash changer control object 53 via the cash changer I / F object 40. be able to.
Further, the cache changer control object 53 acquires the processing result by interruption processing when the cash changer 13 performs counting or when the cash changer 13 is deposited / withdrawn, and the acquired processing result is cached. The data is output to the application AP via the changer I / F object 40.
That is, the device control here is established in a state in which data can be output from the tablet terminal 10 (application AP) to the corresponding cash changer 13, and the cash changer 13 is charged by the tablet terminal 10 (application AP). This represents establishment of a state in which various processes such as can be executed. In addition, it represents establishment of a state in which data can be transmitted from the corresponding cash changer 13 to the tablet terminal 10 (application AP) at an appropriate timing. These functions are realized by generating the cache changer control object 53.

ところで、タブレット端末10と、制御装置11とは、イーサネット(登録商標)等の所定の規格に準拠して、無線通信可能に接続されているが、電波障害、その他の原因により、意図せずに一時的に、通信が切断(いわゆる瞬断)される場合がある。なお、無線通信でない場合であっても、例えば、通信ケーブルの外れ、接触不良等により、一時的に通信が切断される場合がある。
このような場合に、タブレット端末10、及び、制御装置11は、以下説明するように、制御オブジェクトの存在を踏まえた処理を行なう。
Incidentally, the tablet terminal 10 and the control device 11 are connected so as to be able to perform wireless communication in conformity with a predetermined standard such as Ethernet (registered trademark), but unintentionally due to radio wave interference or other causes. Communication may be temporarily disconnected (so-called instantaneous interruption). Even when the communication is not wireless communication, the communication may be temporarily disconnected due to, for example, disconnection of the communication cable or contact failure.
In such a case, the tablet terminal 10 and the control device 11 perform processing based on the presence of the control object as described below.

図9は、通信が切断した場合のタブレット端末10、及び、制御装置11の動作を示すフローチャートである。
図9(A)は、タブレット端末10で動作するアプリケーションAPの処理手順を示し、図9(B)は、制御装置11で動作する中継オブジェクト51の処理手順を示している。
図9のフローチャートの前提として、タブレット端末10と、制御装置11との間には通信経路K1が確立されており、かつ、制御装置11には、キャッシュチェンジャー13、バーコードスキャナー12、ディスプレー14、及び、プリンターユニット21のそれぞれの制御オブジェクトが生成されている状態であるものとする。
図9(A)に示すように、アプリケーションAPは、通信の切断があったか否かを監視する(ステップSE1)。なお、ブラウザー側WebSocketI/F45が、WebSocketの規格に準拠した手段により、通信の切断の有無を監視し、通信の切断が発生した場合、ブラウザー側WebSocketI/F45からアプリケーションAPに対してその旨出力する構成となっている。
通信の切断があった場合(ステップSE1:YES)、アプリケーションAPは、統括制御オブジェクト44の機能により、再接続を試み、再接続が成功したか否かを判別する(ステップSE2)。この再接続の試行は、予め定められた期間の間、行なわれる。
FIG. 9 is a flowchart illustrating operations of the tablet terminal 10 and the control device 11 when communication is disconnected.
FIG. 9A shows the processing procedure of the application AP that operates on the tablet terminal 10, and FIG. 9B shows the processing procedure of the relay object 51 that operates on the control device 11.
As a premise of the flowchart of FIG. 9, a communication path K1 is established between the tablet terminal 10 and the control device 11, and the control device 11 includes a cash changer 13, a barcode scanner 12, a display 14, In addition, it is assumed that each control object of the printer unit 21 has been generated.
As shown in FIG. 9A, the application AP monitors whether or not the communication is disconnected (step SE1). Note that the browser-side WebSocket I / F 45 monitors the presence or absence of communication disconnection by means conforming to the WebSocket standard, and when the communication disconnection occurs, the browser-side WebSocket I / F 45 outputs that fact to the application AP. It has a configuration.
When communication is disconnected (step SE1: YES), the application AP attempts reconnection by the function of the overall control object 44, and determines whether or not the reconnection is successful (step SE2). This reconnection attempt is made for a predetermined period.

同様に、図9(B)に示すように、中継オブジェクト51は、通信の切断があったか否かを監視する(ステップSF1)。なお、デバイス側WebSocketI/F50が、WebSocketの規格に準拠した手段により、通信の切断の有無を監視し、通信の切断が発生した場合、デバイス側WebSocketI/F50からアプリケーションAPに対してその旨出力する構成となっている。
通信の切断があった場合(ステップSF1:YES)、中継オブジェクト51は、通信の切断があってからの経過時間の計測を開始する(ステップSF2)。後に明らかとなるとおり、中継オブジェクト51は、通信の切断があってからの経過時間が、期間T1を超えた場合、切断された通信に係る通信経路IDと対応付けられた制御オブジェクトを消去する構成となっている。この期間T1は、通信の切断が、意図した切断であるのか、意図しない瞬断であるのかを判別する基準値となるよう、その値が定められる。
経過時間の計測の開始後、中継オブジェクト51は、経過時間が期間T1に至ったか否かを監視しつつ(ステップSF4)、経過時間が期間T1に至る前に、通信の再接続が行なわれたか否かを判別する(ステップSF3)。
通信の再接続が行なわれることなく、経過時間が期間T1に至った場合(ステップSF4:YES)、通信の切断は、瞬断ではなく、意図的な切断であるとみなすことができる。中継オブジェクト51は、切断された通信に係る通信経路IDと対応付けられた制御オブジェクト(本例では、キャッシュチェンジャー13、バーコードスキャナー12、ディスプレー14、及び、プリンターユニット21の制御オブジェクト)を消去する(ステップSF5)。上述したとおり、制御オブジェクトが消去されることにより、各デバイスについて、他のタブレット端末で動作するアプリケーションAPに開放され、他のアプリケーションAPが、新たに制御オブジェクトを生成して、制御可能な状態となる。
なお、制御オブジェクトが消去された後に、再び、制御装置11と、タブレット端末10(通信の切断前と同一の端末であってもよく、異なる端末であってもよい。)との間で通信が確立した場合、図4で説明した手順に従って、タブレット端末10の要求に基づいて、デバイス制御部20aは、制御オブジェクトを生成し、動作させる。これにより、通信の切断後、所定期間内に再接続が行なわれず、これに伴って、制御オブジェクトが消去された場合であっても、迅速にデバイスの制御を可能な状態とすることができる。
このように、本実施形態では、通信の再接続が行なわれることなく、経過時間が期間T1に至った場合は、通信の切断が意図的な切断であるとみなし、制御オブジェクトの消去(制御オブジェクトの開放)を行なう。このような構成のため、他のアプリケーションAPによってデバイスが制御できない時間が、不必要に長時間継続することが防止される。
Similarly, as shown in FIG. 9B, the relay object 51 monitors whether or not the communication is disconnected (step SF1). The device-side WebSocket I / F 50 monitors the presence or absence of communication disconnection by means conforming to the WebSocket standard, and when the communication disconnection occurs, the device-side WebSocket I / F 50 outputs that fact to the application AP. It has a configuration.
When the communication is disconnected (step SF1: YES), the relay object 51 starts measuring the elapsed time after the communication is disconnected (step SF2). As will be apparent later, the relay object 51 is configured to delete the control object associated with the communication path ID related to the disconnected communication when the elapsed time after the disconnection of the communication exceeds the period T1. It has become. In this period T1, the value is determined so as to be a reference value for determining whether the communication disconnection is an intended disconnection or an unintentional instantaneous disconnection.
After starting the measurement of the elapsed time, the relay object 51 monitors whether or not the elapsed time has reached the period T1 (step SF4), and has the communication reconnection been performed before the elapsed time reaches the period T1? It is determined whether or not (step SF3).
If the elapsed time reaches the period T1 without reconnection of communication (step SF4: YES), the disconnection of the communication can be regarded as an intentional disconnection, not an instantaneous disconnection. The relay object 51 deletes the control objects (in this example, the control objects of the cache changer 13, the barcode scanner 12, the display 14, and the printer unit 21) associated with the communication path ID related to the disconnected communication. (Step SF5). As described above, by erasing the control object, each device is released to an application AP that operates on another tablet terminal, and the other application AP newly generates a control object and is in a controllable state. Become.
Note that after the control object is deleted, communication is again performed between the control device 11 and the tablet terminal 10 (which may be the same terminal as before the disconnection of communication or a different terminal). When established, the device control unit 20a generates and operates a control object based on a request from the tablet terminal 10 according to the procedure described in FIG. Thus, after the communication is disconnected, reconnection is not performed within a predetermined period, and accordingly, even when the control object is deleted, the device can be quickly controlled.
As described above, in this embodiment, when the elapsed time reaches the period T1 without reconnection of communication, the disconnection of communication is regarded as intentional disconnection, and the control object is deleted (control object). Open). Due to such a configuration, it is possible to prevent a time during which the device cannot be controlled by another application AP from being continued unnecessarily for a long time.

さて、図9(A)を参照し、ステップSE2における再接続の試行の結果、再接続に成功した場合(ステップSE2:YES)、アプリケーションAPは、切断された通信に係る通信経路K1の通信経路IDを、中継オブジェクト51に送信する(ステップSE3)。図4のステップSA3で説明したとおり、通信経路K1の確立に伴って通信経路IDが付与され、アプリケーションAPが参照可能な態様で端末記憶部25における所定の記憶領域に記憶されている。
図9(B)を参照し、通信の再接続が成功した場合、ステップSF3の判別において、「YES」と判別され、さらに、アプリケーションAPによるステップSE3の処理により、切断された通信に係る通信経路K1の通信経路IDが送信されてくるため、中継オブジェクト51は、通信経路IDを受信する(ステップSF6)。
通信経路IDを受信すると、中継オブジェクト51は、受信した通信経路IDに対応付けられた制御オブジェクトが存在するか否かを判別する(ステップSF7)。存在しない場合は(ステップSF7:NO)、中継オブジェクト51は、処理を終了する。
一方、通信した通信経路IDに対応付けられた制御オブジェクトが存在する場合(ステップSF7:YES)、中継オブジェクト51は、これら制御オブジェクトについて、期間T1後の消去を解除し、制御オブジェクトを消去することなく、存続させる(制御オブジェクトの生成を制御する。)(ステップSF8)。
このように本実施形態では、通信の切断後、期間T1内に通信の再接続が成功した場合、当該通信の切断は、意図せぬ瞬断である蓋然性が高いものとして、切断された通信に係る通信経路K1の通信経路IDと対応付けられた制御オブジェクトについては、存続させる。このような構成のため、アプリケーションAPは、デバイスの制御に際し、新たに制御オブジェクトを生成させることなく、迅速、かつ、効率よく、デバイスの制御を行なうことができる。さらに、1のアプリケーションAPがデバイスを制御している場合に、瞬断に起因してデバイスの制御が他のアプリケーションAPに開放され(対応する制御オブジェクトが消去され)、当該他のアプリケーションAPによって制御を獲得される、ということがない。
さて、ステップSF8における制御オブジェクトの消去の解除(制御オブジェクトの生成の制御)後、アプリケーションAPと、中継オブジェクト51とは、協働して、データ再送処理を実行する(ステップSE4、ステップSF9)。
Now, referring to FIG. 9A, when the reconnection is successful as a result of the reconnection attempt in step SE2 (step SE2: YES), the application AP transmits the communication path K1 related to the disconnected communication. The ID is transmitted to the relay object 51 (step SE3). As described in step SA3 in FIG. 4, the communication path ID is given with the establishment of the communication path K1, and is stored in a predetermined storage area in the terminal storage unit 25 in such a manner that the application AP can refer to it.
With reference to FIG. 9B, when the reconnection of communication is successful, “YES” is determined in the determination of step SF3, and further, the communication path related to the communication disconnected by the process of step SE3 by the application AP Since the communication path ID of K1 is transmitted, the relay object 51 receives the communication path ID (step SF6).
When receiving the communication path ID, the relay object 51 determines whether or not there is a control object associated with the received communication path ID (step SF7). If it does not exist (step SF7: NO), the relay object 51 ends the process.
On the other hand, when there is a control object associated with the communication path ID that has communicated (step SF7: YES), the relay object 51 cancels the deletion after the period T1 for these control objects and deletes the control objects. If not, continue (control the generation of the control object) (step SF8).
As described above, in this embodiment, when reconnection of communication is successful within the period T1 after the disconnection of communication, the disconnection of the communication is considered to have a high probability of being an unintentional instantaneous interruption, and thus the disconnected communication is performed. The control object associated with the communication path ID of the communication path K1 is continued. Due to such a configuration, the application AP can control the device quickly and efficiently without generating a new control object when controlling the device. Further, when one application AP controls the device, the control of the device is released to the other application AP due to the instantaneous interruption (the corresponding control object is deleted), and the control is performed by the other application AP. You wo n’t be awarded.
Now, after canceling the deletion of the control object in step SF8 (control of the generation of the control object), the application AP and the relay object 51 cooperate to execute a data retransmission process (step SE4, step SF9).

図10は、データ再処理におけるアプリケーションAP、及び、中継オブジェクト51の処理を示すフローチャートであり、(A)はアプリケーションAPの処理を、(B)は中継オブジェクト51の処理をそれぞれ示している。
図10(A)を参照し、アプリケーションAPは、端末記憶部25に記憶したデータIDのうち、直近で受信したデータのデータIDを、中継オブジェクト51に出力する(ステップSG1)。図7のステップSC11で説明したとおり、アプリケーションAPに入力されるデバイスに係るデータ(デバイスに関する情報)にはデータIDが付与されており、当該データが入力された場合、アプリケーションAPは、入力されたデータID付きのバーコード情報からデータIDを抽出し、端末記憶部25の所定の記憶領域に、データIDを記憶している。
アプリケーションAPからデータIDが入力されると、中継オブジェクト51は、記憶部22に累積的に記憶したデータID付きのデータにおけるデータIDと、アプリケーションAPから入力したデータIDとを突き合わせ、瞬断に起因して、アプリケーションAPに出力すべきデータであって、アプリケーションAPへの入力が行なわれていないデータを特定(判別)する(ステップSH1)。詳述すると、中継オブジェクト51は、データIDの生成に際し、アプリケーションAPへのデータの出力が時間的に遅いものほど、その値が大きくなるようにする、という規則性を持ってデータIDを生成する。これを踏まえ、中継オブジェクト51は、アプリケーションAPから受信したデータIDと、同一の値に係るデータIDが付与されたデータは、データの出力が正常に終了している。一方、受信したデータIDよりも、大きい値に係るデータIDが付与されたデータは、瞬断に起因してアプリケーションAPへのデータの入力が行なわれていないものとして、これらデータを、アプリケーションAPへのデータの入力が行なわれていないデータとして特定する。つまり、ステップSH1では、中継オブジェクト51は、タブレット端末10に、送信したデータに付与されたデータIDのうち、タブレット端末10に記憶されていないデータIDを判別することにより、タブレット端末10に正常に入力されていないデータのデータIDを特定している。
次いで、中継オブジェクト51は、データの入力が行なわれていないデータ(デバイスに関する情報)をアプリケーションAPへ出力する(ステップSH2)。アプリケーションAPは、中継オブジェクト51が出力したデータを取得し、適宜、処理を実行する(ステップSG2)。
以上のようなデータ再送処理が行なわれることにより、通信の瞬断があった場合であっても、データを欠損させることなく、アプリケーションAPに出力すべきデータの全てについて、アプリケーションAPに出力することが可能である。
FIG. 10 is a flowchart showing processing of the application AP and the relay object 51 in data reprocessing. (A) shows the processing of the application AP, and (B) shows the processing of the relay object 51.
Referring to FIG. 10A, the application AP outputs the data ID of the most recently received data among the data IDs stored in the terminal storage unit 25 to the relay object 51 (step SG1). As described in step SC11 of FIG. 7, the data related to the device (information related to the device) input to the application AP is assigned a data ID. When the data is input, the application AP is input. The data ID is extracted from the barcode information with the data ID, and the data ID is stored in a predetermined storage area of the terminal storage unit 25.
When the data ID is input from the application AP, the relay object 51 matches the data ID in the data with the data ID stored cumulatively in the storage unit 22 with the data ID input from the application AP. Then, data that should be output to the application AP but not input to the application AP is specified (determined) (step SH1). More specifically, when generating a data ID, the relay object 51 generates a data ID with a regularity such that the slower the data output to the application AP is, the larger the value is. . Based on this, the relay object 51 has normally finished outputting the data with the data ID received from the application AP and the data ID having the same value. On the other hand, it is assumed that data to which a data ID related to a value larger than the received data ID is assigned is not input to the application AP due to an instantaneous interruption, and these data are transferred to the application AP. The data is specified as data that has not been input. That is, in step SH1, the relay object 51 determines that the data ID that is not stored in the tablet terminal 10 among the data IDs assigned to the data transmitted to the tablet terminal 10 to the tablet terminal 10 normally. The data ID of data that has not been input is specified.
Next, the relay object 51 outputs data (information on the device) for which data has not been input to the application AP (step SH2). The application AP acquires the data output by the relay object 51 and executes the process as appropriate (step SG2).
By performing the data retransmission process as described above, all data to be output to the application AP can be output to the application AP without loss of data even when there is an instantaneous interruption of communication. Is possible.

以上説明したように、本実施形態に係るPOSシステム1(制御システム)は、デバイス(バーコードスキャナー12等)と、デバイスインターフェース71及び各ハンドラーとの協働によってデバイスと通信する通信部と、デバイスを制御する制御オブジェクトを生成するデバイス制御部20aと、を有する制御装置11を備えている。また、POSシステム1は、ブラウザーを表示するタッチパネル30(表示部)と、制御オブジェクトとの間でデバイスに関する情報を通信するインターフェースオブジェクトを生成すると共に、ブラウザーで動作するアプリケーションAPによってデバイスに関する情報を処理する端末制御部26(ブラウザー実行部26a)と、を有するタブレット端末10(端末)を備えている。
この構成によれば、タブレット端末10のブラウザーで動作するアプリケーションAPは、制御オブジェクト、及び、インターフェースオブジェクトの機能により、デバイスに関する情報を取得し、処理することが可能となり、タブレット端末10のブラウザーで動作するアプリケーションAPによるデバイスの制御が可能となる。
As described above, the POS system 1 (control system) according to the present embodiment includes a device (barcode scanner 12 and the like), a communication unit that communicates with the device through cooperation between the device interface 71 and each handler, and a device. And a device control unit 20a that generates a control object for controlling the control device 11. The POS system 1 also generates an interface object that communicates information about the device between the touch panel 30 (display unit) that displays the browser and the control object, and processes information about the device by the application AP that operates on the browser. A tablet terminal 10 (terminal) having a terminal control unit 26 (browser execution unit 26a).
According to this configuration, the application AP that operates in the browser of the tablet terminal 10 can acquire and process information on the device by using the functions of the control object and the interface object, and operates in the browser of the tablet terminal 10. The device can be controlled by the application AP.

また、本実施形態では、制御装置11には、複数のデバイスが接続される。そして、第1のデバイス(例えば、バーコードスキャナー12)が接続されている状況下で、第2のデバイス(例えば、キャッシュチェンジャー13)が接続された場合、制御装置11のデバイス制御部20aは、第2のデバイスを制御する第2の制御オブジェクト(例えば、キャッシュチェンジャー制御オブジェクト53)を生成する。さらに、タブレット端末10の端末制御部26(ブラウザー実行部26a)は、第2のデバイスに関する情報を第2の制御オブジェクトの間で通信する第2のインターフェースオブジェクト(例えば、キャッシュチェンジャーI/Fオブジェクト40)を生成する。
この構成によれば、制御装置11に接続される第2のデバイスについて、対応する制御オブジェクト、及び、インターフェースオブジェクトが生成される。すなわち、制御装置11に接続されるデバイスのそれぞれについて、対応する制御オブジェクト、及び、インターフェースオブジェクトが生成され、これらオブジェクトの機能を利用して、タブレット端末10のブラウザーで動作するアプリケーションAPは、デバイスのそれぞれを制御可能となる。
In the present embodiment, a plurality of devices are connected to the control device 11. And when the 2nd device (for example, cash changer 13) is connected in the situation where the 1st device (for example, barcode scanner 12) is connected, device control part 20a of control device 11 A second control object (for example, a cash changer control object 53) that controls the second device is generated. Further, the terminal control unit 26 (browser execution unit 26a) of the tablet terminal 10 communicates information related to the second device between the second control objects (for example, the cash changer I / F object 40). ) Is generated.
According to this configuration, a corresponding control object and interface object are generated for the second device connected to the control device 11. That is, for each device connected to the control device 11, corresponding control objects and interface objects are generated, and the application AP that operates on the browser of the tablet terminal 10 using the functions of these objects Each can be controlled.

また、本実施形態では、タブレット端末10と、制御装置11との間で、双方向通信用の通信規格たるWebSocketの規格に準拠した通信経路K1が確立され、制御オブジェクトと、対応するインターフェースオブジェクトとは、通信経路K1を介して双方向通信可能である。
この構成によれば、制御オブジェクトと、対応するインターフェースオブジェクトとは、通信経路K1を介して双方向通信可能であるため、タブレット端末10側のイベントをトリガーとするインターフェースオブジェクトから制御オブジェクトに対するデータの出力、及び、制御装置11側のイベントをトリガーとする制御オブジェクトからインターフェースオブジェクトに対するデータの出力を的確に実行することができる。
In the present embodiment, a communication path K1 compliant with the WebSocket standard, which is a communication standard for two-way communication, is established between the tablet terminal 10 and the control device 11, and the control object, the corresponding interface object, Is capable of bidirectional communication via the communication path K1.
According to this configuration, since the control object and the corresponding interface object are capable of two-way communication via the communication path K1, data output to the control object is output from the interface object triggered by an event on the tablet terminal 10 side. And the output of the data with respect to the interface object from the control object triggered by the event on the control device 11 side can be executed accurately.

また、本実施形態では、制御オブジェクトの生成が完了した後、制御オブジェクトに対応するインターフェースオブジェクトが生成される。
この構成によれば、制御オブジェクトが生成された場合に、対応するインターフェースオブジェクトが確実に生成される。
In this embodiment, after the generation of the control object is completed, an interface object corresponding to the control object is generated.
According to this configuration, when a control object is generated, a corresponding interface object is reliably generated.

また、本実施形態では、制御装置11には、デバイスとしてのプリンターユニット21(印刷部)が接続され、デバイス制御部20aは、プリンターユニット21を制御するプリンター制御オブジェクト56を生成する。
この構成によれば、タブレット端末10のブラウザーで動作するアプリケーションAPは、制御オブジェクト、及び、インターフェースオブジェクトの機能により、デバイスとしてのプリンターユニット21に関する情報を取得し、処理することが可能となり、タブレット端末10のブラウザーで動作するアプリケーションAPによって、印刷を実行できる。
In the present embodiment, a printer unit 21 (printing unit) as a device is connected to the control device 11, and the device control unit 20 a generates a printer control object 56 that controls the printer unit 21.
According to this configuration, the application AP operating in the browser of the tablet terminal 10 can acquire and process information regarding the printer unit 21 as a device by using the functions of the control object and the interface object. Printing can be executed by an application AP that runs on 10 browsers.

また、本実施形態では、タブレット端末10のブラウザーで動作するアプリケーションAPから、制御装置11に、接続されたデバイスの制御オブジェクトの生成を要求し(デバイスの制御を要求し)、デバイスの制御オブジェクトの生成を要求された(デバイスの制御を要求された)制御装置11は、制御オブジェクトを生成することによりデバイスの制御を確立する。そして、制御装置11が制御オブジェクトを生成することによってデバイスの制御を確立した後、タブレット端末10は、制御オブジェクトに対応するインターフェースオブジェクトを生成することにより、アプリケーションAPによる制御装置11を介したデバイスの制御を確立する。
この構成によれば、アプリケーションAPの要求に応じて、デバイスの制御の確立、及び、アプリケーションAPによる制御装置11を介したデバイスの制御の確立が順次行なわれ、タブレット端末10のブラウザーで動作するアプリケーションAPによるデバイスの制御が可能となる。
In the present embodiment, the application AP operating in the browser of the tablet terminal 10 requests the control device 11 to generate a control object for the connected device (requests control of the device), and the control object of the device The control apparatus 11 requested to generate (requested to control the device) establishes control of the device by generating a control object. Then, after the control device 11 establishes control of the device by generating a control object, the tablet terminal 10 generates an interface object corresponding to the control object, whereby the device AP of the device via the control device 11 by the application AP is created. Establish control.
According to this configuration, in response to a request from the application AP, the establishment of device control and the establishment of device control by the application AP via the control device 11 are sequentially performed, and the application operating in the browser of the tablet terminal 10 The device can be controlled by the AP.

また、本実施形態では、制御装置11は、デバイスを制御する制御オブジェクトの生成によって、デバイスの制御を確立する。
この構成によれば、制御オブジェクトの生成という手段によって、デバイスの制御を確立できる。
In the present embodiment, the control device 11 establishes control of the device by generating a control object that controls the device.
According to this configuration, control of the device can be established by means of generation of a control object.

また、本実施形態では、タブレット端末10は、制御オブジェクトと通信する機能を有するインターフェースオブジェクトの生成によって、アプリケーションAPによる制御装置11を介したデバイスの制御を確立する。
この構成によれば、制御オブジェクトの生成、及び、当該制御オブジェクトと通信する機能を有するインターフェースオブジェクトの生成という手段によって、アプリケーションAPによる制御装置11を介したデバイスの制御を確立できる。
In this embodiment, the tablet terminal 10 establishes control of the device via the control device 11 by the application AP by generating an interface object having a function of communicating with the control object.
According to this configuration, control of the device via the control device 11 by the application AP can be established by means of generation of a control object and generation of an interface object having a function of communicating with the control object.

また、本実施形態に係るPOSシステム1(制御システム)は、ブラウザーを表示するタッチパネル30(表示部)、及び、通信接続を要求する通信要求(通信経路確立要求)及び制御オブジェクトの生成を要求する(デバイスの制御を要求する)デバイス制御要求を出力する端末制御部26(ブラウザー実行部26a)を有するタブレット端末10を備えている。また、POSシステム1は、デバイスと通信する通信部、及び、タブレット端末10から送信された通信要求に基づいてタブレット端末10との通信を確立すると共に、タブレット端末10との通信が確立した後にデバイス制御要求に基づいて、制御オブジェクトを生成することにより、デバイスの制御を確立するデバイス制御部20aを有する制御装置11を備えている。
この構成によれば、タブレット端末10による通信要求、及び、デバイス制御要求に応じて、通信の確立、及び、デバイスの制御の確立が順次行なわれ、ブラウザーの機能を利用したタブレット端末10によるデバイスの制御が可能となる。
Further, the POS system 1 (control system) according to the present embodiment requests the touch panel 30 (display unit) for displaying a browser, a communication request for requesting communication connection (communication path establishment request), and generation of a control object. A tablet terminal 10 having a terminal control unit 26 (browser execution unit 26a) that outputs a device control request (requesting device control) is provided. In addition, the POS system 1 establishes communication with the tablet terminal 10 based on a communication unit that communicates with the device and a communication request transmitted from the tablet terminal 10, and after establishing communication with the tablet terminal 10 A control device 11 having a device control unit 20a that establishes control of a device by generating a control object based on a control request is provided.
According to this configuration, communication and device control are sequentially established in response to a communication request and device control request by the tablet terminal 10, and the device of the tablet terminal 10 using the browser function is established. Control becomes possible.

また、タブレット端末10の端末制御部26(ブラウザー実行部26a)は、制御オブジェクトの消去を要求する(デバイスの制御の確立の解除を要求する)デバイス制御解除要求を出力し、制御装置11のデバイス制御部20aは、デバイス制御解除要求に基づいて、制御オブジェクトを消去してデバイスの制御の確立を解除する。
この構成によれば、タブレット端末10からのデバイス制御解除要求により、デバイスの制御の確立を解除でき、デバイスが端末の制御下におかれた状態が不必要に継続することを防止可能である。
In addition, the terminal control unit 26 (browser execution unit 26a) of the tablet terminal 10 outputs a device control release request that requests deletion of the control object (requests release of establishment of control of the device), and the device of the control device 11 Based on the device control release request, the control unit 20a deletes the control object and releases the establishment of control of the device.
According to this configuration, the device control release request from the tablet terminal 10 can cancel the establishment of control of the device, and it is possible to prevent the device from being kept under control of the terminal unnecessarily.

また、本実施形態では、タブレット端末10のアプリケーションAPは、制御装置11との間で確立している通信経路K1の切断の要求(通信解除要求)を出力し、制御装置11のデバイス制御部20aは、通信解除要求に基づいて、通信の確立を解除する。
この構成によれば、タブレット端末10からの通信解除要求により、確立した通信を的確に解除可能である。
In the present embodiment, the application AP of the tablet terminal 10 outputs a request for disconnecting the communication path K1 established with the control device 11 (communication release request), and the device control unit 20a of the control device 11 Cancels establishment of communication based on the communication cancellation request.
According to this configuration, established communication can be accurately canceled by a communication cancellation request from the tablet terminal 10.

また、本実施形態では、タブレット端末10(アプリケーションAP)は、通信接続を要求する通信要求、及び、デバイスとしてのプリンターユニット21の制御オブジェクトの生成を要求(印刷部の制御を要求)するデバイス制御要求を出力する。制御装置11のデバイス制御部20aは、通信要求に基づいてタブレット端末10との通信を確立すると共に、タブレット端末10との通信が確立した後にデバイス制御要求に基づいて、プリンター制御オブジェクト56を生成して、プリンターユニット21の制御を確立する。
この構成によれば、タブレット端末10による通信要求、及び、デバイス制御要求に応じて、通信の確立、及び、デバイスとしてのプリンターユニット21の制御の確立が順次行なわれ、タブレット端末10は、ブラウザーの機能を利用して、プリンターユニット21に印刷を行なわせることが可能となる。
In the present embodiment, the tablet terminal 10 (application AP) requests a communication request for communication connection and device control for requesting generation of a control object for the printer unit 21 as a device (requesting control of the printing unit). Output the request. The device control unit 20a of the control device 11 establishes communication with the tablet terminal 10 based on the communication request, and generates a printer control object 56 based on the device control request after communication with the tablet terminal 10 is established. Thus, control of the printer unit 21 is established.
According to this configuration, the establishment of communication and the establishment of control of the printer unit 21 as a device are sequentially performed in response to a communication request from the tablet terminal 10 and a device control request. It is possible to cause the printer unit 21 to perform printing using the function.

また、本実施形態に係る制御装置11は、デバイスインターフェース71及び各ハンドラーとの協働によってデバイスと通信する第1通信部と、デバイスを制御する制御オブジェクトが動作するデバイス制御部20aと、デバイス側WebSocketI/F50及び中継オブジェクト51の協働によってタブレット端末10との間で通信する第2通信部と、を有し、タブレット端末10との接続が切断されたとき、デバイス制御部20aは、制御オブジェクトを期間T1保持した後に消去する。
この構成によれば、通信の切断に応じて、すぐに制御オブジェクトが消去されるのではなく、期間T1保持された後、消去される。このため、意図しない一時的な通信の切断があった場合であっても、すぐに制御オブジェクトが消去されず、一時的な通信の切断が回復したときに、消去されずに保持された制御オブジェクトによってデバイスの制御を迅速に開始することが可能である。また、制御オブジェクトが期間T1保持された後は、消去されるため、不必要に長期間制御オブジェクトが消去されず、これに伴って、デバイスの制御権が開放されないといったことが効果的に防止される。
In addition, the control apparatus 11 according to the present embodiment includes a first communication unit that communicates with the device in cooperation with the device interface 71 and each handler, a device control unit 20a that operates a control object that controls the device, and a device side. A second communication unit that communicates with the tablet terminal 10 in cooperation with the WebSocket I / F 50 and the relay object 51. When the connection with the tablet terminal 10 is disconnected, the device control unit 20a Is erased after holding the period T1.
According to this configuration, in response to the disconnection of communication, the control object is not deleted immediately, but is deleted after being held for the period T1. For this reason, even if there is an unintended temporary communication disconnection, the control object is not immediately deleted, and when the temporary communication disconnection is recovered, the control object retained without being deleted It is possible to start the control of the device quickly. Further, since the control object is deleted after being held for the period T1, the control object is not deleted unnecessarily for a long time, and accordingly, it is effectively prevented that the control right of the device is not released. The

また、本実施形態では、タブレット端末10と制御装置11との間で通信の切断があり、期間T1内に再接続が行なわれず、制御オブジェクトが消去された後に、再び、制御装置11と、タブレット端末10(通信の切断前と同一の端末であってもよく、異なる端末であってもよい。)との間で通信が確立した場合、図4で説明した手順に従って、タブレット端末10の要求に基づいて、デバイス制御部20aは、制御オブジェクトを生成し、動作させる。
これにより、通信の切断後、所定期間内に再接続が行なわれず、これに伴って、制御オブジェクトが消去された場合であっても、迅速にデバイスの制御を可能な状態とすることができる。
In the present embodiment, the communication between the tablet terminal 10 and the control device 11 is disconnected, the reconnection is not performed within the period T1, and after the control object is deleted, the control device 11 and the tablet are again connected. When communication is established with the terminal 10 (which may be the same terminal as before disconnection of communication or a different terminal), the request of the tablet terminal 10 is made according to the procedure described in FIG. Based on this, the device control unit 20a generates and operates a control object.
Thus, after the communication is disconnected, reconnection is not performed within a predetermined period, and accordingly, even when the control object is deleted, the device can be quickly controlled.

また、本実施形態では、期間T1内にタブレット端末10との間で接続が行なわれた場合、保持した制御オブジェクトの消去を解除する(制御オブジェクトの生成を制御する)。
本発明の構成によれば、通信の切断後、期間T1内に再接続が行なわれた場合、制御オブジェクトの消去が解除されるため、通信の切断後、期間T1内に再接続が行なわれるような一時的な切断があった場合に、制御オブジェクトが消去されることを防止できる。
In the present embodiment, when the connection with the tablet terminal 10 is made within the period T1, the held control object is canceled (control object generation is controlled).
According to the configuration of the present invention, when the reconnection is performed within the period T1 after the communication is disconnected, the control object is canceled, so that the reconnection is performed within the period T1 after the communication is disconnected. It is possible to prevent the control object from being erased when there is a temporary disconnection.

また、本実施形態では、タブレット端末10と制御装置11との間での接続の確立に応じて、接続に対応する識別情報(通信経路ID)をこれら装置のそれぞれが記憶し、接続の切断後における再接続の際に、これら装置のそれぞれに記憶された識別情報に基づいて、再接続を行なう。
この構成によれば、再接続に際し、必要に応じて、各装置に記憶された識別情報(通信経路ID)を利用して、切断前の接続に対応する態様で、再接続を行なうことが可能となる。
Moreover, in this embodiment, according to establishment of the connection between the tablet terminal 10 and the control apparatus 11, each of these apparatuses memorize | stores the identification information (communication path ID) corresponding to a connection, and after connection disconnection At the time of reconnection in, reconnection is performed based on the identification information stored in each of these devices.
According to this configuration, when reconnecting, it is possible to reconnect in a manner corresponding to the connection before disconnection, using the identification information (communication path ID) stored in each device as necessary. It becomes.

また、本実施形態では、制御装置11には、接続されたデバイスごとに、デバイスの制御に係る制御オブジェクトが生成される。そして、制御装置11(中継オブジェクト51)は、識別情報(通信経路ID)を、制御オブジェクトと対応付けて記憶すると共に、タブレット端末10との接続の切断後、期間T1内にタブレット端末10との間での再接続が行なわれなかった場合、制御オブジェクトを消去する。一方、制御装置11は、接続の切断後における再接続の際に、タブレット端末10に記憶された識別情報と同一の識別情報と対応付けられた制御オブジェクトが存在するか否か判別し、存在する場合、所定期間経過後の制御オブジェクトの消去を解除する。
この構成によれば、接続の切断後、期間T1内に再接続が行なわれるような一時的な切断があった場合に、切断前の接続時に使用していた制御オブジェクトが消去されることを防止しつつ、再接続後に、改めて制御オブジェクトを生成することなく、制御オブジェクトを利用可能である。
In the present embodiment, the control device 11 generates a control object related to device control for each connected device. Then, the control device 11 (relay object 51) stores the identification information (communication path ID) in association with the control object, and after disconnecting from the tablet terminal 10 with the tablet terminal 10 within the period T1. If no reconnection is made between them, the control object is deleted. On the other hand, the control device 11 determines whether or not there is a control object associated with the same identification information as the identification information stored in the tablet terminal 10 at the time of reconnection after disconnection. In this case, the erasure of the control object after the lapse of a predetermined period is canceled.
According to this configuration, when there is a temporary disconnection in which the reconnection is performed within the period T1 after the connection is disconnected, the control object used at the time of connection before the disconnection is prevented from being deleted. However, after reconnection, the control object can be used without generating a control object again.

また、本実施形態に係るPOSシステム1(制御システム)は、デバイスインターフェース71及び各ハンドラーとの協働によってデバイスと通信して、デバイスが出力したデータを取得する第1通信部と、第1通信部で取得されたデータ(例えば、バーコード情報)に識別情報(データID)を付与するデバイス制御部20aと、データID付きのデータを記憶する記憶部22と、デバイス側WebSocketI/F50及び中継オブジェクト51の協働によってデータID付きのデータを出力する第2通信部と、を有する制御装置を備えている。また、POSシステム1は、ブラウザー側WebSocketI/F45及び統括制御オブジェクト44の協働により制御装置11から出力されたデータID付きのデータを受信する受信部と、受信部で受信されたデータに付与された識別情報を記憶する端末記憶部25と、データを処理するアプリケーションを動作させる端末制御部26を有するタブレット端末10を備えている。
この構成によれば、制御装置11からタブレット端末10に出力されるデータに識別情報(データID)が付与されると共に、制御装置11は、出力データを記憶し、タブレット端末10は、入力データに係る識別情報を記憶する。このため、接続の切断があった場合、識別情報(データID)をキーとして、接続の切断に起因してタブレット端末10に入力されていないデータを特定でき、かつ、特定したデータを再出力することが可能となる。
Further, the POS system 1 (control system) according to the present embodiment communicates with the device in cooperation with the device interface 71 and each handler, and obtains data output from the device, and the first communication. The device control unit 20a that gives identification information (data ID) to the data (for example, barcode information) acquired by the unit, the storage unit 22 that stores data with the data ID, the device-side WebSocket I / F 50, and the relay object And a second communication unit that outputs data with a data ID by the cooperation of 51. In addition, the POS system 1 is assigned to a reception unit that receives data with a data ID output from the control device 11 in cooperation with the browser-side WebSocket I / F 45 and the overall control object 44, and to data received by the reception unit. The tablet terminal 10 includes a terminal storage unit 25 that stores identification information and a terminal control unit 26 that operates an application that processes data.
According to this configuration, the identification information (data ID) is given to the data output from the control device 11 to the tablet terminal 10, the control device 11 stores the output data, and the tablet terminal 10 receives the input data. Such identification information is stored. For this reason, when there is a disconnection, data that has not been input to the tablet terminal 10 due to the disconnection can be identified using the identification information (data ID) as a key, and the identified data is output again. It becomes possible.

また、本実施形態では、タブレット端末10と、制御装置11との接続の切断後における再接続に際し、タブレット端末10は、記憶した識別情報(データID)を制御装置11に送信し、制御装置11は、タブレット端末10から受信した識別情報(データID)と、記憶したデータID付きのデータにおけるデータIDとの比較に基づいて、タブレット端末10に入力されていないデータを特定し、再送信する。
この構成によれば、接続の切断後における再接続に際し、識別情報(データID)を利用して的確にタブレット端末10に入力されていないデータの特定が可能である。
In this embodiment, when reconnecting the tablet terminal 10 and the control device 11 after disconnection, the tablet terminal 10 transmits the stored identification information (data ID) to the control device 11, and the control device 11. Identifies and retransmits data that has not been input to the tablet terminal 10 based on a comparison between the identification information (data ID) received from the tablet terminal 10 and the data ID in the stored data ID-attached data.
According to this configuration, at the time of reconnection after disconnection, it is possible to accurately identify data that has not been input to the tablet terminal 10 using the identification information (data ID).

また、本実施形態では、制御装置11は、デバイスからの入力に基づくデータに、規則性を有するデータIDを付与してタブレット端末10に送信すると共に、送信したデータID付きのデータを記憶する。そして、タブレット端末10と、制御装置11との接続の切断後における再接続に際し、タブレット端末10は、直近で受信したデータに係る識別情報(データID)を制御装置11に送信する。制御装置11は、タブレット端末10から受信した識別情報(データID)と、記憶したデータID付きのデータにおけるデータIDとの比較、及び、識別情報(データID)の規則性に基づいて、タブレット端末10に入力されていないデータを特定し、再送信する。
この構成によれば、例えば、タブレット端末10が制御装置11に対して、一定期間に入力されたデータの全てについて識別情報(データID)を送信する。制御装置11は受信した識別情報(データID)と、記憶したデータID付きのデータにおけるデータIDとの比較により、タブレット端末10に入力されていないデータを特定する、といった処理をすることなく、識別情報(データID)の規則性を利用した簡易な手段で、制御装置11は、タブレット端末10に入力されていないデータを特定可能である。
Further, in the present embodiment, the control device 11 assigns regular data ID to data based on the input from the device and transmits the data to the tablet terminal 10 and stores the transmitted data ID-attached data. Then, when reconnecting the tablet terminal 10 and the control device 11 after disconnection, the tablet terminal 10 transmits identification information (data ID) related to the data received most recently to the control device 11. The control device 11 compares the identification information (data ID) received from the tablet terminal 10 with the data ID in the stored data ID and the regularity of the identification information (data ID). Data not input to 10 is identified and retransmitted.
According to this configuration, for example, the tablet terminal 10 transmits identification information (data ID) for all the data input in a certain period to the control device 11. The control device 11 performs the identification without identifying the data not input to the tablet terminal 10 by comparing the received identification information (data ID) with the data ID in the stored data ID-added data. The control device 11 can specify data that has not been input to the tablet terminal 10 by simple means using the regularity of information (data ID).

なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、レジカウンターLを有する店舗に、POSシステム1が適用された場合を例にして、本発明を説明したが、POSシステムの使用の態様はこの例に限らず、例えば、喫茶店や、レストラン等の飲食店に対して適用することも可能である。また例えば、制御装置11と、POSサーバー17とは、別個の装置であったが、制御装置11にPOSサーバー17の機能を持たせてもよい。また例えば、制御装置11はサーマルプリンターであったが、記録形式は何であってもよい。
また例えば、図2、3に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、各機器は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、各種動作を実行してもよい。
The above-described embodiment is merely an aspect of the present invention, and can be arbitrarily modified and applied within the scope of the present invention.
For example, in the above-described embodiment, the present invention has been described by taking the case where the POS system 1 is applied to a store having a cashier counter L as an example. However, the usage mode of the POS system is not limited to this example, It can also be applied to restaurants such as coffee shops and restaurants. Further, for example, the control device 11 and the POS server 17 are separate devices, but the control device 11 may have the function of the POS server 17. Further, for example, the control device 11 is a thermal printer, but any recording format may be used.
Further, for example, each functional block shown in FIGS. 2 and 3 can be arbitrarily realized by cooperation of hardware and software, and does not suggest a specific hardware configuration. Each device may execute various operations by executing a program stored in an externally connected storage medium.

1…POSシステム(制御システム)、10…タブレット端末(端末)、11…制御装置、12…バーコードスキャナー(デバイス)、13…キャッシュチェンジャー(デバイス)、14…ディスプレー(デバイス)、20…制御装置制御部、20a…デバイス制御部、21…プリンターユニット(デバイス、印刷部)、26…端末制御部、26a…ブラウザー実行部、40…キャッシュチェンジャーI/Fオブジェクト(インターフェースオブジェクト)、41…バーコードスキャナーI/Fオブジェクト(インターフェースオブジェクト)、42…ディスプレーI/Fオブジェクト(インターフェースオブジェクト)、43…プリンターI/Fオブジェクト(インターフェースオブジェクト)、44…統括制御オブジェクト、51…中継オブジェクト、53…キャッシュチェンジャー制御オブジェクト(制御オブジェクト)、54…バーコードスキャナー制御オブジェクト(制御オブジェクト)、55…ディスプレー制御オブジェクト(制御オブジェクト)、56…プリンター制御オブジェクト(制御オブジェクト)、AP…アプリケーション。   DESCRIPTION OF SYMBOLS 1 ... POS system (control system), 10 ... Tablet terminal (terminal), 11 ... Control apparatus, 12 ... Barcode scanner (device), 13 ... Cash changer (device), 14 ... Display (device), 20 ... Control apparatus Control unit, 20a ... Device control unit, 21 ... Printer unit (device, printing unit), 26 ... Terminal control unit, 26a ... Browser execution unit, 40 ... Cache changer I / F object (interface object), 41 ... Barcode scanner I / F object (interface object), 42 ... Display I / F object (interface object), 43 ... Printer I / F object (interface object), 44 ... Overall control object, 51 ... Relay Object, 53 ... cash drawer control object (control object), 54 ... barcode scanner control object (control object), 55 ... display control object (control object), 56 ... printer control object (control object), AP ... application.

本発明は、端末、及び端末の制御方法に関する。 The present invention relates to a terminal and a terminal control method .

上記目的を達成するために、本発明の端末は、データの送信、もしくは受信を行うデバイスの制御の要求を出力するアプリケーションが動作するブラウザーを実行するブラウザー実行部、及び前記アプリケーションの前記要求を制御装置に送信する通信モジュールを有し、前記要求に応じて、前記制御装置が前記デバイスとの前記データの送受信を行う制御オブジェクトを生成したことを示す通知を前記制御装置から受信した後、前記アプリケーションが前記制御装置の前記制御オブジェクトと通信を行うインターフェースオブジェクトを生成することを特徴とする端末。
また、本発明は、前記デバイスは、印刷を行うプリンターであり、前記ブラウザーで動作する前記アプリケーションが、前記プリンターの制御を前記制御装置に要求することを特徴とする。
また、本発明は、前記制御装置において前記プリンターを制御する前記制御オブジェクトを生成したことを示す通知を受信した後、前記アプリケーションが前記制御装置の前記プリンターを制御する前記制御オブジェクトと通信を行う前記インターフェースオブジェクトを生成することを特徴とする。
また、本発明は、前記デバイスは、読取を行うスキャナーであり、前記ブラウザーで動作する前記アプリケーションが、前記スキャナーの制御を前記制御装置に要求することを特徴とする。
また、本発明は、前記制御装置において前記スキャナーを制御する前記制御オブジェクトを生成したことを示す通知を受信した後、前記アプリケーションが前記制御装置の前記スキャナーを制御する前記制御オブジェクトと通信を行う前記インターフェースオブジェクトを生成することを特徴とする。
また、本発明は、前記制御装置の前記スキャナーを制御する前記制御オブジェクトから送信された、前記スキャナーで読み取られたデータを、前記インターフェースオブジェクトを介して前記アプリケーションが受け取ることを特徴とする。
また、本発明は、データの送信、もしくは受信を行うデバイスの制御の要求を出力するアプリケーションが動作するブラウザーを実行するブラウザー実行部、及び前記アプリケーションの前記要求を制御装置に送信する通信モジュールを有する端末の制御方法であって、前記要求に応じて、前記制御装置が前記デバイスとの前記データの送受信を行う制御オブジェクトを生成したことを示す通知を前記制御装置から受信し、前記アプリケーションが前記制御装置の前記制御オブジェクトと通信を行うインターフェースオブジェクトを生成することを特徴とする。
上記目的を達成するために、本発明は、制御システムの制御方法であって、端末のブラウザーで動作するアプリケーションから、制御装置に接続されたデバイスの制御を、前記制御装置に要求し、前記デバイスの制御を要求された前記制御装置は、前記デバイスの制御の確立を実行し、前記制御装置が前記デバイスの制御の確立を実行した後、前記端末は前記アプリケーションによる前記制御装置を介した前記デバイスの制御の確立を実行することを特徴とする。
本発明の構成によれば、アプリケーションの要求に応じて、デバイスの制御の確立、及び、アプリケーションによる制御装置を介したデバイスの制御の確立が順次行なわれ、端末のブラウザーで動作するアプリケーションによるデバイスの適切な制御が可能となる。
In order to achieve the above object, the terminal of the present invention controls a browser execution unit that executes a browser in which an application that outputs a request for control of a device that transmits or receives data, and the request for the application are controlled. A communication module for transmitting to the device, and in response to the request, after receiving from the control device a notification indicating that the control device has generated a control object for transmitting and receiving the data to and from the device, the application Generates an interface object that communicates with the control object of the control device.
According to the present invention, the device is a printer that performs printing, and the application that operates in the browser requests the control device to control the printer.
In the present invention, the application communicates with the control object that controls the printer of the control device after receiving a notification indicating that the control object that controls the printer is generated in the control device. An interface object is generated.
Further, according to the present invention, the device is a scanner that performs reading, and the application that operates in the browser requests the control device to control the scanner.
In the present invention, the application communicates with the control object that controls the scanner of the control device after receiving a notification indicating that the control object that controls the scanner is generated in the control device. An interface object is generated.
The present invention is characterized in that the application receives data read by the scanner transmitted from the control object that controls the scanner of the control device via the interface object.
In addition, the present invention includes a browser execution unit that executes a browser in which an application that outputs a request for control of a device that transmits or receives data, and a communication module that transmits the request for the application to a control device. A control method for a terminal, wherein in response to the request, the control device receives a notification indicating that a control object for transmitting / receiving the data to / from the device is generated from the control device, and the application performs the control An interface object that communicates with the control object of the apparatus is generated.
In order to achieve the above object, the present invention provides a control method of a control system, which requests the control device to control a device connected to the control device from an application operating in a browser of a terminal, and The control device requested to control the device executes establishment of control of the device, and after the control device performs establishment of control of the device, the terminal performs the device via the control device by the application. The establishment of the control is performed.
According to the configuration of the present invention, in response to a request from an application, device control and device control through the control device are sequentially performed, and the device operating by the application running on the browser of the terminal is sequentially performed. Appropriate control becomes possible.

Claims (6)

端末のブラウザーで動作するアプリケーションから、制御装置に接続されたデバイスの制御を、前記制御装置に要求し、
前記デバイスの制御を要求された前記制御装置は、前記デバイスの制御の確立を実行し、
前記制御装置が前記デバイスの制御の確立を実行した後、前記端末は前記アプリケーションによる前記制御装置を介した前記デバイスの制御の確立を実行することを特徴とする制御システムの制御方法。
Requesting the control device to control the device connected to the control device from an application running on the browser of the terminal,
The control apparatus requested to control the device executes establishment of control of the device,
The control method of a control system, wherein after the control device executes establishment of control of the device, the terminal executes establishment of control of the device via the control device by the application.
前記制御装置の前記デバイスの制御の確立は、前記端末の要求に基づいて、前記デバイスに処理を実行させることが可能な状態の確立である請求項1に記載の制御システムの制御方法。   The control system control method according to claim 1, wherein establishment of control of the device of the control apparatus is establishment of a state in which the device can execute processing based on a request from the terminal. 前記制御装置の前記デバイスの制御の確立は、前記端末との間でデータの送受信が可能な状態の確立である請求項1又は2に記載の制御システムの制御方法。   The control method of the control system according to claim 1 or 2, wherein establishment of control of the device of the control apparatus is establishment of a state in which data can be transmitted to and received from the terminal. 前記制御装置の前記デバイス制御の確立は、前記デバイスとデータの送受信を行うを制御オブジェクトの生成である請求項1ないし3のいずれか1項に記載の制御システムの制御方法。   The control system control method according to any one of claims 1 to 3, wherein the establishment of the device control of the control apparatus is generation of a control object for performing data transmission / reception with the device. 前記端末の前記アプリケーションによる前記制御装置を介したデバイス制御の確立は、前記制御オブジェクトと通信を行うインターフェースオブジェクトの生成である請求項4に記載の制御システムの制御方法。   The control system control method according to claim 4, wherein establishment of device control via the control device by the application of the terminal is generation of an interface object that communicates with the control object. 前記デバイスは、印刷を行うプリンターであり、
前記端末の前記ブラウザーで動作する前記アプリケーションから、前記プリンターの制御を、前記制御装置に要求し、
前記プリンターの制御を要求された前記制御装置は、前記プリンターの制御の確立を実行し、
前記制御装置が前記プリンターの制御を確立した後、前記端末は前記アプリケーションによる前記制御装置を介したプリンターの制御の確立を実行する請求項1ないし5のいずれか1項に記載の制御システムの制御方法。
The device is a printer that performs printing,
Requesting control of the printer from the application running on the browser of the terminal to the control device,
The control device requested to control the printer executes establishment of control of the printer,
6. The control system control according to claim 1, wherein after the control device establishes control of the printer, the terminal executes establishment of control of the printer via the control device by the application. 7. Method.
JP2016238762A 2016-12-08 2016-12-08 Terminal and terminal control method Active JP6365648B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016238762A JP6365648B2 (en) 2016-12-08 2016-12-08 Terminal and terminal control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016238762A JP6365648B2 (en) 2016-12-08 2016-12-08 Terminal and terminal control method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013016056A Division JP6060708B2 (en) 2013-01-30 2013-01-30 Control system control method and control device control method

Publications (2)

Publication Number Publication Date
JP2017054545A true JP2017054545A (en) 2017-03-16
JP6365648B2 JP6365648B2 (en) 2018-08-01

Family

ID=58316906

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016238762A Active JP6365648B2 (en) 2016-12-08 2016-12-08 Terminal and terminal control method

Country Status (1)

Country Link
JP (1) JP6365648B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984314A (en) * 2017-05-31 2018-12-11 兆利丰股份有限公司 Architecture for connecting webpage POS system with peripheral device
KR20190003879A (en) * 2017-06-30 2019-01-10 주식회사 빅솔론 Pos printer, method of pos printer and a recording medium thereof
JP2019075110A (en) * 2017-10-11 2019-05-16 ヴァレオ・シャルター・ウント・ゼンゾーレン・ゲーエムベーハー Driver support control system for vehicle
JP2020023136A (en) * 2018-08-08 2020-02-13 セイコーエプソン株式会社 Printing device, printing device control method and control system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351759A (en) * 2001-05-23 2002-12-06 Sony Corp Equipment controller equipment information registration device, information terminal equipment, and equipment control system
JP2003263375A (en) * 2002-03-11 2003-09-19 Mitsubishi Electric Corp Data server
JP2003271388A (en) * 2002-03-14 2003-09-26 Victor Co Of Japan Ltd Communication system
JP2007181110A (en) * 2005-12-28 2007-07-12 Matsushita Electric Works Ltd Monitoring/control system for multiple dwelling house
JP2013506902A (en) * 2009-10-01 2013-02-28 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Method and apparatus for managing persistent rich internet applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002351759A (en) * 2001-05-23 2002-12-06 Sony Corp Equipment controller equipment information registration device, information terminal equipment, and equipment control system
JP2003263375A (en) * 2002-03-11 2003-09-19 Mitsubishi Electric Corp Data server
JP2003271388A (en) * 2002-03-14 2003-09-26 Victor Co Of Japan Ltd Communication system
JP2007181110A (en) * 2005-12-28 2007-07-12 Matsushita Electric Works Ltd Monitoring/control system for multiple dwelling house
JP2013506902A (en) * 2009-10-01 2013-02-28 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Method and apparatus for managing persistent rich internet applications

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984314A (en) * 2017-05-31 2018-12-11 兆利丰股份有限公司 Architecture for connecting webpage POS system with peripheral device
JP2018206330A (en) * 2017-05-31 2018-12-27 トラステッド ソリューションズ コーポレーションTrusted Solutions Corporation Peripheral device connection method relating to web pos system
KR20190003879A (en) * 2017-06-30 2019-01-10 주식회사 빅솔론 Pos printer, method of pos printer and a recording medium thereof
KR102278513B1 (en) 2017-06-30 2021-07-20 주식회사 빅솔론 Pos printer
JP2019075110A (en) * 2017-10-11 2019-05-16 ヴァレオ・シャルター・ウント・ゼンゾーレン・ゲーエムベーハー Driver support control system for vehicle
JP2020023136A (en) * 2018-08-08 2020-02-13 セイコーエプソン株式会社 Printing device, printing device control method and control system
JP7070225B2 (en) 2018-08-08 2022-05-18 セイコーエプソン株式会社 Printing device, control method of printing device, and control system

Also Published As

Publication number Publication date
JP6365648B2 (en) 2018-08-01

Similar Documents

Publication Publication Date Title
WO2014119290A1 (en) Control system, control method for control system, and control device
JP6060708B2 (en) Control system control method and control device control method
JP6365648B2 (en) Terminal and terminal control method
JP6182880B2 (en) Control system and control system control method
JP6149864B2 (en) Control system and information processing apparatus
KR20130101468A (en) Pos system, control system, and control method of a control system
JPWO2016136110A1 (en) Information processing apparatus, payment apparatus, information processing method, and program
US20140211255A1 (en) Control system and control method of a control system
JPWO2014076930A1 (en) POS system and printing apparatus
JP2014147045A (en) Control system and control system control method
JP6331608B2 (en) POS system and print control apparatus
JP6229268B2 (en) Control device and control method of control device
JP6229270B2 (en) Control system and control system control method
JP6229269B2 (en) Control device and control method of control device
JP2016049723A (en) Recording device, control method of the same and recording system
RU2575420C2 (en) Method of controlling control system and control system itself
JP6326924B2 (en) POS system and control method of POS system
JP6160437B2 (en) POS system, host device, and host device control method
JP6171837B2 (en) Transmission system, transmission apparatus, and data transmission method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161227

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180618

R150 Certificate of patent or registration of utility model

Ref document number: 6365648

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150