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
309 lines
8.0 KiB
Markdown
309 lines
8.0 KiB
Markdown
# ?? 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!** ??
|
|
|