Instructions : Ce FAQ ne peut pas être utilisé pour le TP170A. Des informations entre la synchronisation de l'heure entre un TP170A et un S7-300/400 sous WinCC flexible sont disponibles dans le Faq Nr: 24106357
Vous trouverez ci-après les différentes options pour réaliser une synchronisation de l'heure entre un pupitre opérateur (sauf le TP170A) et un S7-300 ou S7-400 :
Contenu :
- Transfert de l'heure système de la CPU vers le pupitre opérateur
- Transfert d'une heure système spécifiée dans le pupitre opérateur vers la CPU
2.1 Variante 1 - Synchronisation sans zone mémoire "Date/Heure API"
2.2 Variante 2 - Synchronisation avec zone mémoire "Date/Heure API"
- Téléchargement
Note :
Vous trouverez disponible en téléchargement à la fin de ce Faq , trois exemples de projets dans lesquels les différentes méthodes de transfert de la date et heure ont été réalisés.
Transfert de l'heure système de la CPU vers le pupitre opérateur Vous pouvez synchroniser l'heure système sur le pupitre, qui est utilisé pour l'horodatage des messages des événements apparaissant, avec l'heure système de l'automate en utilisant la zone de coordination "Date/heure sur l'automate". Le projet pour cet exemple se trouve dans la pièce jointe nr 1, en fin de ce Faq.
Dans cet exemple, la synchronisation est unidirectionnelle, c'est à dire à partir de l'unité centrale vers le pupitre opérateur.
Note:
- Veuillez noter que dans le cas d'un changement de l'heure système via le pupitre, la mise à jour peut prendre plusieurs secondes. Cela dépend notamment de la vitesse de communication et du cycle d'acquisition.
Remarque: Vous trouverez plus d'informations sur la synchronisation de l'heure entre le pupitre opérateur et la CPU S7 dans les manuels "WinCC flexible Communication Chapitre 1" sous l'ID: 18797552.
Transfert d'une heure système spécifiée dans le pupitre opérateur vers la CPU
Il y a deux procédures différentes pour la synchronisation entre un automate SIMATIC S7-300/400 et un pupitre opérateur.
Variante 1 - Synchronisation sans la zone mémoire "Date/heure API" Avec cette option de synchronisation sans zone mémoire "Date/heure API", la synchronisation est effectuée par des tâches automate.
Pour cette option de synchronisation entre le pupitre opérateur et l'automate S7-300/400, vous pouvez utiliser le bloc "** SYS_CLK_WinCE_V1" qui est disponible au téléchargement dans la pièce jointe 2 à la fin de ce FAQ.
Cette option de synchronisation nécessite les deux zones mémoires "Contrat automate" et "Date/heure" pour la synchronisation de l'heure système entre un pupitre opérateur et l'automate S7-300/400 sous WinCC Flexible.
- Zone mémoire "Contrat automate":
La zone mémoire "contrat automate" sert à exécuter des tâches automates. La tâche automate est spécifiée par le numéro de tâche entré dans le premier mot de la zone mémoire "Contrat automate". Vous pouvez spécifier jusqu'à 3 paramètres par tâche automate. Le transfert de l'heure système de la CPU au pupitre WinCE est fait par les tâches automate 14 (mise à l'heure) et 15 (mise à la date). Les tâches 40 ou 41 transfèrent les dates et heures du pupitre opérateur vers l'automate.
- zone mémoire "Date/heure":
La zone mémoire "Date/heure" sert à exécuter les tâches automates 40 ou 41. Les tâches automate 40 et 41 lisent la date et l'heure du pupitre opérateur et l'écrivent dans la zone de données de l'automate.
Ci dessous, vous trouverez comment synchroniser l'automate et WinCC Flexible en utilisant le bloc "** SYS_CLK_WinCE_V1".
| N°. |
Procédure |
| 1 |
Importation du bloc "** SYS_CLK_WinCE_V1" dans le projet STEP 7 Une fois que vous avez importé le bloc dans le programme cyclique (OB1), vous générez le bloc de données d'instance associé au bloc de fonction. Connectez le paramètre "IO_SetTime" du bloc pour paramétrer l'horloge système de la CPU S7 avec mémento ex M10.0. La synchronisation entre l'automate et le pupitre opérateur est faite via le paramètre "IO_ReadTime" du bloc. Les 4 autres paramètres sont nécessaire pour la tâche automate pour transférer l'heure système du pupitre vers l'automate. Pour cela, vous créez un bloc de données global par exemple DB20 et vous interconnectez les zones de données appropriées de la zone mémoire "Contrat automate" avec les 4 paramètres du bloc de fonction.
Note: Comme il y a plusieurs taches automates, par exemple "No. 51 - Sélection de l'image", la gestion des données la tâche automate n'est pas effectuée dans le bloc de fonction.
  Figure 05
Note:
Vous pouvez également utiliser ce bloc si vous générez de multiples tâches automate dans votre projet STEP 7. Vous devez juste vous assurer que plusieurs tâches automate ne sont pas démarrées en parallèle ou ré-écrite. |
| 2 |
Configuration de la zone mémoire dans WinCC flexible la zone mémoire pour la zone de communication "Date/heure" est réservée de l'adresse 10.0 du bloc de données d'instance. La zone mémoire contient 6 mots et vous devez donc en rajouter 4 pour avoir la structure "Date_And_Time".
Note: Les quatre derniers bytes de la zone mémoire doivent être dans la zone mémoire automate pour garantir la correspondance de la structure de données avec WinCC Flexible. et pour ne pas lire de mauvaises données. Le type de données Date_And_Time marque la connexion symbolique de la zone mémoire possible dans WinCC Flexible.
  Figure 06
Activez les zone de mémoire "Date/heure" et zone de "Contrat automate". Pour la zone de mémoire "Date/heure", utilisez la même zone de données définie dans le bloc de données d'instance généré..
Pour la zone de mémoire "Contrat automate", vous spécifiez la zone d'adresse du bloc de données global ex "DB20 DBW 0".
  Figure 07 |
| 3 |
Configuration des variables dans WinCC flexible Dans WinCC Flexible, créez les variables booléennes "SetTime" et "ReadTime" et la variable "DateTime" de type DATE_AND_TIME. Pour la première variable, utilisez le même mémento que celui défini dans le point 1. (Ex M10.0 et M10.1). Le mémento de la deuxième variable est déjà intégré dans le bloc de données d'instance à l'adresse 22.0 (voir Fig 06).
  Figure 08
Vous pouvez éventuellement créer la variable "Day of week" pour afficher le jour de la semaine dans une liste de texte par exemple. |
| 4 |
Configuration du champ d'affichage de la date et de l'heure dans WinCC Flexible.
Vous pouvez saisir ou afficher l'heure système Windows du pupitre opérateur dans une vue WinCC Flexible via un champs d'affichage (affichage : affichage de la date/affichage de l'heure activé) avec la propriété "Affichage de l'heure système" et le mode "Entrée/Sortie".
  Figure 09
Pour l'affichage de l'horloge système de l'automate sur le pupitre opérateur, vous devez sélectionner la propriété "Utilisez la variable" à la place de la propriété "Afficher l'heure système" et vous devez lier la variable "DateTime". |
| 5 |
Ajout du bouton pour le paramétrage de l'horloge système. Vous pouvez paramétrer l'horloge système par un bouton, sous l'évènement "Presser", en utilisant la fonction système "Mise à 1 du bit".
  Figure 10
Pour la variable "SetTime", vous utilisez la variable de contrôle que vous avez déjà créée dans l'éditeur de variable pour la synchronisation de l'horloge système du pupitre opérateur avec l'horloge système de l'automate. Pour la synchronisation de l'horloge système de l'automate et du pupitre, vous devez lier la variable "ReadTime" à un bouton séparé.
Pour réaliser une synchronisation automatique entre l'automate et le pupitre, vous pouvez utiliser le planificateur de tâches dans lequel la variable "ReadTime" peut être appelée chaque minute. |
Note:
Cet exemple est utilisable avec tous les automates S7-300/400 et tous les pupitres opérateurs configurables avec WinCC Flexible, à l'exception du TP170A.
Remarque : Plus d'information sur la synchronisation de la date et de l'heure entre l'automate et le pupitre est disponible dans le manuel "WinCC flexible Communication Tome 1" sous l'ID 18797552.
Variante 2 - Synchronisation via zone mémoire "Date/heure API"
Lors de la synchronisation de l'heure avec une zone mémoire, la synchronisation est faite périodiquement sans configuration supplémentaire.
Le bloc fonction "** SYS_CLK_WinCE_V2", disponible dans l'annexe 3 à la fin de ce FAQ synchronise l'heure système de l'automate périodiquement avec le pupitre opérateur. Les horloges pupitre et automate peuvent également être modifiées.
- Zone mémoire "Date/heure API"
La zone mémoire "Date/heure API" est utile pour synchroniser l'heure système du pupitre et de l'automate. La synchronisation est réalisée périodiquement, elle dépend du cycle d'acquisition.
- zone mémoire "Date/heure":
La zone mémoire "Date/heure" sert à exécuter les tâches automates 40 ou 41. Les tâches automate 40 et 41 lisent la date et l'heure du pupitre opérateur et l'écrivent dans la zone de données de l'automate.
- Zone mémoire "Contrat automate":
La zone mémoire "contrat automate" sert à exécuter des tâches automates. La tâche automate est spécifiée par le numéro de tâche entré dans le premier mot de la zone mémoire "Contrat automate". Vous pouvez spécifier jusqu'à 3 paramètres par tâche automate. Le transfert de l'heure système de la CPU au pupitre opérateur est fait par les tâches automate 14 (mise à l'heure) et 15 (mise à la date). Les tâches 40 ou 41 transfèrent les dates et heures du pupitre opérateur vers l'automate.
Ci dessous, vous trouverez comment synchroniser l'automate et WinCC Flexible en utilisant le bloc "** SYS_CLK_WinCE_V2".
| N°. |
Procédure |
| 1 |
Importation du bloc "** SYS_CLK_WinCE_V2" dans le projet STEP 7 Une fois que vous avez importé le bloc dans le programme cyclique (OB1), vous générez le bloc de données d'instance associé au bloc de fonction. Connectez le paramètre "IO_SetTime" du bloc pour paramétrer l'horloge système de la CPU S7 avec mémento ex M10.0. Les 4 autres paramètres sont nécessaires à la tâche automate pour transférer l'heure système du pupitre vers l'automate. Pour cela, vous créez un bloc de données global par exemple DB20 et vous interconnectez les zones de données appropriées de la zone mémoire "Contrat automate" avec les 4 paramètres du bloc de fonction.
Note: Comme il y a plusieurs tâches automates, par exemple "No. 51 - Sélection de l'image", la gestion des données de la tâche automate n'est pas effectuée dans le bloc de fonction.
  Figure 11
Note:
Vous pouvez également utiliser ce bloc si vous générez de multiples tâches automate dans votre projet STEP 7. Vous devez juste vous assurer que plusieurs tâches automate ne sont pas démarrées en parallèle ou écrasées. |
| 2 |
- Configurer la zone mémoire dans WinCC flexible
A partir de l'adresse 10.0 et 22.0 du bloc de données d'instance, la zone mémoire est réservée pour les zones mémoire "Date/heure API" et "Date/heure". Les deux zones mémoire contiennent en tout 6 mots si bien que vous avez besoin de 4 bytes en plus du type de données DATE_AND_TIME.
  Figure 12
Note: Les quatre derniers bytes de la zone mémoire doivent être dans la zone mémoire automate pour garantir la correspondance de la structure de données avec WinCC Flexible et pour ne pas lire de mauvaises données. Le type de données Date_And_Time permet la connexion symbolique de la zone mémoire dans WinCC Flexible.
Pour la zone mémoire "Tâche automate", vous devez spécifier la zone d'adresses du bloc de données global par exemple "DB20 DBW 0".
Insérez la zone mémoire 'Date/heure API" dans votre projet WinCC Flexible, en définissant la connexion et l'adresse. Activez également les zones mémoires "Date/heure" et "Tâche automate". Pour les zones mémoires, utilisez la même zone de données que celle définie dans le bloc de données global et dans le bloc de données d'instance généré.
  Figure 13
Via le cycle d'acquisition, vous définissez l'intervalle avec lequel l'heure système dans le pupitre opérateur est synchronisée avec l'heure système de la CPU S7. Il est recommandé de paramétrer un cycle d'acquisition d'au moins 10 secondes. |
| 3 |
Configuration des variables dans WinCC flexible Dans WinCC Flexible, créez la variable booléenne "SetTime" et la variable "DateTime" de type DATE_AND_TIME. Pour la première variable, utilisez le même mémento que celui défini dans le point 1. (Ex M10.0). Le mémento de la deuxième variable est déjà intégré dans le bloc de données d'instance à l'adresse 10.0 (voir Fig 06).
  Figure 14
Vous pouvez éventuellement créer la variable "Day of week" pour afficher le jour de la semaine dans une liste de texte par exemple. |
| 4 |
Configuration du champ "Date/heure" dans WinCC flexible
Vous pouvez saisir ou afficher l'heure système Windows du pupitre opérateur dans une vue WinCC Flexible via un champ d'affichage (affichage : affichage de la date/affichage de l'heure activé) avec la propriété "Affichage de l'heure système" et le mode "Sortie" ou "Entrée/Sortie".
  Figure 15
Pour l'affichage de l'heure système de l'automate sur le pupitre opérateur, vous devez sélectionner la propriété "Utiliser la variable" à la place de la propriété "Afficher l'heure système" et vous devez lier la variable "DateTime". |
| 5 |
Ajout du bouton pour le paramétrage de l'horloge système. Vous pouvez paramétrer l'horloge système par un bouton, sous l'évènement "Presser", en utilisant la fonction système "Mise à 1 du bit".
  Figure 16
Utilisez la variable de contrôle "SetTime", que vous avez déjà créée dans l'éditeur de variable. La variable de contrôle est remise à 0 dans le bloc après le paramétrage de l'horloge système. La synchronisation périodique de l'horloge système du pupitre est faite automatiquement en intégrant la zone mémoire "Date/heure API". |
Note: Veuillez noter que dans le cas d'un changement de l'horloge système via le pupitre, la mise à jour peut prendre plusieurs secondes. Cela dépend entre autres de la vitesse de communication et du cycle d'acquisition.
Remarque : Plus d'information sur la synchronisation de la date et de l'heure entre l'automate et le pupitre est disponible dans le manuel "WinCC flexible Communication Tome 1" sous l'ID 18797552.
Téléchargement des projets STEP 7 avec le projet WinCC flexible intégré: Copiez le fichier "Time_WinCE_flexible_Ax.zip" dans un répertoire séparé et désarchivez le. Ensuite, vous pouvez utiliser le SIMATIC Manager pour ouvrir et éventuellement éditer le projet STEP 7 avec une station HMI intégrée. Vous pouvez ouvrir le projet WinCC FLEXIBLE intégré avec WinCC flexible 2007 HF4 (à partir de l'édition Compact).
Remarque: Le Hotfix 4 pour WinCC flexible 2007 est téléchargeable gratuitement sur le Faq Nr: 28882233.
Téléchargement: Le téléchargement dans la pièce jointe 1, contient les blocs décrits ci-dessus pour le transfert de l'heure système de la CPU S7 vers le pupitre opérateur (TP170B couleur).
pièce jointe 1:Time_WinCE_flexible_A1.zip ( 2449 KB )
Le téléchargement dans la pièce jointe 2 contient les blocs décrits ci-dessus pour le transfert de la CPU S7 vers le pupitre opérateur d'une heure système définie par l'utilisateur sans la zone mémoire "Date/heure API" (MP277 10").
pièce jointe2: Time_WinCE_flexible_A2.zip ( 2966 KB )
Le téléchargement dans la pièce jointe 3 contient les blocs décrits ci-dessus pour le transfert de la CPU S7 vers le pupitre opérateur d'une heure système définie par l'utilisateur avec la zone mémoire "Date/heure API" (MP277 10").
pièce jointe3: Time_WinCE_flexible_A3.zip ( 2854 KB )
Fonctionnement et environnement de test:
Le tableau suivant liste les composants qui ont été utilisés pour générer et décrire les fonctions décrites :
| Composant |
Produit- et version |
| Système d'exploitation |
Microsoft Windows XP SP2 |
| Outil standard |
- |
| Outil d'Engineering |
STEP 7 V5.4 SP3 HF1 |
| Logiciel HMI |
WinCC flexible 2007 HF4 |
| Système HMI |
TP170 6" & MP277 10" |
mot clés:
OP73, OP77A, OP77B, TP177B, C7-635, C7-636, TP170B, TP177, OP170B, OP177, MOBILE PANEL 170, MOBILE PANEL TP177, MOBILE PANEL TP277, TP270, TP277, OP270, OP277, MP270, MP277, MP370, MP377, paramétrage de la date et de l'heure, synchronisation, pupitre Windows, WinCE, Windows CE
|