Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Interne und Externe Relais Schalten mit Bitmaske, aber wie ? Kategorie: C-Control I V1.1 (von Jens - 4.05.2006 21:09)
 Als Antwort auf Re: Interne und Externe Relais Schalten mit Bitmaske, aber wie ? von Tommes - 4.05.2006 19:36
Jens nutzt:  CC1-M-Unit V1.1, Micro, Open-Micro, Open-Mini
Hallo Thomas!

Ich habe mal eben schnell ein kleines Programm zusammengetippt. Dabei wird ein Byte für die Eingänge und ein Byte für die Ausgänge verwendet. So kann man ganz einfach die Schaltzustände zuordnen und auch noch im Programm auswerten. Vielleicht hilft Dir dass weiter...

LG Jens

' --- Definition Ports ------------------------
define ACHTPORTS    byteport[1]    '(8 Eingänge) - entspricht PORT[1] bis PORT[8]
define EXTPORT      byteport[4]    '(8 Ausgänge)

' --- Definition Variablen --------------------
define Eingang_alle     byte[1]    'Alle Bits von den Eingängen
define Eingang_1         bit[1]    'Bit 1 von Eingang_alle
define Eingang_2         bit[2]    'Bit 2 von Eingang_alle
define Eingang_3         bit[3]    'Bit 3 von Eingang_alle
define Eingang_4         bit[4]    'Bit 4 von Eingang_alle
define Eingang_5         bit[5]    'Bit 5 von Eingang_alle
define Eingang_6         bit[6]    'Bit 6 von Eingang_alle
define Eingang_7         bit[7]    'Bit 7 von Eingang_alle
define Eingang_8         bit[8]    'Bit 8 von Eingang_alle

define Ausgang_alle     byte[2]    'Alle Bits von den Ausgängen
define Ausgang_1         bit[9]    'Bit 1 von Ausgang_alle
define Ausgang_2         bit[10]   'Bit 2 von Ausgang_alle
define Ausgang_3         bit[11]   'Bit 3 von Ausgang_alle
define Ausgang_4         bit[12]   'Bit 4 von Ausgang_alle
define Ausgang_5         bit[13]   'Bit 5 von Ausgang_alle
define Ausgang_6         bit[14]   'Bit 6 von Ausgang_alle
define Ausgang_7         bit[15]   'Bit 7 von Ausgang_alle
define Ausgang_8         bit[16]   'Bit 8 von Ausgang_alle

' --- Hauptprogramm ---------------------------
#loop
if Eingang_alle = ACHTPORTS then goto loop 'Selbsthaltung, wenn keine Änderung
Eingang_alle = ACHTPORTS 'Datenzuweisung aller Eingänge

if Eingang_1 = off then Ausgang_1 = on else Ausgang_1 = off 'negiert Bit 1
if Eingang_2 = off then Ausgang_2 = on else Ausgang_2 = off 'negiert Bit 2
if Eingang_3 = off then Ausgang_3 = on else Ausgang_3 = off 'negiert Bit 3
if Eingang_4 = off then Ausgang_4 = on else Ausgang_4 = off 'negiert Bit 4
if Eingang_5 = off then Ausgang_5 = on else Ausgang_5 = off 'negiert Bit 5
if Eingang_6 = off then Ausgang_6 = on else Ausgang_6 = off 'negiert Bit 6
if Eingang_7 = off then Ausgang_7 = on else Ausgang_7 = off 'negiert Bit 7
if Eingang_8 = off then Ausgang_8 = on else Ausgang_8 = off 'negiert Bit 8

EXTPORT = Ausgang_alle 'Datenzuweisung aller Ausgänge - Ports schalten

print 'Leerzeile
if Ausgang_1 = on then print "Relais 1 = ON" else print "Relais 1 = OFF" 'Print Relais 1 ON / OFF
if Ausgang_2 = on then print "Relais 2 = ON" else print "Relais 2 = OFF" 'Print Relais 2 ON / OFF
if Ausgang_3 = on then print "Relais 3 = ON" else print "Relais 3 = OFF" 'Print Relais 3 ON / OFF
if Ausgang_4 = on then print "Relais 4 = ON" else print "Relais 4 = OFF" 'Print Relais 4 ON / OFF
if Ausgang_5 = on then print "Relais 5 = ON" else print "Relais 5 = OFF" 'Print Relais 5 ON / OFF
if Ausgang_6 = on then print "Relais 6 = ON" else print "Relais 6 = OFF" 'Print Relais 6 ON / OFF
if Ausgang_7 = on then print "Relais 7 = ON" else print "Relais 7 = OFF" 'Print Relais 7 ON / OFF
if Ausgang_8 = on then print "Relais 8 = ON" else print "Relais 8 = OFF" 'Print Relais 8 ON / OFF

goto loop 'zurĂĽck zum Anfang

 Antwort schreiben

Bisherige Antworten:

Re: Interne und Externe Relais Schalten mit Bitmaske, aber wie ? (von Tommes - 5.05.2006 14:32)