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

Ergebnis 1 bis 5 von 5

Thema: MicroWin => FC-Aufruf und MB übergeben

  1. #1
    Registriert seit
    02.11.2006
    Beiträge
    496
    Danke
    217
    Erhielt 25 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich habe mal eine Frage zu MicroWin ( Version v4.?? Stand: 10/2008 )

    Wie funktioniert da ein FC- Aufruf mit Übergabe eines MB ?

    Code:
    U M0.0
    JMP 1 // soll springen, wenn M0.0= 1
    Call MB16, FC5 // sonst FC5 aufrufen und MB16 übergeben
    //
    LBL 1 // der Rest ist nach dem selben Strickmuster, nur mit anderem
    U M0.1 //  Übergabe- MB
    JMP 2
    Call MB18, FC5
    //
    ...
    LBL 14
    U M1.7
    JMP 15
    Call MB44, FC5
    //
    LBL 15  // soll wie  NOP 0 funktionieren
    Ist JMP ein absoluter Sprung oder wird nur gesprungen, wenn Mx.x= 1 ?

    Ich habe das Progi eigentlich in s7 geschrieben. Da weiß ich, wie was funktioniert.
    Danach hatte ich die lustige Idee, das s7- Progi einfach als AWL- Quelle zu exportieren und in MicroWin als AWL- Quelle zu importieren.
    Naja... importiert wurden zumindest die Kommentare richtig. Jede Programmzeile mußte nachbearbeitet werden.
    Das ist mir auch soweit geglückt. Selbst das DB- Handling (heist in MicroWin z.B.: VB6 (vergleichbar mit DB1.DBB6) oder VW für WORD etc.
    habe ich rausgefunden.
    Nur dieses blöde Übergabe- Byte zum FC5 wird nix.
    Der FC5 wird abgearbeitet.
    Normalerweise sollte er nicht mehrfach in einem Zyklus aufgerufen werden ( JMP- Befehl ). Selbst, wenn JMP ein absoluter Sprung wäre, müßte doch zumindest erstmal irgendwas bei Erfüllung einer Mx.x- Bedingung übergeben werden ( auch wenn es das falsche MB wäre), aber es passiert gar nix.

    Im FC 5 ist eine temp. Variable UebByte als Byte (IN) deklariert.
    Zitieren Zitieren MicroWin => FC-Aufruf und MB übergeben  

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

    Standard

    Hallo,

    am einfachsten hätteste dein Problem gelöst wenn du mal in Microwin ein SBR in KOP/FUP aufrufst. FC5 kannste vergessen -> das gehört in ein SBR. Der Aufruf ist auch einfach:

    Code:
    LD M0.0
    CALL SBR_0, MW20
    André
    www.raeppel.de
    mit innovativen SPS-Tools schneller ans Ziel ....
    Zitieren Zitieren Aufruf  

  3. Folgender Benutzer sagt Danke zu sps-concept für den nützlichen Beitrag:

    mega_ohm (04.05.2009)

  4. #3
    Registriert seit
    30.08.2003
    Beiträge
    2.197
    Danke
    30
    Erhielt 258 Danke für 229 Beiträge

    Standard

    übrigens ich seh grad dass du auch ein Problem mit der Erstabfrage hast. Du musst LD nehmen anstatt U. S7/200-AWL ist eben anders...

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

  5. #4
    mega_ohm ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.11.2006
    Beiträge
    496
    Danke
    217
    Erhielt 25 Danke für 6 Beiträge

    Standard

    Zitat Zitat von sps-concept Beitrag anzeigen
    Hallo,

    am einfachsten hätteste dein Problem gelöst wenn du mal in Microwin ein SBR in KOP/FUP aufrufst. FC5 kannste vergessen -> das gehört in ein SBR. Der Aufruf ist auch einfach:

    Code:
    LD M0.0
    CALL SBR_0, MW20
    André
    Es ist ein SBR_5, der aufgerufen wird. Ich habe den Prog.- Ausschnitt aber zu Hause getippselt, wußte nicht mehr die genaue Bezeichnung und nannte es daher einfach FC5

    Das mit dem LD bzw. LDN statt U bzw. UN in der 1. Zeile einer Bedingung habe ich auch schon herausgefunden, weil ich mir einfach mal eine FUP- UND- Verknüpfung in AWL angesehen habe.

    Leider lösen diese Tipps mein Problem mit Sprüngen und das Nichtfunktionieren importierter AWL- Quellen nicht.

    Mal so gefragt:
    Muß ich denn in s7-MicroWin überhaupt springen, wenn ich den SBR_5 mehrmals verwende ?
    Code:
    Ld M0.0           // wenn =1 dann
    Call SBR_5, MB16  // SBR_5 aufrufen und MB16 übergeben
    // 
    Ld M0.1               
    Call SBR_5, MB18
    //
    ...
    //
    Ld M1.7
    Call SBR_5, MB44
    // 
    LDB<> MB10, 0    // Vergleich MB 10 <> 0 ( MB10 wird von SBR_5
                     // verwendet) 
    UN T42           // T42 = TOF; nach Ablauf einer Zeit
    Call SBR_5, 0    // Ausgabe löschen
    Würde ein bedingter Sprung so aussehen ?
    Code:
    LD M0.0 // wenn =1 
    JMP 1 // dann Sprung
    //
    LBL 1
    ...
    Geändert von mega_ohm (04.05.2009 um 23:18 Uhr)

  6. #5
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.752
    Danke
    323
    Erhielt 1.527 Danke für 1.286 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    1. Wenn du den SBR5 mehrmals bedingt verwenden willst, kannst du das ohne Sprünge tun,
    weil der Call Befehl ohnehin nur VKE-Abhängig ausgeführt wird.

    2. Dein bedingter Sprung ist vom Syntax her korrekt.

    3. Zu deinen importierten AWL-Quellen, ich wünsche dir aufgrund der doch absolut unterschiedlichen Befehlsstrucktur zwischen 200 und 300/400 damit noch viel Freude.
    Dazu kann man bestenfalls sagen, das sowas im "göttlichen" Plan von Siemens wohl eher nicht vorgesehen ist.
    Vielleicht wird der Punkt ja mit der 1200 besser ...

    Mfg
    Manuel
    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).

  7. Folgender Benutzer sagt Danke zu MSB für den nützlichen Beitrag:

    mega_ohm (05.05.2009)

Ähnliche Themen

  1. MicroWin stürzt ab
    Von Freakazoid im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 01.06.2011, 15:40
  2. Microwin V4.0
    Von Jo_SPS im Forum Simatic
    Antworten: 33
    Letzter Beitrag: 23.01.2011, 21:36
  3. AWL/FUP-Ansicht im MicroWin
    Von MischaF im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 10.08.2009, 09:40
  4. FC´s und FB´s bei MicroWin
    Von MRT im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 06.10.2005, 08:22
  5. S7-200 Microwin
    Von edi im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 08.12.2004, 12:52

Lesezeichen

Berechtigungen

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