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
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_lblmostrará0.0.0.0en rojo - El botón "Ejecutar Lectura" estará deshabilitado EN MODO AUTOMÁTICO
- ? Esto es correcto para debug
- La etiqueta
Paso 3: Cambiar a Modo Manual
- Haz clic en el botón "Cambiar Modo"
- Selecciona "Manual"
- El botón "Ejecutar Lectura" ahora se habilitará
Paso 4: Ejecutar la Prueba
- Haz clic en "Ejecutar Lectura"
- En la consola de Visual Studio verás:
Ejecutando: BLOAD,1 en la linea XXX Ejecutando: LON en la linea XXX - El programa usará
Globals.testdataen 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:
- Debug ? Windows ? Output (o
Ctrl + Alt + O) - 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
-
Debug solo funciona sin sensor:
- Si conectas un sensor real, el programa lo usará
- Para forzar debug, comenta la búsqueda de sensores
-
El código debe existir en la base de datos:
- Si el código en
testdatano está endata.json, mostrará error - Verifica que
0037613825exista en tudata.json
- Si el código en
-
La cantidad de lentes debe coincidir con la configuración:
- En
App.config:program1_OPCcodes = 1(para 1 lente) - Si
testdatatiene 30 lentes, necesita un programa con 30+ lentes
- En
-
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
testdataexiste endata.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! ??