FB_CTRL_PID in TwinCat2 einbinden

woes09

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

habe Probleme einen PID-Regler unter Twincat2 ans laufen zu bringen.

Ich nutze den FB_CTRL_PID aus der Beckhoff Bibliothek:
http://infosys.beckhoff.de/index.php?content=../content/1031/tcplclibcontrollertoolbox/html/TcPlcLibContoller_CTRL_PID.htm&id=

Mir wird im Zusammenhang mit den Parametern "stParams" ein Fehler angezeigt, den ich nicht beseitigt bekomme:
Fehler 4061: 'VAR_IN_OUT' Parameter 'stParams' von 'FB_CTRL_PID' muss belegt werden.

Ich habe die Strukutr der stParams unter Datentypen deklariert, komme aber jetzt nicht weiter.
(Zur Info: Habe mich ca. ein Jahr mit S7 beschäftigt und nun neuerdings mit Twincat)->daher vermutlich einfacher Fehler meinerseits
Hat jemand eine vernünftige Anleitung zum Einbinden des PIDs, oder hier direkt den Hinweis zu meinem Fehler?
Program.jpgStruct.jpg
 
Der Baustein hat Eingänge, Ausgänge und InOuts. Das bedeutet konkret dass der Baustein die Daten nicht selber vorhält (Kopie erstellt) sondern auf den Daten der am Baustein angeschlossenen Variablen arbeitet. Der stParams ist ein InOut.

Du musst also eine Variable vom Typ stParams dem Baustein explizit übergeben.
Die Screenshots kommen bei mir nur klein raus - soweit ich es sehe hast du jedoch bisher noch überhaupt keine Variablen am Baustein verbunden. Wie gesagt ist dies für INOUTs zwingend notwendig, ansonsten gibt es deinen Compilerfehler

Gruss
Guga
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Deine Instanz von PIDCTRL muß noch die Variablen zugewiesen bekommen.
Du hast Deinen FB "Test" mit den Variablen deklariert, als hätte Dein FB diese als Außenbeschaltung. Das wolltest Du wohl eher nicht.
Deklariere mal alle Variablen, die Du dem PID übergeben möchtest nur unter Var.
Dann musst Du diese Variablen noch der Instanz übergeben, indem Du diese in den entsprechenden Zeilen des Aufrufs von Mein_PID einträgst.

Übrigens ist für einfache Anwendungen der PID-Regler aus OSCAT etwas pflegeleichter in der Parametrierung. Dieser sieht beispielsweise im Aufruf so aus:
Unbenannt.png
 
Mal noch ein Tip, bitte nicht in den falschen Hals kriegen:

Unter Umständen versuchst Du erstmal einen einfachen Ablauf mit einer Instanz von TON an's laufen zu kriegen, dann geht der Rest wie von allein.
TON hat auch mehrere Parameter, da sieht man dann schon wie's läuft.
 
Erstmal danke sehr für eure Hilfe!
Bekomme den Beckhoff PID trotzdem nicht ans laufen. Ich denke irgendwas passt nicht mit der Instanzierung der stParams.

Den Oscat PID hatte ich mir auch schonmal angeschaut, den werde ich jetzt auch einfacherweise nutzen.
TON bekomme ich übrigens hin:wink:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe mir den für meine Heizungs- und Solarregelung angesehen und für zu kompliziert und oversized eingestuft. Habe mich dann auch lieber dem OSCAT-Regler zugewandt, aber nur aus Faulheit, weil ich meinen 12 Jahre alten selbstprogrammierten Algo nicht vom Microcontroller auf ST portieren wollte.
 
Zurück
Oben