Instruction: Le tableau suivant décrit quelques exemples de programmes, comment pouvoir retarder temporellement un signal de sortie en fonction d'un signal d'entrée:
| N° |
Applications et exemples de programme |
| 1 |
Le fichier à télécharger "DeadTime.zip" contient un bloc fonctionnel FB115, qui décale temporellement le signal d'entrée et le transforme en signal de sortie. Les variables suivantes d'entrée, de sortie, et statiques sont contenues dans le FB115:
- Variables d'entrée:
INV: de type REAL pour le signal d'entrée.
N_SMP: de type INT pour le multiplicateur.
COM_RST: de type BOOL pour le lancement.
- Variables de sortie:
OUTV: de type REAL pour le signal de sortie.
- Variables statiques:
STORE: mémoire de données de type ARRAY [0..19] OF REAL
L'appel du FB115 se fait cycliquement dans l'OB d'alarme OB35 afin d'être traité sur un intervalle de temps périodique indépendant du temps de traitement du programme. A chacun des intervalles de temps, le signal d'entrée est enregistré dans la variable statique "STORE". Dans le paramètre "N_SMP" est défini le nombre d'enregistrements intermédiaires; à chaque intervalle de temps, chacun des états du signal est transféré dans la mémoire suivante. Lorsque le dernier enregistrement de donnée défini est atteint, l'état est finalement copié dans la variable de sortie "OUTV". Il peut y avoir jusqu'à 20 enregistrements définis (ARRAY [0..19]). Les intervalles de temps pour le transfert de chacun des enregistrements représente une mesure du retard temporel.
  Image 01
Exemple:
Le signal de la variable d'entrée "INV" doit être retardé d'une seconde dans le FB115, avant d'apparaître au niveau du paramètre de sortie "OUTV". L'OB35 a un cycle d'appel par défaut de 100 ms. Le multiplicateur, au niveau de la variable d'entrée "N_SMP" doit contenir dans ce cas la valeur 10.
- DeadTime = "N_SMP" * (intervalle d'appel de l'OB35) = 10 * 100 ms = 1000 ms = 1 s.
Téléchargement:
Le téléchargement proposé contient le projet STEP7 avec les blocs décrits au dessus. Ouvrir et copier le fichier "DeadTime.zip" dans un répertoire distinct. Le projet STEP7 V5.3 sera alors automatiquement décompacté avec l"ensemble de ses sous répertoires associés. Ensuite, le projet peut être ouvert et édité avec le SIMATIC Manager. Le bloc fonctionnel FB115 est techniquement documenté au niveau des commentaires en anglais et en allemand.
DeadTime.zip ( 52 KB ) (52 KO)
|
| 2 |
Le téléchargement "S_Delay.zip" contient un bloc fonctionnel FB100, qui pouvant retarder temporellement 32 signaux d'entrée avec ses 32 sorties. Les variables suivantes sont contenues dans le FB100:
- Variables d'entrée :
X0 ... X31: de type BOOL pour les 32 signaux d'entrées numériques
tv_TIMER: de type TIMER pour la saisie d'une temporisation, comme T1
tv_LAST: de type S5TIME pour la définition du temps de retard
- Variables de sortie :
Y0 ... Y31: de type BOOL pour les 32 signaux de sortie numériques
- Variables statiques :
HSP: de type BOOL, pour le contrôle de la temporisation de la sortie suivante
- Variables temporaires :
SLZ: de type INT, compteur pour le saut LOOP de la boucle
L'ensemble des 32 sorties peuvent être retardées temporellement via une temporisation et le retard minimal est de 10mS. Le nombre d'entrées et de sorties est librement sélectionnable.
Fonction:
La première entrée est directement transférée vers la première sortie. Toutes les autres entrées sortiront les unes après les autres après l'écoulement du temps de retard sur leurs sorties. Si toutes les entrées sont mises à 1 simultanément, toutes les sorties (Y0 ... Y31) passeront à 1 après leur temps de retard au niveau de leur signal de sortie.
L'image 02 monte un exemple de 5 signaux de sortie montés simultanément. Les entrées Y1 à Y4 auront alors, les unes après les autres, leur signal de sortie temporellement retardé. Il est possible d'utiliser par exemple ce bloc pour l'allumage, les uns après les autres, de gros consommateurs.
  Image 02
