Aufgabe: Eine Steuerung zu einer Füllanlage soll Programmiert werden. Mit 2 Pumpen die das Gefäß nicht überlaufen lassen sollen, Steuerung Programmieren.
Ich habe hier immer wieder Fehlermeldung und finde den Fehler nicht.
Problem/Ansatz:
// continuous event from the Mainloop
//DECL Variablen
uint16_t sensorWert=0;
bool schutzOben;
//knopf=button.getState();
// Sensor Wert Variable zuordnen
sensorWert=ds.getValue();
//Wartezeit zum Neuanlauf der Pumpen
if(counterRestart==60)
{
counterp2=0;
counterp1=0;
}
//Sensorwert senden
if (counterSend==2)
{
// Pilotbytes für Synchronisation
leitstand.writeByte(0x55);
leitstand.writeByte(0xAA);
// 16Bit Füllstand
leitstand.write(sensorwert);
// 8Bit Zustand Pumpen
leitstand.writeByte(zustand);
//Counter zurücksetzen Senden alle 200ms
counterSend=0;
}
// Kommandos empfangen
if (leitstand.dataAvailable())
{
//CMD = Anwahl Mischverhältnis
int cmd;//DECL cmd
cmd = leitstand.readByte();
//Mischverhältnis 1:1,1:2,2:1 - 6s wählen
switch (cmd)
{
case '1': pumpe1=30;
pumpe2=30;
break;
case '2': pumpe1=20;
pumpe2=40;
break;
case '3': pumpe1=40;
pumpe2=20;break;}}
//Überfüllschutz
if (sensorWert>2900)
{
schutzOben=1;
}
//Trockenlaufschutz
if (sensorWert<1400 &&!fuellenAktiv)
{
p1.on();
p2.on();
}
else
{
p1.off();
p2.off();
}
//Pumpen nach Mischverhältnis Ein-Ausschalten
if (warten==0)
{
fuellenAktiv=1;
}
if (fuellenAktiv); if(counterP1<pumpe1 &&!schutzOben==1)
{p1.on();
}
else
{
p1.off();
}
if (counterP2<pumpe2 &&!schutzOben==1)
{
p2.on();
}
else
{
p2.off();
}
}
//Warten nach Mischung
if (counterP1>pumpe1 && counterP2>pumpe2)
{
warten=1;
fuellenAktiv=0;
}
// Zustandsanzeige Pumpen