afficher la liste des articles

STEP 7 (TIA Portal) -- Création de programmes S7 -- Editer date, heure et compteur 
Dans STEP 7 (TIA Portal), comment programme-t-on une ouverture et une fermeture de volets roulants au lever et au coucher du soleil avec un automate S7-1200/S7-1500 ? 
Synchronisation d'horloge - Synchronisation d'horloge dans le monde de l'automatisme 
Comment convertir un nombre de jours, heures, minutes et secondes en millisecondes dans STEP 7 (TIA Portal) ? 
Dans STEP 7 (TIA Portal), comment convertir une valeur disponible en millisecondes sous la forme jours, heures, minutes et secondes ? 
Comment réaliser la déclaration des temporisations et des compteurs pour le S7-1500 sous STEP 7 (TIA Portal) V12 ? 
Quelles sont les fonctions disponibles dans STEP 7 V5.5 et dans TIA Portal pour manipuler les données de type DT et DTL ? 
Comment programmer un événement planifié dans un S7-1200 avec STEP 7 (TIA Portal) V11 ? 
Dans STEP 7 (TIA Portal), comment faire pour écrire, lire et traiter la date et l'heure d'une CPU S7-300/400/1200/1500 ? 
Pourquoi la valeur de la temporisation n'est-elle pas actualisée en visualisation dynamique dans STEP 7 (TIA Portal) ? 
Comment peut-on réaliser un programmateur hebdomadaire avec un automate SIMATIC S7-1200 et STEP 7 V11 ? 
Comment peut-on faire pour calculer le temps de fonctionnement d'un appareil (une pompe par exemple) dans STEP7 V11 ? 

Dans STEP 7 (TIA Portal), comment programme-t-on une ouverture et une fermeture de volets roulants au lever et au coucher du soleil avec un automate S7-1200/S7-1500 ?au début
Nº de référence:

Description
Un interrupteur crépusculaire est habituellement utilisé pour définir les seuils de déclenchement de la commande de volets roulants à l'aube et au coucher du soleil. La gestion des volets roulants est prise en charge par un automate S7-1200/S7-1500. Vous pouvez déterminer les heures de lever et de coucher du soleil à l'aide de l'automate via un algorithme astrologique inclus dans le projet STEP 7 téléchargeable à la fin de cet article. Il  suffit de renseigner les paramètres du bloc avec les coordonnées de longitude et de latitude et de régler l'horloge de la CPU sur l'heure UTC.

De plus, vous avez la possibilité de décaler les heures d'ouverture et de fermetures comparées à celles calculées par l'algorithme. Vous pouvez, par exemple, ouvrir des volets cinq minutes avant le lever du soleil et les fermer dix minutes après le coucher du soleil. Ces possibilités sont indépendantes des réglages de l'heure d'été et d'hiver.  

Vous trouverez ci-après la manière de mettre en œuvre le projet exemple proposé. Le bloc d'organisation principal "Main" [OB1] comporte trois réseaux de programme.

Dans le réseau 1, le bloc fonctionnel "SunSet_SunRise" [FB2] est appelé pour réaliser le calcul des heures de lever et de coucher du soleil en fonction de la région sélectionnée selon les coordonnées de longitude et de latitude saisies. Le bloc fonctionnel FB2 a été rédigé avec le langage de programmation SCL. Les paramètres "Latitude" et "Longitude" du FB sont à renseigner avec les valeurs réelles des coordonnées de latitude et de longitude. 

La figure 01 présente un exemple de paramétrage du bloc fonctionnel "SunSet_SunRise" [FB2]. Les coordonnées GPS de la ville de Nuremberg sont les suivantes :

  • Latitude: 49.4741 
  • Longitude: 11.1296


Figure 01

Les valeurs horaires de lever et de coucher du soleil sont disponibles sur les paramètres de sortie "Sunrise" et "Sunset" du bloc FB2 ; celles-ci peuvent également être accessibles via le bloc de données d'instance DB  associé lors de l'appel du bloc "SunSet_SunRise" [FB2].

Le réseau 2 s'occupe du calcul des heures d'ouverture et de fermeture des volets en fonction des heures de coucher et de lever du soleil de référence. Dans cet exemple, les volets seront ouverts cinq minutes avant le lever du soleil et se refermeront dix minutes après le coucher du soleil..

  • L'instruction "T_SUB" soustrait cinq minutes à la variable "SunSet_SunRise_DB.Sunrise" du DB d'instance. Ensuite, cette valeur calculée est sauvegardée dans la variable temporaire "SetpointSET".
  • L'instruction "T_ADD" ajoute dix minutes à la variable "SunSet_SunRise_DB.Sunset" du DB d'instance. Ensuite, cette valeur calculée est sauvegardée dans la variable temporaire "SetpointRESET".


Figure 02

L'instruction "RD_LOC_T", présente dans le réseau 3, permet de lire la date et heure locale de l'horloge de la CPU puis de la sauvegarder dans la variable "ActualLocalDTL". Les ordres de pilotage du volet pour le matin et le soir sont fixés à l'aide des deux instructions de comparaison "Plus grand ou égal à" et "Plus petit ou égal à" .

La sortie "MyOutput" (A0.0) délivre le signal "Vrai" lorsque :

  • la variable "ActualLocalDTL" est supérieure ou égale à la valeur de la variable "SetpointSET". (cinq minutes avant le lever du soleil)
  • la variable "ActualLocalDTL" est inférieure ou égale à la valeur de la variable "SetpointRESET" (dix minutes après le coucher du soleil).


Figure 03

Téléchargement
Copiez le fichier "STEP7_TIA-Portal_AstronomicalClock_S7_1200_1500.zip" dans un répertoire séparé et lancez le désarchivage du programme par double-clic. Le projet STEP 7sera alors automatiquement désarchivé avec l’ensemble de ses sous-répertoires. Ensuite, vous pourrez ouvrir et travailler avec ce projet STEP 7 (TIA Portal).

STEP7_TIA-Portal_AstronomicalClock_S7_1200_1500.zip ( 1461 KB )

