Ejemplo de un conjunto de posts de contenido para publicar
<Pst.Sta> C
<Pst.Fil> programacioncodigowjb
<Pst.Tit> Ejemplo básico de programación de una lectora óptica |
Ejemplo de programa básico para una lectora óptica
<Pst.Lbl> Código fuente WJB
<Pst.Sub> Para leer un formulario, interpretar sus campos de entrada y
almacenar el resultado en un fichero de texto |
Programación para leer una hoja de lectura óptica, interpretar
los datos leídos y guardar los resultados en un fichero ASCII
<Pst.Htm>
<p class="PutDes">
A continuación se presenta un ejemplo básico del código fuente de
programación del formulario de la imagen de abajo a la derecha.
Este es el tipo de código de programación que se almacena en los ficheros de
extensión ".wjb".
Este tipo de programación permite leer un sólo formulario, realizar una
interpretación básica y directa de los campos de entrada y almacenar el
resultado de la lectura en un fichero de texto o en un fichero CSV
delimitado por comas para Excel de Microsoft.
En el programa de lectura óptica JBLee (Comaof) son el tipo de ficheros que
se emplea en la opción denominada Lectura TXT.
</p>
<p>
Al tratarse de un ejemplo simple la lectura se resuelve con varios campos
del tipo denominado múltiples opciones [MO] y un campo del tipo denominado
identificador horizontal [IH].
</p>
<p>
Los campos se han definido siguiendo la estructura del propio formulario
OMR, esto es, de arriba hacia abajo y de izquierda a derecha.
Pero esto se ha realizado así para facilitar la compresión de este código
fuente de programa, no porque sea estrictamente necesario.
</p>
<img class="ImgRgh" src="formularios/ucminmunologiaformulariogeneral.gif"
alt="Ejemplo básico de programación de una lectora óptica"
title="Código fuente OMR para la lectura de este formulario" />
<pre><code>
[CF]
Anverso = 42
Reverso = 0
Autoreverse = N
Parar si error = N
Codigos de barra = 0
[SE]
Sensibilidad = 25
Discriminacion = 15
[MO]
Nombre = "dni "
Parametros = 1 1 15 10 8 V 0 0 N 1
Mascaras = "0123456789"
[MO]
Nombre = "numero "
Parametros = 1 1 6 10 1 V 0 0 N 1
Mascaras = "0123456789"
[MO]
Nombre = "tipo "
Parametros = 1 11 26 11 20 H 0 1 N 1
Mascaras = "ABCD"
[MO]
Nombre = "grupo "
Parametros = 1 11 17 11 11 H 0 1 N 1
Mascaras = "ABCD"
[MO]
Nombre = "sec "
Parametros = 1 11 8 11 2 H 0 1 N 1
Mascaras = "1234"
[IH]
Parametros = 1 H 12
Identificacion = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX "
[MO]
Nombre = "ítem "
Parametros = 1 13 37 42 33 H 0 0 N 1
Mascaras = "ABCDE"
[MO]
Nombre = "ítem "
Parametros = 1 13 29 42 25 H 0 0 N 1
Mascaras = "ABCDE"
[MO]
Nombre = "ítem "
Parametros = 1 13 21 42 17 H 0 0 N 1
Mascaras = "ABCDE"
[MO]
Nombre = "ítem "
Parametros = 1 13 13 42 9 H 0 0 N 1
Mascaras = "ABCDE"
[MO]
Nombre = "ítem "
Parametros = 1 13 5 42 1 H 0 0 N 1
Mascaras = "ABCDE"
[FF]
</code></pre>
<Pst.End>
______________________________________________________________________________
<Pst.Sta> B
<Pst.Fil> programacioncodigomlo
<Pst.Tit> Ejemplo avanzado de programación de una lectora óptica |
Ejemplo de programa avanzado para una lectora óptica
<Pst.Lbl> Código fuente MLO
<Pst.Sub> Para poder leer diversos formularios, evaluar su contenido,
corregir test y guardar en base de datos |
Programación de un lector óptico OMR para diversas hojas
de lectora y evaluar, corregir y almacenar datos
<Pst.Htm>
<p class="PutDes">
A continuación se presenta un ejemplo avanzado del código fuente de
programación de la lectura de modelos de formulario.
Este es el tipo de código de programación que se almacena en los ficheros de
extensión ".mlo".
Este tipo de programación utiliza definiciones más básicas del tipo WJB (en
el siguiente ejemplo puede verse como define el WJB que se emplea en la
variable Formatos).
Permite leer varios tipos de formularios, evaluar su contenido, corregir
exámenes y test, ponderar respuestas, etc. y almacenar el resultado de la
lectura en una base de datos.
En el programa de lectura óptica son el tipo de ficheros que se emplea en la
opción denominada JBLee Lectura de modelos (Comaof).
</p>
<img class="ImgRgh"
src="tecnica/formulariosyrodilloslectoraoptica.png"
alt="Ejemplo avanzado de programación de una lectora óptica"
title="Formularios OMR a través del interior de una lectora OMR" />
<pre><code>
[MODELO]
Tipo=Examen monoplantilla
Lectura=Monohoja
Formatos=F:\Archivos\universidad\admision.wjb
DLL=
PuntuacionAprobado=5
NotaMaximaEscalaFinal=10
NotaAprobadoEscalaFinal=5
DecimalesEnSalida=3
Intervalos=10
Intervalos10=10
ListadosNombres=No
FicheroNombresListados=
DniPruebaListados=
DniListados=
NombreListados=
Ape1Listados=
Ape2Listados=
[CABECERA]
Nombre=CREDENCIAL
Comienzo=1
TotalCaracteres=7
GrabarCampo=Si
Alinear=No
RellenarConCeros=No
NoRepetido=Si
DigitoControl=Ninguno
SinDoblesMarcas=Si
Marcado=Si
MarcadoDesdePrimera=No
BuscarEnDB=No
Tabla=
Campo=
Rechazo=Si no existe
Limites=No
LimiteDesde=
LimiteHasta=
LimiteRechazo=Rechazar si esta fuera
ReemplazarSiBlancos=No
ReemplazarSiDobles=No
PosicionNuevoCampo=0
TeclearSiError=Si
ValidarCampoTecleado=Si
AccionEnlace=Ninguna
IndiceScan=No
GrabarImagenScan=No
NumeroImagenesScan=100
ConcatenarOrdenScan=No
[TEST]
Nombre=OPCIONES
Comienzo=8
TotalCaracteres=100
CaracteresXítem=1
SinDoblesMarcas=No
Marcado=No
Total=10
Acierto=1
Fallo=0.25
Doble=0
Blanco=0
PuntuacionAprobado=5
Obligatorio=No
Peso=0
TeclearSiError=No
ValidarCampoTecleado=Si
OpcionesPorRespuesta=4
TipoRespuesta=Alfabetico mayusculas
Intervalos=10
TestConAnulaciones=No
RespuestasPorítem=4
CaracteresPorPregunta=3
TipoRespuestaAnulacion=Alfabetico mayusculas
</code></pre>
<Pst.End>
______________________________________________________________________________
<Pst.Sta> B
<Pst.Fil> lopalonginesopticalprogramming
<Pst.Tit> Programación clásica mediante hojas LOPA II de Longines |
Hojas de LOPA para la programación de lectores ópticos OMR
<Pst.Lbl> Hojas de programación LOPA |
Hojas LOngines PArameters
<Pst.Sub> Clásicamente las lectoras se programaban con hojas como la LOPA,
ya no se hace, salvo excepciones, este artículo cuenta cómo hacerlo |
Cómo programar una lectora de marcas ópticas mediante hojas de
lectura óptica de la clase LOPA
<Pst.Htm>
<p class="PutDes">
Las lectoras ópticas clásicas, como por ejemplo, las lectoras DATASCAN Serie
5 o DATASCAN Serie 7, se programaban mediante formularios OMR.
Un formato tradicional de este tipo de formularios de programación son las
hojas <b>LOPA II</b> (<b>LOngines PArameter</b>, version 2).
</p>
<img class="ImgRgh"
src="tecnica/lopa2longinesparametersceppu.png"
alt="Clásicamente las lectoras se programaban con hojas como LOPA"
title="LOPA II, LOngines PArameters, para programar el CEPPU" />
<p>
Actualmente están prácticamente en desuso, pero hay todavía en
funcionamiento modelos de lectoras ópticas de marcas que, en algunos casos,
necesitan ser programados de esta forma.
</p>
<p>
Desde <a href="http://www.omrforms.es"><b>OMR</b>Forms</a> podemos
proporcionar estas hojas de programación LOPA y también ofrecemos servicios
de programación mediante este tipo de formularios.
</p>
<p>
El objetivo de este artículo es proporcionar una ayuda básica para el manejo
de las hojas LOPA de programación, porque, si bien su uso es infrecuente,
más infrecuente es la información disponible sobre ellas.
</p>
<p>
Las hojas de programación LOPA se introducen en la lectora óptica antes que
los paquetes de formularios a leer.
El objetivo de estas hojas es preparar, esto es, programar la lectora para
que lea la estructura del formulario que se le introducirá a continuación.
Estas hojas LOPA tienen una estructura fija, que la lectora conoce, y
mediante marcas ópticas describe a la lectora los campos, las posiciones,
los tipos de campo, etc.
de los formularios que a continuación se le van a introducir.
</p>
<img class="ImgRgh"
src="tecnica/formularioceppurelleno.png"
alt="CEPPU, Estimación del Potencial Psicológico de la Unidad"
title="Formulario CEPPU relleno para leerse, programación de LOPA" />
<p>
Por tanto, para programar una lectora mediante una hoja de LOPA, o bien ya
se dispone de ella o bien hay que rellenarla conforme a la estructura del
formulario que a continuación se va a leer.
En la figura que ilustra este artículo se muestra una hoja de LOPA ya
rellena, a modo de ejemplo, de forma que programa la lectora para la lectura
del formulario CEPPU (Cuestionario para la Estimación del Potencial
Psicológico de la Unidad del Ejército de Tierra).
</p>
<p>
Una vez que se dispone de una hoja de LOPA ya rellena el procedimiento a
seguir, por ejemplo, con una DATASCAN Serie 7, es el siguiente:
</p>
<ol>
<li>
Conectamos la lectora óptica al computador a través del puerto serie.
</li>
<li>
Abrimos un hyperterminal en el computador con las siguientes
características a 9600 baudios, no parity, 8 bits y 1 stop bit por el
puerto COM al que esté conectada la lectora óptica.
Si no se hace así, la lectora mostrará el error [9081] en el display al
cargar la hoja de LOPA y no detectará el pin DTR activado por el
hyperterminal.
</li>
<li>
Encendemos la lectora óptica, que tras el test inicial pasará de mostrar el
código [0000] a mostrar el código [__01] en su display.
</li>
<li>
Introducimos la hoja de LOPA rellena como la del ejemplo de este artículo,
para cargar la definición del formulario que se va a leer, en este ejemplo
se trata de formularios del modelo CEPPU, y pulsamos el interruptor
iluminado en verde para que la lectora alimente la hoja.
La lectora deberá mostrar el código [__12] en su display, indicando que
esta lista para leer formularios.
</li>
<li>
Ponemos varios formularios rellenos y volvemos a pulsar el interruptor
iluminado en verde para que la lectora los alimente.
La lectora leerá los formularios y transmitirá, mostrando el código [__18]
en su Display, al hyperterminal un registro por cada formulario, volviendo
a mostrar el código [__12] en su display tras cada formulario leído y
transmitido.
</li>
</ol>
<img class="ImgRgh"
src="tecnica/datascanserie7.png"
alt="La lectora está programada mediante hojas de LOPA"
title="DATASCAN Serie 7 con alimentador automático y clasificador" />
<p>
Una vez que la lectora está programada mediante hojas de LOPA, y cuando
comprobamos que lee bien los formularios, podemos guardar la definición de
la hoja LOPA en el computador, para no tener que cargar la hoja de LOPA cada
vez que encendemos la lectora óptica.
</p>
<p>
Para guardar la programación en el computador, salimos del hyperterminal
para dejar libre el puerto serie (COM1 o COM2) y usamos la opción Guardar
LOPA del programa Lanzador para guardar un fichero con el nombre que se
desee, en el caso práctico que estamos utilizando de ejemplo, con el
formulario CEPPU y una lectora DATASCAN Serie 7, podría ser "ceppu.se7" o
similar.
</p>
<img class="ImgRgh"
src="tecnica/longinesdata7000.png"
alt="El hyperterminal para dejar libre el puerto serie COM1 o COM2"
title="Clásica lectora óptica Longines Data 7000" />
<p>
Para utilizar una programación de LOPA guardada en el computador podemos
apagar y volver a encender la lectora, para empezar todo el proceso de cero.
Cuando la lectora muestre el código [__01] en su display, podemos usar la
opción de Lectura a TXT del Lanzador, comprobando que:
</p>
<ul>
<li>
en Modelo de lectora aparece la que se esté usando, en este ejemplo, una
DATASCAN Serie 7 y .
</li>
<li>
en Ficheros de formato elegimos con el botón [...] el Tipo: Ficheros de
LOPA (*.se5, *.se7) y el Nombre: que le hemos dado, en este ejemplo,
"ceppu.se7".
</li>
</ul>
<p>
Con lo anterior ya podemos leer, mediante el programa JBDef, a un fichero de
texto, tal y como se describe en el artículo
<a href="leercomjbleeaexcel.html">leer formularios con JBLee y sacar los
resultados a Excel</a>.
</p>
<Pst.End>
Omr.Forms construye las páginas web Html del sitio web omrforms.es
2015 asolver.com | Aviso legal | XHTML | Δ Θ Ξ | Creative Commons | Mapa y funciones del sitio