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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 25

Thema: Befehl BLOCK_DB bei S7-1500

  1. #1
    Registriert seit
    06.05.2011
    Beiträge
    68
    Danke
    5
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Gemeinde.

    Ich hatte jetzt Kontakt zu Siemens und habe leider keine zufriedenstellende Antwort erhalten. Problem wäre bekannt und für spätere Versionen wäre es schon in der Aufforderungsliste.
    Daher dachte ich, das Problem hat bestimmt schon einmal jemand von Euch gehabt und irgendwie ne Alternativlösung gefunden.

    Ich bin dabei Funktionen aus dem alten SIMATIC Manager für das TIA-Portal abzuändern und bin jetzt auf folgendes Problem gestoßen:

    Ich habe eine FC die als IN Parameter einen Instanz DB des FB41 bzw FB42 einliest. In der S7 Welt war das der Parameter BLOCK_DB welcher im TIA-Portal aktuell nur als DB_ANY für nicht optimierte Datenbausteine funktioniert. Die Instanz-DBs sind allerdings optimiert, so dass es für die 1500er so keine Möglichkeit gibt den Instanz-DB in eine FC zu übergeben.
    Programmieren muss ich den FC mit AWL bzw FUP und diverse AWL Netzwerke.

    Habt Ihr eine Idee wie ich den Instanz DB an eine FC übergeben kann???

    Grüße

    AndyD
    Zitieren Zitieren Befehl BLOCK_DB bei S7-1500  

  2. #2
    Registriert seit
    31.10.2013
    Beiträge
    36
    Danke
    3
    Erhielt 6 Danke für 6 Beiträge

    Standard

    Hi,

    hast du mal mit den Datenbausteinfunktionen gespielt? (FUP: Anweisungen > erweiterte Anweisungen)
    oder einen symbolischen Zugriff über den DB-Namen versuchen. Ich habe aber k.A. ob das funktioniert..

    Gruß Mo

  3. #3
    Registriert seit
    06.11.2008
    Beiträge
    100
    Danke
    9
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Moin AndyD,

    DB-Nummer als int übergeben.
    In der FC dann

    AUF DB [DB_Nr]

    hilft das weiter ?

    Gruß

    MFreiberger
    _____________________________________________
    "Von nichts kommt was" von B. Trüger

  4. #4
    AndyD ist offline Benutzer
    Themenstarter
    Registriert seit
    06.05.2011
    Beiträge
    68
    Danke
    5
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Danke für die Tipps. Funktioniert aber nicht.
    Die FC (aus dem SIMATIC Manager) wird nur fehlerfrei übersetzt wenn ich an den Regler FB den Instanz-DB direkt dran schreibe.
    Da ich aber die FC mehrfach verwenden muss kann ich das so direkt nicht realisieren.

    Zum vereinfachten Vorstellen:
    Der Regler CONT_C hat viele Ein-Ausgangsparameter die nicht verwendet werden. Daher wird dieser innerhalb einer FC aufgerufen die nur die Ein- und Ausgangsparameter besitzt die auch gebraucht werden. Allerdings muss ich als IN Parameter auch den jeweils zugehörigen Instanz DB übergeben. Zudem wird innerhalb des FC auch die Schnittstelle zum WinCC gehandelt.

    Hat sonst noch jemand eine Idee?

    Grüße

    AndyD

  5. #5
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.620
    Danke
    777
    Erhielt 647 Danke für 493 Beiträge

    Standard

    Sorry ich kann dir da auch nicht helfen. Trotzdem möchte ich fragen wozu dieser ganze Aufstand? Du brauchst ja dann für den FC trotzdem jedesmal einen neuen IDB. Warum also nicht gleich einen FB daraus machen und den Regler im Stat Bereich deklarieren? Das ist doch kein stück mehr Schreibkram als den IDB über die Schnittstelle anzugeben.
    Und der nächste der das Programm liest kommt dann vielleicht sogar noch dahinter was man da macht.

    mfG René

  6. #6
    AndyD ist offline Benutzer
    Themenstarter
    Registriert seit
    06.05.2011
    Beiträge
    68
    Danke
    5
    Erhielt 2 Danke für 2 Beiträge

    Standard

    @vollmi
    Wie gesagt, dass sind Standardfunktionen in unserem Unternehmen durch deren Verwendung alle Programmierer sich sofort in jedem firmeneigenen Projekt zurecht finden und die spezielle Verknüpfungsfunktionen zum WinCC beinhalten. Insgesamt ein super Tool (Excel; VBA; Standarfunktionen; WinCC Skripte; etc) das wir hier haben um eben Schreibkram zu sparen und scheinbar fehlen gewisse Dinge im TIA-Portal die uns die Weiternutzung erschweren.

    Grüße

    AndyD

  7. #7
    Registriert seit
    06.11.2008
    Beiträge
    100
    Danke
    9
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Moin AndyD,

    wenn ich das richtig verstanden habe, willst Du in einem Weckalarm-OB n Regler-FBs programmieren und dann aus deiner FC auf die Parameter eines bestimmten Reglers zugreifen, oder?
    Dabei würde ich einem Weckalarm-OB einen FB programmieren, der n Regler-FBs als Multiinstanzen aufruft.
    Dann eine FC mit den gewünschten Parametern, einem Eingang "ReglerNummer" und einem Eingang "DBNummer". Anhand der Reglernummer kannst Du dann die richtige Offsetadresse berechnen, um auf den IDB ("DBNummer")der Multiinstanz zugreifen zu können.

    Gruß

    MFreiberger
    _____________________________________________
    "Von nichts kommt was" von B. Trüger

  8. #8
    AndyD ist offline Benutzer
    Themenstarter
    Registriert seit
    06.05.2011
    Beiträge
    68
    Danke
    5
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Hallo MFreiburger.

    Ist so nicht korrekt.
    Ich habe einen FC den ich irgendwann in einem Weckalarm-OB aufrufen will.
    In diesem FC ist der Regler FB von Siemens. Da der Regler FB von Siemens einen Instanz-DB benötigt muss ich diesen Instanz DB erst einmal anlegen und dann als IN Parameter in die FC einlesen und dort an den Regler FB schreiben.
    OB35 ruft FC125 auf (zum Beispiel 5mal wenn ich 5 Regler habe). Dieser FC125 ruft intern immer den FB42 bzw FB41 auf und für jeden Aufruf vom FC125 benötigt dieser dann intern den Instanz DB. (Regler 1= Instanz-DB1, Regler 2= Instand-DB2, usw) Also muss ich den immer von außen rein schreiben können um die FC125 mehrfach zu verwenden.

    Bei Step7 konnte man in einem FC als Eingangsparameter einen Parameter vom Typ BLOCK_DB übergeben. Diesen Datentyp gibt es im TIA nur für 300er und 400er Steuerungen. Für 1200er und 1500er eben nicht. Hier kann man nur mit dem Datentyp DB_ANY arbeiten. Dieser allerdings funktioniert nur bei DBs die keinen optimierten Datenbausteinzugriff haben. Erstelle ich allerdings einen Instanz DB für einen FB41 oder FB42, so besitzt dieser immer das Attribut optimierter Bausteinzugriff und das lässt sich auch nicht ändern.

    Gruß

    AndyD

  9. #9
    Registriert seit
    06.11.2008
    Beiträge
    100
    Danke
    9
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Moin AndyD,

    warum nimmst Du statt einer FC nicht einen FB (Stichwort Multiinstanz)? Dann kannst Du die gewünschten Parameter nach außen legen und ob du den IDB jetzt beim Aufruf "dranschreibst" oder als Parameter übergibst bleibt sich doch gleich, oder?


    Gruß

    MFreiberger
    _____________________________________________
    "Von nichts kommt was" von B. Trüger

  10. #10
    AndyD ist offline Benutzer
    Themenstarter
    Registriert seit
    06.05.2011
    Beiträge
    68
    Danke
    5
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo MFreiberger.

    Wenn man einen FB41 bzw FB42 im TIA Portal aufruft (z. Bsp in FUP), dann kann man da nur eine Einzelinstanz dranschreiben. Also eine Multiinstanz bezogen auf den IDB ist nicht möglich.

    Klar, im ersten Moment macht man nen FB draus (dann würde ich also im FB nen FB aufrufen) und der "FB125" bekäme eine Multiinstanz. Nützt nur nichts, weil ich hier die Nummer auch nicht übergeben kann und wie geschrieben aus dem IDB keine Multiinstanz machen kann da nur Einzelinstanzen an den Regler FBs von Siemens zulässig sind.

    Gruß

    AndyD

Ähnliche Themen

  1. TIA Block_DB bei einer 1200er
    Von Manfred Stangl im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 10.01.2014, 10:37
  2. TIA Stromversorgung bei S7-1500 erforderlich?
    Von mitchih im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 29.10.2013, 23:39
  3. FTW Befehl bei Selectron Steurung
    Von Elazul im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 21.09.2013, 17:50
  4. S5 nach S7, Befehl "B" bei Datenbaustein
    Von Nimrod_KTM im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 12.01.2010, 17:13
  5. Adressierung bei MicroLogix 1500
    Von rumkiker im Forum Sonstige Steuerungen
    Antworten: 6
    Letzter Beitrag: 30.06.2006, 12:06

Lesezeichen

Berechtigungen

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