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
This commit is contained in:
2026-03-24 15:59:13 -06:00
parent 7c8fcb16ae
commit 2e45a0562e
9 changed files with 405 additions and 69 deletions

View File

@@ -0,0 +1,308 @@
# ?? Gu<47>a de Pruebas sin Sensor SR-X300W
## Estado Actual
? **La variable `Globals.debug = true` ya est<73> activada** en `Globals.cs`
## <20>C<EFBFBD>mo Funciona el Modo Debug?
### 1. **Flujo de Ejecuci<63>n con Debug Activado**
Cuando presionas el bot<6F>n **"Ejecutar Lectura"** (`TgrBtn_Click`):
```
???????????????????????????????????????????????????????????????
? Bot<6F>n "Ejecutar Lectura" ? TgrBtn_Click() ?
???????????????????????????????????????????????????????????????
?
?
???????????????????????????????????
? <20>Se encontr<74> sensor? (reader_found) ?
???????????????????????????????????
?
???????????????????????
? ?
S<> (real) NO (debug)
? ?
? ?
Conecta a ???????????????????????????
sensor real ? <20>Globals.debug = true? ?
Env<6E>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<73> Activado**
Abre `Globals.cs` y confirma:
```csharp
public static Boolean debug = true; // ? Debe estar en true
```
### **Paso 2: Aseg<65>rate que el Sensor NO se Encuentra**
Cuando inicies el programa:
- Si el sensor est<73> en la red, se conectar<61> autom<6F>ticamente
- Si el sensor NO est<73> disponible:
- La etiqueta `sr2000w_ip_lbl` mostrar<61> `0.0.0.0` en rojo
- El bot<6F>n "Ejecutar Lectura" estar<61> deshabilitado EN MODO AUTOM<4F>TICO
- ? **Esto es correcto para debug**
### **Paso 3: Cambiar a Modo Manual**
1. Haz clic en el bot<6F>n **"Cambiar Modo"**
2. Selecciona **"Manual"**
3. El bot<6F>n "Ejecutar Lectura" ahora se habilitar<61>
### **Paso 4: Ejecutar la Prueba**
1. Haz clic en **"Ejecutar Lectura"**
2. **En la consola de Visual Studio ver<65>s:**
```
Ejecutando: BLOAD,1 en la linea XXX
Ejecutando: LON en la linea XXX
```
3. El programa usar<61> `Globals.testdata` en lugar del sensor
### **Paso 5: Espera los Resultados**
En el textbox "Data" ver<65>s:
```
0037613825:001,0037613825:002,0037613825:003,...,0037613825:030
```
**Resultados esperados:**
- ? **30 lentes OK** (todos el mismo c<>digo)
- El contador mostrar<61>: **OK: 30, NOK: 0, Questionable: 0**
- Se guardar<61> en CSV (si aplica)
- Se imprimir<69> en la etiqueta (si la impresora est<73> 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<EFBFBD>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<63>n 15
// ...
codigo + ":030";
```
**Resultado esperado:**
- OK: 29, NOK: 1
- El programa mostrar<61> **"X"** en la posici<63>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<63>n
### **Ver Mensajes en Consola**
En Visual Studio:
1. **Debug ? Windows ? Output** (o `Ctrl + Alt + O`)
2. Ver<65>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<6F>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<6F>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<63>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<73> habilitado
6. El programa est<73> listo para otra lectura
```
---
## ?? Notas Importantes
1. **Debug solo funciona sin sensor:**
- Si conectas un sensor real, el programa lo usar<61>
- 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<73> en `data.json`, mostrar<61> error
- Verifica que `0037613825` exista en tu `data.json`
3. **La cantidad de lentes debe coincidir con la configuraci<63>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<70>s de 5 segundos (configurable)
- Los contadores se reinician
---
## ?? Ejemplo Pr<50>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<63>n para repetir o guardar
---
## ?? Casos de Prueba Recomendados
| Caso | Modificaci<63>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<63>n 15 | OK: 29, NOK: 1, Questionable: 0 |
| **Caja Vac<61>a** | "ERROR," solo | OK: 0, NOK: 0, Questionable: 1 |
---
## ? Checklist para Empezar
- [ ] Verificar `Globals.debug = true`
- [ ] Verificar que el sensor NO est<73> 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
---
**<EFBFBD>Ya tienes todo lo necesario para hacer pruebas sin sensor!** ??