Page 1 of 1

Codesys + Strukturierter Text

Posted: 20 Apr 2020, 20:02
by PLC4Training
Hallo an alle,

ich hätte eine Frage zur Programmierung des RevPi Connect+ mit DIO and AIO Modulen in Codesys und zwar in Strukturiertem Text (ST). Hat da jemand Erfahrung?
Im Kundus Beispiel https://revolution.kunbus.de/tutorials/ ... einbinden/ wird das Programm in Continuous Function Chart (CFC) erstellt. Das funktioniert bei mir auch.
Nur in Strukturiertem Text bringe ich es nicht zum Laufen. Falls jemand den Fehler findet, bzw. die Lösung kennt, besten Dank im Voraus.
Grüße
Stefan

PROGRAM PRG_RPI
VAR
REVPI_CPI_IN_0: RPI.REVPI_CPI_IN;
REVPI_CPI_OUT_0: RPI.REVPI_CPI_OUT;
REVPI_PIDI_0: RPI.REVPI_PIDI;
REVPI_PIDO_0: RPI.REVPI_PIDO;
END_VAR

REVPI_CPI_IN_0 ();
REVPI_PIDI_0.uiOffsetInp:=g_uiIn30Offset;
REVPI_PIDO_0.uiOffsetOut:=g_uiOut30Offset;
REVPI_PIDO_0.xOut_01:=REVPI_PIDI_0.xIn_01;
REVPI_CPI_OUT_0 ();

Re: Codesys + Strukturierter Text

Posted: 22 Apr 2020, 10:53
by Amar
Die IO vaiablen Update könntest du in Continuous Function Chart lassen.Andere Application logic kann mann in Structured Text implementienren.Zum biespiel mit verschidene Tasks und POU.Die Process Image Datei bleibt als Globale byte Array zur verfügung.

Re: Codesys + Strukturierter Text

Posted: 24 Apr 2020, 09:50
by PLC4Training
Hallo Amar,
Danke für die Antwort.
Allerdings wollte ich das ganze eben ohne CFC machen. Allerdings bin ich hier auch noch nicht weiter.
Gibt es irgendwo weitere Beispiele zum Thema RevPi mit Codesys Programmierung in ST?

Grüße
Stefan

Re: Codesys + Strukturierter Text

Posted: 30 Apr 2020, 10:16
by dirk
Hi Stefan, leider haben wir keine weiteren Code Beispiele. Eventuell kannst Du dich mit anderen Community Mitgliedern vernetzen und diese erstellen bzw. diskutieren.

Re: Codesys + Strukturierter Text

Posted: 08 Jul 2020, 15:01
by f.wahl
Hallo Stefan,
ich spiele gerade auch mit der Lösung herum, und mit deinem Ansatz ergänzt um die Aufrufe von REVPI_PIDI_0 und REVPI_PIDO_0 und mit den Offsets 31 läuft das ganze bei mir.
Zwar nur in einer kleinen Testumgebung, aber es läuft.

Grüße

Florian


Code: Select all

PROGRAM PRG_RPI
VAR
REVPI_CPI_IN_0: RPI.REVPI_CPI_IN;
REVPI_CPI_OUT_0: RPI.REVPI_CPI_OUT;
REVPI_PIDI_0: RPI.REVPI_PIDI;
REVPI_PIDO_0: RPI.REVPI_PIDO;
END_VAR

REVPI_CPI_IN_0 ();

REVPI_PIDI_0();
REVPI_PIDO_0();

REVPI_PIDI_0.uiOffsetInp:=g_uiIn31Offset;
REVPI_PIDO_0.uiOffsetOut:=g_uiOut31Offset;
REVPI_PIDO_0.xOut_01:=REVPI_PIDI_0.xIn_01;
REVPI_CPI_OUT_0 ();