21.10.2014, 22:17
(Dieser Beitrag wurde zuletzt bearbeitet: 21.10.2014 22:21 von lola2014.)
Beitrag #1
|
lola2014
LVF-Gelegenheitsschreiber
Beiträge: 114
Registriert seit: May 2014
2013
2014
DE
|
Case Strukture mit 3 Case
Hallo zusammen,
ich habe eine Frage an euch, und zwar möchte gern eine Case Strukture mit 3 Fälle erstellen. Es geht darum: ich steure 3 Schríttmotoren mit einem Start und die sollen alle auschalten, wenn der Endschlaten ausgeht.
also ich muss fragen: if Endschalter1 =0 ist, dann MOT 1=0, if Endschalter2 =0 ist, dann MOT 2=0, if Endschalter3 =0 ist, dann MOT 3=0. Ich das alles in einer If Schleife progrmmieren und nicht in 3 If Schleife.
hat jemand eine Idee wie man das realisieren kann?
danke
Gruß Lola
|
|
|
22.10.2014, 07:40
(Dieser Beitrag wurde zuletzt bearbeitet: 22.10.2014 07:43 von GerdW.)
Beitrag #2
|
GerdW
______________
Beiträge: 17.465
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Case Strukture mit 3 Case
Hallo Lola,
PseudoCode, der deine Frage beantwortet:
Code:
arr := BuildArray(Endschalter1, Endschalter2, Endschalter3)
num := Search1DArray(arr, FALSE)
Case(num)
Was ist eine If-Schleife?
Ansonsten:
Du hast 3 Endschalter für 3 Motoren. Die würde ich weiterhin parallel und unabhängig voneinander abfragen und auswerten! Oder wie definierst du den Fall "Endschalter1 UND Endschalter2 = Null" mit deiner Fragestellung?
|
|
|
22.10.2014, 09:07
(Dieser Beitrag wurde zuletzt bearbeitet: 22.10.2014 09:09 von lola2014.)
Beitrag #3
|
lola2014
LVF-Gelegenheitsschreiber
Beiträge: 114
Registriert seit: May 2014
2013
2014
DE
|
RE: Case Strukture mit 3 Case
(22.10.2014 07:40 )GerdW schrieb: Hallo Lola,
PseudoCode, der deine Frage beantwortet:
Code:
arr := BuildArray(Endschalter1, Endschalter2, Endschalter3)
num := Search1DArray(arr, FALSE)
Case(num)
Was ist eine If-Schleife?
ich meine damit Case Strukture
Ansonsten:
Du hast 3 Endschalter für 3 Motoren. Die würde ich weiterhin parallel und unabhängig voneinander abfragen und auswerten! Oder wie definierst du den Fall "Endschalter1 UND Endschalter2 = Null" mit deiner Fragestellung?
(22.10.2014 09:07 )lola2014 schrieb: (22.10.2014 07:40 )GerdW schrieb: Hallo Lola,
PseudoCode, der deine Frage beantwortet:
Code:
arr := BuildArray(Endschalter1, Endschalter2, Endschalter3)
num := Search1DArray(arr, FALSE)
Case(num)
Was ist eine If-Schleife?
ich meine damit Case Strukture
Ansonsten:
Du hast 3 Endschalter für 3 Motoren. Die würde ich weiterhin parallel und unabhängig voneinander abfragen und auswerten! Oder wie definierst du den Fall "Endschalter1 UND Endschalter2 = Null" mit deiner Fragestellung?
was meinst du mit: num := Search1DArray(arr, FALSE)
Gruss Lola
|
|
|
22.10.2014, 09:11
Beitrag #4
|
GerdW
______________
Beiträge: 17.465
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Case Strukture mit 3 Case
Hallo lola,
Zitat:was meinst du mit: num := Search1DArray(arr, FALSE)
Search1DArray erwartet als Parameter ein Aray und das zu suchende Element und gibt eine Zahl (den gefundenen Index) aus.
Hast du mal die Hilfe zu dieser Funktion angeschaut?
|
|
|
22.10.2014, 09:16
Beitrag #5
|
|
|
22.10.2014, 09:19
Beitrag #6
|
GerdW
______________
Beiträge: 17.465
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Case Strukture mit 3 Case
Hallo lola,
Zitat:wie kann ich Enum mit mit dem Zustand von Sensoren verbinden
wo du jetzt dieses Enum hergezaubert hast…
Wozu brauchst du das jetzt?
Entweder du folgst meinem PseudoCode: dann bekommst du eine Zahl, die du direkt an die Case-Struktur verdrahtest.
Oder du ersetzt deine IF-THEN-ELSE- Abfragen durch ein einfaches AND: MOT_x := MOT_x-Vorgabe AND Endschalter_x…
|
|
|
22.10.2014, 09:36
Beitrag #7
|
lola2014
LVF-Gelegenheitsschreiber
Beiträge: 114
Registriert seit: May 2014
2013
2014
DE
|
RE: Case Strukture mit 3 Case
(22.10.2014 09:19 )GerdW schrieb: Hallo lola,
Zitat:wie kann ich Enum mit mit dem Zustand von Sensoren verbinden
wo du jetzt dieses Enum hergezaubert hast…
Wozu brauchst du das jetzt?
Entweder du folgst meinem PseudoCode: dann bekommst du eine Zahl, die du direkt an die Case-Struktur verdrahtest.
Oder du ersetzt deine IF-THEN-ELSE- Abfragen durch ein einfaches AND: MOT_x := MOT_x-Vorgabe AND Endschalter_x…
Hallo GerdW,
kannst du mir bitte deine Code als Funktion zeigen.
Gruß Lola
|
|
|
22.10.2014, 09:40
Beitrag #8
|
GerdW
______________
Beiträge: 17.465
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Case Strukture mit 3 Case
Hallo Lola,
bitte:
|
|
|
23.10.2014, 01:48
Beitrag #9
|
|
|
23.10.2014, 06:53
|
GerdW
______________
Beiträge: 17.465
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Case Strukture mit 3 Case
Hallo Lola,
- die Array-Suche hast du programmiert. Nur das die Array-Indices bei Null anfange, hast du nicht beachtet! Wenn "INI M1" = 0 ist, dann ist der gefundene Index auch Null - und nicht "1", wie es deine Case-Struktur erwartet…
- Ich bin ja der Meinung, dass man Endschalter ständig abfragen sollte, und nicht nur während eines "Init"-States. Aber das muss ja nicht für dich gelten…
|
|
|
| |