Un sistema de control de una máquina
expendedora.
Campo de la invención
La invención se engloba en el campo de las
máquinas expendedores (máquinas "vending").
Antecedentes de la invención
Se conocen máquinas expendedoras, tales como la
máquina "Palma Mixta" del grupo Azkoyen® (España), en las que
toda la lógica se localiza en una única tarjeta de control, que
recibe la información proveniente de los sensores de la máquina y
envía las órdenes pertinentes a las unidades o elementos
periféricos, por ejemplo, a los motores de extracción,
electroválvulas, etc., mediante una serie de mazos de cables. En la
mayoría de los casos, se utiliza una, o varias, tarjetas de
entradas y salidas (E/S) como interfaz entre la tarjeta de control y
los elementos periféricos.
Esta configuración de la máquina implica una
serie de problemas. La necesidad de utilizar mazos de cables ole
diferente longitud y número de hilos (según las necesidades de cada
elemento periférico) complica y encarece el montaje de la
electrónica, así como su mantenimiento. Además, cuando se desea
modificar una máquina, por ejemplo, sustituir un tipo de
dispositivo extractor por otro, o un tipo de dispositivo de medio
de pago por otro, puede ser necesario modificar todo el cableado
relacionado con dicho dispositivo, lo cual, evidentemente, hace que
sea más difícil modificar o poner al día una máquina. Es decir, esta
configuración implica poca flexibilidad.
Por ello, sería conveniente establecer un sistema
más modular, con una distribución de la lógica de la máquina, que
reduzca el número de mazos de cables mediante la descentralización
de la lógica de control en varias tarjetas de control, cada una
con sus funciones determinadas, y mediante la utilización de uno o
varios buses (de potencia y de control), que comuniquen las
diferentes tarjetas de control.
Ejemplos del estado de la técnica, relacionados
con las máquinas expendedoras y que contemplan una cierta
distribución de la lógica y/o el uso de buses de comunicación, son
US-A-6 119 053,
US-A-5 959 869 y
JP-A-5-89325.
Otros ejemplos del estado de la técnica
relacionado con sistemas de control en general (pero no con las
máquinas expendedoras en concreto) son
EP-A-0 791 506,
US-A-5 352 957 y
US-A-4 459 655.
Por otra parte, la solicitud de patente europea
EP-A-0 996 103 describe máquinas
expendedoras en las que una tarjeta de control se comunica con una
pluralidad de componentes periféricos de la máquina no mediante los
mazos de cables paralelos comentados en lo anterior, sino mediante
un bus de comunicación serie. Tanto la tarjeta de control como los
componentes periféricos disponen de su respectivo CPU.
EP-A-0 996 103 describe como se
puede cambiar un programa contenido en la tarjeta de control
mediante una sustitución de los datos en una memoria EPROM cuyo
contenido original se borra con luz ultravioleta (según el estado de
la técnica comentado en EP-A-0 996
103) o por medio de la conexión de una tarjeta RAM.
Ahora bien,
EP-A-0 996 103 sólo parece referirse
al cambio del programa en la tarjeta de control central, y no hace
referencia a la posibilidad de cambiar programas y/o datos en otros
módulos de la máquina. Por tanto, parece ser que
EP-A-0 996 103, a pesar de cierta
distribución de la lógica (varios CPUs, asociados con periféricos y
conectados a la tarjeta de control mediante un bus de comunicación
serie), en realidad también contemple un sistema bastante
centralizado del control, en el que todas las funciones relevantes y
susceptibles de ser modificadas están ubicadas en la tarjeta de
control, lo que implica un grado bastante bajo de modularidad y
flexibilidad.
Para aumentar la flexibilidad del sistema, sería
deseable obtener un mayor grado de modularidad.
Por otra parte, para reducir la necesidad de mano
de obra, sería conveniente reducir la necesidad de manipulación
física de componentes para realizar modificaciones en el software
(programas y datos) de las máquinas.
EP-A-0 996 103 describe
procedimientos que requieren una manipulación física de memorias
(EPROM o RAM). Sería conveniente reducir a un mínimo la necesidad de
tales modificaciones, con el fin de obtener un sistema que no
requiera ninguna manipulación física de la máquina para actualizar
sus programas o datos sino que incluso permita realizar las
actualizaciones o modificaciones a distancia, mediante, por
ejemplo, enlaces por radio, línea telefónica, GSM, etc.
Otro ejemplo del estado de la técnica es la
patente estadounidense US-A-4 598
379. Este documento describe un sistema de control de una máquina
expendedora basado en un módulo o microcomputadora principal que
controla, mediante el envío de comandos por uno o varios cables, la
operación de varios módulos o submicrocomputadoras que, cada una,
controla un respectivo bloque funcional de la máquina expendedora.
Entre los bloques funcionales se encuentra una unidad de medios de
pago (a la cual está funcionalmente asociado el correspondiente
módulo o submicrocomputadora de medios de pago), una unidad de
interfaz de usuario (a la cual está funcionalmente asociado el
correspondiente módulo o submicrocomputadora de interfaz de
usuario) y una unidad de extracción (a la cual está funcionalmente
asociado el correspondiente módulo o submicrocomputadora
extracción).
Se trata de un sistema modular en el que, sin
embargo, se ha previsto una configuración específica de los
módulos; esto implica que si de desea cambiar uno de los módulos
asociados con la unidad de medios de pago, la unidad de interfaz de
usuario o la unidad de extracción, puede ser necesario cambiar el
módulo principal o, por lo menos, cambiar sustancialmente los
programas y/o datos mencionados en dicho módulo principal. No está
previsto cambiar los programas básicos de los módulos a través del
bus, y tampoco se contempla la posibilidad de adaptar el
funcionamiento del módulo principal de forma automática, en función
de las características concretas de los módulos secundarios o
submicrocomputadoras. Es decir, el sistema expuesto en el documento
US-A-4598379 parece ofrecer
flexibilidad en cuanto al cableado, pero no es fácilmente
expansible ya que la sustitución de uno de los módulos secundarios
por otro podría exigir una sustitución o modificación sustancial
también del módulo principal. Es decir, por ejemplo, si se decide
incorporar una nueva unidad de medios de pago, puede ser necesario
diseñar un nuevo módulo de medios de pago, con el fin de permitir
el control adecuado de dicho módulo. Ahora bien, para poder
incorporar el nuevo módulo de medios de pago, sería probablemente
también necesario cambiar el módulo principal o modificar los
programas de dicho módulo principal
(US-A-4598379 no explica cómo se
llevaría a cabo tales modificaciones). Lógicamente, todo esto
implica una falta de flexibilidad. Por tanto, sería deseable un
sistema con lógica distribuida que facilite el cableado y que
también permita que una parte importante de dicha lógica
distribuida (concretamente, uno o varios de los módulos) pueda ser
modificada (por ejemplo, un módulo de medios de pago ser sustituido
por otro) sin que ello requiera modificaciones de los demás
módulos.
Descripción de la invención
La invención se refiere a un sistema de acuerdo
con la reivindicación 1. Realizaciones preferidas de dicho sistema
se definen en las reivindicaciones dependientes.
Básicamente, se trata de un sistema de control de
una máquina expendedora, que incluye:
un módulo principal (a continuación también
denominado PRI);
al menos una unidad de medios de pago, que
incluye medios para recibir y detectar un pago;
al menos una unidad de interfaz de usuario, que
incluye medios de presentación de mensajes al usuario y/o medios de
introducción de instrucciones por parte del usuario;
al menos una unidad de extracción, que incluye
medios de extracción de productos mediante, al menos, un extractor
de productos;
un módulo de medios de pago (a continuación
también denominado MDP) funcionalmente asociado a dicha unidad de
medios de pago, comprendiendo dicho módulo, al menos, un
microcontrolador;
un módulo de interfaz de usuario (a continuación
también denominado IDU) funcionalmente asociado a dicha unidad dé
interfaz de usuario, comprendiendo dicho módulo, al menos, un
microcontrolador;
al menos un módulo de extracción (a continuación
también denominado EXT), funcionalmente asociado a dicha unidad de
extracción; comprendiendo dicho módulo, al menos, un
microcontrolador;
al menos un bus de comunicaciones serie.
El módulo principal (PRI), el módulo de medios de
pago (MDP), el módulo de interfaz de usuario (IDU) y el módulo de
extracción (EXT) están dispuestos de modo que, al menos, el módulo
principal (PRI) puede comunicar con dichos módulo de pago (MDP),
módulo de interfaz de usuario (IDU) y módulo de extracción (EXT) a
través de dicho bus (6).
El sistema incluye medios de modificar datos en
memorias de los módulos (PRI, MDP, IDU y EXT) a través de dicho
bus.
Según la invención, el sistema también incluye
medios de modificar, al menos, una parte de los programas de los
microcontroladores de todos los módulos mencionados (PRI, MDP, IDU
y EXT) a través de dicho bus. Los microcontroladores incluyen
medios de borrar y de volver a escribir parte o la totalidad de su
memoria de programa. Según una realización preferida de la
invención, se utilizan microcontroladores que existen en el mercado
y que pueden llevar a cabo este proceso usando únicamente sus
propios recursos; microcontroladores con éstas características son
ofrecidos por, por ejemplo, Microchip (PIC 18FXXX), Motorola (MC
68HC908XXX), SGS-THOMSON (ST7232XXX) y Texas
Instruments (MSP430FXXX), entre otros fabricantes. Sin embargo, la
invención también puede realizarse con microcontroladores sin esta
característica de "auto-programación", en cuyo
caso los microcontroladores son asistidos por circuitería externa
para realizar el cambio parcial o total de sus programas.
Para actualizar el programa de control de uno de
los módulos, la totalidad o parte del programa es enviado al módulo
a través del bus. En el módulo, el programa es grabado en la
memoria de programa del microcontrolador del módulo, o bien
directamente, o bien a través de una memoria intermedia.
Preferiblemente, el programa de control de un
módulo puede ser actualizado por partes, en cuyo caso no es
necesario transmitir y grabar la totalidad del programa, con lo que
se acelera el proceso de actualización en el caso de que surjan
nuevas prestaciones o se corrijan errores de programa, que afectan
solamente a alguna porción del programa de cada módulo.
Para que este procedimiento sea posible, el
código máquina del programa de cada módulo debe estar dividido en
secciones. Esto significa que dicho código máquina debe estar
subdividido en grupos de funciones, y cada uno de dichos grupos debe
estar asociado a unas posiciones fijas de comienzo y fin dentro de
la memoria flash (o flash EPROM) del programa (la memoria flash es
un tipo de memoria EEPROM en la que el código de programa puede ser
modificado sobre la marcha, por sectores). De esta manera, cuando
esta asociación es conocida por el programador que actúa desde un
terminal externo, es posible tanto la actualización del software
completo de un módulo como la actualización de un cierto fragmento
del software. Lógicamente, puede quedar una cierta parte de código
que no pueda ser modificada desde el exterior, por ejemplo, la
correspondiente a las comunicaciones por el bus y a la
lectura/escritura de la memoria flash.
El sistema incluye los medios necesarios para
llevar a cabo las operaciones señaladas en lo anterior.
A continuación, comentaremos brevemente la
función de cada módulo:
El módulo principal (PRI)
Su objetivo es coordinar las actividades de todos
los elementos de la máquina para llevar a cabo las funcionalidades
exigidas a ésta, las cuales pueden incluir: venta de productos,
mantenimiento de contabilidades y estadísticas, comunicación con el
usuario y con medios externos para obtener información sobre las
ventas, comunicación con el usuario y con medios externos para
efectuar el mantenimiento y servicio de la máquina, y supervisión
automática de su propio estado de funcionamiento.
En lo que se refiere a su función de coordinar,
el módulo principal debe preferiblemente realizar las siguientes
funciones: inicio ordenado de cada módulo; sondeo periódico de
estado de cada módulo; desarrollo del servicio.
El módulo principal también puede realizar
intermediación en las fases de ejecución de funciones de
programación, comunicación de datos y actualización de secciones de
programa de otros módulos.
Para poder realizar sus funciones de forma
adecuada y para asegurar la modularidad del sistema, el módulo
principal (PRI) incluye preferiblemente medios de solicitar
información relativa a su configuración al módulo de medios de pago
(MDP), al módulo de interfaz de usuario (IDU) y al módulo de
extracción (EXT) a través del bus, y cada uno de dichos módulos
(MDP, IDU y EXT) incluye medios de enviar la información relativa a
su configuración solicitada al módulo principal (PRI) a través de
-dicho bus, disponiendo el módulo principal (PRI) con medios de
almacenar un perfil de configuración de cada uno de dichos módulos
en base a dicha información relativa a su configuración. El módulo
principal (PRI) está dispuesto de forma que se comunica con los
demás módulos (MDP, IDU y EXT) mediante el envío de instrucciones
y/o datos en función del perfil de configuración almacenado. Por
tanto, cuando se arranca la máquina, el módulo principal sondea la
configuración de los otros módulos y, en base a los resultados de
dicho sondeo, almacena un perfil de configuración con el fin de que
su posterior comunicación con dichos módulos se lleve a cabo en
función de la configuración de los mismos, es decir, de una forma
que se ajuste a las características de los otros módulos. Esto es
importante para asegurar la modularidad: si se sustituye un módulo
con ciertas características (necesidad de datos, capacidad de
realizar operaciones, etc.) por otro con otras características, el
módulo principal lo detecta y realiza su posterior comunicación con
el módulo de acuerdo con las características de dicho módulo,
facilitándole los datos e instrucciones que precisa con el formato
adecuado.
Preferiblemente, en el módulo principal (PRI) se
definen aquellos comportamientos o características de la máquina
que sean específicos de una aplicación concreta, por ejemplo:
requisitos del tipo de máquina, requisitos del país o zona
geográfica de destino y/o requisitos de un cliente. Es decir, el
módulo principal puede incluir datos específicos relativos a un
cliente determinado, a una máquina determinada y/o a una zona
geográfica determinada, mientras que los demás módulos no incluyen
tales datos.
De esta forma, el diseño del resto de los
elementos de la máquina se independiza de este tipo de variables y
se hace uniforme para todos los periféricos de un mismo tipo, con
lo cual, cuando se fabrican las máquinas expendedoras, el único de
los módulos (PRI, MDP, IDU y EXT) que varía en función de las
condiciones particulares de la máquina, país (o zona geográfica)
y/o cliente es el módulo principal (PRI).
El módulo de medios de pago (MDP)
Con carácter general, las funciones que,
preferiblemente, debe realizar el módulo de medios de pago (MDP)
son:
- Detectar la introducción de crédito en
cualquiera de las unidades o periféricos de medios de pago e
informar al módulo principal (PRI) de ello.
- Decidir en función del crédito disponible, el
cambio disponible y el precio de un producto, si es posible
realizar la venta de dicho producto.
- Informar al módulo principal (PRI) de la
cantidad exacta de crédito disponible.
- Calcular y devolver el cambio correspondiente
tras una venta o el crédito introducido tras una cancelación, ya
sea ésta por pulsación de la tecla de recuperación, exceso de
tiempo límite o cualquier otro motivo.
- Detectar el número y tipo de unidades o
periféricos de medios de pago disponibles.
- Proporcionar al módulo principal (PRI) todos
los datos que le solicite para una correcta gestión de
contabilidades.
- Informar al módulo principal (PRI) del estado
de funcionamiento en el que se encuentra el módulo de medios de
pago (MDP), así como su estado lógico.
- Llevar a cabo las funciones de menú necesarias
para modificar sus propios datos locales, por medio del módulo de
interfaz de usuario (IDU), a través del módulo principal (PRI).
- Permitir la variación de su configuración tanto
a través del módulo de interfaz de usuario como a través del módulo
de comunicaciones.
- Posibilitar el cambio de su programa total o
parcialmente, mediante escritura de una o varias secciones de
programa.
A continuación, se indican, a modo de ejemplo,
diferentes unidades o periféricos de medios de pago que podrán ser
conectados al MDP:
- Módulo de recuperación ("coin retum motor
module").
- Monedero con cambio ("coin
mechanism") MDB-ICP (MDP-ICP:
norma internacional del sector de vending).
- Monedero con cambio Ejecutivo ("Executive
type coin mechanism") (Protocolo A de Mars®).
- Monedero con cambio BDV (BDV: norma alemana del
sector de vending).
- Selector ("coin validator")
Protocolo Azkoyen® L.
- Selector Protocolo BDTA (BDTA: norma alemana de
la asociación de fabricantes y operadores de máquinas de
tabaco).
- Selector Protocolo BDTA, alimentado con
batería.
- Clasificador ("coin selector").
- Devolvedor ("change giver")de
tubos.
- Devolvedor RODE-E (RODE®: Marca
Azko-yen®).
- Devolvedor RODE-U (RODE®: Marca
Azko-yen®).
- Devolvedor RODE-U (RODE®: Marca
Azko-yen®) con discriminador.
- Retentor de monedas ("coin escrow")
"V" paletas.
- Retentor de monedas "T" rotativa.
- Lector de billetes MDB-ICP.
- Lector de billetes tipo
OTR-CBV®.
- Lector de billetes tipo Smiley®.
- Lector de tarjetas bancarias
MDB-ICP.
- Lector de tarjetas prepago Comunicación
asíncrona, protocolo Orga®.
- Lector de tarjetas prepago con control directo
de la tarjeta.
Existen varias opciones para la disposición del
módulo de medios de pago.
Una primera posibilidad es que coexistan varios
módulos de medios de pago (MDP's) en una misma máquina, cada uno
controlando diferentes periféricos de los mencionados en lo
anterior. Esto favorece la escalabilidad, al permitir añadir tantos
módulos al bus principal como se quiera. Además, facilita el
tableado, ya que se pueden conectar los diferentes módulos
directamente al bus principal. Sin embargo, esta alternativa
implica una serie de desventajas, a saber: el coste se incrementa
notablemente, al necesitar cada grupo de periféricos un
microcontrolador (\muC) distinto; son necesarios tantos módulos
como grupos diferentes de periféricos se puedan conectar a un mismo
módulo; y perjudica la modularidad, al tener que gestionar el PRI
las diferentes posibilidades de crédito, la devolución de los
diferentes módulos, etc.
Una segunda posibilidad consiste en utilizar un
único módulo de medios de pago por máquina, el cual controla varias
de las unidades o periféricos anteriormente citados. Dependiendo
del tipo de máquina y aplicación, se puede desarrollar el módulo de
medios de pago (MDP) más adecuado.
Esta alternativa implicaría una serie de
ventajas, a saber: puede reducir el coste, ya que se necesita un
solo microcontrolador (\muC) para controlar todo lo referente a
medios de pago; favorece la modularidad, porque el módulo principal
(PRI) se comunica de la misma forma independientemente del módulo de
medios de pago (MDP) que se monte en la máquina; en principio no
perjudica el cableado porque normalmente todos los periféricos de
medios de pago se pueden situar cerca del módulo de medios de pago
(MDP) al que se conecten.
Las desventajas que esta alternativa presenta
son: no es escalable (en caso que hubiera que conectar un
periférico no previsto de antemano, habría que desarrollar un nuevo
módulo).
Se puede diseñar varios módulos de medios de
pago, cada uno con medios para funcionar con y ser conectado a una
combinación habitual de periféricos o unidades de medios de pago.
Cuando se desarrolla una máquina, se selecciona para la misma una
combinación de unidades o periféricos de medios de pago que
correspondan a un módulo dé medios de pago (MDP) existente.
Preferiblemente, la invención se realiza de
acuerdo con la segunda alternativa indicada en lo anterior, ya que
se considera más práctico y económico. Sin embargo, preferiblemente
es posible la conexión de más de un módulo de medios de pago (MDP)
por máquina, con el fin de permitir el telepago. Esto es porque aún
cuando la función de telepago se encuentre en el módulo de
comunicaciones (COM) (el cual se comentará más adelante), a todos
los efectos se le considerará como otro módulo de medios de pago
MDP de la máquina. Si hay más de un módulo de medios de pago (MDP),
el módulo principal sólo tendrá en cuenta uno de ellos al realizar
una venta. De lo contrario, se podrían dar combinaciones de crédito,
cambios, etc, entre los diferentes módulos de medio de pagos (MDPs)
y las funciones propias del módulo de medios de pago (MDP) pasarían
al módulo principal (PRI), rompiendo el concepto de
modularidad.
Módulo de interfaz de usuario (IDU)
Con carácter general, las funciones que debe
realizar un módulo de interfaz de usuario (IDU) son las de
gestionar los teclados, displays y otros dispositivos que permitan
que el usuario interactúe con la máquina. A continuación se citan,
a modo de ejemplo, una serie de funciones:
- Reconocer la pulsación de alguna tecla,
identificarla e informar al módulo principal (PRI).
- Presentar mensajes en una pantalla (display) de
la máquina; los mensajes pueden ser procedentes del módulo
principal (PRI), de otros módulos o del propio módulo de interfaz
de usuario (IDU).
- Informar al módulo principal (PRI) de que el
operario quiere acceder a una función de menú determinada (mediante
el teclado de programación), identificándola con su código
correspondiente.
- Editar los parámetros de configuración
modificables de la máquina mediante funciones de menú, y permitir
su modificación por el operario. Estos parámetros de configuración
pueden ser datos residentes en cualquiera de los módulos; se
establece el protocolo necesario para realizar la modificación de
dichos datos.
- Informar al módulo principal (PRI) del estado
de funcionamiento en el que se encuentra el módulo, así como de su
estado lógico.
- Detectar las unidades o periféricos de interfaz
de usuario conectados al módulo y enviar esta información al módulo
principal (PRI).
- Informar al módulo principal (PRI) de las
funciones de menú que puede implementar el propio módulo de
interfaz de usuario (IDU), dentro de una lista general de posibles
funciones. Asimismo, debe permitir la variación de sus parámetros
de configuración tanto a través del propio IDU corno del módulo de
comunicaciones (COM).
- Posibilitar el cambio de su programa total o
parcialmente, mediante escritura de una (o varias) secciones de
programa.
Con el objetivo de reducir la intervención del
módulo principal (PRI) y que la gestión de las funciones de menú la
realice principalmente el módulo de interfaz de usuario (IDU), éste
debe conocer las funciones que dispone la máquina. Sin embargo, la
información de todas las funciones de la máquina va a estar
repartida entre los distintos módulos de ésta, según las funciones
que permita cada módulo, consiguiendo así una mayor modularidad del
sistema. Para reunir toda la información en el IDU, se puede
realizar, el siguiente procedimiento: 1) En el arranque de la
máquina el módulo principal (PRI) pregunta a todos los módulos qué
funciones tiene; 2) Cada módulo deberá responder con los códigos de
las funciones de menú que tiene; y 3) El módulo principal (PRI) le
envía al módulo de interfaz de usuario (IDU) la lista de los
códigos de funciones que posee la máquina.
De esta forma, cada vez que el operario acceda a
una función de menú (a partir de su código) el módulo de interfaz
de usuario (IDU) se lo comunicará al módulo principal (PRI) que
actuará en consecuencia, informando al módulo en cuestión, y ése
módulo se comunicará directamente con el módulo de interfaz de
usuario (IDU). Una vez que el operario haya seleccionado la función
de menú que quiere ejecutar, el módulo de interfaz de usuario (IDU)
se lo comunicará al módulo principal (PRI), y éste informará al
módulo que corresponda para que ejecute la función.
Módulo de extracción (EXT)
Con carácter general, las funciones que debe
realizar un módulo de extracción (EXT) son:
- Extracción del producto indicado por el módulo
principal (PRI), liberando a éste de dicha tarea.
- Impedir la extracción no deseada del
producto.
- Detectar el número de grupos de extractores
conectadas al módulo, el número y tipo de los extractores
conectados a cada uno de ellos, así como enviar esta información al
módulo principal (PRI).
- Recoger información de los extractores, como la
existencia de cada uno de los productos, la salida del producto
vendido o las eventuales averías de los motores de extracción, y
comunicársela al módulo principal (PRI) para que éste la procese
como corresponda (contabilidades de producto, encender indicadores
de avería o de agotado producto, comunicar averías al exterior,
cobrar el producto, etc.).
- Informar al módulo principal (PRI) del estado
de funcionamiento en el que se encuentra el módulo, así como su
estado lógico.
- Llevar a cabo las funciones de menú necesarias
para modificar sus propios datos locales de configuración, por
medio del módulo de interfaz de usuario (IDU), a través del módulo
principal (PRI).
- Informar al módulo principal (PRI) de las
funciones de menú que puede implementar un módulo de extracción
concreto, dentro de una lista general de posibles funciones.
- Permitir la variación de su configuración tanto
a través del módulo de interfaz de usuario (IDU) como del módulo de
comunicaciones (COM).
- Posibilitar el cambio de su programa total o
parcialmente, mediante escritura de una (o varias) secciones de
programa.
El módulo de extracción (EXT) puede estar
conectado a y funcionar con, por ejemplo, uno o varios de los
siguientes tipos de extractores:
- Extractores de snacks (tipo husillos)
- Extractores de botes y botellas
- Extractores de botellas (tipo bandejas)
- Extractores de tetra bicks (tipo noria)
- Extractores de tabaco
- Extractores de vasos y paletillas (máquina de
café)
- Extractores de producto soluble (máquina de
café)
- Extractores de tipo fresh-brew
(máquina de café)
- Grupo de café (máquina de café)
- Brazo-Extractor de azúcar
(máquina de café)
El objetivo de incorporar módulos de extracción a
la máquina expendedora es doble. Por una parte, esto permite
programar el control de la máquina de forma modular, de modo que el
control de los extractores de producto se realice desde el módulo
de extracción (EXT) y no desde el módulo principal (PRI). Por otra
parte, esto permite simplificar la electrónica de la máquina ya que
se eliminan las tarjetas de entradas y salidas que, en las máquinas
convencionales, conectan el (único) módulo de control central con
los extractores y se simplifica el cableado de la máquina.
En cuanto a la relación entre el módulo de
extracción y los extractores, existen varias alternativas
básicas:
Una primera alternativa consiste en utilizar un
sólo módulo de extracción para toda la máquina, en cuyo caso dicho
módulo de extracción controla todos los extractores; en este caso,
un sólo módulo de extracción puede tener que controlar varios tipos
de extractores. Esta alternativa implica un coste bajo ya que se
usa un sólo microcontrolador para realizar las funciones de módulo
de extracción, a la vez que se puede liberar al módulo principal
(PRI) de la tarea de decidir el canal del que se debe extraer, ya
que todos los extractores están conectados al mismo módulo de
extracción (EXT). Sin embargo, esta alternativa puede requerir
microcontroladores de mayor capacidad de memoria (capaces de
almacenar la lógica de todos los tipos de extractores que se pueden
instalar en una máquina expendedora), implica una menor
escalabilidad y un cableado más complejo (ya que algunos
extractores pueden encontrarse físicamente muy alejados del módulo
de extracción (EXT)).
Otra alternativa sería disponer un módulo de
extracción específico para cada tipo de extractor que incluye la
máquina expendedora. Así, se instalaría un módulo de extracción
(EXT) en las máquinas expendedoras que tienen un único tipo de
extractor (por ejemplo, las máquinas de tabaco), mientras que
aquellos modelos que disponen de varios tipos de extractores (por
ejemplo, porque venden diferentes tipos que productos que requieren
diferentes mecanismos de extracción) incorporarían varios módulos
de extracción (EXT). Tanto la funcionalidad como el interfaz de
comunicación de los distintos módulos de extracción (EXT) deben ser
idénticos, de forma que el tipo de extractor controlado por el
módulo sea transparente para el resto de la máquina.
Las ventajas de esta segunda alternativa son las
siguientes: facilita el cableado (porque permite la localización de
los distintos módulos de extracción cerca de los extractores
correspondientes); permite utilizar microcontroladores de menor
capacidad de memoria (ya que deben incluir únicamente la lógica de
control del tipo de extractor utilizado) (si la capacidad de memoria
lo permite, se puede programar un mismo módulo de extracción de la
lógica de varios tipos de extractor a fin de reducir "stock");
y facilita la personalización del número y tipo de conectores al
tipo de extractor utilizado.
Los inconvenientes que son: perjudica en parte la
modularidad porque requiere que el módulo principal (PRI) conozca
la relación entre las distintas selecciones y los canales de
extracción, ya que debe solicitar la extracción de la selección al
módulo de extracción que corresponde al canal de extracción en el
que se encuentre el producto correspondiente. El módulo principal
(PRI) debe manejar asimismo los datos de contabilidad referentes a
la extracción para contemplar la posibilidad de que un mismo
producto se encuentre en dos tipos de extractor distintos o que
existan promociones de productos asociadas a productos situados en
otro tipo de extractor (por ejemplo, snacks y latas de refrescos).
Además, esta segunda alternativa exige la utilización de un mayor
número de tarjetas (una por cada módulo de extracción).
Según una submodalidad de esta segunda
alternativa, existe la posibilidad de utilizar varias módulos de
extracción de un mismo tipo dentro de una misma máquina. Esto
mejora la escalabilidad y simplifica el cableado, pero también
implica un incremento del número de tarjetas (una por módulo) y, por
tanto, del coste, y además requiere la asignación de una nueva
dirección del módulo de extracción (EXT) en caso de que el módulo
principal (PIRI) detecte la conexión al bus de control de varios
módulos del mismo tipo.
Según una tercera alternativa, se conecta al bus
anteriormente mencionado (el bus principal) un módulo de control
del sistema de extracción, de cuyo controlador de comunicaciones en
serie parte un bus local del sistema de extracción. A este bus
local se conectan distintos módulos de extracción (EXT) de
producto, encargándose cada uno de estos módulos del control de uno
o varios extractores. La conexión de los módulos de extracción al
bus local se realiza a través de los respectivos controladores de
comunicaciones en serie de los microcontroladores utilizados y se
utiliza preferentemente un protocolo más sencillo que el empleado
en el bus principal.
Las ventajas de esta tercera alternativa son las
siguientes: favorece la escalabilidad; permite liberar al módulo
principal (PRI) de la tarea de decidir el canal del que se debe
extraer, gracias a la conexión de todos los extractores al mismo
módulo de control del sistema de extracción; y permite utilizar
microcontroladores de menor coste en los módulos de extracción
(EXT), ya que los microcontroladores empleados deberían disponer
únicamente de un sencillo controlador de comunicaciones en serie
(tipo UART) para su conexión al bus local del sistema de
extracción.
Los principales inconvenientes de esta opción
son: necesita la utilización de un mayor número de tarjetas y
ralentiza la reprogramación de un tipo de extractor, al requerir la
sustitución del programa de los distintos módulos de extracción
correspondientes a dicho tipo de extractor.
Módulo de comunicaciones (COM)
Preferiblemente, el sistema también incluye un
módulo de comunicaciones (a continuación también denominado COM)
que incluye medios de comunicación con un terminal externo.
Preferiblemente, el módulo de comunicaciones (COM) incluye medios
de convertir datos recibidos del terminal externo, de acuerdo con un
formato externo, a un formato interno de la máquina.
La función principal del módulo de comunicaciones
(COM) es la de interfaz entre la máquina expendedora y un terminal
externo y, por tanto, debe ser capaz de recibir, almacenar o enviar
información relacionada con, por ejemplo:
- Configuración general de la máquina y de sus
módulos, incluyendo el propio módulo de comunicaciones (COM)
- Sucesos e incidencias generales de la máquina y
de sus módulos
- Actualización de software general de la
máquina, de uno o varios de sus módulos (incluyendo el propio
módulo de comunicaciones), mediante la escritura de la sección o
secciones de programa que correspondan.
- Contabilidades generales de productos o de
dinero
Dicha información de solicitud de escritura o
lectura de datos de la máquina puede presentarse al módulo de
comunicaciones (COM) desde el terminal externo en diferentes
formatos o protocolos. La misión del módulo de comunicaciones (COM)
es la de descodificarla y presentarla a la máquina
independientemente del protocolo o medio de transmisión utilizado
en la comunicación entre el terminal externo y el módulo de
comunicaciones (COM). Así, se puede interpretar que la función del
módulo de comunicaciones es la de traducción de los protocolos que
pueda enviar el terminal externo a comandos propios de la máquina
expendedora.
De esta manera se consigue:
- Descargar al módulo principal (PRI) de las
tareas de descodificación de los diferentes protocolos
utilizados.
- El módulo principal (PRI) no necesita conocer
todos y cada uno de los comandos correspondientes a cada
protocolo.
El terminal externo puede ser remoto.
Preferiblemente, el módulo de comunicaciones
(COM) implemente las funciones correspondientes al "telepago"
mediante teléfono móvil.
Por tanto, para comunicar con una máquina
expendedora que incorpora un sistema de control de acuerdo con la
presente invención, no se requiere el uso de un protocolo
determinado, sino que la máquina es capaz de comunicar con
terminales externos de acuerdo con una pluralidad de protocolos,
dependiendo de las características concretas del módulo de
comunicaciones. Ejemplos de protocolos que pueden usarse en este
campo son:
- EVA-DTS (norma internacional
del sector)
- Enhanced DDCMP (norma internacional del
sector)
- DEX/UCS (norma americana del sector)
- VTM (norma propia de Azkoyen®)
- BDTA (norma alemana del sector)
- Control de una impresora
Preferiblemente, el módulo de comunicaciones
comprende medios para comunicar con el terminal externo a través de
una pluralidad de medios físicos de transmisión, por ejemplo:
- Infrarrojos mediante ASK (Amplitude Shift
Keying; método genérico) e IrDA®.
- RS-232.
- Comunicación directa a través de un pin I/O del
microcontrolador.
- Modem GSM.
- Modem de telefonía fija.
El módulo de comunicaciones debe comprender
medios de realizar varias y, preferiblemente, todas de las
siguientes funciones:
- Detectar la entrada de alguno de los protocolos
soportados
- Descodificar la información recibida
- Diferenciar si el mensaje va dirigido al propio
módulo de comunicaciones (COM) o a otro módulo de la máquina
expendedora.
- Si el mensaje va dirigido al propio módulo de
comunicaciones (COM), entonces establecer un diálogo mediante
comandos entre el terminal externo y el módulo de comunicaciones
(COM) para que el terminal externo pueda:
\circ Leer datos de configuración del COM
\circ Modificar datos de configuración del
COM
\circ Leer datos de sucesos e incidencias del
COM
\circ Actualizar el propio software del COM
- En caso contrario, es decir., si el mensaje no
va dirigido al propio módulo de comunicaciones (COM), entonces
convertir el mensaje en comandos y datos que se enviarán al módulo
principal (PRI) a través del bus.
- Recibir mensajes del módulo principal (PRI) a
través del bus, convertirlos en comandos y datos adecuados según el
protocolo que se utilice y enviárselos al terminal externo.
El objetivo de las dos últimas funciones es:
\circ Leer datos de configuración general de la
máquina vendedora o de cualquier módulo
\circ Modificar datos de configuración general
o de cualquier módulo
\circ Leer datos de sucesos e incidencias
generales de la máquina o de cualquier módulo
\circ Actualizar el software de cualquier
módulo
\circ Leer las contabilidades generales de
productos o de dinero
- Enviar ciertos datos regularmente según un
horario de llamadas por módem.
- En el caso que ocurra una incidencia grave,
enviar información relativa a la misma por módem a un terminal
externo.
- Informar al módulo principal (PRI) del estado
de funcionamiento en el que se encuentra el módulo de
comunicaciones (COM), así como su estado lógico.
- Llevar a cabo las funciones de menú necesarias
para modificar sus propios datos locales, por medio del módulo de
interfaz de usuario (IDU), a través del módulo principal (PRI).
- Permitir el "telepago" del producto
seleccionado (en este caso y desde un punto de vista funcional, el
módulo de comunicaciones se considerará un módulo de medios de pago
desde el resto del sistema).
Tal y como ya se ha indicado, una de las
funciones principales del módulo de comunicaciones (COM) es la de
traductor entre la máquina expendedora y un terminal externo y su
misión es la de recibir, almacenar y/o enviar información. El
terminal externo puede enviar dicha información en diferentes
formatos o protocolos. El módulo de comunicaciones comprende medios
de descodificar la información recibida y de presentarla a la
máquina de acuerdo con un formato/protocolo interno de la máquina,
independientemente del protocolo o medio de transmisión utilizado
por el terminal externo.
Para realizar la función de traducción, el módulo
de comunicaciones (COM) comprende preferiblemente medios de:
- Descomponer el comando recibido en un conjunto
de datos elementales a leer o escribir.
- Para cada dato elemental, enviar al módulo
principal (PRI) un comando interno de lectura o escritura. En caso
de lectura, el módulo principal (PRI) responderá con el dato
pedido. En caso que haya que devolver información al Terminal
Externo, el módulo de comunicaciones compondrá los datos elementales
(enviados desde el módulo principal) para formar el comando de
respuesta correspondiente al protocolo de comunicación del terminal
externo.
Como se ha dicho, una de las principales
funciones del módulo de comunicaciones (COM) es la de posibilitar
la actualización del software de los módulos de la máquina
(incluido el del propio módulo de comunicaciones). Esta función se
realiza preferiblemente de la siguiente manera:
- El terminal externo indica al módulo de
comunicaciones (mediante un comando) el módulo de la máquina, la
dirección de comienzo de la memoria sobre el que se va a escribir
el nuevo software y los propios datos.
- El módulo de comunicaciones (COM) reenvía esta
información al módulo principal.
Por tanto, el módulo principal (PRI) se encargará
de realizar la tarea de sustitución del antiguo software por el
nuevo, por lo que, en una primera etapa, no habrá ninguna
interacción entre el módulo de comunicaciones (COM) y el resto de
los módulos de la máquina (a saber, los módulos de medios de pago,
de interfaz de usuario y de extracción).
El bus
El bus es preferiblemente un bus CAN (Controller
Area Network®, Robert Bosch GmbH.) Las características de velocidad
y fiabilidad del bus CAN son superiores a las de otros buses del
mercado. Además, actualmente se están integrando controladores de
este bus en numerosas familias de microcontroladores del mercado,
sin aumentar excesivamente el coste de estos microcontroladores.
Las ventajas principales de utilizar este tipo de
bus son:
- Alta fiabilidad, mínima tasa de errores y alta
velocidad de transferencia.
- Libera al microcontrolador (\muC) de las
tareas de corrección de errores, retransmisión de tramas, etc.,
porque éstas las realiza el propio controlador de bus integrado en
el microcontrolador.
- El microcontrolador debe atender interrupciones
de comunicaciones cada 8 "bytes", a diferencia de otros
estándares donde el microcontrolador debe atender interrupciones
cada "byte".
- El incremento de coste por utilizar un bus CAN
es mínimo gracias a su uso masivo en el sector de la automoción.
Existen otras alternativas de diseño de buses, no integrados en el
microcontrolador, que obligan a introducir controladores y
componentes externos, además del correspondiente programa de
control, lo que aumenta el coste total del sistema.
- Flexibilidad en las comunicaciones.
- Cualquier nodo conectado al bus puede
comunicarse con cualquier otro
- Un nodo puede configurarse para escuchar todos,
ninguno o determinados mensajes que se transmiten por el bus.
Breve descripción de los dibujos
A continuación se pasa a describir de manera muy
breve una serie de dibujos que ayudan a comprender mejor la
invención y que se relacionan expresamente con una realización de
dicha invención que se presenta como un ejemplo no limitativo de
ésta.
La Figura 1 es un diagrama de bloques que refleja
la configuración de una realización preferida del sistema, en la
que se pueden observar los diferentes módulos y el bus.
La Figura 2 es un diagrama de bloques que refleja
el módulo de medios de pago y las unidades de medios de pago
asociadas al mismo.
La Figura 3 es un diagrama de bloques que refleja
el módulo de interfaz de usuario y las unidades de interfaz de
usuario asociadas al mismo.
La Figura 4 es un diagrama de bloques que refleja
varios módulos de extracción y las unidades de extracción asociadas
a ellos.
La Figura 5 es un diagrama de bloques de una
tarjeta de transistores que hace la función de interfaz entre un
módulo de extracción y uno o varios extractores.
Descripción de una realización preferida de la invención
En la figura 1 se puede ver la configuración
básica de una realización preferida de la invención, en la que el
módulo principal (1), el módulo de medios de pago (2), el módulo de
interfaz de usuario (3), un primer módulo de extracción (4A)
(destinado al control de un primer tipo de extractores, por ejemplo,
extractores del tipo husillos), un segundo módulo de extracción
(4B) (destinado a controlar un segundo tipo de extractores, por
ejemplo, extractores de botes) y el módulo de comunicaciones (5)
están conectados a un bus CAN (6). En este caso, se ha optado por
disponer sólo un módulo de medios de pago (2), que puede controlar
varios periféricos o unidades de medios de pago. En cambio, se ha
incorporado dos módulos de extracción (4A, 4B), cada una diseñado
para el control de un determinado tipo de extractor, es decir, con
esta sistema se puede controlar una máquina expendedora con dos
tipos diferentes de extractores.
La figura 2 ilustra como, de acuerdo con una
realización preferida de la invención, el módulo de medios de pago
(2) está conectado mediante cables a un módulo de recuperación
(201), un monedero con cambio MDB-ICP (202), un
lector de billetes bancarias MDB-ICP (203) y un
lector de tarjetas (204).
También existe la posibilidad de conectar un
monedero con cambio Ejecutivo (205). En este caso, el módulo de
medios de pago sólo se encargaría del control de dicho monedero
(205) y del módulo de recuperación, mientras que el lector de
billetes (203) y el lector de tarjetas (204) serían gestionados por
el monedero con cambio Ejecutivo (205) y se conectarían a este. Si
el sistema incorpora dicho monedero con cambio Ejecutivo (205), no
se necesita el monedero MDB-ICP (202).
Conviene tener en cuenta que un monedero con
cambio Ejecutivo (igual que un lector de tarjetas bancarias
MDB-ICP) no tiene la obligación de informar al
módulo de medios de pago de la cantidad de crédito exacta de la que
disponen. En cualquier caso, el módulo principal (PRI) sólo debe
emplear la información de crédito a efectos de mensajes en
pantalla, nunca para realizar ningún tipo de cálculo ya que de esa
tarea se encargará el módulo de medios de pago.
La figura 3 ilustra un diagrama de bloques en el
que se observa como el módulo de interfaz de usuario está asociado
a una pantalla (301) (por ejemplo, una pantalla L.C.D. de 16x2
caracteres, o un display de LED's con 8 caracteres), un indicador
(LED) que indica la condición de "agotado cambio" (302), un
indicador (LED) que indica la condición de "agotado producto"
(303), una botonera (304) en la que cada botón está asociado a un
producto, un teclado alfanumérico (305) (con este teclado se debe
pulsar más de una tecla para realizar una selección y normalmente
se asocia a los extractores de husillos, por eso también es conocido
como "teclado de husillos"), 1 teclado de programación (306)
con 4 teclas (A, B, C, D) que permiten al operario acceder y
manejar el menú de configuración de la máquina, 1 botón de
recuperación (307), un zumbador acústico (308) (que emite pitidos
con la pulsación de las teclas). Además, se pueden incluir un
sintetizador de voz (309) y una o varias pantallas de indicación de
precio o de producto agotado (311, 312 y 313) que están conectados
al módulo de interfaz de usuario (3) mediante un bus local de tipo
síncrono (310).
En la figura 4 se observa como se ha dispuesto un
primer módulo de extracción (4A) para controlar una serie de
extractores de husillo (411-414;
421-424; 431-434;
441-444) a través de respectivas tarjetas de
transistores (41; 42; 43; 44). Ocho de los extractores de husillos
(411-414; 421-424) corresponden a
una primera bandeja de productos y los demás
(431-434; 441-444) corresponden a
una segunda bandeja de productos.
Por otra parte, la máquina también incluye
extractores de otro tipo, a saber, extractores de botes (uno de los
tipos de extractores de botes empleados por Azkoyen®)
(451-453); estos son controlados por un segundo
módulo de extracción (4B) a través de la correspondiente tarjeta de
transistores (45).
Además, la máquina puede incluir otros tipos de
extractores, en cuyo caso se añaden preferiblemente los módulos de
extracción específicamente diseñados para controlar dichos tipos de
extractores. Por ejemplo, en la figura 4, se ilustra un tercer
módulo de extracción (4C) que controla, a través de la tarjeta de
transistores 46, una pluralidad de extractores de tipo noria
(461-463).
En la figura 5 se ilustra esquemáticamente una de
las tarjetas de transistores (41). Las tarjetas de transistores
(41-46) hacen la función de interfaz entre los
extractores y los correspondientes módulos de extracción. Cada
módulo de extracción (4A, 4B, 4C) dispone de una serie de
conectores a los que se conectan una o varias tarjetas de
transistores, que disponen a su vez de cuatro conectores
(4101-4104) para la conexión de hasta cuatro
extractores, pudiéndose conectar varias tarjetas de transistores en
serie. A cada conector (4101-4104) de la tarjeta de
transistores llegan los cables de alimentación del motor de
extracción y los cables de los distintos microrruptores instalados
(final de carrera, producto agotado, etc.). La tarjeta incluye
además, o bien un transistor para regular cada uno de los motores
de un único sentido de giro, o bien un puente de transistores para
los motores de doble sentido de giro, pudiendo tener una de las
ramas del puente común a todos los extractores. La lógica de
conmutación de los transistores reside en el microcontrolador del
módulo de extracción, que tiene acceso igualmente a los valores de
los distintos microrruptores.
Para simplificar el cableado, la tarjeta de
transistores (41) incorpora registros de desplazamiento (4111,
4112) para actuar sobre los transistores y leer la información de
los microrruptores. Con estos registros se convierte la información
en paralelo existente entre la tarjeta de transistores (41) y el
extractor (411, 412, 413, 414) (la tensión aplicada sobre los
distintos transistores o el nivel de tensión de los microrruptores
de los distintos extractores) en comunicación serie entre el módulo
de extracción (4A) y la tarjeta de transistores (41), enviando los
bits de información de los distintos extractores
secuencialmente.