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

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

Thema: Input/Output

  1. #1
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Gibt es irgendeine Möglichkeit, den Input/Output eines FC (Step7) so zu definieren, daß er Byte, Word oder DWord sein kann? Mal Abgesehen von der Übergabe als Any!

    Ich dachte ich hab das schon mal irgendwo gesehen, kann es aber nicht mehr finden.

    Bsp.:

    Eine Inputvar kann Byte, Word oder DWord sein. Diese Variable soll aus einer Datenbank bedient werden, abhängig von einem angewählten Produktionstyp.
    Ein entsprechender Wert soll dann in der Outputvar erscheinen. Ich will nicht 3 Funktionen schreiben, eine für Byte, eine für Word und eine für DWord.
    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
    Zitieren Zitieren Input/Output  

  2. #2
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.811
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard

    versteh ich jetzt nicht, zumindest müsstest du für den "schlimmsten fall" also für Dword den speicher reservieren.

    wenn du die auswertung extern machst, ggf. wandelst und der fc immer dword gibst?

    bzw. wenn du die daten aus einer db bekommst, wo werder die bei dir abgelget? in welchem bereich? und woher weist du ob es byte word oder dword ist? anhand der größe der zahl?
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)

  3. #3
    Avatar von Ralle
    Ralle ist offline Super-Moderator
    Themenstarter
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Das ist das eine Problem, es können alle Datentypen auftreten. Natürlich weiß ich was ich holen will, also ein Byte, oder ein Word aus einem DB. In dem DB sind die Daten für 50 Produkte hinterlegt. Abhängig vom Produkt will ich also sagen können "Gib mit Wert 10 aus dem Datensatz als Byte". An den Output schreibe ich ein dann z.Bsp. eine Temp-Var als Byte. Wert 11 soll als DWord ausgegeben werden, also an den Output ein DWord, fertig.

    Warum?

    Eine bestehende Anlage soll nun unterschiedliche Produkte gleichzeitig herstellen. Dazu hole ich den Produktionstyp vom WT. Die Daten aus der Datenbank. Alles kein Problem. Allerdings gibt es einige Daten, auf die früher fest zugegriffen wurde, da ja die Produktanwahl fest war. Nun will ich statt des festen Aufrufs der Daten L DB1.DBD20, eine Funktion haben, die mir am Output dann den richtigen Wert aus der Datenbank gibt. Auch kein Problem, aber ich will für alle Werte nur eine Funktion haben, nicht 4 Funktionen, bin halt faul.
    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

  4. #4
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.811
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard

    ich blicks garnichtmehr...

    du hast quasi x produkte und jedes produkt hat einen datensatz der sieht z.b. so aus:

    byte - Nummer
    int - komponete A
    dint - kompnetet B
    dint - komponete C
    int - verhältniss A-B
    int - verhältniss A-C

    so ??? ja ???

    ist diese struktur bei allen produkten gleich?
    oder sieht der datensatz von produkt B z.b. so aus?

    byte - Nummer
    int - komponete A
    int - komponente B
    dint - laufzeit
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)

  5. #5
    Avatar von Ralle
    Ralle ist offline Super-Moderator
    Themenstarter
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Die Datensätze sind alle gleich. Da das System so in vielen Anlegen eingesetzt wird, sind die Datensätze nicht struckturiert (Einfach 100 aufeinanderfolgende Word). Es liegen also als Struktur alles Word-Daten vor. Je nach Bedarf kann man also Bit, Byte, Word oder auch DWord in diesem Datenbereich ablegen. Ist nicht sehr übersichtlich ich weiß, dafür aber universell. Man hat auch keine Symbolik davon, aber das wird im Programm ausreichend dokumentiert, bei jedem Variablenzugriff steht, was das ist, sind auch nicht all zu viele!

    Mal anders:

    Früher: neues Produkt auf der Anlage --> Anwahl des Produktes, Umspeichern von 100 Word in einen "aktuellen Datensatz". Aus diesen wurde dann immer zugegriffen, dieser konnte auch bei Bedarf strukturiert sein, das ist den Daten beim Umspeichern ja egal.

    Jetzt neu: mehrere Produkte gleichzeitig. Das Umspeichern in den "aktuellen Datensatz" geht ja nun nicht mehr, also indirektes Auslesen der Daten direkt aus der Datenbank zu dem Zeitpunkt, an dem sie benötigt werden, durch einen möglichst universellen FC.
    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

  6. #6
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.811
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard

    jetzt hat sie es begriffen - moment genie denkt nach...
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)

  7. #7
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.811
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Jetzt neu: mehrere Produkte gleichzeitig. Das Umspeichern in den "aktuellen Datensatz" geht ja nun nicht mehr, also indirektes Auslesen der Daten direkt aus der Datenbank zu dem Zeitpunkt, an dem sie benötigt werden, durch einen möglichst universellen FC.

    das versteh ich jetzt dann doch nicht?
    wie bearbeitet die maschien mehrere produkte gleichzeigtig?
    du unterschlägst mir hier doch informationen...

    hat die anlage (band) mehrere stationen, und es werden chaotisch verschiedene produkte draufgeworfen, jede station muss dann ein anderes produkt bearbeiten aber auf die selbe datenbasis zugreifen?
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)

  8. #8
    Avatar von Ralle
    Ralle ist offline Super-Moderator
    Themenstarter
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.222
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Ja, die Produkte liegen auf WT und fahen auf einem Band durch die Anlage.
    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

  9. #9
    Registriert seit
    15.02.2006
    Ort
    S-H
    Beiträge
    189
    Danke
    11
    Erhielt 46 Danke für 18 Beiträge

    Standard

    Hallo Ralle,

    mein erster Gedanke dazu war, einfach 3 unterschiedliche Eingänge am FC zu deklarieren (byte,Word,DW), und über einen zusätzlichen Eingang über eine Kennung (1=byte,2=W,3=DW) dem Baustein zu sagen, in welchem Modus er gerade arbeiten soll.
    Hat aber leider den Nachteil, daß die nicht benutzten Eingänge mit "Schmierdaten" belegt werden müssten, da sie ja schlecht unbelegt bleiben können.
    Und damit finde ich das ganze selbst nicht mehr so toll....
    Bin gespannt, was da für ne Lösung rauskommt, werde es gespannt verfolgen!
    mit bestem Gruß Pjoddi
    -----------------------------------
    Gott- gib mir Gelassenheit, Dinge hinzunehmen, die ich nicht ändern kann, den Mut, Dinge zu ändern, die ich ändern kann, und die Weisheit, das eine vom anderen zu unterscheiden. (J.C. Oetinger)
    Zitieren Zitieren Denkansatz  

  10. #10
    Registriert seit
    16.06.2003
    Ort
    88356 Ostrach
    Beiträge
    4.811
    Danke
    1.231
    Erhielt 1.101 Danke für 527 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ok ich habe so etwas häufiger, und realisiere das dann so das jede station ihren eigenen aktualbereich bekommt.


    das sieht dann z.b. so aus:

    DB110 // 100 word die z.b. über die visu editiert werden können
    dieser db kann in und aus dem 200er bereich kopiert werden (prg laden speichern) --> offlineprogrammieren solange anlage produziert


    DB201 - DB2xx // Speicher für Rezepturen (bei neuen CPUs unlinked auf der mmc)


    DB111 // daten für station 1
    DB112 // daten für Station 2
    .
    .
    .
    diese db´s könenn aus dem 200er bereich kopiert werden (prg laden)

    Diese DBs sehen alle gelich aus bzw bestehen aus der structur udt_x


    auf deinem wzt "fährt" nur die programmnummer mit.
    wenn der wzt an die station kommt wirde der entsprechede db2xx in den stations-db11x kopiert.

    die station verwendet in dem db11x nur das was sie braucht...

    wäre das nicht einfacher und sauberer?
    Geändert von Markus (04.01.2007 um 14:09 Uhr)
    "Es ist weit besser, große Dinge zu wagen, ruhmreiche Triumphe zu erringen, auch wenn es manchmal bedeutet, Niederlagen einzustecken, als sich zu den Krämerseelen zu gesellen, die weder große Freude noch großen Schmerz empfinden, weil sie im grauen Zwielicht leben, das weder Sieg noch Niederlage kennt." Theodore Roosevelt - President of the United States (1901-1909)

Ähnliche Themen

  1. Control Valve through Analog Input/Output - Beckhoff PLC
    Von tech007 im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 10.05.2011, 17:13
  2. Antworten: 4
    Letzter Beitrag: 18.03.2009, 16:12
  3. Baustein 16 Input 16 Output!
    Von Krma1985 im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 03.01.2009, 14:32
  4. Input output modul
    Von Anonymous im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 02.01.2006, 20:50
  5. Antworten: 1
    Letzter Beitrag: 24.11.2003, 06:40

Lesezeichen

Berechtigungen

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