Environnement de développement
Les figures et le téléchargement de cet article ont été réalisés avec STEP 7 (TIA Portal) V12+SP1+Update 3

Synchronisation d'horloge - Synchronisation d'horloge dans le monde de l'automatismeau début
Nº de référence:

Synchronisation d'horloge
Synchronisation de l'heure dans le monde de l'automatisme

D'ici, vous naviguerez directement vers les articles les plus importants sur le sujet "Synchronisation de l'heure" sur le support en ligne Industry.
 

Méthodes de synchronisation de l'heure      
SIMATIC S7 NTP SINAUT ST7 Programme utilisateur HMI/PCS 7 Produits Tools/Info

Synchronisation de l'heure avec la méthode SIMATIC

La procédure SIMATIC pour la synchronisation de l'heure est un protocole propriétaire avec lequel les composants SIMATIC peuvent garder leur horloge synchronisée les unes par rapport aux autres.
 

FAQ Lien
Configuration du SIMATIC S7-300 en tant que maître/esclave d'horloge pour la synchronisation de l'heure via Industrial Ethernet 44049612
Configuration du SIMATIC S7-400 en tant que maître/esclave d'horloge pour la synchronisation de l'heure via Industrial Ethernet 18130164
Configuration d'une station PC en tant que maître/esclave d'horloge pour la synchronisation de l'heure via Industrial Ethernet 44045424
Synchronisation d'horloge via PROFIBUS dans l'environnement SIMATIC 17544115
Synchronisation d'horloge via MPI dans l'environnement SIMATIC 17521938
Comment synchroniser des horloges de CPU entre-elles ? 24658964
Comment régler l'heure d'un automate S7-300 depuis WinCC lorsque SIMATIC Powerrate et une liaison "Named Connection" sont utilisés ? 67852262
Que faire lorsque la synchronisation d'horloge dans la CPU en tant qu'esclave d'horloge ne fonctionne pas ? 25702851
Pourquoi le message "Saut de temps détecté - commutation permanente sur le mode esclave" apparaît ? 24039420
Synchronisation de l'heure depuis une CPU S7 vers d'autres modules ou stations DP (SFC48) 1292197
Pourquoi ne peut-on pas utiliser le standard IEEE 1588 pour la synchronisation d'horloge des automates SIMATIC ? 22144689
     

Synchronisation de l'heure avec la méthode NTP

La procédure NTP (Network Time Protocol) est un standard pour fournir l'heure de manière fiable dans les réseaux.
 
FAQ Lien
Quels sont les modules SIMATIC S7-300/S7-400 qui supportent les télégrammes d'horloge NTP ? 17990844
Comment configurer un PC en tant que serveur NTP ? 22144502
Synchronisation d'horloge avec la procédure NTP (sans SICLOCK) pour les petites installations PCS 7 61931975
Configuration de la synchronisation d'horloge dans les domaines Windows 16620294
Pourquoi l'alarme de temps est-elle déclenchée trop tard en heure d'été dans SIMATIC PCS 7 ? 17858505
     
Exemples d'application Lien
Synchronisation d'horloge entre un pupitre IHM et un API SIMATIC 69864408
Synchronisation d'horloge entre un WinCC Runtime Professional et un API SIMATIC 67518641
Bibliothèque pour la fonctionnalité serveur SNTP dans une CPU S7 82203451
Accès distant sécurisé sur les stations SIMATIC via Internet et UMTS 24960449
     

Synchronisation de l'heure sur les systèmes SINAUT ST7

Dans les systèmes SINAUT ST7, le récepteur radio DCF77 ou un serveur NTP peuvent être utilisé pour la synchronisation de l'heure.
 
FAQ Lien
Configuration de la synchronisation de l'heure dans un réseau SINAUT 23810539
A quoi faut-il prendre garde lorsque l'horloge d'un module TIM est réglée avec le récepteur DCF77 intégré ? 51563241
Quels sont les remèdes lorsque l'horloge d'un ST7cc-PC ou ST7sc-PC n'est pas automatiquement réglée via le TIM avec récepteur DCF7 raccordé sur le bus MPI ? 51558737

Synchronisation de l'heure par le programme utilisateur

Solutions individuelles pour la synchronisation de l'heure par le programme utilisateur.
 

FAQ Lien
Synchronisation d'horloge entre SIMATIC T-CPU et SINAMICS S120 44356870
Synchronisation d'horloge entre CPU SIMATIC S7 et entraînement SINAMICS S 60266999
Synchronisation d'horloge entre pupitre SIMATIC HMI et CPU SIMOTION 23751257
Synchronisation d'horloge entre un pupitre avec WinCC flexible et un automate S7-300/400 24104104
Comment régler l'heure d'un automate S7 depuis WinCC ? 7802886
Comment utiliser l'heure des satellites GPS dans WinCC ? 1069326
     
Exemples d'application Lien
Synchronisation de données et de l'heure avec la communication S7 entre plusieurs sous-stations S7-1200 et une station de tête S7-1500/300. 40556214
Bibliothèque de communication LCom pour la communication Ethernet entre SIMOTION et SIMATIC 48955385
Synchronisation de l'horloge d'un variateur Micromaster MM4 avec une CPU SIMATIC S7 via PROFIBUS 25339612
Communication Ethernet entre S7-1200 et S7-200 40622389
SINAMICS S: Synchronisation de l'heure entre S7-300/400 (STEP 7 V5) et S120 88231134
     

Synchronisation d'horloge avec pupitres IHM / Systèmes PCS 7

Vous trouverez, ci-dessous, des articles sur la synchronisation d'horloge avec des pupitres IHM et des systèmes PCS 7.
 

