Schieben und Maskieren mit SCL

nonguru

Level-1
Beiträge
57
Reaktionspunkte
4
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen meine Technikerarbeit soll ich auf besonderen Wunsch in SCL Schrieben. Die letzten 10 Jahre habe ich nur AWL Programmiert. Nun würde ich gerne wissen wie man in SCL Maskiert und schiebt.
Ich hoffe hier gibt es jemand der mir Helfen kann freue mich über links und Buchtipps und auch tipps in die richtige richtung
 
ich hab mal was programmiert aber irgendwie was falsch verstanden


Code:
FUNCTION_BLOCK FB4
VAR_INPUT
    Freigabe_Einlesen:      BOOL;
    Eingangswert:           WORD;
    
END_VAR

VAR_OUTPUT
    
    Komponente_A:           INT;
    Komponente_B:           INT;
    Fehler_Baustein:        BOOL;
    
END_VAR


VAR_TEMP
    // temporäre Variablen

END_VAR
VAR
    // statische Variablen
    Komp_A_in:              INT;
    Komp_B_in:              INT;
    Zwischenergebnis:       INT;
END_VAR

    BEGIN;
    
    // Anweisungsteil
    Komp_A_in := Eingangswert AND w#16#ff;
    Komp_B_in := Eingangswert AND w#16#00ff SHR(in:=Eingangswert, N:=8); 
    
    ;
END_FUNCTION_BLOCK
 
... an dem Beispiel stimmt aber einiges nicht ...

- die Ausgangs-Variable von SHR (oder SHL oder ROL oder ROR) muß immer vom gleichen Typ sein wie die geschobene Variable.

- WORT-Variablen kanst du nicht direkt in INT-Variablen schreiben. Da mußt du zunächst die Umwandlungsfunktionen einsetzen (in dem Fall : INT_Var := WORD_to_INT (WORD_Var) ;

Gruß
LL
 
Zurück
Oben