Page 1 sur 1

Javascript Wincc Unified

Posté : 01 févr. 2023, 15:12
par JeremAuto07
Bonjour,

J'ai besoin de pouvoir acquitter l'ensemble des mes défauts sur l'IHM depuis un BP sur une armoire.

J'ai exécuté le script ci dessous via un BP sur l'IHM et cela fonctionne. J'aimerai maintenant faire fonctionné se script avec comme élément déclencheur un BIT API.

HMIRuntime.Alarming.GetActiveAlarms(HMIRuntime.Language).then(
function(AckAlarm){
for (let i=0; i<AckAlarm.length; i++){
HMIRuntime.Alarming.Alarms(AckAlarm.Name).Acknowledge();
}
}
);

Re: Javascript Wincc Unified

Posté : 01 févr. 2023, 18:39
par itasoft
Slts,
ça veut dire que l’automate associé à l’IHM se trouve dans l’armoire ou tu as mis le BP en question , c'est ça ?

Re: Javascript Wincc Unified

Posté : 02 févr. 2023, 08:15
par JeremAuto07
J'ai un bit automate associé a ce BP dans l'API, qui est déclaré dans mes variables IHM. J'ai plusieurs DB communiquant être mon API et IHM et ce bit est dan l'un de ces DB. Mais je n'arrive pas à exécuter un sript ni même trouver un moyen d'acquitter tout les alarmes avec ce bit.
Je trouve ça étrange alors que cette fonctionnalité est si simple sur d'autre produit comme Proface, Kep etc

Re: Javascript Wincc Unified

Posté : 02 févr. 2023, 09:35
par itasoft
slts,
Si ces alarmes sont produites (générées) dans l'automate il faut leurs faire une Raz générale dans l'automate

Re: Javascript Wincc Unified

Posté : 02 févr. 2023, 21:44
par DurandO
Bonjour,
JeremAuto07 a écrit : 02 févr. 2023, 08:15 J'ai un bit automate associé a ce BP dans l'API, qui est déclaré dans mes variables IHM. J'ai plusieurs DB communiquant être mon API et IHM et ce bit est dan l'un de ces DB. Mais je n'arrive pas à exécuter un sript ni même trouver un moyen d'acquitter tout les alarmes avec ce bit.
Je trouve ça étrange alors que cette fonctionnalité est si simple sur d'autre produit comme Proface, Kep etc
Il te faut appeler ton script sur événement modification valeur de ta fameuse variable API supposons toto.

Dans ton script, tu peux ajouter un test de la valeur de toto : si toto> 0 tu traites tes acquittements et remet à 0 toto sinon tu fais rien.
Du genre :

Code : Tout sélectionner

if (SmartTags("toto") >0) then 
  SmartTags("toto") :=0
//ton code acquittement
La syntaxe est à vérifier, pas le temps d'ouvrir Wincc TIA.
Ce n'est pas à copier/coller, car cela ne va peut-être pas coller!