Files
Scanbox/ScanBox/GUIA_PRUEBAS_SIN_SENSOR.md
AngelJurado 2e45a0562e Cambios en la Etiqueta.prn
Se agregaron dos nuevos valores: $v4 y $v5 para agregar un número de serie y la fecha de impresión.
Cambios en el modo debug para realizar pruebas de impresorea sin el sensor
2026-03-24 15:59:13 -06:00

8.0 KiB

?? Guía de Pruebas sin Sensor SR-X300W

Estado Actual

? La variable Globals.debug = true ya está activada en Globals.cs

¿Cómo Funciona el Modo Debug?

1. Flujo de Ejecución con Debug Activado

Cuando presionas el botón "Ejecutar Lectura" (TgrBtn_Click):

???????????????????????????????????????????????????????????????
? Botón "Ejecutar Lectura" ? TgrBtn_Click()                   ?
???????????????????????????????????????????????????????????????
                       ?
                       ?
         ???????????????????????????????????
         ? ¿Se encontró sensor? (reader_found) ?
         ???????????????????????????????????
                    ?
         ???????????????????????
         ?                     ?
      SÍ (real)            NO (debug)
         ?                     ?
         ?                     ?
   Conecta a    ???????????????????????????
   sensor real  ? ¿Globals.debug = true?  ?
   Envía LON    ???????????????????????????
        ?                  ?
        ?           ???????????????
        ?           ?             ?
        ?          SÍ             NO
        ?           ?             ?
        ?           ?             ?
        ?    Usa datos    (No hace nada)
        ?    simulados        
        ???????????????????????????
                 ?
                 ?
         ReceivedDataWrite()
         (Procesa datos igual que
          si vinieran del sensor real)

2. Datos de Prueba Disponibles

En Globals.cs tienes definido:

private static string codigo = "0037613825";    // 30 lentes

public static string testdata = codigo + ":001," +
    codigo + ":002," +
    codigo + ":003," +
    // ... hasta
    codigo + ":030";

Esto significa: Se simula una lectura de 30 lentes, todos con el código 0037613825.


?? Pasos para Hacer Pruebas

Paso 1: Verificar que Debug esté Activado

Abre Globals.cs y confirma:

public static Boolean debug = true;  // ? Debe estar en true

Paso 2: Asegúrate que el Sensor NO se Encuentra

Cuando inicies el programa:

  • Si el sensor está en la red, se conectará automáticamente
  • Si el sensor NO está disponible:
    • La etiqueta sr2000w_ip_lbl mostrará 0.0.0.0 en rojo
    • El botón "Ejecutar Lectura" estará deshabilitado EN MODO AUTOMÁTICO
    • ? Esto es correcto para debug

Paso 3: Cambiar a Modo Manual

  1. Haz clic en el botón "Cambiar Modo"
  2. Selecciona "Manual"
  3. El botón "Ejecutar Lectura" ahora se habilitará

Paso 4: Ejecutar la Prueba

  1. Haz clic en "Ejecutar Lectura"
  2. En la consola de Visual Studio verás:
    Ejecutando: BLOAD,1 en la linea XXX
    Ejecutando: LON en la linea XXX
    
  3. El programa usará Globals.testdata en lugar del sensor

Paso 5: Espera los Resultados

En el textbox "Data" verás:

0037613825:001,0037613825:002,0037613825:003,...,0037613825:030

Resultados esperados:

  • ? 30 lentes OK (todos el mismo código)
  • El contador mostrará: OK: 30, NOK: 0, Questionable: 0
  • Se guardará en CSV (si aplica)
  • Se imprimirá en la etiqueta (si la impresora está habilitada)

?? Cómo Modificar los Datos de Prueba

Cambiar el Código de Prueba

En Globals.cs, busca esta línea:

private static string codigo = "0037613825";    // 30 lentes

Cámbialo al código que desees probar:

private static string codigo = "0123456789";    // Tu código

Cambiar la Cantidad de Lentes

Actualmente simula 30 lentes (posiciones 001 a 030).

Para cambiar a 45 lentes, modifica:

public static string testdata = codigo + ":001," +
    codigo + ":002," +
    // ... agrega más líneas hasta :045
    codigo + ":045";

Simular Errores (Códigos Incorrectos)

Para probar cómo reacciona el programa ante códigos incorrectos:

public static string testdata = codigo + ":001," +
    codigo + ":002," +
    // ...
    "0199170978" + ":015," +  // ?? Código diferente en posición 15
    // ...
    codigo + ":030";

