zu folgendem Problem möchte ich euch um Hilfe bitten:
ich habe folgenden testFB. Ich möchte ihm Boolsche Werte übergeben. Aber das scheint nicht zu funktionieren. Geht das denn überhaupt so ein ARRAY als VAR_IN festzulegen? Ich würde dann gerne Werte so übergeben: testFB(eingang[7]:= true);
Leider funktioniert das nicht. Habt ihr da eine Lösung bei der Hand? DANKE.
super, das war ein Traumtipp!!. Bin grade am testen. Einzig was dabei nicht geht: ich kann die Eingänge nicht einzeln übergeben (z.B. eingang[33]:=True) sondern nur das ganze Array. Soll heissen, ich muß das Array im aufrufenden Programm schreiben und als GANZES an den FB übergeben. Danke nochmal!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Versuchs doch mit einer Variablen, von Typ Byte oder Integer.
Hier kannst Du auch sämtliche Bits, mit hilfe der Wert-Zuweisung erreichen und so die Variable als Eigangswert benutzen.
Mit freundlichen Grüssen! Pitsch
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
danke an alle für eure Hilfe,
habe es mittlerweile gelöst indem ich ein einfach ein komplettes array an den FB übergebe!
nochmal danke für alle Inputs von euch!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2010-12-06
Originally created by: Bernhard Werner
Hi,
die Übergabe von Array per VAR_INPUT sollte aber tatsächlich eine Ausnahme sein.
Es ist deutlich langsamer und Speicherintensiver als eine Übergabe per VAR_IN_OUT oder
POINTER.
Bernhard Werner
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
zu folgendem Problem möchte ich euch um Hilfe bitten:
ich habe folgenden testFB. Ich möchte ihm Boolsche Werte übergeben. Aber das scheint nicht zu funktionieren. Geht das denn überhaupt so ein ARRAY als VAR_IN festzulegen? Ich würde dann gerne Werte so übergeben: testFB(eingang[7]:= true);
Leider funktioniert das nicht. Habt ihr da eine Lösung bei der Hand? DANKE.
FUNCTION_BLOCK testFB
VAR_INPUT
eingang: ARRAY[1..2000] OF BOOL
END_VAR
VAR_OUTPUT
out: BOOL;
END_VAR
Related
Talk.ru: 7
Geht schon, aber Du musst das ARRAY als eigenständigen Datentyp deklarieren :
Der Baustein verwendet das Array dann so:
Der Baustein verwendet das Array dann so:
super, das war ein Traumtipp!!. Bin grade am testen. Einzig was dabei nicht geht: ich kann die Eingänge nicht einzeln übergeben (z.B. eingang[33]:=True) sondern nur das ganze Array. Soll heissen, ich muß das Array im aufrufenden Programm schreiben und als GANZES an den FB übergeben. Danke nochmal!
Hallo
Versuchs doch mit einer Variablen, von Typ Byte oder Integer.
Hier kannst Du auch sämtliche Bits, mit hilfe der Wert-Zuweisung erreichen und so die Variable als Eigangswert benutzen.
Mit freundlichen Grüssen! Pitsch
Moin
Man könnte auch einen Pointer nehmen.
Geht schneller und spart auch noch Speicherplatz.
Gruß
Erik
danke an alle für eure Hilfe,
habe es mittlerweile gelöst indem ich ein einfach ein komplettes array an den FB übergebe!
nochmal danke für alle Inputs von euch!
Originally created by: Bernhard Werner
Hi,
die Übergabe von Array per VAR_INPUT sollte aber tatsächlich eine Ausnahme sein.
Es ist deutlich langsamer und Speicherintensiver als eine Übergabe per VAR_IN_OUT oder
POINTER.
Bernhard Werner