Page 1 / 66 INSTALLATION AND USER MANUAL v3.0.1. PROMOCODER The Promotional Coding solution for Markem-Imaje® CIJ and Laser printers Suitable for : Former CIJ range : S4, S7, S8 MI9000 series : 9020, 9030, 9040, 9232 MI7000 series : 7031 All product and company names are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
66
Embed
INSTALLATION AND USER MANUAL v3.0.1. … Files/PromoCoder Installation and User... · Page 1 / 66 INSTALLATION AND USER MANUAL v3.0.1. PROMOCODER The Promotional Coding solution for
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1 / 66
INSTALLATION AND USER MANUAL v3.0.1.
PROMOCODER
The Promotional Coding solution for
Markem-Imaje®
CIJ and Laser printers
Suitable for :
Former CIJ range : S4, S7, S8
MI9000 series : 9020, 9030, 9040, 9232
MI7000 series : 7031
All product and company names are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any
affiliation with or endorsement by them.
Page 2 / 66
Blank Page
Page 3 / 66
Contents
1. Introduction 7
1.1 What is the PromoCoder? 7
1.2 What is the promotional code? 7
1.3 Where the promotional code is printed? 7
1.4 Promocoding applications requirements 7
1.5 History of PromoCoder 8
2. PromoCoder – Description 11
2.1 The PromoCoder Hardware 11
2.2 The application Software 12
2.3 The code requirements 13
2.4 The PromoCoder working principle 14
3. Installation 15
3.1 Installing the PromoCoder 15
3.1.1 Setting up the PromoCoder Ethernet port communication parameters 15
3.1.2 Physical installation and wiring 15
3.2 Installing the PC application (PromoCoder NET Server program) 17
3.2.1 Installing the PromoCoder NET Server program on a PC 17
3.2.2 Running multiple instances of the PromoCoder NET Server program 18
3.2.3 Configuring the Promocoder NET Server program 19
3.2.4 Running the PromoCoder NET Server program 23
3.2.5 Communication protocol of the PromoCoder 24
Page 4 / 66
4. Setting up the printer for operation with PromoCoder 29
4.1 Setting up a 9040 printer 29
4.1.1 Setting up the communication parameters 29
4.1.2 Setting up the “One DTOP per message” option (NonDouble Printing) 30
4.1.3 Setting up the message to be printed 32
4.1.4 Rules to be followed when running a PromoCoder application on 9040 34
4.1.5 Cable and connection drawing for 9040 36
4.2 Setting up a 9030 printer 37
4.2.1 Setting up the communication parameters 37
4.2.2 Setting up the “NonDouble Printing” option 37
4.2.3 Setting up the message to be printed 38
4.2.4 Rules to be followed when running a PromoCoder application on 9030 39
4.2.5 Cable and connection drawing for 9030 40
4.3 Setting up a 9020 printer 41
4.3.1 Setting up the communication parameters 41
4.3.2 Setting up the “NonDouble Printing” option 41
4.3.3 Setting up the message to be printed 41
4.3.4 Rules to be followed when running a PromoCoder application on 9020 41
4.3.5 Cable and connection drawing for 9020 41
4.3.6 9020 Modification - for compatibility with PromoCoder 42
4.4 Setting up a 9232 printer 47
4.4.1 Setting up the communication parameters 47
4.4.2 Setting up the “NonDouble Printing” option 48
4.4.3 Setting up the message to be printed 50
4.4.4 Rules to be followed when running a PromoCoder application on 9232 52
4.4.5 Cable and connection drawing for 9232 53
Page 5 / 66
4.5 Setting up an S7 printer 55
4.5.1 Setting up the communication parameters 55
4.5.2 Setting up the “NonDouble Printing” option 55
4.5.3 Setting up the message to be printed 55
4.5.4 Rules to be followed when running a PromoCoder application on S7 55
4.5.5 Cable and connection drawing for S7 55
4.6 Setting up an S4+ / S8 Master printer 57
4.6.1 Setting up the communication parameters 57
4.6.2 Setting up the “ONE DTOP per MESSAGE” option 58
4.6.3 Setting up the message to be printed 58
4.6.4 Rules to be followed when running a PromoCoder application on S8 58
4.6.5 Cable and connection drawing for S8 58
4.7 Setting up a 7031 Laser printer 59
5. Technical Specifications 61
6. Throughput table 63
7. Revision of the “PromoCoder User and Installation manual” 65
Page 6 / 66
Blank Page
Page 7 / 66
1. Introduction
1.1 What is the PromoCoder?
The PromoCoder was a response to the need of the FMCG and Food and Beverages market for
promotional coding. Nowadays we can observe a trend in the marketing strategy on most companies
who produce to the direct consumer market, to use the promotion code technique in order to increase
the selling of their product.
1.2 What is a promotional code?
The promotional code is usually a “random” series of alphanumeric characters with a predefined
length.
The code is usually generated by the customer, who has also the algorithm to check the validity of the
codes when this are sent back. For avoiding character misinterpretations, is advisable to use a reduced
set of alphanumeric characters when the code is built, for ex. excluding “B, I, O”, which can be
interpreted as “8, 1, 0”.
1.3 Where the promotional code is printed?
Usually the promotion code is printed on the primary product packaging, in a “hardly accessible”
place, or sometimes in the inside of the packaging material. It is not unusual also that the requested
promotion code to be printed not at the production site, but at the companies who made the packaging
materials for the final products. Of course, depending of the application different type of ink may be
used, including food grade ink for the inner packaging of the food products.
1.4 Promocoding applications requierments
What is common for all this applications beside the need of marking the promotional code, is from one
hand the security of the coding, which must to exclude double printings of the same code, and from the
other hand the speed of the promotional marking, which can reach in the food and beverages sector
sometimes more than 30 prints/second.
To fulfill the requirements of this special application we need first of all the capability of the used
printer to avoid double printing of the same data. In this way we can grant the exclusion of double
printing without the installation of an expensive Vision system to check the printed codes. Fortunately
the CIJ and Laser printers which came from the former Imaje side of the MI range have the possibility
to activate the “NonDoubled Printing” mode, and in this way the printer will raise a fault when an
attempt to printing the same data is done.
Page 8 / 66
After the double printing exclusion is solved, we must to ensure that we can send the refreshed data to
each printed message at the rate required by the application. This is very difficult task in a Windows
based environment even with a physical peer-to-peer connection like the RS232. When USB (serial
converter) or Ethernet is used, the task is almost impossible, cause the communication in the USB
case has some „wake-up” times which can lead in failing to refresh the message content at the
application speed, and in the Ethernet case the protocol allow a virtual “packet based”
communication, which also is not a real time event.
To solve this problem we construct the PromoCoder, which act like an intelligent buffer between the
PC based application which manage the promotional database, and the selected printer.
1.5 History of PromoCoder
When we have faced the first time the need of marking a promotional code, we realize that some
problems had to be solved when a PC based application is written to drive the communication. First of
all the communication must to be done by serial link, not only because that the printers used at that
time did not have other possibilities, but also because this communication can assume that is done in
real time.
The PC firs of all must to be close to the printer, to have the serial cable as short as possible.
After this, during programming the PC software have to use not only a “general” way of handling the
RS232 port, but must to “instruct” Windows to handle the port in real time mode. The program must to
handle also the database part of the promotional coding beside of the proper handling of the
communication part with the printer.
Another problem in the communication was the moment of the variable sending. To speed up the
application we have to know when to send the variables. The printer sends a “Busy” signal during
printing, but this is done on the I/O interface. We have to construct a hardware to capture this signal
and send it to the PC application trough the RS232 interface, since I/O interfaces are not common on
commercial PC-s.
In this way we can reach a throughput of around 13-15 codes/second, but with serious limitations, and
the impediment that the programmer of the PC software must to know in deep details the functioning
of the connected printer.
When this application was developed, we realize at the first time the necessity to have a dedicated
device which will take care of the communication with the printer on an RS232 connection, and also
can handle directly I/O signals to/from the printer, and on another port can receive data from a host
computer, and act like a buffer. In this way the host computer didn‟t have to know anything about the
connected hardware, making the communication as simple as possible on the PC side, and also the
Page 9 / 66
communication way can be more relaxed, because is no need to real time communication between the
PC and the dedicated device.
The PC side application can be in this case developed by any software developer, who has to care only
about the handling of the promotional database.
In 2010 we have developed the first version of this dedicated device, due to a request where we have to
meet around 25 prints/second on the “peek” of a head moving application at a Nestlé factory.
The first device was dedicated to work with 9040 printer, and the interface to the PC application was
an USB port. At that time the application was supposed to work like a coding station, with an
industrial PC on the packaging machine connected to the PromoCoder.
At the first tests we measure a throughput of 100 prints/second (!!!) with this device, so the first
version was named “PromoCoder 100S/9040” .
Shortly we develop also the “PromoCoder 100S/9030”. At that point we plan to make different
firmware versions for different connected printers.
Because the “shortness” of the USB cable, and the incoming need of running the PC application on a
PC station which is not allocated to the printer, in 2011 we develop the Ethernet version of the device.
In short time we decide to stop the producing of the USB version, because at the first application we
encounter some communication issues trough the USB cable which was routed inside the packaging
machine near servo drives, so we think that the Ethernet version will be more reliable in industrial
environment.
Recently we made some throughput tests, and we found out that the originally measured 100
prints/second dropped to around 70 prints/sec on a 9040. The root cause was identified to be the PC
card redesign by MI into the 9040 printer, in fact the introduction of the new WinCE based board. So,
that is, we have to remove the “100S” suffix… It only worked on the former DOS droved PC boards.
Also we redesign the firmware of the PromoCoder device, and we made the printer type configurable
from outside, so the same device with the same firmware can be used on the entire range of the MI CIJ
printers.
In the meantime of the PromoCoder evolution for CIJ printers, we also face an application where we
have to drive 7031 lasers to fulfill a promotional code marking, but the hardware was different, cause
we have to drive a number of lasers in a system. Although at that application the hardware can drive 4
lasers simultaneously, we realize the possibility to make the CIJ PromoCoder to work with 7031 lasers
also.
The firmware which drive the 7031 laser is different, due to the communication particularities, but the
hardware is practically identical.
Page 10 / 66
Blank Page
Page 11 / 66
2. PromoCoder – Description
2.1 The PromoCoder Hardware
The PromoCoder is a dedicated hardware mounted preferably inside the printer, which act like a data
buffer between the application running on a PC (which handles the promotional database) and the
printer, and take full control of the communication with the printer. In this way, the PromoCoder has
the following functions & advantages:
Handle the communication trough RS232 to the printer side, according to the connected printer.
Handle the various IO signals which make possible the communication, and send the printer status
signal to the PC application.
Handle the printer Error signal, and has a potential free programmable System Error Relay Output
to show the system state.
Acts like a data buffer between the PC application and the printer, in this way we can use any type
of connection between the PC and the PromoCoder. The actual hardware uses the Ethernet connection.
The PC application didn‟t has to communicate with the connected printer, therefore didn‟t has to
know the different particularities of the communication regarding printer types.
The device has a very simple communication protocol, which contains initialization commands,
data sending commands, and status request commands. In this way the application software can be
written and customized by any software developer in a modular way, without taking care to the printer
communication.
PromoCoder
Printer Ind. Interface External System
PC /
PanelPC
IO
IO
RS232
Ethernet
MI CIJ printer
Page 12 / 66
2.2 The application Software
The software designed for driving the PromoCoder is running in a Windows environment (tested on
Win.XP), and is sustaining communication with the PromoCoder installed in the vicinity of the printer.
The communication is done trough Ethernet link, so the PC can be anywhere (office, production,
server room, etc) . The PromoCoder has a fixed IP address, the application can reach the hardware
trough this fixed IP address. From practical point of view is advisable that both of the PC and the
PromoCoder to be behind a local router and the data streaming to be limited to this local network, but
this is not a restriction. The only condition is that the IP address configuration on the network to make
possible the communication between the application and the PromoCoder trough the Ethernet network.
The application can be configured trough a configuration file. This file will contain the PromoCoder IP
address, the type of the printer connected, the promotional code length, and other configurable options,
like the directory paths from where the data files can be read, also where the log files can be written.
The application software will read the data file provided by the Customer, at time of reading will check
the length of each record in the file to be consistent with the value given in the config file, and will
raise an error if the length of a record is different from the expected value. Will not check content of
the file! If the file passes the length check, it will be loaded in the application and the software will
initiate the communication with the PromoCoder (depending on config file settings).
Page 13 / 66
After communication established, it will start to load the file data into the PromoCoder, until it fill the
available buffer. After that at a predefined time interval it will poll the status of the PromoCoder, and it
will fill the buffer, if necessary.
During the operation the application software will log every event in a logfile, in the eventuality to
have to backtrace the activity of the system. When polling the PromoCoder the application gather the
PromoCoder states also, and log them in the file as well.
To trace the data in the provided datafile, it will create and maintain a pointer file, according to the
events and response from the PromoCoder.
Attention: If the pointer file is lost or damaged, the application will ask to create a new one. In this
case is the system administrator responsibility to check the current pointer, and provide the right value
trough the (protected) “Pointerset” button.
Disclaimer: This application is free of charge!
Although this is a full functional application, and was written to be used with the PromoCoder in most
of the applications, it is intended to be only a guideline to an application written to fulfill customer
special requests. The communication protocol of the PromoCoder with the PC application is provided
as part of this manual, and can be used freely to construct a customized application.
Therefore we can not be held responsible for any data loss or data mishandling caused by using
or misusing this application, any claim regarding software issues will be rejected.
2.3 The code requirements
The code must be generated by the Customer, and checked for duplicated entries. Duplicated
entries will not be detected by the coding system, and therefore will result in pseudo duplicated
printings!
The codes must to have the same lengths. The length of the codes can be choused freely, but the
system must to know the choused length of the code (fix value entered in the config file). The coding
system will check if the length of the records is consistent with the settings in the config file.
The codes must be presented in a simple text file with comma separated values (CSV), or
separated by “ENTER” (CR, CR+LF).
The coding technology will grant that one record in the file will NOT be printed twice
(duplicated print excluded)
The coding technology will NOT grant every record in the file to be printed! If any error or
malfunctioning occur, the system will discard the codes with an unknown state. That mean the system
can “loose” unprinted codes from the original file (not every code will be printed).
Page 14 / 66
2.4 The PromoCoder working principle
The PromoCoder is a multiport device, which handle the communications between the device and the
PC application (trough an Ethernet port), between the device and the printer (trough a serial RS232
port) and has a dedicated I/O structure to handle different additional signals.
The PromoCoder receive the initialization command from the top layer application, and set the internal
parameters accordingly:
Type of connected printer (determining the communication particularities with the printer)
Code length
Buffer size
I/O signals config (ex. Error Relay behavior)
After initialization the top layer application will send the codes into the PromoCoder data buffer, until
the buffer will full. At this point the PromoCoder will enter in “RUN” state.
In “RUN” state the PromoCoder will send the first code in the queue to the printer, and will follow the
printer “Busy” signal to know that a code was printed. After a code was printed, the PromoCoder will
send the next code to the printer. In the meantime it responds to the polling of the top layer application,
which will refill the buffer if necessary according to the reported state by the PromoCoder.
If from any reason the PromoCoder can not refresh the data in the printer until the next starting signal
(ex. interrupted communication, buffer underrun, etc.), the printer will not print at the external start,
and will signal an error state, captured by the PromoCoder device. This error state will be signaled to
the outside system trough the (configurable) System Error Relay, and also to the top layer application
when it asks for the PromoCoder status (polling).
Page 15 / 66
3. Installation
3.1 Installing the PromoCoder
The PromoCoder installation can be split in two phases: setting up the communication of the Ethernet
port (the communication with the host) and the physical installation and wiring to the printer.
3.1.1 Setting up the PromoCoder Ethernet port communication parameters
The communication used on this side of the PromoCoder device is emulated RS232 over Ethernet with
Lantronix Xport converter. The device Ethernet parameters can be maintained with “Lantronix