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: Programm schreiben Kategorie: Programmierung Basic (von Chriss - 24.02.2005 17:54)
 Als Antwort auf Re: Programm schreiben von Stefan Tappertzhofen - 24.02.2005 17:45

> > > Hi, wo soll ich Dir die Daten hinschicken?
> > Habe sie eingescannt und sie liegen jetzt als Bilder bereit.
>
> Err... Eingescannt? Wieso eingescannt? Setzt doch den Quelltext hier einfach ins Forum.
>
> '************************************************************
'
'
'Aufgabe:
'
' - Das BASIC-Programm für einen OP-Tisch
' - Die 8 Funktionen des OP-Tisches: 1.Rückenauflage    [auf]
' -                                  2.Rückenauflage    [ab]
' -                                  3.linkes Bein      [auf]
' -                                  4.linkes Bein      [ab]
' -                                  5.rechtes Bein     [auf]
' -                                  6.rechtes Bein     [ab]
'
'************************************************************
' --- Definition-----------------------------------------

define e1 port[1]                             'Taste rauf Rückenauflage       [ein]
define e2 port[2]                             'Taste runter Rückenauflage     [ein]
define e3 port[3]                             'Taste rauf linkes Bein         [ein]
define e4 port[4]                             'Taste runter linkes Bein       [ein]
define e5 port[5]                             'Taste rauf rechtes Bein        [ein]
define e6 port[6]                             'Taste runter rechtes Bein      [ein]
define e7 port[7]                             'Signal Photozelle              [ein]
define e8 port[8]                             'Signal "10 in 1"               [ein]


define rücku    port[10]                      'Ausgangssignal für Motorrelais Rückenauflage [rauf]
define rücko    port[11]                      'Ausgangssignal für Motorrelais Rückenauflage [runter]
define beinuli  port[12]                      'Ausgangssignal für Motorrelais linkes Bein   [rauf]
define beinoli   port[13]                     'Ausgangssignal für Motorrelais linkes Bein   [runter]
define beinure  port[14]                      'Ausgangssignal für Motorrelais rechtes Bein  [rauf]
define beinore   port[15]                     'Ausgangssignal für Motorrelais rechtes Bein  [runter]
define zeit word
define z byte

rücku = 0
rücko = 0
beinuli = 0
beinoli  = 0
beinure = 0
beinore  = 0

zeit=0
z=0
' --- Programmoperationen -------------------------------

#Loop

if ((timer > (zeit+600)) and (z=1)) then gosub rückustop                                       '?
if ((not e2) and (not e3) and (not e4) and (not e5) and (not e6) and (e1)) then gosub rückunten'?
if ((not e1) and (not e3) and (not e4) and (not e5) and (not e6) and (e2)) then gosub rückoben '?
goto Loop                                                                                      '?

#rückoben                                       'Rücken nach oben
if (z=1) then gosub rückustop                   'Rücken halten
rücko = 1                                       'Rücken nach oben eingeschaltet
wait(e1)                                        'Pause wegen Taste gedrückt
pause 10                                        'Pause wegen Taste gedrückt
rücko = 0                                       'Rücken nach oben wird gehalten
return

#rückustop                                      'Rücken nach unten
rücku=0
z=0
return

#rückustop2                                     'Rücken nach unten gehalten, mit Taste gedrückt
rücku=0
z=0
wait (e2)
pause 10
goto Loop

#rückunten
rücku = 1                                       'Rücken nach unten eingeschaltet
if (z=1) then goto rückustop2                   'bei 3. mal taste (Rücken Unten) gedrückt, sofort halten
if ((zeit+50) > timer) then goto rückuzeit      'bei 2. mal taste (Rücken Unten) gedrückt
wait (e2)
zeit = timer                                    'Zeit gespeichert, bei 1.Taste (Rücken Unten) gedrückt
pause 10
if ((e2) and (z=0)) then rücku =0               'Rücken nach unten gehalten
return

#rückuzeit                                      'Pause wegen Taste gedrückt
wait (e2)
z=1
pause 10
goto Loop

#beinobenli                                     'Bein li. nach oben
if (z=1) then gosub beinulistop                 'Bein li. halten
beinoli = 1                                     'Bein li. nach oben eingeschaltet
wait(e3)                                        'Pause wegen Taste gedrückt
pause 10                                        'Pause wegen Taste gedrückt
beinoli = 0                                     'Bein li. nach oben wird gehalten
return

#beinulistop                                    'Bein li. nach unten
beinuli=0
z=0
return

#beinulistop2                                   'Bein li. nach unten gehalten, mit Taste gedrückt
beinuli=0
z=0
wait (e4)
pause 10
goto Loop

#beinuntenli
beinuli = 1                                     'Bein li. nach unten eingeschaltet
if (z=1) then goto beinulistop2                 'bei 3. mal taste (Bein li. Unten) gedrückt, sofort halten
if ((zeit+50) > timer) then goto beinulizeit    'bei 2. mal taste (Bein li. Unten) gedrückt
wait (e4)
zeit = timer                                    'Zeit gespeichert, bei 1.Taste (Bein li. Unten) gedrückt
pause 10
if ((e4) and (z=0)) then beinuli =0             'Bein li. nach unten gehalten
return

#beinulizeit                                    'Pause wegen Taste gedrückt
wait (e4)
z=1
pause 10
goto Loop


 Antwort schreiben

Bisherige Antworten:

Re: Programm schreiben (von Stefan Tappertzhofen - 24.02.2005 18:15)
    Re: Programm schreiben (von Chriss - 25.02.2005 10:30)
        Re: Programm schreiben (von Stefan Tappertzhofen - 25.02.2005 10:55)
    Re: Programm schreiben (von Chriss - 24.02.2005 18:27)
        Re: Programm schreiben (von Dierk - 24.02.2005 18:48)
            Re: Programm schreiben (von Chriss - 25.02.2005 10:41)