FAQ Lien
Configuration de la synchronisation d'horloge pour les clients WinCC (version de WinCC < V6.0) 775131
Synchronisation d'horloge entre S5 et pupitres opérateurs sur base Windows 22008093
Synchronisation d'horloge entre TP170A / TP170micro / TP177micro et CPU S7-200 avec WinCC flexible 19323674
Synchronisation d'horloge entre TP170A et automate S7-300 ou S7-400 avec WinCC flexible 24106357
Synchronisation entre pupitre opérateur ligne ou graphique et S7-300/400 avec ProTool 24088798
Synchronisation entre pupitre opérateur ligne ou graphique et S7-200 avec ProTool 16807371
Synchronisation entre S7-300/400 et OP3 (C7-621) avec ProTool 23972743
Synchronisation entre TP170A et automate S7-300/400 avec ProTool 23972509
Synchronisation entre pupitres opérateur sur base Windows et un automate S7-300/400 avec ProTool 24079457
Pourquoi les messages sont-ils affichés dans WinCC avec une heure de décalage ? 7604251
Synchronisation entre TP170A et CPU S7-200 avec ProTool 18630804
Pourquoi les messages provenant de l'AS de PCS 7 ont-ils un horodatage par exemple en avance de 2 heures par rapport à l'OS, alors que l'AS et l'OS affichent la même heure ? 17811102
Quels réglages sont à respecter pour la synchronisation d'horloge dans PCS7? 16622902
Comment régler la date et l'heure de WinCC via la boîte Windows ? 268841
Configuration de la synchronisation d'horloge pour les clients WinCC (version de WinCC < V6.0) 775131
Quels sont les réglages à faire dans Windows 7 pour que WinCC flexible Runtime/WinCC Runtime Advanced puisse être capable de modifier l'heure du PC ? 59203176
     
Exemples d'application Lien
Synchronisation d'horloge entre un pupitre IHM et un API SIMATIC 69864408
Synchronisation d'horloge entre un WinCC Runtime Professional et un automate S7 67518641
SIMATIC PCS 7 – SIMATIC IT – Intégration basé sur PCS 7 / SIMATIC IT Intégration Pack 2007 26639558
SIMATIC PCS 7 – SIMATIC IT – Intégration basé sur PCS 7 / SIMATIC IT Intégration Pack V6.1 24639647

 

Produits pour la synchronisation d'horloge

Produits et systèmes Lien
Description du produit SICLOCK Lien
SICLOCK sur le support en ligne Industry Lien

Outils et remarques générales

Vous trouverez ici des remarques supplémentaires sur, entre autres, la gestion des types données de l'heure et d'autres sujets, ainsi qu'une sélection de manuels sur le sujet Synchronisation d'horloge.
 

Blocs fonctionnels Lien
Quels sont les blocs standard STEP 7 (à partir de V5.2) qui sont disponibles pour l'horodatage et la synchronisation d'horloge ? 15249609
Comment calculer l'heure locale dans une CPU S7-300/400 et l'utiliser comme heure système sur un pupitre ? 19324378
Lecture avec SFC1 (READ_CLK)  et écriture avec SFC0 (SET_CLK) de la date et de l'heure ? 21222026
Comment convertir une valeur exprimée en secondes en jours, heures; minutes et secondes ? 874721
Trucs et astuces pour la lecture et la comparaison de dates, heures et compteurs 2443515
Quelles sont les fonctions disponibles dans STEP 7 V5.5 et dans  TIA Portal V11 pour manipuler les données de type DT et DTL ? 63900229
Comment écrire, lire et traiter la date et l'heure pour les S7-300/400/1200/1500 dans STEP 7 (TIA Portal) ? 43566349
Comment convertir un horodatage local (date et heure) d'un ordinateur en un horodatage universel coordonné (UTC) ? 24201113
Comment peut-on utiliser les fonctions IEC pour lire et écrire la date et l'heure dans une CPU ? 24658864
     
Informations supplémentaires sur DCF77 Lien
Récepteur DCF 77 pour WinCC 1046241
Téléchargement des blocs fonctionnels pour le récepteur SIPLUS DCF77 56041890
Synchronisation d'horloge avec le récepteur de signal d'horloge DCF77 dans PCS 7 V5.x 16533276
Comment configurer la synchronisation de l'heure avec DCF77 ? 19693801
Pourquoi l'outil logiciel DCF77 Client n'effectue-t-il pas le réglage de l'heure ? 17059590
     
Conférences dans le forum technique   Lien
Le forum technique propose une plateforme de discussion en allemand et en anglais permettant aux utilisateurs et aux experts d'échanger. allemand
anglais
   

Comment convertir un nombre de jours, heures, minutes et secondes en millisecondes dans STEP 7 (TIA Portal) ?au début
Nº de référence:

Description
Certaines applications d'automatisation nécessitent la conversion en millisecondes d'un nombre de jours, heures, minutes et secondes. Pour cette conversion, vous pouvez utiliser le téléchargement joint ci dessous. Celui-ci contient deux fonctions :

  • pour le S7-1200/1500, utilisez la fonction "Time-in-MS_S7-1500" [FC42]
    et
  • pour le S7-300/400, utilisez la fonction "Time-in-MS_S7-300" [FC41].

Les fonctions contiennent chacune un programme STEP 7 qui, à partir de la saisie des jours, heures, minutes et secondes, calcule et fournit la conversion en millisecondes de la durée saisie. Ces fonctions présentent l'avantage que vous n'avez pas besoin de saisir la durée au format Time. Le nombre de millisecondes est calculé et fourni au paramètre de sortie "Milli_Seconds" (Type de données Dint) à partir de la saisie numérique (type de données Dint) des jours, heures, minutes et secondes . La figure 01 illustre l'appel et le paramétrage du FC42.


Figure 01

Le tableau 01 représente les paramètres d'entrée et de sortie ainsi que les types de données respectifs et les domaines de validité des deux fonctions. La saisie des jours, heures, minutes et secondes est réalisée à partir des paramètres d'entrée "Days", "Hours", "Minutes" et Seconds et la sortie de la valeur calculée en millisecondes est réalisée au niveau du paramètre de sortie "Milli_Seconds". Le paramètre de sortie "Output_Time" fournit la conversion de la saisie des différents éléments temporels au format Time.
 
Entrée Type Description Plage admissible
Days DINT saisie de la valeur pour les jours 1, ..., 31
Hours DINT saisie de la valeur pour les heures 0, ..., 23
Minutes DINT saisie de la valeur pour les minutes 0, ..., 59
Seconds DINT saisie de la valeur pour les secondes 0, ..., 59
Sortie Type Description Plage admissible
Milli_Seconds DINT sortie calculée en  millisecondes 0, ..., 2147483647
Output_Time TIME sortie de la durée au format TIME 0, ..., 24j 20h 31m 23s
Tableau 01

