B&R - Anfänger/Umsteigerproblem: Nicht deklarierte Funktion

Transistorfips

Level-1
Beiträge
89
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ich Variablen die ich innerhalb einer Funktion verwende deklarieren muß, ist mir klar. Aber was ist mit der Fehlermeldung "Nicht deklarierte Funktion" gemeint? Muß ich für das aufrufende Programm (cyclic.st) in dem meine Funktion verwendet wird, die Funktion deklarieren? Wenn ja, wie und wo?
 
Hi.

ich hatte auch anfangs meine Probleme mit B&R was das deklarieren angeht. ich musste alles was ich benutze deklarieren TON TOF RS u.s.w Vieiecht ist das ja dein Problem
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Luzie,


>ich musste alles was ich benutze deklarieren TON TOF
das war der Stolperstein in die richtige Richtung. Ich dachte, ich kann wie in C die Funktion direkt mit dem Namen aufrufen. Aber das geht nicht, stattdessen muß eine Instanz davon erzeugt werden (TON_01) vom Datentyp TON, etc. Der Fehler ist weg. Cool.

Allerdings hab ich jetzt neue; scheint mir eher mit der Implementation selbst zu tun zu haben... wobei ich das hinbekommen sollte.


Danke!
 
Hi,
Das hat damit zu tun dass die meisten "Funktionen" in Wahrheit Funktionsblöcke sind und damit eine Instanz brauchen.
Der technische Grund ist, dass die Funktionsblöcke intern z.B. Zwischenergebnisse speichern, im Falle vom TON/TOF beispielsweise die abgelaufene Zeit. Da man ja mehrere verschiedene TON/TOF in einem Programm/Task benutzen kann, braucht man für jeden eine eigene Instanz.
 
Zurück
Oben