Page 1 sur 1
Sofrel S550
Posté : 02 juin 2017, 15:11
par sl35
Bonjour,
je viens de paramétrer un S550 poste de relèvement avec un capteur de niveau et 2 pompes.
Tout fonctionne parfaitement.
Pour aller un peu plus loin je souhaiterai ajouter des fonctions supplémentaires en utilisant par exemple des blocs comme R_TRIG , TON ou BLINK.
J'ai compris comment ajouter des variables globales au programme en indiquant leur type, mais je ne comprend pas comment utiliser les fonctions.
Exemple BLINK
parametre d'entrée
.RUN BOOL
.CYCLE Time
paramètre de sortie
.Q BOOL
Merci pour votre aide
Re: Sofrel S550
Posté : 02 juin 2017, 23:01
par djé
Salut,
La fonction BLINK est une fonction de clignotement (0/1) de période "CYCLE " (j'imagine une demi-période à "0", une demi-période à "1") qui affecte la sortie "Q" et exécutée lorsque l'entrée "RUN" est à Un (vrai).
Essaye l'aide du logiciel ca doit certainement être expliqué.
Re: Sofrel S550
Posté : 04 juin 2017, 11:01
par sl35
mon probleme est de ne pas comprendre l'utilisation de :
Exemple BLINK
.RUN BOOL
.CYCLE Time
.Q BOOL
ou sont les variables ? comment utilise t on la fonction?
mes entrée et sortie se nomment par exemple : data146 data163
si elles sont tout ou rien il suffit par exemple d'écrire :
IF (data146=true) THEN
data163:=false;
ELSE
data163:=true;
ENDIF
Comment associer la variable .Q à la sortie physique data163 ?
Comment donner une valeur à CYCLE?
Re: Sofrel S550
Posté : 04 juin 2017, 17:36
par djé
Salut
Je ne connais pas la prog d'un sofrel mais çà doit être un peu comme sur du WAGO: il faut déjà crée une variable de type BLINK qui servira d'instance de la fonction.
En prenant l'exemple de WAGO:
(* Declaration de variable type BLINK *)
monKlignotant : BLINK;
Ensuite tu l’appelles en affectant les paramètres d'entrée:
monKlignotant (RUN := data146, CYCLE := T#1s); donc là tu lui dis que tu veux que la fonction démarre qd data146 est true avec une période de 1s.
Pour finir tu affectes ta variable avec la sortie de la fonction:
data163 :=monKlignotant .Q;
Je me répète mais as-tu essayé la touche "F1" pour consulter l'aide?
Re: Sofrel S550
Posté : 04 juin 2017, 19:38
par sl35
Merci,
pour l'aide j'ai cherché mais je n'ai pas trouvé.
J'essaie cela mardi et je communique mes résultats.
Re: Sofrel S550
Posté : 19 août 2020, 18:04
par Gillou53
sl35 a écrit : ↑04 juin 2017, 11:01
mon probleme est de ne pas comprendre l'utilisation de :
Exemple BLINK
.RUN BOOL
.CYCLE Time
.Q BOOL
ou sont les variables ? comment utilise t on la fonction?
mes entrée et sortie se nomment par exemple : data146 data163
si elles sont tout ou rien il suffit par exemple d'écrire :
IF (data146=true) THEN
data163:=false;
ELSE
data163:=true;
ENDIF
Comment associer la variable .Q à la sortie physique data163 ?
Comment donner une valeur à CYCLE?
Bonjour,
Je suis conscient de déterrer le sujet, mais étant donné qu"il est difficile de trouver des informations sur la programmation Sofrel sur internet (la documentation n'étant diffusée qu'avec le logiciel), je me permet donc d'apporter quelques éclaircissements :
- Premièrement la description de l'utilisation des fonctions est décrite le manuel de programmation ST (dans Gamme S500/ Documentation/Automatisme/Manuel de référence ST) au paragraphe 4.2; le document "Gamme S500/ Documentation/Automatisme/Règles de programmation ST" étant également très instructif.
Je vais maintenant t'expliquer la méthode pour faire ce que tu souhaite :
- tu devras créer une variable de fonction (où instance de fonction); pour cela tu ouvre la fenêtre de variables (l'icone de tableau ou menu: fenêtre/Variables). En fonction de tes besoins, tu créera une variable locale ou globale; pour les instances de fonction, on aura tendance à privilégier des variables locales. Tu ajoutera donc une variable dans la section adaptée à ton choix. Il te faudra alors éditer les propriétés de ta variable pour lui donner un nom mieux adapter que "NewVar" (par exemple "Clignoteur") et le type de la fonction que tu souhaite utiliser (dans ton cas BLINK).
- en suite, tu dois faire fonctionner cette fonction. pour cela tu dois l'appeler à chaque cycle de scrutation dans ton programme (donc pas a l'intérieur d'une structure conditionnelle).
par exemple :
ou si tu a une variable réelle data200 pour fixer la période :
Je vous laisse le soins d'aller regarder dans l'aide précédemment cité le fonctionnement de la fonction TMR.
- Pour finir, tu récupère le résultat de ta fonction en affectant directement la sortie de ta variable d'instance à ta variable de sortie; soit :
et voilà ce n'est pas plus compliquer que cela.
Re: Sofrel S550
Posté : 11 avr. 2021, 13:49
par sl35
Merci