Représenter vitesse par 3 couleur différentes

dsig -  
Posotaz Messages postés 505 Statut Membre -
slt

je suis entrains de faire une visualisation d'une instalation.
j'ai une pompe à 3 vitesses (Min, Med, Max). dans ma visualisation j'aimerai représenter ces vitesse par 3 couleur différente (Min Green, Med Blue, Max Red) et lorsqu'elle n'est pas en fonctionnement la représenter par la couleur noire.

Voici les script que j'ai écris, mais il ne marche pas!
qd le bit Max, Med et Min=0, j'ai bien la couleur noir, mais qd le bit de Med ou Min ou Max est a 1, j'ai la couleur rouge..... :-(

est ce que qqn peut m'aider????
d'avance merci

voici le script

// SimpleCtrlScriptStart {invalid}
main()
{
EP_setBackColorMinOn();
EP_setBackColorMedOn();
EP_setBackColorMaxOn();
}

// Min. Ein
EP_setBackColorMinOn()
{
dyn_errClass err;

if( !dpExists( "System1:K35M100.rückmeldungen.MinOn:_online.._value"))
{
setValue("", "color", "_dpdoesnotexist");
return;
}

dpConnect("EP_setBackColorCB",
"System1:K35M100.rückmeldungen.MinOn:_online.._value");
err = getLastError();
if (dynlen(err) > 0)
setValue("", "color", "_dpdoesnotexist");

}

EP_setBackColorCB(string dpSource, bool boNewValue)
{
if (!boNewValue)
setValue("", "backCol", "Black");
else
setValue("", "backCol", "Green");
}

// Med. Ein
EP_setBackColorMedOn()
{
dyn_errClass err;

if( !dpExists( "System1:K35M100.rückmeldungen.MedOn:_online.._value"))
{
setValue("", "color", "_dpdoesnotexist");
return;
}

dpConnect("EP_setBackColorCB",
"System1:K35M100.rückmeldungen.MedOn:_online.._value");
err = getLastError();
if (dynlen(err) > 0)
setValue("", "color", "_dpdoesnotexist");

}

EP_setBackColorCB(string dpSource, bool boNewValue)
{
if (!boNewValue)
setValue("", "backCol", "Black");
else
setValue("", "backCol", "Blue");
}

// Max. Ein
EP_setBackColorMaxOn()
{
dyn_errClass err;

if( !dpExists( "System1:K35M100.rückmeldungen.MaxOn:_online.._value"))
{
setValue("", "color", "_dpdoesnotexist");
return;
}

dpConnect("EP_setBackColorCB",
"System1:K35M100.rückmeldungen.MaxOn:_online.._value");
err = getLastError();
if (dynlen(err) > 0)
setValue("", "color", "_dpdoesnotexist");

}

EP_setBackColorCB(string dpSource, bool boNewValue)
{
if (!boNewValue)
setValue("", "backCol", "Black");
else
setValue("", "backCol", "Red");
}
A voir également:

1 réponse

Posotaz Messages postés 505 Statut Membre 225
 
Salut Dsig,

Je ne comprends pas grand chose à ce code. Je ne sais même pas en quel langage il est écrit parce que normalement si c'est du C ou du C++ ça ne devrait pas compiler, il manque des instructions (importations, appels de fonctions,…) et y'a une erreur qui me mène à une question primordiale : Pourquoi tu as 3 fonctions portant le même propotype mais un corps différent ?

EP_setBackColorCB(string, bool)
EP_setBackColorCB(string, bool)
EP_setBackColorCB(string, bool)

3 fonctions identiques qui font des choses différentes.
1