Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




HMI KINCO green serie - Cronometro di processo parziale


Messaggi consigliati

Inserito: (modificato)

Buongiorno a tutti, 

Sto per finire di programmare una GL070E della KINCO e vorrei fare un cronometro di ogni processo che la macchina che ho programmato fa. Ho fatto un cronometro tramite macro ma non riesco a capire come azzerarlo ogni volta che parte un processo. Sempre tramite macro. 

 

 

image.thumb.png.282693f57f567638228630e569e46de8.png

 

Finora quando si preme un tasto si accende la luce, sopra “proceso actual” appare il nome del proceso ma in “tiempo proceso” inizia a sommare i secondi, quando il proceso finisce, il cronometro si ferma ma invece di resettarsi quando inizia il proceso successivo, continua a sommare i secondi. la macro che utilizzo è questa

 

#include "macrotypedef.h"
#include "math.h"

int MacroEntry()
{
    segundos++;
    if(segundos == 59){
        segundos = 0;
        minutos++;
}
    if(minutos== 59 && segundos == 59){
        segundos = 0;
        minutos= 0;
        horas++;
}
    return 0;
}
 

se qualcuno che programma in C++ lo sa o può modificarlo e farmelo sapere vi ringrazio molto. 

Modificato: da sebronero

Inserita: (modificato)

Non conosco questo pannello, ma mi sembra di capire che il reset del tempo debba essere fatto esternamente al pannello.

Voglio dire... ci sarà un plc che acquisisce un input digitale (o altro) dal campo il quale attiva la MacroEntry()

Se così fosse farei in modo che il fronte positivo di questo ingresso attivi una seconda macro che azzera segundos.

 

int Reset_Segundos()
{
    segundos = 0;
    return 0;
}

Modificato: da drn5
Inserita:
Il 24/09/2024 alle 12:58 , drn5 ha scritto:

Non conosco questo pannello, ma mi sembra di capire che il reset del tempo debba essere fatto esternamente al pannello.

Voglio dire... ci sarà un plc che acquisisce un input digitale (o altro) dal campo il quale attiva la MacroEntry()

Se così fosse farei in modo che il fronte positivo di questo ingresso attivi una seconda macro che azzera segundos.

 

int Reset_Segundos()
{
    segundos = 0;
    return 0;
}

Ah ok, grazie. proverò e la aggiorno

grazie per la risposta 

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...