![[Pasted image 20250721114350.png]]
![[Pasted image 20250721114407.png|800]]
La pagina de Sala Sciroppi es la Page_02_Opt_02
![[Pasted image 20250721152351.png]]
![[Pasted image 20250721152425.png]]
UR29 - QTM307
UR62 - QTM306
![[Pasted image 20250721174319.png|800]]
Aggiungere le UR29 e UR62 - Controllare se il blu Analizzatore brix sciroppo è opzionale
- [ ] UR29 - QTM307
- [ ] UR62 - QTM306
![[Pasted image 20250721174533.png]]
![[Pasted image 20250721180304.png]]
Per Diet se debe
![[Pasted image 20250721181810.png|800]]
Min - Max dall'UR29 - UR62 se caricano nel software direttamente e non vanno sul HMI
In vece qua se debe creare 2 selettori:
* UR29 :
* Non present
* Solo lettura
* In funzione
* UR62 :
* Non present
* Solo lettura
* In funzione
![[Pasted image 20250721181410.png]]
(1) Se alarga questo per aggiungere el % di taglio dal UR62
![[Pasted image 20250721181506.png]]
Creare un tab nuovo 'Acqua' con:
* il valore min-max per il warning
* il valore di riferimento in mS/cm
* selettore di tipo di acqua:
* microfiltrata
* trattata
![[Pasted image 20250722103815.png|800]]
* Se presiona el boton del HisoricTrend04 este boton asigna His_Trend_Profile_04 en Sim_Trend_Number.
* La funcion His_Trend_Profile_04 asigna 4 a Sim_Trend_Number.
* La variable Sim_Trend_Number tiene asociada una Reaction matrix: Trend_Hystoric_Type que ejecuta His_TREND_XX_TD
* His_TREND_XX_TD ejecuta la marco TrenSelectDay y luego TemplateClose_TREND_HisProfiles Close the template _TREND_His_Profiles
Boton de Brix ->
![[Pasted image 20250722141930.png]]
Variable Sim_Tren_Number -> Matrix
![[Pasted image 20250722142206.png]]
Matrix -> Trend_Hystoric_Type
![[Pasted image 20250722142406.png|800]]
execute - His_TREND_XX_TD
![[Pasted image 20250722143725.png|800]]
![[Pasted image 20250722144041.png|800]]
EXP_Trend_Today
# Flujo de eventos y datos – Tendencia histórica (ejemplo perfil 04)
## Leyenda
- **(V)** Variable de zenon
- **(F)** Function / RtFunction
- **(RM)** Reaction Matrix
- **(S)** Script (lista de funciones)
- **(VBA)** Procedimiento VBA
- **(P)** Página de zenon
- **(AS)** Archive Set (ficheros *.ARX*)
---
## 1 · Interacción del operario
| Orden | Acción | Tipo | Detalle |
|-------|--------|------|---------|
| 1.1 | Pulsa botón **HistoricTrend04** | P-element | Ejecuta la función *His_Trend_Profile_04* |
---
## 2 · Selección de perfil
| Orden | Acción | Tipo | Detalle |
|-------|--------|------|---------|
| 2.1 | *His_Trend_Profile_04* | F | `(V) Sim_Trend_Number := 4` |
| 2.2 | Cambia el valor de la variable **Sim_Trend_Number** | V | Dispara la Reaction Matrix |
---
## 3 · Reaction Matrix y script
| Orden | Acción | Tipo | Detalle |
|-------|--------|------|---------|
| 3.1 | **Trend_Hystoric_Type** reacciona a *Sim_Trend_Number = 4* | RM | Lanza el script *His_TREND_XX_TD* |
| 3.2 | *His_TREND_XX_TD* | S | • Llama a *EXP_Trend_Today* (F)
• Cierra plantilla *_TREND_His_Profiles* |
---
## 4 · Obtención de fecha y llamada a VBA
| Orden | Acción | Tipo | Detalle |
|-------|--------|------|---------|
| 4.1 | *EXP_Trend_Today* | F | Llama a procedimiento **TodaySelectDay** (VBA) |
| 4.2 | **TodaySelectDay** | VBA | • `Today := Format(Date,"dd/mm/yyyy")`
• Llama a **OperateARXFiles(Today)** |
---
## 5 · Proceso VBA `OperateARXFiles`
| Orden | Acción | Tipo | Detalle |
|-------|--------|------|---------|
| 5.1 | Calcula **Archive_Code** = `"04"` (a partir de *Sim_Trend_Number*) | VBA | |
| 5.2 | Copia archivos | VBA | • Origen: `(V) Sim_EXP_DOS\04*.arx` → **C:\HMI\Backup\\***
• Rango: día seleccionado ±1 día |
| 5.3 | Define rango de tiempo | VBA | `ARVTime1 := dd/mm/yyyy 0:00:00`
`ARVTime2 := dd/mm/yyyy 23:59:59` |
| 5.4 | Ajusta filtros de la función | VBA | ```myFunction.DynProperties("PictFilter[0].TimeAxe[0].TimeFilter[0].ARVTime1")``` … |
| 5.5 | Arranca la función **Page_08_His_TREND_04** | VBA | `thisProject.RtFunctions.Item("Page_08_His_TREND_04").Start` |
---
## 6 · Cambio de página e inyección de datos
| Orden | Acción | Tipo | Detalle |
|-------|--------|------|---------|
| 6.1 | **Page_08_His_TREND_04** (F) | F | `Picture switch → "Page_08_His_TREND 04 – BRIX[ARV]"` |
| 6.2 | Runtime abre la página base **Page_08_His_TREND 04** | P | Contiene objeto STATIC (ID 100012) |
| 6.3 | El motor de zenon clona la página y sustituye el STATIC por un *Trend Viewer* | Engine | Fuente de datos = **BRIX[ARV]** |
| 6.4 | *Trend Viewer* carga los pen definidos en el **Archive Set BRIX** | AS | Lee los archivos *.ARX* copiados a *C:\HMI\Backup* |
| 6.5 | Se muestra la tendencia histórica filtrada por el rango de tiempo | UI | Fin del flujo |
---
## 7 · Resumen gráfico (mermaid)
```mermaid
flowchart TD
BTN[Botón HistoricTrend04] --> F1[His_Trend_Profile_04]
F1 -->|Sim_Trend_Number := 4| VAR[Variable Sim_Trend_Number]
VAR -->|Reaction Matrix| SCR[Script His_TREND_XX_TD]
SCR --> F2[EXP_Trend_Today]
F2 --> VBA1[TodaySelectDay()]
VBA1 --> VBA2[OperateARXFiles()]
VBA2 -->|copia ARX + filtros| RTFUNC[RtFunction Page_08_His_TREND_04]
RTFUNC -->|Picture switch| PAGE[Page_08_His_TREND 04 – BRIX[ARV]]
PAGE --> TV[Trend Viewer (runtime)]
TV -->|lee pen de ArchiveSet BRIX| TREND[Curva histórica en pantalla]
```
### Alarms
***
* DB1000.DBX11.0 : Al_Critical_084 | Conduttivimetro sotto livello minimo
* DB1000.DBX11.1 : Al_Critical_085 | Conduttivimetro sopra livello massimo
### Recipe Check
![[Pasted image 20250723160302.png]]
* Mettere a zero i valori di brix ur29 e ur62 se sono disabilitati dal zenon
Per il DAR : Debe essere un nuovo SyrupRunOut nuovo e syrup preparation nuovo
### Recipe Parameters
***
![[Pasted image 20250801105247.png|800]]
### HMI_Blender_Parameters
***
![[Pasted image 20250801105415.png|800]]
### HMI_Blender_Parameters on Zenon
***
![[Pasted image 20250801111733.png]]
![[Pasted image 20250801111110.png]]
Per il Water fare soglia +- in vece di minimo massimo
FTP302 Syrup
Purgue AVP344 e 315 chiusa
Con DAR
***
Syrup Line preparation (priming) fino a AVS347/348 - manca AVS349
Syrup preparation fino
#### Original Templates
***
![[Pasted image 20250805094645.png]]