Note
La valeur maximum du paramètre d'entrée est de 24 jours 20 heures 31 minutes et 23 secondes.
Si la valeur d'entrée n'est pas dans la plage admissible, la valeur de sortie est mise à la valeur 0.

Téléchargement
La bibliothèque STEP7 (TIA Portal) jointe contient les trois fonctions décrites ci-dessus. Copiez le fichier "STEP7_TIA_Portal_Time-in-MS" dans un répertoire séparé, puis lancez le fichier par double-clic. La bibliothèque est automatiquement désarchivée avec ses différents sous-répertoires. Par la suite vous pouvez ouvrir et exploiter la bibliothèque dans STEP 7 (TIA Portal) et traiter les trois fonctions.

STEP7-TIA-Portal_Time_in_ms.zip ( 761 KB )    

Environnement de développement
La figure et le téléchargement de ce FAQ ont été réalisés avec STEP 7 (TIA Portal) V12 + SP1.

Mots-clés complémentaires
Convertir, conversion

Dans STEP 7 (TIA Portal), comment convertir une valeur disponible en millisecondes sous la forme jours, heures, minutes et secondes ?au début
Nº de référence:

Enoncé
Les trois blocs fonctionnels décrits ci-dessous déterminent une durée en jours, heures, minutes et secondes à partir de la saisie d'une valeur en millisecondes correspondante.

  • Pour le S7-1200 vous utilisez le bloc "ChangeMilliSec_S7-1200" [FB65]
  • Pour le S7-1500 vous utilisez le bloc "ChangeMilliSec_S7-1500" [FB60]
  • Pour les S7-300/400 vous utilisez le bloc "ChangeMilliSec_S7-300" [FB61].


Figure 01

Le tableau 01 représente les paramètres d'entrée et de sortie avec leurs types de données et leur plages de valeurs pour les trois blocs fonctionnels. La saisie de la valeur en millisecondes est effectuée via le paramètre d'entrée "Value" et le résultat des valeurs calculées est disponible au niveau des paramètres de sortie "Days", "Hours", "Min" et "Sec".
 
Paramètre d'entrée Type Description Plage
Value DINT Valeur d'entrée contenant le temps en millisecondes -2147483648,..,
+2147483647
Paramètre de sortie Type Description Plage
Days INT Nombre de jours calculés -32768,...,+32767
Hours INT Nombre d'heures calculées 0, ..., 23
Min INT Nombre de minutes calculées 0, ..., 59
Sec INT Nombre de secondes calculées 0, ..., 59
Tableau 01

Téléchargement
Les trois fonctions ci dessus font partie de la bibliothèque jointe à STEP 7 (TIA Portal). Copiez le fichier "STEP7-TIA-Portal_Change_Millisec.zip" dans un répertoire séparé puis désarchivez le par un double-clic. La  bibliothèque avec l'ensemble de tous ses sous-répertoires est maintenant automatiquement désarchivée. Par la suite vous pouvez ouvrir la bibliothèque dans STEP 7 (TIA Portal) et exploiter les trois fonctions.

STEP7-TIA-Portal_Change_Millisec.zip ( 745 KB )  

Environnement de développement
La figure et le téléchargement de ce FAQ ont été réalisés avec STEP 7 (TIA Portal) V12 + SP1. 

Comment réaliser la déclaration des temporisations et des compteurs pour le S7-1500 sous STEP 7 (TIA Portal) V12 ?au début
Nº de référence:

Description
Cet article traite le thème "Utilisation de temporisations dans un programme" et illustre les différentes méthodes sous STEP 7 V5.x et sous STEP 7 (TIA Portal) V12.

Procédure dans STEP 7 V5.x
Pour des raisons de compatibilité avec STEP 5, vous avez également la possibilité d'utiliser les temporisations S5 et les compteurs S5 de STEP 7. Ces temporisations/compteurs ont une portée globale et sont adressés à l'aide d'un numéro. Lors du démarrage de la temporisation/compteur, on définit lors de l'appel la "valeur" et la "base de temps", indépendamment du fait que la temporisation soit par exemple du type retard à l'enclenchement ou que le compteur soit utilisé en mode incrémentation. Veuillez tenir compte des propriétés système suivantes lors de l'appel et du paramétrage :

  • Les programmes sont exclusivement liés aux numéros.
  • Les blocs avec des temporisations / compteurs S5 ne sont pas utilisables à plusieurs reprises.
  • La plage des valeurs de temporisation est au maximum de 9990s et celle du compteur est limitée à 999.
  • Les plages de temps sont: 0.01 .. 9.99, 0.1 … 99.9, 1 … 999, 10 … 9990 secondes.
  • La précision de la temporisation dépend de la base de temps retenue.

Procédure dans TIA Portal
Vous déclarez les temporisations et les compteurs dans le bloc qui les appelle voire les utilise. La temporisation IEC est une structure de type IEC-TIMER, IEC-LTIMER, TON_TIME, ou TON_LTIME que vous pouvez également déclarer en tant que variable locale d'un bloc.

Avantages

  • Les blocs peuvent être appelés à plusieurs reprises avec des blocs de données d'instance réactualisés.
  • Les blocs disposent d'une plage de comptage plus importante et la précision des temporisations est indépendante de la base de temps.
  • Les temporisations IEC sont plus performantes que les temporisations S5.

La figure 01 illustre cette procédure à l'aide de deux exemples : la temporisation IEC "SwitchDelay" a été déclarée en variable locale de type de données "TON_TIME" et le compteur IEC "CountDB" a été déclaré en variable locale de type de données "CTU_INT".


Figure 01

Note sur la sécurité
Attention
Les fonctions et solutions décrites dans cet article se limitent essentiellement à la réalisation de tâchesd'automatisation. Veuillez considérer, de plus, que la mise en réseau de votre équipement avec d'autres parties de l'installation, avec le réseau d'entreprise ou avec Internet nécessite la mise en place des mesures correspondantes dans le cadre de la sécurité en environnement industriel. Vous trouverez plus d'informations sur le sujet dans l'article ID 50203404.

