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

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

Thema: Variabler FC-Aufruf mit Parametern

  1. #1
    Registriert seit
    11.12.2008
    Beiträge
    73
    Danke
    39
    Erhielt 9 Danke für 8 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    *Step 7

    *AWL

    ich würde gern bei einem FC-Bausteinaufruf mittels UC parameter übergeben

    dass es mglich ist, hab ich mal im siemensforum gelesen, allerdings nur mittels tricksereien, wo man dem UC-aufruf in der quelle die Parameter übergibt, wie bei einem Call (der in der Quelle ja auch als UC übersetzt wird)

    das scheint erstmal sinnfrei, weil man ja die Parameter nur dann kennt, wenn man schon weiß, welchen baustein man aufrufen will und in dem fall auch ein call genügt, aber ich hatte da so die fixe idee, die FC-Nummern des Projektes (welches andere Projekte ergänzen soll) in einem DB zu speichern und wenn die FC-Nummern der Bausteine sich ändern, ändert man die Nummer im Array des DBs...

    man ruft aber trotzdem an den gleichen stellen den gleichen baustein auf und übergibt die gleichen parameter


    wenns da ne einfachere lösung als rumwurschteln in der Quelle gäbe, wäre ich dankbar. Zumal man nach rumfummeln an der Quelle die Bausteine nicht mehr ändern kann, da dieser Teil sonst überschrieben bzw automatisch falsch neugeneriert würde

    ansonsten weiter wie bisher bei jedem einzelnen aufruf von hand die FC-Nummer ändern... würde mich auch nicht umbringen
    Tolle Wurst...
    Zitieren Zitieren Variabler FC-Aufruf mit Parametern  

  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 Mangokind Beitrag anzeigen
    ansonsten weiter wie bisher bei jedem einzelnen aufruf von hand die FC-Nummer ändern... würde mich auch nicht umbringen
    ...oder endlich anfangen symbolisch zu programmieren
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #3
    Registriert seit
    11.12.2008
    Beiträge
    73
    Danke
    39
    Erhielt 9 Danke für 8 Beiträge

    Standard

    würde ich gern, aber ich bin da durch gewisse vorgaben festgelegt
    Tolle Wurst...

  4. #4
    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 Mangokind Beitrag anzeigen
    würde ich gern, aber ich bin da durch gewisse vorgaben festgelegt
    nur mal so zum verständnis: deine vorgaben verbieten es dir symbolisch zu programmieren, also den symbolvorrang einzuschalten aber erlauben es dir sone grütze - sorry - öhm, so unkomfortablen code zu schreiben, wie du ihn oben angedacht hast?

    verrückte welt
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  5. #5
    Registriert seit
    11.12.2008
    Beiträge
    73
    Danke
    39
    Erhielt 9 Danke für 8 Beiträge

    Standard

    verrückte welt, ja

    DB-Nummern sollen flexibel sein
    wäre mit symbolischen Adressen noch möglich

    FC-Nummern sollten das eigenlich auch sein, aber naja

    die DB-Zuordnung wird erst später festgelegt, wenn entschieden wird, welcher FC wie oft aufgerufen wird und woher dessen Parameter kommen
    hängt von der Maschine ab, auf der das programm gerade läuft

    die Parameter selbst werden erst irgendwann zur laufzeit des Programms per TP eingegeben (und per Blockmove verteilt)

    da wirds schon kniffelig mit symbolischer adressierung

    für schlaue ideen bin ich aber immer offen...
    Tolle Wurst...

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.709
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,
    die einzige "schlaue" Idee, die ich hier habe wäre den Datenblock für die Stationen so auszulegen, dass alle Daten von/für alle Stationen grundsätzlich hineinpassen. Du hast dann immer und für alle Stationen den gleichen Datenblock und bedienst dich in der Station dann nach Bedarf ...

    Gruß
    LL

  7. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    Mangokind (18.03.2009)

  8. #7
    Registriert seit
    11.12.2008
    Beiträge
    73
    Danke
    39
    Erhielt 9 Danke für 8 Beiträge

    Standard

    die verwaltung der DBs ist eigenlich weniger das problem.

    das programm läuft auch testweise bereits auf 2 maschinen und funktioniert wie es soll.

    es hat sich nur beim einrichten gezeigt, dass unerfreulich viele anpassungen gemacht werden müssen, falls die maschine nach dem pflichtenheft anderer firmen programmiert ist.

    das ist teilweise unvermeidlich, teilweise setze ich auch gerade lösungen um. konkret: eine zwischenschicht, die die daten der Maschine so umformuliert, wie das prog sie erwartet
    die muss man dann halt für jeden hersteller einmal schreiben und dann läufts auf allen nach dessen standard programmierten maschinen

    eine nervige fummelei war jedenfalls das ändern der FC-nummern, wenn deren Pflichtenheft verlangt, dass zusatzbausteine nur nummern im bereich XYZ haben dürfen
    bei DB nummern kein problem, weil die nur 1 mal in einem Array geändert werden müssen, aus dem sich die (recht zahlreichen) bausteine des programms dann die nummern holen

    hätte ja sein können, es gäbe da möglichkeiten...

    ist aber nur ein detail für das mir nichts schlaueres eingefallen ist, als ein-und ausgangsparameter über DBs auszutauschen, was dann UC ermöglicht hätte.


    das is mir aber zu fummelig und unübersichtlich

    und auch wenn er herr 4L mich für bescheuert hält, ist die aufgabe nicht mit symbolischer adressierung lösbar, zumal sich selbst der Aufbau der DBs zur laufzeit ändern kann/wird (und dann durch prüfsummen/verteilerarrays etc erkannt wird)
    Geändert von Mangokind (18.03.2009 um 13:38 Uhr)
    Tolle Wurst...

  9. #8
    Registriert seit
    29.12.2007
    Beiträge
    71
    Danke
    1
    Erhielt 7 Danke für 7 Beiträge

    Standard

    Du kannst aber doch einen Parameter-DB basteln mit
    1. FC Nummer
    2. Parameter DB für FC
    3. gegebenfalls Verweis auf Bereich im DB

    Schleife , fertig...oder? ( Hab noch nicht ganz verstanden was du machen willst, könntest ein wenig konkreter werden )

  10. Folgender Benutzer sagt Danke zu tonga für den nützlichen Beitrag:

    Mangokind (19.03.2009)

  11. #9
    Registriert seit
    11.12.2008
    Beiträge
    73
    Danke
    39
    Erhielt 9 Danke für 8 Beiträge

    Standard

    Zitat Zitat von tonga Beitrag anzeigen
    Du kannst aber doch einen Parameter-DB basteln mit
    1. FC Nummer
    2. Parameter DB für FC
    3. gegebenfalls Verweis auf Bereich im DB

    Schleife , fertig...oder? ( Hab noch nicht ganz verstanden was du machen willst, könntest ein wenig konkreter werden )
    ja, kann ich machen. mache ich teilweise auch bisher schon

    Zitat Zitat von Mangokind Beitrag anzeigen

    ist aber nur ein detail für das mir nichts schlaueres eingefallen ist, als ein-und ausgangsparameter über DBs auszutauschen, was dann UC ermöglicht hätte.

    vielleicht nochmal die frage ganz präzise:

    gib es eine wenig-umständliche OFFIZIELLE möglichkeit, die vorteile von CALL und UC zu verbinden?

    Call kann feste FCs und FBs aufrufen und parameter übergeben, UC kann variable FCs/FBs aufrufen , aber keine parameter übergeben

    wäre einfach zu schön gewesen, wenn man das fü den fall kombinieren könnte, dass man zwar immer den gleichen FC/FB aufrufen täte, aber nicht vorher weiß, welche nummer er mal haben wird, oder wenn man die FB-Nummer kennt, aber die IDB-nummer sich ändern könnte


    ist aber mehr ne frage am rande gewesen. das programm existiert und funktioniert und übermäßig viel ändern möchte ich nicht mehr
    Geändert von Mangokind (19.03.2009 um 07:38 Uhr)
    Tolle Wurst...

  12. #10
    Registriert seit
    08.04.2008
    Ort
    Köln
    Beiträge
    844
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Mangokind,

    es gibt eine Möglichkeit den IDB bei FBs variabel zu übergeben, und damit auch die Parameter:
    http://www.sps-forum.de/showpost.php...39&postcount=3

    Ob sowas ähnliches auch mit FCs funktioniert muss ich mal ausprobieren.

    Grüße
    Gebs

  13. Folgender Benutzer sagt Danke zu Gebs für den nützlichen Beitrag:

    Mangokind (19.03.2009)

Ähnliche Themen

  1. Konfiguration von Parametern...
    Von Tommi im Forum Stammtisch
    Antworten: 3
    Letzter Beitrag: 12.12.2010, 12:22
  2. Variabler DB Aufruf
    Von lounsome im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 20.07.2010, 08:57
  3. Übergabe von Parametern
    Von Thomas86 im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 17.04.2007, 08:57
  4. HEX String aus Integer Parametern
    Von Florian30 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 13.10.2006, 11:29
  5. Einfache einstellung von Parametern
    Von Anonymous im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 22.09.2005, 14:45

Lesezeichen

Berechtigungen

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