Représenter vitesse par 3 couleur différentes

Fermé
dsig - 27 juil. 2007 à 13:55
Posotaz Messages postés 489 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 19 juin 2011 - 27 juil. 2007 à 22:14
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 489 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 19 juin 2011 225
27 juil. 2007 à 22:14
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