Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 31

Thema: Lösungsmöglichkeit

  1. #1
    Registriert seit
    25.09.2008
    Beiträge
    17
    Danke
    12
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi!
    Als STEP7-Beginner komme ich nicht weiter. Vielleicht könnt ihr mir einen Kick geben wie ich das Problem lösen kann.
    Also.....
    Bekomme in einem DB 3 verschidene dezimalen Werte gleichzeitig.
    Wert 1...Bereich von 1-100, Wert 2...Bereich von 1-10, Wert 3..Eine eins oder 0.
    Beim Wert 1 und 2 sind alle möglichen Kombinationen erlaubt (z.B. 50 und 2). Eine bestimmte Kombination macht eine bestimmte Lampe an...also theoretisch 1000 Lampen.
    So, nun werden mit Wert3, mit einer eins die Werte 1 und 2 ausgelesen und die bestimmte Lampe geht an. Nun kann ich so nacheinander 1-1000 Lampen schalten (mehrere Lampen können gleichzeitig an sein).
    So, wenn nun werden mit Wert3, mit einer Null, die Werte 1 und 2 ausgelesen, und falls die Lampe an ist...wird diese ausgemacht. Die anderen Lampen müssen natürlich weiterleuchten.
    Ich hoffe, das ist einigermaßen verständliche Beschreibung.
    Hat jemand einen Tip wie ich das realisieren kann?
    Zitieren Zitieren Lösungsmöglichkeit  

  2. #2
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von mister_chaos Beitrag anzeigen
    Ich hoffe, das ist einigermaßen verständliche Beschreibung.
    ich hoffe, du hast noch eine andere, detailiertere beschreibung über den mechanismus, wie die einzelnen lampen adressiert werden sollen.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #3
    Registriert seit
    09.12.2006
    Ort
    Lahnstein/Mannheim
    Beiträge
    66
    Danke
    3
    Erhielt 11 Danke für 10 Beiträge

    Standard

    Hi,

    ja du kannst verschiedene Wertebereiche in einen DB legen, hier gibt es standarttypen wie BOOL, Byte, INT, Real......

    Die Aufgabe klingt interesant, Falnkenauswerten von 3, dann mit dem Pointer auf die Adresse und mit nem EXODER verschalten
    Gruß

    Ron

  4. #4
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.697 Danke für 1.949 Beiträge

    Standard

    Die Frage ist, was soll passieren, wenn die SPS in Stop geht oder ausgeschaltet wird. Sollen dann die Lampenzustände gespeichert sein, so daß beim Wiederanlauf alles beim Alten ist?
    (Dazu bräuchte man eine Wiederanlaufroutine, die alle Bits im DB einmalig abfragt und die Aussgänge steuert)

    Ich würde als Ansatz einen DB erzeugen, der ein Array[1..100, 1..10] of Bool enthält (oder auch of Byte, je nach Bedarf).
    Eigentlich benötigt man diesen auch um festzustellen, ob der Lampenzustand sich ändert. Diese ganze Abfrage wäre am Besten in SCL zu erledigen!

    Wenn nun eine Lampe angewählt wird, schaut man in dem DB nach, wenn der Zustand identisch mit dem angewählten ist, passiert nichts, ansonsten schaltet man die Lampe an oder aus.

    Unklar ist hier insgesamt noch, wie die Ausgänge denn zugeordnet werden sollen. Das muß 1. irgendwo festgelegt werden, und 2. muß der Ausgang dann entsprechend zugewiesen werden.

    Also könnte man in das Array auch och mehr Infos ablegen, die da wären, Zustand des Ausgang, Ausgangsadresse. Über indirekte Adressierung kann man dann immer gleich den richtigen zugehörigen Ausgang steuern. Das in SCL oder AWL.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  5. #5
    mister_chaos ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    25.09.2008
    Beiträge
    17
    Danke
    12
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Vielen Dank erstmal für die Tips!
    Zu den Lampen...vielleicht war ich nicht ganz korrekt...also, es gehen eigentlich zwei Lampen an, eine für Wert1 (1-100) und zweite für Wert2(1-10). Die Lampen sind in 2 DBs hinterlegt (BOOL).
    SCL habe ich leider nicht
    Geändert von mister_chaos (08.12.2008 um 16:26 Uhr)

  6. #6
    mister_chaos ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    25.09.2008
    Beiträge
    17
    Danke
    12
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Grrr...ich finde keinen Ansatz.
    Also, habe mir nun eine Schlefie gebaut die aus dem DB den Wert3, also 1 oder 0 rauszieht. Und dann wird die Funnktion bei 1 "LampeAN" oder bei 0 "LampeAUS" gestartet.
    Aber wie soll ich unterscheiden bei den ganzen Möglichkeiten?
    Bei einem Gerät könnte ich einfach alle 10 Möglichkeiten abfragen und so die 10 Lampen für das eine Gerät anmachen. Ausmachen analog dazu negiert...
    Aber wie mache ich das nun für 100 Geräte mit je 10 Möglichkeiten?
    Hat jemand einen TIP?
    Danke!

  7. #7
    Registriert seit
    11.05.2005
    Ort
    Baden-Württemberg
    Beiträge
    669
    Danke
    113
    Erhielt 153 Danke für 124 Beiträge

    Standard

    Hallo,

    ich glaube dass es einfach geht!
    Ich hab blos die Aufgabe nicht richtig verstanden

    Wenn z.B.

    Fach 1: 70
    Fach 2: 3

    Soll dann Lanpe Nr. 210 bearbeitet werden???

    Gruß Micha
    "arbeite klug, nicht hart" - deutsches Sprichwort

  8. Folgender Benutzer sagt Danke zu SPSKILLER für den nützlichen Beitrag:

    vierlagig (09.12.2008)

  9. #8
    mister_chaos ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    25.09.2008
    Beiträge
    17
    Danke
    12
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hi!
    Ja, z.B.
    Es können 1..1000 Lampen an sein. Ich machs mal so:
    Wenn Kombination (Wert1=70 und Wert2=3) dan mache Lampe50 an.
    Beim Ausmachen analog dazu.(Wenn Wert1= 70 und Wert2=3) dann mache Lampe50 aus.

  10. #9
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    kannst du irgendwie einen logischen zusammenhang zwischen lampennummer und ihrer adressierung herstellen? das würde die sache ungemein vereinfachen ... so wie SPSKILLER z.b. auf die schlichte multiplikation gesetzt hat.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  11. #10
    Registriert seit
    11.05.2005
    Ort
    Baden-Württemberg
    Beiträge
    669
    Danke
    113
    Erhielt 153 Danke für 124 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    mit welcher Formel kommst du auf 50?
    "arbeite klug, nicht hart" - deutsches Sprichwort

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •