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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: Zahlenkombinationen mit S7 errechnen

  1. #1
    Registriert seit
    30.06.2007
    Ort
    In der Pfalz
    Beiträge
    503
    Danke
    72
    Erhielt 77 Danke für 65 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Kollegen,

    hab eine ziemlich kniffelige Aufgabe gestellt bekommen.
    Ich habe einen variablen Sollwert (z.B. 86) den ich so genau wie möglich durch die Addition von max. 10 anderen Werten (ebenfalls variabel z.B. 23,45,12,20,...) errechnen soll. Wieviel der 10 Werte ich Addieren muss ist egal.
    Meiner Meinung nach muss ich alle Kombinationsmöglichkeiten ausrechnen um so nahe wie möglich an den Sollwert zu kommen (außer eine Kombination ergibt genau den Sollwert).
    Hat schon mal jemand von euch so was gemacht?
    Ich denke ich muss es in SCL programmieren oder hat jemand ne andere Idee?
    Zitieren Zitieren Zahlenkombinationen mit S7 errechnen  

  2. #2
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Klingt nach Schulaufgabe. (oder?)

    Also wenn das der Fall ist dann erfinden die Lehrer ja meist solche Aufgaben ja nicht wirklich komplett neu. Also die Aufgabenstellung kenne ich jetzt nicht wenn das aber ein bekanntes Problem aus dem Bereich der Informatik ist dann gibt es im Netzt sicher Lösungsalgorithmen für die Aufgabe. Ich habe aber gerade kein Plan wie sich der hier nennen könnte.

    Die Umsetzung wird sicher am Einfachsten in SCL gehen.
    If you open your Mind too much, your Brain will fall out.

  3. #3
    Registriert seit
    14.09.2005
    Beiträge
    218
    Danke
    9
    Erhielt 23 Danke für 13 Beiträge

    Standard

    Hört sich an wie so eine Waage zum verpacken von z.B. Lebensmittel in Tüten. Wenn man hin und wieder die Reportagen auf N24 schaut, sieht man die ständig . Ist es was in der Art?

  4. #4
    Registriert seit
    28.10.2005
    Ort
    Ottweiler, Saar
    Beiträge
    940
    Danke
    259
    Erhielt 124 Danke für 109 Beiträge

    Standard

    Soweit ich das beurteilen kann ist es das Rucksackproblem.
    Kannst ja mal danach suchen.
    Das Problem besteht darin, den Rucksack so zu packen,
    dass er möglichst voll ist.
    Also ein Optimierungsproblem. Tritt zB beim Laden von
    Lastern auf.

    Auf Wikipedia ist das recht gut beschrieben, mit Algorithmus.
    Bei max. 10 Werten kommt man aber auch zum Ziel,
    wenn man alle Kombinationen ausprobiert.
    Geändert von argv_user (01.07.2007 um 16:28 Uhr)
    Zitieren Zitieren Optimales Packen  

  5. #5
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.252
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Zitat Zitat von Steve81 Beitrag anzeigen
    Hallo Kollegen,

    hab eine ziemlich kniffelige Aufgabe gestellt bekommen.
    Ich habe einen variablen Sollwert (z.B. 86) den ich so genau wie möglich durch die Addition von max. 10 anderen Werten (ebenfalls variabel z.B. 23,45,12,20,...) errechnen soll. Wieviel der 10 Werte ich Addieren muss ist egal.
    Meiner Meinung nach muss ich alle Kombinationsmöglichkeiten ausrechnen um so nahe wie möglich an den Sollwert zu kommen (außer eine Kombination ergibt genau den Sollwert).
    Hat schon mal jemand von euch so was gemacht?
    Ich denke ich muss es in SCL programmieren oder hat jemand ne andere Idee?
    Darf man auch 2- oder mehrmals den selben Wert nehmen zB 43+43?

  6. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.227
    Danke
    534
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zitat Zitat von argv_user Beitrag anzeigen
    Soweit ich das beurteilen kann ist es das Rucksackproblem.
    Kannst ja mal danach suchen.
    Das Problem besteht darin, den Rucksack so zu packen,
    dass er möglichst voll ist.
    Also ein Optimierungsproblem. Tritt zB beim Laden von
    Lastern auf.
    Da hast du Recht.
    Das hier finde ich recht gut beschrieben: http://www.tinohempel.de/info/info/t...ackproblem.htm
    Mit Lösungsansatz in Java, was man aber leicht in SCL umsetzen kann:
    http://www.deeds.informatik.tu-darms...heProg-3x3.pdf
    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

  7. #7
    Avatar von Steve81
    Steve81 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    30.06.2007
    Ort
    In der Pfalz
    Beiträge
    503
    Danke
    72
    Erhielt 77 Danke für 65 Beiträge

    Standard

    Also es handelt sich um eine Anwendung für die Abfüllung von Lebensmitteln. Ein Wert darf nicht doppelt verwendet werden außer er kommt bei den 10 Werten wirklich 2mal vor. Danke für eure Antworten, ich denke dass mir die JAVA-Lösung weiter hilft.

  8. #8
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.252
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Ok, ich check das in Java nicht...
    ich würde von 1023 herunterzählen und die Zahl binär auswerten.


    zB Schleife von 1023....1
    L #Zählwert
    L 2#1000000000
    UW
    ==0 //wenn null wird nicht gezählt
    SPB W2
    L #Gesamtwert
    L #Wert 1
    +D
    T #Gesamtwert
    W2: L #Zählwert
    L 2#0100000000
    UW
    ==0 //wenn null wird nicht gezählt
    SPB W3
    L #Gesamtwert
    L #Wert 2
    +D
    T #Gesamtwert
    W3:
    usw. also alle 10 ausmaskierten Bits auswerten.... müssten dann eigentlich alle Möglichkeiten sein.

    danach Differenz zu Sollwert errechnen, und beste Annäherung speichern.

    (korrektur: Sprungmarken)
    Geändert von borromeus (02.07.2007 um 08:05 Uhr)

  9. #9
    Registriert seit
    06.10.2003
    Beiträge
    3.414
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard

    Hallo borromeus,

    Java verstehe ich auch nicht. Was du da aber mit AWL veranstaltest, kann ich noch viel weniger nachvollziehen. Vielleicht habe ich auch nur Tomaten auf den Augen.

    @Steve81
    vielleicht hilft dir auch folgender link (Pascal):

    http://www.laurentianum.de/leinfo02.htm


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  10. #10
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.252
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @Onkel Dagobert:

    Ich denke wenn ich binär von 1 bis 1023 zähle sollte ich alle Kombinationen der 10 möglichen Zahlen herstellen können.
    Jede Bitstelle entspricht einem Wert.

    Innerhalb der Schleife (dass was als AWL zum Teil gepostet ist) dient dazu:
    Es gibt Wert 1-10,
    ist nun zB die Binärkombination:
    1010101010 gerade "dran"
    addiere ich die Zahlenwertinhalte von Zahl 10,8,6,4,2 - so wie die Bits die 1 sind.

    bei
    0001101100 addiere ich die Zahlenwertinhalte von Zahl 7,6,4,3.


    Dazu makier ich das jeweilige Bit aus- habe es aber nur für Bit10 und Bit9 dargestellt- und akkumuliere den Gesamtwert.

    Du hast aber vollkommen Recht das konnte niemand erkennen.
    Vielleicht ist die Idee aber jetzt klarer.

  11. Folgende 2 Benutzer sagen Danke zu borromeus für den nützlichen Beitrag:

    Onkel Dagobert (02.07.2007),Steve81 (13.07.2007)

Ähnliche Themen

  1. Integral in SCL errechnen
    Von Bensen83 im Forum CODESYS und IEC61131
    Antworten: 14
    Letzter Beitrag: 15.01.2011, 16:30
  2. Hubzahl errechnen
    Von bastler im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 03.09.2009, 22:59
  3. Bandgeschwindigkeit errechnen
    Von poppycock im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 12.01.2009, 12:35
  4. Drehzahl errechnen
    Von MSB im Forum Programmierstrategien
    Antworten: 1
    Letzter Beitrag: 18.10.2008, 08:56
  5. S7 200 Drehzahl errechnen
    Von plc_tippser im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 04.10.2004, 20:17

Lesezeichen

Berechtigungen

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