Environnement de développement
Les figures de ce FAQ ont été réalisées avec STEP 7 V12.

Quelles sont les fonctions disponibles dans STEP 7 V5.5 et dans TIA Portal pour manipuler les données de type DT et DTL ?au début
Nº de référence:

Description
Si vous souhaitez extraire l'année, le mois, le jour et l'heure d'une variable de type "DATE_AND_TIME" à partir de STEP 7 (TIA Portal) et STEP 7 V5.5, vous devez utiliser différentes fonctions ou instructions avancées. Vous trouverez ces instructions, dans STEP 7 (TIA Portal), à partir de la palette "Instructions avancées" dans le répertoire "Date et heure". Dans STEP 7 V5.5, les fonctions standard IEC sont disponibles dans la bibliothèque STEP7 "Standard-Library".


Figure 01

La figure 01 résume les différentes fonctions nécessaires pour extraire les formats de données (TOD, DATE, INT, DINT et TIME) à partir des données de type DT et DTL. Le tableau ci-après donne un aperçu des fonctions selon les différentes versions de STEP 7 et des CPU utilisées :
 
STEP 7 (TIA Portal) STEP 7 V5.5 Description
S7-300/400 S7-1200/1500 S7-300/400
WR_SYS_T WR_SYS_T SFC 0 "SET_CLK" Réglage de l'heure
RD_SYS_T RD_SYS_T SFC 1 "READ_CLK" Lecture de l'heure
T_CONV T_CONV * FC 6 DT_DATE Conversion et extraction de la date
FC 7 DT_DAY Conversion et extraction du jour
FC 8  DT_TOD Conversion et extraction de l'heure
T_COMBINE T_COMBINE FC3 D_TOD_DT Concacténation de l'heure
T_COMP - T_COMP (seulement S7-1500) FC 9 "EQ_DT" Comparaison de l'heure
T_ADD T_ADD FC 1 "AD_DT_TM" Addition d'heures
T_SUB T_SUB FC 34 "SB_DT_DT" Soustraction d'heures
FC35 "SB_DT_TM" Soustraction d'heures
T_DIFF T_DIFF - Différence d'heures
* Avec le S7-1200 vous pouvez accéder directement, via leurs mnémoniques, aux différentes variables constituant la structure DTL.

Différences entre les types de données DT et DTL :

  • Le type de données "DT" stocke la date et l'heure au format BCD, ce qui signifie que la taille de ce type de données est de 8 octets.
  • Une variable de type "DTL" possède une longueur de 12 octets pour stocker la date et l'heure dans une structure prédéfinie.

Si vous déclarez une variable de type "DTL" (par exemple dans une table de données), vous pouvez accéder séparément aux différents éléments de la structure de la variable déclarée.


Figure 02

Vous trouverez d'autres informations détaillées sur les fonctions et leur paramétrage dans l'aide en ligne des différentes versions de STEP 7 utilisées. Pour accéder à l'aide en ligne, il vous suffit de sélectionner un bloc fonction et d'appuyer sur la touche "F1".

Environnement de création
Les figures de cet article ont été vérifiées avec STEP 7 V12+SP1

Comment programmer un événement planifié dans un S7-1200 avec STEP 7 (TIA Portal) V11 ?au début
Nº de référence:

Description
Cet article contient le téléchargement "ClockAlarm_V11 SP2.zip", avec lequel vous pouvez configurer l'heure d'exécution d'un programme événementiel dans votre S7-1200. Téléchargez et désarchivez le fichier dans un répertoire distinct sur votre disque dur et ouvrez ensuite, dans TIA Portal, la Task Card "Bibliothèques". Insérez la bibliothèque "ClockAlarm_V11 SP2" dans votre bibliothèque globale. Avec l'instruction  "ClockAlarm", vous pouvez programmer un évènement isolé ou périodique chaque année, mois, jour, heure, minute ou chaque seconde. Cette instruction "ClockAlarm" se charge de comparer l'heure du système avec celle qui lui a été paramétrée.

Exemple
Un événement quotidien doit être configuré tous les jours à 16:30 heure locale avec l'instruction "ClockAlarm". Vous trouverez les détails des paramètres dans le tableau "Paramètres de ClockAlarm".

  • Activez les entrées de validation "Enable hour", "Enable minute" et "Local time" (mettre à "1" ces paramètres d'entrées).
  • Saisissez pour le paramètre "Hour" ("heure") la valeur "16" et pour le paramètre "Minute", la valeur "30".
  • Désactivez toutes les autres paramètres d'entrées (c'est-à-dire leur affecter la valeur "0").
  • Connectez la sortie booléenne "OUT" vers une variable binaire de votre choix (par exemple M2.0 "WakeUp").
  • Connectez la sortie booléenne "OUT_of_Range" vers une variable binaire de votre choix (par exemple M2.1 "OutOfRange"). Cette sortie binaire est ainsi programmée tous les jours à 16:30 heure locale.

Veuillez vous reporter à la figure 01 pour plus de détails.


Figure 01

Le tableau ci-après contient les informations sur les paramètres de l'instruction "ClockAlarm":
 
Nature du paramètre Nom du paramètre Type de données Valeur / Description
Entrée Year UInt 1970..2554
Entrée Enable Year Bool "1" = année activée, "0" = désactivé (aucune surveillance)
Entrée Month UInt 1...12
Entrée Enable Month Bool 1" = mois activé, "0" = désactivé (aucune surveillance)  
Entrée Day USInt 0...31
Entrée Enable Day Bool 1" = jour activé, "0" = désactivé (aucune surveillance)  
Entrée Hour USInt 0...23
Entrée Enable hour Bool 1" = heure activée, "0" = désactivé (aucune surveillance)  
Entrée Minute USInt 0...59
Entrée Enable minute Bool 1" = minute activée, "0" = désactivé (aucune surveillance)  
Entrée Second USInt 0...59
Entrée Enable second Bool 1" = seconde activée, "0" = désactivé (aucune surveillance)  
Entrée Week USInt 1...7; "-1" = jour de la semaine, "1" = dimanche
Entrée Enable week Bool 1" = semaine activée, "0" = désactivé (aucune surveillance)  
Entrée Local time Bool "1" = heure locale; "0" = heure système
Sortie Out Bool La date et l'heure courantes correspondent à la date et l'heure programmées
Sortie Out_of_Range Bool Il existe au moins une valeur d'entrée qui a été mal renseignée, si "Out_of_Range" = 1, alors le contact "ENO" sera à "false".

