VAR_CONFIG

Begonnen von Demo, 02. Mai 2008, 17:55:04

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

VAR_CONFIG

-
1 (100%)
-
0 (0%)

Stimmen insgesamt: 1

Demo

Hallo zusammen,
Ich möchte einen Funktionsbaustein für einen Motor entwickeln und will als Grundlage den ACTUAR_PUMP nehmen. Jetzt hab ich gesehen, dass ich gewisse intressante Sachen nur über VAR_CONFIG verändern kann. Meine Idee war es aber Bsp. min_ontime über eine Strukturierte Variable über die Visualisierung zu verändern. Ich hab leider keine Erfahrung mit VAR_CONFIG und die Hilfe im Codesys ist mir nicht gerade hilfreich. Für einen Feed Back wär ich dankbar
Gruss Demo

hugo

wir benutzen im actuatoir pump keine var_config.
wir benutzen var_input constant.

var_input constant ist eine ganz normale input variable, das postfix constant ist hier leicht verwirrend.
es bedeutet lediglich das im grafischen cfc editor diese input variablen nicht angezeigt werden, und erst duch einen doppelclick auf das symbol verändert werden können.
in ST koennen sie ganz nortmal wie input variablen benutzt werden.

sci111

Ich habe auch noch eine Frage zur VAR_CONFIG Funktion:

Bespiel:
VAR_CONFIG
.DriveNo1_Parameter.IndraDrive._In AT %IW100 : AcyclicComm_IndraDrive_IN_01V00;
END_VAR


Ich möchte nun AT %IW100 durch eine Variable wie folgt ersetzten:
z.B.
AdrAxis1:=AT %IW100;
.DriveNo1_Parameter.IndraDrive._In AdrAxis1: AcyclicComm_IndraDrive_IN_01V00;

Ist das überhaupt machbar? Wie kann ich die Eingangsadresse durch eine Variable ersetzen?


B.Roth

Hallo einfach mal in der Onlinehilfe-nachschauen:

Variablenkonfiguration
In Funktionsbausteinen können bei Variablen, die zwischen den Schlüsselwörtern VAR und END_VAR definiert sind, Adressen für Eingänge und Ausgänge angegeben werden, die nicht vollständig definiert sind. Nicht vollständig definierte Adressen werden mit einem Stern gekennzeichnet.

Beispiel:

FUNCTION_BLOCK locio
VAR
loci AT %I*: BOOL := TRUE;
loco AT %Q*: BOOL;

END_VAR
Hier werden zwei lokale I/O-Variablen definiert, eine local-In (%I*) und eine local-Out (%Q*).


diese I* und Q* sind platzhalter für die Adresse.
Ruft man dan eine Instant dieses FBs auf übergibt man die Adresse:

PROGRAM PLC_PRG
VAR
  inst_locio: locio;
END_VAR

inst_locio(loci:=%Ix1.1,loco:=%Qx0.4);

Gruß Bruno

RTFM