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

Page 1 of 4 123 ... LastLast
Results 1 to 10 of 31

Thread: Lösungsmöglichkeit

  1. #1
    Join Date
    25.09.2008
    Posts
    17
    Danke
    12
    Erhielt 1 Danke für 1 Beitrag

    Default


    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?
    Reply With Quote Reply With Quote Lösungsmöglichkeit  

  2. #2
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    Quote Originally Posted by mister_chaos View Post
    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
    Join Date
    09.12.2006
    Location
    Lahnstein/Mannheim
    Posts
    68
    Danke
    3
    Erhielt 11 Danke für 10 Beiträge

    Default

    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
    Join Date
    27.05.2004
    Location
    Thüringen/Berlin
    Posts
    13,806
    Danke
    746
    Erhielt 3,127 Danke für 2,231 Beiträge

    Default

    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
    Join Date
    25.09.2008
    Posts
    17
    Danke
    12
    Erhielt 1 Danke für 1 Beitrag

    Default

    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
    Last edited by mister_chaos; 08.12.2008 at 16:26.

  6. #6
    Join Date
    25.09.2008
    Posts
    17
    Danke
    12
    Erhielt 1 Danke für 1 Beitrag

    Default

    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
    Join Date
    11.05.2005
    Location
    Baden-Württemberg
    Posts
    723
    Danke
    114
    Erhielt 158 Danke für 128 Beiträge

    Default

    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
    Join Date
    25.09.2008
    Posts
    17
    Danke
    12
    Erhielt 1 Danke für 1 Beitrag

    Default

    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
    Join Date
    08.08.2007
    Location
    Dresden
    Posts
    9,882
    Danke
    1,064
    Erhielt 2,056 Danke für 1,632 Beiträge

    Default

    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
    Join Date
    11.05.2005
    Location
    Baden-Württemberg
    Posts
    723
    Danke
    114
    Erhielt 158 Danke für 128 Beiträge

    Default


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

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •