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:
308
ScanBox/GUIA_PRUEBAS_SIN_SENSOR.md
Normal file
308
ScanBox/GUIA_PRUEBAS_SIN_SENSOR.md
Normal 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!** ??
|
||||
|
||||
Reference in New Issue
Block a user