Bonjour,
J'ai un soucis d'affichage de vitesse sur un cadran à aiguille:
Sur une machine j'ai un variateur de vitesse et une boite de vitesse. L'opérateur choisi son cadran de vitesse en fonction de la position de la boite de vitesse donc tous les cadrans n'ont pas la même graduation, et l'opérateur règle sa vitesse variateur de 0 à 100%. Mon problème est que mes cadrans m'affichent tous la vitesse rentré dans le mot (de 0 à 100%) alors qu'ils n'ont pas tous la même graduation (et donc dès que la valeur de la vitesse dépasse le max du cadran l'aiguille reste bloquée sur le max du cadran, sans parler du fait que l'opérateur ne connait jamais sa vitesse de rotation réelle)! Le seul moyen de corriger ce problème serait d'effectuer une "opération arithmétique" sur le mot (opération différente pour chaque cadran donc), mais je ne sais pas comment faire, pourriez vous m'aider?
Merci d'avance.
Il faut que tu fasses une mise à l’échelle différente pour chaque cadran avec une fonction. Sur siemens voir SCALE_X , NORM_X ou SCALE cela dépend de l'automate.
Sinon cette équation marche bien si tu veux la faire "maison"
Il faut que tu fasses une mise à l’échelle différente pour chaque cadran avec une fonction. Sur siemens voir SCALE_X , NORM_X ou SCALE cela dépend de l'automate.
Sinon cette équation marche bien si tu veux la faire "maison"
Comme c'est purement un problème d'affichage sur la IHM pourquoi dois-je effectuer l'opération sur l'automate? Dois-je passer par des "mots intermédiaire" pour rentrer le résultat du calcul?
Le problème de la mise à l'échelle c'est que je ne peux pas (ou ne sais pas faire) la "personnaliser" pour chaque cadran: à chaque fois que je veux toucher à l'échelle de ma variable cela joue sur la variable (et donc c'est prit en compte par tous les cadrans) et non sur le cadran, c'est pourquoi l'option de l'équation me plaisait plus mais je ne savais pas comment la "formuler".
Modifié en dernier par neonavy le 19 mai 2016, 09:57, modifié 1 fois.
Tu lis toujours une valeur de 0 à 100% qui est ta consigne fréquence pour le var, mais selon la position de ta boite tu veux afficher 0 à 15 ou 0 a 72 tr/min etc... ?
C'est bien cela non ?
Cyril93 a écrit :Tu lis toujours une valeur de 0 à 100% qui est ta consigne fréquence pour le var, mais selon la position de ta boite tu veux afficher 0 à 15 ou 0 a 72 tr/min etc... ?
C'est bien cela non ?
oui, c'est exactement cela, je veux qu'en fonction de la boite l'opérateur puisse choisir le cadran correspondant pour lire la vitesse réelle alors qu'il ne fait que régler la vitesse de 0 à 100%
(par exemple à 50% il faut qu'il lise un peu plus de 7 sur le cadran gradué jusqu'à 15 hors pour le moment lorsqu'il est à 50% l'aiguille reste à fond sur le 15 car cela dépasse sa plage de graduation)
Tu peux déclaré une variable pour la position de la boite de vitesse.
En fonction de la valeur de cette variable tu changes les paramètres de la mise à l'échelle. Donc tu auras en entrée de mise à l’échelle la consigne de 0 à 100% puis en sortie la variable mise a l'échelle avec la bonne valeur pour le cadran sélectionnée.
au final, tu remet à l’échelle en vitesse réelle par rapport à la position de la boite.
neonavy a écrit :
(par exemple à 50% il faut qu'il lise un peu plus de 7 sur le cadran gradué jusqu'à 15 hors pour le moment lorsqu'il est à 50% l'aiguille reste à fond sur le 15 car cela dépasse sa plage de graduation)
un exemple qui marche sur S7-1200/S7-1500 mais par sur un 300/400 car on peux pas mettre un index simple sur un array faut passer par un pointeur d'adresse.
neonavy a écrit :
(par exemple à 50% il faut qu'il lise un peu plus de 7 sur le cadran gradué jusqu'à 15 hors pour le moment lorsqu'il est à 50% l'aiguille reste à fond sur le 15 car cela dépasse sa plage de graduation)
Cyril93 a écrit :un exemple qui marche sur S7-1200/S7-1500 mais par sur un 300/400 car on peux pas mettre un index simple sur un array faut passer par un pointeur d'adresse.
Mae.PNG
La fonction pour remettre à l'échelle
FC100.PNG
l'automate ne me propose pas de fonction "MAE" (j'ai juste "MAX" ou "MAX_LEN")