ClockAlarm_V11_SP2.zip ( 695 KB )

Conditions requises

  • S7-1200
  • Câble Ethernet
  • PG / PC
  • STEP 7 (TIA Portal) V11+SP2

Dans STEP 7 (TIA Portal), comment faire pour écrire, lire et traiter la date et l'heure d'une CPU S7-300/400/1200/1500 ?au début
Nº de référence:

Description
Si on souhaite lire ou écrire l'heure et la date de l'horloge des automates, il est nécessaire de disposer d'un type de données "DT" (DATA_AND_TIME) pour les CPU S7-300/400 et d'un type de données "DTL" pour le CPU S7-1200. Dans le cas du S7-1500, il est possible de choisir entre les trois types de données "DT", "LDT" et "DTL". Le type de données "DT" stocke les valeurs de la date et de l'heure au format BCD et occupe donc 8 octets. Une variable de type "DTL" possède une longueur de 12 octets et mémorise la date et l'heure dans une structure prédéfinie. D'autres informations relatives aux types de données figurent dans l'aide en ligne de STEP 7 (TIA Portal), à l'aide des mots-clés "DT (DATE_AND_TIME)" et "DTL".

Le tableau ci-dessous donne un aperçu des instructions disponibles pour manipuler la date et l'heure des automates S7-300/400 et S7-1200/1500 :
 
Instructions Pour les CPU S7-300/400
WR_SYS_T En appelant "WR_SYS_T", vous réglez l'heure et la date de l'horloge de la CPU. Vous entrez la date et l'heure dans le format de données DT (DATE_AND_TIME) à l'entrée IN de l'instruction.
RD_SYS_T L'instruction "RD_SYS_T" permet de lire la date et l'heure actuelles de l'horloge de la CPU. Les données lues sont fournies en format DT à la sortie OUT de l'instruction.
T_CONV Cette instruction vous permet de convertir un type de données DT (DATA_AND_TIME), en un type de données :
  • Date : pour la date en cours,
  • Int : pour le jour de la semaine,
  • TOD (TIME_OF_DAY) : pour l'heure en cours.
T_COMBINE Vous pouvez utiliser l'instruction "T_COMBINE", pour convertir les formats DATE et TIME_OF_DAY (TOD) dans le format nécessaire DATE AND TIME (DT).
Instructions Pour les CPU S7-1200/1500
WR_SYS_T L'instruction WR_SYS_T permet de régler la date et l'heure de l'horloge CPU. L'indication des données de date et d'heure s'effectue dans le format DTL au paramètre d'entrée IN de l'instruction.
RD_SYS_T Cette instruction vous permet de lire la date et l'heure actuelles de l'horloge CPU. Les données lues sont indiquées dans le format DTL au paramètre de sortie OUT de l'instruction.
T_CONV Convertit le type de données figurant sur le paramètre d'entrée IN dans le type de données fourni par la sortie OUT
T_COMBINE Combine la valeur de date avec une valeur d'horaire, et convertit celles-ci en une valeur combinée date + heure.
Tableau 01

A l'aide de l'instruction "T_CONV" pour S7-300/400, il est possible d'extraire de la structure DT le jour de la semaine, l'heure et la date. Pour cela vous devez appeler trois fois cette instruction. Le paramètre IN est à renseigner avec la variable au format "DT" et le paramètre de sortie "OUT" avec les variables pour les données de type "Date", "Int" et "TOD".

  1. Conversion de "DT" vers "Date" (pour la date)
  2. Conversion de "DT" vers "Int" (pour le jour de la semaine)
  3. Conversion de "DT" vers "TOD" (pour l'heure en cours)

Avec un S7-1200/1500, il est possible, via l'accès symbolique, d'accéder aux différents éléments de la variable DTL, sans avoir recours à l'adressage indirect ou à l'adressage absolu. Nous vous recommandons de mémoriser ces valeurs dans un bloc de données global. Déclarez votre variable, par exemple "DateTime" avec "DTL" comme type de données et cliquez ensuite sur le symbole représentant une flèche à gauche de la variable. Les différents éléments de la structure (YEAR, MONTH, DAY, ...) s'affichent alors avec leur type de données.


Figure 01

Le projet "STEP7_TIA_Portal_DataTime" contient une station S7-300 (CPU 317-2PN/DP) et une station S7-1500 (CPU 1516-3 PN/DP).

Station S7-300
Le premier réseau de la fonction FC20 comporte l'appel de l'instruction "RD_SYS_T" pour lire la date et l'heure de la CPU. Au second réseau, l'instruction "T_CONV" extrait les données de type "Date", "Int" et "TOD" du format de type "DT". La fonction FC21 permet de régler l'heure et la date de l'horloge de la CPU via l'instruction "WR_SYS_T". L'utilisation de l'instruction "T_COMBINE" permet de réaliser une conversion des formats "Date" et "Time_of_Day" vers le format "Date_and_Time". Les paramètres sont définis avec les variables provenant des blocs de données "Read_DT" (pour la lecture des données) et Write_DT (pour l'écriture des données).

Station S7-1500
L'horloge de la CPU est lue et écrite par les instructions "RD_SYS_T" (appelée dans le FC1) et "WR_SYS_T" (appelée dans l'OB1). La variable d'entrée du DB "DB_Set.DateTime" (pour l'écriture des données) et de la variable de sortie du DB "DBStore1.DateTime" (pour la lecture des données) sont de type "DTL".

Voici un exemple d'utilisation d'une variable DTL, avec demande d'allumage programmable sur les 5 jours d'une semaine. Du lundi au vendredi, la variable "Access_On" (A0.0) doit recevoir le signal "True" entre 9h00 et 9h15. Tout le reste du temps de la semaine, elle doit recevoir le signal "False".
 