Téléchargement:
Le téléchargement proposé contient le projet STEP 7 avec les blocs décrits au dessus. Ouvrir et copier le fichier "S_Delay.zip" dans un répertoire distinct. Le projet STEP 7 V5.3 sera alors automatiquement décompacté avec l"ensemble de ses sous répertoires associés. Ensuite, le projet peut être ouvert et édité avec le SIMATIC Manager.
S_Delay.zip ( 33 KB ) (33 KO)
|
| 3 |
Le téléchargement "StepZero" contient la fonction FC100 pour l'application d'une étape 0, dans laquelle le signal d'entrée est retardé une fois temporellement jusqu'à une certaine heure pour être transféré sur la sortie. Les variables d'entrée et de sortie suivantes sont contenues dans le FC100:
- Variables d'entrée:
Tcurrent: de type TIME pour la détermination de l'heure courante
Tzero: de type TIME pour la définition de la fin de l'étape 0
INV: de type REAL pour le signal d'entrée
- Variables de sortie:
OUTV: de type REAL pour le signal de sortie
Cette fonction calcule, pour une étape nulle (sortie sans signal), la durée et pilote la sortie à retardement selon les conditions suivantes:
- Tcurrent < Tzero: OUTV = 0.0
- Tcurrent = Tzero: OUTV = INV
- Tcurrent > Tzero: OUTV = INV
Exemple d'utilisation du programme dans le FC100:
Au niveau de l'OB1, il y a une extraction du format de donnée "TIME_OF_DAY" à partir du format "DATE_AND_TIME" fourni par la variable temporaire "OB1_DATE_TIME" au moyen de la fonction IEC FC8. L'heure dans la journée fournie (ex. T#10h22m48s474ms) est transmise au paramètre "Tcurrent". L'heure de fin de l'étape 0, renseignée au niveau du paramètre "Tzero" (ex. T#11h10m), est totalement libre. Le signal de sortie de la variable "OUTV" est, dans cet exemple, égal à 0 tant que la variable d'entrée "Tcurrent" n'a pas atteint l'heure de 11h10. A partir de ce moment, le signal de sortie est la recopie du signal d'entrée.
  Image 03
Téléchargement:
Le téléchargement proposé contient le projet STEP 7 avec les blocs décrits au dessus. Ouvrir et copier le fichier "StepZero.zip" dans un répertoire distinct. Le projet STEP 7 V5.3 sera alors automatiquement décompacté avec l"ensemble de ses sous répertoires associés. Ensuite, le projet peut être ouvert et édité avec le SIMATIC Manager. La fonction FC100 est techniquement documentée au niveau des commentaires en anglais et en allemand..
StepZero.zip ( 34 KB ) (34 KO)
|
Différences des téléchargements:
Le tableau suivant explique la différence entre les téléchargements "DeadTime", "S_Delay" et "StepZero".
| Téléchargements: |
DeadTime |
S_Delay |
StepZero |
| Application: |
retard temporel de signaux REAL |
retard temporel de signaux BOOL |
retard temporel de signaux REAL |
| Nombre des entrées: |
1 |
32 |
3 |
| Nombre des sorties: |
1 |
32 |
1 |
| Type de donnée des entrées et sorties: |
REAL |
BOOL |
REAL, TIME |
| Réalisation du retard temporel: |
avec un OB d'alarme cyclique comme l'OB35 |
avec déclenchement (SE) par ex. T1 |
OB1, (OB35) |
Condition et environnement de test:
Les exemples sont chargeables dans toutes les variantes de CPU des gammes SIMATIC S7-300, S7-400 , C7 et WinAC. Dans le tableau suivant sont indiquées les conditions dans lesquelles cette contribution a été créée et a été vérifiée fonctionnellement:
| Environnement de test |
Version |
| Plateforme PC |
Processeur Intel(R) Pentium(R) M 1,73 GHz, 1,49 GO RAM |
| Système d'exploitation du PC |
MS Windows XP Professional SP2 |
| STEP7 |
V5.3 SP3 |
| Paquet logiciel optionnel |
S7-PLCSIM V5.3 SP1 |
Note :
Le nombre de temporisation est limité selon la CPU et dans certains cas, plus de temporisations sont nécessaires. Le bloc fonctionnel système SFB 4 (TON) n'utilise pas le type de données S5-Time mais le type "TIME" qui est également plus simple à manipuler en millisecondes (pas de base de temps). Avec ce bloc, des temporisations plus longues peuvent être réalisées.
|