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

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

Thema: Unbelegter Eingang am FB erkennen

  1. #1
    Registriert seit
    18.09.2007
    Ort
    Am Fusse des Schwarzwaldes
    Beiträge
    57
    Danke
    4
    Erhielt 5 Danke für 5 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    weiss jemand wie ich aus einem FB heraus erkennen kann, ob ein Eingangsparameter beschaltet ist?

    Eine Lösung dafür muss es wohl geben, da in FUP-Darstellung ja auch erkannt wird ob der Enable Eingang benutzt wird.

    Wenn jemand eine Lösung dafür hat, könnte ich mir jede Menge Konfigurationsbits ersparen.

    Danke und Gruss,

    Lothar.
    Zitieren Zitieren Unbelegter Eingang am FB erkennen  

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

    Standard

    Vielleicht, wenn man einen Pointer auf den Eingang setzt und diesen auswertet? Hab's noch nicht versucht.
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  3. #3
    LoKo ist offline Benutzer
    Themenstarter
    Registriert seit
    18.09.2007
    Ort
    Am Fusse des Schwarzwaldes
    Beiträge
    57
    Danke
    4
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Edith: Sorry, das mit dem richtig lesen klappt auch noch irgendwann... ... der Pointer auf den Eingang weist dann auf den IDB - auch keine Lösung. Leider.

    Ja, mit einem Pointer als Eingangsparameter funktioniert es schon, dort steht ja der Adressbereich mit drin. Das möchte ich aber aus Transparenzgründen nicht machen.

    Dies soll mal wieder ein "Spezialisierter-Universeller-Standardbaustein" werden.

    Leider hat irgendjemand (Wonderware) dem Kunden erzählt wie toll das doch alles mit der Objektorientierung ist und jetzt will er Standardobjekte.

    Entweder bastle ich nun einen ganzen Zoo von "Standard"-Objekten oder ich mache sie parametrierbar. Da dies alles später von unterschiedlichen Firmen verwendet werden soll, will ich keine Pointer als Eingangsparameter verwenden, schliesslich weiss ich nicht was für Programmierer die anderen darauf ansetzen.

    Dennoch Danke, Lothar.
    Geändert von LoKo (16.12.2010 um 18:51 Uhr)

  4. #4
    Registriert seit
    14.10.2010
    Ort
    Telgte
    Beiträge
    654
    Danke
    97
    Erhielt 129 Danke für 99 Beiträge

    Standard

    Dein Vorhaben in allen Ehren, dafür habe ich auch keine Lösung.
    Vierlagig hat in einem anderen Thread diese Aufgabenstellung als nicht sinnvoll lösbar beschrieben. Allerdings habe ich ein solches Vorhaben an unserer Firma in der Instandsetzung auch schon mal gehegt. Meine Programmierung dem Wissensstand Anderer anzupassen... Glaube mir, es geht nicht !
    Wenn deine Kunden Programmierer an die Anlagen lassen die nicht wissen was sie tun, dann kannst du ggf. noch einmal Geld daran verdienen...
    Gruß
    Toki

  5. #5
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.745
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Da die FB parameter nicht wie bei fcs übergeben werden, sondern direkt in den instanzdb, wird das nicht gehen!

    Wie wärs als startwerte im fb werte vorzugeben, welche real nicht möglich sind und dann auf diese prüfen!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren Neee  

  6. #6
    Registriert seit
    30.08.2010
    Ort
    Östereich
    Beiträge
    1.458
    Danke
    503
    Erhielt 217 Danke für 192 Beiträge

    Standard

    zb wenn eingan nicht "1" dann "0" vorgeben.

    nehme aber an (die hier schon öfter zitierte "Glaskugel"),dass dein Problem im Aufruf des Bausteins ohne Anschaltung des entspechenden Eingangs des FB´s Liegt.
    Wenn du im FB die richtige Logik hast, dann gib bei "leeren" Eingängen einfach entsprechend "0" oder "1" vor.
    Elektrotechnik und Elektronik funktioniert mit Rauch (Beweis: Tritt Rauch aus, funktioniert auch das Bauteil nicht mehr)

  7. #7
    LoKo ist offline Benutzer
    Themenstarter
    Registriert seit
    18.09.2007
    Ort
    Am Fusse des Schwarzwaldes
    Beiträge
    57
    Danke
    4
    Erhielt 5 Danke für 5 Beiträge

    Standard

    Danke für die Meinungen, ich denke mitterweile auch dass es mit S7-Bordmitteln einfach nicht möglich ist.

    Dennoch, evtl. fällt ja jemand etwas dazu ein wenn ich die Aufgabenstellung etwas genauer beschreibe:

    Ich habe z.B. einen Aufruf eines PID-Reglers, dessen P-/I-/D-Parameter möchte ich über einen FB-Eingang vorgeben. Wenn jetzt an einem dieser Parameter nichts angeschlossen ist, möchte ich den entsprechenden Anteil deaktivieren, d.h. es ist dann ein P- oder PI-Regler. Die Eingänge sind real, in diesem Fall kann ich auf 0.0==R vergleichen, dann weiss ich dass der Eingang unbelegt ist.

    Nun habe ich allerdings nicht nur PID-Regler sondern u.a. auch Antriebe die alle möglichen Optionen haben, wie z.B. Reversieren/div. n-Festwerte/Reinigungsbetrieb ect. Alle diese Eingänge sind Bool, aus dem Signal lässt sich also nicht ableiten ob sie belegt sind oder nicht. Deshalb hätte ich gerne aus dem FB heraus erkannt, ob am Eingang eine Variable steht oder nicht, dann könnte ich mir die Konfigurationsbits dazu sparen.

    Nochmals Danke für die bisherigen Ansätze, Gruss Lothar.

  8. #8
    Registriert seit
    30.08.2010
    Ort
    Östereich
    Beiträge
    1.458
    Danke
    503
    Erhielt 217 Danke für 192 Beiträge

    Standard

    hab leider kein Step7 zu hause, aber bei den EN Eingängen der FB´s funzt das.
    weiss aber nicht wie genau.

    aber wenn du die Eingänge intern entsprechend auswertest und ev aussen einen "speziellen" Wert vorgibst bei nichtverwendung, dann solltest du auch im FB das dann als "unbeschalteten" Eingang erkennen.
    Elektrotechnik und Elektronik funktioniert mit Rauch (Beweis: Tritt Rauch aus, funktioniert auch das Bauteil nicht mehr)

  9. #9
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    ... die einzige Variante wäre der schon von Onkel Dagobert erwähnte und vom TE verpöhnte Pointer. Etwas anderes gibt es da nicht. Zu berücksichtigen wäre hier aber, dass Pointer ja nicht = ANY heißt.

    Ansonsten ist es aber korrekt, dass der Code des Bausteins dadurch nicht eben lesbarer wird ...

    Gruß
    Larry

  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
    Zitat Zitat von LoKo Beitrag anzeigen
    Danke für die Meinungen, ich denke mitterweile auch dass es mit S7-Bordmitteln einfach nicht möglich ist.

    Dennoch, evtl. fällt ja jemand etwas dazu ein wenn ich die Aufgabenstellung etwas genauer beschreibe:

    Ich habe z.B. einen Aufruf eines PID-Reglers, dessen P-/I-/D-Parameter möchte ich über einen FB-Eingang vorgeben. Wenn jetzt an einem dieser Parameter nichts angeschlossen ist, möchte ich den entsprechenden Anteil deaktivieren, d.h. es ist dann ein P- oder PI-Regler. Die Eingänge sind real, in diesem Fall kann ich auf 0.0==R vergleichen, dann weiss ich dass der Eingang unbelegt ist.

    Nun habe ich allerdings nicht nur PID-Regler sondern u.a. auch Antriebe die alle möglichen Optionen haben, wie z.B. Reversieren/div. n-Festwerte/Reinigungsbetrieb ect. Alle diese Eingänge sind Bool, aus dem Signal lässt sich also nicht ableiten ob sie belegt sind oder nicht. Deshalb hätte ich gerne aus dem FB heraus erkannt, ob am Eingang eine Variable steht oder nicht, dann könnte ich mir die Konfigurationsbits dazu sparen.

    Nochmals Danke für die bisherigen Ansätze, Gruss Lothar.
    Also ich halte dieses Ansinnen für verwirrend.... selbst wenn das funktionieren würde, was ist, wenn jemand die Instanz von woanders beschreibt, was ja durchaus legitim ist?
    Da blickt ja keiner mehr durch dann.

    Du brauchst eben zusätzlich (meistens Binär-) Eingänge wo Du Parameter (o.ä.) für aktiv und gültig erklärst. Das ist bei jedem WollMilchSau- Baustein im PCS7 ja auch so. Der kann (fast) alles, was genau er tun soll legt man mit "Schaltern" fest.
    Das ist klar, TRANSPARENT (wie Du oben schreibst), und nachvollziehbar!

Ähnliche Themen

  1. Ausreisser erkennen.
    Von McNugget im Forum CODESYS und IEC61131
    Antworten: 40
    Letzter Beitrag: 16.12.2009, 16:57
  2. Berührung TP erkennen
    Von Harry im Forum HMI
    Antworten: 8
    Letzter Beitrag: 05.08.2009, 12:34
  3. Spannungsausfall erkennen
    Von baalrok im Forum Simatic
    Antworten: 87
    Letzter Beitrag: 20.08.2008, 21:54
  4. Bildänderung erkennen
    Von costa im Forum PC- und Netzwerktechnik
    Antworten: 3
    Letzter Beitrag: 17.04.2007, 12:42
  5. Palette erkennen
    Von Zimbo30 im Forum Programmierstrategien
    Antworten: 33
    Letzter Beitrag: 19.03.2007, 20:01

Lesezeichen

Berechtigungen

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