sebronero Posted September 24 Report Share Posted September 24 (edited) 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. 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. Edited September 24 by sebronero Link to comment Share on other sites More sharing options...
drn5 Posted September 24 Report Share Posted September 24 (edited) 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; } Edited September 24 by drn5 Link to comment Share on other sites More sharing options...
sebronero Posted September 26 Author Report Share Posted September 26 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 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now