Symbolique Commentaire
DBStore1.DateTime.WEEKDAY lecture du jour de la semaine, par exemple "2" pour lundi
DBStore1.DateTime.HOUR lecture de l'heure, par exemple "14" pour 14 h
DBStore1.DateTime.MINUTE lecture des minutes, par exemple "24" pour la 24ème minute
Tableau 02

En accédant aux différents éléments de la structure (par exemple le jour, l'heure, les minutes) et en association avec les opérateurs STEP7 de comparaison et de saut, vous pouvez déclencher des tâches automatiques.

  1. Dans le réseau 1 de la fonction FC1 "DTL_Access", la date et l'heure courantes sont lues à l'aide de la fonction "RD_SYS_T".
  2. Dans les réseaux 2 à 4, on trouve les instructions "IN_RANGE" et les comparateurs "CMP" qui permettent de réaliser les tests selon les plages définies. Dans notre exemple nous avons choisi les jours de la semaine compris entre les valeurs 2 et 6, l'heure comprise entre 9 et 10 et les minutes entre 0 et 15.
  3. Si toutes les conditions programmées sont remplies et sont en concordance avec la variable "Release", alors la variable "Access_On" est mise à "True" dans le réseau 5.
  4. Si au moins une des conditions n'est pas remplie, alors la variable "Access_On" est mise ou remise à "False" (réseau 6).

Téléchargement
Le fichier téléchargeable ci-dessous contient le projet STEP 7 (TIA Portal) avec les fonctions décrites ci-dessus. Copiez le fichier "STEP7_TIA_Portal_DataTime.zip" dans un répertoire distinct et démarrez-le par un double-clic. Le projet avec tous ses sous-répertoires sera automatiquement désarchivé. Vous pourrez ensuite l'ouvrir et le modifier avec STEP 7 (TIA Portal). Le programme proposé contient des commentaires en langues anglaise et allemande.

STEP7_TIA_Portal_DataTime.zip ( 2183 KB )  

Environnement de création
Les figures et téléchargements de ce FAQ ont été vérifiés avec STEP 7 (TIA Portal) V12.

Pourquoi la valeur de la temporisation n'est-elle pas actualisée en visualisation dynamique dans STEP 7 (TIA Portal) ?au début
Nº de référence:

Description
Quand un bloc temporisation n'est pas complètement "câblé", sa valeur en visualisation dynamique n'est pas actualisée.  

Procédure
Pour que la valeur de la temporisation utilisée soit actualisée en visualisation dynamique, vous devez connecter un contact à la sortie Q du bloc tempo, ou bien une variable API à la sortie ET, ou bien réaliser ces deux connexions.


Figure  01

Pour activer une sortie ou un mémento avec un temps de retard, vous pouvez également faire appel à la variable "Q" générée par le bloc de données d'instance de la temporisation. Une fois que la valeur du paramètre de sortie "ET" a atteint la valeur du temps défini au paramètre "PT", l'état de la variable DB1 "MyTime".Q passe de "Faux" à "Vrai". Le mémento "M20.2" passe alors à "1" après écoulement de la durée de la temporisation.


Figure 02

Environnement de création
Les figures de cet article ont été créées avec STEP 7 (TIA-Portal) V12.

Mots-clés
TON, TOF

Comment peut-on réaliser un programmateur hebdomadaire avec un automate SIMATIC S7-1200 et STEP 7 V11 ?au début
Nº de référence:

Description
La bibliothèque "S7-1200_WeeklyTimer" proposée dans ce FAQ permet de réaliser une fonction de programmation hebdomadaire à l'aide de STEP 7 V11.

Instructions
La bibliothèque globale "S7-1200_WeeklyTimer" est composée des trois modèles de copie suivants :
 
Modèles de copie Type Description
Blocs de programme Cams_data Bloc de données avec les variables nécessaires pour transfert au FB "WeeklyTimer"
WeeklyTimer Bloc fonction gérant le pilotage d'une sortie binaire en fonction des réglages hebdomadaires de marche et d'arrêt paramétrés
Types de données API Cam Type de données API utilisées pour le transfert des réglages des temps d'arrêt et de marche (cam)
Time Type de données API utilisées pour le transfert du réglage de l'horaire hebdomadaire.
Tables de visualisation Watch table_1 Table de visualisation permettant l'affichage des données du bloc "Cams_data"

Le bloc fonction "WeeklyTimer" doit être appelé cycliquement dans le projet STEP 7 V11.


Figure 01

Le bloc fonction "WeeklyTimer" propose les paramètres d'entrées et de sorties suivantes : 
Interface Nom Type de données Description
Input Cam "Cam" Transfert des temps de marche et d'arrêt hebdomadaires (Cam)
DTL DTL Transfert de la date actuelle au format DTL
Output OUT Bool Pilotage de cette sortie binaire en fonction des données de durée de marche et d'arrêt (Cam) et des réglages hebdomadaires.

Les types de données disposent des structures de données suivantes : 
Nom du type de données Nom de l'élément Type de données Description
Cam On Time "Time" Définition de l'horaire hebdomadaire de démarrage
Off Time "Time" Définition de l'horaire hebdomadaire d'arrêt
Time Weekday Array [1..7] of Bool Sélection du jour de la semaine (choix multiple possible) ; si aucune valeur hebdomadaire n'a été saisie, le programmateur est désactivé et donc aucune commande de sortie ne sera activée.
Hour USInt Définition de l'heure de démarrage ou d'arrêt (plage de valeur: 0 à 23)
Minute USInt Définition de la minute de démarrage ou d'arrêt (plage de valeur: 0 à 59)

Description de la fonction
Le programmateur hebdomadaire "S7-1200_WeeklyTimer" est disponible sous la forme d'un bloc fonction.
Il dispose d'un réglage nommé "Cam" qui permet de définir les réglages de la plage horaire souhaitée.
Dans la structure de données "Cam", vous devez définir une heure de démarrage via le paramètre "On Time" et une heure d'arrêt via le paramètre "Off Time". Ces heures doivent être renseignées dans le format horaire hebdomadaire (1=dimanche...7=samedi), heure (0...23) et minute (0...59).
Le transfert de ces données horaires s'effectue via le paramètre d'entrée "Cam". Vous devez sélectionner comme type de données "Cam" depuis un bloc de données globales qui contient les réglages horaires renseignés via les valeurs de départ.
La date et l'heure actuelle sont transférées au paramètre d'entrée "DTL". Cette date sert de référence pour réaliser la comparaison avec les valeurs de réglage "cam" demandées. Pour obtenir cette date et heure courante, vous devez utiliser les instructions étendues "RD_SYS_T" et "RD_LOC_T".
Arrivé à l'instant de commutation demandé, le programmateur pilote la sortie "OUT" et la positionne sur la valeur "1" si elle ne l'était pas déjà. Elle est remise à zéro lorsqu'on arrive à l'horaire d'arrêt hebdomadaire souhaitée.

Fonctions spécifiques lors du paramétrage
Il est possible de sélectionner plusieurs plages hebdomadaires.
La plus petite période de commutation possible est d'une minute.
Si aucune date hebdomadaire n'a été sélectionnée pour les phases de démarrage et d'arrêt ,alors les valeurs horaires paramétrées ne seront pas prises en compte par le programmateur.
Si les horaires hebdomadaires (date et heure) de démarrage et d'arrêt sont identiques, c'est la fonction d'arrêt qui sera prioritaire et la sortie sera désactivée.
Si vous souhaitez utiliser plusieurs fois le programmateur, il vous suffit d'appeler à chaque fois le bloc fonctionnel FB "S7-1200_WeeklyTimer" puis de mettre en parallèle toutes les sorties des programmateurs à l'aide de l'instruction OU.

Projet exemple
Le téléchargement "S7-1200_WeeklyTimer_project.zip" contient un exemple de projet avec les réglages horaires du programmateur définis avec les valeurs suivantes :

Programme Nr 1 :    Lundi 08:00 jusqu'au mardi 04:15
Programme Nr 2 :    Samedi et Dimanche de 16:30 à 23:10 


Figure 02: Exemple de paramétrage du programme 1

Téléchargements
 
Version Code
Bibliothèque "S7-1200_WeeklyTimer" pour STEP 7 V11 S7-1200_WeeklyTimer.zip ( 602 KB )
Exemple de projet "S7-1200_WeeklyTimer_project" pour STEP 7 V11 S7-1200_WeeklyTimer_project.zip ( 1652 KB )

Note
Le service pack 1 pour STEP 7 V11 est disponible dans le FAQ Nr:51696778.

Matériels requis :

  • S7-1200  (à partir du firmware V2.0)
  • Câble Ethernet
  • STEP 7 (Professionel ou Basic) V11 SP1
Comment peut-on faire pour calculer le temps de fonctionnement d'un appareil (une pompe par exemple) dans STEP7 V11 ?au début
Nº de référence:

Description
Si vous souhaitez calculer le temps de fonctionnement d'un appareil, vous devez lire à deux intervalles souhaités la date et heure actuelle de la CPU en utilisant l'instruction avancée "RD_SYS_T". Le calcul de la différence de ces deux temps vous donne le temps de fonctionnent présenté au format DTL  La figure 01 présente un exemple de calcul du temps de fonctionnement.


Figure 01

 Scénario 1 : Les deux opérandes "StartTime" et "StopTime" présentent un état de signal à "0".

  • Les deux instructions avancées "RD_SYS_T" sont appelées simultanément et lisent la date et heure actuelle de la CPU. Dans ce cas la différence calculée avec l'instruction "T_DIFF" sera nulle.
  • La valeur de la variable de sortie "Time" de l'instruction "T_DIFF" sera remise à zéro.

 Scénario 2 : Lancement de la mesure de temps: L'opérande "StartTime" présente l'état de signal "1" et l'opérande "StopTime" l'état "0".

  • Le contact inversé "StartTime" s'ouvre et interrompt la lecture de l'heure de la CPU réalisée par l'instruction avancée "RD_SYS_T". La dernière valeur lue dans l'horloge de la CPU est sauvegardée dans la variable temporaire "TimeBase.
  • La seconde instruction avancée "RD_SYS_T" continue d'être traitée et la date et heure courante est sauvegardée dans la variable temporaire "TimeEnd".
  • Le calcul de la différence entre ces deux valeurs de temps, sauvegardés dans les deux variables temporaires "TimeBase" et "TimeEnd", est disponible sur la variable de sortie "Time" de l'instruction avancée "T_DIFF".


Figure 02

Scénario 3 : Arrêt de la mesure de temps. Les deux opérandes "StartTime" et "StopTime" présentent l'état de signal "1".

  • Les deux contacts inversés "StartTime" et "StopTime" s'ouvrent, interrompant la lecture de l'horloge de la CPU via les deux instructions avancées "RD_SYS_T".
  • La dernière valeur de l'horloge lue dans la  CPU est sauvegardée dans la variable temporaire "TimeEnd".
  • Le calcul de la différence entre ces deux  dernières valeurs de temps, sauvegardées dans les deux variables temporaires "TimeBase" et "TimeEnd", est disponible en tant que valeur de temps de fonctionnement, sur la variable de sortie "Time" de l'instruction avancée "T_DIFF".

D'autres informations sur les instructions avancées sont disponibles dans l'aide en ligne du STEP 7 V11. L'aide en ligne s'affiche lorsque vous sélectionnez une instruction avancée et que vous appuyez sur la touche "F1".

Environnement de développement
Les figures présentées dans ce FAQ ont été créées dans STEP 7 V11.0.

 ID contribution:52256282   Date:2014-07-02 
Cette contribution...m´a aidéne m´a pas aidé                                 






























mySupport
My Documentation Manager 
Lettre d'information 
CAx-Download-Manager 
Demande d'assistance technique
A propos de cet article
Imprimer
Créer PDF 
Envoyer l'article
QuickLinks
Outil de compatibilité 
Thèmes
Aide
Aide en ligne
Guided Tour