Mise à l'heure WinCC
Posté : 27 avr. 2016, 08:50
Bonjour,
Je planche actuellement sur la mise à l'heure d'une installation WinCC et S7-400 qui ne fonctionne pas correctement, ou j'ai pas de réponse à toutes mes questions.
Dans mon automate, je reçois l'heure du service informatique, avec cette heure, je remet à l'heure mon automate toutes les minutes.
Ensuite je lis l'heure de l'automate et je la mets à disposition de WinCC dans le DB3. (j'ai deux serveurs redondant, donc le script est dans les deux serveurs).
Dans WinCC, j’exécute le script suivant :
#include "apdefap.h"
int gscAction( void )
{
#pragma code("kernel32.dll")
VOID SetLocalTime(SYSTEMTIME *lpst);
#pragma code();
SYSTEMTIME time;
time.wYear=2000+GetTagWord("CPU_TIME.YEAR");
time.wMonth=GetTagWord("CPU_TIME.MONTH");
time.wDay=GetTagWord("CPU_TIME.DAY");
time.wHour=GetTagWord("CPU_TIME.HOUR");
time.wMinute=GetTagWord("CPU_TIME.MINUTE");
time.wSecond=GetTagWord("CPU_TIME.SECOND");
SetLocalTime(&time);
return 0;
}
Ce script je l’exécute toutes les secondes car j'ai remarque que si je le faisais toutes les 5 secondes, je suis décalé entre mon automate et mon serveur d'environ 3 secondes, si je le fais toutes les minutes, je suis décalé d'une dizaine de secondes.
Déjà là, je ne comprend pas pourquoi.
Ensuite si mon la date et l'heure de mon PC n'est pas régler sur UTC, j'ai un décalage entre l'heure WinCC et la base de donnée des alarmes.
Ensuite, sur mes postes clients et sur mon PC de développement, j'utilise la fonction NET TIME de Windows (1 fois par jour). Mais si j'ai une serveur qui crash, je ne sais plus mettre à l'heure mes clients.
Quelqu'un pour t'il m'expliquer comment configurer correctement WinCC, les alarmes, et les PC pour que tout soit à la même heure? Sachant que mon problème est liée au changement d'heure hiver/été, car l'heure que je reçois dans l'automate est à ce moment là ralenti ou accélérer pour qu'il n'y ait jamais de trou ou de recouvrement d'heure dans la production.
Merci.
Je planche actuellement sur la mise à l'heure d'une installation WinCC et S7-400 qui ne fonctionne pas correctement, ou j'ai pas de réponse à toutes mes questions.
Dans mon automate, je reçois l'heure du service informatique, avec cette heure, je remet à l'heure mon automate toutes les minutes.
Ensuite je lis l'heure de l'automate et je la mets à disposition de WinCC dans le DB3. (j'ai deux serveurs redondant, donc le script est dans les deux serveurs).
Dans WinCC, j’exécute le script suivant :
#include "apdefap.h"
int gscAction( void )
{
#pragma code("kernel32.dll")
VOID SetLocalTime(SYSTEMTIME *lpst);
#pragma code();
SYSTEMTIME time;
time.wYear=2000+GetTagWord("CPU_TIME.YEAR");
time.wMonth=GetTagWord("CPU_TIME.MONTH");
time.wDay=GetTagWord("CPU_TIME.DAY");
time.wHour=GetTagWord("CPU_TIME.HOUR");
time.wMinute=GetTagWord("CPU_TIME.MINUTE");
time.wSecond=GetTagWord("CPU_TIME.SECOND");
SetLocalTime(&time);
return 0;
}
Ce script je l’exécute toutes les secondes car j'ai remarque que si je le faisais toutes les 5 secondes, je suis décalé entre mon automate et mon serveur d'environ 3 secondes, si je le fais toutes les minutes, je suis décalé d'une dizaine de secondes.
Déjà là, je ne comprend pas pourquoi.
Ensuite si mon la date et l'heure de mon PC n'est pas régler sur UTC, j'ai un décalage entre l'heure WinCC et la base de donnée des alarmes.
Ensuite, sur mes postes clients et sur mon PC de développement, j'utilise la fonction NET TIME de Windows (1 fois par jour). Mais si j'ai une serveur qui crash, je ne sais plus mettre à l'heure mes clients.
Quelqu'un pour t'il m'expliquer comment configurer correctement WinCC, les alarmes, et les PC pour que tout soit à la même heure? Sachant que mon problème est liée au changement d'heure hiver/été, car l'heure que je reçois dans l'automate est à ce moment là ralenti ou accélérer pour qu'il n'y ait jamais de trou ou de recouvrement d'heure dans la production.
Merci.