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

Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 38

Thema: Bausteine aufrufen für dummies

  1. #21
    Registriert seit
    04.01.2008
    Ort
    Wien
    Beiträge
    772
    Danke
    136
    Erhielt 39 Danke für 35 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Ralle Beitrag anzeigen
    Es können dann allerdings keine Parameter bzw. Instanz-DB angegeben werden.

    Also kaum für eine Anwendung geeignet, nümm?

    Sprünge sind ok. Man muß halt bedenken dass die bearbeiteten Daten "eingefroren werden" bis der FC wieder aufgerufen wird.
    Geändert von Gerri (14.01.2009 um 14:37 Uhr)
    irgendetwas ist ja immer...
    ING. Gerald Miedler

  2. #22
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    He 4L, geiler Satzbau, aber kannst du das bitte nochmal eindeutschen!
    hier wird vielleicht deutlicher, was ich meine:

    Code:
    *
    FUNCTION_BLOCK FB 2
    TITLE =
    VERSION : 0.1
    
    VAR_INPUT
      in1 : BOOL ; 
      in2 : BOOL ; 
    END_VAR
    VAR
      _1 : BOOL ; 
      _2 : BOOL ; 
      _3 : BOOL ; 
      _4 : BOOL ; 
      _5 : BOOL ; 
      _6 : BOOL ; 
      _7 : BOOL ; 
      _8 : BOOL ; 
    END_VAR
    BEGIN
    NETWORK
    TITLE =
          U     #_6; 
          U     #_7; 
          =     #_5; 
    END_FUNCTION_BLOCK
    FUNCTION_BLOCK FB 1
    TITLE =
    VERSION : 0.1
    
    VAR_INPUT
      in1 : BOOL ; 
      in2 : BOOL ; 
    END_VAR
    VAR
      _1 : BOOL ; 
      _2 : BOOL ; 
      _3 : BOOL ; 
      _4 : BOOL ; 
      _5 : BOOL ; 
      _6 : BOOL ; 
      _7 : BOOL ; 
      _8 : BOOL ; 
    END_VAR
    BEGIN
    NETWORK
    TITLE =
          U     #in1; 
          =     #_1; 
          U     #in2; 
          =     #_2; 
    NETWORK
    TITLE =
          U     #_1; 
          U     #_2; 
          =     #_4; 
    NETWORK
    TITLE =
          SET   ; 
          =     #_6; 
          CLR   ; 
          =     #_7; 
          UC    FB     2; //unbedingter aufruf, IDB bleibt erhalten
    
    NETWORK
    TITLE =
          U     #_5; 
          U     #_4; 
          =     #_8; //geht nicht, weil 7 auf null
    END_FUNCTION_BLOCK
    DATA_BLOCK DB 1
    TITLE =
    VERSION : 0.0
     FB 1
    BEGIN
       in1 := FALSE; 
       in2 := FALSE; 
       _1 := FALSE; 
       _2 := FALSE; 
       _3 := FALSE; 
       _4 := FALSE; 
       _5 := FALSE; 
       _6 := FALSE; 
       _7 := FALSE; 
       _8 := FALSE; 
    END_DATA_BLOCK
    ORGANIZATION_BLOCK "Cycle Execution"
    TITLE = "Main Program Sweep (Cycle)"
    VERSION : 0.1
    
    VAR_TEMP
      OB1_EV_CLASS : BYTE ; //Bits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1)
      OB1_SCAN_1 : BYTE ; //1 (Cold restart scan 1 of OB 1), 3 (Scan 2-n of OB 1)
      OB1_PRIORITY : BYTE ; //Priority of OB Execution
      OB1_OB_NUMBR : BYTE ; //1 (Organization block 1, OB1)
      OB1_RESERVED_1 : BYTE ; //Reserved for system
      OB1_RESERVED_2 : BYTE ; //Reserved for system
      OB1_PREV_CYCLE : INT ; //Cycle time of previous OB1 scan (milliseconds)
      OB1_MIN_CYCLE : INT ; //Minimum cycle time of OB1 (milliseconds)
      OB1_MAX_CYCLE : INT ; //Maximum cycle time of OB1 (milliseconds)
      OB1_DATE_TIME : DATE_AND_TIME ; //Date and time OB1 started
    END_VAR
    BEGIN
    NETWORK
    TITLE =
          CALL FB     1 , DB     1 (
               in1                      := E      0.0,
               in2                      := E      0.1);
    END_ORGANIZATION_BLOCK
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #23
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    @4L

    Damit können sich ein paar spezielle Jungs dann wieder ordentlich austoben.
    Hinterher dürfen wir ran und am Besten mit einem neuen Programm für Klarheit sorgen.
    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

  4. #24
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    @4L

    Damit können sich ein paar spezielle Jungs dann wieder ordentlich austoben.
    Hinterher dürfen wir ran und am Besten mit einem neuen Programm für Klarheit sorgen.
    ich find das, ehrlich gesagt, ziemlich geil. du hast einen übergeordneten baustein, mit einer festgelegten struktur. diese struktur trägst du in alle aufgerufenen FBs ein und kannst so innerhalb von überall auf alles zugreifen ohne global adressieren zu müssen ... also auch die portierbarkeit bleibt erhalten

    feine sache das - das beispiel nicht, das war ein bißchen dürftig und nur schnell zusammengeschustert
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  5. #25
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    ich find das, ehrlich gesagt, ziemlich geil. du hast einen übergeordneten baustein, mit einer festgelegten struktur. diese struktur trägst du in alle aufgerufenen FBs ein und kannst so innerhalb von überall auf alles zugreifen ohne global adressieren zu müssen ... also auch die portierbarkeit bleibt erhalten

    feine sache das - das beispiel nicht, das war ein bißchen dürftig und nur schnell zusammengeschustert
    Das war mir klar, daß du das gut findest.
    Ich finde das 100%-ige Sch...
    Wenn da einer drin ändert, ohne immer alle FB nachzuführen ist Sense.
    Da wäre es doch wirklich, gerade in diesem Falle, intelligenter, einen globalen DB herzunehmen. Aber das ist ja eh der alte Streit.
    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

  6. #26
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    der vorteil ist, dass du in einer anlage mit vielen ähnlichen maschinen, gleiche funktionen auslagern kannst und dich nur noch auf eine gesamte datenstruktur einigen brauchst.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  7. #27
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    der vorteil ist, dass du in einer anlage mit vielen ähnlichen maschinen, gleiche funktionen auslagern kannst und dich nur noch auf eine gesamte datenstruktur einigen brauchst.
    4L glaub mir, ich hab gerade so ein Ding hier auf dem Tisch liegen und hau den ganzen Mist raus. (Graph7 + PDiag, eigentlich ne tolle Sache) Die haben allerdings immer am Anfang ihrer FB die Daten per indirekter Adressierung in ihren IDB rein kopiert und noch ein paar andere Gimmicks angewandt. Fakt ist, daß es für "Nicht Eingeweihte" extrem schwierig ist alle Zugriffe auf die Daten auch zu finden. Und selbst wenn, dauert das jedes mal ewig lange, weil man mehrere Möglichkeiten beim Suchen durchspielen muß. Das ist definitiv nicht so toll für Wartung und Instandhaltung.
    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

  8. #28
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    ich sitz hier grad in einer anlage wo es genau so gemacht ist ... und es ist gut so - sorry - ich war auch mal instandhalter und hab mich auch während dieser zeit nicht vor einer, auf die anwendung zugeschnittene datenstruktur gescheut.
    sicher könnte man das ganze auch mit globalen DBs machen, aber bitte wie willst du da portierbare bausteine schreiben ... jetz hör mir aber auf mit AUF DB ... und vielleicht noch als INT übegeben oder so ... das ist IMHO wesentlich schlimmer als eine anlage mit 15 CPUs die nach obigen schema alle die struktur beinhalten.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  9. #29
    Registriert seit
    01.10.2007
    Ort
    Waiblingen
    Beiträge
    3.317
    Danke
    767
    Erhielt 536 Danke für 419 Beiträge

    Standard

    was ja kein Geheimnis ist und wohl auch schon lange bekannt sein dürfte: da stehe ich klar auf Ralles Seite.

    @4L: was ich sehr empfehlen würde, um den Gleichklang der Deklarationen in den verschiedenen FB sicherzustellen: einen UDT definieren und den in die Deklaration der verschiedenen FB reinschreiben. Dann ist die Datenstruktur für die beteiligten FB an zentraler Stelle änderbar und auch klar ersichtlich, welche FB gemeinsam auf diese Struktur zugreifen.

  10. #30
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Perfektionist Beitrag anzeigen
    @4L: was ich sehr empfehlen würde, um den Gleichklang der Deklarationen in den verschiedenen FB sicherzustellen: einen UDT definieren und den in die Deklaration der verschiedenen FB reinschreiben. Dann ist die Datenstruktur für die beteiligten FB an zentraler Stelle änderbar und auch klar ersichtlich, welche FB gemeinsam auf diese Struktur zugreifen.
    ich hoffe, du beziehst dich jetzt nicht aufs beispiel ...

    ansonsten, ja, durchaus eine richtige und wichtige anmerkung und so ist es auch realisiert.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

Ähnliche Themen

  1. PCS7: Eigene Bausteine im OB86 aufrufen
    Von SPSKILLER im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 14.09.2010, 13:43
  2. CoDeSys Einstieg für Dummies
    Von Hacky im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 28.07.2010, 23:33
  3. SPS S7 für Dummies
    Von Berndq im Forum Simatic
    Antworten: 32
    Letzter Beitrag: 16.03.2007, 06:34
  4. Indusoft für Dummies
    Von HSThomas im Forum HMI
    Antworten: 0
    Letzter Beitrag: 12.01.2007, 13:48
  5. herdanschluss für dummies
    Von Markus im Forum Stammtisch
    Antworten: 5
    Letzter Beitrag: 24.10.2005, 12:18

Lesezeichen

Berechtigungen

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