Step 7 SCL, Kompilierungsfehler. Ich kann nich die Fehler erkennen

Ka3_ax

Level-1
Beiträge
29
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Im Anhang ist PDF-Datei.
3 Feheler, leider kann ich den Grund finden.
Ich bitte um Hilfe.

PS
Ich bitte um Entschuldigung, ))
Das Thema erstellt und den Fehler sofort gefunden.

keine Variable "Out_Temp"
 

Anhänge

Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Falsch:
OutTemp = 1 /(KP * Err);

Richtig:
OutTemp := 1 /(KP * Err);

Und OutTemp anstatt Out_temp

Interesant, im Editor konnte ich nicht die Fehler finden, aber in PDF-Datei sofort gesehen.
Vielen Dank, aber das ist nicht geholfen ))
"OutS" ist gleich immer OutSmin = 6555.
Das ist schon Symatischer Fehler.
Diese FB ruft in OB35 (10 msec) an.
Ich suche weiter
 

Anhänge

  • scl_kkk.jpg
    scl_kkk.jpg
    52,5 KB · Aufrufe: 40
Zuletzt bearbeitet:
Wieso, was hättest du denn erwartet?
OutS vor der Begrenzung wäre -813 ... , somit kleiner 6555 ...

Mit anderen Worten das Programm macht präzise was du getippt hast.

Nicht kunstvoll dabei ist allerdings das du IN-Parameter beschreibst.
 
Wieso, was hättest du denn erwartet?
OutS vor der Begrenzung wäre -813 ... , somit kleiner 6555 ...

Dieser Fheler habe ich beseitigt, ABS vom Nenner genommen

OutTemp := 1 / ABS ((KP*Err)) ;

"OutS" wird sprungweise umgeschaltet, oder min oder max.

Ich wollte P-Regler realisieren, mit der einen Eigenschaft, OutS verändert sich höchstens auf 333 pro sec.(max 1 Hz pro sec ). 16384 ist die Aufgabe für den Frequenzumrichter.


Ich vermute, dass die Formel die den P-Regler beschreibt, falsch ist.

OutTemp := 1 / ABS ((KP*Err)) ;
OutTemp kann die Gößen nehmen die liegen aus "0-1"- Bereich
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Ka3_ax,

hab dein Programm nur überflogen. Was mir spontan auffällt, ist dass du die Zahlenwerte als Integer schreibst, aber mit einer Reel-Zahl verrechnest und zuweist.
CoDeSys ist da recht tolerant und interpretiert das automatisch richtig.
Siemens weist stur die von dir vorgegeben Zahl zu.
Schreibe mal anstatt "1/x" einfach "1.0/x". Für alle anderen Konstanten die Reel sind, gilt das selbe.

Gruß
Chräshe
 
Hallo Ka3_ax,

Schreibe mal anstatt "1/x" einfach "1.0/x". Für alle anderen Konstanten die Reel sind, gilt das selbe.

Sie haben Recht, selbst STEP-Editor nimmt Real-Konstanten nur mit Punkt.

Aber SCL-Compiler nimmt ohne auch. Das ist mein Faulenzen ))... teilweise, möchte immer schnelle fertigmachen um in der Ruhe zu schlafen.
 
Zurück
Oben