Skip to main content
Skip table of contents

Welche Schnittstellenvariablen stehen beim Programmgeber zur Verfügung?

Für den SPS-Programmierer gibt es im CODESYS-Projekt zwei Strukturvariablen stOut und stIn. Über diese können Informationen aus dem Programmgeber ausgelesen bzw. dem Programmgeber übergeben werden.

Struktur stIn

Ausblenden des Steuerkontakts im Programmgeberbild

In diesem Kapitel wird dieses Thema ausführlich behandelt.

// x stands for programmer 1-9. n stands for control contact 1-32
stOem.astProgramGenerator[x].stIN.axControlContactEnable[n]:= TRUE;

Ausblenden des Sollwerts im Programmgeberbild

In diesem Kapitel wird dieses Thema ausführlich behandelt.

// x stands for programmer 1-9. n stands for setpoint 1-30
stOem.astProgramGenerator[x].stIN.axSetpointEnable[n]:= TRUE;

Istwert an Programmgeber übergeben

In diesem Kapitel wird dieses Thema ausführlich behandelt.

// x stands for programmer 1-9. n stands for process value 1-30
stOem.astProgramGenerator[x].stIN.stProcessValues.arProcessValues[n] := realvariable;

Wait-Funktion

Ist diese Funktion aktiv, dann wird nach jedem Abschnittsende der Programmgeber solange angehalten bis dieser wieder zum Weiterlauf freigegeben wird.

// x stands for programmer 1-9.
stOem.astProgramGenerator[x].stIN.stProgramGeneratorConfig.xProgramWaitFunctionActive := true;

Toleranzbandüberwachung

Der Wert wird überwacht und bei Toleranzbandverletzung wird eine Meldung abgesetzt und/oder der Programmgeber angehalten, bis der Wert sich wieder im Toleranzband befindet.
Hier mehr Information zur Konfiguration.

// x stands for programmer 1-9.
stOem.astProgramGenerator[x].stIN.stToleranceBand.rActualValue := realvariable;

Signal zur Aktivierung der Alarmunterdrückung.

// x stands for programmer 1-9.
stOem.astProgramGenerator[x].stIN.stToleranceBand.xAlarmSuppression := true;

Struktur stOut

Steuerkontakte

Mit dieser Variable können alle 32 Steuerkontakte gelesen werden.

// x stands for programmer 1-9. n stands for control contact 1-32
boolvariable := stOem.astProgramGenerator[x].stOUT.stContactValues.axContactValues[n];

Sollwerte

Mit dieser Variable können alle 30 Sollwerte gelesen werden.

// x stands for programmer 1-9. n stands for setpoint 1-30
realvariable :=stOem.astProgramGenerator[x].stOUT.stSetpointValues.arSetpointValues[n];

Programminformation

Die Strukturvariable ProgramInformation enthält folgende Variablen:

Aktuelle Abschnittsnummer

Ist der Programmgeber in Grundstellung ist der Wert = -1.

// x stands for programmer 1-9.
integervariable := stOem.astProgramGenerator[x].stOUT.stProgramInformation.iActualSectionNumber;

Programmrestlaufzeit

// x stands for programmer 1-9.
udintegervariable := stOem.astProgramGenerator[x].stOUT.stProgramInformation.udiProgramRemainRuntime;

Programmlaufzeit

// x stands for programmer 1-9.
udintegervariable := stOem.astProgramGenerator[x].stOUT.stProgramInformation.udiProgramRuntime;

Maximale Abschnittszeit

// x stands for programmer 1-9.
uintegervariable := stOem.astProgramGenerator[x].stOUT.stProgramInformation.uiMaxSectionNumber;

Programmnummer

// x stands for programmer 1-9.
uintegervariable := stOem.astProgramGenerator[x].stOUT.stProgramInformation.uiProgramNumber;

Programmname

// x stands for programmer 1-9.
wstringvariable := stOem.astProgramGenerator[x].stOUT.stProgramInformation.wsProgramName;

Programmgeberzustand

Der Programmgeberzustand kann über die Enumeration eMode abgefragt werden.

// x stands for programmer 1-9.
stOem.astProgramGenerator[x].stOUT.stProgramInformation.stPscModeIcons.eMode;

Mit den folgenden Bool-Variablen kann man z.B. Icons für den Programmgeberzustand sichtbar machen.

// x stands for programmer 1-9.
// Programmer is in automatic mode
stOem.astProgramGenerator[x].stOUT.stProgramInformation.stPscModeIcons.xIconAutomaticVisible;

// Programmer is in basic mode
stOem.astProgramGenerator[].stOUT.stProgramInformation.stPscModeIcons.xIconBasicpositionVisible;

// Programmer is in hand mode
stOem.astProgramGenerator[x].stOUT.stProgramInformation.stPscModeIcons.xIconHandmodeVisible;

// Programmer is in pause mode
stOem.astProgramGenerator[x].stOUT.stProgramInformation.stPscModeIcons.xIconPauseVisible;

// Programmer is in timer active mode
stOem.astProgramGenerator[x].stOUT.stProgramInformation.stPscModeIcons.xIconTimerVisible;

// Programmer is in toleranceband aktive mode
stOem.astProgramGenerator[x].stOUT.stProgramInformation.stPscModeIcons.xIconToleranceBandVisible;

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.