1
BECKHOFF / Funktionsbaustein MD5
« am: 02. September 2015, 11:45:31 »
Der letzte Satz in der Beschreibung vom Funktionsbaustein "MD5_STR" in oscat_netlib121_de.pdf lautet:
Ich bitte Sie, mir mit der Anwendung des Bausteins "MD5_STR" zu helfen. Mein Code ist:
Meine Fragen:
- warum sind "STR" und "MD5" als "VAR_IN_OUT" deklariert? Logisch wäre für mich "STR" als Input und "MD5" als Output zu haben.
- wie soll der Parameter "MD5" initialisiert werden (denn er gilt als Input-Variable)?
- der oben angegebene Code liefert gleiche Verschlusselung unabhängig vom Wert der STR-Variable. Woran kann es liegen?
Mit freundlichen Grüßen
Zitat
Danach steht am Parameter HASH der aktuell berechnete HASH-Wert zur Verfügung. (Siehe Baustein MD5-STREAM).
- Es gibt keinen Parameter "HASH". Wahrscheinlich ist der Parameter "MD5" gemeint.
- "Baustein MD5-STREAM" muss "Baustein MD5_STREAM" geschrieben werden.
Ich bitte Sie, mir mit der Anwendung des Bausteins "MD5_STR" zu helfen. Mein Code ist:
Code: [Auswählen]
PROGRAM TEST
VAR
bPerform : BOOL := FALSE;
bDone : BOOL := FALSE;
sInputString : STRING(STRING_LENGTH) := 'some string';
fbMD5_STR : MD5_STR;
abMD5Hash : ARRAY [0..15] OF BYTE;
sMD5Hash : STRING(STRING_LENGTH) := '';
END_VAR
(*MD5 testing*)
IF (bPerform) THEN
bDone := FALSE;
fbMD5_STR(RUN := TRUE, STR := sInputString, MD5 := abMD5Hash, DONE => bDone);
bPerform := FALSE;
END_IF
IF (bDone) THEN
sMD5Hash := MD5_TO_STRH(abMD5Hash);
bDone := FALSE;
END_IF
Meine Fragen:
- warum sind "STR" und "MD5" als "VAR_IN_OUT" deklariert? Logisch wäre für mich "STR" als Input und "MD5" als Output zu haben.
- wie soll der Parameter "MD5" initialisiert werden (denn er gilt als Input-Variable)?
- der oben angegebene Code liefert gleiche Verschlusselung unabhängig vom Wert der STR-Variable. Woran kann es liegen?
Mit freundlichen Grüßen