automationLab
Level-1
- Beiträge
- 17
- Reaktionspunkte
- 5
-> Hier kostenlos registrieren
Im Anhang die FuseBit Einstellung. Die bei mir läuft.
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Wow, schon über 650 Hits auf diesen Thread - und dabei schreiben nur 2 Personen hinein.
Scheint ja doch Interesse vorhanden zu sein.
Aber wer outet sich schon, das Er eine SPS privat einsetzt.
Ich würde Das so machen:S7 Programm ist in Arbeit.
FUNCTION FC123 : INT
TITLE = 'IR2PLC'
VERSION : '0.1'
AUTHOR : AutoLab
NAME : IR2PLC
FAMILY : BASIC
VAR_INPUT
DB_No :INT; (* Nummer des Datenbausteins *)
IRcmd0 :BOOL;
IRcmd1 :BOOL;
IRcmd2 :BOOL;
IRcmd3 :BOOL;
IRcmd4 :BOOL;
IRcmd5 :BOOL;
IRaktiv :BOOL;
END_VAR
VAR_TEMP
// temporäre Variablen
myCMD :INT; (* Kommando von der IR-FB *)
myByteNo :INT; (* Bytenummer im DB *)
myBitNo :INT; (* Bitnummer im DB *)
myDB_No :WORD; (* Datenbausteinnummer intern *)
END_VAR
// Anweisungsteil
myCMD := 0;
IF IRcmd0 THEN myCMD := myCMD + 1; END_IF;
IF IRcmd1 THEN myCMD := myCMD + 2; END_IF;
IF IRcmd2 THEN myCMD := myCMD + 4; END_IF;
IF IRcmd3 THEN myCMD := myCMD + 8; END_IF;
IF IRcmd4 THEN myCMD := myCMD + 16; END_IF;
IF IRcmd5 THEN myCMD := myCMD + 32; END_IF;
myByteNo := myCMD DIV 8;
myBitNo := myCMD MOD 8;
myDB_No := INT_TO_WORD(DB_No);
WORD_TO_BLOCK_DB(myDB_No).DD[0] := 0;
WORD_TO_BLOCK_DB(myDB_No).DD[4] := 0;
WORD_TO_BLOCK_DB(myDB_No).DX[myByteNo, myBitNo] := IRaktiv;
IF NOT IRaktiv THEN
myCMD := -1;
END_IF;
FC123 := myCMD;
END_FUNCTION
DATA_BLOCK "IR2PLC_DB"
TITLE =
VERSION : 0.1
STRUCT
IRcmd00 : BOOL ; //IR Kommando 0
IRcmd01 : BOOL ; //IR Kommando 1
IRcmd02 : BOOL ; //IR Kommando 2
IRcmd03 : BOOL ; //IR Kommando 3
IRcmd04 : BOOL ; //IR Kommando 4
IRcmd05 : BOOL ; //IR Kommando 5
IRcmd06 : BOOL ; //IR Kommando 6
IRcmd07 : BOOL ; //IR Kommando 7
IRcmd08 : BOOL ; //IR Kommando 8
IRcmd09 : BOOL ; //IR Kommando 9
IRcmd10 : BOOL ; //IR Kommando 10
IRcmd11 : BOOL ; //IR Kommando 11
IRcmd12 : BOOL ; //IR Kommando 12
IRcmd13 : BOOL ; //IR Kommando 13
IRcmd14 : BOOL ; //IR Kommando 14
IRcmd15 : BOOL ; //IR Kommando 15
IRcmd16 : BOOL ; //IR Kommando 16
IRcmd17 : BOOL ; //IR Kommando 17
IRcmd18 : BOOL ; //IR Kommando 18
IRcmd19 : BOOL ; //IR Kommando 19
IRcmd20 : BOOL ; //IR Kommando 20
IRcmd21 : BOOL ; //IR Kommando 21
IRcmd22 : BOOL ; //IR Kommando 22
IRcmd23 : BOOL ; //IR Kommando 23
IRcmd24 : BOOL ; //IR Kommando 24
IRcmd25 : BOOL ; //IR Kommando 25
IRcmd26 : BOOL ; //IR Kommando 26
IRcmd27 : BOOL ; //IR Kommando 27
IRcmd28 : BOOL ; //IR Kommando 28
IRcmd29 : BOOL ; //IR Kommando 29
IRcmd30 : BOOL ; //IR Kommando 30
IRcmd31 : BOOL ; //IR Kommando 31
IRcmd32 : BOOL ; //IR Kommando 32
IRcmd33 : BOOL ; //IR Kommando 33
IRcmd34 : BOOL ; //IR Kommando 34
IRcmd35 : BOOL ; //IR Kommando 35
IRcmd36 : BOOL ; //IR Kommando 36
IRcmd37 : BOOL ; //IR Kommando 37
IRcmd38 : BOOL ; //IR Kommando 38
IRcmd39 : BOOL ; //IR Kommando 39
IRcmd40 : BOOL ; //IR Kommando 40
IRcmd41 : BOOL ; //IR Kommando 41
IRcmd42 : BOOL ; //IR Kommando 42
IRcmd43 : BOOL ; //IR Kommando 43
IRcmd44 : BOOL ; //IR Kommando 44
IRcmd45 : BOOL ; //IR Kommando 45
IRcmd46 : BOOL ; //IR Kommando 46
IRcmd47 : BOOL ; //IR Kommando 47
IRcmd48 : BOOL ; //IR Kommando 48
IRcmd49 : BOOL ; //IR Kommando 49
IRcmd50 : BOOL ; //IR Kommando 50
IRcmd51 : BOOL ; //IR Kommando 51
IRcmd52 : BOOL ; //IR Kommando 52
IRcmd53 : BOOL ; //IR Kommando 53
IRcmd54 : BOOL ; //IR Kommando 54
IRcmd55 : BOOL ; //IR Kommando 55
IRcmd56 : BOOL ; //IR Kommando 56
IRcmd57 : BOOL ; //IR Kommando 57
IRcmd58 : BOOL ; //IR Kommando 58
IRcmd59 : BOOL ; //IR Kommando 59
IRcmd60 : BOOL ; //IR Kommando 60
IRcmd61 : BOOL ; //IR Kommando 61
IRcmd62 : BOOL ; //IR Kommando 62
IRcmd63 : BOOL ; //IR Kommando 63
END_STRUCT ;
BEGIN
IRcmd00 := FALSE;
IRcmd01 := FALSE;
IRcmd02 := FALSE;
IRcmd03 := FALSE;
IRcmd04 := FALSE;
IRcmd05 := FALSE;
IRcmd06 := FALSE;
IRcmd07 := FALSE;
IRcmd08 := FALSE;
IRcmd09 := FALSE;
IRcmd10 := FALSE;
IRcmd11 := FALSE;
IRcmd12 := FALSE;
IRcmd13 := FALSE;
IRcmd14 := FALSE;
IRcmd15 := FALSE;
IRcmd16 := FALSE;
IRcmd17 := FALSE;
IRcmd18 := FALSE;
IRcmd19 := FALSE;
IRcmd20 := FALSE;
IRcmd21 := FALSE;
IRcmd22 := FALSE;
IRcmd23 := FALSE;
IRcmd24 := FALSE;
IRcmd25 := FALSE;
IRcmd26 := FALSE;
IRcmd27 := FALSE;
IRcmd28 := FALSE;
IRcmd29 := FALSE;
IRcmd30 := FALSE;
IRcmd31 := FALSE;
IRcmd32 := FALSE;
IRcmd33 := FALSE;
IRcmd34 := FALSE;
IRcmd35 := FALSE;
IRcmd36 := FALSE;
IRcmd37 := FALSE;
IRcmd38 := FALSE;
IRcmd39 := FALSE;
IRcmd40 := FALSE;
IRcmd41 := FALSE;
IRcmd42 := FALSE;
IRcmd43 := FALSE;
IRcmd44 := FALSE;
IRcmd45 := FALSE;
IRcmd46 := FALSE;
IRcmd47 := FALSE;
IRcmd48 := FALSE;
IRcmd49 := FALSE;
IRcmd50 := FALSE;
IRcmd51 := FALSE;
IRcmd52 := FALSE;
IRcmd53 := FALSE;
IRcmd54 := FALSE;
IRcmd55 := FALSE;
IRcmd56 := FALSE;
IRcmd57 := FALSE;
IRcmd58 := FALSE;
IRcmd59 := FALSE;
IRcmd60 := FALSE;
IRcmd61 := FALSE;
IRcmd62 := FALSE;
IRcmd63 := FALSE;
END_DATA_BLOCK
Feine SacheIF IRcmd1 THEN myCMD := myCMD + 2; END_IF;
FUNCTION "IR2PLC" : VOID
TITLE =
VERSION : 0.1
VAR_INPUT
EW : WORD ; //Eingangswort IR2PLC
END_VAR
VAR_OUTPUT
Adresse : BYTE ;
Befehl : BYTE ;
END_VAR
VAR_TEMP
eing : WORD ;
Bef : BYTE ;
Adr : BYTE ;
Taste_aktiv : BOOL ;
END_VAR
BEGIN
NETWORK
TITLE =Fernbedienungscodes einlesen und auswerten
//Befehl auslesen
L #EW;
SLW 2;
SRW 10;
T #Bef;
//Adresse auslesen
L 0;
T #Adr;
L #EW;
SRW 14;
T #Adr;
L #EW;
SLW 13;
SRW 13;
L #Adr;
+I ;
T #Adr;
//Tastendruck aktiv
L #EW;
T #eing;
U L 1.3;
SAVE ;
//Ausgang schreiben
U L 1.3;
SPBNB high;
L #Adr;
T #Adresse;
L #Bef;
T #Befehl;
SPA end;
high: NOP 0;
L 0;
T #Adr;
T #Befehl;
end: NOP 0;
NETWORK
TITLE =Befehle auswerten
L #Bef;
L 16;
==I ;
U L 1.3;
= "IR_Empfangsbits".Licht_auf;
L #Bef;
L 17;
==I ;
U L 1.3;
= "IR_Empfangsbits".Licht_ab;
L #Bef;
L 32;
==I ;
U L 1.3;
= "IR_Empfangsbits".Rollaeden_auf;
L #Bef;
L 33;
==I ;
U L 1.3;
= "IR_Empfangsbits".Rollaeden_ab;
L #Bef;
L 13;
==I ;
U L 1.3;
= "IR_Empfangsbits".Licht_aus;
END_FUNCTION
Wie jetzt, die Kiste ist in deinem Wohnzimmer, was sagt deine Frau dazu?
Wir verwenden essentielle Cookies, damit diese Website funktioniert, und optionale Cookies, um den Komfort bei der Nutzung zu verbessern.
Siehe weitere Informationen und konfiguriere deine Einstellungen