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-32stOem.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-30stOem.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-30stOem.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-32boolvariable := 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-30realvariable :=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 modestOem.astProgramGenerator[x].stOUT.stProgramInformation.stPscModeIcons.xIconAutomaticVisible;
// Programmer is in basic modestOem.astProgramGenerator[].stOUT.stProgramInformation.stPscModeIcons.xIconBasicpositionVisible;
// Programmer is in hand modestOem.astProgramGenerator[x].stOUT.stProgramInformation.stPscModeIcons.xIconHandmodeVisible;
// Programmer is in pause modestOem.astProgramGenerator[x].stOUT.stProgramInformation.stPscModeIcons.xIconPauseVisible;
// Programmer is in timer active modestOem.astProgramGenerator[x].stOUT.stProgramInformation.stPscModeIcons.xIconTimerVisible;
// Programmer is in toleranceband aktive modestOem.astProgramGenerator[x].stOUT.stProgramInformation.stPscModeIcons.xIconToleranceBandVisible;