Beiträge anzeigen

Diese Sektion erlaubt es ihnen alle Beiträge dieses Mitglieds zu sehen. Beachten sie, dass sie nur solche Beiträge sehen können, zu denen sie auch Zugriffsrechte haben.


Themen - vmolchanov

Seiten: [1]
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:
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.
Dasselbe gilt für die englische Version oscat_netlib121_en.pdf. Außerdem wird der Parameter "MD5" in oscat_netlib121_en.pdf als Output-Parameter bezeichnet, was falsch ist (deutsche Version des Manuals ist in Ordnung).



Ich bitte Sie, mir mit der Anwendung des Bausteins "MD5_STR" zu helfen. Mein Code ist:

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

2
We need to encrypt strings using MD5 algorithm. The functional block 'MD5_STR' in folder 'CONVERT' of the OSCAT network library seems to do the job.

After adding the library 'beckhoff_network_121.lib' to the project, many errors appear of type:
Error 3747: (...): Unknown string length 'STRING_LENGTH'

Our guess was that the basic library is needed either. However, after adding 'oscat_basic_333.lib' to the project, the following problem appeared:
Error 3700: FLOOR (...): A POU with name 'FLOOR' is already in library '...oscat_basic_333.lib'

The function 'FLOOR' is contained in TcMath.lib. This library can not be excluded from the project as it has other functions, which are extensively used.

Please, help us to overcome the problem. If possible and appropriate, give an educational answer.

System info:
PLC Control Version v2.11.0 (Build 2220)
TwinCAT v2.11.2249
PC operating system: Windows 7 Home Basic N

Seiten: [1]