Resultado esperado:

  • OK: 29, NOK: 1
  • El programa mostrará "X" en la posición 15 con fondo rojo

Simular Lectura con Error

public static string testdata = "ERROR," +  // Fuerza un error
    codigo + ":001," +
    // ... resto de datos

Resultado esperado:

  • OK: 29, NOK: 0, Questionable: 1

?? Monitorizar Ejecución

Ver Mensajes en Consola

En Visual Studio:

  1. Debug ? Windows ? Output (o Ctrl + Alt + O)
  2. Verás todos los comandos ejecutados:
    [TCP] Conectando a 192.168.100.100:9004...
    ERROR: IpAddress no configurada  (esperado en modo debug)
    Ejecutando: BLOAD,1 en la linea 456
    Ejecutando: LON en la linea 458
    

Ver Datos Procesados

En el textbox etiquetado "Data" (arriba a la izquierda):

  • Muestra los datos recibidos en bruto
  • Se actualiza automáticamente

Ver Resultados

Los contadores en la pantalla:

  • OK: Lentes que coinciden con el código master
  • NOK: Lentes con código incorrecto
  • Questionable: Lecturas con error

?? Flujo Completo de Prueba

1. Inicia ScanBox
   ?? Busca sensor en la red
   ?? No lo encuentra ? sr2000w_ip_lbl = 0.0.0.0 (rojo)

2. Cambias a "Modo Manual"
   ?? Botón "Ejecutar Lectura" se habilita

3. Haces clic en "Ejecutar Lectura"
   ?? Verifica reader_found = false
   ?? Entra al bloque: if (Globals.debug)
   ?? Llama: ReceivedDataWrite(Globals.testdata)

4. ReceivedDataWrite procesa testdata
   ?? Divide por comas
   ?? Extrae código y posición
   ?? Compara con "master code"
   ?? Marca OK o NOK

5. Actualiza pantalla
   ?? Muestra contadores
   ?? Dibuja etiquetas (OK en verde, X en rojo)
   ?? Guarda en CSV si aplica
   ?? Imprime etiqueta si está habilitado

6. El programa está listo para otra lectura

?? Notas Importantes

  1. Debug solo funciona sin sensor:

    • Si conectas un sensor real, el programa lo usará
    • Para forzar debug, comenta la búsqueda de sensores
  2. El código debe existir en la base de datos:

    • Si el código en testdata no está en data.json, mostrará error
    • Verifica que 0037613825 exista en tu data.json
  3. La cantidad de lentes debe coincidir con la configuración:

    • En App.config: program1_OPCcodes = 1 (para 1 lente)
    • Si testdata tiene 30 lentes, necesita un programa con 30+ lentes
  4. Cada lectura limpia los datos:

    • El textbox "Data" se borra después de 5 segundos (configurable)
    • Los contadores se reinician

?? Ejemplo Práctico

Escenario: Probar con 3 códigos incorrectos en 30

Modificar Globals.cs:

private static string codigo = "0037613825";

public static string testdata = codigo + ":001," +
    codigo + ":002," +
    codigo + ":003," +
    "9999999999" + ":004," +  // ? Código incorrecto
    codigo + ":005," +
    codigo + ":006," +
    "1111111111" + ":007," +  // ? Código incorrecto
    codigo + ":008," +
    // ... más líneas ...
    "2222222222" + ":030";    // ? Código incorrecto

Resultado esperado:

  • OK: 27
  • NOK: 3
  • Fondo rojo ? "Uno o más códigos son incorrectos"
  • Opción para repetir o guardar

?? Casos de Prueba Recomendados

Caso Modificación en testdata Resultado Esperado
OK Completo Todos con mismo código OK: 30, NOK: 0, Questionable: 0
Parcial OK 15 OK, 15 NOK OK: 15, NOK: 15, Questionable: 0
Con Error Agregar "ERROR," OK: 29, NOK: 0, Questionable: 1
Código Incorrecto Cambiar código en posición 15 OK: 29, NOK: 1, Questionable: 0
Caja Vacía "ERROR," solo OK: 0, NOK: 0, Questionable: 1

? Checklist para Empezar

  • Verificar Globals.debug = true
  • Verificar que el sensor NO esté disponible
  • Verificar que el código en testdata existe en data.json
  • Cambiar a "Modo Manual"
  • Hacer clic en "Ejecutar Lectura"
  • Ver resultados en pantalla
  • Revisar la consola de Visual Studio para detalles

¡Ya tienes todo lo necesario para hacer pruebas sin sensor! ??