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

Ergebnis 1 bis 7 von 7

Thema: FC in FC ?

  1. #1
    Registriert seit
    22.10.2012
    Beiträge
    81
    Danke
    8
    Erhielt 5 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,
    ich bräuchte mal euren Rat zu einer Programmierstrategie.
    Normalerweise werden ja FBs in FCs und diese im OB aufgerufen.
    z.B. FB(Schrittkette) im FC(Automatikbetrieb) im OB.
    Wenn ich aber eine Routine (z.B. Bauteil einfördern) öfters verwenden möchte, kann ich dann den FC in einem Betriebsarten FC nochmals aufrufen?
    z.B. : FB(Schrittkette) im FC(einfördern) im FC (Automatikbetrieb) im OB ?

    Es geht darum ich habe viele Grund Routinen die Schrittkettenbasiert sind, die ich jedoch nur einmal schreiben möchte um Platz zu sparen.
    Diese möchte ich in mehreren Betriebsarten aufrufen können.
    Es wird immer nur eine Betriebsart aufgerufen.

    Unbenannt.PNG

    Oder gibt es da andere Strategien ?
    Wäre diese Form auch IEC gerecht ?
    Gruß und Danke

    Software TIA V13
    S7 1215c
    Zitieren Zitieren FC in FC ?  

  2. #2
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.647
    Danke
    788
    Erhielt 654 Danke für 497 Beiträge

    Standard

    Ohne allgemeingültigkeit.

    üblicherweise werden im OB1 FBs aufgerufen in diesen je nach Anforderungen FCs oder FBs.

    Du kannst FCs und FBs so oft und wo auch immer aufrufen wie du willst. Solange du sie kapselst. Also intern keine globalen Speicher verwendest.

    Für mich hört sich jetzt das so an als wäre dein FB Schrittkette ein FB den du entweder im Einförderbetrieb oder im Automatikbetrieb aufrufen willst. einfach mit anderen Parametern. Ich nehme an die Schrittkette soll beim Wechseln von Automatik auf Einfördern seine Daten behalten und an der Stelle weiterarbeiten wo aufgehört wurde. Das kannst du so machen, macht die Sache aber nicht einfacher.

    mfG René

  3. #3
    Registriert seit
    12.04.2005
    Ort
    Black Forest
    Beiträge
    1.344
    Danke
    28
    Erhielt 131 Danke für 118 Beiträge

    Standard

    es spricht nix dagegen einen FC in einen FC aufzurufen!

    Im Prinzip ist es ja nur eigentlich ein Makro (Textersetzung).
    Einigst was dabei zu beachten gilt, FC hat halt kein STATIC Bereich.

    „Eine Frage raubt mir den Verstand bin ich verrückt oder sind es die Anderen ?“

    Albert Einstein

  4. #4
    Registriert seit
    22.10.2012
    Beiträge
    81
    Danke
    8
    Erhielt 5 Danke für 4 Beiträge

    Standard

    Im Prinzip würde es so aussehen :
    Ich nehme einen Standart Schrittkenntenbaustein (FB). diesen füge ich in einen FC (Presse_Zyklisch_Durchfahren).
    Bis hier jetzt alles ganz Normal.

    Da ich den Baustein Presse_Zyklisch_Durchfahren in jeder betriebsart benötige ( Einricht,Auto,Zweihand......) und die Parameter im Programm nicht in jedem Baustein anpassen möchte .... Druck, Vordruck, Zeit, .....
    Würde ich den FC Baustein Presse_Zyklisch_Durchfahren in die Betriebsarten (AUtomatik, Einricht ......) jeweils einfügen und ihn mit In VAriablen und Out Variablem versehen.
    So das im Endeffeckt ich den FC Baustein Automatikbetrieb Aktiviere // in diesem Baustein dann den FC BAustein Presse_Zyklisch_Durchfahren // und von hier aus die Schrittkette aufgerufen wird.

  5. #5
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.647
    Danke
    788
    Erhielt 654 Danke für 497 Beiträge

    Standard

    Du kannst das grundsätzlich so machen. Ich persönlich würde aber stattdessen die Parameter (Schnittstelle) umladen wenn du die Betriebsart wechselt und den Baustein nur einmal aufrufen. Der Programmieraufwand ist derselbe aber IMHO wesentlich klarer.

    mfG René

  6. #6
    Registriert seit
    22.10.2012
    Beiträge
    81
    Danke
    8
    Erhielt 5 Danke für 4 Beiträge

    Standard

    Du meinst ein Programm und dann einfach die Bausteine aktivieren deaktivieren ?
    Oder wie darf ich dass mit den Parameter umladen verstehen.
    Oder die DBs im jeweiligen Programm aufrufen oder abwählen ?

  7. #7
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.647
    Danke
    788
    Erhielt 654 Danke für 497 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Nein ich denke du solltest die Bausteine aktiviert lassen. Aber du lädst die entsprechenden Parameter je nach Betriebsart.

    Und stattdessen an Zyklisch_Durchfahren FB die Parameter per Move oder L/T übergibts je nach betriebsart.

    Code:
          CALL  #Zyklisch_Durchfahren 
           IN :=
    
    
    U #Einrichten 
    spbn Einr
    L Einricht.IN // Parameter für Einrichtbetrieb
    t #Zyklisch_Durchfahren.IN
    Einr: nop 0
    
    U #Automatik
    spbn Auto
    L Automatik.IN // parameter für Automatikbetrieb
    t #Zyklisch_Durchfahren.IN
    Auto: nop 0
    mfG René

Lesezeichen

Berechtigungen

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