# ?? 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: ```csharp 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: ```csharp 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: ```csharp private static string codigo = "0037613825"; // 30 lentes ``` Cámbialo al código que desees probar: ```csharp 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: ```csharp 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: ```csharp 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** ```csharp 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`: ```csharp 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!** ??