Posts mit dem Label TIA werden angezeigt. Alle Posts anzeigen
Posts mit dem Label TIA werden angezeigt. Alle Posts anzeigen

Montag, 6. Februar 2023

TIA S7 Replace FB


Mit dem Funktionsblock "Replace" kann ein String in einer Zeichenkette gesucht und ersetzt werden. Der String wird komplett durchsucht und alle ersetzt. Es ist egal wie oft der String vorkommt und an welcher Position er steht.

Beispiel:

  • Input_String = 'Hallo110Hallo210Hallo310Hallo4'
  • Find_String = '10'
  • Replace_String = 'Du'
  • Output_String = 'Hallo1DuHallo2DuHallo3DuHallo4'

 FUNCTION_BLOCK "Replace"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
   VAR_INPUT
      Input_String : String;
      Find_String : String;
      Replace_String : String;
   END_VAR

   VAR_OUTPUT
      Out_String : String;
   END_VAR

   VAR_TEMP
      temp : String;
      temp_Position : Int;
      temp_Left : String;
      temp_Right : String;
   END_VAR


BEGIN
    IF LEN(#Input_String) = 0 THEN
        RETURN;
    END_IF;
    
    IF LEN(#Find_String) = 0 THEN
        RETURN;
    END_IF;
    
    #temp := #Input_String;
    
    IF FIND(IN1 := #temp, IN2 := #Find_String) = 0 THEN
        #Out_String := #temp;
        RETURN;
    END_IF;
    
    WHILE FIND(IN1 := #temp, IN2 := #Find_String) > 0 DO
       
        #temp_Position := FIND(IN1 := #temp, IN2 := #Find_String);
       
        IF #temp_Position > 1 THEN
            #temp_Left := LEFT(IN := #temp, L := #temp_Position - 1);
        ELSE
            #temp_Left := '';
        END_IF;
       
        IF #temp_Position + LEN(#Find_String) = LEN(#temp) +1 THEN
            #temp_Right := '';
        ELSE
        #temp_Right := RIGHT(IN := #temp, L := LEN(#temp) - #temp_Position - LEN(#Find_String) + 1);
        END_IF;
        #temp := CONCAT(IN1 := #temp_Left, IN2 := #Replace_String, IN3 := #temp_Right );
       
       
    END_WHILE;
    
    #Out_String := #temp;
END_FUNCTION_BLOCK




Samstag, 21. Januar 2023

TIA S7 *.scl Datei importieren

 Dieses Beispiel zeigt, wie man eine *.scl Datei importiert und einen Baustein daraus generiert.


1. Gehen Sie unter "Projektnavigation" --> "Externe Quellen" --> "Neue externe Datei hinzufügen"


2. Wählen Sie die *.scl Datei aus und klicken auf "Öffnen"

3. Klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie "Bausteine aus Quelle generieren." Es wird jetzt ein Baustein generiert und dem Projekt hinzugefügt.