SoMachine

Forum traitant des automates industriels de marque Schneider - Telemecanique
Répondre
md42
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 123
Enregistré le : 22 mars 2016, 08:54

SoMachine

Message par md42 »

Bonjour,

je réalise une application avec SoMachineV4.1 SP2 et une IHM HMISCU8B5.
j'ai une variable "Consigne" de type INT qui doit prendre une valeur de 7000 uniquement lors du transfert du programme dans l'IHM et ainsi pouvoir être modifiée par le biais de la dalle tactile de l'IHM. Cette variable est mémorisée par l'automate et donc au redémarrage, elle doit prendre la dernière valeur enregistrée et non pas la valeur de 7000 lors du chargement.

comment écrire le code pour charger 7000 dans cette variable uniquement au transfert du programme?

voilà ma proposition mais qu'est ce que je mets à la place de "variable système"?
if "variable système" then Consigne := 7000;
else Consigne := Opérateur IHM;
end_if;

variable système ou autre permettant cela?

Merci ;)
Avatar du membre
Bernardo59
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 1054
Enregistré le : 20 oct. 2015, 05:48
Localisation : Nimes
Contact :

Re: SoMachine

Message par Bernardo59 »

Salut,

Si tu es sur Vijeo Designer (je pense), tu lances un script au démarrage pour affecter la valeur de ta consigne à la valeur que tu veux.

Dans Actions\Créer une nouvelle action:

Type de déclenchement: Evénement
Evénement de déclenchement: Au démarrage

Opération: Mot
Source: "Valeur 7000"
Opération: Affecter
Destination: "Ta consigne"

Terminer.
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: SoMachine

Message par philou77 »

Salut !
Je ne connais pas de variable système qui dit que tu transfert le pg dans l'ihm.
Tu peux faire une 'décision' au lieu d'une affectation au démarrage de l'application ihm:
Test ta valeur = zéro (toutes les valeurs sont zéro au premier démarrage) :
Oui -> tu affectes 7000 à ta valeur
Non -> tu affectes la valeur automate à l'ihm !

Pas de script, juste une action au niveau pupitre au démarrage.

Par contre, impossible de mettre 0 comme valeur par l'automate.. sinon problème.

Une solution peut être est d'affecter une valeur à une variable 2 IHM lors d'un changement de la première variable et de faire le test sur la valeur 2

D'autres personnes ont peut être une autre solution
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Avatar du membre
skip74
Créateur de langage
Créateur de langage
Messages : 664
Enregistré le : 13 oct. 2015, 06:34

Re: SoMachine

Message par skip74 »

salut

moi je créerai une variable "initialisation" rémanente avec valeur initial à 0.
si cette variable initialisation =0 alors, vitesse =7000 et initialisation=1

ca permet de régler vitesse à 0...

A+
md42
Générateur de blocs fonctions
Générateur de blocs fonctions
Messages : 123
Enregistré le : 22 mars 2016, 08:54

Re: SoMachine

Message par md42 »

@Bernardo59
ta solution ne fonctionne pas car la valeur 7000 est chargé à chaque démarrage de l'IHM.

j'ai opté pour la solution de "philou77" qui me va bien.

merci les gars :D
Répondre