Abstract: The present invention enables a device to be controlled by a terminal connected to a network. A device control system is provided with a terminal (3) equip ped with an application (31) and a printer (5) for controlling a device. The ter minal (3) transmits a request written in an XML format and generated by the application (31). The printer (5) receives the request in XML format transmits a response in XML format to the terminal (3) and controls the device when the terminal (3) requests that the device be controlled by the request in XML format.
[DESCRIPTION]
[Title of Invention]
A device control system and a control method of the device
control system
[Technical Field]
[00011
The present invention relates to a device control system that
controls a device, and a control method of the device control system.
[Background]
[00021
A device (such as a computer) used as a controller for
controlling devices is conventionally part of a system that controls
devices such as a keyboard and barcode scanner by means of a terminal
connected to a network.
[Citation List]
[Patent Literature]
[PTL 11 JP-A-2004-152256
[Summary of Invention]
~,:f-T-ehcn i-c-a1 Pro ble m]
[00031
However, there is also a need to use devices such as above by
means of a simple configuration.
The present invention is directed to the foregoing problem, and
an object of the invention is to provide a device control system,
a terminal, and a control method of a device control system that can
control devices by a terminal connected to a network.
[Solution to Problem]
[00041
To achieve the foregoing object, a device control system
according to the invention has a device configured to input or output
data; a terminal configured to run an application, to send a request
in markup language and to receive a response in markup language; and
a device control device configured to connect to the device, to
control the device based on the markup language request, and to send
the markup language response.
The invention enables controlling devices connected to the
I
I device control device by a terminal connected to a network. The
I
terminal canbe any device that can runan application that generates
I
I data written in XML. Because XML is highly versatile, many different
, devices can be used as the terminal. Developing applications for the
1 terminal is also simple.
~ [00051
In addition, the response includes data denoting the result of
I , controlling the device.
i
The application also sends to the device control device the
request including an establish communication message requesting
establishing a communication link to the device control device; and
when the request including the establish communication message is
received, the device control device sends to the application the
response includingaresponsemessagetothe establishcommunication
message contained in the request.
[0006]
The application also establishes a communication link with the
device control device ba.sed on a response message to the establish
communication message contained in the response sent by the device
cant-rol device.
[00071
After the communication link is established, the application
also sends to the device control device the request including an open
message to open communication to the device connected to the device
control device to the device control device.
[00081
When the request containing the open message is received, the
device control device sends tothe application the response including
a response message to the open message contained in the request.
The application also receives the response containing a
responsemessage totheopenmessage sent by the device control device,
and based on a response message to the open message becomes able to
communicate with the device.
[00091
After communicationwith the device is enabled, the application
also sends to the device control device the request including a close
message to close communication with the device.
The device control device also receives the request containing
the close message, and sends to the application the response
containing a response message to the close message.
[00101
In addition, the application receives the response containing
a response message to the close message sent by the device control
device, and closes communication with the device based on a response
message to the close message.
[OOllI
Another aspect of the invention is a control method of a device
control systemincludingadevice configuredtoinputor output data,
a terminal configured to run an application, and a device control
device configured to connect to the device, comprising: sending a
markup language request generated by the application to the device
control device; and receiving the request by the device control
device; generating a response in the markup language; and sending
the generated response to the terminal.
[00121
The control method of a device control system also includes,
sending information contained in the request to the device by the
device control device; executing a process based on information
containedinthe request by the device, andsendingaresultprocessed
based on information contained in the request to the device control
device; and sending to the terminal the response including a result
processed based on information contained in the request sent by the
device.
[00131
The control method of a device control system also includes the
application sending to the device control device the request
including an establish communication message requesting
establishing a communication link to the device control device; and
when the request including the establish communication message is
received, the device control device sending to the application the
response includingaresponsemessagetothe establish communication
message contained in the request.
In addition, the application establishes a communication link
with the device control device based on a response message to the
establish communication message contained in the response sent by
the device control device.
[00141
In addition, after the communication link is established, the
application sends to the device control device the request including
an open message to open communication to the device connected to the
device control device to the device control device.
In addition, when the request containing the open message is
received, the device control device sends to the application the
response including a response message to the openmessage contained
in the request.
In addition, the application receives the response containing
a response message to the open message sent by the device control
device; and based on a response message to the open message becomes
able to communicate with the device.
In addition, the application sends to the device control device
the request including a close message to close communication with
the device when stopping the application after communication between
the application and the device is enabled.
In addition, the device control device receives the request
containing the close message, and sends to the application the
response containing a response message to the close message.
In addition, the application receives the response containing
a response message to the close message sent by the device control
device, and closes communication with the device based on a response
message to the close message.
[Brief Description of Drawings]
[0015]
FIG. 1 illustrates a device control system according to a
preferred embodiment of the invention.
FIG. 2 shows the functional configuration of the device control
system.
FIG. 3A shows a list of key codes that can be acquired from a
keyboard.
FIG. 3B shows a list of key codes that can be acquired from a
keyboard.
FIG. 4 shows an example of device connections to an intelligent
printer.
FIG. 5 is an external oblique view of an intelligent printer.
FIG. 6 shows a connector panel.
F I G . 7 shows an example of a wireless LAN unit connection.
F I G . 8 shows the work flow of building a system environment.
F I G . 9 shows a method of registering a device control script.
F I G . 10 shows a method of registering a controlled device.
F I G . 11 shows a list of the types of registered devices.
F I G . 12 illustrates registration of a device.
F I G . 13 illustrates registration of a device.
F I G . 14 illustrates registration of a device.
F I G . 15 illustrates registration of a device.
F I G . 16 illustrates registration of a device.
FIG: 17 illustrates the basic programming sequence.
F I G . 18 shows the interface that is used. k.
F I G . 19A shows the data format.
F I G . 19B shows the data content.
F I G . 20A shows an example of communication data.
F I G . 20B shows an example of communication data.
F I G . 21 shows an example of the array of elements in a message.
F I G . 22 shows messages.
F I G . 23 shows message data for each device.
F I G . 24A illustrates an cadmin - info> message.
F I G . 24B illustrates an cadmin - info> message.
F I G . 24C illustrates an message.
F I G . 24D illustrates an qadmin - info> message.
F I G . 24E illustrates an message.
F I G . 25A illustrates an copen - device> message.
F I G . 25B illustrates an message.
F I G . 25C illustrates an copen device> message.
F I G . 25D illustrates an copen - device> message.
F I G . 25E illustrates an copen - device> message.
F I G . 25F illustrates an copen - device> message.
F I G . 26A illustrates
F I G . 26B illustrates
F I G . 26C illustrates
F I G . 26D illustrates
F I G . 26E illustrates
F I G . 27A illustrates
F I G . 27B illustrates
F I G . 27C illustrates
message.
message.
message.
message.
message.
message.
message.
cdevice - data> message.
F I G . 27D illustrates a message.
F I G . 28A illustrates an message.
F I G . 28B illustrates an message.
F I G . 28C illustrates an message.
F I G . 29A illustrates a message for a barcode scanner.
F I G . 29B illustrates a message for a barcode scanner.
F I G . 29C illustrates a message for a barcode scanner.
F I G . 30A illustrates a message for a printer.
F I G . 30B illustrates a message for a printer.
F I G . 31A illustrates a message for a printer.
F I G . 31B illustrates a message for a printer.
F I G . 32A illustrates an XML document for printer control.
F I G . 32B illustrates an XML document for printer control.
F I G . 33A illustrates an XML document for printer control.
F I G . 33B illustrates an XML document for printer control.
F I G . 33C illustrates an XML document for printer control.
F I G . 33D illustrates an XML document for printer control.
F I G . 34A illustrates an XML document for printer control.
F I G . 34B illustrates an XML document for printer control.
F I G . 34C illustrates an XML document for printer control.
F I G . 34D illustrates an XML document for printer control.
F I G . 34E illustrates an XML document for printer control.
FIG'. 3 4 F illustrates an XML document for printer control.
F I G . 34G illustrates an XML document for printer control.
F I G . 34H illustrates an XML document for printer control.
F I G . 3 4 1 illustrates an XML document for printer control.
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
3 4 5 illustrates an XML document for printer control.
34K illustrates an XML document for printer control.
34L illustrates an XML document for printer control.
34M illustrates an XML document for printer control.
34N illustrates an XML document for printer control.
3 4 P illustrates an XML document for printer control.
35 illustrates an XML document for printer control.
36A illustrates an XML document for printer control.
36B illustrates an XML document for printer control.
36C illustrates an XML document for printer control.
36D illustrates an XML document for printer control.
37A illustrates an XML document for printer control.
37B illustrates an XML document for printer control.
38A illustrates an XML document for printer control.
38B illustrates an XML document for printer control.
38C illustrates an XML document for printer control.
38D illustrates an XML document for printer control.
3 8 E illustrates an XML document for printer control.
38F illustrates an XML document for printer control.
38G illustrates an XML document for printer control.
38H illustrates an XML document for printer control.
381 illustrates an XML document for printer control.
F I G . 38J illustrates an XML document for printer control.
F I G . 39A illustrates an XML document for printer control.
F I G . 3 9 B illustrates an XML document for printer control.
F I G . 3 9 C illustrates an XML document for printer control.
F I G . 39D illustrates an XML document for printer control.
F I G . 3 9 E i.llustrates an XML document for printer control.
F I G . 3 9 F illustrates an XML document for printer control.
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F1.G.
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
39G illustrates an XML document for printer control.
39H illustrates an XML document for printer control.
3 9 1 illustrates an XML document for printer control.
39J illustrates an XML document for printer control.
39K illustrates an XML document for printer control.
40A illustrates an XML document for printer control.
40B illustrates an XML document for printer control.
41A illustrates an XML document for printer control.
41B illustrates an XML document for printer control.
42A illustrates an XML document for printer control.
42B illustrates an XML document for printer control.
43A illustrates an XML document for printer control.
43B illustrates an XML document for printer control.
44A illustrates an XML document for printer control.
44B illustrates an XML document for printer control.
45A illustrates an XML document for printer control.
45B illustrates an XML document for printer control.
4 6 illustrates an XML document for printer control.
47A illustrates an XML document for printer control.
47B illustrates an XML document for printer control.
48A illustrates an XML document for printer control.
48B illustrates an XML document for printer control.
49A illustrates an XML document for printer control.
49B illustrates an XML document for printer control.
50A illustrates an XML document for printer control.
5 0 B illustrates an XML document for printer control.
5 0 C illustrates an XML document for printer control.
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
F I G .
control.
F I G .
control.
F I G .
control.
F I G .
control.
F I G .
control.
F I G .
control.
F I G .
control.
F I G .
control.
F I G .
control.
F I G .
control.
F I G .
control.
51A illustrates an XML document for printer control.
51B illustrates an XML document for printer control.
51C illustrates an XML document for printer control.
52A illustrates a message for a customer display.
52B illustrates a message for a customer display.
53A illustrates a message for a customer display.
53B illustrates a message for a customer display.
54A illustrates an XML document for customer display
illustrates XML document for customer display
55A illustrates an XML document for customer display
55B illustrates an XML document for customer display
55C illustrates an XML document for customer display
56 illustrates an XML document for customer display
57A illustrates an XML document for customer display
57B illustrates an XML document for customer display
57C illustrates an XML document for customer display
57D illustrates an XML document for customer display
illustrates XML document for customer display
F I G . 58B illustrates an XML document for customer display
control.
FIG.
control.
FIG.
control.
FIG.
control.
FIG.
control.
FIG.
control.
FIG.
control.
FIG.
control.
FIG.
control.
FIG.
control.
FIG.
control.
FIG.
control.
FIG.
control.
FIG.
control.
FIG.
control.
FIG.
58C illustrates an XML document for customer display
59A illustrates an XML document for customer display
59B illustrates an XML document for customer display
59C illustrates an XML document for customer display
60A illustrates an XML document for customer display
60B illustrates an XML document for customer display
61A illustrates an XML document for customer display
61B illustrates an XML document for customer display
62A illustrates an XML document for customer display
62B illustrates an XML document for customer display
62C illustrates an XML document for customer display
62D illustrates an XML document for customer display
62E illustrates an XML document for customer display
62F illustrates an XML document for customer display
63 illustrates an XML document for customer display
control.
F I G . 64 illustrates an XML document for customer display
control.
F I G . 65 illustrates an XML document for customer display
control.
F I G . 66 illustrates an XML document for customer display
control.
F I G . 67A illustrates a message for a POS keyboard.
F I G . 67B illustrates a message for a POS keyboard.
F I G . 67C illustrates a message for a POS keyboard.
F I G . 68A illustrates a message for a POS keyboard.
F I G . 68B illustrates a message for a POS keyboard.
FIG. 69A illustrates a message for a POS keyboard.
F I G . 69B illustrates a message for a POS keyboard.
FIG. 69C illustrates a message for a POS keyboard.
F I G . 70A illustrates a message for a serial communication
device.
F I G . 70B illustrates a message for a serial communication
device.
F I G . 71A illustrates a message for a serial communication
device.
F I G . 71B illustrates a message for a serial communication
device.
F I G . 71C illustrates a message for a serial communication
device.
F I G . 72 illustrates a d.evice control script.
F I G . 73 illustrates a device control script.
F I G . 74 illustrates a device control script.
F I G . 75 illustrates a device control script.
F I G . 76 illustrates a device control script.
F I G . 77 illustrates a device control script.
F I G . 78 illustrates a device control script.
F I G . 79 illustrates a device control script.
F I G . 80 illustrates a uevice control script.
F I G . 81 illustrates a device control script.
F I G . 82 illustrates a sample program.
F I G . 83 illustrates the flow of constructing the environment
of the sample program.
F I G . 84A illustrates the flow of constructing the environment
of the sample program.
F I G . 84B illustrates the flow of constructing the environment
of the sample program.
[Description of Embodiments]
A preferred embodiment of the invention is described below with
reference to the accompanying figures.
. .:
F I G . 1 shows the configuration of a device control system 100
according to the invention. This device control system 100 includes
a terminal 3 and a printer 5 (intelligent printer).
The terminal 3 may be any device that connects to a network and
is capable of socket communication, and couldbe a personal computer,
a smartphone, or a tablet computer, for example. The terminal 3 has
an environment that is capable of socket communication and can handle.
XML documents, which are markup language, and uses iOS, Android,
Windows, Linux, or MacOS, for example, as the OS (operating system) .
[00171
The terminal 3 and printer 5 are connected over a communication
network. In the example shown in F I G . 1, the device control system
100 has a wireless LAN access point 11, and the wireless LAN access
point 11 is connected to the printer 5 by a cable. The terminal 3
and printer 5 'communicate by a wireless connection between the
terminal 3 and the wireless LAN access point 11.
[00181
A network printer 7, customer display 8, and barcode scanner
9 are connected to the printer 5 as controlled devices. The network
printer 7 is connectedtothe printer 5 throughanetwork. The network
printer 7 is a printer separate from the local printer 55 (FIG. 2)
of the printer 5, and has a wired LAN or wireless LAN interface. The
customer display 8 is connected through the USB interface described
below. The barcode scanner 9 is connected through the USB interface
described below. These devices are generally called peripheral
devices (peripherals) , and are ref erred to below as devices. Devices
that connect to the printer 5 are not limited to the devices: shown
in FIG. 1. For example, displays, and key input devices such as
keyboards are also included. Also included are devices that can be
controlled by a HID (human interface device) driver standard to the
OS, serial communication devices that can be operated using a serial
communication driver standard to the OS, and USB devices that can
be controlled in the same wzy as serial communication devices.
[00191
Operation of the device control system 100 is described next.
(1) Place an application on the terminal 3.
(2) The application sends a request message to the printer 5.
(3) The printer 5 sends data to a device that can be controlled
from the printer 5.
(4) The network printer and devices connected to the printer
5 are controlled.
(5) The printer 5 returns a response to the terminal 3.
[00201
FIG. 2 illustrates the functional configuration of the device
control system 100.
Thedevice controlsystem100usesDevice XML, whichis acommand
system written in XML markup language defining functions for
controlling devices (peripheral devices) connected to the printer
5.
The terminal has application The application
native application program installed on the terminal 3. The
application 31, the device application programming interface (API)
33, sends an XML format request message (Request) by socket
communication to the printer 5.
[0021]
A device service interface 501 and a device control script 502
are built in to the printer 5. The device service interface 501 and
device control script 502 interpret the request message, and output
a request to the device control script 502. The device control script
502 controls a key input device 18 and serial communication device
19. The device control script 502 outputs key input device 18 and
serial communication device 19 events and control result.responses
to the device service interface 501. The key input device 18 in this
example includes the keyboard 14 in FIG. 1, and the serial
communication devices 19 include the barcode scanner 9 and cash
drawer 13 in FIG. 1.
The device service interface 501 exchanges data with the local
printer 55. The local printer 55 is the printer incorporated in the
printer 5. The device service interface 501 also exchanges data with
the network printer 7 and customer display 8.
The device service interface 501 outputs an XML format response
(Response) to the application 31 based on the results of controlling
the network printer 7, customer display 8, and local printer 55, and
device control script 502 responses.
The printer 5 thus controls devices through the device service
interface 501 and device coni-rol script 502. Devices controlled in
the example shown in F I G . 2 are the network printer 7, customer
display 8, key input device 18, serial communication device 19, and
local printer 55.
[0022]
The terminal 3 can control devices connected to the printer 5
using the Device XML command system of the device control system 100
by the above operation.
Device XML has the following features.
* A separate device (such as a computer) used as a controller
is not needed to control devices.
* Devices that operate according to a driver standard to the
OS of the printer 5 can be used through the device control script
502 without installing a specific driver.
* When a device is accessed, the device is exclusively locked.
Multiple terminals 3 therefore cannot access and control a device
at the same time. When the terminal 3 controlling a device releases
the device, the device can then be controlled from another terminal
[0023]
The device API 33 has the following features.
* Commands that print lines can be used when the network-printer
7 or the local printer 55 of the printer 5 supports a line command.
* Buzzer functions can be used when a buzzer is connected to
the printer 5 or network printer 7.
* Key codes that can be acquired from the keyboard 14 are-limited.
Key codes that can be acquired from the keyboard 14 are shown in F I G .
3A and F I G . 3B.
[00241
The configuration of the printer 5 is described next.
The printer 5 has a CPU, RAM, flash ROM, nonvolatile memory,
a video controller, an auxi1,iary storage device (SSD: solid state
drive), interface, and a local printer (print unit). The printer 5
could also have a speaker. The local printer is a thermal printer
that can print on 80 mm wide or 58 mrn wide roll paper.
The printer 5 can be installed in a POS (point of sale) system.
The operating system (0s) of the printer 5 is Windows (R) based, for
example, and is stored in the auxiliary storage device.
[0025]
A device control program, which is software for the terminal
3 to control devices connected to the printer 5, is installed to the
printer 5. As a result, installing a driver program to the terminal
3 is not necessary.
The printer 5 also has a Windows (R) standard device driver
program (APD), UPOS driver, OPOS driver, or other software for
controlling devices and the local printer of the printer 5.
Awebapplicationcanbe installed tothe printer 5. This enables
using the printer 5 as an application server as shown in F I G . 3. The
web application could, for example, be a PHP and Per1 server-side
script or SQLite database access script (server-side script).
[0026]
F I G . 4 shows an example of device connections to the printer
5.
The foregoing networkprinter 7, customer display 8, andbarcode
scanner 9 canbe connected tothe printer 5. Adisplay12, cashdrawer
13, and keyboard 14 can be connected to the printer 5.
F I G . 5 shows the external appearance of the printer 5.
A roll paper cover 51 is disposed to the top of the printer 5.
I
The roll paper cover opens when the cover open button 52 is pressed, I
I
and roll paper can be loaded. A manual cutter 53 for manually cutting
the roll paper, and a cutter cover 54, are disposed to the paper exit
from which the roll paper is discharged after printing. The cutter
cover 54 is opened when a paper jam occurs in the local printer of
the printer 5, and when the roll paper cover 51 does not open. The
blade of the manual cutter 53 returns to the home position when the
cutter cover 54 opens. The printer 5 also has a power switch 56B,
reset button 56A, LED display unit 57, and control panel 58. The LED
display unit 57 includes a disc access LED indicating accessing the
auxiliary storage device, and status LEDs. The status LEDs report
the operating' state of the OS, the standby mode of the OS, that the
power is off, the OS start-up sequence, and a high CPU temperature
warning.
The control panel 58 includes apower LED, error LED, roll paper
LED, and paper feed button. The power LED lights when power is
supplied. The error LED is off during normal operation, and lights
when the printer resets and when the end of the roll paper is detected
and printing stops. The paper LED is off when sufficient roll paper
remains, lights steady when little paper is left, and blinks when
the self-diagnostic test is running. Pressing the feed button
advances the roll paper one line at a time or continuously.
[0027]
A connector cover 59 is disposed to the back of the printer 5.
Removing the connector cover 59 exposes the connector panel
(connection panel) on the back of the printer 5.
FIG. 6 shows the connection panel 60. The connection panel 60
includes a drawer kick-out connector 61, Ethernet connector 62, USB
connector 63, VGA connector 64, COM connector 65, line output 66,
and DC input 67. The connection panel 60 is the connection unit of
the accompanying claims. However, the local printer 55 built into
the printer 5 is also one of the devices connected to the printer
5. The connection unit therefore includes the connection panel 60
and an internal interface of the printer 5.
The cash drawer 13 or an optional buzzer is connected to the
drawer kick-out connector 61. The Ethernet connector 62 is connected
to the network. The USB connector 63 has six USB ports. The customer
display 8, barcode scanner 9, keyboard 14, and other devices are
connected to the USB connector 63. The display 12 is connected to
the VGA connector 64. The serial interface of a serial communication
device connects to the COM connector 65. The line output 66 connects
to an external speaker.
FIG. 7 illustrates connection of a wireless LAN unit 17. The
wireless LAN unit 17 plugs into a USB extension cable 15, and the
USB extension cable 15 plugs into the USB connector 63. The printer
5 can thus be connected to a wireless LAN.
[0028]
Building a device service interface 501 environment is
described next.
FIG. 8 shows the flow of work when building the environment.
1. Network settings
Configure the systemandprinter 5 network. The network settings
ofthe printer 5 canbe configuredusing any of the followingmethods.
'. :.
* Configuring the Windows (R) network settings on the printer
* Installi'ng the TMNet Winconfig utility, which is an
application for configuring the printer 5, on an externa1,device (a
Windows computer) .
2. Connect a device to the printer 5
Connect a device to the printer 5. As described above,
connectable devices include the customer display 8, barcode scanner
9, display 12, cash drawer 13, and keyboard 14. Also included are
devices that can be controlled by a HID driver standard to the OS,
serial communication devices that can be operated using a serial
communication driver standard to the OS, and USB devices that can
be controlled in the same way as serial communication devices. The
connectionpanel60 inFIG. 6 has onlyone COM connector 65, but plural
'serial communication devices can be connected if a serial-USB
conversion cable is used and the driver program is compatible with
serial-USB conversions.
3. Register device control script
A device control script prepared by the user is registered in
order for the printer 5 to.contro1 devices other than the products
with which the printer 5 is compatible. Registration is done from
the web browser.
4. Register device
Register the device connected to the printer 5 in the printer
5 software. Registration is done from the web browser.
The web browser used for steps 1 to 5 includes a web browser
that runs on the terminal 3.
[00291
A method of registering a device control script prepared by the
user is described with reference to FIG. 9.
The registration steps are as follow.
(1) Prepare a customized device control script.
(2) Turn the printer 5 power on.
(3) Start the web browser, and input the URL (http: //IP address
of printer 5/WebConf ig/) .
(4) Start the TMNetWebConfig utility. Click on [Web service
settings] -[~egister/delete] in the window shown in FIG. 9.
(5) The Control Script screen is displayed.
Click on [Browse] in the Control script to be registered field,
and select the device control script to register.
(6) Click [Registration] .
The device control script is registered and listed in the
Registered control scripts field in the bottom of the window.
Register a device to be controlled by Device XML. A device is
registered by the web browser displaying the TMNetWebConfig utility
as shown in FIG. 10.
The registration steps are as follow.
(1) Start the web browser, and input the URL (http: //IP address
of printer 5/~eb~oingf/ ) .
(2) The TMNetWebConfig utility starts. From [Web service
settings] - [Device registration] in the window shown in FIG. 10,
click on the type of device to register.. Devices are displayed under
Device registration in the screen shown in FIG. 10. Click on the type
of device to register. The type of device in this embodiment can be
selected from five types, printer, display, key input device, serial
communication device, and other as shown in FIG. 11. Details about
the types of devices are as shown in FIG. 11.
[00311
(3) A configuration screen is displayed for each device. The
connected device is registered in the printer 5.
(3-1) To register a printer
Confirm registration of the local printer incorporated in the
printer 5 as follows.
(3-1-1) Check that "printer 5" is registered for the device ID
!Ilocal- p rinter1!i n the Registered Printer field in the screen shown
in FIG. 10.
(3-1-2) ciick on [Test printing] . Check that TEST-PRINT is
printed by the local printer 55.
(3-1-3) Register the connected network printer 7.
Register the network printer 7 by the following steps.
(3-1-3-1)S et the items shown in FIG. 12 (device ID, type, model
number, IP address, retry interval), and click [Registration].
(3-1-3-2) After confirming the printer is added to the
Registered Printer list, click [Test printing]. Confirm that
TEST - PRINT is printed by the registered network printer 7.
(3-2) To register a display (customer display 8)
The device ID of the customer display is a constant,
I1loca-l d isplayl1. Register the connected customer display 8 by the
following steps.
(3-2-1) Select '\UseN in the screen shown in FIG. 10.
(3-2-2) Set the items (communication settings, brightness
settings) in FIG. 13, and click [Registration] .
1 (3-2-3) Click [Test display]. Confirm that text is displayed
I
I I on the customer display 8.
(3-3) To register a key input device 18
I
1 Register the connected key input device 18 by the following
I steps.
(3-3-1) Set the items (device ID, device name, control script)
in FIG. 14, and click [Registration] .
I
(3-3-2) After confirming the registered device was added to the
Registered Key Input Device field, click [Operating test].
(3-3-3) A screen will be displayed by the web browser. Operate
the key input device 18, and confirm that the result is displayed
as operated.
(3-4) To register a serial communication device 19
I I Register the connected serial communication device 19 by the
I
following steps. 1
(3-4-1) Set the items (device ID, device name, control script,
communication speed, data bit, parity, stop bit, free control) shown
inFIG. 15 forthe connected serial communicationdevice 19, andclick
[Registration] .
(3-4-2) Confirm that the device is added to the Registered
Serial Communication Device field.
(3-5) To register another device
Register another connected device by the following steps.
(3-5-1) Set the items (device ID, control script) shown in FIG.
16 for the connected device, and click [Registration].
(3 -5 -2) Confirm that the device is added to the Registered Other
Devices field.
[00321
The programming method for developing an application using
Device XML is described next.
The basic sequence of programming in Device XML is shown in FIG.
17.
Applications in FIG. 17 corresponds to application 31, Device
Control indicates the device control function (device service
interface 501), and Device denotes a controlled device.
[00331
1: Establish TCP connection. Establish a TCP connection to
the socket interface from the application 31.
2: Connect message. Establish a communication path to the
device service interface 501.
3: The application 31 sends an open - device message
(type - printer) .
3.L: Device service interface 501 sends a CmdO command to
device.
4 : Device returns "Device open".
4.1: Device service interface ,501 returns response.
6: Application 31 sends a device - data-message. Application
31 controls device using the device-data - message.
6.1: CmdO command sent to device.
6.1.1: Device executes.
Device sends response to device-data-message.
. 7 . : Device returns the execution result.
7.1: Device service interface 501 returns a
device data message or error message. I - -
8 : Application 31 sends close~device~nmessageT.h e
connection to the device service interface 501 and socket interface
communication is terminated,
8.1: Device service interface 501 sends a CmdO command to
device.
9: Device closes.
9.1: Device service interface 501 returns response to
application 31.
[0034]
The interface shown in FIG. 18 is used to control devices using
Device XML.
The format of each data item is as shown in FIG. 19A, and FIG.
I 19B shows a description of each data item.
[00351
Examples of communication data between the application 31 and
the device service interface 501 are shown in FIG. 20A and FIG. 20B.
In FIG. 20A and FIG. 20B, the NULL character is represented by If\0 " .
FIG. 20A and FIG. 20B show examples of communication data when
1 establishing a connection, acquiring administrator information,
I
I opening a device, controlling a device, and closing a device.
I [0036]
The method of creating an array of elements in a
cdevice-data> message is de'scribed next.
The following programming method is used to describe an array
in the tag:
* Set the attribute array="trueI1 in the first element in the
array.
* Then specify the value of each additional array element using
the same name for each element.
FIG. 21 shows sample code to create the array keycodes= [49, 50,
[00371
Device XML is described next. An ePOS-Device XML List is shown.
The following are included in ePOS-Device XML.
* Message (FIG. 22)
This is XML for request messages from the application 31 to the
printer 5, andresponsemessages fromtheprinter 5 tothe application
31.
* Message data for each device (FIG. 23)
This is XML for storing request and response data for each
controlled device. This forms a sub-element of the element
of a message.
LO0381
Message data for each device is described next.
Message data for each device specifies the data that controls
the device in a sub-element of the element of a
message.
The component elements of the message data differ according to
the device type.
Before specifying the data, declare the type of message data
usingthe element and thenspecify the dataofthe sub-element.
The elements that canbe used foreachtype of device are shown
in FIG. 23.
[003 91
Messages are described next.
This message is contained in a [Response].
This message returns to the application that a connection was
I i
established.
The application 31 sends a message described below triggered
I by receiving this message. 1 [Example]
~connect> i
1 [004 01
, cadmin - info>
Returns the administrator information set in the printer 5. The
information is set with the TMNet Webconfig utility.
This message is contained in a [~equest].
This message requests administrator information from the
printer 5.
[Example]
cadmin- . info>c/admi-n i nfo>
This message is contained in'a [Response] .
This message returns the administrator information to the
application 31. A description of the sub-elements and data types is
shown in FIG. 24A.
* code
1 FIG. 24B shows the code elements.
* data
FIG. 24C shows the data elements.
Character strings in the received data are described next. The
strings shown in F I G . 24D are escaped.
[Example] F I G . 24E shows examples ofnormalanderrorresponses.
[00411
copen - device>
This message makes the device linked to the device ID usable.
Exclusive use of the specified device is given to the requesting
application 31.
This message is contained in a [Request].
This message specifies the device to open. A description of the
sub-elements and data types is shown in F I G . 25A.
* data
F I G . 25B shows the data elements.
[Example] F I G . 25C shows an example of a request.
This message is contained in a [Response].
This message returns the device open result to the application
31. A description of the sub-elements and data types is shown in F I G .
25D.
* code
F I G . 25E shows the code elements.
[Example] F I G . 25Fshows examples ofnormalanderrorresponses.
[00421
This message closes an opened device.
This message is contained in a [Request] .
This message specifies the device to close. A description of
the sub-elements and data types is shown in F I G . 26A.
[Example] F I G . 26B shows an example of a request.
This message is contained in a [Response] .
This message returns the device close result to the application
31. A description of the sub-elements and data types is shown in F I G .
* code
F I G . 26D shows the code elements.
[Example] F I G . 26E shows examples of normal and error responses.
[00431
This message is contained in a [Request].
This message sends data to a device. Device control commands,
and print and display data are included. A description of the
sub-elements and data types is shown in F I G . 27A.
[Example] F I G . 27B shows an example of a request.
This message is contained in a [Response].
This message returns data from the device. The result of device
control, events that occurred in the device, and input data from the
device are included. Adescription of the sub-elements and data types
is shown in F I G . 27C.
[Example] F I G . 27D shows an example of a response.
[00441
This message is contained in a [Response].
This message returns device control command and service control
command errors, and other common errors, A description of the
I
I sub-elements and data types is shown in F I G . 28A.
I * code
F I G . 28B shows the code elements.
[Example] F I G . 28C shows an example of a response.
[0045]
Message data for the barcode scanner is described next.
This message is contained in a [Response].
I This message returns scanned data from the barcode scanner to
the application. A description of the sub-elements and data types
! is shown in F I G . 29A. I Character strings in the received data are described next. The
strings shown in F I G . 29B are escaped. 1 [Example] F I G . 29C shows an example of a response.
LO04 61
1 Message data for the printer is described next.
Print data is described below in Printer Control XML.
I ctype>print
This message is contained in a [Request].
This message sends print data and settings data to the printer.
A description of the sub-elements and data types is shown in F I G .
30A.
[Example] F I G . 30B shows an example of a request.
I [0047]
I
onxmlresultc/type>
I
This message is contained in a [Response] .
This message returns the print result to the application. A
description of the sub-elements and data types is shown in F I G . 31A.
[Example] F I G . 31B shows an example of a response.
[0048]
Printer Control XML, which is an XML document that controls a
printer, is described next.
Message data for aprinter is describedbelowunder Message Data
for Printers.
cepos-print> 4
This is an XML document sent from an application to a printer.
This document instructs the printer to execute a specified function.
cepos-print> contains the element.
[Attribute]
* xmlns
This attribute declares the epos-print name.
[Sub-elements] F I G . 32A shows the sub-elements.
[Example] F I G . 32B shows a sample XML document.
This is an XML document that is returned from the printer to
the application.
[Attribute]
* success
This attribute gets the display result. FIG. 33A shows the
attribute values.
* code
This attribute getsthe error code. F I G . 32B shows the abtribute
values.
* status
This attribute gets an OR function as a decimal expression
according tothe printer status. F I G . 32C shows the attribute values.
[Example] FIG. 33D shows a sample XML document.
This message specifies the character string to print. This
message also configures string-related settings suchas style, print
position, and line feed space.
To print content other than text after printing text, execute
a line feed or paper feed.
In page mode, characters are printed from the current print
position referenced to the baseline dot of the characters (printer
specifications, page 151) .
[Entity Reference]
Horizontal tab, line feed, and other symbols required for
I printer controlarewrittenusingthe entityreferences showninFIG.
I
[Attribute]
* lang
This attribute specifies the language. FIG. 34B shows the
attribute values.
The printable character codes depend upon the specifications
of the printer.
* font
This attribute specifies the character font. FIG. 34C shoys the
attribute values.
If Japanese is specified, characters can be printed using Shift
JIS codes.
* smooth
This attribute specifies smoothing. Text printing quality
improves if smoothing is enabled. FIG. 34D shows the attribute
values.
This attribute specifies double-sized width. FIG. 34E shows the
attribute values.
If the dw attribute and the width attribute are both specified
inone element, the horizontal scale specifiedbythe widthattribute
, ,
takes precedence.
This attribute specifies double-sized height. FIG. 34F shows
the attribute values.
If the dh attribute and the height attribute are both speci'fied
in one element, the vertical scale specified by the height attribute
takes precedence.
* width
This attribute specifies horizontal scaling. FIG. 34G shows the
attribute values.
If the dw attribute and the width attribute are both specified
inone element, the horizontal scale specifiedbythe widthattribute
takes precedence.
* height
This attribute specifies vertical scaling. FIG. 34H shows the
attribute values.
If the dh attribute and the height attribute are both specified
in one element, the vertical scale specified by the height attribute
takes precedence.
* reverse
I This attribute specifies inverting the black and white parts
! of characters. FIG. 341 shov:s the attribute values.
I
I * ul
This attribute specifies underlining. FIG. 34J shows the
attribute values.
1
* em
This attribute specifies emphasized printing. FIG. 34K.shows
the attribute values.
I
i * color
I This attribute specifies the character color. FIG. 34L shows
I I the attribute values.
1 (Default: ' 0 " )
This attribute specifies the print start position of the
..
characters in dots.
1 In page mode this is the same as the horizontal print position
specified by the position element, but the print position moves on
I ~ the horizontal axis.
,I * align
I
I This attribute specifies text alignment. FIG. 34M shows the
attribute values.
1 In the standard mode, the align attribute controls where the
I line starts.
I The alignattribute set inthis elementalsoapplies tothe align
1
I attribute of image, logo, barcode, and symbol elements.
1 * rotate
This attribute specifies rotated printing of text. FIG. 34N
shows the attribute values.
The rotate attribute is ignored in page mode.
In page mode, the print direction is set to right to left
(right - to - left) using the direction element to print text rotated
180 degrees.
The rotate attribute set in this element also applies to the
rotate attribute of the barcode and symbol elements.
* linespc
(Default: '30")
This attribute specifies the paper feed distance for one line
in dots.
[Example] FIG. 34P shows an example of settings for printing
a string.
[0051]
cf eed>
This message specifies the paper feed distance. This message
specifies the paper feed distance in dots or in lines. When the paper
feed amount is not specified, the paper is fed one line (line feed) .
This message also sets the paper feed distance per line.
[Attributes]
* unit
This attribute specifies the paper feed distance in dots.
* line
This attribute specifies the paper feed distance in lines.
* linespc
(Default : "30" )
This attribute specifies the paper feed distance per line in
dots.
If the paper feed distance per line is 30 dots, a maximum paper
feed distance of 240 lines can be specified.
The paper feed distance is stored separately for the standard
mode and the page mode. Specifyingthe linespc attribute also affects
the linespc attributes of the and elements that follow.
[Example] FIG. 35 shows a sample XML document.
[00521
< image >
This message specifies raster bit image data. (Data type
xs:base64Binary)
Raster graphics refer to data generated by horizontally
scanning the pixels of an image starting from an origin at the top
left corner of the image.
Data is generated at 1 Sit per pixel for two-tone images, and
4 bits per pixel for 16-tone images, starting from the
most-significant bitof eachbyte. Zero padding is added sothat scan
data is in byte units for each line.
To print a raster image at high speed, specify "lef tv for the
align attribute and specify a multiple of 8 that does not exceed the
printer paper width for the width attribute.
In page mode, raster images are printed from the current print
position referenced to the bottom left dot of the raster image. The
print position does not move.
In page mode, set the print position so that raster images do
not extend beyond the print area.
* Barcodes and two-dimensional symbols are printed as two-tone
images because scanning quality is affected when printed as
multiple-tone raster images.
* Use the ePOS-Print XML generator tool or other user
application to create raster graphic bit-images. Note the following
when using a user application.
* Two-tone images: Specify a multiple of 8 for the image width
or fill the missing bits with zeros.
* 16-tone image: Specify a multiple of 2 for the image,width
or fill the missing bits with.zeros.
[Attribute]
* width
q This attribute specifies the image width in dots.
* height
00 This attribute specifies the image height in dots.
* color
00 This attribute specifies the character color. FIG. 36A shows
the attribute values.
* align
q This attribute specifies the print position. FIG. 36B shows the
attribute values.
The alignattribute set inthis elementalsoappliestothealign
attribute in the text, logo, barcode, and symbol elements.
* mode
(Option (option) )
This attribute specifies the color mode. FIG. 36C shows the
attribute values.
I
[Example] FIG. 36D shows a sample XML document.
This message specifies a logo registered in the NV memory of
i the printer.
A logo must first be registered in the printer using a
model-specific utility or logo registration utility (TMFLogo) .
In page mode, logos are printed from the current print position
referenced to the bottom left dot of the logo.
[Attribute]
* key1
I
This attribute specifies the value of key code 1 set at the time
of NV logo registration.
* key2
00 This attribute specifies the value of key code 2 set at the time
of NV logo registration. This attribute is required.
* align
00 This attribute specifies the print position. FIG. 37A shows the
attribute values.
The alignattribute set in this elementalso applies tothe align
attribute in the text, logo, barcode, and symbol elements.
I [Example] FIG. 37B shows a sample XML document.
This message specifies barcode data as a character string.
A barcode will not be printed if the settings are not compliant
with the barcode standard, or if the barcode will be larger than the
print area of the printer.
In page mode, a barcode is printed from the current print
position referenced to the bottom left dot of the barcode (not
including the HRI) .
[Barcode types]
F I G . 38A, F I G . 38B, and F I G . 38C show barcode types that can
be specified.
F I G . 38D shows the escape sequences used to specify binary data
that cannot be represented by a character string.
[Attribute]
* type
OThis attribute specifies the barcode type. F I G . 38E shows the
attribute values.
* hri
This attribute specifies the HRI position. F I G . 38F shows the
attribute values.
* font
This attribute specifies the HRI font. F I G . 38G shows the
attribute values.
* width
(Default : "3")
This attribute specifies the module width in dots. Specify an
integer from 2 to 6.
* height
(Default: "162")
This attribute specifies the module height in dots.
* align
This attribute specifies the print position. F I G . 38H shows the
attribute values.
The alignattribute set inthis elementalsoappliestothe align
attribute in the text, image, logo, and symbol elements.
* rotate
This attribute specifies rotated printing. FIG. 381 shows the
attribute values.
The rotate attribute set in this element also applies to the
rotate attribute in the text and symbol elements.
[Example] FIG. 385 shows a sample XML document.
This message prints a two-dimensional symbol.
This message specifies the two-dimensional symbol as a
I
I character string.
A two-dimensional symbcl will not be printed if the settings
are not compliant with the two-dimensional symbol standard, or if
I
I the two-dimensional symbol will be larger than the print area of the
printer.
In page mode, a two-dimensional symbol is printed from the
current print position referenced to the bottom left dot of the
two-dimensional symbol.
[Two-dimensional symbol types]
FIG. 39A and FIG. 39B show two-dimensional symbol types that
can be specified.
FIG. 39C shows the escape sequences used to specify binary data
that cannot be represented by a character string.
[Attribute]
This attribute specifies the type of two-dimensional symbol.
1 FIG. 39D shows the attribute values.
I * level
1 This attribute specifies the error correction level. FIG. 39E
shows the attribute values.
The error correction level is selected according to the type
of two-dimensional symbol.
Select the def auit for MaxiCode and two-dimensional GS1 DataBar
symbols.
* width
This attribute specifies the width of one module in dots. FIG.
39F shows a description.
* height
This attribute specifies the height of one module in dots. FIG.
39G shows a description.
* size
FIG. 39H shows a description. '
* align
This attribute specifies the print position. FIG. 391 shows the
attribute values.
The alignattribute set in this elementalso applies tothe align
attribute in the text, image, logo, and barcode elements.
I * rotate
I This attribute specifies rotated printing. FIG. 39J shows the
i
attribute values.
The rotate attribute set in this element also applies to the I
I rotate attribute in the text and barcode elements.
[Example] FIG. 39K shows a sample XML document.
[0056]
This message specifies a horizontal line.
[Attribute]
* xl
This attribute specifies the start position of the horizontal
line (in dots).
This attribute specifies the end position of the horizontal
I
1 (in dots).
* style I
I ~ (Option)
I This attribute specifies the type of horizontal line. FIG
I
I shows the attribute values.
[Example] FIG. 40B shows a sample XML document.
I
[0057]
I evline-begin>
~ This message starts drawing a vertical line.
1 ine
This message cannot be used in page mode.
A vertical line is drawn until the end is specified by the
I
I cvline-end> message described below. This element is used with
vline-end.
I
I [Attribute]
This attribute specifies the start positionof the vertical line
I
(in dots) .
I
I * style
I (Option)
This attribute specifies the type of vertical line. FIG. 41A
shows sample attributes.
[Example] FIG. 41B shows a sample XML document.
[0058]
cvline-end>
This message stops drawing a vertical line.
This element is used with vline-begin described above.
[Attribute]
* X
This attribute specifies the end position of the vertical line
I
I
(in dots).
* style
(Optional)
1 I
This attribute specifies the type of vertical line. FIG. 42A
I shows sample attributes.
I [Example] FIG. 42B shows a sample XML document.
I
I This message changes from the standard mode to the page mode.
I [ elements]
The elements shown in FIG. 43A can be used in .
[Example] FIG. 43B shows a sample XML document.
This message specifies the print area in page mode.
I
Theprint area is setbyspecifyingthe origin, width, andheight
referenced to the absolute origin. As shown in FIG. 44A, the absolute
origin is a dot above the top left corner of the printable area.
Specify the print area according to the print content. If print
data extends beyond the print area, the print data will not be
! completely printed.
This element is used in a page element.
[Attribute]
* X
(Default: " 0 " )
I This attribute specifies the origin on the horizontal axis in
dots.
* Y
(Default : "0" )
This attribute specifies the origin on the vertical axis in
dots.
* width
(Default: Varies according to type.)
This attribute specifies the width of the print area in dots.
* height
(Default: Varies according to type.)
This attribute specifies the height of the print area in dots.
Specify the width and height of the print area according to the
print direction setting. The print data may not be completely
printed.
[Example] F I G . 44B shows a sample XML document.
[0061]
This message specifies the print direction in page mode.
Thismessage specifiestheprintdirectionandrotatestheprint
area. The starting point of the print area moves according to the
rotation of the print area.
This element is used in a page element.
[Attribute]
* dir
This attribute specifies the direction of rotation. FIG. 45A
shows the attribute values.
[Example] F I G . 45B shows a sample XML document.
[0062]
This message specifies the print position in page mode.
This message specifies the print position referenced to the
starting point of the print area. The starting point of the print
area moves according to the direction of rotation.
This element is used in a page element.
[Attribute]
* X
(Default : \\On)
This attribute specifies the horizontal position in dots.
* Y
(Default: "21")
This attribute specifies the vertical position in dots.
This message specifies the print start position (coordinates)
according to the content to be printed. Refer to the following.
* To print a character string:
Specify the left end of the baseline of the first character.
This is optional when for left-aligned printing of
standard-sized characters. To print double-sized height charaqters,
specify a value equal to or greater than "42" for y.
* To print a barcode:
Specify the bottom left of the symbol. Specify the barcode
height for y.
* To print a graphic/logo:
Specify the bottom left of the graphic data. Specify the height
of the graphic data for y.
* To print a two-dimensional symbol:
Specify the top left of the symbol.
[Example] FIG. 46 shows a sample XML document.
[0063]
cline>
This message draws a straight line in page mode.
Diagonal lines cannot be printed.
This element is used in a page element.
[Attribute]
* xl
This attribute specifies the position (in dots) to start
printing a horizontal line.
* Yl
This attribute specifies the position (in dots) to start
printing a vertical line.
* x2
This attribute specifiestheposition (indots) to stopprinting
a horizontal line.
* Y2
This attribute specifies the position (indots) to stop printing
a vertical line. Specify the line type.
* style
(Optional)
This attribute specifies the line type. FIG. 47A shows the
attribute values.
[Example] FIG. 47B shows a sample XML document.
[0064]
This message draws a rectangle in page mode.
This element is used in a page element.
In standard mode, Use the hline element, vline-begin element,
and vline-end element are used.
[Attribute]
* xl
This attribute specifies the position (in dots) to start
printing a horizontal line.
* Yl
This attribute specifies the position (in dots) to start
printing a vertical line.
* x2
This attribute specifies the position (in dots) to stopprinting
a horizontal line.
* Y2
This attribute specifiestheposition (indots) to stopprinting
a vertical line. Specify the line type.
* style
(Optional)
This attribute specifies the line type. F I G . 48A shows examples
of attributes.
[Example] F I G . 48B shows a sample XML document.
[0065]
This message specifies a paper'cut.
This message is used in standard mode.
This message executes at the beginning of a line. The paper is
at the beginning of a line after the paper is cut.
[Attribute]
* type
(Option)
This attribute specifies the type of cut. F I G . 49A shows
examples of attributes.
[Example] F I G . 49B shows a sample XML document.
[ 0 0 6 6 I
'This message specifies outputting a signal to the drawer
kick-out connector. Abuzzer canbe soundeddependinguponthemodel.
[Attribute]
* drawer
(Option)
This attribute specifies the drawer kick-out connector. F I G .
I
I
I 50A shows the attribute values.
I
I * time
I
(Option)
I This attribute specifies the drawer kick-out signal ON time.
I F I G . 50B shows the attribute values.
[Example] F I G . shows a sample XML document.
This message sounds a buzzer.
[Attribute]
* pattern
(Option)
! This attribute specifies the buzzerpattern. F I G . 51A shows the
I
I attribute values.
* repeat
(Optional, default: "1")
This attribute specifies the number of times the buzzer sounds.
I F I G . 51B shows the attribute values.
i [Example] F I G . shows a sample XML document.
Message data for a customer display is described below.
I Display data is describedbelowinCustomerDisplay ControlXML.
ctype>displayc/type>
[Request]
This message sends display data and setting data to the customer
~ display. F I G . 52A shows sub-elements.
I [Example] F I G . 52B shows an example of a request.
- 48 -
[Response]
This message returns the result of sending to the customer
display to the application. F I G . 53A shows the sub-element.
[Example] F I G . 53B shows an example of a response.
1
I [00711
Customer Display Control XML, which is an XML document that 1
I
controls a customer display, is described next. 1
Message data for a customer display is described above under
I Message Data for the Customer Display. I
[00721
cepos-display>
This is anXMLdocumentsent fromthe application tothe customer ~ I
display. This document requests the customer display to execute the
specified function. An cepos-display> message contains sub-elements
required to control the customer display.
I
[Attribute]
* xmlns
This attribute declares the name of the epos-display. F I G . 54A
shows sub-elements. I
I
[Example] F I G . 54B shows a sample XML document.
[00731
This is an XML document returned from the customer display to
the application.
[Attribute]
* success
This attribute gets the display result. F I G . 55A shows the
attribute values.
* code
This attribute gets the error code. F I G . 55B showsthe attribute
values.
* status
This attribute is always set to 0.
[Example] F I G . 55C shows a sample XML document.
[00741
This message controls creating and deleting windows and moving
the - current window.
* This message creates the defined window when the number, x,
y, width, and height attributes are specified. Windows are defined
to not overlap with an already defined window. The window size must
be defined to fit in the customer display size (20 columns x 2 rows) .
* The specified window is deleted if the number attribute is
defined and the destroy attribute is set to true.
* If the number attribute is defined when the attributes to
create or delete a window are not defined, the current window moves
to the specified window position.
[Attribute]
* number
This attribute specifies the number of the target window. F I G .
56 shows the attribute values.
* X
This attribute specifies the x-coordinate (1 to 20) as an
integer to create a window.
This attribute specifies the y-coordinate (1 or 2) as an integer
to create a window.
* Width
This attribute specifies the width (1 to 20) as an integer to
create a window.
* height
This attribute specifies the height (1 or 2) as an integer to
create a window.
* scrollmode
This attribute specifies the scrollingmethodofthewindowwhen
a window is created. FIG. 57A shows the attribute values.
* destroy
This attribute specifies whether or not to delete the window
specified by the number attribute. FIG. 57B shows the attribute
values.
[Error conditions]
When an error occurs, a value shown in FIG. 57C is returned.
[Example] FIG. 57D shows a sample XML document.
[00751
This message controls displaying a character string.
* If x and y attributes are defined, text is displayed from the
specified cursor position.
* If x and y attributes are not defined, text is displayed from
the current cursor position.
[Attribute]
* X
This attribute specifies the x-coordinate (1 to 20) of the text
display as an integer.
* Y
This attribute specifies the y-coordinate (1 or 2) of the text
display as an integer.
* reverse
This attribute specifies shading for the displayed characters.
FIG. 58A shows the attribute values.
I
I * lang
This attribute specifies the language of the text display. If
I
I omitted, the current setting is used. F I G . 58B shows the attribute I I values.
I [Example] F I G . 58C shows a sample XML document.
1 [0076]
I This message controls the cursor position and display settings.
* This message specifies the cursor coordinates in the display
using the x and y attributes.
* This message specifies the cursor position in the current
window using the moveto attribute. ~
* This message is ignored if x, y, and moveto attributes are
i all defined at the same time.
[Attribute]
* X
This attribute specifies the-x-coordinate (1 to 20) of the
cursor as an integer.
* Y
This attribute specifies the y-coordinate (1 or 2) of the cursor
as an integer.
* moveto
This attribute specifies the cursor position in the current
window. F I G . 59A shows the attribute values.
* type
This attribute specifies the display method of the cursor. If
omitted, the current setting is used. F I G . 59B shows the attribute
values.
[Example] F I G . 59C show;; a sample XML document.
100771
This message controls screen blinking. Blinking continues at
the interval specified in the interval attribute.
The actual blinking interval is rounded up in 50 ms increments.
For example, if interval is 1 to 50, the actual interval is 50
ms; if the interval is 51 to 100, the actual interval is 100 ms.
[Attribute]
* interval
This attribute specifies the blinking interval as an integer.
FIG. 60A shows the attribute values.
[Example] FIG. 60B shows a sample XML document.
[00781
This message controls the display brightness.
[Attribute]
* value
This attribute specifies brightness as a percentage. FIG. 61A
shows the attribute values.
[Example] FIG. 61B shows a sample XML document.
[00791
Thismessage controlsthemarquee displayof acharacterstring.
The specified string is displayed 1 character at a time at the
interval specified in uwait. After the string is displayed to the
end, display pauses for the time specified by rwait , and the string
is then displayed again from the beginning.
[Attribute]
* format
This attribute specifies the display pattern for the marquee.
FIG. 62A shows the attribute values.
* repeat
This attribute specifies howmany times themarquee is displayed.
I
I I
I FIG. 62B shows the attribute values. I
* uwait
This attribute specifies the interval waited to display each
1 character in milliseconds. FIG. 62C shows the attribute values.
* rwait
I
I
This attribute specifies how long to wait after the end of the
string is displayed in milliseconds. FIG. 62D shows the attribute
I
values.
* lang
This attribute specifies display language. If omitted, the
current setting is used. FIG. 62E shows the attribute values. I
I
[Example] FIG. 62F shows a sample XML document.
[0080]
This message displays the time in the bottom right corner of
the display.
The displayed'time is the local time managed by the OS of the
I
I printer 5.
i [Example] FIG. 63 shows a sample XML document.
[0081]
This message clears the display of the current window.
If a window does not exist, the whole display is cleared.
[Example] FIG. 64 shows a sample XML document.
I
1 This message resets the display. Resetting the display results
I
in the following.
* All character strings ?.re cleared, and all registered windows
I are discarded. I
1
* The cursor returns tothe default state andmovestothe origin I
I
of the display.
* Display blinking and display brightness return to the default
settings.
,[Example] FIG. 65 shows a sample XML document. I
I I
This message executes a desired ESC/POS command. ~
The desired command is specified by a hexadecimal string. I I
[Example] FIG. 66 shows a sample XML document.
[00841
I Message Data for a POS Keyboard is described next.
I
[Response]
I This message returns input data from a POS keyboard to the
application. FIG. 67A shows sub-elements.
(Character strings in received data)
The character strings shown in FIG. 67B are escaped.
[Example] FIG. 67C shows an example of a response.
[00851
ctype>setprefixc/type>
This message specifies the key code used to determine the start
of a character string to detect input from the POS keyboard. If a
key code specified by this message is input, the character string
from then until the Enter key is pressed is returned in the onstring
message. This is used, for example, to substitute input from the POS
keyboard for barcode input. To stop the onstring message, send a
setprefix message without a keycode.
I
[Request]
I
This message specifies the key code used to determine the start
of a character string to detect input from the POS keyboard. F I G .
68A shows sub-elements.
[Example] F I G . 68B shows an example of a request.
[ 0 0 8 6 ]
onstring
[Response]
This message returns input data from the POS keyboard to the
application.
This message reports detection of input from any one of the key
codes specified with setprefix to Enter. The detected key code
information is acquired in the argument in addition to the input
sequence of characters. F I G . 6 9 A shows sub-elements.
(Character strings in the received data)
The strings shown in F I G . 69B are escaped.
[Example] F I G . 69C shows an example of a response.
I
[ 0 0 8 7 ]
Message Data for a Serial Device is described next.
[Request]
This message sends commands tothe serial device. F I G . . 7 0 A shows
i sub-elements.
[Example] F I G . 70B shows an example of a request.
[ 0 0 8 8 ]
1 [Response]
I I This message returns data from the serial device to the
1
I application. F I G . 71A shows sub-elements.
* status
FIG. 71B shows the attribute values.
[Example] FIG. 71C shows an example of a response.
[0089]
The device control script 502 is described next.
Programming is described first.
FIG. 72 describes using a device control script.
v
By using the device control script API provided by the device
control function of the inverition, data processing by a device can
be customized and new devices can be used from the application 31.
As shown in FIG. 72, a device control script 502 has a
Deviceconnection object 503 and a ClientConnection object 504. In
FIG. 81, devices of the highly functional printer 5 are collectively
represented by device 20.
[0090]
When XML data (Request) containing the open - device message
described above is sent, the socket interface 500 of the printer 5
receives the XML data. The socket interface 500 then passes the
receiveddatatothe device service interface 501. Thedevice service
interface 501 then instantiates an object so that the device control
script corresponding to the device requested by the open - device
message can be used. The device 20 can then be controlled through
the instantiated object.
[Device control script object]
The objects shown in FIG. 73 are then passed to the device
control script 502 from the device service interface 501. By using
the device connection (Deviceconnection) object 503 and client
connection (Clientconnection) object 504, the device control script
502 can communicate with the application 31 and device 20.
[0091]
Functions that use device control script objects-are described
next.
The following functions can be used using device control script
APIs .
* Desired events of application 31 side device objects can be
called.
* Data can be sent to a device.
* Generated data can be received from the device.
[00921
The configuration of a device control script is described next.
A device control script is coded to include the following
conditions.
* The code required for device control must be contained in a
single file.
(Onlyone file canbe registeredwhenconfiguring adevice using
the TMNetWebConfig utility.)
* The part of the file name up to the first dot ".I1 and the
constructor name must be the same.
(Example) file name: Keyboard - G eneric.verl.0.j-~> constructor
name: Keyboard - Generic
* Declare exports to externally reference a constructor.
(Example) exports.Keyboard - Generic=Keyboard - Generic
* The device control script must have the properties shown in
FIG. 74 and FIG. 75. An appropriate name is set using constructor.
DEVICE - TYPE property (object type : String)
A list of settings is shown in FIG. 74.
DEVICE - GROUP property (object type: String)
A list of settings is shown in FIG. 75. "+
* Create an I1onDeviceDatal1m ethod to receive data generated by
the device. For details, see the device control script Name object
described below.
* Create a method corresponding to the device object method that
runs on the application 31. For details, refer to the Any event
described below.
FIG. 76 shows an example of the configuration of a sample device
control script 502.
[00931
A list of device control script APIs is shown.
The following objects are provided in the device control script
API .
* Clientconnection object (The API list is shown in FIG. 77. )
* Deviceconnection object (The API list is shown in FIG. 78. )
* Device control script Name object (The API list is shown in
FIG. 79.)
[00941
The Clientconnection object is described next.
This object is an object passed to the first parameter of the
constructor of the device control script 502.
* send
This method sends data to a device object that runs on abrowser.
[Syntax]
send (event, data) ;
[Parameters]
* event: object type: (String)
This parameter specifies the event name of the device object.
* data: object type: (Object)
This parameter specifies the data passed to the device object
event.
An example is shown in FIG. 80. In this example, the onkeypress
event of the device object is called, and 49 is received from
data.keycode and 1 is received from data.ascii using the data
parameter of the onkeypress event.
[00951
The Deviceconnection object is described next.
This object is an object passed in the second parameter of the
constructor of the device control script 502.
* send
This method sends data to a serial communication device.
[Syntax]
send (data) ;
[Parameters]
data: object type : (Buffer)
This parameter specifies the data to send to the device.
[00961
The device control script Name object is described next.
* onDeviceData event (input device that can operate with an HID
driver)
This event receives detected data from a key input device.
Events are described in this format in a device control script
502 for a key input device.
[Syntax]
onDeviceData (event, keycode, ascii) ;
[Parameters]
event : object type : (Number)
This parameter receives the direction of key operation. For a
list of values, see FIG. 81.
keycode : object type : (Number)
This parameter receives the key code. For a list of key codes,
see FIG. 3A and FIG. 3B.
ascii : object type: (String)
This parameter receives the character corresponding to the
operated key.
1
If no character corresponds to the key code (such as with the
F1 key), undefined is returned.
[00971
* onDeviceData event (serial communication device)
This event receives data detected from a serial communication ~ device.
Events are described in this format in a device control script
1 502 for serial communication.
I
[Syntax]
I onDeviceData (data) ;
[Parameters]
*data: object type: (Buffer) ,
I This parameter receives data received from a serial
communication device.
i [00981
* Any event
This event receives the results of API execution by a device
object that runs on a browser.
[Syntax]
Name specified by callEvent (data);
[Parameters] .
* data: object type: (Object)
This parameter receives the object specified by the callEvent
/ parameter of the device object.
[00991
A program is described next.
[Summary]
As shown in FIG. 82, this program provides the ability to read
data with the barcode scanner and print.
[Environment]
Devices
* printer 5
* barcode scanner 9
Execution environment
The following environment is described here.
[OlOO]
The work flow for building the program environment is shown in
FIG. 83A.
1. Configure the network settings of the printer 5.
Configure the systemandprinter 5 network settings. The network
settings of the printer 5 can be configured using either of the
following methods.
* Configure the Windows network settings on the printer 5.
* Install the TMNet Winconfig utility on an external device
(Windows computer) to configure the settings.
2. Connect the barcode scanner 9 to the printer 5.
Connect the barcode scanner 9 to the printer 5.
3. Configure the barcode scanner
Register the barcode scanner 9 in the printer 5. Registration
is done from a web browser.
[OlOl]
[Configuring a barcode scanner]
Register a barcode scanner 9 to be controlled by Device XML in
the printer 5. The barcode scanner 9 is registered and configured
using the TMNet WebConfig utility.
FIG. 94A shows an example of the TMNet WebConfig screen.
1. Confirmthat thebarcode scanner 9is connectedtothe printer
5, and turn the printer 5 on.
2. Start the web browser on the computer used for configuring,
and input the URL (http://1p address of printer 5/webconfig/).
3. The TMNetWebConfig utility starts. Click on [Web service
settings] -[Device registration] - [Key input device] shown in (3)
in FIG. 94A.
4. The "Key input deviceI1 screen is displayed. Set the items
shown in FIG. 94B in the input fields shown in (4) in FIG. 94A, and
click [Registration] .
5. The registered barcode scanner is displayed in the
[Registered key input devices] field in (5) in FIG. 94A.
[0102]
As described above, a device control system 100 according to
this embodiment of the invention has a terminal 3 that executes an
application 31, and a printer 5 with a connection panel 60 to which
a device connects, connected over a network. The terminal 3 sends
XMLdatageneratedbythe a p p l i c a t i o n 3 1 t o t h e p r i n t e r 5. The printer
5 receives the XML data sent from the terminal 3 through a socket
interface 500. When the terr,inal 3 sends data requesting
administrator information, the printer 5 sends the administrator
information of the printer 5 to the terminal 3 using functions of
a device service interface 501 and device control script 502. When
the terminal 3 sends data requesting device control, the printer 5
controls the device. As a result, devices connected to the printer
5 can be controlled by a terminal 3 connected to the network. The
terminal 3 can be any device that can run an application that
generates data written in XML. Because XML is highly versatile, many
different devices can be used as the terminal 3. Developing
applications for the terminal 3 is also simple.
[0103]
When the terminal 3 requ.ests administrator information by
sending data containing an cadmin info> message, the printer 5
- 63 -
returns XML data including the administrator name and/or location
I stored by the printer 5 to the terminal 3.
When the terminal 3 sends data including a device open request,
1
I the printer 5 enables controlling the device, and when the terminal I
3 sends dataincludinga device close request, the printer 5 disables
I
1 control of the controlled device.
I
The data generated by the application 31 also includes message
I data that differs for each device connected to the printer 5, or
I message data common to devices.
I When controlling a device requested by data, the printer 5 also
I
I
I instantiates aDeviceConnectionobject that sends data tothe device,
and a Clientconnection object that sends data to the terminal 3.
I
[0104]
I The foregoing embodiment obviously describes one example of the
I invention, andcanbemodifiedandadaptedas desiredwithinthe scope
of the accompanying claims.
[Industrial Applicability]
[0105]
As described above, the present invention is useful in a device
control system that controls devices, and can be applied to
controlling devices and prin.ters used in a POS system.
[Reference Signs List]
[0112]
2 application server
3 terminal
5 Uprinter
7 network printer
8 customer display
9 barcode scanner
11 wireless LAN access point.
display
cash drawer
keyboard
USB extension cable
wireless LAN unit
key input device
serial communication device
device
application
51 roll paper cover
52 cover open button
53 manual cutter
54 cutter cover
55 local printer
56A reset button
56B power switch
57 LED display unit
58 control panel
59 connector cover
60 connection panel
61 drawer kick-out connector
62 Ethernet connector
63 USB connector
64 VGA connector
65 COM connector
100 device control system
500 socket interface
501 device service interface
502 device control script
503 device connection
I - 65 -
I
504 client connection
[CLAIMS]
I
[Claim 11 I
A device control system comprising:
a device configured to input or output data;
I a terminal configured to run an application, to send a request
in markup language and to receive a response in markup language; and
a device control devic€ configured to connect to the device,
to control the device based on the markup language request, and to
1 I send the 'markup language response.
[Claim 21
The device control system described in claim 1, wherein
the response includes data denoting a result of device control.
[Claim 31
The device control system described in claim 1, wherein
the application sends to the device control device the request
including an establish communication message requesting
establishing a communication link to the device control device; and
when the request including the establish communicationmessage
is received, the device control device sends to the application the
response including a response message to the establish communication
message contained in the request.
[Claim 41
The device control system described in claim 3, wherein
the application establishes a communication link with the
device control device based on a response message to the establish
communication message contained in the response sent by the device
control device.
[Claim 51
The device control system described in claim 4, wherein
after the communication link is established, the application
sends to the device control device the request including an open
message to open communication to the device connected to the device
control device to the device control device.
~ [Claim 61
!
I The device control system described in claim 5, wherein
I I when the request containing the open message is received, the
device control device sends tothe application the response including
a response message to the open message contained in the request.
I
I [Claim 71 1 I I ,The device control system described in claim 6, wherein
I the application receives the response containing a response
message to the open message sent by the device control device, and
based on a response message to the open message becomes able to
communicate with the device.
I [Claim 81
I The device control system described in claim 7, wherein
I after communication with the device is enabled, the application
I sends to the device control device the request including a close
message to close communication with the device.
[Claim 91
I The device control system described in claim 8, wherein
the device control device receives the request containing the
I
I close message, and sends to the application the response containing
a response message to the close message.
[Claim 101
The device control system described in claim 9, wherein
the application receives the response containing a response
message to the close message sent by the device control device, and
closes communication with the device based on a response message to
the close message.
[Claim 111
A control method of a device control system including a device
configured to input or output data, a terminal configured to run an
application, and a device control device configured to connect to
the device, comprising:
sending a markup language request generated by the application
to the device control device; and
receiving the request by the device control device;
generating a response in the markup language; and
sending the generated response to the terminal.
[Claim 121
The control methodof a device control systemdescribedin claim
11, further comprising:
sending information contained in the request to the device by
the device control device;
executing a process based on information contained in the
request by the device, and
sending a result processed based on information contained in
the request to the device control device; and
sending to the terminal the response including a result
processed based on information contained in the request sent by the
device.
i
[Claim 131
The control methodof adevice control systemdescribe din claim
11, further comprising:
, sending to the device control device the request including an
establish communication message requesting establishing a
communication link to the device control device by the application;
and
when the request including the establish communication message
is received, the device control device sending to the application
the response including a response message to the establish
communication message contained in the request.
[Claim 141
The control methodof a d.~vicceo ntrol device describedin claim
13, further comprising:
the application establishing a communication link with the
device control device based on a response message to the establish
communication message contained in the response sent by the device
control device.
[Claim 151
The control methodof adevice control systemdescribe dinclaim
14, further comprising:
after the communication link is established, the application
sending to the device control device the request including an open
message to open communication to the device connected to the device
. .
control device to the device control device.
[Claim 161
The control method of a device control system described in claim
15, further comprising:
when the request containing the open message is received, the
device control device sending to the application the response
including a response message to the open message contained in the
request.
[Claim 171
The control method of a device control system described in claim
16, further comprising:
the application receiving the response containing a response
message to the open message sent by the device control device; and
based on a response message to the open message becoming able
to communicate with the device.
[Claim 181
The control method of a device control system described in claim
17, further comprising:
the application sending tothe device control device the request
includingaclose message to close communicationwith the device when
stopping the application after communicationbetween the application
and the device is enabled.
[Claim 191
The control methodof adevice control systemdescribe dinclaim
18, further comprising:
the device control device receiving the request containing the
close message, and sending tothe application the response containing
a response message to the close message.
I
I [Claim 201
I ~ The control method of a device control system described in claim
I
I
I 19, further comprising:
the application receiving the response containing a response
message to the close message sent by the device control device, and
I
closing communication with the device based on a response message
I
~. to the close message.
| # | Name | Date |
|---|---|---|
| 1 | SPECIFICATION.pdf | 2014-08-14 |
| 2 | FORM 5.pdf | 2014-08-14 |
| 3 | FORM 3.pdf | 2014-08-14 |
| 4 | DRAWINGS.pdf | 2014-08-14 |
| 5 | 6744-DELNP-2014.pdf | 2014-08-24 |
| 6 | 6744-delnp-2014-Correspondence-Others-(26-09-2014).pdf | 2014-09-26 |
| 7 | 6744-denp-2014-GPA-(17-10-2014).pdf | 2014-10-17 |
| 8 | 6744-denp-2014-Correspondence-others-(17-10-2014).pdf | 2014-10-17 |
| 9 | 6744-delnp-2014-Form-3-(22-12-2014).pdf | 2014-12-22 |
| 10 | 6744-delnp-2014-Correspondence Others-(22-12-2014).pdf | 2014-12-22 |
| 11 | 6744-DELNP-2014-FER.pdf | 2019-03-20 |
| 12 | 6744-DELNP-2014-AbandonedLetter.pdf | 2019-11-05 |
| 1 | 2019-03-1414-29-24_18-03-2019.pdf |