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

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

Thema: Instanz DB nimmt keine Änderung an

  1. #1
    Registriert seit
    19.04.2006
    Ort
    Westoverledingen
    Beiträge
    67
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo ,

    will eine Dreipunktregelung mit dem SFB 42 realisieren den ich im OB35
    mit call SFB42 , DB42 aufgerufen habe .
    Der DB42 nimmt aber keine Änderungen an , auch mit PID_Control kann
    ich die Parameter nicht in die Steuerung übertragen ( das Icon dafür ist nicht
    anwählbar).

    Im DB 42 stehen die Ausgänge auf FALSE obwohl im OB35 welche angegeben sind .

    Hardware S7 313C Step7 V5.1

    Gruss an alle
    Zitieren Zitieren Instanz DB nimmt keine Änderung an  

  2. #2
    Registriert seit
    02.04.2006
    Ort
    nähe Muc
    Beiträge
    2.787
    Danke
    115
    Erhielt 126 Danke für 107 Beiträge

    Standard

    Soviel ich weiss kannst du durch die Zuordnung des DB an ein FB diesen auch nur im FB aufrufen.
    Es ist sozusagen ein remanenter Speicher des FB und dient zur Kommunikation mit dem FB.

    Durch Call FB, DB

    Erscheint die Abfrage der In und Out Parameter.

    Wenn du den FB nicht als Unterprogramm für mehrmaligen Aufruf oder für eine Bibliothek geschrieben hast kannst du den DB auch ganz normal anlegen. Ohne Call aufruf.
    Dann kannst du ihn normal von überall auslesen, beschrieben und ändern.
    Währe besser wenn du dann aber einen FC benutzt.

  3. #3
    gast Gast

    Standard

    hi,
    du meinst doch sicher den fb 42, einen sfb 42 kenne ich nicht.
    mfg thomas

  4. #4
    kirk42 ist offline Benutzer
    Themenstarter
    Registriert seit
    19.04.2006
    Ort
    Westoverledingen
    Beiträge
    67
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von gast
    hi,
    du meinst doch sicher den fb 42, einen sfb 42 kenne ich nicht.
    mfg thomas
    Hallo ,

    doch , ich meine den SFB42, den gibt es zumindest in den 300er Steuerungen..

    MfG Thomas

  5. #5
    Registriert seit
    02.04.2006
    Ort
    nähe Muc
    Beiträge
    2.787
    Danke
    115
    Erhielt 126 Danke für 107 Beiträge

    Standard

    SFB ist glaube ich ein interner Baustein.
    Also ein Programm das schon in der 300 vorintegriert ist.
    Dieses benötigt einen zugeordneten DB.
    Den kannst du natürlich normalerweise nicht von aussen beschrieben.
    Hier sind die In Out Temp usw. des SFB gespeichert.
    Also das Interne und die Kommunikation.

    Beim Aufruf des SFB 43, DB 43 frägt er dir die Werte zur Kommunikation ab.

    Also welchen Eingang, Ausgang, Worte oder welche Tähler oder Timer du halt benötigst.

    Die Werte kannst du natürlich in ein normalen DB schrieben.
    JEdoch musst du diesen vorher selbst auf die 300 schreiben.

    Bei einen Call fb (oder sfb), db wird der DB jedesmal beim einspielen des OB neu erzeugt. Bei einen normalen DB musst du ihn selbst einschreiben und natürlich vorher auch definieren.

    Glaube ist richtig so wie ich es geschrieben habe

  6. #6
    Registriert seit
    02.04.2006
    Ort
    nähe Muc
    Beiträge
    2.787
    Danke
    115
    Erhielt 126 Danke für 107 Beiträge

    Standard

    Ah SFB heist glaub System Funktions Baustein (Also im System schon integriert)

  7. #7
    kirk42 ist offline Benutzer
    Themenstarter
    Registriert seit
    19.04.2006
    Ort
    Westoverledingen
    Beiträge
    67
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich rufe den Baustein (in diesem Fall SFB42) als Schrittregler im OB35 auf .

    Wenn ich jetzt einen Parameter ändere z.B. die Stellausgänge umbenene,

    sollte das dann doch auch im dazugehörigen Instanz-DB ( hier DB42 ) gespeichert werden oder nicht ?

    MfG Thomas

  8. #8
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.733
    Danke
    317
    Erhielt 1.522 Danke für 1.283 Beiträge

    Standard

    Jetzt mal ein paar Grundlagen:

    SFB = Systemfunktionsbaustein
    SFC = Systemfunktion
    FB = Funktionsbaustein
    FC = Funktion

    SFB/FB's benötigen fast grundsätzlich einen Instanz-DB, ausnahme es gibt keine IN / OUT / IN-OUT / STAT Parameter,
    dann wäre es aber Ratsamer einen FC zu verwenden.

    Der InstanzDB muss grundsätzlich nur dann neu erzeugt werden wenn sich die Schnittstelle des zugehörigen FB's ändert.
    Also sich bei der Definition der IN / OUT / IN-OUT / STAT Parameter was ändert.

    So das vorab, grundsätzlich wenn du PID Control verwenden willst sollten alle IN-Parameter bis auf den Prozesswert frei lassen.

    Kannst du notfalls mal dein Projekt posten?


    Wenn ich jetzt einen Parameter ändere z.B. die Stellausgänge umbenene,
    sollte das dann doch auch im dazugehörigen Instanz-DB ( hier DB42 ) gespeichert werden oder nicht ?
    Wie meinst du das?
    Was du als Stellausgang hinschreibst (oder nicht) kann nicht im Instanz-DB auftauchen.
    Geändert von MSB (23.04.2006 um 16:29 Uhr)
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  9. #9
    kirk42 ist offline Benutzer
    Themenstarter
    Registriert seit
    19.04.2006
    Ort
    Westoverledingen
    Beiträge
    67
    Danke
    8
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo ,

    hier mal eine kurze Beschreibung des Projektes .
    Wasserpumpe soll mit Poti eingestellten Druck halten.
    Eingang 0-10V Poti
    Eingang Druckmesser 0-20mA
    Ausgänge zum Stellmotor Gashebel Dieselmotor ( mehr - weniger Gas )

    im OB35 eingetragen A124.1 und A124.2 für Stellmotor.
    Rufe ich im AG DB42 auf steht bei den Ausgängen FALSE .
    Wenn ich PID_Control starte kann ich zwar den Kurvenschreiber starten aber
    keine geänderten Parameter ins AG schreiben um den PID zu konfigurieren.
    MfG Thomas

  10. #10
    Registriert seit
    02.04.2006
    Ort
    nähe Muc
    Beiträge
    2.787
    Danke
    115
    Erhielt 126 Danke für 107 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Also in den OB ein Call sfb 42, db 42
    Der DB wird angelegt und die Parameter so angezeigt:

    Code:
          CALL  "CONT_S" , DB42
           COM_RST :=
           LMNR_HS :=
           LMNR_LS :=
           LMNS_ON :=
           LMNUP   :=
           LMNDN   :=
           PVPER_ON:=
           CYCLE   :=
           SP_INT  :=
           PV_IN   :=
           PV_PER  :=
           GAIN    :=
           TI      :=
           DEADB_W :=
           PV_FAC  :=
           PV_OFF  :=
           PULSE_TM:=
           BREAK_TM:=
           MTR_TM  :=
           DISV    :=
           QLMNUP  :=
           QLMNDN  :=
           PV      :=
           ER      :=
    SFB

    Code:
    Sie entnehmen den jeweiligen CPU-Handbüchern welche Systemfunktionen für Ihre CPU zur Verfügung stehen.
    SFB Aufrufen

    Code:
    Format
    CALL SFB n1, DB n2
    Beschreibung
    Die Operation dient zum Aufruf der von Siemens gelieferten Standardfunktionsbausteine (SFBs). Die Operation CALL ruft die SFB auf, die Sie als Operanden eingeben, unabhängig vom VKE oder einer anderen Bedingung. Wenn Sie einen SFB mit CALL aufrufen, müssen Sie ihn mit einem Instanz-Datenbaustein versehen. Nach der Bearbeitung des aufgerufenen Bausteins wird das Programm des aufrufenden Bausteins weiterbearbeitet. Die Kennung des Codebausteins kann absolut oder symbolisch angegeben werden.
    Übertragen von Parametern (arbeiten Sie hierzu im inkrementellen Bearbeitungsmodus)
    Der aufrufende Baustein kann mit dem aufgerufenen Baustein über die Variablenliste Parameter austauschen. Die Variablenliste wird in Ihrem AWL-Programm automatisch ergänzt, wenn Sie eine gültige Anweisung CALL eingeben. 
    Wenn Sie einen einen SFB aufrufen und die Variablendeklarationstabelle des aufgerufenen Bausteins über Deklarationen vom Typ IN, OUT und IN_OUT verfügt, werden diese Variablen im Programm des aufrufenden Bausteins als Liste der Formalparameter ergänzt.
    Beim Aufruf der SFBs müssen Sie nur die Aktualparameter angeben, die sich gegenüber dem letzten Aufruf ändern sollen, da die Aktualparameter nach der Bearbeitung des SFB im Instanz-DB gespeichert sind. Ist der Aktualparameter ein DB, muss immer die vollständige, absolute Adresse angegeben werden, z.B. DB1, DBW2.
    Die Parameter IN können als Konstanten oder als absolute bzw. symbolische Adressen angegeben werden. Die Parameter OUT und IN_OUT müssen als absolute bzw. symbolische Adressen angegeben werden. Achten Sie darauf, dass alle Adressen und Konstanten mit den Datentypen, die übertragen werden, kompatibel sind.
    Die Operation CALL speichert die Rücksprungadresse (Selektor und relative Adresse), die Selektoren der beiden geöffneten Datenbausteine und das MA-Bit im B-Stack. Zusätzlich deaktiviert die Operation die MCR-Abhängigkeit und erstellt den Lokaldatenbereich des Bausteins, der aufgerufen werden soll.
    Statuswort
    BIE A1 A0 OV OS OR STA VKE /ER
    schreibt: - - - - 0 0 1 - 0
    Beispiel
    CALL SFB4,DB4 
    Formalparameter Aktualparameter
    IN: E0.1
    PT: T#20s
    Q: M0.0
    ET: MW10
    HinweisJeder Aufruf eines SFBs muss über einen Instanz-Datenbaustein verfügen. In dem obigen Beispiel müssen die Bausteine SFB4 und DB4 vor dem Aufruf vorhanden sein.
    Im Handbuch S7400TF ist auf Seite 400 nun beschrieben wo im DB 42 dann was steht. `Und welche Parameter im CALL aufruf was sind.
    Mit dem ersten Wert Com_Rst kannst du angeben ob es eien automatische Regleung ist oder du einen Durchlauf angibst (0=Relegelbetrieb 1=Neustart)

    Die Werte, als den Commikations DB kannst du NUR im Call parametrieren!

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 24.02.2010, 19:58
  2. ET200 nimmt keine x.4 - x.7 adressen an
    Von Bensen83 im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 02.12.2009, 17:53
  3. Passwörter WinCE Visu - keine Änderung möglich
    Von nowayray im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 21.09.2009, 09:52
  4. CPU 315-2 PN/DP nimmt keine Systemdaten
    Von M-Arens im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 10.05.2007, 09:37
  5. Antworten: 5
    Letzter Beitrag: 06.03.2005, 10:59

Lesezeichen

Berechtigungen

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