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

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

Thema: Aufruf eines in SCL geschriebenen FBs in OB1

  1. #1
    Registriert seit
    26.05.2009
    Beiträge
    7
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,ich habe gerade ein FB (Integrator mit Begrenzungen)in SCL geschrieben, aber der Aufruf in OB1 klappt.Was kann ich falsch gemacht haben?

    Hier der ganze Salat: Danke im voraus für euere Hilfe

    END_VAR
    VAR_OUTPUT
    QRUN1:BOOL; (*Run_Modus*)
    QRES1:BOOL; (*zurückgesetzt*)
    QG1:BOOL; (*am Anschlag*)
    XOUT1:REAL; (*Ausgangssignal*)
    END_VAR
    KI1:=1.0;
    XIN1:=0.01;
    XMIN1:=0.0;
    XMAX1:=1000.0;
    CYCLE:=0.5;

    QRUN1:=RUN1;
    QRES1:=RESET1;
    IF RESET1 THEN XOUT1:=X01;
    ELSIF RUN1 THEN XOUT1:= XOUT1 + XIN1*CYCLE*0.001*KI1;(*0.001 wegen ms*)
    END_IF;
    IF XOUT1>XMAX1 THEN XOUT1:=XMAX1;QG1:=TRUE;END_IF;
    IF XOUT1<XMIN1 THEN XOUT1:=XMIN1;QG1:=TRUE;END_IF;
    IF XOUT1>XMIN1 AND XOUT1 < XMAX1 THEN QG1:=FALSE;END_IF;
    END_FUNCTION_BLOCK

    DATA_BLOCK DB1 FB1
    BEGIN
    END_DATA_BLOCK
    ORGANIZATION_BLOCK OB1
    VAR_TEMP
    info : ARRAY[0..19] OF BYTE;
    END_VAR
    FB1.DB1(RUN1:=E0.0,RESET1:=E0.1,KI1:=ED1,XIN1:=ED5,X01:=ED9,XMAX1:=ED13,XMIN1:=E D17,CYCLE1:=ED21,QRUN1:=A0.2,QRES1:=A0.3,QG1:=A0.4,XOUT1:=DB1.XOUT1);
    END_ORGANIZATION_BLOCK
    Zitieren Zitieren Aufruf eines in SCL geschriebenen FBs in OB1  

  2. #2
    Registriert seit
    11.09.2007
    Ort
    Suedwestpfalz
    Beiträge
    917
    Danke
    81
    Erhielt 209 Danke für 192 Beiträge

    Standard

    Wie heißt der Instanz-DB zu Deinem FB?

    UAWG dtsclipper
    Das Grauen lauert in der Zwischenablage !!

  3. #3
    Roland1 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    26.05.2009
    Beiträge
    7
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo, ich habe gerade festgestellt,dass der Code nicht Komplett war.Hier der komplette Code. Was kann ich falsch gemacht haben? Danke für euere Hilfe.

    FUNCTION_BLOCK FB1
    NAME : Integral

    VAR_INPUT
    RUN1: BOOL; (*Startsignal*)
    RESET1:BOOL; (*Rücksetzsignal*)
    KI1:REAL; (*Integrierbeiwert in 1/sec*)
    XIN1:REAL; (*Eingangssignal*)
    X01:REAL; (*Anfangswert*)
    XMAX1:REAL; (*Maximalwert*)
    XMIN1:REAL; (*Minimalwert*)
    CYCLE:REAL; (*Zykluszeit*)
    END_VAR
    VAR_OUTPUT
    QRUN1:BOOL; (*Run_Modus*)
    QRES1:BOOL; (*zurückgesetzt*)
    QG1:BOOL; (*am Anschlag*)
    XOUT1:REAL; (*Ausgangssignal*)
    END_VAR
    KI1:=1.0;
    XIN1:=0.01;
    XMIN1:=0.0;
    XMAX1:=1000.0;
    CYCLE:=0.5;

    QRUN1:=RUN1;
    QRES1:=RESET1;
    IF RESET1 THEN XOUT1:=X01;
    ELSIF RUN1 THEN XOUT1:= XOUT1 + XIN1*CYCLE*0.001*KI1;(*0.001 wegen ms*)
    END_IF;
    IF XOUT1>XMAX1 THEN XOUT1:=XMAX1;QG1:=TRUE;END_IF;
    IF XOUT1<XMIN1 THEN XOUT1:=XMIN1;QG1:=TRUE;END_IF;
    IF XOUT1>XMIN1 AND XOUT1 < XMAX1 THEN QG1:=FALSE;END_IF;
    END_FUNCTION_BLOCK

    DATA_BLOCK DB1 FB1
    BEGIN
    END_DATA_BLOCK
    ORGANIZATION_BLOCK OB1
    VAR_TEMP
    info : ARRAY[0..19] OF BYTE;
    END_VAR
    FB1.DB1(RUN1:=E0.0,RESET1:=E0.1,KI1:=ED1,XIN1:=ED5,X01:=ED9,XMAX1:=ED13,XMIN1:=E D17,CYCLE1:=ED21,QRUN1:=A0.2,QRES1:=A0.3,QG1:=A0.4,XOUT1:=DB1.XOUT1);
    END_ORGANIZATION_BLOCK
    Zitieren Zitieren Aufruf eines in SCL geschriebenen FB in OB1  

  4. #4
    Roland1 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    26.05.2009
    Beiträge
    7
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich habe gerade den kompletten Code eingefügt. Der Instanz_DB ist DB1

  5. #5
    Registriert seit
    11.10.2006
    Ort
    Verden (Aller)
    Beiträge
    532
    Danke
    31
    Erhielt 58 Danke für 49 Beiträge

    Standard

    Ist der DB1 auch in's geladen?
    "Ein lahmer Drecksplanet ist das, ich habe nicht das geringste Mitleid" (Prostetnik Vogon Jeltz)

  6. #6
    Roland1 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    26.05.2009
    Beiträge
    7
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo, ich habe eine FB(Integrator mit Begrenzung) in SCL geschrieben und ich bekomme die fehlermeldung: "Fehler beim Zugriff auf de Baustein (offline)".Voran könnte das liegen?
    Hier ist der ganze Code

    FUNCTION_BLOCK FB1
    VAR_INPUT
    RUN1: BOOL; (*Startsignal*)
    RESET1:BOOL; (*Rücksetzsignal*)
    KI1:REAL; (*Integrierbeiwert in 1/sec*)
    XIN1:REAL; (*Eingangssignal*)
    X01:REAL; (*Anfangswert*)
    XMAX1:REAL; (*Maximalwert*)
    XMIN1:REAL; (*Minimalwert*)
    CYCLE:REAL; (*Zykluszeit*)
    END_VAR
    VAR_OUTPUT
    QRUN1:BOOL; (*Run_Modus*)
    QRES1:BOOL; (*zurückgesetzt*)
    QG1:BOOL; (*am Anschlag*)
    XOUT1:REAL; (*Ausgangssignal*)
    END_VAR
    KI1:=1.0;
    XIN1:=0.01;
    XMIN1:=0.0;
    XMAX1:=1000.0;
    CYCLE:=0.5;

    QRUN1:=RUN1;
    QRES1:=RESET1;
    IF RESET1 THEN XOUT1:=X01;
    ELSIF RUN1 THEN XOUT1:= XOUT1 + XIN1*CYCLE*0.001*KI1;(*0.001 wegen ms*)
    END_IF;
    IF XOUT1>XMAX1 THEN XOUT1:=XMAX1;QG1:=TRUE;END_IF;
    IF XOUT1<XMIN1 THEN XOUT1:=XMIN1;QG1:=TRUE;END_IF;
    IF XOUT1>XMIN1 AND XOUT1 < XMAX1 THEN QG1:=FALSE;END_IF;
    END_FUNCTION_BLOCK

    DATA_BLOCK DB1 FB1
    BEGIN
    END_DATA_BLOCK
    ORGANIZATION_BLOCK OB1
    VAR_TEMP
    info : ARRAY[0..19] OF BYTE;
    END_VAR
    FB1.DB1(RUN1:=E0.0,RESET1:=E0.1,KI1:=ED1,XIN1:=ED5,X01:=ED9,XMAX1:=ED13,XMIN1:=E D17,CYCLE1:=ED21,QRUN1:=A0.2,QRES1:=A0.3,QG1:=A0.4,XOUT1:=DB1.XOUT1);
    END_ORGANIZATION_BLOCK
    Zitieren Zitieren Fehlermeldung in SCL  

  7. #7
    Registriert seit
    30.01.2009
    Beiträge
    440
    Danke
    25
    Erhielt 48 Danke für 44 Beiträge

    Standard

    Hi Roland

    bin zwar kein SCL-Held aber wenn:

    IF XOUT1>XMAX1 THEN XOUT1:=XMAX1;QG1:=TRUE;END_IF;

    müsste dann XOUT1 nicht eine In_Out_Variable sein ?

    Und was passiert hier?

    XOUT1:=DB1.XOUT1
    DB1 ist doch der Instanz zum FB1

    Gruß

  8. #8
    Registriert seit
    30.08.2003
    Beiträge
    2.196
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    Hallo,

    klingt als hätteste den FB1 noch mit einem Editor offen. Oder der Editor hat den Baustein beim Schliessen nicht freigegeben.

    André
    www.raeppel.de
    mit innovativen SPS-Tools schneller ans Ziel ....
    Zitieren Zitieren Fehler  

  9. #9
    Registriert seit
    30.01.2009
    Beiträge
    440
    Danke
    25
    Erhielt 48 Danke für 44 Beiträge

    Standard

    Hi Roland,

    hat es einen Sinn dieses Thema zum 3. Mal nacheinander zu erstellen

  10. #10
    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
    Ich hab mal alles zusammengeschmissen. Ein Mal reicht ja wirklich!
    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

Ähnliche Themen

  1. Bedingter Aufruf eines FBs
    Von petzi im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 30.09.2009, 13:47
  2. Aufruf eines Date_and_Time eines DB's
    Von hank12 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 08.07.2009, 10:33
  3. Aufruf eines FB
    Von blasterbock im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 17.06.2009, 12:38
  4. Mehrfacher Aufruf eines FC´s
    Von jamalau im Forum Simatic
    Antworten: 23
    Letzter Beitrag: 01.12.2006, 23:14
  5. Aufruf eines SFB
    Von Kamania im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 28.10.2005, 09:50

Lesezeichen

Berechtigungen

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